Commit graph

12 commits

Author SHA1 Message Date
e01b0c2a87 feat(route): domain matcher + bundled geosite DB search
Suffix/exact/keyword/regex matcher, normalizeDomain, and a hand-rolled geosite.dat parser (MIT v2fly) with category/domain search. Unit-tested.
2026-06-16 16:03:56 +03:00
8ed667d49e feat(core): add routingMode + routedSites to AppSettings
Defaulted (PROXY_ALL, empty) so old persisted state still decodes; feature inert until sites are added.
2026-06-16 16:03:33 +03:00
0b3f4adc77 test: add JVM unit tests for Shadowsocks AEAD SIP004 vectors and link parser 2026-06-16 12:30:53 +03:00
40adf31985 feat(ui): order journal newest-first; remove duplicate Servers tab header 2026-06-16 12:30:53 +03:00
9b5a3dee1d fix(import): percent-decode share-link names preserving '+'; reject ambiguous bare IPv6 2026-06-16 12:30:53 +03:00
fbeb15be88 fix(data): snapshot last-known-good config and recover on decode failure instead of wiping 2026-06-16 12:30:53 +03:00
a5681608ed feat(service): probe upstream after connect, classify failures, reap stuck engine thread 2026-06-16 12:30:53 +03:00
67deab0c8e fix(socks): require per-session auth on loopback bridge; both-direction idle watchdog; split control/relay dispatchers 2026-06-16 12:30:53 +03:00
1b06c3c01f fix(upstream): parse bare-LF HTTP proxy headers; document benign protect() failure 2026-06-16 12:30:53 +03:00
6b75c65503 fix(socks5): rewrite unroutable UDP relay to proxy host, connect() socket anti-spoof, validate reply versions 2026-06-16 12:30:53 +03:00
0a01bbe3f6 fix(shadowsocks): treat frame-boundary EOF as clean end; accept empty AEAD chunks like canon 2026-06-16 12:30:55 +03:00
v.lagerev
c3c10c92d6 Initial import: vojo proxy — native Android proxy client
Kotlin + Jetpack Compose VPN proxy client (Shadowsocks AEAD SIP004,
SOCKS5 RFC1928/1929, HTTP/HTTPS CONNECT) with per-app whitelist via
VpnService and the vendored hev-socks5-tunnel engine (JNI). Includes
the post-review fixes to the connection lifecycle, reconnect teardown,
journal, app-filter auto-reconnect, and the tab/timeline layout.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 12:51:38 +03:00