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

Windows Compatibility ? #108

Open equalisysdev opened 1 year ago

equalisysdev commented 1 year ago

Windows is one of the device that can't use AirDrop now, so this implementation has a real potential on Windows, so, please make a Windows Version

Thomas-PM commented 1 year ago

Can you set up a Linux distro in the Windows Susbsytem for Linux and use it there? https://learn.microsoft.com/en-us/windows/wsl/about

Endermanbugzjfc commented 1 year ago

I did so got this error when running opendrop find:

opendrop on  master [!] via 🐍 v3.8.10
❯ opendrop find
Looking for receivers. Press Ctrl+C to stop ...
Traceback (most recent call last):
  File "/home/user/.local/bin/opendrop", line 8, in <module>
    sys.exit(main())
  File "/home/user/.local/lib/python3.8/site-packages/opendrop/cli.py", line 36, in main
    AirDropCli(sys.argv[1:])
  File "/home/user/.local/lib/python3.8/site-packages/opendrop/cli.py", line 101, in __init__
    self.find()
  File "/home/user/.local/lib/python3.8/site-packages/opendrop/cli.py", line 121, in find
    self.browser = AirDropBrowser(self.config)
  File "/home/user/.local/lib/python3.8/site-packages/opendrop/client.py", line 43, in __init__
    raise RuntimeError(
RuntimeError: Interface awdl0 does not have an IPv6 address. Make sure that `owl` is running.

opendrop on  master [!] via 🐍 v3.8.10
❯
Thomas-PM commented 1 year ago

It looks like the main issue is they don't have devs with Windows experience on the project, and it can't be run in a virtual machine (i.e. WSL) due to virtualization limitations.

No support for virtual machines and WSL. OWL requires direct access to the Wi-Fi card which means that virtualized environments (except with USB or PCIe passthrough) and Windows Subsystem for Linux (WSL, see https://github.com/seemoo-lab/owl/issues/8), are not supported.

So it is possible to build it for Windows, but hasn't been done yet.

Source: https://github.com/seemoo-lab/owl

WuYingzheng commented 1 year ago

This project is based on OWL. OSX has a network interface call awdl0 (Apple Wifi Direct Link). OWL do the same job as AWDL. I think it is not easy to port OWL to windows. Once you have port AWDL to window. It will be very easy for you to setup this project on windows.