Short directory explaination

May 3, 2018 ยท View on GitHub

This list should give any new developer a kickstart in where to find code that they wish to modify.

Also nice for old developers with weak memory :)

DirectoryDescription
appsThis directory contains applications and clients that ships with i2p.
apps/addressbookSome headless code for addressbook management.
apps/apparmorRuleset for AppArmor.
apps/BOBCode for the BOB service.
apps/desktopguiThe new system tray application
apps/i2psnarkCode for i2psnark, the torrent client component in webconsole.
apps/i2ptunnelCode for the Hidden Service Manager, and its GUI in webconsole.
apps/imagegenThe image generator webapp
apps/jettyJetty webserver code.
apps/jrobinGraph package for the console
apps/ministreamingThe streaming (TCP-like socket) interface.
apps/routerconsoleThe router console code.
apps/routerconsole/java/src/net/i2p/router/newsThe news feed subsystem
apps/routerconsole/java/src/net/i2p/router/updateThe automatic update subsystem
apps/routerconsole/java/src/net/i2p/router/webJava code for the console, including plugin support
apps/routerconsole/jspJsps for the console
apps/samSAM service.
apps/streamingThe streaming (TCP-like socket) implementation.
apps/susidnsCode for the addressbook component in the webconsole.
apps/susimailCode for the mail client component in the webconsole.
apps/systrayThe old system tray application, now removed, and some related utilities
installerThis directory contains the code for the installer.
installer/lib/izpackInstaller libraries
installer/lib/jbigijbigi and jcpuid DLLs
installer/lib/launch4jWindows jar-to-exe binary
installer/lib/wrapperWrapper binaries and libraries
installer/resourcesUsed for static files that are packed with i2p.
core/javaCommon core code used both by the rotuer and apps.
core/java/src/net/i2p/appCode for app interface.
core/java/src/net/i2p/clientLow-level client I2CP interface (I2PClient, I2PSession etc.).
core/java/src/net/i2p/client/implClient-side I2CP implementation
core/java/src/net/i2p/client/namingAddressbook interfaces and base implementation
core/java/src/net/i2p/cryptoThis directory contain most of the crypto code.
core/java/src/net/i2p/dataCommon data structures and data-related utilities
core/java/src/net/i2p/internalInternal socketless I2CP connections
core/java/src/net/i2p/kademliaBase Kademlia implementation used by the router and i2psnark
core/java/src/net/i2p/socksSOCKS client implementation.
core/java/src/net/i2p/statStatistics subsystem.
core/java/src/net/i2p/timeInternal time representation
core/java/src/net/i2p/updateParts of the update code.
core/java/src/net/i2p/utilUtillity code like Log, FileUtil, EepGet, HexDump, and so on.
router/javaThis directory contains the I2P router code.
router/java/src/net/i2p/data/i2npI2NP code, the inner protocol for I2P.
router/java/src/net/i2p/data/routerRouter data structures such as RouterInfo
router/java/src/net/i2p/router/clientRouter-side I2CP implementation
router/java/src/net/i2p/router/cryptoRouter crypto not needed in the core library
router/java/src/net/i2p/router/dummyDummy implementation of some subsystems for testing
router/java/src/net/i2p/router/messageGarlic message creation and parsing
router/java/src/net/i2p/router/networkdb/kademliaThe DHT (kademlia) code.
router/java/src/net/i2p/router/networkdb/reseedThe reseed code.
router/java/src/net/i2p/router/peermanagerPeer profile tracking and storage
router/java/src/net/i2p/router/startupCode related to the startup sequence.
router/java/src/net/i2p/router/transportTransport implementation code (NTCP, SSU).
router/java/src/net/i2p/router/transport/cryptoTransport crypto (DH)
router/java/src/net/i2p/router/tasksSmall router helpers, run periodically
router/java/src/net/i2p/router/tunnelTunnel implementation code.
router/java/src/net/i2p/router/utilRouter utilities