## PurpleI2P/i2pd — 2.57.0…2.58.0

_113 commits._

### Features
- **Add github downloads count badge to README.md** (d3ab6f6)
- **feat: bandwidth with bytes/kbytes/gbytes seconds and fix for style.css** (aeb6ddd)
- **feat: update README.md about custom CSS themes** (cf7134a)
- **feat: custom CSS themes** (95ae533)
- **feat: http theme for webconsole** (d148dd0)
- **support boost 1.89** (27f2c52)
- **handle SESSION ADD without FROM_PORT** (d496b15)
- **don't add signature to ping message if i2p.streaming.dontSign** (20ba95e)
- **Add more errors diagnostics to understand malformed configs** (86366a6)
- **[gha] add debian trixie build** (090e972)

### Fixes
- **fix typos** (b000017)
- **Merge pull request #2225 from nonlin-lin-chaos-order-etc-etal/patch-1** (2a48d58)
- **fix logic** (14ce620)
- **fix: fix hacker.css** (578844e)
- **Update HTTPServer.cpp. fix** (c7ad247)
- **Merge pull request #2213 from nonlin-lin-chaos-order-etc-etal/patch-1** (a84fefd)
- **[rpm] fix build on centos 10, drop 7th support** (9c0051e)
- **Merge pull request #2195 from dbermond/fix-test-base-64** (db67126)
- **tests: fix test-base-64** (37fd4b4)

### Backend
- **2.58.0** (e8d59c8)
- **removed cubicchaos.net and i2p.ghativega.in for reseeds list** (decf5a0)
- **implement PING command** (3522a31)
- **fixed #2231. Close outgoing stream if LeaseSet not found** (1d7c7ac)
- **don't show Network status: Unknown for ipv6 only** (f46db7b)
- **don't include remote ident hash to SYN packet if no signature** (6dd2c6a)
- **don't create unique loopback address for ::1 if not set explicitly** (938a698)
- **create unique loopback address for ipv6** (310ee78)
- **lookup LeaseSet before sending ping** (a2073a8)
- **enable PQ encryption type by default for HTTP and SOCKS proxy if supported** (5dadecb)
- **don't show endpoint for terminated or closed SAM streams** (32bf922)
- **enable PQ encryption type by default if supported** (ad390f7)
- **pass string_view instead const char *. EdDSA signature be default** (51b58c9)
- **Merge pull request #2226 from rex4539/typos** (2716869)
- **set default number of descriptors to 4096 for Haiku** (dcafb62)
- **BOB ping command** (39069e0)
- **Merge pull request #2224 from wipedlifepotato/BandwithParameter** (1c42ba8)
- **Merge branch 'openssl' into BandwithParameter** (b3d566c)
- **Merge pull request #2222 from wipedlifepotato/httpTheme** (d33a2ec)
- **verify session for close packet onlly if ECIESx25519** (be05fa0)
- **Merge pull request #2221 from wipedlifepotato/httpTheme** (2a4a162)
- **del: del additional information to README.md** (1a958df)
- **Merge pull request #2220 from wipedlifepotato/httpTheme** (1ffcb3d)
- **decline master session if SAM version is less than 3.3** (83f9e10)
- **extract and check VERSION** (7dd174d)
- **correct max UDP buffer size for openbsd** (9102716)
- **send Datagram2** (2fb8ca9)
- **offline signature for close packet** (9276042)
- **don't verify signature for close and reset packets if came from ECIESx25519 session** (aca5f35)
- **i2p.streaming.dontSign tunnel param** (f5b5728)
- **read bool param** (f0c4203)
- **Handle links with UTF8 SAM session name** (2899658)
- **fixed #2215. Check streaming destination during cleanup** (aeca4c3)
- **increased number of floodfills threshold** (643a94a)
- **Exclude 'R' cap if proxy** (f38612b)
- **used enum class for SAMSocketType and SAMSessionType** (b6f5308)
- **i2p.streaming.maxWindowSize param** (6b92324)
- **Remove Android CI badge @ README.md as github free tier fails to build (OutOfMemory)** (6c41cf1)
- **Client compatibility check more often** (d811ac4)
- **non-blocking UDP sockets** (44b4fcc)
- **try to resolve host again in server tunnel if failed before** (977967f)
- **handle offline signature for Datagram2** (f1ca24f)
- **handle session with STYLE=DATAGRAM2 and STYLE=DATAGRAM3** (d576908)
- **request ack more often** (6b9278f)
- **datagramversion param for UDP client tunnel** (c554f47)
- **handle Datagram2** (e47cc84)
- **calculate message size properly** (49569d3)
- **limit simultinously sent streaming packets** (2fafca1)
- **store shared routing path and with Java separately** (27b005a)
- **limit number of outbound packets if the peer can't handle it** (253a892)
- **use std::string_view for I2P HTTP headers. constexpr for ecxluded headers list** (8c204a4)
- **recongnize explicit boolen values of i2p.streaming.answerPings** (bfc9540)
- **Merge pull request #2212 from nonlin-lin-chaos-order-etc-etal/feat_more_errors_diags** (24b6d85)
- **handle multiple ECIESx25519 encryption keys** (3a18e7a)
- **drop is choked** (edc27d5)
- **Merge pull request #2211 from Houkime/openssl-deprecations** (2c2452c)
- **Update deprecated openssl functions and remove warning suppression** (00c23cb)
- **[gha] remove debian buster build** (18b03c6)
- **pass std::string_view to HKDF** (2e167fe)
- **don't create PQ signature if not supported** (ccb4666)
- **pass actual string size to Process* methods** (99e4bda)
- **pass buffer as std::string_stream** (181edce)
- **extract params from std::string_view** (1862f28)
- **fixed build for older gcc** (88375bf)
- **use std::string_view to extract params** (59d1695)
- **don't verify signature of Datagram1 if comes from ECIESx25519 session** (1a6051e)
- **send Datagram3** (a5631bd)
- **send actual version in SetDate** (f230c11)
- **send actual version in SetDate** (0445a5d)
- **set ECIESx25519 session's destination from LeaseSet** (31b6f07)
- **handle Datagram3** (8c89c83)
- **recognize and verify datagram3** (40b90cc)
- **skip transient signature verification if verified through ECIESx25519 session** (75dd0d7)
- **don't check destination if first packet comes from ECIESx25519 session** (9efdc23)
- **increased number of floodfills threshold** (6b519c3)
- **don't verify signature for SYN-ACK if comes from ECIESx25519 session** (a6bf6ba)
- **don't verify signature in incoming SYN packet if came from ECIESx25519 session. Compare static key instead** (78357c2)
- **use EVP_Digest_ insted deprecated SHA512_ functions** (5f0262e)
- **set default transit tunnels limit to 10000** (6158877)
- **use EVP_RSA_gen if openssl 3** (588108d)
- **use EVP_DigestSign/EVP_DigestVerify for family signatures** (06c9a25)
- **check more precise result of EVP_DigestVerify** (bb2b34f)
- **use EVP_DigestVerify/EVP_DigestSign for ECDSA and DSA signatures if openssl 3** (5974d2b)
- **stop suporting openssl below 1.1.1** (5bef987)
- **use EVP functions to extract RSA keys  if openssl 3** (d2296f8)
- **use EVP interface for ECDSA signatures if openssl 3** (660dbd2)
- **implemented ssu2.firewalled4 and ssu2.firewalled6 params** (4828d93)
- **fixed warnings** (46154da)
- **check for compatibility of LeaseSet encryption keys with local destination's encryption type** (ba0352e)
- **drop crypto types higher than ours** (9c393f5)
- **drop crypto types higher than ours** (6363c92)
- **don't schedule resend timer while choked** (cbb5250)
- **fixed incorrect limit in strsplit** (6ad6a25)
- **enable post quantum back** (2631255)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/PurpleI2P/i2pd?utm_source=github-action)._