Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: VPN mode #7570

Open
RealJosephKnapp opened this issue Dec 12, 2023 · 1 comment
Open

Proposal: VPN mode #7570

RealJosephKnapp opened this issue Dec 12, 2023 · 1 comment

Comments

@RealJosephKnapp
Copy link

Please provide the following information

libtorrent version (or branch): Qbittorrent 4.6.2 using QT 6.6.1, LibTorrent v2.0.9.0, Boost C++ 1.83.0, OpenSSL 1.1.1w and Zlib 1.2.13
platform/architecture: Appimage on Fedora Workstation 39 on an Intel Core i7 1065g7

compiler and compiler version: Official Binary release

Please describe what symptom you see, what you would expect to see instead and
how to reproduce it.

I use libtorrent through ProtonVPN and was wondering of the possibility of a VPN mode, which would first check if you are using a VPN or not, attempt to get the officially supporting port forwarding port on VPN servers that support it, and then set any metadata given off to the Bittorrent DHT and network that would otherwise not be sent when anonymous mode is enabled to the IP Address, NAT information, User agent etc of the VPN server itself instead of the actual client, thus allowing the benefits of the metadata transmission without putting the high seas at risk. I was also wondering about official support for Tor v3 hidden services when "isolatepid 1" is set to true to prevent Libtorrent from being mixed with other Tor traffic. Ideally, Libtorrent should assume that the Tor router and Torsocks are installed via the official Tor package repositories provided by the Torproject over HTTPS rather than the distribution repositories that might be out of date. This will allow easy file sharing over the Tor network without putting exit node operators in danger of lawsuits or tor users in danger of being compromised. This would work similarly to VPN mode, except that IP addresses are replaced with v3 .onion URLs and location data is replaced with the location of the introduction point. When in Tor mode, v3 .onion URLs will be handled similarly to .i2p eepsite URLs, except over TCP instead of UDP. When in Tor mode, the upload choking algorithm should be set to anti-leech by default. It would also be helpful to compress Tor Traffic using Zlib 1.3, ZSTD 1.5.5 with LZ4 1.9.4 and LZMA SDK 23.0 or the latest stable version to speed up bandwidth over slow Darknets like Tor and I2P. I would like to end by advocating that the next LibTorrent v1 and v2 releases be made compatible with py-IPv8 so that they can be used in Tribler and that BEPs 6, 9, 14, 23, 27 be supported to completely support the accepted BEPs that only require the BDFL to sign off on along with read only DHT nodes, .torrent file signing with RSA keys, publish subscribe DHT feeds, DNS tracker preferences, DHT infohash indexing and distributed torrent feeds to be supported at some point in the future to enable decentralized apps using libtorrent.

All the best,
Joe

@aidan-gibson
Copy link

There are workarounds for this all over github. It shouldn't fall on libtorrent to fix ProtonVPN not allowing non-ephemeral port forwards. Either find a solution that works for you here https://github.com/search?q=protonvpn+port&type=repositories&s=updated&o=desc or use AirVPN.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants