Today, we're going to transfer a large video file over the internet in a secure
and anonymous manner, without having to rely on cloud services. The problem of
transferring large files came up when I was looking for a solution to
collaborate with a colleague, where I wanted to send very large video files to
her so she could edit them. I also wanted her to be able to send the final edited
video back to me. There are many cloud services, either
free or paid, that can be used to transfer files over the internet, but
there are limitations on how much you can transfer, especially for the free
services. There's also the fact that they act as middlemen, so you're entrusting
your files with them. The solution that I found works best actually gets rid of
the middleman, and allows you to make a direct connection in both directions to
and from your recipient. The application itself is called OnionShare, which is
free to download. For lack of a better term, I'll call myself the host, and my
colleague the guest. I would need to run the OnionShare application on my computer,
while she would need to run a Tor browser. Now you may be hesitant to
install another browser for the express purpose of transferring files, but the
tor installer is only about 70 MB, and it's a small price to pay to be able
to send and receive files of any size securely and anonymously, without having
to rely on a third-party service. So let's start with my computer - the host -
where I'm running Windows 10. I'll start a browser and enter onionshare.org
in the address bar. On the landing page, click on the Download button, which
scrolls you to the Download section for three platforms: Windows, Mac OS, and Linux.
in this video, I'm going to stay within the Windows platform for both the host
and the guest, so I'll hit the Windows download, but as a side note, I have
run it on Ubuntu as well, and it works in exactly the same way on Linux for
sharing and receiving files. After it's been downloaded, I can navigate to my
Downloads folder, where i can double-click the installer. This launches
the install wizard, which I'll initiate with the Next button. This process can
take a minute, so I'll fast forward a bit to the end, where I'll click the Finish
button. Let's now go to the Start menu and spin up the application, where it'll
automatically attempt to connect to the Tor network.
After connecting, you can see that the interface is easy to navigate, where we
have extra large buttons for sharing files and receiving files, as well as for
hosting a website and chatting anonymously. Since I'm trying to solve
the problem of sharing large files in this tutorial, I'm only going to focus on
the share and receive functionality. So let's start the process. Jumping over to
File Explorer, I have a video file called roughdraft.mp4
that I'd like to send to my colleague so she can edit it. As you can see in the
tooltip, it's roughly 6.5 GB in size and 30 minutes in
length. Returning to OnionShare, let's navigate to the Share File section, where
I'll simply drag-and-drop my video file in the box. Keep in mind that you can
drag over multiple files or even entire folders containing files if you want. And
there's no size limit - you could conceivably send terabytes of data,
though there is a downside to that which I'll talk about later on. I'll click on
the green button labeled Start Sharing. What OnionShare will do now is attempt
to compress the file - or files - that you've specified. This can take a while
so I'll put some chicken nuggets in the toaster oven, and i'll be right back.
OK, I'm back. The file is now ready to share. You'll be presented with a link
that you'll need to send to the recipient, so I'll just copy the link to
my clipboard, and then paste it into a message that I'll send to my colleague.
So let's move over to her machine. She'll need the Tor browser, so let's launch a
regular browser and type torproject.org in the address bar. Once
it loads, we can click the Download Tor Browser button on the main page, where
there will be installers for Windows, Mac OS, Linux, and Android. Once again, choose
Windows since this is a Windows 10 machine. Once it finishes, let's open the
download location, which happens to be the default Downloads folder on this
machine. Double-click the file, which opens the installer, after which we'll
hit OK to set the language. You'll notice that the destination folder defaults to
the desktop and not in Program Files, so you may want to change this if you don't
want icons cluttering your desktop. For the purpose of this tutorial, I'll leave
it as is and hit Install - and let's wait a few seconds...
Click the Finish button to close the installer and launch the Tor browser. The
first thing we'll need to do is hit Connect to make a connection to the Tor
network. Afterwards, we'll want to go to the address bar and type in the URL that
was sent earlier. I've already copied the address into the clipboard, so let's just
paste it in and hit enter. Let's now click the OK button to connect to the
host, after which you'll see the shared files or folders - or in our case, just the
single file. You'll want to click the Download Files button, then hit the
Download button in the dialog box. I'll opt to save the file to the hard drive,
and then specify the location. I'll keep it set to the default Downloads folder
and hit the Save button, which initiates the transfer. To keep track of its
progress, you can hit the download icon on the toolbar, which indicates
approximately how long the transfer will take. And this is where one negative
aspect of OnionShare becomes apparent - and that is the time it takes to
transfer a file. You will need to keep OnionShare up and running while the
guest downloads the file, making sure that the host computer doesn't hibernate
or go to sleep. Since we're using the Tor network, the traffic is encrypted end-to-end
with three node hops from the host to the guest. With great security comes
great performance degradation in transfer speeds, so I'll just take this
time to slow roast a full-size chicken in the toaster oven, and I'll be right back.
OK, the transfer has just completed and I can confirm the transfer by opening
the download location, where I can see that the sender's rough draft file is
now on my hard drive, with the correct file size displayed when I hover over it.
Meanwhile, on my host computer, we receive a notification that the file has
successfully transferred. If i hit the upload icon on the toolbar, I can see the
statistics of how long it took to transfer the file, but now what if my
colleague has finished editing my file and wants to send it back to me? Let's go
through the steps. On my host machine, let's clear the information and remove
the rough draft from my sent list. I'll close out of the sharing tab, and then
navigate to the Receive File section. Here, you're just providing a repository
for the guest to upload a file, so simply specify a folder location to where you
want the file to be transferred. Hit the green button called Start Receive Mode,
which will then give you another link that you can send to the guest. Let's
copy it to the clipboard and then send the link to my colleague. On her machine,
we can see her edited video called Final Draft that's ready to be sent. All she
needs to do is start the Tor browser again, and connect to the Tor network
where - assuming she's already copied the link that I sent her - she can simply
paste the URL into the address bar. Click OK to connect to the host, after which
you'll see a Browse button to select the file you want to send. Let's navigate to
the appropriate folder, then select the Final Draft video. Hit the Submit button,
which starts the transfer. Again, this is going to take a few hours,
so since I'm really not that hungry, I'll just show you the chicken that I roasted earlier.
And after several hours, switching over to my machine, I can click on the
download icon to open up the panel, and see the stats for the file transfer.
After opening its location, I can verify that the Final Draft file is indeed on
my hard drive, and I can now upload it to Youtube.
i hope you enjoyed! - thanks for watching.