MysteriumVPN: a decentralized VPN
Mobile VPN app for Mysterium Network.
Getting started (development)
- Install Android Studio
brew cask install android-platform-tools
- Download project's firebase crashlytics config -
google-services.jsonfrom https://console.firebase.google.com/u/1/project/mysterium-vpn/overview and place it in
Build Mysterium Node from source code:
Uncomment local dependency in
//implementation 'network.mysterium:mobile-node:0.8.1' implementation files('libs/Mysterium.aar')
Building release APK
Install Fastlane (if don't have it yet)
brew cask install fastlane
Make release build:
source fastlane/.env.local && fastlane android build
APK will be available under
You can install this APK by:
- uploading it to phone, or
adb install android/app/build/outputs/apk/release/app-release.apk
Creating releases locally
- Go to https://console.firebase.google.com
- Open android project
- Put it to
Create signing key:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
Setup values in environment:
cp fastlane/.env.local.dist fastlane/.env.local vim fastlane/.env.local
- Setup Fastlane, more info in fastlane/README.md
- Create a PR with bumped fastlane/android_version_code (Google play store requires new version code for each release).
- Ater merge to master create new tag in github repository. See example commit.
Public releases are promoted and managed from the Google Play Console.
Updating CI image
Repository contains Dockerfile which includes OpenJDK and Fastlane to build, test and publish Android from Docker.
TAG=1.0.0 docker build -t mysteriumnetwork/mobile-ci:$TAG . docker push mysteriumnetwork/mobile-ci:$TAG
Bump mobile-node version
- Update "mysterium.network:mobile-node" gradle dependency to a published version of mobile-node