Android app for detecting VPN usage and network tunneling signals.
  • Kotlin 87.2%
  • C++ 11.3%
  • CMake 0.9%
  • Shell 0.6%
Find a file
2026-08-19 21:14:43 +03:00
.github/workflows Added GitHub actions for building apk. (#17) 2026-08-19 21:14:43 +03:00
app Dev (#15) 2026-04-09 20:02:55 +03:00
detector Dev (#15) 2026-04-09 20:02:55 +03:00
fastlane/metadata/android/en-US add fdroid fixes (#20) 2026-04-14 22:15:33 +03:00
gradle Update Gradle wrapper to 9.3.1 (#21) 2026-04-15 00:04:22 +03:00
img add files 2026-04-07 14:11:45 +03:00
metadata add fdroid fixes (#20) 2026-04-14 22:15:33 +03:00
.gitignore Dev (#15) 2026-04-09 20:02:55 +03:00
build.gradle.kts Dev (#15) 2026-04-09 20:02:55 +03:00
gradle.properties Dev (#15) 2026-04-09 20:02:55 +03:00
gradlew Update Gradle wrapper to 9.3.1 (#21) 2026-04-15 00:04:22 +03:00
gradlew.bat Update Gradle wrapper to 9.3.1 (#21) 2026-04-15 00:04:22 +03:00
LICENSE Initial commit 2026-04-07 00:35:35 +03:00
README.md Dev (#15) 2026-04-09 20:02:55 +03:00
settings.gradle.kts Dev (#15) 2026-04-09 20:02:55 +03:00

Android VPN Detector

Research tool for analyzing VPN detection mechanisms on Android.

Features

  • Detect VPN via NetworkCapabilities.TRANSPORT_VPN
  • Analyze active vs global VPN state
  • Interface detection (tun0, wg0)
  • Native + Java network enumeration

Purpose

Demonstrates how apps can detect VPN presence even with split tunneling.

Permissions

  • android.permission.ACCESS_NETWORK_STATE — used to access network state via ConnectivityManager
  • android.permission.QUERY_ALL_PACKAGES — used to enumerate installed applications in order to detect known VPN clients

Screenshots

VPN Active (full tunnel)

VPN Split / Bypass (still detectable)

License

MIT