1
0
Fork
You've already forked JetBird
0
forked from bg443/JetBird
An unofficial, FLOSS, native Android NetBird client built with privacy in mind
  • Kotlin 97.7%
  • Shell 1.8%
  • C 0.4%
  • CMake 0.1%
Find a file
2025年11月12日 18:07:29 +00:00
.gitea/issue_template JetBird 2024年08月18日 16:28:44 +01:00
.idea Add error handling to commit -> tag lookup 2025年07月09日 22:22:40 +01:00
app Add more packages to exclusion list 2025年11月12日 18:07:29 +00:00
assets Update metadata 2025年06月04日 18:23:43 +01:00
fastlane/metadata/android/en-US Add changelog 2025年09月24日 16:37:19 +01:00
gradle Downgrade Gradle and AGP for F-Droid 2025年08月10日 12:32:44 +01:00
jni Update cmake paths 2025年05月28日 11:18:51 +01:00
lib JetBird 2024年08月18日 16:28:44 +01:00
netbird @5853b5553c Update NetBird to v0.58.1 2025年09月24日 16:35:13 +01:00
patches Update NetBird to v0.58.1 2025年09月24日 16:35:13 +01:00
scripts Add more packages to exclusion list 2025年11月12日 18:07:29 +00:00
.gitignore Implement JNI SIGSYS handler 2025年02月24日 22:49:47 +00:00
.gitmodules JetBird 2024年08月18日 16:28:44 +01:00
.woodpecker.yml Add more packages to exclusion list 2025年11月12日 18:07:29 +00:00
build.gradle.kts JetBird 2024年08月18日 16:28:44 +01:00
gradle.properties JetBird 2024年08月18日 16:28:44 +01:00
gradlew JetBird 2024年08月18日 16:28:44 +01:00
gradlew.bat JetBird 2024年08月18日 16:28:44 +01:00
LICENCE.md JetBird 2024年08月18日 16:28:44 +01:00
README.md Update dependencies 2025年08月09日 14:03:50 +01:00
settings.gradle.kts JetBird 2024年08月18日 16:28:44 +01:00

JetBird banner

An unofficial, FLOSS, native Android NetBird client built with privacy in mind

About

JetBird is an implementation of the NetBird client for Android.

It has been built with privacy in mind and contains no blobs or trackers.

Features

  • Native UI
  • Use SSO or setup keys
  • Use pre-shared keys
  • See all logs in real time
  • Quick tile
  • Exclude apps from the tunnel
  • Exit nodes (with client-side customisation)
  • Tablet support
  • Reconnect on restart
  • Relay support from JetBird v1.0.4+ (with NetBird v0.29.0+ peers)
  • TV support
  • Lazy connection support - NetBird docs
  • External broadcast receiver for automation (e.g. via Tasker)

Differences

There are a few differences between NetBird official Android client and JetBird. Some of these features rely on patches to the NetBird source (these are in patches/):

  • See all peer info
  • Use setup keys even with SSO support
  • Rosenpass support
  • Split tunneling via routes and/or per app
  • l18n

Install

Prebuilt binaries

  • Available to download in the releases tab
  • You can see the steps of the build on JetBird's CI page
  • Where possible, download the specific build for your device's architecture because the NetBird client is ~25MB and downloading the universal version will download all 4 architectures regardless of if you need them

Build from source

  1. Build NetBird
./scripts/build_netbird.sh

JetBird's NetBird client patches will be applied automatically.

  1. Build APK
./gradlew :app:assembleRelease

Privacy

JetBird does not, and never will, call home.

JetBird/NetBird has to talk to your management server, which will have it's own privacy policy.

In the NetBird management portal, admins will be able to see:

  • You are using JetBird
  • JetBird and NetBird versions
  • Device model e.g. Pixel 9 Pro Fold
  • Operating system e.g. Android 14

JetBird makes no extra connections or requests outside of the NetBird client.

Permissions

JetBird requires a few permissions in order to function:

  • INTERNET
  • FOREGROUND_SERVICE/FOREGROUND_SERVICE_SYSTEM_EXEMPTED - used to run the VPN service
  • ACCESS_NETWORK_STATE/CHANGE_NETWORK_STATE - used to monitor network to check if VPN is already running etc.
  • POST_NOTIFICATIONS - used for notifications when JetBird is running and when upstream sends new routes
  • QUERY_ALL_PACKAGES - used so you can choose which apps aren't tunneled
  • RECEIVE_BOOT_COMPLETED - used to start the tunnel when the device reboots - this is disabled by default in the manifest and will enable itself once you enable it in settings

Notifications

Notifications are optional but Android requires JetBird to show a notification when the tunnel is running. This is dismissible on Android 13+.

JetBird will also send you a notification when there are route changes, as you will need to restart the tunnel. This can be configured in the settings to automatically restart the tunnel but this process will stop the VPN momentarily.

Screenshots

Phone

Tablet

Issues

As JetBird is just a wrapper around the official NetBird client, most connection/peer/management issues will reside with upstream.

Please open an issue using the template provided if you believe you have found a bug or have a feature request!

Translations

You can contribute to JetBird translations here

Translation status

Libraries

See a full list of libraries used here

License


JetBird is free software: you can redistribute it and/or modify it under the terms of the GNU GPL-3.0-or-later License as published by the Free Software Foundation.

This software is provided with no warranty.

Other

"NetBird" and the "NetBird" logo are copyright owned by or licensed to Wiretrustee UG.

"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld.

"IzzyOnDroid" and the "IzzyOnDroid" logo are registered trademarks of IzzySoft.