redlib
redlib copied to clipboard
💡 Feature request: Add Tor tunneling option
Is your feature request related to a problem? Please describe.
Rate limiting but don't want to OAuth spoof for some reason
Describe the feature you would like to be implemented
Add an option to tunnel through Tor via arti-client
Describe alternatives you've considered
OAuth spoofing exists already, maybe a generic Socks option
Additional context / screenshot
N/A
+1 for this. I'm actually using Nyaaori's fork and is working just fine. It would be cool to support both oauth and tor managed by a system variable, so enable only oauth, only tor or both. There is only one issue with the fork above. After some time of inactivity the tor tunnel stops working and the first page opened will return "Tor connection failed". To solve the issue just reload the page. Probably an internal ping could solve it.
I'm not sure how trivial this will be - I'm not able to get Tor working at all and it refuses to integrate into Redlib (given the changes in Nyaaori's fork). I would be open to adding a proxy option, plus a dockerfile that installs the tor service and starts it. But adding a tor client into the project
- more than doubles the number of dependencies (252 -> 600)
- more than triples the compile time
- nearly doubles the binary size
- complicates the client code non-trivially - lots of code duplication
I don't see the benefits of embedding the whole tor client inside this project when a simple socks proxy would work better. Arti is experimental software, the existing clients are far more battle-tested.
That being said I do want to provide the option of not spoofing clients, so I will feature-gate that in some way. Not sure how yet (feature vs config, build time vs run time).
Surely it would be a useful feature to have but if the implementation is so complicated and is likely to worsen the quality of the project then better not do it. An alternative would be integration with an external tor container such as https://hub.docker.com/r/leplusorg/tor but this adds external dependencies and I don’t know how good the idea is.
I wish I could help you out, but programming is not among my skills..
https://github.com/libreddit/libreddit/issues/841 Just add Feature PROXY/SOCKS support is enough for this issue