Skip to content

defcon201/mysterium-vpn-mobile

 
 

Repository files navigation

MysteriumVPN: a decentralized VPN

Mobile VPN app for Mysterium Network.

Get it on F-Droid Get it on Google Play

Getting started (development)

  1. Install Android Studio
  2. brew install --cask android-studio
  3. Download project's firebase crashlytics config - google-services.json from https://console.firebase.google.com/u/1/project/mysterium-vpn/overview and place it in android/app

Local development

  • Build Mysterium Node from source code:

    util_scripts/build-node.sh
  • Uncomment local dependency in android/app/build.gradle:

    //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 install fastlane
  • Make release build:

    source fastlane/.env.local && fastlane android build

APK will be available under android/app/build/outputs/apk/release/app-release.apk

You can install this APK by:

  • uploading it to phone, or
  • using adb install android/app/build/outputs/apk/release/app-release.apk

Creating releases locally

cp fastlane/.env.local.dist fastlane/.env.local
vim fastlane/.env.local
  • Setup Fastlane, more info in fastlane/README.md

Releases

Internal release

  1. Create a PR with bumped fastlane/android_version_code (Google play store requires new version code for each release).
  2. Ater merge to master create new tag in github repository. See example commit.

Public release

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

Contributing

Bump mobile-node version

About

Mobile client for Mysterium Network

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 99.3%
  • Other 0.7%