• Stars
    star
    1,870
  • Rank 23,926 (Top 0.5 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Official ProtonVPN Android app

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=`

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

More Repositories

1

win-app

Official ProtonVPN Windows app
C#
1,157
star
2

protonvpn-cli

Legacy protonvpn-cli: ProtonVPN Command-Line Tool for Linux and macOS. This has been superseded by https://github.com/ProtonVPN/protonvpn-cli-ng
Shell
602
star
3

linux-app

Official ProtonVPN Linux app
Python
396
star
4

ios-app

Superseded by https://github.com/ProtonVPN/ios-mac-app
Swift
341
star
5

linux-cli

Official ProtonVPN Linux app (CLI)
Python
326
star
6

ios-mac-app

Official ProtonVPN iOS and macOS app
Swift
282
star
7

mac-app

Superseded by https://github.com/ProtonVPN/ios-mac-app
Swift
235
star
8

proton-vpn-gtk-app

Official ProtonVPN Linux app
Python
96
star
9

vpncore

Core application code shared between the iOS and macOS apps
Swift
57
star
10

proton-vpn-settings

ProtonVPN React web application
JavaScript
57
star
11

protonvpn-nm-lib

Python
39
star
12

wireguard-go

Go
23
star
13

scripts

ProtonVPN's related scripts and static contents.
Shell
23
star
14

go-vpn-lib

Go
20
star
15

win-openvpn

Scripts for building OpenVPN used in ProtonVPN Windows app
Dockerfile
15
star
16

win-tap-adapter

Scripts for building OpenVPN TAP adapter used in ProtonVPN Windows app
PowerShell
14
star
17

wireguard-android

Kotlin
8
star
18

python-proton-vpn-api-core

Python
5
star
19

python-proton-core

Python
4
star
20

python-proton-vpn-session

Python
4
star
21

python-proton-vpn-connection

Python
3
star
22

python-proton-keyring-linux

Python
2
star
23

python-proton-vpn-logger

Python
2
star
24

python-proton-vpn-network-manager-openvpn

Python
2
star
25

python-proton-vpn-killswitch

Python
2
star
26

.github

2
star
27

python-proton-vpn-killswitch-network-manager

Python
1
star
28

python-proton-vpn-network-manager

Python
1
star
29

python-proton-keyring-linux-secretservice

Python
1
star