seemoo-lab / opendrop

An open Apple AirDrop implementation written in Python
https://owlink.org
GNU General Public License v3.0
8.63k stars 273 forks source link

android app #9

Open aleksandersumowski opened 5 years ago

aleksandersumowski commented 5 years ago

Hi, is it possible to create an Android app that would enable sharing via AirDrop?

schmittner commented 5 years ago

In principle, it should be fairly straightforward to reimplement this code in an Android app. The problem is that Apple devices exclusively use AWDL as the link layer. To ensure interoperability, we currently need our own AWDL implementation OWL on the Linux machine – which will only run on a rooted device (if at all) since we need monitor mode and frame injection. If Apple one day decides to switch to Wi-Fi Aware for AirDrop, this might become feasible.

anonymix007 commented 4 years ago

For some users, root is much less a problem than trying to get python version working on Android. So I also would be very interested in Android version.

boynextdoor11 commented 2 years ago

Could i just paste the code in termux?

Atemu commented 2 years ago

If you have root access and your WiFi chip and firmware support active monitoring, you should be able to run this from Termux. In theory at least.

boynextdoor11 commented 2 years ago

@Atemu how to know if i need root or my stuff has this (poco x3 pro) + i search for termux alternative because i read it doesn't support python 3.6

strugee commented 2 years ago

@boynextdoor11 you absolutely need root in order to speak AWDL (see https://github.com/seemoo-lab/opendrop/issues/9#issuecomment-522560417). There is no Android device that will let you do monitor mode and frame injection without root.

If you have root, there's still a good chance it won't work because the WiFi radio in your phone may not support these things.

mmabas77 commented 1 year ago

Any updates on this topic?

kerta1n commented 1 year ago

+1, still would be crazy for Android to have access to another Apple feature

AlphaCraft9658 commented 4 months ago

I also up this. It would be awesome if I could use AirDrop on my Android tablet. Most students at our school have iPads and it's just inconvenient that they all are using AirDrop and I, as on of the few Android tablet users, cannot send or receive files over this protocol and the others need to go through extra effort to send me files, which most are not willing to go through. I do understand that there may be certain limitations with the current implementation, but I wonder whether certain things could be changed a bit to allow for Android compatibility (withou root).

strugee commented 4 months ago

I do understand that there may be certain limitations with the current implementation, but I wonder whether certain things could be changed a bit to allow for Android compatibility (withou root).

I doubt it. Please read https://github.com/seemoo-lab/opendrop/issues/9#issuecomment-522560417 for why. The reason root is required is because the low-level communication protocol (at the Wi-Fi layer) is different from what Android supports. No one in this project can work around this problem. Either Apple needs to drop AWDL, or Google (or I suppose, an aftermarket distribution) needs to add actual support for AWDL APIs to Android.

FlazeIGuess commented 2 months ago

Why not making a root only app :)

anonymix007 commented 2 months ago

Because it can't be just an app. It needs to be deeply integrated into the system, so only can be implemented as a part of custom ROM. For example, qcacld-3.0 driver used on some Qualcomm SoCs supports monitor mode, but it doesn't seem to support "active monitor mode" (at least on my phone with stock kernel) which is a hard requirement for owl. It might be possible to rebuild the driver and get it working, but no one cares enough to actually do it.

devnoname120 commented 2 months ago

How come this Android app supports AirDrop? https://github.com/gaganmalvi/WarpShare

Edit: AWDL is actually not required for AirDrop to work. See this blog post: https://blog.i1nfo.com/posts/open-airdrop/

Atemu commented 2 months ago

Note that it only appears to work one way: Android -> Mac.

Still impressive though.