seemoo-lab/owl logo

seemoo-lab/owl

Free

An open Apple Wireless Direct Link (AWDL) implementation written in C

FreeFree tier
Type
Open Source

About seemoo-lab/owl

Owl (Open Wireless Link) is an open-source implementation of the Apple Wireless Direct Link (AWDL) ad hoc protocol for Linux and macOS, written in C. It runs in user space, leverages Linux's Netlink API for Wi-Fi operations like channel switching, and provides a virtual network interface so existing IPv6-capable programs can use AWDL without modification. Owl is part of the Open Wireless Link project and can be combined with OpenDrop to enable Apple AirDrop functionality on Linux-based systems such as a Raspberry Pi 3. It is experimental software resulting from reverse engineering and does not support all AWDL features. Requirements include a Wi-Fi card with active monitor mode (Atheros AR9280 recommended), libpcap, libev, and libnl (Linux only).

Key Features

Open implementation of Apple Wireless Direct Link (AWDL) protocol
Written in C, runs in user space on Linux and macOS
Uses Linux Netlink API for Wi-Fi channel switching and virtual network interface integration
Provides a virtual network interface for seamless IPv6-compatible application use
Supports frame injection and reception via libpcap
Can be combined with OpenDrop to enable AirDrop on Linux (e.g., Raspberry Pi 3)

Pros & Cons

Pros
  • Open source and free to use
  • Enables AWDL functionality on non-Apple devices
  • Works on affordable hardware like Raspberry Pi 3
  • Does not require modification of existing IPv6-capable programs
  • Part of the well-documented Open Wireless Link project
Cons
  • Requires a Wi-Fi card with active monitor mode (Atheros AR9280 recommended); otherwise throughput degrades
  • Experimental software with incomplete AWDL feature support
  • Not compatible with virtual machines or Windows Subsystem for Linux (WSL)
  • Depends on libpcap, libev, and libnl (Linux) which must be installed separately
  • May be incompatible with future AWDL versions

Best For

Enabling Apple AirDrop functionality on Linux systems (with OpenDrop)Research and experimentation with the AWDL ad hoc protocolBuilding cross-platform AWDL-based applicationsAd hoc wireless networking on Linux without Apple hardware

FAQ

What is Owl?
Owl (Open Wireless Link) is an open implementation of the Apple Wireless Direct Link (AWDL) ad hoc protocol for Linux and macOS, written in C and part of the Open Wireless Link project.
What hardware is required to run Owl?
A Wi-Fi card supporting active monitor mode with frame injection. The Atheros AR9280 chip (IEEE 802.11n) is recommended.
Can Owl run in a virtual machine?
No. Owl requires direct access to the Wi-Fi card and does not support virtualized environments or Windows Subsystem for Linux (WSL).
How do I build Owl from source?
Clone the repository, run 'git submodule update --init', create a build directory, run cmake and make, then install with 'sudo make install'. Dependencies include libpcap-dev, libev-dev, and libnl-3-dev (Linux) or libpcap and libev via Homebrew (macOS).