strongSwan VPN Client
An easy to use IKEv2/IPsec-based VPN client.
Screenshots
Description
Official Android port of the popular strongSwan VPN solution. # FEATURES AND LIMITATIONS #
- Uses the VpnService API featured by Android 4+. Devices by some manufacturers seem to lack support for this - strongSwan VPN Client won't work on these devices!
- Uses the IKEv2 key exchange protocol
- Uses IPsec for data traffic
- Full support for changed connectivity and mobility through MOBIKE (or reauthentication)
- Supports username/password EAP authentication (namely EAP-MSCHAPv2, EAP-MD5 and EAP-GTC) as well as RSA/ECDSA private key/certificate authentication to authenticate users, EAP-TLS with client certificates is also supported
- Combined RSA/ECDSA and EAP authentication is supported by using two authentication rounds as defined in RFC 4739
- VPN server certificates are verified against the CA certificates pre-installed or installed by the user on the system. The CA or server certificates used to authenticate the server can also be imported directly into the app.
- IKEv2 fragmentation is supported if the VPN server supports it (strongSwan does so since 5.2.1)
- Split-tunneling allows sending only certain traffic through the VPN and/or excluding specific traffic from it
- Per-app VPN allows limiting the VPN connection to specific apps, or exclude them from using it
- The IPsec implementation currently supports the AES-CBC, AES-GCM, ChaCha20/Poly1305 and SHA1/SHA2 algorithms
- Passwords are currently stored as cleartext in the database (only if stored with a profile)
- VPN profiles may be imported from files
- Supports managed configurations via enterprise mobility management (EMM)
- READ_EXTERNAL_STORAGE: Allows importing VPN profiles and CA certificates from external storage on some Android versions
- QUERY_ALL_PACKAGES: Required on Android 11+ to select apps to ex-/include in VPN profiles and the optional EAP-TNC use case
What’s new (2.6.2)
# 2.6.2 #
- Fix edge-to-edge layout issues with settings and app selection
# 2.6.1 #
- Update OpenSSL to support ML-KEM (requires explicit configuration in proposals)
- Fix vulnerability in eap-mschapv2 plugin
- Fix filename when exporting the log
# 2.6.0 #
- Allow preselecting a user certificate via alias in managed profiles
- Allow selecting a user certificate for managed profiles
- Fix reading split-tunneling settings in managed profiles
- Adapt to edge-to-edge display
Versions
Permissions
What the app asks the system for. Android only grants sensitive access after you confirm it.
- Internet accessSend and receive data over the internet.
- Network stateCheck whether and how the device is connected.
- Foreground serviceKeep running in the background, visible in the status bar.
- FOREGROUND_SERVICE_SPECIAL_USE
- NotificationsShow notifications.
- Read storageRead files on the device storage.
- REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
- Display over other appsDraw content on top of other apps.
Show 2 more permissions
- Installed appsSee which apps are installed.
- android.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Comments