Fungi是什么?
Fungi 是一款旨在帮助用户轻松构建加密 P2P 多设备网络,从而安全访问与管理远程服务的工具。它采用纯 Rust 语言编写,基于 rust-libp2p 库,主要面向私有化的多设备组网场景。

Fungi 0.6 发布:
此版本带来了两大核心更新:
- 自带 wasmtime,可隔离接管 Docker runtime:这为在远程设备上安全、隔离地运行应用提供了基础设施。
- Capability-first 声明式权限管理:通过声明式配置管理服务权限,提升了安全性与易用性。
现在,你只需要三行命令,即可在已连接的远程设备上创建服务(自动完成端口映射),并在本地直接访问:
# 在两台设备已经建立连接的前提下:
fungi peer admin service pull ./filebrowser-lite-wasi.service.yaml
fungi peer admin service start filebrowser-lite-wasi
fungi access open filebrowser-lite-wasi

上面演示的是一个 WASI 版本的 File Browser 例子。它在远程设备启动,却可以直接从本地浏览器访问,实现了一种轻量且快速的文件管理方式。这展示了 Fungi 在远程服务部署与管理方面的便捷性。
你也可以仅使用 Fungi 的 TCP 端口转发功能,它自带 NAT 穿透和本地 mDNS 地址发现。如果你的核心需求是点对点的轻量级 TCP 转发,Fungi 同样可以覆盖许多原本会使用 frp 等工具的网络/系统场景。
下一步
开发团队正在探索 在 Android 设备上运行 WASI 应用 的可能性,这将为安卓平台带来运行沙盒化应用的能力。
目前,wasmtime 在安卓上运行还存在一些底层的指针认证问题。项目已在 GitHub 创建了相关的 issue #12778 。如果你恰巧熟悉这个领域,欢迎为该开源实战项目贡献代码或思路。
开源
Fungi 采用 Apache 2.0 开源协议,其核心 daemon 和 CLI 工具均由纯 Rust 实现,并提供了 gRPC 接口供扩展使用。只需三分钟,你就能用它构建起自己的私有设备网络。
我们欢迎任何形式的开源贡献,包括代码提交、问题反馈或是新奇的想法交流。对使用 Rust 构建网络/系统工具感兴趣的开发者,也可以在云栈社区的Rust板块找到更多相关讨论和资源。
|