🛡 I2P: End-to-End encrypted and anonymous Internet
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Meeh 5fa7671ef7 Rewriting url parser 11 years ago
Win32 fix VS project 11 years ago
.gitignore
AddressBook.h adress book added 11 years ago
CryptoConst.h
ElGamal.h replaced ElGamalEncrypt to ElGamalEncryption 11 years ago
Garlic.cpp separate thread for streaming 11 years ago
Garlic.h pick random tunnel from LeaseSet 11 years ago
HTTPProxy.cpp Rewriting url parser 11 years ago
HTTPProxy.h Rewriting url parser 11 years ago
HTTPServer.cpp switch to AsyncReceive 11 years ago
HTTPServer.h Asyc receive from stream 11 years ago
I2NPProtocol.cpp renew LeaseSet's I2NP message ID and timestamp before sending 11 years ago
I2NPProtocol.h renew LeaseSet's I2NP message ID and timestamp before sending 11 years ago
I2PEndian.cpp fix LittleEndian, change endian.h version 11 years ago
I2PEndian.h fix LittleEndian, change endian.h version 11 years ago
Identity.cpp load eepsite keys 11 years ago
Identity.h load eepsite keys 11 years ago
LICENSE
LeaseSet.cpp pick random tunnel from LeaseSet 11 years ago
LeaseSet.h pick random tunnel from LeaseSet 11 years ago
LittleBigEndian.h fix LittleEndian, change endian.h version 11 years ago
Log.cpp
Log.h
Makefile Adding a simple GET HTTP Proxy 11 years ago
NTCPSession.cpp inbound tunnel where an I2NP messages has been received from 11 years ago
NTCPSession.h always pass delivery instructions to tunnel gateway 11 years ago
NetDb.cpp cleanup exluded routers list for LeaseSets 11 years ago
NetDb.h cleanup exluded routers list for LeaseSets 11 years ago
Queue.h Adding volatile keyword 11 years ago
README.md Adding a simple GET HTTP Proxy 11 years ago
Reseed.cpp Fixing reseed 11 years ago
Reseed.h fixed compilation error in gcc 4.6 11 years ago
RouterContext.cpp create LeaseSet encryption key per tunnel pool 11 years ago
RouterContext.h create LeaseSet encryption key per tunnel pool 11 years ago
RouterInfo.cpp fixed typo 11 years ago
RouterInfo.h find router with specified caps 11 years ago
SSU.cpp use existing SSU session if available 11 years ago
SSU.h use existing SSU session if available 11 years ago
Streaming.cpp switch to AsyncReceive 11 years ago
Streaming.h check buffer first for async receive 11 years ago
Timestamp.h
TransitTunnel.cpp always pass delivery instructions to tunnel gateway 11 years ago
TransitTunnel.h pass delivery intructions to tunnel gateway 11 years ago
Transports.cpp use existing SSU session if available 11 years ago
Transports.h show SSU sessions 11 years ago
Tunnel.cpp request LeaseSet from 3 floodfills 11 years ago
Tunnel.h don't test failed tunnels 11 years ago
TunnelBase.h create inbound tunnels per local destination 11 years ago
TunnelConfig.h
TunnelEndpoint.cpp inbound tunnel where an I2NP messages has been received from 11 years ago
TunnelEndpoint.h
TunnelGateway.cpp don't copy temporary data structure 11 years ago
TunnelGateway.h don't copy temporary data structure 11 years ago
TunnelPool.cpp don't test failed tunnels 11 years ago
TunnelPool.h tunnel test 11 years ago
UPnP.cpp UPnP added 11 years ago
UPnP.h UPnP added 11 years ago
base64.cpp
base64.h
hmac.h eliminate unnecessary const_cast 11 years ago
i2p.cpp Adding a simple GET HTTP Proxy 11 years ago
util.cpp adress book added 11 years ago
util.h adress book added 11 years ago

README.md

i2pd

i2p router for Linux written on C++

Requires gcc 4.6 and higher, boost 1.46 and higher, crypto++

on Windows

Requires msvs2013, boost 1.46 and higher, crypto++

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:// and b32.i2p from the address)

This should resulting in for example: http://localhost:7070/4oes3rlgrpbkmzv4lqcfili23h3cvpwslqcfjlk6vvguxyggspwa

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= - Eanble or disable daemon mode. 1 for yes, 0 for no.
  • --httpproxyport= - The port to listen on (HTTP Proxy)