Rucio

Decentralized peer-to-peer file sharing

Rucio is a file-sharing application written in Rust over libp2p, with eMule/Kad2 compatibility. No trackers, no central servers, no relays — files are found through a distributed hash table and keyword search, and transferred directly between peers.

Rucio web panel showing active transfers
The built-in web control panel — transfers, shares and node status.

What it does

Fully decentralized

Peers find each other over mDNS on the local network and a Kademlia DHT on the internet, and search by keyword over Gossipsub. Files then move directly between peers — there are no trackers, no central servers, and no relay nodes carrying your data.

eMule / Kad2 compatible

Rucio bridges to the existing eMule Kad network: keyword search, source lookup and downloads of ed2k:// links, including obfuscated connections — all from the same client, side by side with native Rucio transfers.

Web control panel

Drive searches, downloads, uploads and shares from a clean web UI served by the daemon itself — no extra process, no separate install. Add a folder and every file inside is hashed and announced to the network automatically.

Runs anywhere

One codebase, many shapes: a daemon and CLI for Linux and macOS, a container image for servers, and a portable Windows desktop app you just unzip and run. Interrupted transfers resume where they left off after a restart.

Download

Windows

Portable desktop app

No installer and no dependencies — not even the Visual C++ runtime. Unzip and run: config, database and downloads all live next to the executable, so deleting the folder removes every trace. Grab the …-windows-x86_64-portable.zip from the latest release.

Latest release

Linux / macOS

Daemon + CLI

A single static binary — rucio for the CLI, ruciod for the daemon — with the web panel built in and eMule support included. Prebuilt for x86_64 and ARM64; drop it on your PATH and you're ready.

Latest release

Docker

Container image

Run the daemon anywhere with the published image. Map port 3003 for the web panel, the P2P and eMule ports so peers can reach you, and mount a volume to keep your data:

docker run -d --name rucio \
  -v rucio-data:/var/lib/rucio \
  -p 3003:3003 \
  -p 4321:4321 \
  -p 4662:4662 -p 4672:4672/udp \
  ghcr.io/ogarcia/rucio:latest

Then open http://localhost:3003/ for the panel.

Source

Build it yourself

Rucio is Rust with a Leptos/WASM frontend. Clone the repo and build the daemon and CLI:

git clone https://github.com/ogarcia/rucio
cd rucio
cargo build --release

Add --features emule-compat,web-ui for eMule and the embedded panel. Full build, config and protocol notes live in the docs.

On Windows the app is a single self-contained executable. On first run Windows Firewall asks to allow network access; click Allow for full connectivity.