seemoo-lab / opendrop

An open Apple AirDrop implementation written in Python
https://owlink.org
GNU General Public License v3.0
8.49k stars 265 forks source link

Why IPv6 is singled out in the error messages? #35

Closed yurivict closed 4 years ago

yurivict commented 4 years ago

get_ip_for_interface is described as finding IPv4 or IPv6 address: https://github.com/seemoo-lab/opendrop/blob/master/opendrop/util.py#L190

but when it fails the error messages say that IPv6 wasn't found: https://github.com/seemoo-lab/opendrop/blob/master/opendrop/client.py#L44

Why does it talk about IPv6 specifically? Is it required?

schmittner commented 4 years ago

AWDL (the link-layer) only supports IPv6. In principle, you could run opendrop over IPv4 as well but then you'd loose compatibility with Apple devices.

yurivict commented 4 years ago

The WiFi network has to be IPv6 for AirDrop to operate? Apple devices don't have this feature on IPv4 networks?

schmittner commented 4 years ago

AirDrop does not use your home Wi-Fi network. It uses its own link-layer protocol that establishes a connection between two devices directly. And that protocol only supports IPv6. If you are interested in the details, you can read our paper.

treeshateorcs commented 3 years ago

I think an IPv6 should go to to Requirements