-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
improve documentation clarity around i2p settings #7305
Conversation
4692dbc
to
84da0ef
Compare
…session_interface
84da0ef
to
8e54fd9
Compare
Not sure if this information is useful, but I made checks with client_test and I2P download still works. |
Did you modify the code of test client or left it unchanged? If changed can you post the modified code? Thanks |
I did not changed it. |
@Vort uhm..so you still used the option "--proxy_type=i2p_proxy" that confuses me cuz according to #7285 (comment) which has been confirmed by @arvidn here #7285 (comment) it should work even without that setting...Am I correct or I didn't understand?? |
@arvidn as suggestion wouldn't be useful to add an "i2p_simple_client" among the examples to test about the different i2p options? (disabled,alone,mixed...) |
I tested and it works without |
I dont see those listeners...anyway I must look more carefully. |
However so far the client which connect faster and grabs more peers is Deluge, I can even see the peers list after my little patch: |
@Vort Using this plugin for deluge: https://github.com/ratanakvlun/deluge-ltconfig and manually setting i2p_hostname and i2p_port makes deluge work with i2p leaving proxy setting to none. |
Shouldn't it work this way only when |
Oh yes...sorry forgot to tell that with that same plugin I've enabled i2p_mixed too. In any case even with i2p_mixed enabled something goes wrong when I leave dht enabled...the peers from the clearnet tracker are found and added but not connections to them. Anyway it works even without i2p_mixed, so I'm wondering exactly what's the meaning of this setting |
From the libtorrent reference:
So I'm wondering, if peers comes from a clearnet tracker they are used regardless of this setting? |
This is because the libtorrent session supports adding multiple torrents, and opening listen sockets is preparing for supporting non-i2p torrents. The i2p torrents aren't supposed to accept connections via them.
My recollection is that traditional trackers shouldn't be used at all in i2p mode (unless mixed mode is enabled). But if they are, that might be a bug. |
Do it means that |
I'm not sure I understand what the (potentially) problematic scenario is. You mean if someone accidntally sticks a normal (public) tracker into an i2p torrent? |
I may be wrong, but I think that user can accidentally delete i2p tracker from torrent, making it lose its i2p status and consequently telling whole world about BTIH -> IP relation. |
Do you mean a bug in the client (Deluge in thiscase)? |
So there's an "i2p status" ? and how it is recognized? just if it has an i2p tracker? From what I've seen so far:
|
Generally, the notion of a torrent being an i2p-torrent is vague. This is roughly how it works:
One weird quirk right now is the This probably needs fixing. I'm open to suggestions of other tweaks to these rules (ideally in the direction of making them simpler and more intuitive). |
It may be also problematic when user want to download clearnet torrent and change tracker to i2p one with torrent client. Ideally this should convert torrent to "i2p mode" and block clearnet connections unless user enables mixed mode. Another similar question is how DHT behaves when i2p torrent is added. It should not leak IP<->BTIH connection unless mixed mode is enabled. Ideally, it also should use i2p DHT modification in cases of i2p torrents, however it is not urgent, most important is to prevent leaks. |
With this treating a torrent as i2p-mode or not becomes explicit. |
What if some torrent contains both regular and i2p trackers? |
then it's considered an i2p torrent, and will not allow regular peers unless Currently, it may still announce to the plain trackers, it just won't connect to any of the peers. I'm fixing that to not even announce to non-i2p trackers when in i2p mode in #7362 |
👍
Does adding/removing trackers behave consistently? I.e.:
What if non-i2p torrent received i2p peers from regular tracker (is it possible?) or from user (manually added)? I think if you really want to define a "strict i2p torrent" model, then all such questions should be answered so that it is consistent. |
Currently, a torrent is only considered an i2p-torrent if you add it as a .torrent file, and it contains a tracker with an i2p URL. That's it. With #7362 the situation is improved. There's torrent flag added to indicate whether a torrent should be treated as an i2p torrent or not. It's set automatically when loading a .torrent file with an i2p tracker, or parsing a magnet URI including an i2p tracker. It can then be altered explicitly by the client, via the new torrent flag.
That's supposed to work, as long as the client has configured a SAM connection. The restriction introduced by I believe the documentation in #7362 is consistent with this description |
Slightly simplify session_interface