Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/netbirdio/android-client
- Owner: netbirdio
- License: gpl-3.0
- Created: 2024-02-27T09:07:34.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-12-04T17:58:11.000Z (2 months ago)
- Last Synced: 2025-01-23T18:07:42.845Z (12 days ago)
- Topics: android, golang, gomobile, mesh, mesh-networks, nat-transversal, netbird, vpn, wireguard, wireguard-vpn, zero-trust-network-access
- Language: TypeScript
- Homepage: https://netbird.io
- Size: 45.4 MB
- Stars: 58
- Watchers: 7
- Forks: 16
- Open Issues: 16
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
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
## Install
You can download and install the app from the Google Play Store:[](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
```