Wiki

Clone wiki

i2pd / tunnels.cfg

tunnels.cfg is designed to support multiple I2P tunnels.
Must be located in ~/.i2pd.

.ini file format.
Consists of multiple sections with unique name each. Section type is specified by 'type' parameter with possible values 'client', 'server' or 'http'. Each 'client' specifies I2P client tunnel and each 'server' specifies I2P server tunnel.
'http' is special type of server tunnel for eepsites.
Must contain few mandatory parameters, some optional parameters might be also presented.

Example of client tunnel:

[IRC]
type=client
port=6668
destination=irc.echelon.i2p
keys=irc.dat

If keys is empty, transient keys will be created on every restart.
If keys file is not found, new keys will be created and store into specified file.
Client tunnels might share same local destination, if keys file contains same identity.

Example of server tunnel:
[smtp]
type=server
host=127.0.0.1
port=25
keys=sendmail.dat

Keys must be presented, LeaseSet of address from keys file will be published. Server tunnel must use it's own local destination.

Optional parameters: inport - what port at local destination server tunnel listens to. Same as 'port' by default.
accesslist - list of comma-separated of b32 address (without .b32.i2p) allowed to connect. Everybody is allowed by default.

'http' tunnel works same way as server tunnel, but replace 'Host: ' field in HTTP header to address provided in configuration. Also resolves it if necessary. Example of http tunnel: [i2pd]
type=http
host=i2pd.website
port=80
keys=i2pd.dat

Updated