Exit Node Missing from Android App #928

Open
opened 2025-11-20 05:20:04 -05:00 by saavagebueno · 19 comments
Owner

Originally created by @W1BTR on GitHub (May 26, 2024).

Describe the problem

According to #289 exit nodes have been added to the android app on Android. However, I dont see any options to select an exit node anywhere.

App version 0.0.22

Originally created by @W1BTR on GitHub (May 26, 2024). **Describe the problem** According to #289 exit nodes have been added to the android app on Android. However, I dont see any options to select an exit node anywhere. App version 0.0.22
saavagebueno added the routesAndroid labels 2025-11-20 05:20:04 -05:00
Author
Owner

@mlsmaycon commented on GitHub (May 26, 2024):

Hello @W1BTR that is correct. Our android client does not support route selection yet. It will come in the next few weeks.

For the time being, you can control exit-node distribution with access control policies and distribution groups.

@mlsmaycon commented on GitHub (May 26, 2024): Hello @W1BTR that is correct. Our android client does not support route selection yet. It will come in the next few weeks. For the time being, you can control exit-node distribution with access control policies and distribution groups.
Author
Owner

@W1BTR commented on GitHub (May 26, 2024):

Gotchya, thank you! Glad it's coming in the next few weeks. Apple tv is a must for me as well - Im guessing it's being slowly rolled out to all the apps.

Also, I love that by default exit nodes expose LAN devices too, since that's what I normally need.

Thanks for all the hard work yall have been up to!

@W1BTR commented on GitHub (May 26, 2024): Gotchya, thank you! Glad it's coming in the next few weeks. Apple tv is a must for me as well - Im guessing it's being slowly rolled out to all the apps. Also, I love that by **default** exit nodes expose LAN devices too, since that's what I normally need. Thanks for all the hard work yall have been up to!
Author
Owner

@W1BTR commented on GitHub (Jun 13, 2024):

Any updates on this? I see releases up to v 0.27, but android is still on 0.23.

This would also be great on Apple TV OS as it will allow signing into streaming platforms on other networks. This is necessary when away from home for extended periods of time as it thinks it's another person living elsewhere and rejects the sign in

@W1BTR commented on GitHub (Jun 13, 2024): Any updates on this? I see releases up to v 0.27, but android is still on 0.23. This would also be great on Apple TV OS as it will allow signing into streaming platforms on other networks. This is necessary when away from home for extended periods of time as it thinks it's another person living elsewhere and rejects the sign in
Author
Owner

@markcst commented on GitHub (Dec 23, 2024):

Hello @W1BTR that is correct. Our android client does not support route selection yet. It will come in the next few weeks.

For the time being, you can control exit-node distribution with access control policies and distribution groups.

So, what's the state of this? Please, add exit nodes support for the Android app, it's something almost crucial and competitors like Tailscale/Heascale has it

@markcst commented on GitHub (Dec 23, 2024): > Hello @W1BTR that is correct. Our android client does not support route selection yet. It will come in the next few weeks. > > For the time being, you can control exit-node distribution with access control policies and distribution groups. So, what's the state of this? Please, add exit nodes support for the Android app, it's something almost crucial and competitors like Tailscale/Heascale has it
Author
Owner

@slimshizn commented on GitHub (Mar 19, 2025):

Hello @W1BTR that is correct. Our android client does not support route selection yet. It will come in the next few weeks.

For the time being, you can control exit-node distribution with access control policies and distribution groups.

Checking in on this, as this mentions the next few weeks and was May of 2024. I'm not seeing this on Android. @mlsmaycon

@slimshizn commented on GitHub (Mar 19, 2025): > Hello [@W1BTR](https://github.com/W1BTR) that is correct. Our android client does not support route selection yet. It will come in the next few weeks. > > For the time being, you can control exit-node distribution with access control policies and distribution groups. Checking in on this, as this mentions the next few weeks and was May of 2024. I'm not seeing this on Android. @mlsmaycon
Author
Owner

@pscriptos commented on GitHub (Apr 21, 2025):

Is there any new information on this yet?

I can't find the function in my Android app either.

It was almost a year ago when the information was announced here that this function would be coming in the next few weeks.

Thank you very much.

@pscriptos commented on GitHub (Apr 21, 2025): Is there any new information on this yet? I can't find the function in my Android app either. It was almost a year ago when the information was announced here that this function would be coming in the next few weeks. Thank you very much.
Author
Owner

@lixmal commented on GitHub (Apr 21, 2025):

Exit node (client) has been implemented in Android for a long time now, there's just no selection in the client. You can assign an exit node in the mangement dashboard.

@lixmal commented on GitHub (Apr 21, 2025): Exit node (client) has been implemented in Android for a long time now, there's just no selection in the client. You can assign an exit node in the mangement dashboard.
Author
Owner

@pscriptos commented on GitHub (Apr 21, 2025):

Exit node (client) has been implemented in Android for a long time now, there's just no selection in the client. You can assign an exit node in the mangement dashboard.

Is this also documented somewhere? It already works for my desktop app, but it doesn't work for my phone. Thank you.

@pscriptos commented on GitHub (Apr 21, 2025): > Exit node (client) has been implemented in Android for a long time now, there's just no selection in the client. You can assign an exit node in the mangement dashboard. Is this also documented somewhere? It already works for my desktop app, but it doesn't work for my phone. Thank you.
Author
Owner

@slimshizn commented on GitHub (Apr 21, 2025):

Exit node (client) has been implemented in Android for a long time now, there's just no selection in the client. You can assign an exit node in the mangement dashboard.

This is inconvenient and should mirror iOS. No reason to not be able to select via the app.

@slimshizn commented on GitHub (Apr 21, 2025): > Exit node (client) has been implemented in Android for a long time now, there's just no selection in the client. You can assign an exit node in the mangement dashboard. This is inconvenient and should mirror iOS. No reason to not be able to select via the app.
Author
Owner

@W1BTR commented on GitHub (Apr 22, 2025):

Agreed. We shouldnt need to have people call in to an admin each time they need to switch to another network.

@W1BTR commented on GitHub (Apr 22, 2025): Agreed. We shouldnt need to have people call in to an admin each time they need to switch to another network.
Author
Owner

@markcst commented on GitHub (Apr 24, 2025):

Exit node (client) has been implemented in Android for a long time now, there's just no selection in the client. You can assign an exit node in the mangement dashboard.

This is inconvenient and should mirror iOS. No reason to not be able to select via the app.

Absolutely agree. Why should the Android version have fewer features than the iOS version?
There are far fewer iOS devices in the world than Android, about a 30% (iOS) vs. a 70% (Android).

Also, both apps have not been updated for several months now. I understand that it takes time to do so, but at least adding the basic features mentioned above would really help...

For example: choosing exit nodes conveniently from the Android app, or even adding a quick toggle (to turn the VPN connection on or off without having to go to the app) in the Android notification dropdown

@markcst commented on GitHub (Apr 24, 2025): > > Exit node (client) has been implemented in Android for a long time now, there's just no selection in the client. You can assign an exit node in the mangement dashboard. > > This is inconvenient and should mirror iOS. No reason to not be able to select via the app. Absolutely agree. Why should the Android version have fewer features than the iOS version? There are far fewer iOS devices in the world than Android, about a 30% (iOS) vs. a 70% (Android). Also, both apps have not been updated for several months now. I understand that it takes time to do so, but at least adding the basic features mentioned above would really help... For example: choosing exit nodes conveniently from the Android app, or even adding a quick toggle (to turn the VPN connection on or off without having to go to the app) in the Android notification dropdown
Author
Owner

@nazarewk commented on GitHub (Apr 24, 2025):

FYI: we are now focusing on rewriting Android client from React into a native Android application (it's really hard to give any kind of ETA) . We will be addressing any remaining Android issues and inconsistencies between versions after the rewrite.

@nazarewk commented on GitHub (Apr 24, 2025): FYI: we are now focusing on rewriting Android client from React into a native Android application (it's really hard to give any kind of ETA) . We will be addressing any remaining Android issues and inconsistencies between versions after the rewrite.
Author
Owner

@markcst commented on GitHub (Apr 24, 2025):

FYI: we are now focusing on rewriting Android client from React into a native Android application (it's really hard to give any kind of ETA) . We will be addressing any remaining Android issues and inconsistencies between versions after the rewrite.

Thank you for the update! This is good news, especially as you are introducing these features. Good work and update us as soon as you can 🦾

@markcst commented on GitHub (Apr 24, 2025): > FYI: we are now focusing on rewriting Android client from React into a native Android application (it's really hard to give any kind of ETA) . We will be addressing any remaining Android issues and inconsistencies between versions after the rewrite. Thank you for the update! This is good news, especially as you are introducing these features. Good work and update us as soon as you can 🦾
Author
Owner

@Anaxagoras-bc commented on GitHub (Jun 2, 2025):

@nazarewk

Is there any way to track the progress of the android app? I just started setting up and testing netbird, but the lack of this feature has me staying with tailscale for now.

@Anaxagoras-bc commented on GitHub (Jun 2, 2025): @nazarewk Is there any way to track the progress of the android app? I just started setting up and testing netbird, but the lack of this feature has me staying with tailscale for now.
Author
Owner

@nazarewk commented on GitHub (Jun 5, 2025):

@DarkPhyber-hg I'm pretty sure https://github.com/netbirdio/android-client/tree/java is the branch.

We have just released the first version of the rewritten client as open test on Google Play, you can sign up for this at https://play.google.com/apps/testing/io.netbird.client

@nazarewk commented on GitHub (Jun 5, 2025): @DarkPhyber-hg I'm pretty sure https://github.com/netbirdio/android-client/tree/java is the branch. We have just released the first version of the rewritten client as open test on Google Play, you can sign up for this at https://play.google.com/apps/testing/io.netbird.client
Author
Owner

@Anaxagoras-bc commented on GitHub (Jun 9, 2025):

Thank you! If nothing else the new version actually connects without locking up on my phone! I had to downgrade to an older version to even get my android phone to work with netbird. Can't wait until they add support for selecting exit nodes.

@Anaxagoras-bc commented on GitHub (Jun 9, 2025): Thank you! If nothing else the new version actually connects without locking up on my phone! I had to downgrade to an older version to even get my android phone to work with netbird. Can't wait until they add support for selecting exit nodes.
Author
Owner

@skyline-ch commented on GitHub (Jun 29, 2025):

Hello, I'm testing Netbird and find it pleasant, even if I had trouble getting it to work properly at first, on all Android versions.
I installed the Beta 0.1.2 version. I can see the Networks tab, but there's only one resource.
I don't see the exit node, only the local network share.

I currently have the following infrastructure for testing:

  • At home, a VM with Ubuntu is used to share the local 192.168.1.0/24 and the internet connection as an exit node.
  • In a data center, I have a Shadow PC with Windows 11. I installed Netbird. I can access the local 192.168.1.0/24 network and use my home IP address as an internet connection.
  • An Android smartphone that I connect via 5G for testing. It can connect to the local 192.168.1.0/24 network, but it can't use the exit node; I can't see it.

In the admin dashboard, the Win 11 PC and Android PC are in the same group with the same simple configuration.
Is there anything I can provide to help debug the problem, or perhaps I misunderstood a configuration that needs to be done?

The smartphone is a OnePlus Nord (AC2003) with Android 12

@skyline-ch commented on GitHub (Jun 29, 2025): Hello, I'm testing Netbird and find it pleasant, even if I had trouble getting it to work properly at first, on all Android versions. I installed the Beta 0.1.2 version. I can see the Networks tab, but there's only one resource. I don't see the exit node, only the local network share. I currently have the following infrastructure for testing: - At home, a VM with Ubuntu is used to share the local 192.168.1.0/24 and the internet connection as an exit node. - In a data center, I have a Shadow PC with Windows 11. I installed Netbird. I can access the local 192.168.1.0/24 network and use my home IP address as an internet connection. - An Android smartphone that I connect via 5G for testing. It can connect to the local 192.168.1.0/24 network, but it can't use the exit node; I can't see it. In the admin dashboard, the Win 11 PC and Android PC are in the same group with the same simple configuration. Is there anything I can provide to help debug the problem, or perhaps I misunderstood a configuration that needs to be done? The smartphone is a OnePlus Nord (AC2003) with Android 12
Author
Owner

@b3nab commented on GitHub (Aug 24, 2025):

FYI: we are now focusing on rewriting Android client from React into a native Android application (it's really hard to give any kind of ETA) . We will be addressing any remaining Android issues and inconsistencies between versions after the rewrite.

I'm wondering why has been decided this way to have two mobile clients written in two different languages when there are battle tested frameworks like react-native which seems to solve the UI aspect quite well while keeping the possibility to integrate native and platform-specific code.

Also (as far I understood looking at the code) the "core library" of the mobile apps is always a go module that is neither android nor ios default language.
There are maybe some other discussions/blog posts/articles/something already written that explains the choices behind the project?

@b3nab commented on GitHub (Aug 24, 2025): > FYI: we are now focusing on rewriting Android client from React into a native Android application (it's really hard to give any kind of ETA) . We will be addressing any remaining Android issues and inconsistencies between versions after the rewrite. I'm wondering why has been decided this way to have two mobile clients written in two different languages when there are battle tested frameworks like react-native which seems to solve the UI aspect quite well while keeping the possibility to integrate native and platform-specific code. Also (as far I understood looking at the code) the "core library" of the mobile apps is always a go module that is neither android nor ios default language. There are maybe some other discussions/blog posts/articles/something already written that explains the choices behind the project?
Author
Owner

@W1BTR commented on GitHub (Aug 25, 2025):

FYI: we are now focusing on rewriting Android client from React into a native Android application (it's really hard to give any kind of ETA) . We will be addressing any remaining Android issues and inconsistencies between versions after the rewrite.

I'm wondering why has been decided this way to have two mobile clients written in two different languages when there are battle tested frameworks like react-native which seems to solve the UI aspect quite well while keeping the possibility to integrate native and platform-specific code.

Also (as far I understood looking at the code) the "core library" of the mobile apps is always a go module that is neither android nor ios default language. There are maybe some other discussions/blog posts/articles/something already written that explains the choices behind the project?

IIRC React native is awesome, but rather inefficient, which is especially noticeable on batter powered devices, and especially an issue on apps that would be running non-stop, such as Netbird.

@W1BTR commented on GitHub (Aug 25, 2025): > > FYI: we are now focusing on rewriting Android client from React into a native Android application (it's really hard to give any kind of ETA) . We will be addressing any remaining Android issues and inconsistencies between versions after the rewrite. > > I'm wondering why has been decided this way to have two mobile clients written in two different languages when there are battle tested frameworks like react-native which seems to solve the UI aspect quite well while keeping the possibility to integrate native and platform-specific code. > > Also (as far I understood looking at the code) the "core library" of the mobile apps is always a go module that is neither android nor ios default language. There are maybe some other discussions/blog posts/articles/something already written that explains the choices behind the project? IIRC React native is awesome, but rather inefficient, which is especially noticeable on batter powered devices, and especially an issue on apps that would be running non-stop, such as Netbird.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#928