Skip to content

TheLastGimbus/easydrop

Repository files navigation

easydrop

Easily share files through AirDrop without a Mac

PyPI Donate

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

Using

  1. Make sure you have everything required
  2. pip install -U easydrop
  3. 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!
  4. Send files: not yet implemented 😞

Credits

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!!!

Supported hardware and platforms

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

TODO: