i2pplus

Hacking on the I2P+ Source

Build systems

Release/Core Packages build system: Ant

The I2P Java packages are built using the Apache ant build system. To build a complete I2P installer for all platforms, run:

ant pkg

This produces jar and exe files. Developers who already have I2P installed may prefer to build updater packages instead of the full installer to speed up builds and avoid re-running the installer. To build the updater zip files:

ant updater

Or with Gradle:

./gradlew updater

Then copy the updater to the I2P configuration directory and restart I2P. On Linux, this is $HOME/.i2p if installed with the install.jar file; on Windows it is %LOCALAPPDATA%\I2P\. Debian packages intentionally disable this type of update so that the application can be updated from the repositories securely. Debian users who want to try a dev build can stop the system service:

sudo systemctl stop i2p

or

sudo service i2p stop

then use install.jar to set up a user-installed I2P package, and start it with:

~/i2p/i2prouter start

This user-installed version can also update itself via a zip file. When finished:

~/i2p/i2prouter stop

then restart the system service:

sudo systemctl start i2p

or

sudo service i2p start

Browsing the source code

Version control

I2P+ uses Git. The canonical repositories are:

Git clone

Clone from the public repository:

git clone https://github.com/I2PPlus/i2pplus.git

Over I2P (requires a configured git proxy):

git clone http://git.skank.i2p/i2pplus/I2P.Plus.git

A shallow clone can speed up the initial download:

git clone --depth 1 https://github.com/I2PPlus/i2pplus.git

Then populate the full history if needed:

git fetch --unshallow

Git documentation

For developers new to git, the official documentation provides a comprehensive knowledge base: https://git-scm.com/docs . See also the Guides section.