New in version 135
The edit screen now shows a tunnel's public key, ready to copy for
whoever administers the server.
Each home-screen widget can be pointed at a particular tunnel when you
place it, and resizes freely.
Run conditions are more dependable: a tunnel switched on by hand stays
on until the network changes, and automation and always-on VPN survive a
restart. On Android 13+ the app now asks for notification permission, so
its notices are no longer hidden.
KabelWacht is a minimal, fully free-software WireGuard® client for Android.
It does one thing well: manage WireGuard tunnels and connect.
Features:
* Create, list, search, edit and delete WireGuard profiles.
* Import a configuration by scanning a QR code or opening a .conf file.
* Export a tunnel back to a standard wg-quick .conf file, protected by
device authentication — the file contains your private key.
* One-tap connect/disconnect with a per-tunnel switch.
* Toggle a tunnel from outside the app: launcher shortcuts, a resizable
home-screen widget you can point at a particular tunnel, or a Quick
Settings tile.
* Run conditions: let a tunnel connect and disconnect by itself depending
on the network — only on Wi-Fi, every Wi-Fi except the ones you list,
only on chosen networks, never on mobile data or while roaming, or on
unmetered connections only.
* Always-on VPN support, including reconnecting after a reboot.
* A structured editor with Interface and Peer sections, with the complete
wg-quick file one tap away. It shows the tunnel's public key too, ready
to copy for whoever administers the server.
* Fully usable with a hardware keyboard — shortcuts for search, new
tunnel and save, and every control reachable by Tab and arrow keys.
* Userspace WireGuard backend — no root required.
Privacy and freedom:
* 100% free and open-source software (AGPL-3.0-or-later).
* No trackers, no analytics, no advertising.
* No Google Play Services or other proprietary dependencies.
* The only network connection made is your own WireGuard tunnel.
* Location permission is optional and asked for only if you set up Wi-Fi
network-name rules, because Android requires it to read Wi-Fi names.
Your location is never used or stored.
* Release builds are reproducible: anyone can rebuild the published APK
from source and get the same bytes.
Built on the official WireGuard tunnel library and the ZXing QR decoder.
WireGuard is a registered trademark of Jason A. Donenfeld. This project is not
officially affiliated with or endorsed by the WireGuard project.
Donate
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
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 10 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.
-
take pictures and videos
This app can take pictures and record videos using the camera while the app is in use.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "location"
Allows the app to make use of foreground services with the type "location"
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
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.
-
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.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
com.github.muelli.kabelwacht.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
16 MiB
PGP Signature
|
Build Log
New in version 117
No changes to the app itself.
This release only changes how the build is packaged and signed for
distribution channels outside this project's own repository.
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 10 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.
-
take pictures and videos
This app can take pictures and record videos using the camera while the app is in use.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "location"
Allows the app to make use of foreground services with the type "location"
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
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.
-
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.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
com.github.muelli.kabelwacht.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
16 MiB
PGP Signature
|
Build Log
New in version 112
Keyboard support, for desktop mode and anyone using a physical keyboard:
Ctrl+F searches your tunnels and Esc closes the search, Ctrl+N creates a
tunnel, Ctrl+S saves in the editor, and Delete on a selected tunnel asks
to remove it.
The whole app can now be operated with Tab, the arrow keys and
Enter or Space, with every control showing where the focus is.
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 10 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.
-
take pictures and videos
This app can take pictures and record videos using the camera while the app is in use.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "location"
Allows the app to make use of foreground services with the type "location"
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
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.
-
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.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
com.github.muelli.kabelwacht.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
16 MiB
PGP Signature
|
Build Log