Send things into the void, safely.
Protocol library, CLI, and server components for end‑to‑end encrypted, ephemeral file transfer.
Same primitives as magic‑wormhole.
This repository is the Rust core of Blackhole: the protocol library, the CLI client, and the rendezvous (mailbox) and transit relay servers. The browser app lives at blackhole-rs/blackhole-rs and consumes this code.
. library crate `blackhole` — protocol, transit, transfer
cli/ binary crate `blackhole-cli` — `blackhole` CLI
mailbox/ binary crate `blackhole-mailbox` — rendezvous server (WIP)
transit/ binary crate `blackhole-transit` — transit relay (WIP)
# Build everything
cargo check --workspace
# Run the CLI
cargo run --bin blackhole -- --help
# Run a server (skeletons today, real implementations coming)
cargo run -p blackhole-mailbox
cargo run -p blackhole-transit| Component | State |
|---|---|
blackhole (library) |
Working — fork of magic-wormhole.rs |
blackhole-cli |
Working — sends/receives via upstream relays for now |
blackhole-mailbox |
Skeleton — port of Python magic-wormhole-mailbox-server is the next milestone |
blackhole-transit |
Skeleton — port of Python magic-wormhole-transit-relay to follow |
Read AI_POLICY.md before opening a PR or issue. We use vouch to gate participation; unvouched contributions are auto-closed.
This project is a fork of magic-wormhole.rs by Fina Wilke, piegames, Brian Warner, and contributors. The wormhole protocol is the work of Brian Warner and the magic-wormhole project. Mailbox and transit servers are ports of the Python reference implementations.
Mixed, per crate:
| Crate | License | Reason |
|---|---|---|
blackhole (library) |
EUPL-1.2 | Preserved from upstream magic-wormhole.rs |
blackhole-cli |
EUPL-1.2 | Statically links the EUPL library |
blackhole-mailbox |
MIT | Clean port of MIT-licensed magic-wormhole-mailbox-server |
blackhole-transit |
MIT | Clean port of MIT-licensed magic-wormhole-transit-relay |