Airpipe logo

Airpipe

Send files to/from the cli easily! no scp

GoDeveloper ToolsGoMIT 305 9Health 78
Website GitHub

What is it?

What it is

AirPipe is a self-hosted, passphrase‑based file transfer tool that establishes peer‑to‑peer connections via WebRTC (with a relay for fallback) and encrypts files using NaCl secretbox, allowing direct or mailbox mode transfers without accounts.

Why it exists

To provide a simple, private, zero‑setup way to send files between any devices—especially across NATs—while keeping data confidential and allowing users to run their own relay for full control.

Who should use it

Privacy-conscious users wanting peer-to-peer file transfersDevelopers needing a self-hosted, secure file relayUsers looking for a lightweight, zero-install browser-to-browser transfer toolSysadmins wanting to host their own secure file transfer relay via Docker

Who should avoid it

Users requiring permanent cloud storage (files expire or are P2P only)Users needing to transfer extremely large datasets that exceed relay mailbox limits

How it works

A quick walkthrough in plain English

How Airpipe works

Step 1 of 3

You interact with it

Open Airpipe, send a request, or connect it to your stack.

Features

Peer-to-peer file transfer using WebRTC
Passphrase-based authentication (same phrase for sender and receiver)
Mailbox mode: relay holds encrypted file for configurable expiry
Browser-based sender/receiver with no installation
Cross-platform CLI (Linux, macOS, Windows) with amd64/arm64 builds
Automatic self-update via `airpipe update`
QR code generation for easy pairing
Health (`/health`) and metrics (`/metrics`) endpoints
Configurable via environment variables (port, rate limit, max upload, expiry)
Encryption using NaCl secretbox (Poly1305 + XSalsa20) with DTLS for live path
Single static Go binary (~15 MB Docker image)
MIT license

Advantages

  • Relay never sees the actual file contents (end-to-end encryption)
  • Simple passphrase workflow – no accounts or registration
  • Works anywhere: direct P2P when possible, fallback to relay
  • Self-hostable with a single Docker command or binary
  • Automatic detection of custom limits from relay health endpoint
  • Supports both file and folder transfers (auto-zipped)
  • Provides both CLI and browser interfaces
  • Open source MIT license allows modification and redistribution
  • Small footprint and low resource usage

Disadvantages

  • Mailbox mode limited to default 10‑minute expiry (configurable but still time‑bound)
  • Maximum upload size capped at 500 MB by default
  • Rate limiting (default 60 requests/min) may affect heavy usage
  • Requires WebRTC support in browsers for direct transfers
  • Relay still needed for mailbox and initial signaling; if unavailable, transfer fails
  • No built-in resume for interrupted transfers
  • Limited to file transfer; no additional collaboration features

Installation

docker

docker run -p 8080:8080 ghcr.io/sanyam-g/airpipe-relay

native

curl -sSL https://airpipe.sanyamgarg.com/install.sh | sh

Or via Go:
go install github.com/Sanyam-G/Airpipe/cmd/airpipe@latest

On Windows, grab airpipe-windows-amd64.exe from the latest release and put it on your PATH.

compose

git clone https://github.com/Sanyam-G/Airpipe
cd Airpipe
docker compose up -d

FAQ

How does Airpipe ensure my files remain private?

Airpipe uses end-to-end encryption via NaCl secretbox (Poly1305 + XSalsa20, 256-bit key). The encryption key is derived from your passphrase and never leaves your device; the relay only sees an encrypted ciphertext and a room token.

What is the difference between 'Direct' and 'Mailbox' modes?

Direct mode uses WebRTC for peer-to-peer streaming between devices. Mailbox mode allows the relay to hold the encrypted file for a set duration (default 10 minutes) in case the receiver is not online immediately.

How can I self-host the Airpipe relay?

You can run the relay using Docker with the command: `docker run -p 8080:8080 ghcr.io/sanyam-g/airpipe-relay`. Alternatively, you can use the provided `docker-compose.yml` for a setup that includes an auto-updating Watchtower sidecar.

Can I use Airpipe without installing the CLI?

Yes. You can use the web interface by visiting the Airpipe homepage. Both the sender and receiver can operate entirely within a web browser using the passphrase/QR code method.

How do I configure limits like maximum upload size or file expiry?

You can tune the relay using environment variables. For example, use `AIRPIPE_MAX_UPLOAD_MB` to set the mailbox size cap and `AIRPIPE_FILE_EXPIRY` to adjust how long the relay holds files (e.g., `30m` or `1h`).

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for Airpipe

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
Airpipe | MushyBook