mirror of
https://github.com/okhsunrog/vpnhide.git
synced 2026-08-21 14:33:52 +00:00
Make the domain state @Serializable and dump it straight to JSON instead of hand-writing a parallel DTO plus a pile of text-file builders that kept drifting out of sync with what the app renders. This also fixes a real export-path bug: the debug bundle re-derived module state from a shell snapshot that never emitted proc_exists/ports_chain, so native/ports always read "inactive" in every bundle. - Annotate the domain @Serializable (DiagnosticReport, sealed CheckOutcome / LayerStatus / ModuleState, enums, DashboardState, NativeBackendStates), with compact @SerialName discriminators; make generated HookIds.Hook serializable - Add one canonical VpnHideState aggregate serialized via kotlinx.serialization; delete DiagnosticReportRender (ReportJson/toDiagnosticsText) and every build*Text bundle builder - Debug export is now a single vpnhide_debug_<ts>.json; kernel-image and full-logcat exports keep a zip but bundle the same state.json inside - Derive the bundle's module/liveness state from RootSnapshotCache (the same snapshot the dashboard uses); DebugShellSnapshot is forensic-only. Guard test pins that the snapshot command emits every detector-required section - Add a snapshot_shell_uid probe and runtimeCheckable: a liveness read from a non-root shell is untrustworthy, so render "status not verified" (new LayerStatus.Unverified) instead of a false "inactive" - Reorder/rename the Diagnostics export cards for clarity |
||
|---|---|---|
| .. | ||
| build-version.py | ||
| build_lib.py | ||
| changelog.py | ||
| changelog_lib.py | ||
| clang-format-c.sh | ||
| clean-device.sh | ||
| codegen-hooks.py | ||
| codegen-interfaces.py | ||
| codegen_lib.py | ||
| measure-startup.py | ||
| preview-changelog.py | ||
| release.py | ||
| stats.py | ||
| update-json.sh | ||