vpnhide/docs
Danila Gornushko d85dc3423d
Some checks are pending
CI / builtin-integrator (push) Blocked by required conditions
CI / changes (push) Waiting to run
CI / setup (push) Waiting to run
CI / qemu-native-probes (push) Blocked by required conditions
CI / lint-python (push) Waiting to run
CI / lint-shell-c (push) Blocked by required conditions
CI / rust (push) Blocked by required conditions
CI / kmod-activator (push) Blocked by required conditions
CI / kpm-qemu (android14-6.1) (push) Blocked by required conditions
CI / kmod (android12-5.10) (push) Blocked by required conditions
CI / kmod (android13-5.10) (push) Blocked by required conditions
CI / kmod (android14-5.15) (push) Blocked by required conditions
CI / kmod (android14-6.1) (push) Blocked by required conditions
CI / kmod (android16-6.12) (push) Blocked by required conditions
CI / kmod (android13-5.15) (push) Blocked by required conditions
CI / kmod (android15-6.6) (push) Blocked by required conditions
CI / kmod-qemu (android12-5.10) (push) Blocked by required conditions
CI / kmod-qemu (android13-5.10) (push) Blocked by required conditions
CI / kmod-qemu (android13-5.15) (push) Blocked by required conditions
CI / kmod-qemu (android14-5.15) (push) Blocked by required conditions
CI / kmod-qemu (android14-6.1) (push) Blocked by required conditions
CI / kmod-qemu (android15-6.6) (push) Blocked by required conditions
CI / kmod-qemu (android16-6.12) (push) Blocked by required conditions
CI / kpm-qemu (android12-5.10) (push) Blocked by required conditions
CI / kpm-qemu (android13-5.10) (push) Blocked by required conditions
CI / kpm-qemu (android13-5.15) (push) Blocked by required conditions
CI / kpm-qemu (android14-5.15) (push) Blocked by required conditions
CI / kpm-qemu (android15-6.6) (push) Blocked by required conditions
CI / kpm-qemu (android16-6.12) (push) Blocked by required conditions
CI / kpm-qemu-legacy (4.14) (push) Blocked by required conditions
CI / kpm-qemu-legacy (4.19) (push) Blocked by required conditions
CI / kpm-qemu-legacy (4.4) (push) Blocked by required conditions
CI / kpm-qemu-legacy (4.9) (push) Blocked by required conditions
CI / kpm-qemu-legacy (5.4) (push) Blocked by required conditions
CI / builtin-qemu (android14-6.1) (push) Blocked by required conditions
CI / builtin-qemu (android15-6.6) (push) Blocked by required conditions
CI / builtin-qemu (android16-6.12) (push) Blocked by required conditions
CI / kpm (push) Blocked by required conditions
CI / zygisk (push) Blocked by required conditions
CI / builtin (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / portshide (push) Blocked by required conditions
CI / release (push) Blocked by required conditions
CI / ci-ok (push) Blocked by required conditions
docs: make KPatch-Next setup clear for Magisk users (#369)
* docs: make KPatch-Next setup clear for Magisk users

* docs: clarify KPatch-Next enables runtime installation

---------

Co-authored-by: Danila Gornushko <d3g3v3@gmail.com>
2026-10-21 04:34:17 +03:00
..
help docs: make KPatch-Next setup clear for Magisk users (#369) 2026-10-21 04:34:17 +03:00
notes Fix v1 policy caching, telemetry, and diagnostic exports (#360) 2026-10-12 13:07:54 +03:00
adb-root-debugging.md Upgrade diagnostic captures (#227) 2026-07-02 16:25:53 +03:00
avd-magisk-testing.md feat(lsposed): support Android 9 (API 28) 2026-08-19 01:45:02 +03:00
changelog.md fix(scripts): CHANGELOG.md at release time + Markdown fragments 2026-04-19 21:57:34 +03:00
config-coordinator.md docs: file the state refactor documents by audience 2026-09-15 22:25:08 +03:00
debug-bundle.md Fix v1 policy caching, telemetry, and diagnostic exports (#360) 2026-10-12 13:07:54 +03:00
detection-vectors.md fix(kpm): cover inlined socket bind paths and preserve native gates (#361) 2026-10-12 16:31:05 +03:00
development.md Merge pull request #350 from okhsunrog/chore/builtin-format-and-string-id 2026-09-17 19:42:18 +03:00
diagnostics.md docs: explain the hook count vs the diagnostic check count (#355) 2026-10-12 15:01:20 +03:00
limits.md docs: catch the reference docs up with the built-in backend and fix drift 2026-09-17 19:02:00 +03:00
lsposed-hook-debugging.md fix(lsposed): per-registration callback lifecycle, and leak-before-incompleteness 2026-09-16 20:33:00 +03:00
observation-coordinator.md fix(ui): retain preference state across Activity recreation (#364) 2026-10-12 17:51:31 +03:00
protocol.md docs(protocol): the requested-hook set is per-kernel 2026-09-18 17:20:19 +03:00
README.md docs: define concealment threat model and trust boundaries 2026-10-12 14:11:25 +03:00
releasing.md build: align native cdylib on 16 KiB; unify kmod/zygisk build scripts 2026-04-26 23:26:30 +03:00
root-mutation-transport.md refactor(native): add typed helper observations 2026-09-16 22:51:12 +03:00
state.md feat(app): add language selection in Appearance (#362) 2026-10-12 16:48:12 +03:00
storage.md docs: catch the reference docs up with the built-in backend and fix drift 2026-09-17 19:02:00 +03:00
threat-model.md docs: define concealment threat model and trust boundaries 2026-10-12 14:11:25 +03:00

vpnhide documentation

Docs here are split by audience. Pick the row that matches what you're doing.

For users — the offline guide

End-user documentation lives in help/ as localized Markdown (EN/RU/ZH). This is the single source: the same articles are synced into the app (Settings → Help & guide) and browsable here on GitHub. Start at the guide index.

Covers install, choosing and installing a native backend, setting up hiding, understanding the self-test results, statistics, updating/back-up/removal, limits, and a glossary. The project README is the short entry point that links into it.

For contributors — architecture & reference

Stable references for anyone changing the code. Read the relevant one before a PR.

Doc What it covers
development.md Prereqs, per-module build quickstart, device install, CI lints
protocol.md The frozen control/telemetry wire between activator, app and backends
storage.md Storage & activation design: the JSON canonical, the activator, SELinux
state.md Every persistent path / proc entry / iptables chain the project touches
threat-model.md Attacker capabilities, trusted components, security boundaries and limits of hiding/diagnostic claims
detection-vectors.md What an app can probe and which component covers each vector
diagnostics.md How the app self-tests hiding and attributes the result
debug-bundle.md How to read a user's vpnhide_debug_*.zip bundle
limits.md Every target/config/stats capacity ceiling and what binds first
lsposed-hook-debugging.md Diagnosing why a Java-layer hook didn't attach on a ROM
adb-root-debugging.md Making adb shell su useful on KernelSU/APatch/Magisk test devices
avd-magisk-testing.md Testing on a rooted x86_64 AVD (Magisk + Zygisk + LSPosed)
changelog.md Changelog storage (changelog.d/ fragments) and scripts/changelog.py
releasing.md scripts/release.py usage and the version-bump flow
config-coordinator.md How app configuration writes are owned: the process-owned coordinator, typed edits, drafts, phase outcomes and recovery
observation-coordinator.md How root/app observations are read, invalidated, joined and quarantined; Dashboard/diagnostics refresh rules
root-mutation-transport.md The vhhelper mutation supervisor: receipts, sessions, late-launch fencing and the isolated device fixture

Module-specific developer docs live next to their code: kmod/BUILDING.md, kmod/kpm/README.md, builtin/README.md (the in-tree kernel backend), lsposed/AGENTS.md, and each module's README.md. Repo conventions and the PR/changelog process are in CONTRIBUTING.md and AGENTS.md.

Roadmap, plans & working notes

Forward-looking, non-reference material — directions, plans and TODOs that aren't a release commitment — lives in notes/: