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.

Note on file transfer The older FTP/WebDAV-style file transfer path is being gradually deprecated in favor of Sandboxed Services.

Download

macOS / Linux quick install:

curl -fsSL https://fungi.rs/install.sh | sh

This repository contains the Core Daemon and CLI tools.

Looking for the GUI? Check out fungi-app, the official Flutter-based graphical interface for Fungi.

Documentation

Start with the beginner quick starts:

Full documentation: fungi.rs/docs.

Recommended starting points:

Build from Source

See the install guide for source build instructions: fungi.rs/docs/install.

Platform Support

Platform Status
macOS ✅ Ready
Windows ✅ Ready
Linux ✅ Ready
Android ✅ Ready
iOS 🚧 In progress

Contributing

We welcome all contributions:

  • 🐛 Bug reports and fixes
  • ✨ New features
  • 📖 Documentation
  • 🎨 UI improvements

License

Apache License 2.0