Skip to content

Commit 21f5970

Browse files
committed
i2pd 2.60 merge
2 parents abc1bc3 + e5517b8 commit 21f5970

10 files changed

Lines changed: 189 additions & 7 deletions

ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# for this file format description,
22
# see https://github.com/olivierlacan/keep-a-changelog
33

4+
## [2.60.0] - 2026-04-29
5+
### Changed
6+
- I2Pd v2.60.0 (see ChangeLog-i2pd)
7+
48
## [2.58.0] - 2025-09-09
59
### Changed
610
- I2Pd v2.58.0 (see ChangeLog-i2pd)

ChangeLog-i2pd

Lines changed: 79 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,84 @@
11
# for this file format description,
22
# see https://github.com/olivierlacan/keep-a-changelog
33

4+
## [2.60.0] - 2026-04-20
5+
### Added
6+
- "i2cp.closeIdleTime" and "i2cp.newDestOnResume" client tunnel and proxy params
7+
- Sequence reset flag for UDP tunnels
8+
- Post-quantum SSU2 crypto(ML-KEM-512, ML-KEM-768) support if openssl >= 3.5.0
9+
- Forward ipv4 and ipv6 connections to usptream SOCK5 proxy
10+
- "persist.netdbinterval" param to specify NetDb persist interval
11+
- Don't select peer for new tunnel if too many connections from that subnet
12+
- More I2PControl RouterInfo metrics
13+
### Changed
14+
- Generate ECIESx25519 session tags faster
15+
- Set NTCP2 default crypto type to ML-KEM-768 when applicable
16+
- Set default bandwidth=O for x86_64 and bandwidth=P for x86_64 with more than 4 cores
17+
- Replaced boost::asio::deadline_timer by boost::asio::steady_timer
18+
- Set hidden mode only if trust is enabled
19+
- Publish crypto keys from in high to low order in LeaseSet
20+
- Case-insensitive HTTP header matching per RFC 7230
21+
- Max padding size for NTCP2 SessionRequest and SessionCreated messages
22+
- Routers profiling algorithm
23+
- Don't publish mtu=1500
24+
- Limit streaming receive queue size
25+
- Recreate zero and one hop tunnels after being offline
26+
- Reseeds list
27+
### Fixed
28+
- Incorrect Poly1305 tag of chiper text block in next new session reply message for ML-KEM crypto type
29+
- Stuck UDP client tunnel after network glitch
30+
- Private signing key size for offline signatures
31+
- Forever hanging I2P stream if socket got closed right after connect
32+
- Inverted value of "i2cp.dontPublishLeaseSet"
33+
- Failed to bind to ipv6 ULA address
34+
- Reseed failure if malformed response
35+
- Multiple race conditions
36+
37+
## [2.59.0] - 2026-02-09
38+
### Added
39+
- Post-quantum NTCP2 crypto(ML-KEM-512, ML-KEM-768, ML-KEM-1024) support if openssl >= 3.5.0
40+
- UDP associate for SOCKS5 proxy
41+
- Trusted routers list for first hop per tunnel
42+
- "i2p.streaming.maxConnsPerMinute" and "i2p.streaming.maxResends" params
43+
- Limited connectivity mode
44+
- *.b32.i2p addresses for SAM datagrams
45+
- Limiting the number of datagrams sent to maintain the consistency of session encryption through UDP tunnels
46+
- Desktop app mode for Haiku
47+
- Ability to suppress X-I2P-* headers for HTTP server tunnel
48+
- Multi cloves garlic message for datagrams
49+
- Network error and testing metrics for I2PControl
50+
- Handle reseed address redirection
51+
- Throttle excessive number of tunnel build message from the same peer
52+
- Localization to Esperanto, Filipino and Finnish
53+
### Changed
54+
- Return base64 of ident instead full address for Datagram3 in SAM
55+
- Send ratchet session response for unidirectional traffic for I2CP
56+
- Set default number of generated tags to 800 for a datagram destination
57+
- Check ML-KEM encaps_key section length before decryption
58+
- Create new stream only if bandwidth is available. Close non-responding streams
59+
- Use Datagram3 by default in UDP tunnels
60+
- Floodfills are not introducers
61+
- Disable ipv6 if global ipv6 interface not found
62+
- Network congestion detection algorithm in streaming
63+
- Reply with relay tag only if accept tunnels
64+
- Case-insensitive Content-Length header in I2PControl
65+
- Increase PID string length
66+
- Don't communicate with routers of version < 0.9.58
67+
- Webconsole layout improvements
68+
- Localization to Hebrew
69+
- Reseeds list
70+
### Fixed
71+
- Incorrect params length calculation for SAM streams
72+
- Unexpected index in SymmetricKeyTagSet
73+
- Incorrect preferred crypto type if i2cp.leaseSetEncType is not specified
74+
- Decoding %00 in url
75+
- Thread-unsafe localtime()
76+
- NetDb crash on stop
77+
- Peer test result OK in case of another recent peer test
78+
- Published port if full-cone NAT
79+
- Missing trailing newline in I2PControl JSON response
80+
- Language selection in webconsole
81+
482
## [2.58.0] - 2025-09-08
583
### Added
684
- Post-quantum end-to-end crypto(ML-KEM-512, ML-KEM-768, ML-KEM-1024) support if openssl >= 3.5.0
@@ -13,7 +91,7 @@
1391
- Ability to specify bandwidth with "mb" and "gb" suffixes
1492
- "i2p.streaming.maxWindowSize" and "i2p.streaming.dontSign" params
1593
### Changed
16-
- Don't verify streaming SYN packet signature if comes from an ECIESx25519 session
94+
- Don't verify streaming SYN packet signature if comes from an ECIESx25519 session
1795
- Non-blocking mode for UDP sockets in UDP tunnels
1896
- Accept "HELLO VERSION" without "MIN" and "MAX" in SAM
1997
- Try to resolve host again in server tunnel if failed before

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ RUN mkdir -p /i2pd/data/addressbook \
3939
&& mkdir /i2pd/bin
4040

4141
RUN cd /tmp \
42-
&& git clone --depth 1 --branch 2.59.0 https://github.com/PurpleI2P/i2pd.git
42+
&& git clone --depth 1 --branch 2.60.0 https://github.com/PurpleI2P/i2pd.git
4343

4444
RUN cd /tmp/i2pd/build \
45-
&& cmake -DWITH_AESNI=ON -DWITH_UPNP=ON . \
45+
&& cmake -DCMAKE_BUILD_TYPE=Release -DWITH_UPNP=ON . \
4646
&& make -j $(nproc) \
4747
&& strip i2pd
4848

Dockerfile-tor

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ RUN mkdir -p /i2pd/data/addressbook \
3939
&& mkdir /i2pd/bin
4040

4141
RUN cd /tmp \
42-
&& git clone --depth 1 --branch 2.59.0 https://github.com/PurpleI2P/i2pd.git
42+
&& git clone --depth 1 --branch 2.60.0 https://github.com/PurpleI2P/i2pd.git
4343

4444
RUN cd /tmp/i2pd/build \
45-
&& cmake -DWITH_AESNI=ON -DWITH_UPNP=ON . \
45+
&& cmake -DCMAKE_BUILD_TYPE=Release -DWITH_UPNP=ON . \
4646
&& make -j $(nproc) \
4747
&& strip i2pd
4848

LICENSE-i2pd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2013-2025, The PurpleI2P Project
1+
Copyright (c) 2013-2026, The PurpleI2P Project
22

33
All rights reserved.
44

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# I2P - For Everyone
22

3+
[![Docker Build and Push](https://github.com/diva-exchange/i2p/actions/workflows/docker-build.yml/badge.svg)](https://github.com/diva-exchange/i2p/actions/workflows/docker-build.yml)
4+
35
Two flavours are available:
46
* Entry-level experience: I2P and Tor to enable everyone to get started using the i2p and onion network. It's tagged as "current-i2p-tor".
57
* For advanced users: I2P only version - very lean. It's tagged as "current".

bin/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ cd "${PROJECT_PATH}"
1111

1212
TAG=${TAG:-current}
1313

14-
sudo docker buildx build --force-rm --no-cache -t divax/i2p:"${TAG}" .
14+
sudo docker buildx build --no-cache -t divax/i2p:"${TAG}" .
1515
sudo docker volume create i2pd-build
1616
sudo docker run \
1717
-d \
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIF5jCCA86gAwIBAgIRAJS8WCPfx/2FIHXvCu2sMJEwDQYJKoZIhvcNAQELBQAw
3+
ejELMAkGA1UEBhMCWFgxCzAJBgNVBAcTAlhYMQswCQYDVQQJEwJYWDEeMBwGA1UE
4+
ChMVSTJQIEFub255bW91cyBOZXR3b3JrMQwwCgYDVQQLEwNJMlAxIzAhBgNVBAMM
5+
GmRpeWFyY2lmdGNpQHByb3Rvbm1haWwuY29tMB4XDTI1MTEwODExMDAxNVoXDTM1
6+
MTEwODExMDAxNVowejELMAkGA1UEBhMCWFgxCzAJBgNVBAcTAlhYMQswCQYDVQQJ
7+
EwJYWDEeMBwGA1UEChMVSTJQIEFub255bW91cyBOZXR3b3JrMQwwCgYDVQQLEwNJ
8+
MlAxIzAhBgNVBAMMGmRpeWFyY2lmdGNpQHByb3Rvbm1haWwuY29tMIICIjANBgkq
9+
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4b1wK851e3+iJ9Efrwa0W5YdaNZfrQg/
10+
EgMnADSDzmEbNDS/7jSSMNA3u7kuJutcVzJpRdmR4+TZOdDde3CmGSw55GnROREO
11+
jgaJqmFPpMv1yzA1oK2yfqPoclXBgOe1lIrGAAYM8UeumV5MtuG6Vh8VOjYoO+C7
12+
/nbkOk0kJ+kG5iXntPQeb/eXwRQwIR++t7Av6DgSjL4+KMWlUIp7WFQH7XNNfu7q
13+
9JOJ5YHX7CYBaCgNbwAglvyE3YSO73CJnVZUxdAfTxJe0Vn31r1FO+qMw6qa41kl
14+
WZqULWCMTBgeynex30AGMmzFEBVb/QMMzscqTF033WM48g+DvzvxAf8qaEWwrNrH
15+
ILCmxc8U8BHOyRzcthkCRopubQjEwd6hSHkkF67L5MNqd980u6JayAcUQxTl80vm
16+
HLT1SzURt86qtNN7WJ9NAT20WJcHkTKodovYToDMU4v2VD/xB98VTW4+04WhL0b2
17+
sobFglgW1TSpQP01OfUFMZYABo3I4qL8kGf0XQUW1xCu/1CB7GLmYzt3wGnwL6+5
18+
yv/0Z69hU/23Q4yz++87Osq54xnG9fCBIUmgBXcAq15aZucadrFX5YDct56jYhDR
19+
DnW0G7p2/qdJkUaf/tgB4t2fSq9cPTLaIqJzOpOazctT35y9NjUTNTIwyNhr3+wH
20+
EiuZFSqZnDkCAwEAAaNnMGUwDgYDVR0PAQH/BAQDAgKEMB0GA1UdJQQWMBQGCCsG
21+
AQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCMGA1UdDgQcBBpkaXlh
22+
cmNpZnRjaUBwcm90b25tYWlsLmNvbTANBgkqhkiG9w0BAQsFAAOCAgEAjcD4sOhq
23+
CHuA3+ZgAsRi3mTX0+LDfa8l+cTuODlL0IsecC4y7QUu9Feq4GZ5Y1DAYrLERnmO
24+
OkqrbN9uv4IA0mEFbcTTvIYPYvqCbSoshUgkcDpem5Zl4PIQBcMjxa6LcO+Yuff2
25+
6JaZJ44EsV3zq8CfqEY+wUTK54XxwBUaUqWR0E5j+jPkZflJbG2jZzAlrzEo3w18
26+
eJSfOHXw22PZmjp5pwmEvqPguWSxGyP/BOVa7SNUlxU/VpoOhN63D6hWKHAxCGhR
27+
hpEevBslcuN1/e8wxiATmdodrZUA2ie1Y38jmahgQKY8nB6IoGEsJAaLBiAA9KNS
28+
uWkMncDyIMYUQaRki5WXIsthXn+pVQI6xkTWVXdLQpEhfIsBgRkXf35SqS1adIip
29+
Mp9Yhjt0Fpfp/p9QjTYvrqgT0Mg0ch8SBSejXStJcFSt1sN6utLp1saQjKyWyIOi
30+
vfpd+YjFRtT4tkYD4lCynEgUEmu5H4m8W16I3oSfdGeNw4j/5wy0zBP8ctwTkTyT
31+
PUJCtBcJ13V4lmUMGFU17AaKKAL+Jyw+ibl2Blc/P3H4SQ7PlYAGrulMYYEwkk70
32+
Uz+NAXNBatCDR/0pwaAJ8WwpBFTdBYaWPDFZDsuphd/sYdI8gkzHJ1L+2dn06hhp
33+
jN8mFgn9cnJz2/ZgnFGEMHLFL7WctYzMhdg=
34+
-----END CERTIFICATE-----
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIFezCCA2OgAwIBAgIEclhAVzANBgkqhkiG9w0BAQ0FADBuMQswCQYDVQQGEwJY
3+
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5vbnlt
4+
b3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEXMBUGA1UEAwwOc2FoaWxAbWFpbC5p
5+
MnAwHhcNMjYwMTA2MDUzOTE4WhcNMzYwMTA0MDUzOTE4WjBuMQswCQYDVQQGEwJY
6+
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5vbnlt
7+
b3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEXMBUGA1UEAwwOc2FoaWxAbWFpbC5p
8+
MnAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC3EEi6mi5PkZdLhOYA
9+
iMxcPu+vgddKwP32c3EtgqI+owBVdb8/0TQm03mmCLhoUe3og0++0tZShPYF3cqS
10+
FtmPT2eIZYpB8dpBB+6PwzGt08ZhpyycBgu5g5qOGvALDXKxk9nZb8DPy3OUiChP
11+
r6sy1yqL0JRbfjbYbQ9laCg7K0mA0saDO3JO0eUIsYAMHV6jnNm1w+CLlP/6OCbj
12+
W7zJVdtPuAg8j0T2+X/jCgaRC/M5ugummuKZpD55zmBzOZ7plC1jVC6Y/OT4Bm+K
13+
dEZOdSmz5ohBCnofGUgS9DX29Nc90NWc6fTF6ZM6+/O0trAwQOlLxzybzl97T4aF
14+
yfLO39OmKSAI1ZH7cAUw/hxBmHTGUjT1W9zMjKXhX5KzlNVaw0mqQ1Q143CIEszW
15+
GwbKxuTG0WyFUDbo+4Twxwt9ZjXe6w5jY/QxrkCh/E4i/FHxVluiSpg235jOXfWa
16+
sENKzmRS5TIjq2rjeMSCeBScHmf/0yPCeeag0uJNRxGXhMG51uCpVtlNjDir25TO
17+
QWW+2T3fg4D5eQ9ZbwqTLP5OMjdGUTzHVCn0N8lMwIlVYldQ+NoAazeFnS1gBqc1
18+
pTHXNzXyifIfiJ0TVr6nsdgT9v/k9SYYzw3kGtQupZ4jVm4o7e2TTyj5uq80YY2Q
19+
YFn6S+ur1u1OBQEfUcb0x2I8cQIDAQABoyEwHzAdBgNVHQ4EFgQUdibeiANMZ76G
20+
HVxY6GZPhDWSvCswDQYJKoZIhvcNAQENBQADggIBAI3uBJ8CTMJy51zjhQuBL88L
21+
0IQqW9jQKW6UohiVHIC5exr52LP5hFaLXM3vSddISAPrBa/h7ftNQbWLjW28gsPb
22+
GOSeVkCfgsNs9FdXyv8oTljtpoF+TvsNlu19gnxKhJJ3PTULbi2P3Q8PP3OG8oMH
23+
uCaJgL4SkcQ/jQ5bpNBqBOXqH733Y5u381kq0icLthy9iZ9wdmVuoGspd5YnTM4C
24+
uMXlim0cObDrd7egJjIMzNTwKTRP8E/VZvW+iT1CZcfek/MDF2tndImzrTV+jVgt
25+
PPClphF76fPGdUmNCOKd4N+9kA5L7jAkdmUHrQFFE/e7zfWqId6yBiUiSA7/bxK7
26+
N2qMMOZ53vQkW7pCuDMYtw5vKk0oJYgZA2S0kAPNJ5Ha3nIsynjcbtL5kj193sVH
27+
ptmU09vzHSUpJylrjZQBdLirbqFLtYXVPhndn6ChQXqP/a2rAae7SPZXamVOMhyy
28+
s1ZZsT4aBkZVfw6pcqEjUJVqKPhphUEgtAmjdbAT4QkBT+Sy6Nnnr3jcsInJ5iSp
29+
rEd+7nr/BhFxMPI2BaR80+GdfqzMBod3qhRyD5gcPANAj0HsTB4erAwL9br5NOkR
30+
zIuBJhYxJLGNWJXhXAWvNIMKYHTaqJ/9HLpFis7tsnMab3F6Mm0vd13vQ+w11iRP
31+
DsltQfUYMT3CbQAD7ugw
32+
-----END CERTIFICATE-----
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIFhzCCA2+gAwIBAgIER77n5zANBgkqhkiG9w0BAQ0FADB0MQswCQYDVQQGEwJY
3+
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5vbnlt
4+
b3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEdMBsGA1UEAwwUdnNlcm9kMTQ4OEBw
5+
cm90b24ubWUwHhcNMjYwNDExMTkyNzUxWhcNMzYwNDA4MTkyNzUxWjB0MQswCQYD
6+
VQQGEwJYWDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAg
7+
QW5vbnltb3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEdMBsGA1UEAwwUdnNlcm9k
8+
MTQ4OEBwcm90b24ubWUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCc
9+
eM+cskDgSaAYMEJXUsrqsSdjQvVeMoQRPeTa8/N/vL7F4ReOmLOEHDAWwVuBjp4o
10+
8lrJPHCYko3rQNArZjBuWUJE87rvhIFgrkw1CRBBByxGNz+5fk8Gh1zTG8zeEwYK
11+
wvQD+zCy1D1MkFv5vXErRLntWRSCwbU6+gyjd9AOYf9aKe5o3HXfAHc71TvHy6hq
12+
+iS9fmrFAg7lfeJ3PdJx7AxfNU1t6VdKT5kbH1lJcRVB8igE4zgau1fSOKEs0mns
13+
5M8wrtt+P3BoYRIjG6hq9QHP0ytobuB9FIqpMQ0ozCBXl4RrtqYB7IQclmZoHRtN
14+
FDbS7wGilg1iKhvdOuu4vrzaV7Q7ncCJzrAsKXV1GyHfiHVh+bnGV9MOJSHPTjn4
15+
23RkaBlnOqasRnMOzKp2G4hmrB37393T2BZGibRcEPW54zc6kk7O2ioRWHOuVs+q
16+
EUglSrd8IA3wcjSn85mhLBS+7RIktboClS6KJ4Bw0SD291f7QQT9K3G7xWF+tS2B
17+
0W86JqCrjjnw8aLFryl3WE3wzDQ5MXy1BZwhK6AtjhPpH2yvXWCtbsO82VI9ORvz
18+
bou3E3hhk66ofWKstuddjFw1c33gTAP8vM52T0EzESQbDkTQ2swlla1VL4tlUBz7
19+
qCAZT2Gl/fRI6UkLi9iEWy7C7PfyKvXd4gtsL4XxMwIDAQABoyEwHzAdBgNVHQ4E
20+
FgQUi2eAC1kuD4gXlX76RqtcnZuwpfIwDQYJKoZIhvcNAQENBQADggIBAChCirkh
21+
uCtTcNSpcUYBKbxQfcCPp03nm0UPXZVUdFS9HQWqWPmrUh9obw2szpo0EgKYl8Y0
22+
1K25BT7m2zV1UkcjTmdaaZxi7/zwXMwQFQQrbsJR4eEHlcsejtsKtpOCKGTVLQUH
23+
LzfLet6Anq1+cj3dVulkB3dGpWJTndVOPz9/W3wbkwh3RrUvj2mwt9nvrXT5MWKQ
24+
iMUs09SgAjWqFlmEfjswQ0wrcnJ+QVQApazBqDl9/7CXJlHAp6CzftSBRFpIc48k
25+
dt/FtJIo+aIGqVC7MB25PuHGBRteYoibOQavbkV1v9uEqgUmGT0k/mxQKa3iwu2u
26+
WHZxeUyOgyYG5rNowEBZ4DEbPV1t386YVcEH1wtzNifP5HyrcDhHu3i7/7Jw5Cdn
27+
v4N6rxT9kL4BcHQI0o+xIlEUzZc4xL9Ht8XLl01c9vmHqYkT0Dmjej4pAkmQu4ei
28+
BEBuUcfyueKwaJoeX53jNhRYnS+RPkBPB8KYA0driWxsOX9/rEp7EYd9pfdNEU3B
29+
w3p2eQZjC7FF5n2Otyx7c1Bixhp8EM+MyStBvea/XdV7jdt534Eqmj1wjtQ7eold
30+
hEehJVJYwMO7Okcfq5In7/Ujo4iIEVsAq9WvavmpRqQEY6fQDMZQV3hCEAXIxlCw
31+
ABr0UKJP6/qdbSODug/0rEXp7siDjaHvxM1+
32+
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)