Hey selfhosters!
I recently discovered Tribler - anonymity focus torrent client. It made some rounds on hackernews and I’d never heard of it before.
I installed gui and was not impressed - it ran terribly on macos. However, I was able to test download and its anonymity features - it uses TOR inspired onion routing. I saw they had API available - and thought it would be perfect for my selfhosted *arr stack usage. However, *arr apps did not integrate tribler API (understandably, it’s a niche client)
I dug in a bit and thought it would not be so difficult to create a shim that pretends to be some better integrated torrent client.
I picked qbittorrent.
You can check the link. I run it in docker. Add it to sonarr / radarr as qbittorrent client (username and password is irrelevant, as tribler shim integrates with tribler through API key) It’s not the most secure approach - but managing torrents wihout authentication in my home network is an acceptable risk.
I was not able to download anything with more than 1 hops in between - ie it does hide your real IP address, but only uses one relay in between. It’s not perfect, but seems to work as designed. I run my services mostly in Kubernetes, so there’s likely something in my networking that. I will poke around more to see what could be the issue.
For now, the torrent management works through arr apps using the shim, however, the category is not implemented. Therefore, you can only use one category for both sonarr and radarr for example, and you will see downloads of both of those.
That’s pretty cool, thanks for sharing! Been a while since I tried it out but last I looked Tribler’s own automation features were quite lacking so something like this helps a lot.
I was not able to download anything with more than 1 hops in between - ie it does hide your real IP address, but only uses one relay in between.
Hmm I don’t think there’s any relays at all in that configuration, unless you’re counting the exit node itself?
https://github.com/Tribler/tribler/issues/3067#issuecomment-325367047
One thing to keep in mind is that to download torrents from outside Tribler’s own network you would need to download through an exit node… not sure on the exact stats but last I tested exit nodes were only like 5-10% of the Tribler user base. For a while I tried volunteering my own VPN connection as an exit node for Tribler just to see how it went but the Tribler client kept locking up/crashing after a few days so the experiment did not go well… hopefully works better nowadays.
Nice, thanks for pointing this out! I think you’re right, 1 hop is direct to exit nodes, which is quite weak for anonymity.
True, wouldn’t be too different vs just using a VPN. You’re choosing to trust the Tribler tech and the Tribler exit node operator vs choosing to trust the VPN provider. Granted most VPN connections are going to have much better performance vs anything Tribler related.
There is a nice side effect of running an *arr stack against Tribler, even in 1 hop mode - Your Tribler node is much more easily pulling in new content into the Tribler network for other users to access afterwards without needing an exit node. Ideally it’s just one Tribler node/user needing to pull data through the exit nodes while the rest would just pull it from you and share with other nodes in-network.
Torrents over I2P work the same way. If the torrent data isn’t found within I2P and you have outproxies configured you could pull torrents from the clearnet & afterwards other I2P users just share amongst the I2P network.