package icon

WGControl

Automated WireGuard tunnel control via home Wi-Fi and Bluetooth.
New in version 1.47.61910
- New: manage several WireGuard tunnels, with per-Wi-Fi-network assignment ("Configured Networks") and separate default tunnels for Wi-Fi, mobile data, and roaming
- New: home screen widget with status, current network, active tunnel, Bluetooth info, and the same pause buttons as the notification; adapts to widget size (abbreviated labels/icon buttons when narrow), background style and opacity configurable
- Changed: Quick Settings tile long-press now opens the app (Status tab) instead of the sy
WGControl automatically manages your WireGuard tunnel based on your Wi-Fi and Bluetooth connections. It disables the tunnel when connected to your configured home Wi-Fi or selected Bluetooth devices (e.g., Android Auto) and re-enables it upon leaving.

This app is a VibeCode product. I have thoroughly tested all functions and believe everything works reliably.
However, I assume no responsibility for errors, results of errors, or atomic fallout.

Key Features:
- Wi-Fi & Bluetooth Detection: Automatically toggles the tunnel based on home networks or paired Bluetooth devices.
- Real-Time Monitoring: Continuously checks system-level VPN status and enforces the target state.
- Ping Connectivity Check (optional, off by default): Verifies internet availability via ICMP/TCP ping to a configurable host (example.com by default) before re-enabling the tunnel.
- Notification Pause Buttons: Manually override the tunnel from the status notification - indefinitely or for a configurable duration - without opening the app.
- Admin Password Protection: Secures configuration tabs using salted PBKDF2 hashing.
- Local Logging: Tracks tunnel commands and network events locally for up to 24 hours with search and export capabilities.
- QuickSettings Tiles and widget to control pause.

Essential Setup Steps:
1. WireGuard App: Enable "Allow user-controlled tunnel management" in settings.
2. Grant Permission: Allow "WireGuard tunnel control" permission.
3. Location Access: Set to "Allow all the time" for background Wi-Fi detection.
4. Battery Optimization: Disable for BOTH WGControl and the WireGuard app.

Note: Not affiliated with WireGuard or Jason A. Donenfeld. Controls the official WireGuard app via its public broadcast interface.

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 1.47.61910 (47) suggested Added on Oct 22, 2026

    This version requires Android 7.0 or newer.

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

    Permissions
    • access location in the background
      This app can access location at any time, even while the app is not in use.
    • 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.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • connect to paired Bluetooth devices
      Allows the app to connect to paired Bluetooth 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.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "connectedDevice"
      Allows the app to make use of foreground services with the type "connectedDevice"
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • 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
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • com.wireguard.android.permission.CONTROL_TUNNELS
    • org.supersane.wgcontrol.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 1.9 MiB PGP Signature | Build Log