Sign In

School me on rTorrent (or convince me to do something else)

Author
Time

So far I’ve pretty much managed to completely avoid even properly knowing what a torrent is, let alone doing much of anything with them. This may change.

With the next release or Project Threepio, I might try seeding it on the Organ myself (in the past, I’ve relied on volunteers). My Internet connection is no longer as tragic as it once was, and I’ve got a headless 24/7 Linux box just sitting around without much to do.

So the question is: how would I even do this? I can ssh into the box, run processes with nohup so they keep going even after I disconnect, and rtorrent is installed. I just want to seed this one thing and nothing else. What’s the best way to go about this? What’s the best way to make it persist through reboots? And so on.

Project Threepio (Star Wars OOT subtitles)

Author
Time

Looks helpful from a configuration POV, thanks! Still need some conceptual hand-holding though. Like, when you run the software, what’s happening exactly? Obviously files are being shared P2P, but… which files? How do you control what you’re sharing? Who do they get shared with, and how is that determined? How do you get things other people share, etc? And terminology: what’s a tracker, what’s a magnet link, and so on. Are special firewall rules needed? It looks like you can throttle bandwidth on the client end, what about time-of-day rules, etc?

I get computers at a pretty deep level, so I’m not scared to experiment if I know even vaguely where to look, it’s just this particular use case I’ve never even really been anywhere near before.

Project Threepio (Star Wars OOT subtitles)

Author
Time

the torrent file that you create, determines what data gets shared. a torrent file is just a checksum of data chunks. When you open the torrent file, you point it at your data (and hash check it) before sharing.

When downloading, you just point it at an empty directory with enough space and hope there are seeders 😃

You certainly need to have your listening port open on your firewall if you want to have incoming connections, otherwise a connection will only happen if the other party opened their firewall correctly. it would work that way, but tends to not be wise if you are primarily wanting to be a seeder.

trackers are places that peers (the people with a given torrent file open) announce to, and the tracker helps them find each other, so that they can then connect directly to eachother. There is trackerless techm like DHT, but private trackers don’t allow that. (the spleen). Magnet links depend on DHT technology. The Magnet link is just a checksum, so it can be embedded in the webpage and doesn’t require a ‘download’ like a .torrent file would. Then the torrent client uses DHT to find other peers based on that checksum. not an option on private trackers since they want to control who can connect.

https://www.lifewire.com/how-torrent-downloading-works-2483513
https://lifehacker.com/5875899/what-are-magnet-links-and-how-do-i-use-them-to-download-torrents

Author
Time
 (Edited)

Got it. So if you want to seed (as I theoretically do), you should open a port (literally port forward from your router)? If so, which port(s)? I’ve only ever opened inbound ports to whitelisted IP’s before, so opening to the world makes me twitch a bit.

Suddenly FTP’s not seeming quite so scary. It’s a mess, but a familiar mess 😉

Project Threepio (Star Wars OOT subtitles)

Author
Time

If you Google a bit you should find a good range of ports to choose from. I can’t help much there as I don’t really do any initial seeding, just seed stuff I’ve already downloaded through a torrent, and then really only when I’m on a private tracker (I use a VPN and am mainly a dirty leecher on public trackers).

ChainsawAsh disappears a lot - bkev

Author
Time

Alright, thanks all. I will now wring my hands over this in private.

Project Threepio (Star Wars OOT subtitles)

Author
Time

You can use block lists. Although I’m not sure if rtorrent supports block lists.

Author
Time

Torrenting files is a peer 2 peer file transfer method. As opposed to a single server, where everyone has to queue one after each other to get the files (what you do in FTP), with Bittorrent everyone downloads the same file simultaneously.

You would think this is not different to what http does (bandwidth sharing), but wait, there is more…

Files are split in several small chunks, that way you don’t have to give the entire file to everyone at the same time. What happens is that you smartly try to give different chunks to different users, and then the users give each other the missing chunks themselves, while still getting more chunks from you.

So by the time you upload 100% of a file, you have given this file to a potentially unlimited number of users. With traditional methods, only a single user would have gotten the file (in the same amount of time), or two users if they both waited twice as long (what happens with http sharing bandwidth methods).

I hope this clarifies things a little. In general most p2p file transfer methods work this way, but bittorrent became one of the most used and efficient methods. Furthermore you don’t have to “seed” (share) the file all the time, as soon as 100% has been uploaded, if other people are nice, they themselves can serve this file to others, and you can take a break from time to time.

Also you don’t have to spend your entire bandwidth doing this, especially after 100% of the file is out there (even in separate chunks). Imagine there are 100 users downloading your file, and you give a different piece to everyone, then you disconnect and let themselves sort it out. It CAN work like that (when people behave nicely), I have done it in the past, and some clients offer a “super seeding” mode to enforce this. You can upload your chunks more slowly, so don’t worry if you need to limit your bandwidth. In fact you should, because torrenting can easily eat whatever upload bandwidth you have, and if your link is asymmetric you are going to slow down your download side.

As for trackers and .torrent files, they were originally needed, but no longer. There are fully decentralized methods (DHT) now, you can just share a “magnet” url and that’s it. But if you want you can still make a .torrent, share it using traditional methods (its a very small file) and then use a public tracker (hoping it doesn’t disappear tomorrow).

Which client is best is a personal choice, I’d recommend you stick to open source clients, like qbitorrent. You can also use cli only or web ui clients running in remote boxes, some people also rent those.

Opening ports is nice to speed up things to some, but not strictly needed.

Author
Time

+1 for qbittorrent.

ChainsawAsh disappears a lot - bkev

Author
Time

Anyone know if qbittorrent is Organ-compliant? They seem to have special client requirements there, and I chose rtorrent simply because I knew it was a compatible CLI Linux client. But if that part’s the same and there’s relevant feature differences, I could go for something else. Not looking to do magnet links or public trackers. Just an old-school .torrent file on a private tracker. Or chicken out and have someone else do it again, that’s also a strong contender.

Thanks for the tutorial by the way. I knew some of that, but it can’t hurt to assume I don’t know even the most basic things.

Project Threepio (Star Wars OOT subtitles)

Author
Time

rTorrent should be fine. Qbitorrent is not an rTorrent ui tho, they are separate projects 😃

Author
Time

I have no issues with qbittorrent on MySpleen, but again, I’ve never uploaded a torrent there, just downloaded and seeded.

ChainsawAsh disappears a lot - bkev

Author
Time

Both qBittorrent and rTorrent use libtorrent, but they use incompatible versions of it. (qBittorrent uses libtorrent-rasterbar and rTorrent uses libtorrent-rakshasa)

i have seen people use qBittorent on MySpleen.

rTorrent is very common on seedboxes, that is why you see so many people running it.