yggdrasil-android icon indicating copy to clipboard operation
yggdrasil-android copied to clipboard

Android API 30+ restrictions and peer discovery

Open Revertron opened this issue 1 year ago • 5 comments

This app has build API 29 set, but it is "deprecated" from Google's view, and it will not accept such apps to Google Play. Moreover, there are a bunch of dependencies, that are too old, but also need the API increments to update.

I've tested such "drastic" measures. The app works normally, but local peer discovery doesn't work, because Go code can't find local IPs.

See the same issue in Syncthing: https://github.com/syncthing/syncthing-android/issues/1628

I think, that we can add one method to yggdrasil-go API, some method, say update_interfaces() that will get a map or JSON with interface names and an array of their IPs.

Then I can add the Kotlin code that will listen for network changes and update those IPs on the Go side.

P.S.: This function is getting empty map: https://github.com/yggdrasil-network/yggdrasil-go/blob/cfa293d189fae9af9c025bf40a19e9ac69f8f839/src/multicast/multicast.go#L143

Revertron avatar Oct 29 '22 18:10 Revertron

Any updates on this?

flikites avatar Jan 12 '23 23:01 flikites

Will this fix it? https://github.com/yggdrasil-network/yggdrasil-android/commit/f4e1a75cfc9681e97e461f219d460fe87b26e9e0

dilinger avatar Oct 29 '23 19:10 dilinger

Will this fix it? f4e1a75

Nope. This can help with Android 12, and only for receiving beacons from other nodes.

I will try to implement some workaround to fix this in a couple of days.

Revertron avatar Oct 29 '23 20:10 Revertron

Multicast stopped working after updating to Yggdrasil 0.5. LineageOS 18.1 Android 11.

eu.neilalexander.yggdrasil 0.1-015

Multicast works in the same application on LineageOS 17.1 Android 10.

Is this the same issue or something different?

shibe2 avatar Nov 09 '23 08:11 shibe2

Multicast stopped working after updating to Yggdrasil 0.5. LineageOS 18.1 Android 11.

eu.neilalexander.yggdrasil 0.1-015

Multicast works in the same application on LineageOS 17.1 Android 10.

Is this the same issue or something different?

Same here, I can't get multicast to work on DivestOS 18.1 (Android 11) using Yggdrasil 0.1-016 from F-Droid while connected to the same Wifi network as my other machines. The Fedora and Debian machines can see each other as from the output of sudo yggdrasilctl getpeers No password set for multicast discovery. All nodes are connected to the same peer and can ping each other. It just sucks that traffic has to go through the ISP when doing anything on the Android.

Ke1i avatar Mar 25 '24 15:03 Ke1i