I2P Only Mode (depends on upstream libtorrent) #15152

Open
opened 2026-02-22 01:49:44 -05:00 by deekerman · 10 comments
Owner

Originally created by @OvercookedBeef on GitHub (Nov 9, 2023).

Suggestion

qBittorrent added I2P support in 4.6.0, but it currently only uses I2P for torrents with I2P trackers. My suggestion is a mode that only uses I2P for all torrents, and not connect to any clearnet trackers and peers.

Use case

I2P only mode would ensure that no traffic went outside of I2P. This means that people without a VPN can add torrents without worry of leaking, similar to qBittorrent's network interface option.

Extra info/examples/attachments

No response

Originally created by @OvercookedBeef on GitHub (Nov 9, 2023). ### Suggestion qBittorrent added I2P support in 4.6.0, but it currently only uses I2P for torrents with I2P trackers. My suggestion is a mode that only uses I2P for all torrents, and not connect to any clearnet trackers and peers. ### Use case I2P only mode would ensure that no traffic went outside of I2P. This means that people without a VPN can add torrents without worry of leaking, similar to qBittorrent's network interface option. ### Extra info/examples/attachments _No response_
Author
Owner

@Techwolf commented on GitHub (Nov 18, 2023):

I use I2PSnark and have added many torrent that have no i2p tracker and they work just fine due to DHT. So an I2P only mode will work on all torrents.

@Techwolf commented on GitHub (Nov 18, 2023): I use I2PSnark and have added many torrent that have no i2p tracker and they work just fine due to DHT. So an I2P only mode will work on all torrents.
Author
Owner

@OvercookedBeef commented on GitHub (Nov 19, 2023):

I use I2PSnark and have added many torrent that have no i2p tracker and they work just fine due to DHT. So an I2P only mode will work on all torrents.

libtorrent doesn't support DHT for I2P https://github.com/arvidn/libtorrent/issues/7408

@OvercookedBeef commented on GitHub (Nov 19, 2023): > I use I2PSnark and have added many torrent that have no i2p tracker and they work just fine due to DHT. So an I2P only mode will work on all torrents. libtorrent doesn't support DHT for I2P https://github.com/arvidn/libtorrent/issues/7408
Author
Owner

@OvercookedBeef commented on GitHub (Nov 21, 2023):

Are you sure this depends on upstream? Does libtorrent not have a way to force a torrent to use I2P? This feature request doesn't depend on DHT, DHT can just be disabled for now when I2P only is on.

@OvercookedBeef commented on GitHub (Nov 21, 2023): Are you sure this depends on upstream? Does libtorrent not have a way to force a torrent to use I2P? This feature request doesn't depend on DHT, DHT can just be disabled for now when I2P only is on.
Author
Owner

@OvercookedBeef commented on GitHub (Dec 2, 2023):

Depends on https://github.com/arvidn/libtorrent/issues/7461

@OvercookedBeef commented on GitHub (Dec 2, 2023): Depends on https://github.com/arvidn/libtorrent/issues/7461
Author
Owner

@OvercookedBeef commented on GitHub (Feb 1, 2024):

Turns out that I2P only has HTTP(S) outproxy support, and not SOCKS. This feature request is still useful for

  • Non-I2P HTTP(S) trackers: You might think that Non-I2P trackers wouldn't have I2P peers, but maybe they serve their tracker both over clear web and I2P, but the torrent only has the clear web tracker added to it
  • Preventing leaks: This is an important one, as I had previously added a torrent, expecting it to be over I2P, but it wasn't. The magnet had net=I2P in it, but it appears qBittorrent/libtorrent doesn't support this (other clients like BiglyBT do, from looking at their source code)

Edit: I was wrong :) They have SOCKS outproxy support (or i2pd does at least)

@OvercookedBeef commented on GitHub (Feb 1, 2024): ~Turns out that I2P only has HTTP(S) outproxy support, and not SOCKS. This feature request is still useful for~ - ~**Non-I2P HTTP(S) trackers**: You might think that Non-I2P trackers wouldn't have I2P peers, but maybe they serve their tracker both over clear web and I2P, but the torrent only has the clear web tracker added to it~ - ~**Preventing leaks**: This is an important one, as I had previously added a torrent, expecting it to be over I2P, but it wasn't. The magnet had `net=I2P` in it, but it appears qBittorrent/libtorrent doesn't support this (other clients like BiglyBT do, from looking at their source code)~ **Edit**: I was wrong :) They have SOCKS outproxy support (or i2pd does at least)
Author
Owner

@OvercookedBeef commented on GitHub (Jul 26, 2024):

I believe the old issue I linked may not be enough for I2P only mode, so I've made a specific issue about it: https://github.com/arvidn/libtorrent/issues/7716
React to it with a 👍 to show support for it.

@OvercookedBeef commented on GitHub (Jul 26, 2024): I believe the old issue I linked may not be enough for I2P only mode, so I've made a specific issue about it: https://github.com/arvidn/libtorrent/issues/7716 React to it with a :+1: to show support for it.
Author
Owner

@Neustradamus commented on GitHub (Nov 21, 2024):

To follow this ticket.

@Neustradamus commented on GitHub (Nov 21, 2024): To follow this ticket.
Author
Owner

@absolutep commented on GitHub (Dec 23, 2024):

any update on this?

@absolutep commented on GitHub (Dec 23, 2024): any update on this?
Author
Owner

@Neustradamus commented on GitHub (Jan 27, 2025):

Dear all, @arvidn has done a PR in libtorrent:

Time to test this draft!

@Neustradamus commented on GitHub (Jan 27, 2025): Dear all, @arvidn has done a PR in libtorrent: - https://github.com/arvidn/libtorrent/pull/7831 Time to test this draft!
Author
Owner

@xavier2k6 commented on GitHub (May 25, 2025):

ANNOUNCEMENT!

For anybody coming across this "Feature Request" & would like/love to see a potential implementation in the future!
Here are some options available to you:

  1. Please select/click the 👍 &/orreactions in the original/opening post of this ticket.

  2. Please feel free (If you have the "skillset") to create a "Pull Request" implementing what's being requested in this ticket.
    (new/existing contributors/developers are always welcome)


DO:

  • Provide constructive feedback.
  • Display how other projects implemented same/similar etc.

DO NOT:

  • Add a "Bump", "me too", "2nd/3rd" etc. or "criticizing" comment(s).
    (These will be disregarded/hidden as "spam/abuse/off-topic" etc. as they don't provide anything constructive.)
@xavier2k6 commented on GitHub (May 25, 2025): ## ANNOUNCEMENT! For anybody coming across this **_"Feature Request"_** & would like/love to see a potential implementation in the future! **Here are some options available to you:** 1. Please select/click the 👍 **&/or** ❤ `reactions` in the original/opening post of this ticket. 2. Please feel free _(If you have the "skillset")_ to create a **_"Pull Request"_** implementing what's being requested in this ticket. **_(new/existing contributors/developers are always welcome)_** ____ **DO:** * Provide constructive feedback. * Display how other projects implemented same/similar etc. **DO NOT:** * Add a "Bump", "me too", "2nd/3rd" etc. or "criticizing" comment(s). **(These will be disregarded/hidden as "spam/abuse/off-topic" etc. as they don't provide anything constructive.)**
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/qBittorrent#15152
No description provided.