proxy/app/proguard-rules.pro
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

29 lines
977 B
Prolog

# Keep JNI bridge the native symbol name is derived from the full class+method
# name, so the class must not be renamed and the native methods must be kept.
-keep class chat.vojo.proxy.core.Tun2Socks {
native <methods>;
*;
}
# Vendored libhev's JNI_OnLoad does FindClass + RegisterNatives on this exact
# class/signature at load time; renaming or removing it aborts the process.
-keep class hev.htproxy.TProxyService {
native <methods>;
*;
}
# kotlinx.serialization
-keepattributes *Annotation*, InnerClasses
-dontnote kotlinx.serialization.**
-keepclassmembers class **$$serializer { *; }
-keepclasseswithmembers,allowshrinking,allowobfuscation class chat.vojo.proxy.** {
@kotlinx.serialization.Serializable <methods>;
}
-if @kotlinx.serialization.Serializable class chat.vojo.proxy.**
-keep,allowobfuscation class <1> {
static <1>$Companion Companion;
*** Companion;
}
-keepclassmembers class chat.vojo.proxy.** {
*** serializer(...);
}