# seemoo-lab/opendrop

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/seemoo-lab-opendrop).**

9,662 stars · 306 forks · Python · GPL-3.0

## Links

- GitHub: https://github.com/seemoo-lab/opendrop
- Homepage: https://owlink.org
- awesome-repositories: https://awesome-repositories.com/repository/seemoo-lab-opendrop.md

## Topics

`airdrop` `apple` `awdl` `linux` `macos`

## Description

Opendrop is a Python implementation of the AirDrop protocol used for transferring files and links between devices over wireless connections. It functions as a peer-to-peer wireless file transfer system and a tool for automating the exchange of network passwords using specialized handshake mechanisms.

The project enables the discovery of nearby hardware by scanning for Bluetooth Low Energy advertisement packets and searching local subnets for specific service signatures. It establishes direct communication links through monitor mode and raw frame injection to move data without requiring a standard wireless access point.

The system covers a broad range of wireless capabilities, including device discovery, peer-to-peer networking, and the ability to send and receive files or web addresses by mimicking target hardware sharing logic.

## Tags

### Networking & Communication

- [AirDrop Protocol Implementations](https://awesome-repositories.com/f/networking-communication/airdrop-protocol-implementations.md) — Provides a Python implementation of the AirDrop protocol for transferring files and links over wireless connections.
- [File Transfers](https://awesome-repositories.com/f/networking-communication/file-transfers.md) — Moves files between devices over direct WiFi links by mimicking the sharing logic of target hardware.
- [Bluetooth Device Scanners](https://awesome-repositories.com/f/networking-communication/bluetooth-connectivity/bluetooth-device-scanners.md) — Scans for nearby low energy wireless devices by inspecting advertisement data and proximity maps. ([source](https://owlink.org/))
- [BLE Device Discovery and Reporting](https://awesome-repositories.com/f/networking-communication/bluetooth-connectivity/bluetooth-device-scanners/ble-device-discovery-and-reporting.md) — Scans for nearby Bluetooth Low Energy advertisement packets and proximity signatures to identify potential transfer targets.
- [Peer Handshake Protocols](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking/peer-handshake-protocols.md) — Implements sequential authentication and credential exchanges to establish secure direct peer-to-peer wireless links.
- [Peer-to-Peer File Sharing](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking/peer-to-peer-file-sharing.md) — Provides mechanisms for distributing files and web addresses directly between devices without central servers. ([source](https://cdn.jsdelivr.net/gh/seemoo-lab/opendrop@master/README.md))
- [Local Network Discovery](https://awesome-repositories.com/f/networking-communication/local-network-discovery.md) — Identifies available devices on the local subnet by scanning for specific service signatures and network fingerprints.
- [Network Device Discovery](https://awesome-repositories.com/f/networking-communication/network-device-discovery.md) — Automatically identifies and categorizes nearby hardware targets on the local network for data exchange. ([source](https://cdn.jsdelivr.net/gh/seemoo-lab/opendrop@master/README.md))
- [Connectivity Establishment](https://awesome-repositories.com/f/networking-communication/peer-to-peer-clients/connectivity-establishment.md) — Establishes direct P2P communication links between different hardware types using monitor mode and frame injection. ([source](https://owlink.org/))
- [Peer-to-Peer Networking](https://awesome-repositories.com/f/networking-communication/peer-to-peer-networking.md) — Establishes direct client-to-client wireless connections for fast data exchange using monitor mode.
- [Raw Wireless Frame Injection](https://awesome-repositories.com/f/networking-communication/raw-wireless-frame-injection.md) — Directly transmits raw 802.11 wireless frames via monitor mode to establish P2P connections without an access point.
- [Subnet Analyzers](https://awesome-repositories.com/f/networking-communication/subnet-routing/subnet-analyzers.md) — Performs active data collection across local subnets to identify devices via service signatures.
- [Wi-Fi Credential Sharing](https://awesome-repositories.com/f/networking-communication/wi-fi-credential-sharing.md) — Implements the specialized handshake mechanism used to automate the exchange of Wi-Fi passwords between devices.

### Hardware & IoT

- [Device Discovery](https://awesome-repositories.com/f/hardware-iot/ble-device-management/device-discovery.md) — Scans for nearby hardware using Bluetooth and Wi-Fi to identify targets for data transfer.
- [Bluetooth Connectivity](https://awesome-repositories.com/f/hardware-iot/bluetooth-connectivity.md) — Detects nearby hardware by monitoring BLE advertisement packets to establish wireless connectivity.

### Web Development

- [Wireless Frame Injection Transfers](https://awesome-repositories.com/f/web-development/peer-to-peer-transfer-engines/wireless-frame-injection-transfers.md) — Establishes direct P2P communication links using monitor mode and raw frame injection to transfer data.

### Security & Cryptography

- [Automated Wireless](https://awesome-repositories.com/f/security-cryptography/identity-access-management/credential-lifecycle-management/credential-security/credential-sharing/automated-wireless.md) — Automates the specific wireless handshake mechanism used to exchange Wi-Fi passwords between devices. ([source](https://owlink.org/))
- [Protocol Mimicry for Data Sharing](https://awesome-repositories.com/f/security-cryptography/traffic-obfuscation/protocol-mimicry/protocol-mimicry-for-data-sharing.md) — Encapsulates files and metadata in specific formats to match the expected sharing logic of target hardware.

### System Administration & Monitoring

- [Incoming Transfer Acceptances](https://awesome-repositories.com/f/system-administration-monitoring/device-file-transfers/incoming-transfer-acceptances.md) — Listens for available data streams to automatically save incoming file transfers to the local directory. ([source](https://cdn.jsdelivr.net/gh/seemoo-lab/opendrop@master/README.md))
