Start using NetBird at netbird.io
See Documentation
Join our Slack channel
The NetBird iOS client allows connections from mobile devices running iOS 14.0 to private resources in the NetBird network.
You can download and install the app from the App Store:
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
- iOS 14.0
- Xcode 12.0
- gomobile
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.
NetBird project is composed of multiple repositories:
- NetBird: https://github.com/netbirdio/netbird, contains the code for the agents and control plane services.
- Dashboard: https://github.com/netbirdio/dashboard, contains the Administration UI for the management service
- Documentations: https://github.com/netbirdio/docs, contains the documentation from https://netbird.io/docs
- Android Client: https://github.com/netbirdio/android-client