fa 8245b5148d feat(docker): rework entrypoint bootstrap and runtime config updates
- replace legacy startup script with an entrypoint-based bootstrap flow
- add shared helper functions for logging, config updates, jetty xml updates, and bind IP derivation
- support I2P_UID and I2P_GID remapping with numeric validation and collision checks
- default EXT_PORT to 12345 when unset and emit clearer firewalled/privacy warnings
- apply runtime values to install-time and persistent router, client, tunnel, snark, and eepsite configs
- stream wrapper and router logs to container stdout for better observability
- forward termination signals from pid 1 to the router process and normalize graceful shutdown exit codes
- move docker config templates into the entrypoint template directory and refresh defaults
- update Dockerfile env layout, volumes, exposed ports, and entrypoint path
- align Docker documentation with the new runtime behavior, binding model, and uid/gid mapping guidance
2026-07-16 02:31:37 +00:00
2025-09-03 11:17:36 -04:00
2026-07-03 13:32:28 -04:00
2022-07-17 01:45:55 -07:00
2024-01-28 12:09:10 +00:00
2025-11-24 09:49:23 -05:00
2024-01-28 12:09:10 +00:00
2026-07-10 12:43:35 -04:00
2016-09-10 16:26:29 +00:00
2018-12-11 11:22:43 +00:00
2024-02-19 15:26:13 -05:00
2026-03-06 10:57:51 -05:00
2026-03-19 19:27:22 -04:00
2024-01-28 12:09:10 +00:00
2024-01-28 12:09:10 +00:00
2026-07-10 12:43:35 -04:00
2026-01-14 12:08:01 -05:00
2026-05-02 16:51:36 -03:00
2026-05-02 16:51:36 -03:00

I2P

This is the source code for the reference Java implementation of I2P.

Latest release: https://i2p.net/en/downloads/

Installing

See INSTALL.txt or the installation instructions for your system:

Documentation

https://i2p.net/en/docs/

FAQ: https://i2p.net/en/docs/overview/faq/

API: Run 'ant javadoc' then start at build/javadoc/index.html

How to contribute / Hack on I2P

Please check out HACKING.md and other documents in the docs directory.

Building packages from source

To get development branch from source control: https://i2p.net/docs/development/new-developers/

Prerequisites

  • Java SDK (preferably Oracle or OpenJDK) 17 or higher
    • Non-linux operating systems and JVMs: See https://trac.i2p2.de/wiki/java
    • Certain subsystems for embedded (core, router, mstreaming, streaming, i2ptunnel) require only Java 6
  • Apache Ant 1.9.8 or higher
  • The xgettext, msgfmt, and msgmerge tools installed from the GNU gettext package http://www.gnu.org/software/gettext/
  • Build environment must use a UTF-8 locale.

Ant build process

On x86 systems do:

ant pkg

On non-x86, use one of the following instead:

ant installer-linux
ant installer-freebsd
ant installer-osx

Run 'ant' with no arguments to see other build options.

Gradle build process

Full builds of installers or updates are not yet possible, but the code can be compiled with:

./gradlew assemble

This will download dependencies over the clearnet by default, including Gradle itself. To download through a SOCKS proxy (e.g. Tor), add the following lines to your ~/.gradle/gradle.properties:

systemProp.socksProxyHost=localhost
systemProp.socksProxyPort=9150

Development builds

Automatic CI builds are available at the continuous integration page.

Docker

For more information how to run I2P in Docker, see Docker.md

Contact info

Need help? See the IRC channel #i2p on irc.freenode.net

Bug reports: https://i2pgit.org/I2P_Developers/i2p.i2p/issues http://git.idk.i2p/I2P_Developers/i2p.i2p/issues

Contact information, security issues, press inquiries: https://i2p.net/en/contact

Twitter: @i2p, @geti2p

Licenses

See LICENSE.txt

S
Description
No description provided
Readme
554 MiB
Languages
Java 86.2%
HTML 5.2%
CSS 4.6%
Shell 1.2%
JavaScript 1.1%
Other 1.5%