mirror of
https://github.com/okhsunrog/vpnhide.git
synced 2026-05-22 19:20:59 +00:00
Users installing VPN Hide for stealth didn't want the app, LSPosed hooks, and zygisk writing per-request lines to logcat that a forensic analysis with root could read back. Add a single toggle in Diagnostics that silences all three layers; errors still pass through so hook- install failures stay diagnosable. Why each piece: - VpnHideLog + HookLog wrap Log.i/d/w and XposedBridge.log respectively, gated by @Volatile flags. i/d/w only; e always prints. - SharedPreferences is the source of truth for the app process; system_server hooks read /data/system/vpnhide_debug_logging (inotify- watched, same pattern as vpnhide_uids.txt — flip is live without rebooting); zygisk reads debug_logging from its module dir via the existing dir fd in on_load, then calls log::set_max_level. - Default Off matches the project's stealth-first stance. When disabled, zygisk stays at LevelFilter::Error so the rare hook-install failure is still visible. - Zygisk-hooked apps need a restart for the change to take effect (flag is read at on_load). App and system_server hooks pick it up immediately. Documented in the toggle's description. Also aligns lsposed/native/Cargo.lock with Cargo.toml (0.6.1 → 0.6.2) — same stale-lock fix surfaced by the gradle build as in the previous PR. |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.lock | ||
| Cargo.toml | ||