|
|
@ -33,12 +33,10 @@ configuration options: |
|
|
|
none) |
|
|
|
|
|
|
|
-i2pacceptincoming |
|
|
|
If set and -i2psam is also set then incoming I2P connections are |
|
|
|
accepted via the SAM proxy. If this is not set but -i2psam is set |
|
|
|
then only outgoing connections will be made to the I2P network. |
|
|
|
Ignored if -i2psam is not set. Listening for incoming I2P |
|
|
|
connections is done through the SAM proxy, not by binding to a |
|
|
|
local address and port (default: 1) |
|
|
|
Whether to accept inbound I2P connections (default: 1). Ignored if |
|
|
|
-i2psam is not set. Listening for inbound I2P connections is |
|
|
|
done through the SAM proxy, not by binding to a local address and |
|
|
|
port. |
|
|
|
``` |
|
|
|
|
|
|
|
In a typical situation, this suffices: |
|
|
@ -56,6 +54,36 @@ connections if `-i2pacceptincoming=1`. If `-i2pacceptincoming=0` then only |
|
|
|
outbound I2P connections are made and a different transient I2P address is used |
|
|
|
for each connection to improve privacy. |
|
|
|
|
|
|
|
## Additional configuration options related to I2P |
|
|
|
|
|
|
|
``` |
|
|
|
-debug=i2p |
|
|
|
``` |
|
|
|
|
|
|
|
Set the `debug=i2p` config logging option to see additional information in the |
|
|
|
debug log about your I2P configuration and connections. |
|
|
|
|
|
|
|
``` |
|
|
|
-onlynet=i2p |
|
|
|
``` |
|
|
|
|
|
|
|
Make automatic outbound connections only to I2P addresses. Inbound and manual |
|
|
|
connections are not affected by this option. It can be specified multiple times |
|
|
|
to allow multiple networks, e.g. onlynet=onion, onlynet=i2p. |
|
|
|
|
|
|
|
I2P support was added to Hush in version 3.9.3 and there may be fewer I2P |
|
|
|
peers than Tor or IP ones. Therefore, using I2P alone without other networks may |
|
|
|
make a node more susceptible to [Sybil |
|
|
|
attacks](https://en.bitcoin.it/wiki/Weaknesses#Sybil_attack). |
|
|
|
|
|
|
|
Another consideration with `onlynet=i2p` is that the initial blocks download |
|
|
|
phase when syncing up a new node can be very slow. This phase can be sped up by |
|
|
|
using other networks, for instance `onlynet=onion`, at the same time. |
|
|
|
|
|
|
|
In general, a node can be run with both onion and I2P hidden services (or |
|
|
|
any/all of IPv4/IPv6/onion/I2P/CJDNS), which can provide a potential fallback if |
|
|
|
one of the networks has issues. |
|
|
|
|
|
|
|
## Persistent vs transient I2P addresses |
|
|
|
|
|
|
|
In I2P connections, the connection receiver sees the I2P address of the |
|
|
@ -136,14 +164,19 @@ port (`TO_PORT`) is always set to 0 and is not in the control of Hush. |
|
|
|
|
|
|
|
## Bandwidth |
|
|
|
|
|
|
|
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 this |
|
|
|
traffic relayed, if desired. |
|
|
|
By default, your node shares bandwidth and transit tunnels with the I2P network |
|
|
|
in order to increase your anonymity with cover traffic, help the I2P router used |
|
|
|
by your node integrate optimally with the network, and give back to the network. |
|
|
|
It's important that the nodes of a popular application like Hush contribute |
|
|
|
as much to the I2P network as they consume. |
|
|
|
|
|
|
|
With `i2pd`, the amount of bandwidth being shared with the wider network can be |
|
|
|
adjusted with the `bandwidth`, `share` and `transittunnels` options in your |
|
|
|
`i2pd.conf` file. For example, to limit total I2P traffic to 256KB/s and share |
|
|
|
50% of this limit for a maximum of 20 transit tunnels: |
|
|
|
It is possible, though strongly discouraged, to change your I2P router |
|
|
|
configuration to limit the amount of I2P traffic relayed by your node. |
|
|
|
|
|
|
|
With `i2pd`, this can be done by adjusting the `bandwidth`, `share` and |
|
|
|
`transittunnels` options in your `i2pd.conf` file. For example, to limit total |
|
|
|
I2P traffic to 256KB/s and share 50% of this limit for a maximum of 20 transit |
|
|
|
tunnels: |
|
|
|
|
|
|
|
``` |
|
|
|
bandwidth = 256 |
|
|
@ -153,9 +186,15 @@ share = 50 |
|
|
|
transittunnels = 20 |
|
|
|
``` |
|
|
|
|
|
|
|
If you prefer not to relay any public I2P traffic and only permit I2P traffic |
|
|
|
from programs which are connecting via the SAM proxy, e.g. Hush, you |
|
|
|
can set the `notransit` option to `true`. |
|
|
|
|
|
|
|
Similar bandwidth configuration options for the Java I2P router can be found in |
|
|
|
`http://127.0.0.1:7657/config` under the "Bandwidth" tab. |
|
|
|
|
|
|
|
Before doing this, please see the "Participating Traffic Considerations" section |
|
|
|
in [Embedding I2P in your Application](https://geti2p.net/en/docs/applications/embedding). |
|
|
|
|
|
|
|
In most cases, the default router settings should work fine. |
|
|
|
|
|
|
|
## Bundling I2P in a Hush application |
|
|
|
|
|
|
|
Please see the "General Guidance for Developers" section in https://geti2p.net/en/docs/api/samv3 |
|
|
|
if you are developing a downstream application that may be bundling I2P with Hush. |
|
|
|