I2P is an anonymizing network, offering a simple layer that identity-sensitive applications can use to securely communicate. All data is wrapped with several layers of encryption, and the network is both distributed and dynamic, with no trusted parties. Many applications are available that interface with I2P, including mail, peer-peer, IRC chat, and others. Anonymous [Torrenting](BitTorrent.md) via i2psnark is also possible.
## Usage
Install `i2pd` (deamon written in C++) and enable the service. Router Interface is at `127.0.0.1:7070` with [HTTP](../internet/HTTP.md) Proxy at `127.0.0.1:4444`
There are two separate config files: `i2pd.conf` and `tunnels.conf`. `i2pd.conf` is the main configuration file, where you configure all options. `tunnels.conf` is the tunnel configuration file, where you configure I2P hidden services and client tunnels.
| conf | Config file (default: ~/.i2pd/i2pd.conf or /var/lib/i2pd/i2pd.conf). This parameter will be silently ignored if the specified config file does not exist. |
| logclftime | Write full CLF-formatted date and time to log (default: false (write only time)) |
| datadir | Path to storage of i2pd data (RouterInfos, destinations keys, peer profiles, etc ...) |
| host | Router external IP for incoming connections (default: auto if SSU2 is enabled) |
| port | Port to listen for incoming connections (default: auto (random)) |
| daemon | Router will go to background after start (default: true) |
| service | Router will use system folders like '/var/lib/i2pd' (on unix) or 'C:\ProgramData\i2pd' (on Windows). Ignored on MacOS and Android (default: false) |
| ifname | Network interface to bind to |
| ifname4 | Network interface to bind to for IPv4 |
| ifname6 | Network interface to bind to for IPv6 |
| address4 | Local address to bind to for IPv4 |
| address6 | Local address to bind to for clearnet IPv6 |
| nat | If true, assume we are behind NAT (default: true) |
| ipv4 | Enable communication through IPv4 (default: true) |
| ipv6 | Enable communication through clearnet IPv6 (default: false) |
| notransit | Router will not accept transit tunnels, disabling transit traffic completely. G router cap will be published (default: false) |
| floodfill | Router will be floodfill (default: false) |
| bandwidth | Bandwidth limit: integer in KBps or letters: L (32), O (256), P (2048), X (unlimited). |
| share | Max % of bandwidth limit for transit. 0-100 (default: 100) |
| family | Name of a family, router belongs to |
| netid | Network ID, router belongs to. Main I2P is 2. |
| address | Local interface tunnel binds to, '127.0.0.1' for connections from local host only, '0.0.0.0' for connections from everywhere. (default: 127.0.0.1) |
| port | Port of client tunnel. |
| signaturetype | Signature type for new keys. RSA signatures (4,5,6) are not allowed and will be changed to 7. (default: 7) |
| cryptotype | Crypto type for new keys. Experimental. Should be always 0 |
| destinationport | Connect to particular port at destination. 0 by default (targeting first tunnel on server side for destination) |
| keepaliveinterval | Send ping to the destination after this interval in seconds. (default: 0 - no pings) |
| keys | Keys for destination. When same for several tunnels, will be using same destination for every tunnel. |
| host | IP address of server (on this address i2pd will send data from I2P) |
| port | Port of server tunnel. |
| inport | (non-[TCP](../internet/TCP.md) non-[UDP](../internet/UDP.md)) I2P local destination port to listen to; an unsigned 16-bit integer. What port at local destination server tunnel listens to (default: same as _port_) |
| accesslist | List of comma-separated of b32 address (without .b32.i2p) allowed to connect. Everybody is allowed by default |
| gzip | Turns internal compression off if set to false. (default: false) |
| signaturetype | Signature type for new keys. (default: 7) |
| cryptotype | Crypto type for new keys. Experimental. Should be always 0 |
| enableuniquelocal | If true, connection to local address will look like 127.x.x.x where x.x.x is first 3 bytes of incoming connection peer's ident hash. (default: true) |
| address | IP address of an interface tunnel is connected to _host_ from. Usually not used |
| keys | Keys for destination. When same for several tunnels, will be using same destination for every tunnel. |