Add some general guidance on lowering bandwidth usage when using I2P routers.
doc: Add I2P guidance related to bandwidth and i2pd software version #25993
pull willcl-ark wants to merge 1 commits into bitcoin:master from willcl-ark:i2pd_bandwidth changing 1 files +26 −0-
willcl-ark commented at 8:32 PM on September 3, 2022: contributor
- willcl-ark force-pushed on Sep 3, 2022
-
ghost commented at 9:16 PM on September 3, 2022: none
Concept ACK
- DrahtBot added the label Docs on Sep 3, 2022
- fanquake requested review from vasild on Sep 4, 2022
- fanquake requested review from jonatack on Sep 4, 2022
-
in doc/i2p.md:163 in 0dbb919a4a outdated
158 | +and outbound I2P connections you can set the `notransit` option to `true`. 159 | + 160 | +### Software version 161 | + 162 | +It is recommended to use `i2pd` version >= 2.42.0 which fixes some bugs related 163 | +to clock synchronisation which cause `i2pd` to fail on startup.
jonatack commented at 10:46 AM on September 5, 2022:The doc already discusses i2pd versions in lines 17-20; perhaps drop this entire section and update the minimum version there? What platform are you using? I'm still using
i2pd version 2.40.0on debian testing without issues (will upgrade to 2.43 to test). Meta: maybe we could drop the minimum recommended version once a sufficiently recent version is in package managers.in doc/i2p.md:141 in 0dbb919a4a outdated
132 | @@ -133,3 +133,36 @@ listening port to 0 when listening for incoming I2P connections and advertises 133 | its own I2P address with port 0. Furthermore, it will not attempt to connect to 134 | I2P addresses with a non-zero port number because with SAM v3.1 the destination 135 | port (`TO_PORT`) is always set to 0 and is not in the control of Bitcoin Core. 136 | + 137 | +## i2pd 138 | + 139 | +### Bandwidth 140 | + 141 | +`i2pd` may route a large amount of general network traffic with default
jonatack commented at 10:59 AM on September 5, 2022:Is this different with i2prouter (I2P Router), the official implementation in Java? It may be more helpful to discuss bandwith in general for both.
in doc/i2p.md:142 in 0dbb919a4a outdated
137 | +## i2pd 138 | + 139 | +### Bandwidth 140 | + 141 | +`i2pd` may route a large amount of general network traffic with default 142 | +settings enabled. Check your routers configuration to limit the amount of this
jonatack commented at 11:00 AM on September 5, 2022:settings enabled. Check your router's configuration to limit the amount of thisin doc/i2p.md:145 in 0dbb919a4a outdated
141 | +`i2pd` may route a large amount of general network traffic with default 142 | +settings enabled. Check your routers configuration to limit the amount of this 143 | +traffic that is being relayed. 144 | + 145 | +For `i2pd` this can be achieved by modifying the `bandwidth`, `share` and 146 | +`transittunnels` options. For example to limit total I2P traffic to 256KB/s,
jonatack commented at 11:02 AM on September 5, 2022:`transittunnels` options in the `i2pd/contrib/i2pd.conf` file. For example, to limit total I2P traffic to 256KB/sWill test some of your recommendations, thanks!
willcl-ark commented at 4:10 PM on September 5, 2022:👍🏼 I did test that disabling the transit traffic still permitted connections to and from the SAM proxy, and it worked between my two nodes. I also double checked on libera-chat#i2pd-dev that this is intended behaviour, and it is. So if you want only bitcoin traffic on your I2P proxy, you can disable everything else for ultimate minimum bandwidth-usage!
willcl-ark commented at 4:17 PM on September 5, 2022:I think I might leave out the conf file path: 1) It might be in different locations for different people (e.g.
/etc/i2pd/i2pd.confor/var/lib/i2pd/i2pd.confetc.) and 2) people might just be running with command line args.
jonatack commented at 10:10 AM on September 12, 2022:Suggestions
## Bandwidth -I2P routers may route a large amount of general network traffic with default -settings enabled. Check your router's configuration to limit the amount of this -traffic that is being relayed. - -For `i2pd` controlling the amount of bandwidth being shared with the wider -network can be achieved by modifying the `bandwidth`, `share` and -`transittunnels` options. For example to limit total I2P traffic to 256KB/s, -and share 50% of this limit for a maximum of 20 transit tunnels you can use: +I2P routers may route a large amount of general network traffic with their +default settings. Check your router's configuration to limit the amount of +traffic relayed, if desired. + +With `i2pd`, the amount of bandwidth shared with the wider network can be +adjusted with the `bandwidth`, `share` and `transittunnels` options in +`i2pd.conf`. For example, to limit I2P traffic to 256KB/s and share 50% of this +limit for a maximum of 20 transit tunnels:
jonatack commented at 10:12 AM on September 12, 2022:I think I might leave out the conf file path: 1) It might be in different locations for different people (e.g.
/etc/i2pd/i2pd.confor/var/lib/i2pd/i2pd.confetc.) and 2) people might just be running with command line args.Agree WRT the path. Maybe give the conf filename for both
i2pdandi2p routeror for neither.
willcl-ark commented at 9:36 AM on September 13, 2022:I believe this is addressed here in response to vasild's comment.
jonatack commented at 1:55 PM on September 14, 2022:I believe this is addressed here in response to vasild's comment.
How?
Mind having a look at #25993 (review)? It would fix a few punctuation/grammar issues and improve clarity/brevity.
willcl-ark commented at 2:47 PM on September 19, 2022:Ok I have adopted the changes from #25993 (review)
How?
As the final clause now reads:
Similar bandwidth configuration options in the Java I2P router can be found in the `http://127.0.0.1:7657/config`, under the "Bandwidth" tab.Which I think, is roughly the equivalent of the
i2p routerconf file?jonatack commented at 11:04 AM on September 5, 2022: contributorSome initial thoughts.
in doc/i2p.md:145 in 4266146768 outdated
140 | +settings enabled. Check your routers configuration to limit the amount of this 141 | +traffic that is being relayed. 142 | + 143 | +For `i2pd` this can be achieved by modifying the `bandwidth`, `share` and 144 | +`transittunnels` options. For example to limit total I2P traffic to 256KB/s, 145 | +and permit 50% of this limit for a maximum of 20 transit tunnels you can use:
vasild commented at 11:08 AM on September 5, 2022:Would it be clearer if this:
For example to limit total I2P traffic to 256KB/s, and permit 50% of this limit for a maximum of 20 transit tunnels you can use:
it tweaked to:
For example to limit total I2P traffic to 256KB/s, and share 50% of this limit with a maximum of 20 transit tunnels you can use:
?
in doc/i2p.md:153 in 4266146768 outdated
147 | +``` 148 | +bandwidth = 256 149 | +share = 50 150 | + 151 | +[limits] 152 | +transittunnels = 20
vasild commented at 11:10 AM on September 5, 2022:Feel free to add some text for the java i2p router:
The bandwidth configuration in the Java I2P router can be found in the
http://127.0.0.1:7657/config, under the "Bandwidth" tab.in doc/i2p.md:139 in 4266146768 outdated
132 | @@ -133,3 +133,24 @@ listening port to 0 when listening for incoming I2P connections and advertises 133 | its own I2P address with port 0. Furthermore, it will not attempt to connect to 134 | I2P addresses with a non-zero port number because with SAM v3.1 the destination 135 | port (`TO_PORT`) is always set to 0 and is not in the control of Bitcoin Core. 136 | + 137 | +## Bandwidth 138 | + 139 | +Some I2P routers may route a large amount of general network traffic with default
vasild commented at 11:12 AM on September 5, 2022:I think remove "Some" - because this is not specific to i2pd.
willcl-ark commented at 4:05 PM on September 5, 2022: contributorThe first commit looks ok (modulo the nits below). I am not sure about the second one - i2pd was tested and it worked with 2.35. Was it broken after 2.35 and then fixed in 2.42?
Hmmm, I was trying on a totally fresh Debian install, and a not-so-fresh Ubuntu install. On Ubuntu apt served me 2.41 which worked. However Debain bullseye was serving me 2.36, which did not work, and resulted in crashing with log messages like this. Installing 2.41 did not seem to work, but I grabbed the 2.42 release and it just worked perfectly, so thought recommending this might be worthwhile.
willcl-ark force-pushed on Sep 5, 2022willcl-ark commented at 4:24 PM on September 5, 2022: contributor- Dropped the i2pd version recommendation for now, as it seems like this could be a system issue on my side.
- Integrated spelling nits and added paragraph on where to find the bandwidth config from the Java router.
vasild approvedvasild commented at 6:41 AM on September 6, 2022: contributorACK 27b9e098d163c292753cdd3df9cefefa28b648f8
Rspigler commented at 8:06 PM on September 6, 2022: contributorIs i2pd used more often than the official I2p router? (that's what I use)
willcl-ark commented at 10:11 PM on September 6, 2022: contributorIs i2pd used more often than the official I2p router? (that's what I use)
Possibly....
<img src="https://user-images.githubusercontent.com/6606587/188749138-d9a60f13-a6e7-4a4d-9fd1-e0a0d3db8c52.png" height="250">
Rspigler commented at 11:43 PM on September 6, 2022: contributorI wasn't sure how I felt about giving implementation-specific directions, but I missed that you also gave them for the i2p router, which IMO covers the 2 major implementations, so Concept ACK from me. Sorry
willcl-ark force-pushed on Sep 19, 2022vasild approvedvasild commented at 4:11 PM on September 19, 2022: contributorACK 6119adcafd7b3379629ab64c2b0243a838900c24
DrahtBot commented at 4:13 AM on September 23, 2022: contributor<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--174a7506f384e20aa4161008e828411d-->
Conflicts
No conflicts as of last run.
in doc/i2p.md:145 in 6119adcafd outdated
140 | +default settings. Check your router's configuration to limit the amount of this 141 | +traffic relayed, if desired. 142 | + 143 | +With `i2pd`, the amount of bandwidth being shared with the wider network can be 144 | +adjusted with the `bandwidth`, `share` and `transittunnels` options. For 145 | +example to limit total I2P traffic to 256KB/s, and share 50% of this limit for
jonatack commented at 7:26 AM on September 23, 2022:example, to limit total I2P traffic to 256KB/s and share 50% of this limit forin doc/i2p.md:161 in 6119adcafd outdated
156 | +If you prefer not to relay any public I2P traffic and only permit I2P traffic 157 | +from programs which are connecting via the SAM proxy, e.g. Bitcoin Core, you 158 | +can set the `notransit` option to `true`. 159 | + 160 | +Similar bandwidth configuration options in the Java I2P router can be found in 161 | +the `http://127.0.0.1:7657/config`, under the "Bandwidth" tab.
jonatack commented at 7:31 AM on September 23, 2022:`http://127.0.0.1:7657/config`, under the "Bandwidth" tab.As this says where to find the i2prouter options, it would make sense to also do so for i2pd, i.e. in the
i2pd.conffilejonatack commented at 7:35 AM on September 23, 2022: contributorThe PR description needs to be updated.
874c861885doc: Add I2P bandwidth guidance to i2p.md
Adds some general guidance on lowering bandwidth usage when using I2P routers.
willcl-ark force-pushed on Oct 3, 2022willcl-ark commented at 9:38 AM on October 3, 2022: contributorThe PR description needs to be updated.
Description updated and changes incorporated
in doc/i2p.md:161 in 874c861885
156 | +If you prefer not to relay any public I2P traffic and only permit I2P traffic 157 | +from programs which are connecting via the SAM proxy, e.g. Bitcoin Core, you 158 | +can set the `notransit` option to `true`. 159 | + 160 | +Similar bandwidth configuration options for the Java I2P router can be found in 161 | +`http://127.0.0.1:7657/config` under the "Bandwidth" tab.
jonatack commented at 11:03 AM on October 3, 2022:Ignore unless you need to retouch: dropping the backticks could make this a clickable URL.
http://127.0.0.1:7657/config under the "Bandwidth" tab.
willcl-ark commented at 7:30 AM on October 6, 2022:Thanks @jonatack
Will indeed amend if I retouch.
jonatack approvedjonatack commented at 11:03 AM on October 3, 2022: contributorACK 874c8618850174dc989d5e2a17773115a55a91e5
Thanks for updating!
hernanmarino commented at 1:57 PM on October 28, 2022: contributorACK 874c8618850174dc989d5e2a17773115a55a91e5
hernanmarino approvedpablomartin4btc approvedpablomartin4btc commented at 2:15 PM on October 28, 2022: memberACK 874c8618850174dc989d5e2a17773115a55a91e5.
Very useful info as I was testing I2P on v.24 a few weeks ago and I didn't know you could setup this options (
bandwidth,shareandtransittunnels).fanquake merged this on Dec 5, 2022fanquake closed this on Dec 5, 2022sidhujag referenced this in commit 138a09ea0b on Dec 5, 2022bitcoin locked this on Dec 5, 2023Labels
github-metadata-mirror
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-22 18:13 UTC
This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me