IVPN for Android is a native app built using Java and Kotlin languages. Some of the features include: multiple protocols (OpenVPN, WireGuard), Kill-switch, Multi-Hop, Trusted Networks, AntiTracker, Custom DNS, Always-on VPN, Start on boot and etc. IVPN Android app is distributed on the Google Play Store and F-Droid.
- About this Repo
- Installation
- Deployment
- Versioning
- Contributing
- Security Policy
- License
- Authors
- Acknowledgements
This is the official Git repo of the IVPN for Android.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Android SDK (can get from Android Studio)
- Java
- Kotlin (can get from Android Studio)
- Git
- Gradle
Project dependencies:
- retrofit2
- gson
- streamsupport
- sentry-android
- slf4j
- logback-android
- mockito
- powermock
- dagger
- openvpn
- wireguard
There are 2 different product flavours in the project. First - spread, which value can be "store" or "site". "Site" spread flavour contains additional features(like Antitracker) that are not allowed in Google Play Store. Also, the differences in payment methods.
Second product flavour - API, there are two of them: stage and production.
So based on flavours and build types(release, debug) eight active build variants are available:
siteProductionDebug
siteProductionRelease
siteStageDebug
siteStageRelease
storeProductionDebug
storeProductionRelease
storeStageDebug
storeStageRelease
You can use each of them to build the application by Gradle from the command line or from Android Studio.
Project is using versioning for creating release versions in the format:
x.y
x
stands for a major version
y
stands for a minor version
If you are interested in contributing to IVPN for Android project, please read our Contributing Guidelines.
If you want to report a security problem, please read our Security Policy.
This project is licensed under the GPLv3 - see the License file for details.
See the Authors file for the list of contributors who participated in this project.
See the Acknowledgements file for the list of third party libraries used in this project.