Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
  • obfsvpn_fix_kcp_perf
  • obfsvpn_error_handling
  • create_v5_ffi
  • integrate_bitmask-core
  • tun2torsocks_rebase
  • fix_osx_golang_download2
  • fix_osx_golang_download
  • vpn-hole-patch
  • tun2torsocks
  • shapeshifter_as_a_module
11 results

bitmask-core-android

  • Clone with SSH
  • Clone with HTTPS
  • Forked from leap / Android Libs / Bitmask Core
    1 commit behind, 33 commits ahead of the upstream repository.

    Bitmask Core

    This repository contains all golang dependencies currently used in Bitmask Android and custom branded versions of it:

    • obfsvpn: a library containing different obfs4 based censorship circumvention transports
    • IPtProxy: a library wrapping snowflake client and snowflake proxy, forked from https://github.com/tladesignz/IPtProxy and adapted for our purposes
    • pgpverify: a small library for verifying the integrity of downloaded app updates (only used in apks distributed from a website)
    • motd: Message of the day library, shared between Bitmask Desktop and Mobile
    • more shared code between Bitmask Desktop and Mobile clients (tbd.)

    Run the follwing command to build Bitmask Core for all Android build flavors (runs currently only on Linux 64-bit distros):

    ./build_core.sh

    Adding new go libraries

    1. In order to add new library we currently add them as git submodules.
    git submodule add git://<repository_url.git> <new_lib_directory>
    1. Add the new go module to the go workspace.
    go work use <new_lib_directory>
    1. Make sure the bitmask-core-android/golang directory is empty.
    # you should be in bitmask-core-android
    sudo rm -rf ./golang/*
    1. And let go add any missing modules.
    # you should be in bitmask-core-android
    go mod tidy
    1. extend the gomobile bind statements with the new module in ./build_core.sh and ./build_core_dev.sh
    2. test the changes with running ./build_core_dev.sh
    3. git add your changes and commit them
    4. run ./build_core.sh and make sure it succeeds