AirPipe
Transfer files between terminal and phone with a QR code. No apps. No accounts. End-to-end encrypted.
$ airpipe send config.yaml

Scan → file downloads. Done.
Install
# Auto-Detection
curl -sL https://raw.githubusercontent.com/Sanyam-G/Airpipe/main/install.sh |sh
# From source
go install github.com/Sanyam-G/Airpipe/cmd/airpipe@latest
Usage
Send file (server → phone):
airpipe send ./error.log
Receive file (phone → server):
airpipe receive ./downloads
How it works
- CLI generates encryption key locally
- Key embedded in URL fragment (
#...) — never sent to server - File encrypted locally, streamed through relay
- Phone decrypts in browser
- Relay only sees encrypted bytes — zero knowledge
Self-host relay
docker run -p 8080:8080 ghcr.io/sanyam-g/airpipe-relay
airpipe --relay wss://your-server:8080 send file.txt
Security
- Encryption: NaCl secretbox (XSalsa20-Poly1305)
- Key exchange: None — key in URL fragment, never touches server
- Tokens: Random, single-use, 10-minute expiry
License
MIT