⚠️ Project Shut Down

This project is no longer actively maintained. If you wish to support its continuation, please email me or consider donating via the home page.

Peer-to-peer file transfer straight from your terminal. No accounts, no uploads, no cloud.

--fast | --secure | --secure-blast | --clip | --qr | --global-qr
voiddrop — live transfer @ zephyr.proxy.rlwy.net:12963
alice@dev:~$ vb send design.png --fast [SESSION] Connecting to relay... [P2P] Listening on 192.168.1.5:48291 [SESSION] Session created: design.png (fast mode) [!] Waiting for receiver to join... bob@dev:~$ vb receive design.png [P2P] Connected to 192.168.1.5:48291 [STREAM] design.png (1.8 MB) ████████████████ 100% @ 2.1 MB/s [DONE] Transfer complete in 0.9s bob@dev:~$
--fast
vb send file.jpg --fast
No encryption, instant send
--secure
vb send file.jpg --secure
AES-256 + 4-digit code
--secure-blast
vb send file.jpg --secure-blast
Dual-key max protection
--qr
vb send file.jpg --qr
Scan with phone browser
--clip
vb send --clip --fast
Send file from clipboard
--global-qr
vb send file.jpg --global-qr
QR from anywhere via relay
~2 MB
Binary Size
5
Modes
Rust
Language
0
Server Storage
./about

What is voiddrop?

$ cat p2p

Direct P2P

Files stream directly between machines. The relay only introduces you — your data never touches a server.

$ cat encryption

AES-256

Secure and Secure-Blast modes use AES-256-GCM with SHA-256 key derivation. Your files stay private.

$ cat qr

QR Bridge

Scan a QR code with your phone to download directly over WiFi (--qr) or from anywhere via relay (--global-qr). No app needed.

$ cat clip

Clipboard Send

Copy a file in your file manager, then vb send --clip --fast. No typing paths — works with all modes.

./demos

See It In Action

Every mode, one command. Here's how voiddrop looks from both sides.

sender — secure mode
user@box:~$ vb send secret.doc --secure [SESSION] Connecting to zephyr.proxy.rlwy.net:12963 [SESSION] AES-256-GCM encryption enabled [SESSION] Session: secret.doc (secure) [CODE] Your 4-digit code: 7294 [P2P] Listening on 192.168.1.5:51342 [!] Share this code with the receiver. [!] Waiting for receiver...
receiver — connecting
user@box:~$ vb receive secret.doc [SESSION] Joining session with code 7294 [P2P] Connecting to 192.168.1.5:51342 [P2P] Direct P2P connection established [STREAM] Decrypting AES-256 stream... [STREAM] secret.doc (0.4 MB) ████████████████ 100% @ 3.2 MB/s [CHECK] Integrity verified ✓ [DONE] Transfer complete in 0.1s user@box:~$
sender — secure-blast mode
user@box:~$ vb send archive.zip --secure-blast [SESSION] Secure-blast mode activated [SESSION] AES-256-GCM + dual-key enabled [CODE] Code: XK7R (alphanumeric) [FILE] Filename: archive.zip [P2P] Both code + filename required to receive [P2P] Listening on 192.168.1.5:51987 [!] Share code XK7R and the filename separately. [!] Waiting for receiver...
receiver — secure-blast
user@box:~$ vb receive archive.zip [SESSION] Dual-key validation: ✓ (code + filename) [P2P] Direct P2P connection established [STREAM] Decrypting AES-256 stream... [STREAM] archive.zip (14.2 MB) ████████████████ 100% @ 5.7 MB/s [CHECK] HMAC integrity verified ✓ [DONE] Transfer complete in 2.5s user@box:~$
qr bridge — phone download
user@box:~$ vb send vacation.jpg --qr [SESSION] QR Bridge mode enabled [SESSION] Starting temp HTTP server on :8080 [STREAM] Serving vacation.jpg (3.1 MB) via HTTP [QR] Scan with your phone: ┌──────────────────────────────┐ │ ██████████████ ██ ████████ │ │ ██ ██ ██ ██ ██ │ │ ██ ██████ ██ ████ ██████ │ │ ██ ██████ ██ ██ ██ ████ │ │ ██ ██████ ██ ██ ████████ │ │ ██ ██ ██ ██ │ │ ██████████████ ████ ██ ██ │ └──────────────────────────────┘ [STREAM] Phone connected — 192.168.1.42 [STREAM] vacation.jpg ████████████████ 100% @ 1.8 MB/s [DONE] Transfer complete. HTTP server stopping. user@box:~$
clipboard — send from clipboard
user@box:~$ vb send --clip --fast [CLIPBOARD] Detected: invoice.pdf (0.4 MB) [SESSION] Starting transfer... [SESSION] Connecting to zephyr.proxy.rlwy.net:12963 [SESSION] Session created: invoice.pdf (fast) [P2P] Listening on 192.168.1.5:51987 [!] Waiting for receiver to join...
global qr — download from anywhere
user@box:~$ vb send photo.jpg --global-qr [SESSION] Global QR mode enabled [UPLOAD] Uploading photo.jpg to relay... [UPLOAD] ████████████████ 100% (3.1 MB) [UPLOAD] Upload complete. QR ready. [QR] Scan with your phone from anywhere: ┌──────────────────────────────┐ │ ██████████████ ██ ████████ │ │ ██ ██ ██ ██ ██ │ │ ██ ██████ ██ ████ ██████ │ │ ██ ██████ ██ ██ ██ ████ │ │ ██ ██████ ██ ██ ████████ │ │ ██ ██ ██ ██ │ │ ██████████████ ████ ██ ██ │ └──────────────────────────────┘ [QR] http://zephyr.proxy.rlwy.net/dl/photo.jpg [DONE] File available on relay. Phone downloads anywhere.
./pipeline

Transfer Pipeline

Six steps, end to end. Every mode follows the same flow.

1. Connect
2. Create
3. Listen
4. Join
5. Connect
6. Stream
./modes

Pick Your Speed

Fast for everyday, Secure for sensitive, Blast for max protection.

Fast Mode --fast

No encryption, instant transfer. Receiver just needs the filename.

Secure Mode --secure

AES-256-GCM encrypted. Enter a 4-digit code to decrypt.

Secure-Blast --secure-blast

Encrypted + filename + alphanumeric code. Both required.

QR Bridge --qr

Generates a QR + temp HTTP server. Scan & download from your phone.

Clipboard Send --clip

Copy a file in Explorer, then vb send --clip --fast. No typing paths. Also works on receive.

Global QR --global-qr

Relay serves the file. Phone downloads from anywhere — not just your WiFi. Works with fast and secure modes.

./why

Why voiddrop?

Other services upload your files to a server. voiddrop streams directly between machines. Your data stays yours.

Zero Storage Fees

The relay only coordinates — the file itself never touches a server.

Unlimited Size

No file size limits. Your only limit is bandwidth and disk space.

No Accounts

No sign up, no login, no email. Download the binary and go.

Works Anywhere

Windows, Linux, macOS. Behind NAT, across ISPs, across continents.

./guide

How to Use voiddrop

Follow these steps. Even if you've never used a terminal before — you've got this.

1

Open Your Terminal

⌨️ 5 sec

This is where you type commands. Think of it like talking to your computer directly.

  • Windows: Press ⊞ Win, type PowerShell, press Enter. A blue window appears.
  • macOS: Press ⌘ Cmd + Space, type Terminal, press Enter.
  • Linux: Press Ctrl + Alt + T or search for "Terminal" in your apps.
If you're on Windows and see "Command Prompt" (black window), close it and open PowerShell (blue window) instead.
2

Install voiddrop

⬇️ 10 sec

Copy the line below, paste it into your terminal, and press Enter. It downloads vb and sets it up automatically.

$ iwr -useb https://raw.githubusercontent.com/subhradeepsarkae-ai/voiddrop/master/install.ps1 | iex
After it finishes, close and reopen your terminal, then type vb --help and press Enter. If you see a list of commands, it worked!
3

Send Your First File

🚀 15 sec

Find a file you want to share — a photo, a document, anything. Now type this in your terminal:

$ vb send photo.jpg --fast

Replace photo.jpg with your actual file name (like report.pdf or video.mp4).

When you press Enter, voiddrop will connect to the relay and show something like this:

voiddrop
user@box:~$ vb send photo.jpg --fast [SESSION] Connecting to relay... [P2P] Listening on 192.168.1.5:48291 [SESSION] Session created: photo.jpg (fast mode) [!] Waiting for receiver to join...

It's now waiting for someone to receive it. Leave this window open.

The file name is all you need in Fast Mode. The receiver types it exactly as shown.
4

Receive a File (On Another Computer)

📥 10 sec

On the other computer (your friend's laptop, another PC, etc.), open a terminal and install voiddrop the same way (Step 2).

Then type this — using the exact same file name the sender used:

$ vb receive photo.jpg

voiddrop will connect directly to the sender and download the file. You'll see progress like this:

voiddrop
user@box:~$ vb receive photo.jpg [P2P] Connected to 192.168.1.5:48291 [STREAM] photo.jpg (2.4 MB) ████████████████ 100% @ 1.2 MB/s [DONE] Transfer complete!

✅ Done! The file is now on the receiver's computer, right where they ran the command.

5

Send Securely (With a Code)

🔐 20 sec

If your file is sensitive (passwords, private docs, etc.), use Secure Mode. It adds AES-256 encryption — a 4-digit code protects the file.

$ vb send secret.doc --secure

When you press Enter, voiddrop generates a 4-digit code — share it with the receiver (text, call, whatever).

voiddrop — sender (secure)
user@box:~$ vb send secret.doc --secure [SESSION] AES-256-GCM encryption enabled [SESSION] Session: secret.doc (secure) [CODE] Your 4-digit code: 7294 [P2P] Listening on 192.168.1.5:51342 [!] Share this code with the receiver. [!] Waiting for receiver...

The receiver asks the sender for the code, then types:

$ vb receive <ask sender for code>
voiddrop — receiver (secure)
user@box:~$ vb receive secret.doc [P2P] Connecting to 192.168.1.5:51342 [P2P] Direct connection established [STREAM] Decrypting AES-256 stream... [STREAM] secret.doc (0.4 MB) ████████████████ 100% @ 3.2 MB/s [CHECK] Integrity verified ✓ [DONE] Transfer complete

The file is encrypted during transfer. Without the code, the file is just gibberish — unreadable.

Share the code through a different channel than the file (e.g. text the code, transfer the file over voiddrop). Even safer!
6

Maximum Protection (Secure-Blast)

💥 20 sec

For maximum security, use Secure-Blast. The receiver needs both an alphanumeric code and the file name to receive. Two separate keys.

$ vb send archive.zip --secure-blast

voiddrop generates an alphanumeric code. Share the code and the file name separately — e.g., text the code, email the filename.

The receiver asks the sender for both, then types:

$ vb receive <ask for filename> <ask for code>
  • Fast Mode — No encryption. Fastest. Use for movies, memes, public stuff.
  • Secure Mode — Encrypted + 4-digit code. Use for personal docs, passwords.
  • Secure-Blast — Encrypted + code + filename required. Use for top-secret stuff.
7

Send From Clipboard (No Typing)

📋 10 sec

Copy a file in Explorer (Ctrl+C), then send it directly — no need to type the file path. Works with all modes.

$ vb send --clip --fast

voiddrop reads the file path from your clipboard, shows you what it detected, and starts transferring:

voiddrop — clipboard send
user@box:~$ vb send --clip --fast [CLIPBOARD] Detected: design-final.png (1.8 MB) [SESSION] Starting transfer... [SESSION] Connecting to relay... [P2P] Listening on 192.168.1.5:48291 [SESSION] Session created: design-final.png (fast mode)

The receiver can also use --clip to grab the filename from their clipboard:

$ vb receive --clip

Combine with --secure for encrypted clipboard sends: vb send --clip --secure

Works with copied files (Ctrl+C in Explorer/Finder) and copied file paths. On Windows, use "Copy as path" (Shift+right-click) for full paths.
8

Send to Your Phone (QR Bridge)

📱 10 sec

No terminal on your phone? Two ways to send via QR:

  • Local QR --qr — Same WiFi. Temp HTTP server on your machine. Scan and download.
  • Global QR --global-qr — Anywhere. Relay serves the file. Phone downloads from the internet.
$ vb send vacation.jpg --qr
$ vb send vacation.jpg --global-qr

Local QR (--qr): voiddrop starts a temporary web server and shows a QR code. Scan with your phone's camera — the file downloads right in your browser. Both devices need to be on the same WiFi.

Global QR (--global-qr): The file uploads through the relay (in memory, no disk). The QR code works from anywhere — your phone just needs internet. Secure mode shows a code-entry page on the phone.

voiddrop — qr bridge
user@box:~$ vb send vacation.jpg --qr [SESSION] QR Bridge mode enabled [STREAM] Serving vacation.jpg (3.1 MB) via HTTP [QR] Scan with your phone: ┌──────────────────────────────┐ │ ██████████████ ██ ████████ │ │ ██ ██ ██ ██ ██ │ │ ██ ██████ ██ ████ ██████ │ │ ██ ██████ ██ ██ ██ ████ │ │ ██ ██████ ██ ██ ████████ │ │ ██ ██ ██ ██ │ │ ██████████████ ████ ██ ██ │ └──────────────────────────────┘ [STREAM] Phone connected — 192.168.1.42 [DONE] Transfer complete. Server stopping.
Local QR needs same WiFi. Global QR works anywhere with internet. For secure global QR, the phone shows a code-entry page before downloading.
9

Tips & Troubleshooting

🧠 2 min
  • Both computers need voiddrop installed. The sender runs vb send, the receiver runs vb receive.
  • The file name must match exactly. If the sender types vb send Photo.jpg, the receiver types vb receive Photo.jpg (same capital letters too).
  • Both need internet access. The relay coordinates the connection — you need to reach zephyr.proxy.rlwy.net:12963.
  • Firewall may ask for permission. When you see a firewall popup, click Allow. voiddrop needs to open a port for direct P2P transfer.
  • Behind a strict NAT? If the direct P2P connection fails, voiddrop falls back through the relay. It's slower but still works.
  • Don't close the sender's terminal until the transfer finishes. The receiver needs the sender to stay connected.
  • Can't remember a command? Type vb --help for the full guide, or vb send --help / vb receive --help for quick reminders.
  • Clipboard not detecting a file? Make sure you copied a file (Ctrl+C in Explorer/Finder) or a file path as text. On Windows, try "Copy as path" (Shift+right-click).
  • Global QR not working? Make sure the relay server is running (zephyr.proxy.rlwy.net:12963). The global QR uploads your file through the relay — it's in memory only, no disk storage.
  • Flag order doesn't matter. vb send --clip --fast is the same as vb send --fast --clip. Modes are still mutually exclusive (--fast vs --secure).
  • Need a quick reference? Download the command cheat sheet with every valid combination listed.
Still stuck? Open a terminal and type vb --help — it shows every flag, every mode, and a step-by-step walkthrough right there in your terminal.
./install

One Line. Anywhere.

Download the binary and you're ready. No dependencies, no setup.

$ Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/subhradeepsarkae-ai/voiddrop/master/install.ps1 | iex
$ Windows (Direct EXE)
iwr https://github.com/subhradeepsarkae-ai/voiddrop/releases/latest/download/vb.exe -o vb.exe
$ Linux / macOS
curl -fsSL https://raw.githubusercontent.com/subhradeepsarkae-ai/voiddrop/main/install.sh | sh
$ Build from source (Rust)
cargo install --git https://github.com/subhradeepsarkae-ai/voiddrop vb