Warp
A GTK4 GUI for Magic Wormhole file transfer — send files between devices securely using a short word code or QR scan.
Warp is a native GNOME application for sending files between devices using the
Magic Wormhole protocol. It provides a clean,
point-and-click interface around the same encrypted peer-to-peer transfer
mechanism used by the magic-wormhole CLI — drag a file onto the window, share
the generated word code or QR code with the recipient, and the transfer begins.
No accounts, no cloud storage, no file size limits imposed by the app itself.
Features
- Word codes and QR codes — the sender receives a short, human-readable code
(e.g.
7-crossbow-banana) that the recipient types in, or a QR code they can scan with a phone running a compatible app. - End-to-end encryption — transfers use the SPAKE2 password-authenticated key exchange protocol; the relay server never sees the plaintext content.
- Local network transfer — when sender and recipient are on the same network, Warp transfers the data directly between devices without going through the relay server.
- Magic Wormhole compatible — works with the
magic-wormholeCLI, the Rustwormhole-rsCLI, and the Wormhole Android app. - Native GNOME integration — built with GTK4 and libadwaita, follows the GNOME HIG, supports dark mode, and has an adaptive layout.
- Multiple files and folders — send several files or an entire directory in a single transfer.
- Cross-platform receiving — Linux users can send to Windows via the Windows release builds, and to Android via the Wormhole app.
Installation
Warp is distributed as a Flatpak on Flathub, which is the recommended installation method on any Linux distribution.
# Flatpak (recommended — works on Debian, Fedora, Arch, and all others)
flatpak install flathub app.drey.Warp
If Flatpak is not yet set up, add the Flathub remote first:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo# Arch Linux (AUR)
yay -S warp-file-transfer
# Nix
nix-env -iA nixpkgs.warp
# Debian / Ubuntu
# Not in the default apt repositories. Use the Flatpak above.
# Fedora
# Not in the default dnf repositories. Use the Flatpak above.
Windows builds are available from the releases page for cross-platform transfers.
Usage
Sending a file
- Open Warp and click Send.
- Drag and drop files or folders onto the window, or use the file picker.
- Warp displays a word code and a QR code.
- Share the code with the recipient — paste it in a chat message, read it aloud, or let them scan the QR code.
- Once the recipient enters the code, the encrypted transfer starts automatically.
Receiving a file
- Open Warp and click Receive.
- Type in the word code the sender shared with you, or scan their QR code.
- Confirm the transfer when prompted — Warp shows the file name and size before downloading begins.
Compatibility with the CLI
Warp is wire-compatible with other Magic Wormhole implementations. You can send from the CLI and receive in Warp, or vice versa:
# Send from the CLI, receive in Warp
wormhole send photo.jpg
# Warp on the other machine: enter the printed code in the Receive screen
# Send from Warp, receive on the CLI
wormhole receive 7-crossbow-bananaHow it works
Warp uses the same underlying protocol as the magic-wormhole CLI:
- The sender connects to a mailbox server and registers a short code.
- The recipient connects using the same code.
- Both sides perform a SPAKE2 key exchange — the code is the shared secret. This produces a strong session key without transmitting it.
- If both peers are on the same local network, data flows directly between them.
- If a direct connection is not possible, data is relayed through a transit relay, still end-to-end encrypted.
The relay server at no point holds the decryption key, so even a compromised relay cannot read the transferred files.
Warp vs magic-wormhole CLI
| Warp | magic-wormhole / wormhole-rs CLI | |
|---|---|---|
| Interface | GTK4 GUI | Terminal |
| QR code display | ✅ | ✅ (wormhole-rs) |
| Drag-and-drop sending | ✅ | ❌ |
| Port forwarding | ❌ | ✅ (wormhole-rs) |
| Scriptable / pipeable | ❌ | ✅ |
| Wire-compatible | ✅ | ✅ |
| Available on Windows | ✅ | ✅ |
| Available on Android | Via Wormhole app | ❌ |