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