vpn/docs/android-manual-tests.md
2026-09-23 01:19:36 +00:00

29 lines
1.8 KiB
Markdown

# Android manual/integration tests
These require a real Android device; an emulator cannot validate all hotspot/VPN ROM
behaviour.
1. Grant VPN consent, connect/disconnect Basic VLESS and Enhanced AmneziaWG 3.1.
2. Lock the screen and kill/reopen the Flet Activity. Native state must remain visible;
a second engine/service must not start.
3. Force-stop/restart and verify the documented recovery limitation: Android does not
guarantee recovery after an explicit force-stop.
4. Kill the engine and verify `ERROR`/`UNSUPPORTED`, no orphan process, and no fallback.
5. `DIRECT`/`VOID` are currently a model-only gate and must remain visibly unavailable;
after native routing is implemented, `DIRECT` must use the Android API and `VOID`
must drop in the native data path, never `addDisallowedApplication`.
6. After an adapter reports real listener addresses, start LocalOnlyHotspot, check actual
SSID/password/interface IP, and confirm listeners bind only to that IP. Verify SOCKS5
and HTTP CONNECT from a laptop on that network. Current adapters intentionally do not
claim this path.
7. Stop sharing and verify listeners close and the reservation is released.
8. Run Both and verify phone TUN plus laptop proxy use the same backend only when the
capability says `supports_both`.
9. Switch SignBox strategies and then FreeTurn. Conflicting runtimes must stop before
another one starts.
10. Deny VPN/hotspot permissions and verify an explicit error, never `CONNECTED`.
11. Trigger FreeTurn CAPTCHA. Verify in-app WebView where available, browser fallback,
and the “always open in browser” setting.
12. Run an aggressive VPN-detection app. Expected VOID result is limited: local VPN/TUN
signs may remain visible, but probes/telemetry entering our VPN data path must be
dropped. No stealth guarantee is made.