Traditional file sharing often requires uploading entire files to a central server, exposing your private data to third-party storage and slowing down the process with intermediary hops. This centralized approach creates unnecessary privacy risks and technical friction for users who just want to move data from point A to point B.
AirPass establishes a direct, ephemeral peer-to-peer conduit between two browsers using WebRTC, ensuring that your files never touch a server and remain completely private. By utilizing an in-memory signaling layer and end-to-end encryption, it provides a zero-knowledge transfer experience that vanishes the moment your session ends.
To start sharing files immediately, simply visit the live application at: airpass.mehboob.tech/
- One-Click Creation: Start a transfer session instantly without filling out forms or creating accounts.
- 6-Digit Codes: Simple, human-readable codes for easy verbal or text-based sharing.
- Ephemeral Rooms: Sessions automatically expire after 30 minutes or upon disconnection to ensure zero residual data.
- QR Entry: Scan a QR code on mobile devices to join a transfer session in seconds.
- Direct WebRTC P2P: Data flows directly between browsers, bypassing the server entirely for maximum speed.
- Backpressure Management: Intelligent flow control prevents browser crashes even when transferring multi-gigabyte files.
- Reliable Chunking: Files are sliced into 64KB chunks for resilient, ordered delivery over the network.
- Live Metrics: Real-time tracking of transfer speed, percentage completion, and estimated time remaining.
- Zero Server Storage: The signaling server never sees, buffers, or stores your file data.
- End-to-End Encryption: Optional AES-256-GCM encryption ensures your data stays safe even on untrusted network relays.
- Password Protection: Secure room entry guarded by bcrypt hashing on the signaling server.
- Verifiable Tech: Built with vanilla JavaScript and standard Web Crypto APIs for total transparency.
The backend is a FastAPI signaling server. We use uv for dependency management.
cd backend
uv sync
uv run uvicorn main:app --reloadYou can run the backend test suite using:
uv run pytest tests/ -vThe frontend is vanilla HTML/JS. We use npm only for the testing environment (Vitest).
cd frontend
npm install
npm testTo serve the frontend locally, you can use any static server:
python3 -m http.server 3000AirPass is released under the MIT License. You are free to use, modify, and distribute the software as long as the original copyright notice and license are included.