Are you tired of emailing files to yourself or messing around with cloud storage providers just to transfer some files? Because I certainly was. Today I’m gonna show you the three best ways to send files to yourself and others, along with some different tools for each method. There are many times when you wanna get a file from one device to another, such as from your computer or to your friend, who’s sitting next to you. Whether it’s a 25-megabyte attachment limit, or your Dropbox running out of storage space, transferring larger files can be pretty frustrating. You also need to think twice about sending sensitive data like health info, financial records, or business documents over email and chat; I mean, do you really wanna have all that sitting in the cloud forever? Thumb drives and SD cards aren’t bad options but might come with infected firmware. They’re really only practical for in-person file transfers and, even so, are often still slower than the three ways you’re gonna learn today. Stay tuned. The three best ways to send files to yourself in 2020 are temporary links, local wifi transfers, and remote peer-to-peer transfers. Most of these methods are designed for sending a single transfer, so it’s not ideal for quickly sharing with a group of people, but we’ll cover some options for that in a bonus section at the end of this blog.
METHOD 1: Let’s start with temporary links. There are so many web services that don’t require you to sign up and have a bigger upload limit than email or free cloud hosting providers. The first service I wanna show you is file.io, which gives you a 5GB upload size. You drag in a file, get a short URL, copy it, and send it to someone else for download. The file automatically gets deleted after someone clicks the link, or expires after two weeks. The author says that files are encrypted when stored on their servers and aren’t backed up, which is reasonable enough assurance to use for non-sensitive data. There’s an API as well, that lets you access the service using a command-line tool like curl. If file.io ever goes down, you can try a transfer.sh as an alternative, which gives you a 10GB upload size. As shown on the site, you can use curl from the command-line or drag files directly to the web page. The file is also encrypted on their servers and is stored for up to 2 weeks. Transfer.sh was originally designed for command-line use, so you can chain several steps together, like filtering a log file down, compressing it all in one command. For temporary link transfers where you want end-to-end encryption, Firefox Send is the answer. You can go to send.firefox.com and send up to 1GB without an account, choose the download limit, expiration time, or even protect it with a password. The portion of the shared link after the hash symbol is the encryption key. This lets you split the key from the shared link and send them separately to a recipient. If you’re looking for command-line usage of Firefox Send, there’s a tool called ffsend, which is available for macOS, Linux, and Windows. It’s about as simple as installing the command, typing ffsend upload on the file, and copying the link. The recipient would type ffsend download on the link to get it. So what's the difference between Firefox Send and the other temporary link options I mentioned? First, you can reasonably expect Firefox Send to be reliable in the future since it’s run by the Mozilla Foundation, which has a large budget and many developers. Second, it's secured end-to-end, which means files are encrypted on your computer first before being stored on the server, using a key generated in your browser. The recipient then decrypts it locally on their browser. Only someone with the decryption key can download and open the file. This is different from server encryption, where the files are encrypted after reaching the server, with the key being generated and stored there as well. If file.io or transfer.sh ever have a data breach or decide to go evil on you, they’d be able to access your data. You can always decide to encrypt the file yourself locally to mitigate this risk, but it’s just a bit more inconvenient than Firefox Send. If you're looking for blazing-fast file transfers using a temporary link, really great service is called JustBeamIt. It’s been going strong for years and works a bit differently than the other services, in that files never get stored on their server, just “streamed" through it between web browsers. You open a file to generate a link, which is valid for a single transfer or 10 minutes. During the transfer, you need to keep your web browser open until the transfer finishes. What I like about JustBeam It is that its temporary link is short enough to memorize and speak to someone else over the phone, no size limit, and really fast speeds only limited to the network connection of the sender and recipient.
METHOD 2: Now let's move on to the second-best way to send files, which is through local Wi-Fi transfers and requires you to be within proximity of an access point. If you're on an Apple device, you're probably familiar with Airdrop, which lets you send files through Bluetooth discovery and direct Wi-Fi connection, fully encrypted. This is arguably the best and most secure way to send files between devices, as long as you're in the Apple ecosystem. If not, there’s are a couple of services that let you do almost the same thing using your web browser. The first app is snapdrop.net. If you open Snapdrop in two devices on the same network, it will use the WebRTC technology built into the web browser for the computers to discover each other. You can left-click to send a file and right-click to send a message, and the receiving device will be prompted with a confirmation. This web app also works on your phone’s browser, which gives you some cross-platform compatibility. There’s a similar app called ShareDrop, which operates the same way. Navigating to sharedrop.io on both devices lets them discover each other. Share drop also has a temporary link feature like the other options we went over, in case your recipient isn’t on the same network, though this would no longer a local Wi-Fi transfer.
METHOD 3: Which brings us to our third method, which is remote peer-to-peer transfers. This is by far my favorite way to send files to myself and others. A first option is a Python tool called a magic wormhole, which you can install using most Linux package managers and macOS, for which you’ll need to use brew. For Windows, I recommend installing the Windows Subsystem for Linux to get access to a Linux command-line environment. Using the command is as simple as running wormhole send, followed by your file. You get a short, 3-word code to share with your receiving end, who simply types wormhole receive, followed by the passphrase. There are no file size limits, with transfers only capped by your network speed. There’s also an alternate version of magic wormhole called croc, which is written in Golang and is my personal go-to option for remote peer-to-peer transfers. Croc is easier to install cross-platform than magic wormhole since it's a single binary that doesn’t require dozens of Python packages and dependencies. It uses compression and parallelizing for faster speeds, supports sending multiple files or folders, and lets you resume interrupted transfers. It’s as simple as running croc send, followed by the files on the sender, and croc followed by the code on the receiver. If you’re comfortable in the command-line, magic-wormhole and croc are probably the fastest and most secure ways to sending files to yourself and others. They’re open-source, ephemeral, and use very strong end-to-end encryption, with no central servers. If AirDrop isn't available, these are my go-to options.
METHOD 4: Now for the bonus tips: if you wanna send files remotely, peer-to-peer to multiple people, there are two excellent services that let you do this: FilePizza, and instant.io. Both of them leverage WebTorrent, which basically turns your browser into a torrent streaming client. It’s kind of like JustBeamIt, except there’s no central server, in this case, just a WebRTC connection. You can go to file.pizza or instant.io to serve up a file. Anyone who has the link you share will be able to download the file from your browser, as long as you keep the tab or window open. So keep in mind that all of these file transfer tools we’ve just gone over potentially expose your IP address. If you need to share files with others anonymously, OnionShare is your best bet. It's made by Micah Lee, a technologist who’s worked at the Intercept, Electronic Frontier Foundation, and is a core contributor to the Tor project. OnionShare works by running a web server protected with an onion URL that hides the source of your computer in the Tor network. You add the files you’d like to share, and then send the onion URL to your receiver, who can then download it using the Tor browser. OnionShare even lets you easily publish a website anonymously and also lets others upload files to your computer. One thing to keep in mind is that data goes through the Tor network, making transfers quite slow since its gotta traverse three relays around the world. If you’re a journalist or someone in a country with heavy surveillance, privacy and discretion might be much more important than speed and convenience, making OnionShare the best option to use. So you might be wondering, “of all these choices, which should I pick?” I personally use all of these ways, depending on the situation. For someone who really isn’t that tech-savvy, sending a temporary download link might be your best choice. They just need to click on it to start the download. If all the devices are on the same network, a local Wi-Fi transfer over AirDrop or SnapDrop can be even easier and faster. If you’re concerned about security and each party has a strong tech background, something like croc or magic wormhole is what I’d recommend for sending files over the Internet.
So that’s it for the best ways to send files to yourself and others. You should be more than comfortable at this point moving away from traditional options like Dropbox. Go ahead and give some of these methods a try, and let me know which ones you prefer to use in the comments below! Thanks so much for reading this blog, and don’t forget to share it with others who are still emailing things to themselves. See you soon!

0 Comments