Android VPN client developed using ics-openvpn library.
Available on Play Store now ➡️: https://play.google.com/store/apps/details?id=com.anonymous.ethervpn
ether-vpn-walkthrough.mp4
Build instructions:
- Download swig[https://www.swig.org/download.html] on the system.
- Add swig executable path to system/android studio environment path variables.
- Check if submodules in cpp folder are fetched on your system using git submodule command.
- Replace requestIdToken and google-services.json configuration according to firebase configurations on your account.
- If current ovpn servers are not working then replace .ovpn configurations. Some free sites to find ovpn configs: freeopenvpn, vpngate, vpnbook.
Tips to build imported openvpn module with latest code while integrating in a base app:
- Change plugin id("com.android.application") to id("com.android.library") in openvpn build.gradle.kts.
- set(SWIG_EXECUTABLE "${CMAKE_CURRENT_SOURCE_DIR}/swigwin-4.1.1/swig.exe") set(SWIG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/swigwin-4.1.1") Add above 2 lines to openvpn/src/main/cpp/CMakeLists.txt if not present.
- Enable multiDex on your base app.
- Enable databinding and add productFlavors['ui', 'skeleton'] in build.gradle of base app.
- Comment out splits and applicantVariants register function in openvpn build.gradle.kts.
- Verify de.blinkt.openvpn.core.OpenVPNService service and de.blinkt.openvpn.activities.DisconnectVPN activity is added to base project's AndroidManifest file.
Project/IDE configurations:
- Gradle version - 7.5, Gradle plugin version - 7.4.1
- SDK compile version - 33.0.0
- java version "1.8.0_361"
- Kotlin plugin installed on IDE
Screenshots:
Future developments possible:
- UI/UX Improvements.
- Implementation of the subscription model for stable paid VPN servers or token-based governance integration.
- Multiple protocols added support [IKEv2/Wireguard/SSTP].
- Addition of split tunneling for apps.
Support the development for more free servers:
- BTC - bc1qm7j9qsn55ue3ke54n2f92el9jx8rfa343yqxq7
- ETH - 0x81466D108b0969DC26baE8AC040d15F706E9a231
For business queries, please drop an email to tanujsinghkushwah@gmail.com
License:
This project is covered under GNUv3 license. It uses ics-openvpn module which uses GNUv2 license. Please read and understand scope of the license before starting the development.