17833 Commits

Author SHA1 Message Date
zzz
ba091fefad Merge pull request 'Console: /logs page improvements' (#499) from zzz/i2p.i2p:console-logs into master
Some checks failed
Daily Workflow / daily-job (push) Has been cancelled
Daily Workflow / javadoc-latest (push) Has been cancelled
Daily Workflow / build-java7 (push) Has been cancelled
Java CI / build (push) Has been cancelled
Java CI / javadoc-latest (push) Has been cancelled
Java CI / build-java7 (push) Has been cancelled
Dockerhub / docker (push) Has been cancelled
Java with IzPack Snapshot Setup / setup (push) Has been cancelled
Reviewed-on: I2P_Developers/i2p.i2p#499
2025-04-29 07:01:57 -04:00
zzz
59c17869ed i2psnark: Remove ElGamal peer support 2025-04-27 13:00:25 -04:00
zzz
508fe2ce52 i2ptunnel: Canonicalize Host header at the server proxy
to prevent duplicate headers being sent to the server
resulting in 400 errors
as reported by altonen
2025-04-26 08:54:16 -04:00
zzz
c60e748a24 Util: Add ability to force using IPv6 for SSLEepGet 2025-04-25 07:05:47 -04:00
zzz
5a4752e4df dev -5 2025-04-24 18:34:55 -04:00
zzz
75a4752fe0 NetDB: Add new reseed
Add CLI flag to force IPv6 for testing
2025-04-24 15:33:18 -04:00
zzz
3681c43519 SusiDNS: Expand add section if destination is set, not hostname
because links from the LS page don't have hostname set
2025-04-24 13:48:27 -04:00
zzz
950f04bd38 Console: Don't show -1 remote leasesets before we have ours 2025-04-24 13:45:39 -04:00
zzz
6fa725b755 blockfile: Catch unchecked exceptions thrown from value deserializers
Previously, we detected null results but did not catch exceptions
thrown by the value deserializers, caused by database corruption,
deserialization bugs, or input validation or serialization errors.
This prevented the database repair code from running, rendering
the remainder of the skip span inaccessible, and no entries displayed
in susidns.

With this change, corrupted entries that throw unchecked exceptions
are removed from the skip span.
2025-04-24 13:15:04 -04:00
zzz
10c249ff6e i2ptunnel: Force CSS load before render on proxy error pages
to prevent "FOUC" https://dev.to/fbnlsr/how-to-get-rid-of-the-flash-of-unstyled-content-5e7
as recommended by drzed.

Not supported by firefox: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/link
May followup with a different or more elaborate solution later, perhaps borrowed from plus.
2025-04-24 13:06:16 -04:00
b360b22143 CI: delete sync CI job for now 2025-04-24 10:38:39 -04:00
zzz
75f428ba73 i2psnark standalone: Fix refid and dtd in jetty-i2psnark.xml
as reported by drzed
2025-04-23 12:38:11 -04:00
zzz
77aef61885 Build: Change Ref id to refid in Jetty config files
to make validators that insist on unique id values happy.
Change DTD to the 9.3 DTD.

For new installs only; migration code for existing installs to follow.
2025-04-20 17:32:17 -04:00
zzz
5ddab62ffc Build: Make snark standalone buildable on windows without zip 2025-04-20 17:28:04 -04:00
zzz
f6e951e297 Build: Patch msgfmt-generated ResourceBundle code to eliminate unchecked warnings
Ancient msgfmt doesn't know about generics.
This change allows devs to set javac.compilerargs=-Xlint:unchecked
in override.properties without getting an
overwhelming number of false positives from the bundles.

If msgfmt ever adds a --java5 option, we can remove this,
but it's been almost 20 years.
For the same reason, while the sed script is fragile,
seems unlikely msgfmt will change the output without a new option.
If they do, we'll fix it then.
2025-04-20 17:21:35 -04:00
zzz
6b9fc436c3 SusiDNS: Strip full path from search 2025-04-20 15:34:57 -04:00
zzz
d60d9366bb SusiDNS: Add b32 and dest reverse lookups
strip any URL parts from search string
2025-04-20 15:23:28 -04:00
zzz
e7774feb12 i2psnark: Remove outstanding requests from pieces when connection is replaced
Hopefully fixes rare case where torrents get stuck.
Tested that it doesn't break anything, but was never able to reproduce the issue.

As reported in torrent at http://tracker2.postman.i2p/index.php?view=TorrentDetail&id=85798
Fix adapted and greatly simplified from source code included in that torrent.
Apparently from old trac ticket #691.
Credit: smtorrents

Also:
- Fix place where removePeerFromPieces() was being called twice,
  once directly and once from disconnect(true).
- Fix javadoc for Peer.disconnect()
- Fix log typo
- Add comments

Description from OP of that torrent:

This update now finally fixes the decades old ticket number 691 which prevents torrents to complete from time to time. The bug manifests itself by keeping a couple of outstanding pieces (> 8, so we never get into the endgame) that are marked as requested from a peerID, with a corresponding peer that has long gone. Those pieces are never requested from any other peer. There are consequently more peerIDs than peers connected.

The only place in code, where peers and peer IDs are mixed up, is a reconnect logic that tries to reuse an existing connection while keeping outstanding requests from the old connection, when the other end tries to reconnect.

Keeping old requests is faulty by itself because someone reconnecting to us will definitely have dropped our previous requests, so we must do the same. The fix now always drops previous connections along with all outstanding requests.
2025-04-20 12:06:28 -04:00
zzz
5cfa74d785 i2psnark, i2ptunnel: Use Long.compare() in sorters
available in Java 7 / Android API 19 (our minSDK is currently 20)
2025-04-20 09:29:06 -04:00
zzz
51dbd493fe i2psnark: Add 2nd tie break for peer count when sorting by status 2025-04-20 09:18:39 -04:00
zzz
9daa5763ba i2psnark: Show lifetime download rate since added on details page 2025-04-20 08:56:50 -04:00
zzz
9a29b456e0 i2psnark: Show current tunnel config in dropdowns even if outside normal range
if user changed i2psnark.config manually
as reported at http://ramble.i2p/f/I2P/5704
2025-04-20 08:51:43 -04:00
zzz
d4e89d1e20 color the filter buttons 2025-04-18 08:25:38 -04:00
zzz
226a1545d1 dev -4 2025-04-16 06:26:24 -04:00
zzz
f3215c732e Merge branch 'prop168' into 'master'
Tunnels: Implement proposal 168 - Part 1

See merge request i2p-hackers/i2p.i2p!235
2025-04-16 10:24:19 +00:00
zzz
6e15421638 Tunnels: Implement proposal 168 - Part 1 2025-04-16 10:24:18 +00:00
zzz
e4e50cc771 Map: Draw larger circles before smaller ones,
so the tooltips for the smaller ones are visible
2025-04-14 10:42:26 -04:00
zzz
2ea20b9e1f Map: Manually adjust some overlay Mercator coordinates
- Fixes some countries where the Google lat/log data weren't well-centered
- Adjusts some others to reduce overlap
2025-04-13 10:05:51 -04:00
zzz
7ab17d0767 Map: Remove tiny countries in base map
that are single-point or two-point shapes,
since we can't see them anyway.
Will still be shown in the overlay.
Exception: If next country starts with a relative move (m),
leave it in.
2025-04-12 11:40:14 -04:00
zzz
6e1c5a4598 Console: Add map test mode
to enable adjustment of mercator coordinates
2025-04-12 07:31:07 -04:00
zzz
66c3cc51cd Merge branch 'changelog' into 'master'
Console: Display changelog in html

See merge request i2p-hackers/i2p.i2p!242
2025-04-12 09:47:32 +00:00
zzz
ad9e3a9397 Console: Display changelog in html 2025-04-12 09:47:32 +00:00
zzz
7e35aee6fe Console: /logs page improvements
- Add filter for console log types
- Show recent event logs on /logs page
- Don't translate log types inside loop
2025-04-11 12:22:22 -04:00
zzz
eda7c8465f Console: Remove ActiveX XHR from js
as recommended by i2pplus
2025-04-11 09:01:25 -04:00
zzz
ad10c1ef36 Merge branch 'httpserver-threads' into 'master'
i2ptunnel: Reduce HTTP server thread usage

See merge request i2p-hackers/i2p.i2p!241
2025-04-10 19:36:55 +00:00
zzz
9f169d794b i2ptunnel: Reduce HTTP server thread usage 2025-04-10 19:36:55 +00:00
zzz
b3ac93d7cc Console: Use Basic auth for prometheus plugin
prometheus server doesn't support Digest auth
2025-04-09 17:26:23 -04:00
zzz
db8fc47703 Merge branch 'ff-restart' into 'master'
NetDB: Maintain ff after restart when configured for auto

See merge request i2p-hackers/i2p.i2p!240
2025-04-09 21:22:45 +00:00
zzz
009630e2dd NetDB: Maintain ff after restart when configured for auto 2025-04-09 21:22:45 +00:00
zzz
6a12347805 Console: Use Basic auth for prometheus plugin
prometheus server doesn't support Digest auth
2025-04-09 11:16:02 -04:00
zzz
27b8a9db4b NetDB: Don't store unreachable routers to disk 2025-04-08 12:17:43 -04:00
zzz
7ae01862ad bump -2 2025-04-08 09:08:12 -04:00
zzz
40a5cac67f Merge branch 'netdb-map' into 'master'
Console: Add world map with locations of routers and tunnels

See merge request i2p-hackers/i2p.i2p!234
2025-04-08 12:56:05 +00:00
zzz
fd4fc237af Console: Add world map with locations of routers and tunnels 2025-04-08 12:56:04 +00:00
zzz
8a7c9b9d11 Merge branch 'wrapper-3560' into 'master'
Build: Update wrapper to 3.5.60

See merge request i2p-hackers/i2p.i2p!237
2025-04-08 12:46:40 +00:00
zzz
5b40c01394 Don't increment nonces within a CipherState unless the encryption/decryption operation succeeds
Adapted from https://github.com/rweather/noise-java/pull/18

Section 5.1 of the The Noise Protocol Framework, revision 34 states in the description for DecryptWithAd that:

If an authentication failure occurs in DECRYPT() then n is not incremented and an error is signaled to the caller.

But noise-java currently increments the nonce unconditionally.
This change defers incrementing the nonce until encryption/decryption operations actually succeed.
2025-04-06 10:47:47 -04:00
zzz
a4fe0da2b4 bump -1 2025-04-04 08:14:09 -04:00
zzz
b8dca2f64b Merge branch 'devrandom' into 'master'
PRNG: Switch to /dev/random by default

See merge request i2p-hackers/i2p.i2p!238
2025-04-04 12:00:55 +00:00
zzz
8ac8ad4238 PRNG: Switch to /dev/random by default 2025-04-04 12:00:55 +00:00
zzz
8248075e59 Merge branch 'subdb-tab' into 'master'
Console: Remove redundant LS rendering code

See merge request i2p-hackers/i2p.i2p!236
2025-03-31 21:34:46 +00:00