magic-wormhole is a secure file transfer tool that uses a short passphrase to establish encrypted connections between two computers. No need to configure firewalls, port forwarding, or exchange keys manually.
Basic Usage
- wormhole send file.txt - Send file (generates code)
- wormhole receive CODE - Receive file with code
- wormhole send - Send from stdin
- wormhole receive CODE - Receive to stdout
Directory Transfer
- wormhole send -d directory/ - Send directory
- wormhole receive CODE - Receive directory
- wormhole send -d . - Send current directory
Text Transfer
- echo "text" | wormhole send - Send text
- wormhole receive CODE - Receive text
- wormhole send --text "message" - Send text message
Options
- -d, --directory - Send directory instead of file
- -t, --text - Send text message
- -c, --code - Specify code (for receive)
- -o, --output - Output file/directory name
- -v, --verbose - Verbose output
- --relay-url - Custom relay server URL
Common Examples
Send File
wormhole send document.pdf
Send file and get code to share.
Receive File
wormhole receive 7-crossover-clockwork
Receive file using code.
Send Directory
wormhole send -d project/
Send entire directory.
Send Text
echo "secret message" | wormhole send
Send text message.
Receive to Specific Location
wormhole receive -o received.pdf CODE
Receive file with custom name.
Tips
- Codes are single-use and expire after a few minutes
- No need to configure firewalls or port forwarding
- Uses PAKE (Password-Authenticated Key Exchange) for security
- Works through NAT and firewalls automatically
- Great for quick file transfers between machines
- Can send text, files, or directories
- Relay server is only used for initial connection setup