Fungi
Build a private P2P device network for capability-first services
Install / Use
/learn @enbop/FungiREADME
With Fungi, you can securely connect your own devices, run container or WASI services under explicit runtime policy, manage remote services with simple commands, and access them locally without exposing them to the public internet.
| Demo | | --- | |Build a secure private P2P network with ease:<br /><img src="https://fungi.rs/assets/images/ping-ad101ea46e9e8bd25649d55fe290e801.gif" alt="Build a secure private P2P network" /> | | Create a remote service and access it locally right away:<br /><img src="https://fungi.rs/assets/images/service-8e947b850359183aa2fc709388327e31.gif" alt="Create and start a remote service locally" /><br />(This demo shows creating a no-client file manager service running on a remote device, and accessing it with a browser locally) | ||
Need help or want to follow updates? Join the Fungi Discord.
Key Features
- P2P Connectivity: Built on rust-libp2p, supporting automatic NAT traversal and mDNS discovery.
- Secure: End-to-end encryption with PeerID-based authentication.
- Fast and Lightweight: Built in Rust, around 20 MB idle RAM, with support for macOS, Windows, Linux, and Android.
- Sandboxed Services: Run sandboxed services with the built-in WASI runtime or an optional Docker backend.
- Simple Remote Service Control: Use a few commands like
pull,start,stop, andremoveto manage remote services locally. - Port Forwarding and File Transfer: forward any TCP service and includes a built-in file transfer module, making it easy to create a lightweight NAS.
- Modular architecture:
fungi-daemon: The background service that handles P2P networking and manage services.fungi-cli: A command-line tool to interact with the daemon via gRPC.fungi-app: (optional, external) An official GUI client for easier management (see fungi-app).
Note on file transfer The older FTP/WebDAV-style file transfer is being gradually deprecated in favor of Sandboxed Services.
Download
macOS / Linux quick install:
curl -fsSL https://fungi.rs/install.sh | sh
- Or download from GitHub Releases (Windows/Linux/macOS/Android binaries available)
- Or see the install and build guide
Documentation
Start with the quick starts:
Full documentation: fungi.rs/docs.
Platform Support
| Platform | Status | |----------|--------| | macOS | ✅ Ready | | Windows | ✅ Ready | | Linux | ✅ Ready | | Android | ✅ Ready | | iOS | 🚧 In progress |
Development
Starting from 2026, the Fungi project actively adopts AI-assisted coding.
Code Quality
- Rust ensures safety in most cases
- Modular design
- Following TDD as much as possible
License
Apache License 2.0
Related Skills
himalaya
346.4kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
346.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
taskflow
346.4kname: taskflow description: Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layer
prose
346.4kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
