OpenDrop, el análogo open source de AirDrop de Apple
Seemoo Lab, un laboratorio de investigación especializado en redes móviles seguras, ha desarrollado OpenDrop, una implementación de código abierto de la función AirDrop de Apple. AirDrop es una función desarrollada por Apple para intercambiar contenido con otro Mac, iPhone, iPad o iPod touch ubicado cerca a través del “Finder” del Administrador de archivos en los sistemas Mac OS o el Centro de control en los sistemas iOS.
La función AirDrop apareció en Mac OS X v10.7 Lion, pero los intercambios solo fueron posibles entre Mac. AirDrop ha aparecido en iOS desde el séptimo lanzamiento. No fue hasta iOS 8 y OS X Yosemite que se pudo hacer el intercambio entre Mac OS e iOS.
AirDrop le permite a los usuarios poder compartir instantáneamente fotos, videos, documentos y otros archivos con dispositivos Apple cercanos mediante Bluetooth y Wi-Fi.
Sobre OpenDrop
OpenDrop es una herramienta de línea de comandos que permite compartir archivos entre dispositivos directamente a través de Wi-Fi. Su característica única es que es compatible con el protocolo Apple AirDrop, que permite compartir archivos con dispositivos Apple con iOS y macOS.
Para garantizar la compatibilidad con Apple AirDrop, OpenDrop requiere que la plataforma de destino admita una capa de enlace Wi-Fi específica.
Además, requiere Python 3.6 o posterior, así como varias otras bibliotecas. AirDrop se ejecuta exclusivamente en Apple Wireless Direct Link (AWDL), pero OpenDrop solo es compatible con sistemas Mac OS o Linux que ejecutan una reimplementación de código abierto de AWDL como OWL.
Su particularidad es que es compatible con los protocolos que utiliza AirDrop, lo que permite compartir archivos con dispositivos Apple con iOS y Mac OS.
Por lo que solo es compatible con dispositivos Apple que están en definición ilimitada por otros usuarios, ya que la definición selectiva de dispositivos y el envío a través de la libreta de direcciones requieren la certificación de la firma digital de Apple.
A nivel de protocolo, la implementación es totalmente compatible con dispositivos Apple, lo que le permite organizar la interacción de los sistemas basados en Linux con dispositivos con iOS y macOS.
Aun que OpenDrop es una opción, aun cuenta con bastantes limitaciones, de las cuales podemos mencionar las siguientes:
- Receptores Mac OS e iOS activados a través de Bluetooth Low Energy (BLE): los dispositivos Apple inician su interfaz AWDL y su servidor AirDrop solo después de recibir una publicación personalizada a través de BLE. Esto significa que los receptores Apple AirDrop pueden no ser descubiertos incluso si todos los pueden descubrir;
- Autenticación del remitente o destinatario y estado de la conexión: actualmente, no existe una autenticación de igual a igual como en AirDrop.
- OpenDrop no verifica que el certificado TLS esté firmado por la raíz de Apple y que el registro de validación de ID de Apple sea correcto. Además, OpenDrop acepta automáticamente todos los archivos que recibe debido a que falta un estado de conexión;
- enviar múltiples archivos: AirDrop admite el envío simultáneo de múltiples archivos, a diferencia de OpenDrop.
Como resultado, podemos ver que todavía no es compatible con todas las funciones de AirDrop o puede ser incompatible con versiones futuras de AirDrop.
OpenDrop está completamente desarrollado en Python y publicado por Seemoo Lab bajo la GNU General Public License v3.0.
¿Como instalar OpenDrop en Linux?
Para quienes estén interesados en poder instalar OpenDrop en su distribución de Linux podrán hacerlo siguiendo las instrucciones que compartimos a continuación.
OpenDrop puede ser instalado con ayuda del gestor de paquetes de Python (PIP), la instalación por este medio se puede hacer abriendo una terminal en tu sistema y tecleando sobre ella el siguiente comando:
pip3 install opendrop
Otro método para poder instalar este paquete, es descargando el codigo de este e instalando el paquete con lo descargado.
Esto lo hacemos desde la terminal tecleando:
git clone https://github.com/seemoo-lab/opendrop.git
pip3 install ./opendrop
Y listo, para conocer sobre las opciones de uso puedes ejecutar el comando:
opendrop -h
O puedes visitar el siguiente enlace para conocer mas al respecto.