GithubHelp home page GithubHelp logo

netbirdio / ios-client Goto Github PK

View Code? Open in Web Editor NEW
28.0 7.0 4.0 8.6 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

Objective-C 1.90% Swift 92.28% C 5.55% Shell 0.27%
golang gomobile ios mesh nat-traversal netbird vpn wireguard wireguard-vpn zero-trust-network-access

ios-client's Introduction


Start using NetBird at netbird.io
See Documentation
Join our Slack channel


NetBird iOS Client

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

Install

You can download and install the app from the App Store:

Download on the App Store

Screenshots

mainscreen peer-overview menu

Code structure

The code is divided into 4 parts:

  • The main netbird Go code from the NetBird repo which is compiled into an xcframework. This contains most of the client logic.
  • The network extension /NetbirdNetworkExtension that is running in the background where the compiled Go code is executed.
  • The UI and app code under /NetBird
  • The /NetbirdKit/NetworkExtensionAdapter that controls the extension and builds the link between UI and extension

Requirements

  • iOS 14.0+
  • Xcode 12.0+
  • gomobile

Run locally

To build the app, this repository and the main netbird repository are needed.

git clone https://github.com/netbirdio/netbird.git
git clone https://github.com/netbirdio/ios-client.git

Building the xcframework from the main netbird repo. This needs to be stored in the root directory of the app

cd netbird
gomobile bind -target=ios -bundleid=io.netbird.framework -o ../ios-client/NetBirdSDK.xcframework ./client/ios/NetBirdSDK

Open the Xcode project, and we are ready to go.

Note: The app can not be run in the iOS simulator. To test the app, a physical device needs to be connected to Xcode via cable and set as the run destination.

Other project repositories

NetBird project is composed of multiple repositories:

ios-client's People

Contributors

mlsmaycon avatar pascal-fischer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ios-client's Issues

Keep refreshing in the background to ensure that Netbird is in a connected state.

After my Netbird ios-client opened the connection, I switched to other apps. Not long after opening other apps, Netbird ios-client was in disconnected state.

It is hoped that the ios-client of Netbird will add the ability to keep refreshing in the background to ensure that Netbird ios-client is in a connected state.

iOS 17.4.1
netbird ios-client 0.0.3

Suggestion: Add IE8n support for IOS clients

synopsis

Currently netbird has released a client for IOS.

explicit description

  • However, the interface is in English.
  • It is recommended to add translatable strings to netbird for IOS, which can be hosted using crowdin.
  • crowdin offers special licenses for open source projects, here is a link to apply for one.
  • I hope this helps.
    thanks

Suggestion: add peer connection mode info

It would be helpful if you in the app could get the same connection info regarding all the peers as if running the netbird status -d command. Sometimes you need to know if the connection is p2p or relayed.

Network route problem

Hi!

I have a an intermittent problem on the iOS client. This is what I do:

  • Network route is configured
  • On iOS, connect to Netbird
  • Try to ping any internal ip/name, it doesn't work
  • Connect/disconnect a few times, eventually it works.
  • Sometimes, I try on the iOS client to disable/reenable the network route and everything starts working.

It's weird because it's intermittent, sometimes I'm able to ping, sometimes not. So, I guess that means that the configuration is correct.

What information do you need me to provide to help debug it? This behavior does not happen on the other clients (Mac or Linux)

Thanks!

VPN On Demand in iOS

Is your feature request related to a problem? Please describe.
When a iOS device reboots vpn connection is not reinstated and connection rules are not supported.

Describe the solution you'd like
Support VPN On Demand for apple devices following there documentation.

Describe alternatives you've considered
Alternative solution is Tailscale https://tailscale.com/kb/1291/ios-vpn-on-demand

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.