ZERO-KNOWLEDGE FILE TRANSFER
Any two devices.
One passphrase.
Files encrypt before they leave your machine and stream peer-to-peer. The relay pairs the two ends and never sees anything but ciphertext. Terminal or browser, either side.
$ _ _ ___ _ /_\ (_)_ _| _ \(_)_ __ ___ / _ \| | '_| _/| | '_ \/ -_) /_/ \_\_|_| |_| |_| .__/\___| |_| send demo.zip 4.2 MB ╔══════════════════════════════════════╗ ║ RIVER FALCON MARBLE 42 ║ ╚══════════════════════════════════════╝ Or run: airpipe download RIVER FALCON MARBLE 42 Waiting for receiver... ✓ Receiver joined [░░░░░░░░░░░░░░░░░░░░░░░░] 0% ✓ Sent demo.zip direct · WebRTC
$ _ _ ___ _ /_\ (_)_ _| _ \(_)_ __ ___ / _ \| | '_| _/| | '_ \/ -_) /_/ \_\_|_| |_| |_| .__/\___| |_| download Passphrase: RIVER FALCON MARBLE 42 Destination: . Looking up... No mailbox transfer; opening direct connection... [░░░░░░░░░░░░░░░░░░░░░░░░] 0% ✓ Saved: ./demo.zip 4.2 MB
Both sides, live. Flip either side between CLI and WEB. Every pairing works.
Encrypt
NaCl secretbox, in your browser or the CLI. The key is derived from the passphrase or carried in the URL fragment. It never reaches the server.
Pair
Scan the QR in the terminal, type four words on this page, or open the link. Both ends derive the same key independently.
Stream
WebRTC punches through NAT and streams device to device. If a firewall blocks it, chunks fall back through the relay, still ciphertext.
SELF-HOST
Run your own relay.
One command boots a relay you fully control. Point the CLI at it with AIRPIPE_RELAY.
Size cap, expiry, and rate limit are env-configurable. /health and /metrics are built in, and the pages pick up your limits automatically.
docker run -p 8080:8080 ghcr.io/sanyam-g/airpipe-relayCopycurl -sSL https://airpipe.sanyamgarg.com/install.sh | shCopyexport AIRPIPE_RELAY=https://relay.example.comCopyRoadmap
- nextReceiver-side accept prompt
- nextResume interrupted transfers
- soonTURN relay for tricky networks
- laterLAN device auto-discovery
- laterPer-relay storage caps