api | ||
build | ||
contrib/certificates | ||
debian | ||
Win32 | ||
.gitignore | ||
AddressBook.cpp | ||
AddressBook.h | ||
aes.cpp | ||
aes.h | ||
base64.cpp | ||
base64.h | ||
BOB.cpp | ||
BOB.h | ||
ClientContext.cpp | ||
ClientContext.h | ||
CryptoConst.cpp | ||
CryptoConst.h | ||
Daemon.cpp | ||
Daemon.h | ||
DaemonLinux.cpp | ||
DaemonWin32.cpp | ||
Datagram.cpp | ||
Datagram.h | ||
Destination.cpp | ||
Destination.h | ||
ElGamal.h | ||
filelist.mk | ||
Garlic.cpp | ||
Garlic.h | ||
hmac.h | ||
HTTPProxy.cpp | ||
HTTPProxy.h | ||
HTTPServer.cpp | ||
HTTPServer.h | ||
i2p.cpp | ||
I2NPProtocol.cpp | ||
I2NPProtocol.h | ||
I2PEndian.cpp | ||
I2PEndian.h | ||
I2PTunnel.cpp | ||
I2PTunnel.h | ||
Identity.cpp | ||
Identity.h | ||
LeaseSet.cpp | ||
LeaseSet.h | ||
LICENSE | ||
LittleBigEndian.h | ||
Log.cpp | ||
Log.h | ||
Makefile | ||
Makefile.bsd | ||
Makefile.linux | ||
Makefile.osx | ||
NetDb.cpp | ||
NetDb.h | ||
NTCPSession.cpp | ||
NTCPSession.h | ||
Queue.h | ||
README.md | ||
Reseed.cpp | ||
Reseed.h | ||
RouterContext.cpp | ||
RouterContext.h | ||
RouterInfo.cpp | ||
RouterInfo.h | ||
SAM.cpp | ||
SAM.h | ||
Signature.h | ||
SOCKS.cpp | ||
SOCKS.h | ||
SSU.cpp | ||
SSU.h | ||
SSUData.cpp | ||
SSUData.h | ||
SSUSession.cpp | ||
SSUSession.h | ||
Streaming.cpp | ||
Streaming.h | ||
Timestamp.h | ||
TransitTunnel.cpp | ||
TransitTunnel.h | ||
Transports.cpp | ||
Transports.h | ||
TransportSession.h | ||
Tunnel.cpp | ||
Tunnel.h | ||
TunnelBase.h | ||
TunnelConfig.h | ||
TunnelEndpoint.cpp | ||
TunnelEndpoint.h | ||
TunnelGateway.cpp | ||
TunnelGateway.h | ||
TunnelPool.cpp | ||
TunnelPool.h | ||
UPnP.cpp | ||
UPnP.h | ||
util.cpp | ||
util.h | ||
version.h |
i2pd
I2P router written in C++
Requirements for Linux/FreeBSD/OSX
GCC 4.6 or newer, Boost 1.46 or newer, crypto++. Clang can be used instead of GCC.
Requirements for Windows
VS2013 (known to work with 12.0.21005.1 or newer), Boost 1.46 or newer, crypto++ 5.62. See Win32/README-Build.txt for instructions on how to build i2pd and its dependencies.
Build Statuses
Testing
First, build it.
- $ cd i2pd
- $ make
Next, find out your public ip. (find it for example at http://www.whatismyip.com/)
Then, run it with:
$ ./i2p --host=YOUR_PUBLIC_IP
The client should now reseed by itself.
To visit an I2P page, you need to find the b32 address of your destination. After that, go to the webconsole and add it behind the url. (Remove http:// from the address)
This should resulting in for example: http://localhost:7070/4oes3rlgrpbkmzv4lqcfili23h3cvpwslqcfjlk6vvguxyggspwa.b32.i2p
Options
- --host= - The external IP
- --port= - The port to listen on
- --httpport= - The http port to listen on
- --log= - Enable or disable logging to file. 1 for yes, 0 for no.
- --daemon= - Enable or disable daemon mode. 1 for yes, 0 for no.
- --service= - 1 if uses system folders (/var/run/i2pd.pid, /var/log/i2pd.log, /var/lib/i2pd).
- --unreachable= - 1 if router is declared as unreachable and works through introducers.
- --v6= - 1 if supports communication through ipv6, off by default
- --httpproxyport= - The port to listen on (HTTP Proxy)
- --socksproxyport= - The port to listen on (SOCKS Proxy)
- --ircport= - The local port of IRC tunnel to listen on. 6668 by default
- --ircdest= - I2P destination address of IRC server. For example irc.postman.i2p
- --irckeys= - optional keys file for local destination
- --eepkeys= - File name containing destination keys. For example privKeys.dat
- --eephost= - Address incoming trafic forward to. 127.0.0.1 by default
- --eepport= - Port incoming trafic forward to. 80 by default
- --samport= - Port of SAM bridge. Usually 7656. SAM is off if not specified
- --bobport= - Port of BOB command channel. Usually 2827. BOB is off if not specified