Transferring files between two computers on the Internet is as old of a problem as the Internet itself, and surprisingly hard. Sending an attachment over e-mail involves all kind of hassles and does not work for big files. Having both the sending and receiving part sign up for Dropbox or a similar service, or setting up your own Nextcloud server requires unreasonably much work if you simply want to transfer just one file from one computer to another. Luckily we live now in 2020, and there is a solution: the Magic Wormhole, an open source software in Python by Brian Warner.
All you need to do is install it on both computers (e.g.
apt install magic-wormhole) and run it. No user account or any other setup is required. It works across any networks, no need to have public IP addresses or anything.
To send a file, simply run
wormhole send and the file name. To receive a file, just run
wormhole receive, and enter the key phrase that given by the sending party.
Screenshot from sending party:
$ wormhole send Maperitive-1000.zip Sending 3.7 MB file named 'Maperitive-1000.zip' On the other computer, please run: wormhole receive Wormhole code is: 7-virginia-drumbeat Sending (->relay:tcp:magic-wormhole-transit.debian.net:4001).. 100%|████████████████████| 3.75M/3.75M [00:01<00:00, 2.74MB/s] File sent.. waiting for confirmation Confirmation received. Transfer complete.
Screenshot from receiving party:
$ wormhole receive Enter receive wormhole code: 7-virginia-drumbeat (note: you can use <Tab> to complete words) Receiving file (3.7 MB) into: Maperitive-1000.zip ok? (y/N): y Receiving (->relay:tcp:magic-wormhole-transit.debian.net:4001).. 100%|████████████████████| 3.75M/3.75M [00:02<00:00, 1.81MB/s] Received file written to Maperitive-1000.zip
Simple and brilliant!