Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How to create a torrent and seed it properly?
13 points by keks24 on March 29, 2021 | hide | past | favorite | 9 comments
Hello,

a few days ago, I have finished an open source project:

https://github.com/keks24/raspberry-pi-luks

Now, I want to distribute a large image file (~8 GiB) and some text files via Torrent. These files are also uploaded to a file hoster:

https://gofile.io/d/48Rnkz

I have created the Torrent file via "mktorrent" like so:

$ mktorrent --verbose --announce="http://tracker.openbittorrent.com:80/announce" --announce=[...] --web-seed="https://srv-store4.gofile.io/download/48Rnkz/ee3a464731dc8453f7d9b214cdc445dc/raspberrypi_sd_card_backup.img" --web-seed="https://[...]" --output="raspberrypi_sd_card_backup.torrent" raspberry-pi-luks

This generates the file "raspberrypi_sd_card_backup.torrent" with direct links of the mentioned file hoster.

For testing purposes, I started seeding the Torrent via aria2c, which is in the network 192.168.1.0/24 and listens on port 44444. I then connected my laptop with my router's guest wifi, which is is in a different network 192.168.2.0/24, so I do not distribute the file via the internal network. Guests have unrestricted access.

When I started the download on my laptop via Transmission, the trackers indicated, that there is 1 seeder and 1 leecher. It also indicated, that there are 5 web seeds available, but the download did not start at all.

I also tested this setup with different clients: ctorrent, rtorrent and ktorrent, but all of them did not download anything.

I checked, if I did a mistrake creating the Torrent. ktorrent only indicated me, that only HTTP links are allowed as web seed link, so I created another Torrent file using the same links, but with http://, but it did not work as well.

Then, I checked, if my router configuration is correct. I forwarded port 44444 (TCP and UDP) for aria2c and I noticed, that my router uses a DS Lite tunnel, where IPv4 packages are tunneled through IPv6, so I checked, if aria2c listens to a IPv6 address and it does.

What did I do wrong?

-Keks




> When I started the download on my laptop via Transmission, the trackers indicated, that there is 1 seeder and 1 leecher. It also indicated, that there are 5 web seeds available, but the download did not start at all.

Dumb idea, but did you actually start the download, or just added it to transmission? I had this problem when I was downloading torrents with transmission when I forgot to hit start.


Yes, I did start the download.

While testing, I sometimes forgot to connect the laptop to a different network, so my server seeded via the internal network and I could see my laptop's internal IP address in the peer list.

How do web seeds actually work? I actually expect, that the Torrent client will automatically download files from the web server, if there are no "suitable" seeders.


I am giving up for now. Torrent sucks in this regard.

I have created the test file "nom.img" and uploaded it to "gofile.io":

https://gofile.io/d/uK3NAc

I then created a Torrent file like so:

$ mktorrent --web-seed="https://srv-store3.gofile.io/download/uK3NAc/3566de3a97906ed..." --output="nom.img.torrent" nom.img

This works, the web seed link is visible to Transmission and it can download the file from the web server. Seeding is still needed from another location, since the client needs meta information from the seeder.

However, after adding multiple links as web seed the download does not start at all. Only one web seed is visible to Transmission:

$ mktorrent --web-seed="https://srv-store3.gofile.io/download/uK3NAc/3566de3a97906ed..." --output="nom.img_nom.img.b2.torrent" nom2

$ mktorrent --web-seed="https://srv-store3.gofile.io/download/uK3NAc/3566de3a97906ed..." --web-seed="https://srv-store2.gofile.io/download/uK3NAc/712fbfb75b98f27..." --output="nom.img_nom.img.b2_2.torrent" nom2

I would like to test the web seed feature on a web hoster, where the directory is physically on the server and accessable, but I am too lazy for this now:

$ mktorrent --web-seed="https://<domain_name>.<tld>/nom2/" --output="nom.img_nom.img.b2.torrent" nom2

Something is going on with this weird protocol or I do not see important things.

-Keks



Nice, thanks! I will give it a try!


Unfortunately, it did not work with "dottorrent". I will go back to square 1.


HN is not a forum that supports these kind of questions. You'll have a better luck seeking help on https://old.reddit.com/r/torrents/ or https://old.reddit.com/r/raspberry_pi


OK, thanks!


The complete command:

$ mktorrent="mktorrent --verbose \ --announce="http://tracker.openbittorrent.com:80/announce" \ --announce="udp://tracker.internetwarriors.net:1337/announce" \ --announce="udp://tracker.opentrackr.org:1337/announce" \ --announce="udp://exodus.desync.com:6969/announce" \ --announce="udp://tracker.tiny-vps.com:6969/announce" \ --announce="udp://retracker.lanta-net.ru:2710/announce" \ --announce="udp://tracker.torrent.eu.org:451/announce" \ --announce="udp://tracker.moeking.me:6969/announce" \ --announce="udp://vibe.community:6969/announce" \ --announce="udp://valakas.rollo.dnsabr.com:2710/announce" \ --announce="udp://tracker0.ufibox.com:6969/announce" \ --announce="udp://tracker.zerobytes.xyz:1337/announce" \ --announce="udp://tracker.v6speed.org:6969/announce" \ --announce="udp://tracker.uw0.xyz:6969/announce" \ --announce="udp://tracker.shkinev.me:6969/announce" \ --announce="udp://tracker.nighthawk.pw:2052/announce" \ --announce="udp://tracker.lelux.fi:6969/announce"" --web-seed="http://srv-store4.gofile.io/download/48Rnkz/26dccd90de56da6c..." \ --web-seed="http://srv-store4.gofile.io/download/48Rnkz/2e907656ce9f9c30..." \ --web-seed="http://srv-store4.gofile.io/download/48Rnkz/c57f476a29378ae9..." \ --web-seed="http://srv-store4.gofile.io/download/48Rnkz/ee3a464731dc8453..." \ --web-seed="http://srv-store1.gofile.io/download/48Rnkz/fa7c7877a25f02d9..." --output="raspberrypi_sd_card_backup.torrent" raspberry-pi-luks




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: