How to Transfer Large Files From One Computer to Another
How Not to Transfer Large Files
The average netizen has no idea how to transfer large files to others securely. And I can’t really blame them for their ignorance because most websites instructing how to do it have really bad advice.
The Corporate Cloud
For example, there is a WikiHow article that has a few suggestions on how to send large files. The first is uploading your large files to Google Drive and sharing the link. What could possible be wrong with uploading your personal files to a service run by a known surveillance monster which requires you to sign up and give lots of personal information as well as running tracking scripts in your browser?
It also suggests Microsoft Onedrive, which of course is also a service run by a known surveillance monster which requires signing up and giving lots of personal information.
All the suggestions involve using third-party cloud services, trusting company computers with your data. And WikiHow isn’t alone in its bad advice. Other online articles give similar advice.
Emailing large files to others usually doesn’t work due to attachment size limits on either the sender or receiver side. And when it does work it’s still highly insecure and cannot be made secure. I discuss how to mitigate the security issues in a separate entry, but that’s only for if you have no other choice.
Even if you take the precautions laid out in my previous entry about email, the person you’re corresponding with almost certainly doesn’t. Even if you PGP-encrypt, email services can infer that the email contains a file based on the size. Then they know when you sent the file, who you sent it to, the IP address you sent it from and the IP address that received it, what email client was used to send and receive it and possibly even more.
Social Media Websites
People sometimes use ridiculous roundabout methods to transfer large files, such as uploading HD videos to social media such that only the recipient has permission to see the file, waiting for the recipient to download it, then immediately deleting it.
This approach requires the sender and recipient to sign up to the same social media, which is always a hyperaddictive attention-destroying surveillance monster which executes proprietary obfuscript in the browser that surveils and fingerprints users without obtaining meaningful, informed consent.
For small files like photos, videos, and documents, one of the most common ways people transfer them is through messaging applications. The popular messaging apps can’t share large files. Even the popular messaging apps in the free software world can’t. This is because they have file size limits because they are either federated or centralized and the files have to be stored on remote servers with limited capacity.
If the messaging app is proprietary, which it usually is, then it’s probably not much better in terms of privacy and security than uploading your files to the cloud or social media and sharing the link.
How to Transfer Large Files The “Right” Way
So how should one transfer files? There are several ways to securely transfer files without relying on centralized data-mining cloud services.
If the recipient is in close physical proximity to you and you trust them, you can use a USB drive or external hard drive to transfer large files. To prevent data from getting into the wrong hands later, the USB should have an encrypted, password-protected LUKS volume. For cross-platform support, use FAT32 or NTFS for the file system.
FAT32 only supports a 4 GB max file size. If a file is too large for the encrypted volume, Linux offers the split command to split it into smaller, more manageable chunks and the receiving machine only needs the cat command to piece the file back together.
If you’re far from the recipient, Magic Wormhole is a good option to transfer arbitrarily large files peer to peer. It’s also cross-platform and uses PAKE, which makes it both secure and easy to use.
If you need to transfer large files to multiple remote recipients without revealing your IP address, there’s OnionShare. Like Magic Wormhole, it’s also secure and cross-platform. Unlike with Magic Wormhole though, only one party (sender or receiver) needs OnionShare installed. The other just needs Tor Browser.
If you have large files you want to share with multiple people efficiently and you aren’t concerned about confidentiality or protecting your IP address, the fastest way is creating a torrent using any torrent client.
Unlike the client-server architecture used by Magic Wormhole and OnionShare where you act as a server sending the files to the client, peers in a torrent help upload chunks of your file to others who want a copy. Peers can continue to share the file even after you go offline.
LAN File Sharing
For computers on the same LAN, there’s plenty of software for managing a shared directory of large files. There’s Rsync, NFS, SSHFS, Samba, and SFTP.
These programs can also share files to the public internet, but most of you reading this won’t have a static public IP address or domain name, so it’s irrelevant. I often use Rsync for its versatility, security, and efficient delta-transfer algorithm.
Most people still transfer large files using the dumb ways. When I search for the file-sharing tag on Github, I get 947 results. There’s plenty of good software out there for transferring large files and lots of it is so easy to use a monkey could figure it out.
There’s no excuse for relying on the corporate cloud, email, or social media to transfer large files if you have the choice. Use a real file transfer program instead.