Commit graph

8 commits

Author SHA1 Message Date
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
f303cf2892 chore: gitignore local interop QA harness (keys, vendored copies, logs) 2026-06-16 12:30:22 +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