Skip to content

enbop/fungi

Repository files navigation


Fungi logo

Fungi

Build a private P2P device network for capability-first services

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:
Build a secure private P2P network
Create a remote service and access it locally right away:
Create and start a remote service locally
(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, and remove to 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

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