31 lines
927 B
Prolog
31 lines
927 B
Prolog
|
|
# Montana VPN ProGuard rules
|
||
|
|
|
||
|
|
# Keep WebView JavaScript interfaces
|
||
|
|
-keepclassmembers class quest.montana.app.MontanaBridge {
|
||
|
|
@android.webkit.JavascriptInterface <methods>;
|
||
|
|
}
|
||
|
|
|
||
|
|
# Keep xray + hev native bindings
|
||
|
|
-keep class libv2ray.** { *; }
|
||
|
|
-keep class com.v2raytun.android.** { *; }
|
||
|
|
-keep class go.** { *; }
|
||
|
|
|
||
|
|
# Keep BouncyCastle for Ed25519
|
||
|
|
-keep class org.bouncycastle.** { *; }
|
||
|
|
-dontwarn org.bouncycastle.**
|
||
|
|
|
||
|
|
# Keep our service entry points
|
||
|
|
-keep class quest.montana.app.MontanaVpnService { *; }
|
||
|
|
-keep class quest.montana.app.MainActivity { *; }
|
||
|
|
-keep class quest.montana.app.MontanaBridge { *; }
|
||
|
|
|
||
|
|
# Standard Android
|
||
|
|
-keepattributes Signature, *Annotation*, EnclosingMethod, InnerClasses
|
||
|
|
-dontnote android.net.http.**
|
||
|
|
-dontnote org.apache.http.**
|
||
|
|
|
||
|
|
# Allow R8 to optimize without removing things that might be called via reflection
|
||
|
|
-keepclassmembers,allowobfuscation class * {
|
||
|
|
@android.webkit.JavascriptInterface *;
|
||
|
|
}
|