Commit Graph
8084 Commits
Author SHA1 Message Date
zzz 8fbfb70fbd i2pcontrol: Log and delay on auth failure
Reported by: Tim C
2026-09-16 06:54:43 -04:00
zzz 1717ec6656 i2psnark: Limit max reported peers
to protect against tracker bugs
2026-09-16 06:23:53 -04:00
zzz f3a062ed58 i2psnark: Extend keepalive interval
from 30 to 60s, only send on inactivity
2026-09-15 12:28:37 -04:00
zzz 31e5c12cfd Transport: Partial impl for force-ipv6 for docker bridge (WIP)
tested only to not break ipv6;
untested on real docker bridge;
more to follow
2026-09-15 09:25:36 -04:00
zzz e2026a25d5 i2psnark: Add all trackers to magnet links 2026-09-13 13:42:37 -04:00
zzz 6ce31b3424 i2psnark: Set next announce based on last response time
not request time, so failures get retried faster
2026-09-13 11:57:11 -04:00
zzz 402641a20e i2psnark: Change backup tracker to UDP
and add to tracker list
2026-09-13 11:27:43 -04:00
zzz cff95a34cc susidns: CSS tweak
user-select: all for dest on details page
2026-09-10 09:25:43 -04:00
zzz 3f17761c86 i2psnark: Restore 2-arg getNameAndInfoHash()
used by i2psnark-rpc plugin
2026-09-09 15:00:39 -04:00
zzz 2f0fb93e83 i2psnark: Request throttle adjustments
recent changes put us well over the limits;
allow maxPipeline to go to zero again,
and remove the 10% higher request limit.
2026-09-09 14:21:38 -04:00
zzz 78529310ff i2psnark: Use uppercase for infohash in magnet names 2026-09-08 14:40:34 -04:00
zzz b12dfad938 i2psnark: Improve path traversal checks part 3
Remove check for / in name in MetaInfo throwing exception,
now handled gracefully in Storage
2026-09-08 13:51:38 -04:00
zzz 0d801ffc99 i2psnark: Improve path traversal checks part 2
Reported by: haoxucu
2026-09-04 10:34:41 -04:00
zzz b6ce258986 i2psnark: Improve path traversal checks
Reported by: haoxucu
2026-09-04 09:51:50 -04:00
zzz a884b90934 Addressbook: Check for dest mismatch in action=update
to prevent subscription feed from replacing destination on existing key,
update is only for changing metadata, per the feed spec.

Reported by: haoxucu
2026-09-04 09:08:09 -04:00
zzz ff63e0cdff i2ptunnel: Fix SOCKS 4/4a downgrade bypass of proxy auth
The guard meant to reject SOCKS 4/4a on auth-enabled tunnels checked for legacy
proxyUsername/proxyPassword properties that are no longer used for SOCKS,
we now store sha256 digest under different properties,
so when auth is enabled, a unauthenticated SOCKS 4a CONNECT was accepted.

Fix by removing check for legacy properties.

Reported by: haoxucu
2026-09-04 08:33:20 -04:00
zzz 641f06f48d i2psnark: Catch unbounded bdecode recursion
BDecoder applies no recursion limit to untrusted bencode,
so a large nested list or map produces a StackOverflowError
that passes through every catch(Exception) guard on the receive path
and terminates the shared I2P session dispatcher thread.

Fix by declaring and catching Throwable everywhere.

Reported by: haoxucu
2026-09-04 08:07:23 -04:00
zzz d2392ae9b7 SAM: Fix DG2/3 subsessions
listening for the wrong protocol.

Reported by and fix adapted from: InsulaOcculta
2026-09-04 07:10:23 -04:00
zzz 2c3fd2a953 i2psnark: Add js audio playlist controls
resurrected and completed from snark-playlist branch (2024)
2026-09-02 15:01:38 -04:00
zzz 10a804a988 i2psnark: Build fix from previous checkin,
prep for js
2026-09-02 13:24:29 -04:00
zzz 7ed03f4f0d i2psnark: Increase min completion for audio preview 2026-09-02 11:12:02 -04:00
zzz 2b78495abf i2psnark: Add loading directives for HTML 5 elements 2026-09-02 08:18:27 -04:00
zzz 094624f099 i2psnark: Stop FetchAndAdd if not enough space 2026-09-01 11:32:32 -04:00
zzz d34dbd106f i2psnark: Check available space when adding torrent files 2026-09-01 10:57:44 -04:00
zzz 0a1a95709c i2psnark: Send sorted dictionaries in extensions as required by spec 2026-08-31 18:39:32 -04:00
zzz b06f550843 i2psnark: Check available disk space when magnet has xl param 2026-08-31 18:07:32 -04:00
zzz ec491969a1 i2psnark: Don't NPE on missing map in extension handshake 2026-08-31 17:35:40 -04:00
zzz 00cf0d2eed i2psnark: Clip long magnet links on details page 2026-08-29 13:45:47 -04:00
zzz d4db8fbb50 i2psnark: Validation fix for UDP URLs without a path part 2
and remove ancient "i2p" hostname check
2026-08-29 11:33:53 -04:00
zzz d5ba2e7ddc i2psnark: Default tracker type to open on add tracker form 2026-08-29 08:18:48 -04:00
zzz 1df04c927a i2psnark: Show free disk space on add torrent form 2026-08-29 07:23:11 -04:00
zzz 345c228129 i2psnark: Allow adding udp tracker URLs without a path on config form 2026-08-28 17:51:58 -04:00
zzz bb6d329279 i2snark: Show all magnet link trackers on details page after
transition out of magnet mode. Part 3/3
2026-08-28 15:55:42 -04:00
zzz 7f2fa91363 i2snark: Save all magnet link trackers in torrent file
part 2/3

- fix NPE in part 1
- store all in torrent file when saved
2026-08-28 15:11:38 -04:00
zzz b9b9ea86e4 javadoc fix 2026-08-28 13:24:17 -04:00
zzz 89d24b80b0 i2snark: Use all trackers in magnet links, not just the first
part 1/2

- Pass MagnetURI directly to addMagnet()
- Store all trackers in Snark and TrackerClient
- save all trackers in per-torrent config file
2026-08-28 13:23:42 -04:00
zzz 563d0a7244 i2snark: Add length from xl param to magnet name if available 2026-08-28 09:11:31 -04:00
zzz 97c435565c i2snark: Refactor Message.sendMessage() to use a switch
for efficiency and sanity.
Add support for BEP 52 messages.
2026-08-28 07:43:17 -04:00
zzz e40b54f844 i2snark: v2 WIP part 7
- consolidate length rectification code
- fix rectification for file length > 2 GB
- make InputStream method public again, with the requirement
  to call rectify() first for files
- clarify plen param requirement for files vs. pieces
- add plen param for byte[] method
- add debug output for empty hashes
2026-08-27 17:24:55 -04:00
zzz 73cc98d28b i2psnark: Compress KRPC DG1 messages 2026-08-26 08:21:00 -04:00
zzz 6efe2dc715 i2psnark: Compress UDP connect requests 2026-08-26 07:59:51 -04:00
zzz 529ea7ac43 i2psnark: Close all RAFs after creating or checking files
to avoid possible stale fds after errors,
ro vs rw issues after rechecks, running out of fds,
and other corner cases
2026-08-25 09:30:45 -04:00
zzz fda1ced99c i2psnark: Remove ancient/disabled single-torrent and CLI code
from the original snark, unused for 20 years.
CoordinatorSet and acceptor are now always non-null.
Cleanup in prep for hybrid support (WIP)
2026-08-24 11:10:54 -04:00
zzz d0fae9f895 i2psnark: Only call retransmitRequests() for non-fast peers 2026-08-24 08:25:02 -04:00
zzz a60f10ba3b i2psnark: Reduce log level for common error serving file resources 2026-08-23 11:21:36 -04:00
zzz 5311271498 i2snark: v2 WIP cleanup
a v2 infohash is a Hash not a MerkleHash
2026-08-23 11:15:14 -04:00
zzz a258c86b06 i2snark: v2 WIP part 6 2026-08-23 11:12:24 -04:00
zzz 029d2df70e i2snark: limit log in one more spot 2026-08-23 11:09:12 -04:00
zzz cf329f3829 Build: Improve i2psnark standalone build
by not depending on router, and not bundling DTG internal classes
2026-08-22 14:56:23 -04:00
zzz 517e660389 i2psnark: Add support for magnet xl param 2026-08-22 10:31:53 -04:00