Send And Receive Files Anonymously Using OnionShare


If you are looking to send files anonymously and securely, then OnionShare is a good choice to do so. It is an open-source file transfer tool that uses the Tor network to send and receive files. The transfers happen directly between senders and receivers without having a third-party to store or access the files.

It works like this for sending/receiving files:

  • Sender uploads a file using OnionShare via the Tor network
  • A secure OnionShare address is then generated that the recipient needs to know
  • The recipient uses the Tor browser to access this OnionShare address to download the files

Installing OnionShare in Windows and Linux:

Windows:

Download and install it for Windows from here.

Installing OnionShare in Windows

Click Install after selecting a destination path to finish the setup. Then open OnionShare.

running OnionShare in Windows

Linux:

To install it on Debian based distros like Linux Mint/Ubuntu, open the Terminal and use the following commands:

sudo add-apt-repository ppa:micahflee/ppa

sudo apt update

sudo apt install -y onionshare

sudo dnf install onionshare

During installation, you may get errors about unmet dependencies for python3-flask-httpauth like these:

The following packages have unmet dependencies: onionshare :
Depends: python3-flask-httpauth, but it is not installable
E: failed to correct problems, you have held broken packages.

If so, then directly download OnionShare from git by first installing git if not installed:

sudo apt install git

Then run the following commands in Terminal:

git clone https://github.com/micahflee/onionshare.git
cd onionshare
git checkout tags/v2.2
python3 -m venv venv
. venv/bin/activate
pip3 install -r install/requirements.txt
./dev_scripts/onionshare-gui

OnionShare will now be ready to use in Linux Mint/Ubuntu.

running OnionShare in Linux Mint

For other distros like Fedora, use the dnf command from the Terminal:

sudo dnf install onionshare

Using OnionShare:

On launching it, first, it will connect to the Tor network just like what happens when you open the Tor browser. There are three main functions in OnionShare: Share Files, Receive Files, and Publish Website.

Sending files:

To send a file (and it can be of any size), you don’t need a user account to upload, unlike cloud storage services. Drag-drop the files or click on Add.

adding files to be shared in OnionShare

Once added, click on Start sharing.

enable sharing mode in OnionShare

OnionShare will generate an address with a random path known as ‘slug’ for this.

OnionShare address for shared files

So you can share this address by clicking Copy Address with the recipient either using emails/messages or with a text encryption service like encipher.it

The recipient can then access this OnionShare address using the Tor browser.

accessing OnionShare address for shared files in Tor browser

A login prompt will be displayed in the browser and the file that was added by the sender will be ready for download. Click on the Download Files to download them.

downloading shared files from OnionShare using Tor

All of this without creating an account or having a file size restriction.

You can also upload web folders with the Publish Website option.

sharing website folders using OnionShare

This is useful when you want to run a website as an Onion service. Add an index.html file along with other web files like CSS, images in a folder, and OnionShare will display it as a website accessible only using the Tor browser.

Receiving files:

You can also allow others to send files to your PC using OnionShare. To do that, click on the Receive Files tab. Then click on Start Receive Mode.

enable receive mode in OnionShare

This too will generate an OnionShare address which needs to be known by the remote sender who wants to send the files to you.

OnionShare address for receive mode

The remote sender then would access this address using the Tor browser to upload and transfer files to your system.

sending files to OnionShare using receive mode

Clicking on Send Files will transfer them to your system as long as the receive mode is on.

files successfully sent using OnionShare

These transferred files will then be available in a folder in the default download path used by OnionShare.

local folder with received files when using receive mode in OnionShare

You can change these settings by clicking on the gear icon.

accessing OnionShare settings

changing receiving folder path from OnionShare settings

Other than changing the default folder path, OnionShare also allows scheduled sending and receiving of files. Enable the auto-start and auto-stop timer to do so.

enabling timer for sending and receiving using OnionShare

When this timer is enabled, the files will only be sent or received in a specific time window.

auto start timer for sharing files in OnionShare

The OnionShare address though will be generated in advance which the sender and recipient can access.

auto start timer for receiving files in OnionShare

There is also an option of using Public mode. This is when you want the OnionShare address to be available continuously for all to access. When this is enabled, the random slug at the end of the OnionShare address won’t be generated.

This is a useful open-source file transfer tool that has the anonymity and security that Tor offers. Do try it out.

Happy sharing.


Leave a Comment