Easily share files through AirDrop without a Mac
easydrop
is a simple cli utility for quick and easy sending/receiving files with AirDrop on Windoza/Linux
// Strikethrough words are stuff that doesn't work yet tho I would really want it to
- Make sure you have everything required
pip install -U easydrop
- Receive files:
$ easydrop receive sudo password: # Password to manage network interfaces 22:01:51 Hang tight! Disabling normal WiFi... # easydrop will disable your normal network when running 22:01:52 Starting OWL... 22:01:54 OWL running! 22:01:55 Starting HTTP server - press CTRL+C to stop... ^C22:01:59 Stopping OWL... 22:01:59 Restarting network... # ...but will bring it back up after it's done! Aborted!
- Send files: not yet implemented 😞
This is a very simple wrapper around much much bigger work of guys @seemoo-lab - it uses owl for low-level AirDrop network layer as well as opendrop for some app level - HUGE shout-out for them for reverse enineering all of this!!!
As noted on owl repo, you need WiFi card that supports active monitor mode - you can quickly check it by running:
$ iw list | grep "active monitor"
# You should see:
> Device supports active monitor (which will ACK incoming frames)
If you don't have it, then I'm sorry, but it probably won't work 😞
For now, easydrop
only works on Linux (amd64 arch) (owl
itself works on MacOS too, but you already have AirDrop there :laugh:)
You will also need to install libpcap
, libev
and libnl
:
- on Debian:
sudo apt install libpcap-dev libev-dev libnl-3-dev libnl-genl-3-dev libnl-route-3-dev
- on Fedora:
sudo dnf install libpcap-devel libev-devel libnl3-devel
- on other distros: idk, you can do it 💪
owl
is already included in the package 😉
// TODO: Include those dependencies in package
- Sending files - may require more work to also advertise BLE beacons to wake up receivers
- Windoza
- Include all lib* dependencies within package