Wush — Lightning-Fast File Transfers Without Middlemen
1,446 stars
Sound familiar? Need to quickly send a large file to a colleague or connect to a remote server, but all existing solutions are either slow or require complex setup. This is exactly the problem that wush solves — a minimalist tool from the creators of Coder that turns data transfer into a single action.
What's in the Box
Wush is like magic-wormhole, but on steroids. Key advantages:
- Full P2P architecture — no trusted servers for authentication
- Speeds up to 376 MB/s (yes, you read that right)
- Runs over WireGuard — VPN-level security
- Two connection modes — direct UDP or via DERP relays
# Пример передачи файла (2.1 ГБ за секунды!)
$ wush cp huge_file.iso
Uploading "huge_file.iso" 100% |████████████████| (2.1/2.1 GB, 376 MB/s)
How It Works Technically
Under the hood, wush uses:
- Tailscale tsnet — userspace WireGuard implementation
- DERP servers as fallback for strict NATs
- X25519 keys for authentication
Access key structure:
112v1RyL5KPzsbMbhT7fkEGrcfpygxtnvwjR5kMLGxDHGeLTK1BvoPqsUcjo7xyMkFn46KLTdedKuPCG5trP84mz9kx
├─ UDP-адрес (19Б)
├─ Регион DERP (2Б)
├─ Публичный ключ сервера (32Б)
└─ Приватный ключ отправителя (32Б)
Use Cases
- Emergency log transfer from production server
- Backup between data centers
- Remote debugging via SSH session
- Syncing large datasets in ML projects
Installation — One Step
# Linux/macOS
curl -fsSL https://github.com/coder/wush/raw/main/install.sh | sh
# Или через Homebrew
brew install wush
For maximum speed on Linux:
sudo setcap cap_net_admin=eip $(which wush)
Why This Is a Breakthrough
- 10-100x faster than SCP/SFTP
- No VPN setup required
- Works even behind double NAT
- Compatible with any WireGuard-compatible tools
Limitations
- Requires Go 1.20+
- Strict NATs will only work via DERP
- No GUI yet (CLI only)
Wush is the ideal choice for:
- DevOps engineers tired of slow SCP
- Developers working with large binaries
- Teams that prioritize data transfer security
Try it — sending a gigabyte-sized file will take less time than reading this article!
Related projects
Scriberr: Your Personal Transcriptionist That Doesn't Eavesdrop
Go ★ 2,799
Nightingale - When Alerting Becomes an Art
Go ★ 13,119
Taming the Linux Kernel with Gthulhu and eBPF
Go ★ 390
Scan4all — the Swiss Army knife for pentesting that replaces a dozen tools
Go ★ 6,133
Kueue - Bringing Order to Kubernetes Task Queues
Go ★ 2,626
Alertmanager: How to Turn a Stream of Alerts into Meaningful Notifications
Go ★ 8,519