Full C++ implementation of I2P client
C++ Java NSIS CMake HTML Makefile Other
Latest commit 2cbdb0b Jan 17, 2017 @orignal orignal fixed shared_ptr error
Permalink
Failed to load latest commit information.
Win32 2.11.0 Dec 18, 2016
android * add websocks Jan 7, 2017
build Merge pull request #771 from majestrate/websocks Jan 7, 2017
contrib new reseed Dec 22, 2016
debian added info, modifyed timestamp Dec 18, 2016
docs http.enabled Jan 10, 2017
qt Update README.md Jan 2, 2017
tests * HTTP.cpp : add comments, update test case Jul 1, 2016
.dir-locals.el remove tab width setting in dir-locals Nov 10, 2016
.gitignore add keyinfo tool Oct 5, 2016
.travis.yml temporary disable OS X Jul 30, 2016
AddressBook.cpp check if address not found Dec 26, 2016
AddressBook.h Add addressbook options + improved docs Oct 12, 2016
BOB.cpp fixed android build Nov 4, 2016
BOB.h more BOB error messages Jul 21, 2016
Base.cpp * Base.h : extract Tag template class to separate header Jun 28, 2016
Base.h * Base.h : extract Tag template class to separate header Jun 28, 2016
BloomFilter.cpp tabify Dec 9, 2016
BloomFilter.h fixed android build Dec 9, 2016
ChangeLog update ChangeLog Dec 18, 2016
ClientContext.cpp renamed maptolooback to enableuniquelocal Jan 12, 2017
ClientContext.h renamed maptolooback to enableuniquelocal Jan 12, 2017
Config.cpp * add websocks Jan 7, 2017
Config.h tunnel options for SOCKS proxy Nov 3, 2016
Crypto.cpp use ElGamalEncrypt Dec 20, 2016
Crypto.h use ElGamalEncrypt Dec 20, 2016
Daemon.cpp * add websocks Jan 7, 2017
Daemon.h gracefull -> graceful Oct 31, 2016
DaemonLinux.cpp fixed #724 Dec 22, 2016
DaemonWin32.cpp fixed #546 Jun 27, 2016
Datagram.cpp fixed shared_ptr error Jan 17, 2017
Datagram.h fixed shared_ptr error Jan 17, 2017
Destination.cpp multiple acceptors Dec 24, 2016
Destination.h multiple acceptors Dec 24, 2016
Dockerfile Moving dockerfile to trigger autobuild of docker images. Jan 7, 2017
Event.cpp more Dec 7, 2016
Event.h more Dec 7, 2016
FS.cpp correct separator for android Oct 31, 2016
FS.h add hooks for visiting netdb Aug 29, 2016
Family.cpp OpenSSL 1.1 for EVP_PKEY Nov 10, 2016
Family.h set router's family Feb 21, 2016
Garlic.cpp use ElGamalEncrypt Dec 20, 2016
Garlic.h use correct encryption key for ElGamal Dec 17, 2016
Gzip.cpp * Base.cpp : extract gzip classes to separate file Jun 28, 2016
Gzip.h * Base.cpp : extract gzip classes to separate file Jun 28, 2016
HTTP.cpp fix outproxy Nov 20, 2016
HTTP.h fix outproxy Nov 20, 2016
HTTPProxy.cpp fix outproxy Nov 20, 2016
HTTPProxy.h * HTTPProxy.{cpp,h} : rename classes, drop typedef Jun 23, 2016
HTTPServer.cpp add peer count to transports Jan 1, 2017
HTTPServer.h use token for commands Dec 15, 2016
I2CP.cpp insert I2CP session with correct sessionid Nov 18, 2016
I2CP.h insert I2CP session with correct sessionid Nov 18, 2016
I2NPProtocol.cpp add web socket ui Nov 1, 2016
I2NPProtocol.h fix off by ones Jul 15, 2016
I2PControl.cpp change country code to A1 Jan 6, 2017
I2PControl.h rollback to 2.6.0 Jan 6, 2017
I2PEndian.cpp Avoid aliasing problems by using special buf endian handling function… Dec 29, 2014
I2PEndian.h backport openbsd support Nov 20, 2015
I2PService.cpp fix outproxy Nov 20, 2016
I2PService.h * add websocks Jan 7, 2017
I2PTunnel.cpp honor enableuniquelocal for all server tunnel types Jan 13, 2017
I2PTunnel.h honor enableuniquelocal for all server tunnel types Jan 13, 2017
Identity.cpp EdDSA keys compatible with Java Jan 8, 2017
Identity.h revert Jan 7, 2017
LICENSE Update LICENSE Jan 23, 2015
LeaseSet.cpp don't overwrite whole lease Dec 14, 2016
LeaseSet.h fix typo Sep 3, 2016
LittleBigEndian.h fix LittleEndian, change endian.h version Feb 5, 2014
Log.cpp open log stream in log thread Dec 22, 2016
Log.h write to log through the separate thread Nov 17, 2016
Makefile AVX disabled for debuild by patch Dec 18, 2016
Makefile.bsd * drop boost_regex from build deps May 27, 2016
Makefile.homebrew * add global switch USE_UPNP to makefile Jun 27, 2016
Makefile.linux AVX disabled for debuild by patch Dec 18, 2016
Makefile.mingw AVX support for Windows Dec 14, 2016
Makefile.osx static and AVX support for OSX Dec 14, 2016
NTCPSession.cpp don't copy private keys Jan 8, 2017
NTCPSession.h rollback Jan 5, 2017
NetDb.cpp cleanup from some overhead Dec 14, 2016
NetDb.h don't store lookup replies anymore Dec 5, 2016
NetDbRequests.cpp add reseed from floodfill option Nov 14, 2016
NetDbRequests.h fixed race condition Aug 16, 2016
Profiling.cpp removed IdentHash from RoutingProfile Dec 31, 2016
Profiling.h removed IdentHash from RoutingProfile Dec 31, 2016
Queue.h use generic container Jan 16, 2017
README.md edit link to usage documentation Oct 16, 2016
Reseed.cpp SNI support Dec 21, 2016
Reseed.h Add possibility to reseed from HTTPS URL Nov 23, 2016
RouterContext.cpp don't store SSU-specific data for NTCP address Jan 2, 2017
RouterContext.h configurable netid Oct 12, 2016
RouterInfo.cpp don't store SSU-specific data for NTCP address Jan 2, 2017
RouterInfo.h don't store SSU-specific data for NTCP address Jan 2, 2017
SAM.cpp Merge remote-tracking branch 'purple/openssl' into websocks Jan 7, 2017
SAM.h rollback Dec 23, 2016
SOCKS.cpp fixed android build Nov 4, 2016
SOCKS.h undo pedantic whitespace Nov 20, 2016
SSU.cpp memory pool for SSU packets Jan 17, 2017
SSU.h memory pool for SSU packets Jan 17, 2017
SSUData.cpp don't use heap allocated buffers in ssu Jan 8, 2017
SSUData.h eliminate decay timer Aug 7, 2016
SSUSession.cpp don't use heap allocated buffers in ssu Jan 8, 2017
SSUSession.h fixed memory leak Dec 30, 2016
Signature.cpp EdDSA keys compatible with Java Jan 8, 2017
Signature.h EdDSA keys compatible with Java Jan 8, 2017
Streaming.cpp correct behaviour of IsAcceptorSet Jan 12, 2017
Streaming.h use memory poll for streaming Jan 11, 2017
Tag.h add reseed from floodfill option Nov 14, 2016
Timestamp.cpp 10 seconds max timeout for NTP Nov 1, 2016
Timestamp.h 10 seconds max timeout for NTP Nov 1, 2016
TransitTunnel.cpp Revert "Unused parameter warnings removal" Oct 10, 2016
TransitTunnel.h use shared_ptr for transit tunnels Mar 1, 2016
TransportSession.h eliminate some overhead Nov 1, 2016
Transports.cpp Merge remote-tracking branch 'purple/openssl' into websocks Jan 7, 2017
Transports.h #746. initialize io_service after daeminization Dec 22, 2016
Tunnel.cpp Merge remote-tracking branch 'purple/openssl' into websocks Jan 7, 2017
Tunnel.h last sample should have more relevance for latency Jan 1, 2017
TunnelBase.h cleanup unclaimed out-of-sequence fragments Nov 9, 2016
TunnelConfig.h use ElGamalEncrypt Dec 20, 2016
TunnelEndpoint.cpp clean up incomplete messages Dec 6, 2016
TunnelEndpoint.h clean up incomplete messages Dec 6, 2016
TunnelGateway.cpp Fix Tunnel Gateway Leak Dec 24, 2016
TunnelGateway.h random non-zero padding Jun 26, 2015
TunnelPool.cpp Merge remote-tracking branch 'purple/openssl' Nov 17, 2016
TunnelPool.h unbreak i2lua build Nov 15, 2016
UPnP.cpp fixed infinite loop bug Nov 18, 2016
UPnP.h wait for UPnP discovery during startup Jul 31, 2016
WebSocks.cpp * add websocks Jan 7, 2017
WebSocks.h * add websocks Jan 7, 2017
Websocket.cpp more Dec 7, 2016
Websocket.h merge Nov 1, 2016
api.cpp Respect for netId option in api.cpp #696 Jan 13, 2017
api.h use shared_ptr for log's stream Feb 4, 2016
appveyor.yml Added extra-cmake-modules Oct 4, 2016
entrypoint.sh Moving dockerfile to trigger autobuild of docker images. Jan 7, 2017
filelist.mk add initial WebSOCKS implementation Dec 9, 2016
i2pd.cpp Merge branch 'upstream-openssl' into restricted_routes Jun 19, 2016
stdafx.cpp Precompiled headers Jun 10, 2015
stdafx.h * drop boost_regex from build deps May 27, 2016
util.cpp fixed some memory leak Dec 22, 2016
util.h multithreaded memory pool Jan 16, 2017
version.h 2.11.0 Dec 18, 2016

README.md

i2pd

Русская версия

i2pd (I2P Daemon) is a full-featured C++ implementation of I2P client.

I2P (Invisible Internet Protocol) is a universal anonymous network layer. All communications over I2P are anonymous and end-to-end encrypted, participants don't reveal their real IP addresses.

I2P client is a software used for building and using anonymous I2P networks. Such networks are commonly used for anonymous peer-to-peer applications (filesharing, cryptocurrencies) and anonymous client-server applications (websites, instant messengers, chat-servers).

I2P allows people from all around the world to communicate and share information without restrictions.

Installing

The easiest way to install i2pd is by using precompiled binaries. See documentation for how to build i2pd from source on your OS.

Supported systems:

  • Linux x86/x64 - Build Status
  • Windows - Build status
  • Mac OS X
  • FreeBSD
  • Android
  • iOS

Using i2pd

See documentation and example config file.

Donations

BTC: 1K7Ds6KUeR8ya287UC4rYTjvC96vXyZbDY
DASH: Xw8YUrQpYzP9tZBmbjqxS3M97Q7v3vJKUF
LTC: LKQirrYrDeTuAPnpYq5y7LVKtywfkkHi59
ANC: AQJYweYYUqM1nVfLqfoSMpUMfzxvS4Xd7z
DOGE: DNXLQKziRPAsD9H3DFNjk4fLQrdaSX893Y

License

This project is licensed under the BSD 3-clause license, which can be found in the file LICENSE in the root of the project source code.