All Projects → ProtonVPN → Android App

ProtonVPN / Android App

Licence: gpl-3.0
Official ProtonVPN Android app

Programming Languages

java
68154 projects - #9 most used programming language
c
50402 projects - #5 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to Android App

linux-cli-community
Linux command-line client for ProtonVPN. Written in Python.
Stars: ✭ 1,166 (+113.16%)
Mutual labels:  openvpn, vpn
Openpyn Nordvpn
Easily connect to and switch between, OpenVPN servers hosted by NordVPN on Linux (+patch leakes)
Stars: ✭ 544 (-0.55%)
Mutual labels:  vpn, openvpn
watchblob
Connect to 2-factor WatchGuard VPNs on Linux with OpenVPN
Stars: ✭ 15 (-97.26%)
Mutual labels:  openvpn, vpn
AdGuard-WireGuard-Unbound-Cloudflare
The Ultimate Network Security Guide 🔒 Protection | 🔎 Privacy | 🚀 Performance on home network 24/7 🕛 Accessible anywhere 🌏
Stars: ✭ 160 (-70.75%)
Mutual labels:  openvpn, vpn
Passepartout Apple
User-friendly OpenVPN client app for iOS and macOS.
Stars: ✭ 284 (-48.08%)
Mutual labels:  vpn, openvpn
desktop-app-daemon
Official IVPN Desktop app (service)
Stars: ✭ 34 (-93.78%)
Mutual labels:  openvpn, vpn
yubi-oath-vpn
Simply insert your Yubikey and connect automatically to your TOTP-2FA-VPN.
Stars: ✭ 15 (-97.26%)
Mutual labels:  openvpn, vpn
killswitch-windows
VPN kill switch for windows.
Stars: ✭ 22 (-95.98%)
Mutual labels:  openvpn, vpn
Easyvpn
Easily connect to a VPN in a country of your choice.
Stars: ✭ 492 (-10.05%)
Mutual labels:  vpn, openvpn
Android Vpn Client Ics Openvpn
⭐ Create your Android VPN App by using Android Studio and publish to Google Play Store 🤖
Stars: ✭ 270 (-50.64%)
Mutual labels:  vpn, openvpn
nordvpn
NordVpn Docker Client
Stars: ✭ 475 (-13.16%)
Mutual labels:  openvpn, vpn
Arch Delugevpn
Docker build script for Arch Linux base with Deluge, Privoxy and OpenVPN
Stars: ✭ 404 (-26.14%)
Mutual labels:  vpn, openvpn
chef-openvpn
A multi-configuration OpenVPN server cookbook featuring IPv6 support and easy setup of client files.
Stars: ✭ 23 (-95.8%)
Mutual labels:  openvpn, vpn
Open2Nord
A Python script that makes connecting to NordVPN servers through OpenVPN GUI a lot easier, and adds extra functionality
Stars: ✭ 22 (-95.98%)
Mutual labels:  openvpn, vpn
openvpn-unroot
Run OpenVPN without root privileges
Stars: ✭ 27 (-95.06%)
Mutual labels:  openvpn, vpn
k8s-ovpn-chart
[DEPRECATED] Helm chart for a private OpenVPN server
Stars: ✭ 19 (-96.53%)
Mutual labels:  openvpn, vpn
desktop-app-ui2
IVPN Desktop app
Stars: ✭ 19 (-96.53%)
Mutual labels:  openvpn, vpn
netmaker
Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
Stars: ✭ 4,147 (+658.14%)
Mutual labels:  openvpn, vpn
Ovpm
OpenVPN Management Server - Effortless and free OpenVPN server administration
Stars: ✭ 256 (-53.2%)
Mutual labels:  vpn, openvpn
Kube Openvpn
🔐 Kubernetes native OpenVPN
Stars: ✭ 331 (-39.49%)
Mutual labels:  vpn, openvpn

ProtonVPN for Android

Copyright (c) 2019 Proton Technologies AG

Build instructions

  • Install sdk, ndk, cmake, swig
  • Clone this repository
  • ./gradlew assembleProdDebug or open and build in Android Studio

Build release

To complete a release build signing keys need to be provided: ./gradlew assembleProdRelease -PkeyStoreFilePath= -PkeyStoreKeyAlias= -PkeyStorePassword= -PkeyStoreKeyPassword=`

Rebuild strongswan

This project is using native libraries from open-source project Strongswan. To simplify the build process we include prebuilt copies of those libraries here. To rebuild them follow these steps:

  • git submodule init followed by git submodule update in the main directory (we include original Strongswan repository as a git submodule)
  • cd strongswan and follow build instructions from Strongswan to rebuild native libraries
  • after a successful build, run cp -r strongswan/src/frontends/android/app/src/main/libs/* app/src/main/jniLibs in our main directory to copy the prebuilt libraries and rebuild the ProtonVPN client

Code style

Project uses agreed code style ProtonStyle.xml for java. Import it in Android studio via File>>Settings>>Editor>>Code style>>Import Scheme For kotlin's code style we use ktlint with default rules

Contributing

If you would like to contribute, please keep in mind the following rules:

  • Try to stick to the project's existing code style and naming conventions
  • The code base is mostly written in Java, but we are transitioning to Kotlin, so new code should be written in Kotlin where possible
  • Our preferred tech stack is Kotlin, MVVM, data-binding and coroutines, so any new features or large refactors should conform to this preferred tech stack
  • After adding/updating open source dependencies run gradlew updateLicensesJson to update attributions.

Internally our CI automatically checks all pull requests for code style issues, and runs our tests. However you can run those locally as well.

gradlew checkstyle
gradlew detekt
gradlew test
gradlew androidTest

By making a contribution to this project you agree to the following:

  1. I assign any and all copyright related to the contribution to Proton Technologies AG;
  2. I certify that the contribution was created in whole by me;
  3. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it) is maintained indefinitely and may be redistributed with this project or the open source license(s) involved.

Manage Image for the CI

Create an image NAME_IMAGE:branch-

$ make image [branch=name]

For the dev ~ Build the image on your computer: output ci-android:latest

$ make local

Run the image built via make local on your compute so you can inspect its content

$ make debug-local

Deploy the image of the CI from your computer

$ make deploy-local: login-deploy imag

Versioning

  • Version matches format: [major][minor][patch]

License

The code and datafiles in this distribution are licensed under the terms of the GPLv3 as published by the Free Software Foundation. See https://www.gnu.org/licenses/ for a copy of this license.

Copyright (c) 2019 Proton Technologies AG

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].