# Upstream/API research snapshot Checked 2026-09-23. ## Flet Current Flet publishing docs describe a generated Flutter shell and support `[tool.flet.app] path/module`, local developer packages and Flutter user extensions. The bridge uses a Flet `Service` control and a Dart `FletService`, then a standard Flutter `MethodChannel` for the Android plugin. It is intentionally not a Python subprocess bridge. ## Android Current Android docs require `VpnService.prepare()`, `protect()` for upstream sockets, `Builder.establish()`, and a foreground service on API 26+. Android 14+ foreground services require a declared type; this project uses the documented `specialUse` type and an explanatory property. Android has one active VPN service per user/profile. `Builder.addDisallowedApplication()` is valid for `DIRECT`, but it makes traffic bypass the VPN and therefore cannot implement `VOID`. `VOID` needs a UID-aware native packet path and a fail-closed drop policy; the Python model exists now, while enforcement is a device-tested native milestone. `LocalOnlyHotspot` is the public API for an app-created local network. Android 13+ requires `NEARBY_WIFI_DEVICES`; older targets use location permission. The reservation returns SSID/password but the interface address must be discovered at runtime. The implementation does not assume a fixed `192.168.43.1` address and does not enable system tethering. ## FreeTurn The current `samosvalishe/free-turn-proxy` mobile README documents the gomobile API: `Start`, `StartTunnel`, `StartDirectTunnel`, `Restart`, `Stop`, `GetState`, `TunnelStats`, `ParseTunnelConfig`, `SetProtect`, `SetEventSink`, `ValidateConfig` and `OnCaptcha`. The Android AAR is built with the upstream `task build:android` target. The Android reference app is GPL-3.0 and is used only as lifecycle/API evidence. ## SignBox / sing-box-lx The selected fork is `Leadaxe/sing-box-lx`, pinned to `v1.14.1-lx.8`. Its release AAR is verified against upstream `SHA256SUMS`; it exposes `CommandServer`, `CommandClient`, `PlatformInterface`, VLESS and AmneziaWG 3.x features. LxBox confirms Android lifecycle uses `CommandServer` and manages the live core through an in-process `CommandClient`, without a public management port. The fork registers `tun`, `mixed`, `socks`, and `http` inbounds. Because this UI exposes separate ports, the client emits separate SOCKS and HTTP inbounds instead of forcing both protocols onto one mixed port. FreeTurn and libbox AARs ship different `go.Seq`/`go.Universe` implementations. Android rejects the duplicate classes, and sharing one version across independently built JNI libraries is unsafe. The libbox-first APK excludes FreeTurn until namespace isolation or another proven isolation design is implemented. ## Removed scope iOS and NetworkExtension are not implemented. macOS is omitted from the first build; desktop target is Linux/Windows proxy-only.