package icon

RKNHardering

Detects VPN and proxy usage on Android using RKN methodology
New in version 2.9.0
1. Added six new VPN/proxy detectors: extended interface patterns (utun, ZeroTier, Tailscale, IPsec/xfrm, GRE, L2TP), VPN transport type detection, TUN/TAP by sysfs interface type, host-route /32 heuristic, a Clash/mihomo/sing-box REST API scanner, and a local SOCKS5 weak-credentials probe. The last two scanners are optional and enabled in settings.
2. Added emulator detection (QEMU, Genymotion, BlueStacks) and isolated-context detection (secondary user, cloned app, work profile). Network tests
RKNHardering is an Android application that detects VPN and proxy usage on a device, implementing the Russian Federal Service for Supervision of Communications (RKN) methodology for identifying circumvention tools.

The app runs nine independent detection modules in parallel and produces a combined verdict:

- GeoIP — checks the public IP against GeoIP databases and hosting/proxy signal providers
- IP Comparison — compares responses from RU and non-RU public IP checkers
- Direct Signs — inspects NetworkCapabilities, system proxy settings, and installed VPN apps
- Indirect Signs — analyzes network interfaces, routing table, DNS, dumpsys VPN output, and localhost proxy listeners
- Location Signals — reads MCC/SIM/cell/Wi-Fi data and queries BeaconDB for geolocation
- Bypass Check — scans localhost for open SOCKS5/HTTP proxies, Xray gRPC API endpoints, and detects underlying network leaks
- CDN Pulling — sends HTTPS requests to trace endpoints to determine the apparent public IP
- Call Transport — checks STUN and MTProto availability to detect traffic tunneling
- Native Signs — performs JNI-level checks of interfaces, routes, /proc/self/maps hook markers, and root indicators

The final verdict (NOT DETECTED / NEEDS REVIEW / DETECTED) is calculated by VerdictEngine using a weighted combination of the module results.

Minimum Android version: 8.0 (API 26).
Source code: https://github.com/xtclovver/RKNHardering

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 2.9.0 (20900) suggested Added on Jun 13, 2026

    arm64-v8a armeabi-v7a x86_64

    This version requires Android 8.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • connect and disconnect from Wi-Fi
      Allows the app to connect to and disconnect from Wi-Fi access points and to make changes to device configuration for Wi-Fi networks.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • interact with nearby Wi-Fi devices
      Allows the app to advertise, connect, and determine the relative position of nearby Wi-Fi devices
    • query all packages
      Allows an app to see all installed packages.
    • read phone status and identity
      Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.
    • com.notcvnt.rknhardering.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 14 MiB PGP Signature | Build Log

  • New in version 2.8.1
    Fixed check interruption (crash) during long network timeouts in the operator whitelist probe.
    Improved stability of applying custom profiles when building scan results.
    Fixed a potential crash when resolving system colors in the UI.
  • Version 2.8.1 (20801) - Added on May 28, 2026

    arm64-v8a armeabi-v7a x86_64

    This version requires Android 8.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • connect and disconnect from Wi-Fi
      Allows the app to connect to and disconnect from Wi-Fi access points and to make changes to device configuration for Wi-Fi networks.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • interact with nearby Wi-Fi devices
      Allows the app to advertise, connect, and determine the relative position of nearby Wi-Fi devices
    • query all packages
      Allows an app to see all installed packages.
    • read phone status and identity
      Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.
    • com.notcvnt.rknhardering.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 13 MiB PGP Signature | Build Log