How to create a private torrent using qBittorrent
If you have a set of files that you wish to share with someone, but don't want to use cloud storage services, there are a few options that you can use. Syncthing or Resilio Sync come to mind, or traditional options such as FTP.
But there is a simpler way: creating a private torrent. All you need is a BitTorrent client and a couple of minutes to set it up correctly so that your files can be shared to as many users as you like.
Things you will need
- Files that you want to share
- A Torrent client such as qBittorrent
- Your external IP Address
- An open port on your router
Let's get started. We are going to assume that you know how to open a port on your router to configure port forwarding. Usually this involves accessing the router page in your web browser and selecting a port that you wish to forward. It varies for most models; refer to your router manual or the OEM's website for instructions.
Tip: use the port forwarding tester to test if a port is forwarded properly.
Enabling the port in qBittorrent
- Open qBitTorrent and click on the Tools option in the menu.
- Navigate to Options > Advanced and scroll down to the embedded tracker port. This is required for the torrent to be seeded.
For e.g. qBitTorrent by default uses port 9000 for the embedded tracker. So if I were to open a port on my ZTE F612W router, I'd navigate to the following path in the router's page: Application > Port Forwarding and set the port that I want to.
Why is this required?
If you don't use the embedded tracker and private torrent options, the torrent that you create will be public, i.e., it will be visible to all and anyone may (in theory) download the files.
How to create a private torrent using qBittorrent
- Run qBittorrent and select the Torrent creator option from the Tools menu. You should see a pop-up window. (refer to the 1st screenshot)
- Select the file or folder where the content that you wish to upload is located.
- The program should ask you to save the torrent file on your computer, choose a folder to save it.
- Enable the following options: "Private torrent", "Start seeding immediately" and "Optimize alignment".
- Find your external IP address. The simplest way to do this is to search for "What is my ip" and Google should display your public IP address. You may also open our IP checker here.
- Copy the external IP address and paste it in the "Tracker URLs" field in the following format. http://IPaddress:portnumber/announce
- Click on the "Create torrent" button. Wait for the process to complete; it might take a while to create the torrent as it depends on the number and size of files among other things. You can close the pop-up window once the progress bar reaches 100%.
Your torrent should start seeding immediately if you did it right. You can also verify this by navigating to the tracker tab, the status should say "working".
How to fix the "Tracker not working" error in qBitTorrent
- Verify that the port that you selected is working. Double-check the settings in the router/modem, and run a port forwarding test.
- Re-check your computer's local IP address (for e.g. 192.168.1.4). If you have more than 1 device connected to the router, it is possible that a new local IP address was assigned to your computer. You will need to edit the Port Forwarding settings to use the current local IP.
- Go to the tracker tab. Does it have the http:// prefix and the /announce suffix ?
- Check your Windows firewall or antivirus settings to ensure it isn't blocking the connection.
How to share the private torrent using qBitTorrent
Remember the torrent file that was saved when you created the torrent? Send that to the people that you want to share the files with. If the files are important, use encryption or secure messaging options.
Is this secure? It depends on how the torrent file is shared and what kind of files you are sharing. Note that your network operator / ISP may still see what you are sharing and seeding.
This can be a great way to share tons of Gigabytes worth of content without having to upload them to cloud storage services.
I wrote this guide to simplify and explain the steps found in the official qBittorrent Wiki article.
>Is this secure? It depends on how the torrent file is shared and what kind of files you are sharing. Note that your network operator / ISP may still see what you are sharing and seeding.
How? The traffic will be encrypted, so how would they possibly see anything beyond encrypted data with no other identifying metadata?
qbittorrent (and most other torrent clients if not all) built-in encryption is too weak. it was meant as a way to bypass firewalls, but not with security or privacy in mind. its no replacement for a vpn or something else, but it does add up
The “Enable embedded tracker” box was not ticked when I installed the program.
Thanks this saved me some time. That box isn’t checked by default and it makes the torrent fail to “not working” status
This really helped me out. Thank you!
Thank you, very useful
IDK, but I imagine this is a good option if you are on Linux or BSD?
In Windows, there are other free options which I like better, such as with FileZilla + Duck DNS.. that is when you want “to share tons of Gigabytes worth of content”.
As for for basic cloud sharing of a few files for free, WeTransfer is hard to beat, as it’s fast, simple, and no crazy ads.
This looks like a horribly complicated way of sending bulky data to a single person, and bittorrent isn’t even really intended for that (a single recipient). But it’s true that surprisingly, there isn’t a good standard solution to this problem in 2019 (relevant xkcd: https://xkcd.com/949/). My suggestion would be client side encrypted file sending services like instances of Lufi, or instances of Up1, or Firefox Send.
@Anonymous on September 21, 2019 at 2:39 am;
It’s a few years on since your comment. Try a magic-wormhole client like Rymdport (github.com/Jacalz/rymdport). It’s muti-OS; for encrypted transit file transferring… & far easier than FTP. ‘Destiny’ is a Android magic-wormhole client available on F-Droid.
I always find this certain xkcd picture interesting, because I agree with that until that “early adopters” part. Because sharing files is still surprisingly complicated these days, either due to size limits, speed limits, availability limits, etc. To directly share a file privately and peer to peer, I found that file.pizza (source code available) works incredibly well. There don’t seem to many alternatives that are this fool-proof and easy to use.
Onionshare is a new thing. Haven’t tested it personally but others have vouched for it.