镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Android app without VpnService #13

Closed

Description

@compot-dev
  • NDK build of the libraries, thin JNI layer.
  • Foreground service with a regular notification (not a VPN); no VpnService, no BIND_VPN_SERVICE. Android 14+: foregroundServiceType (likely specialUse; dataSync is time-limited on Android 15).
  • Reconnect on network changes (ConnectivityManager.NetworkCallback), Doze behaviour.
  • Settings: server, port, device ID (generated or manual, Device ID: validation and MAC derivation #6), password, MTU, port forwards; status screen with DHCP address and routes.
  • Distribution as APK (no Play Store for now).
  • Acceptance: no VPN icon; a built-in or external player shows a camera stream via 127.0.0.1.

Activity

  1. compot-dev commented on Oct 14, 2026

    @compot-dev
    CollaboratorAuthor

    Moved from #6: generate once a random locally administered unicast device ID (second character 2, 6, A or E), persist it, allow manual entry. The app shows the ID so it can be added as a session on the server.

  2. added a commit that references this issue on Oct 14, 2026
  3. compot-dev commented on Oct 14, 2026

    @compot-dev
    CollaboratorAuthor

    Progress (96d5352): android/ app — NDK build of the C core + JNI bridge (one native loop thread), foreground service specialUse in its own process (no VpnService), wake lock, immediate reconnect on network changes (vt_network_changed()), settings (server, port, generated/manual device ID, password, SOCKS5 port, port forwards) and a status screen with address, routes, counters and log. minSdk 21. APKs built in Docker (android/build.sh) and in CI (artifact). Next: test on a real device (no VPN icon, VLC through a forward), release signing.

  4. compot-dev commented on Oct 14, 2026

    @compot-dev
    CollaboratorAuthor

    v1.03 (5e8098f): vtesse-android.apk (signed, Android 5.0+, also Android TV launcher) is in the latest release. Tested on an Android 10 TV box (Amlogic, armeabi-v7a) over adb against a production VTun 3.0.2 server: tunnel up with DHCP address and classless routes, no VPN prompt/icon (foreground service with a regular notification), HTTP snapshot and RTSP (OPTIONS → camera RTSP server) through the forwards on 127.0.0.1, SOCKS5, VLC opened the camera stream from rtsp://127.0.0.1:8554/… (RTSP session established, ~1.1 Mbit/s received), Disconnect ends the :tunnel process, reconnect in a fresh process works. Remaining for this issue: visual confirmation of the picture in VLC on the device (the hardware video overlay is not visible in screencap), Doze/long-run behaviour on a phone.

  5. compot-dev commented on Oct 14, 2026

    @compot-dev
    CollaboratorAuthor

    Acceptance confirmed by the owner on the Android 10 TV box: VLC shows the camera video from rtsp://127.0.0.1:8554/… through the VTesse forward, no VPN icon. Some image artifacts were seen; to be investigated separately (likely RTSP over TCP-in-TCP latency / VLC network caching or the box decoder, not tunnel errors — the tunnel log showed no drops). Done in v1.03 (5e8098f).

  6. added a commit that references this issue on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions