OpenVPNExtension
Using this extension you'll be able to connect to VPN Servers with .ovpn files. OpenVPN is a robust and flexible solution for establishing secure connections over the internet, whether it's for remote access, site-to-site networking, or safeguarding online privacy. OpenVPN creates a secure tunnel between devices over the internet, encrypting all data that passes through it. This encryption ensures that even if data is intercepted, it remains unreadable to unauthorized parties, providing a significant layer of protection for sensitive information.1. Overview
LatestVersion: 1
Released: 2024-04-24T18:30:00Z
Last Updated: 2024-04-24T18:30:00Z
Min SDK: 21
Permissions: ACCESS_NETWORK_STATE
, FOREGROUND_SERVICE
(only for Android 9 and above), POST_NOTIFICATIONS
(only for Android 13 and above)
Aix Size: 310 Kb
Key Features:
- Connect to VPN with customisable settings
- Check VPN status (even across app startups)
- Get notified about VPN status changes
- Pause, Resume and Disconnect from Vpn notification
- Allow apps to bypass vpn by package name
- Read logs in realtime
2. Blocks
3. Documentation
Events
GotLogs | Event raised after collecting all logs of current sessionlogs | text |
VpnPermissionGranted | Event raised when VPN permission is granted. Vpn can be started only in this case. |
VpnPermissionDenied | Event raised when VPN permission is denied |
ErrorOccurred | Event raised when error occurs. It is not guaranteed that all errors will be reported via this event. However, all of them will be reported to logs. errorMsg | text |
StateChanged | Event raised when VPN connection state changesstate | text |
Methods
VpnState | Return VPN connection state |
ClearLogs | Clear logs of current session |
GetLogs | Read logs from the log file |
AskServicePermission | Ask for service permissions required to start VPN |
IsVpnPrepared | Returns whether VPN Service has been already prepared or not. If returns false then you'll have to ask Service Permission first. |
StartVPN | Start VPN service with provided configFile and other credentialstitle | text configFile | text country | text username | text password | text |
StopVPN | Stop VPN Service |
GetAllowedAppsList | Returns Allowed Apps list |
AddAllowedApp | Adds specified app to Allowed Apps List. Apps in this list bypass VPN.pkgName | text |
RemoveAllowedApp | Removes specified app from Allowed Apps listpkgName | text |
Properties
3. Example Usage
Ask for required permissions on Screen Initialize
Check VPN permission
IsVpnPrepared
will return true
if vpn permission has been granted otherwise false
.
AskServicePermission
block will show this permission dialog:
StartVPN
Listen to State Changes
state : WAIT
, CONNECTING
, GET_CONFIG
, RESOLVE
, AUTH
, AUTH_PENDING
, AUTH_FAILED
, CONNECTED
, DISCONNECTED
, NOPROCESS
Note: noprocess means vpn has not been started and disconnected means vpn was started before and has been diconnected.
Stop Vpn
You can stop vpn from notification as well.
5. Demo Video
6. Inject Native library
You’ll get these two folders with aix:
Then decompile apk and copy these two folders to decompile directory.
Intructions for decompiling apk:
Add native libs to apk
A simple app after injection becomes ~10mb
How to Sign Apk by @Anke
How to build a big app → APK max. 100 MB or → AAB 150 MB
7. Purchase Extension
Thank you.
Hope it helps!