Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/netbirdio/android-client

Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls.
https://github.com/netbirdio/android-client

android golang gomobile mesh mesh-networks nat-transversal netbird vpn wireguard wireguard-vpn zero-trust-network-access

Last synced: 4 days ago
JSON representation

Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls.

Awesome Lists containing this project

README

        

















Start using NetBird at netbird.io


See Documentation


Join our Slack channel



# NetBird Android client

The NetBird Android client allows connections from mobile devices running Android to private resources in the NetBird network.

## Screenshots


menu
peer-overview
mainscreen

## Install
You can download and install the app from the Google Play Store:

[Get it on Google Play](https://play.google.com/store/apps/details?id=io.netbird.client)

## Building from source
### Requirements
We need the following software:
* Java 1.11. Usually comes with Android Studio
* android studio initialized with jdk and emulator (not covered here, is a req from android-client project)
* gradle (https://gradle.org/install/)
* npm 1.18, yarn and nvm:
```shell
# download and install nvm https://github.com/nvm-sh/nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
#
nvm install v19
nvm use v19
npm install -g yarn
npm install -g npx
```

### run locally
1. close all repositories:
> assuming you use a path like ~/projects locally
```shell
mkdir ~/projects
cd projects
# clone netbird repo
git clone [email protected]:netbirdio/netbird.git
# clone react native app repo
git clone [email protected]:netbirdio/android-client.git
```
2. Checkout the repositories to the branches you want to test. If you want the latest, check the status information on your IDE or on https://github.com and verify the branch list and commit history.
3. export JDK and Android home vars, on macOS they are: (please contribute with Linux equivalent)
```shell
# replace with your name
export ANDROID_HOME=/Users//Library/Android/sdk
export JAVA_HOME=/Applications/Android Studio.app/Contents/jbr/Contents/Home
```
4. Install NDK and CMake
```shell
cd ~/projects/android-client
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --install "ndk;23.1.7779620"
```
5. Build the gomobile lib and the Android client lib:
````shell
cd ~/projects/android-client
bash -x build-android-lib.sh ~/projects/netbird
````
6. Install the react native app dependencies
```shell
yarn install
yarn add file:./react/netbird-lib
```
7. Run the dev version
```shell
yarn start
```
8. select `a` to install it on your Android phone or emulator

### Generate debug bundle
Follow the steps to run locally until the step 5 then run the following steps:
1. run npx from react native app repo
```shell
cd ~/projects/android-client
npx react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
```
2. run gradlew
```shell
cd ~/projects/android-client/android
./gradlew bundleDebug
```