Giter VIP home page Giter VIP logo

mineiwik / android-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from netbirdio/android-client

0.0 0.0 0.0 46.51 MB

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

Home Page: https://netbird.io

License: GNU General Public License v3.0

Shell 0.27% JavaScript 2.01% Ruby 1.72% Objective-C 1.25% Java 32.89% TypeScript 61.22% Objective-C++ 0.53% Swift 0.11%

android-client's Introduction


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

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 and react-native-app projects)
  • gradle (https://gradle.org/install/)
  • npm 1.18, yarn and nvm:
# 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

mkdir ~/projects
cd projects
# clone netbird repo
git clone [email protected]:netbirdio/netbird.git
# clone react native app repo
git clone [email protected]:netbirdio/react-native-app.git
  1. 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.
  2. export JDK and Android home vars, on macOS they are: (please contribute with Linux equivalent)
# replace <USERNAME> with your name
export ANDROID_HOME=/Users/<USERNAME>/Library/Android/sdk
export JAVA_HOME=/Applications/Android Studio.app/Contents/jbr/Contents/Home
  1. Install NDK and CMake
cd ~/projects/react-native-app
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --install "ndk;23.1.7779620"
  1. Build the gomobile lib and the Android client lib:
cd ~/projects/react-native-app
bash -x build-android-lib.sh ~/projects/netbird
  1. Install the react native app dependencies
yarn install
yarn add file:./react/netbird-lib
  1. Run the dev version
yarn start
  1. 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
cd ~/projects/react-native-app
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
  1. run gradlew
cd ~/projects/react-native-app/android
./gradlew bundleDebug

android-client's People

Contributors

mlsmaycon avatar pappz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.