OpenDrop adalah alat baris perintah yang memungkinkan berbagi file antar perangkat langsung melalui Wi-Fi. Fitur uniknya adalah kompatibel dengan protokol dengan Apple AirDrop yang memungkinkan untuk berbagi file dengan perangkat Apple yang menjalankan iOS dan macOS. Saat ini (dan mungkin juga untuk masa mendatang), Opendrop hanya mendukung pengiriman ke perangkat Apple yang dapat ditemukan oleh semua orang karena mode kontak default hanya memerlukan sertifikat yang ditandatangani Apple. Kami mendukung perangkat khusus kontak dengan menggunakan kredensial airdrop yang diekstraksi (kunci dan sertifikat) dari macOS melalui ekstraktor gantungan kunci kami.
OpenDrop adalah perangkat lunak eksperimental dan merupakan hasil dari upaya rekayasa terbalik oleh Proyek Tautan Nirkabel Terbuka. Oleh karena itu, itu tidak mendukung semua fitur AirDrop atau mungkin tidak kompatibel dengan versi airdrop di masa depan. Opendrop tidak berafiliasi dengan atau didukung oleh Apple Inc. Gunakan kode ini dengan risiko Anda sendiri.
Untuk mencapai kompatibilitas dengan Apple AirDrop, Opendrop membutuhkan platform target untuk mendukung lapisan tautan Wi-Fi tertentu. Selain itu, membutuhkan python> = 3.6 serta beberapa perpustakaan.
Tautan Langsung Apple Wireless. Saat AirDrop secara eksklusif berjalan di atas Apple Wireless Direct Link (AWDL), Opendrop hanya didukung pada macOS atau pada sistem Linux yang menjalankan re-implementasi AWDL terbuka seperti burung hantu.
Perpustakaan. Opendrop bergantung pada versi libarchive saat ini. MacOS dikirimkan dengan versi yang agak lama, jadi Anda harus menginstal versi yang lebih baru, misalnya, melalui Homebrew:
brew install libarchive
OpenDrop secara otomatis mengatur DYLD_LIBRARY_PATH
untuk mencari versi homebrew. Anda mungkin perlu memperbarui variabel sendiri jika Anda menginstal pustaka secara berbeda.
Distribusi Linux harus dikirimkan dengan versi terbaru, jadi ini tidak perlu.
Pemasangan rilis paket Python langsung menggunakan pip3
:
pip3 install opendrop
Anda juga dapat menginstal versi pengembangan saat ini dengan terlebih dahulu mengkloning repositori ini, dan kemudian menginstalnya melalui pip3
:
git clone https://github.com/seemoo-lab/opendrop.git
pip3 install ./opendrop
Kami menjelaskan secara singkat cara mengirim dan menerima file menggunakan opendrop
. Untuk melihat semua opsi baris perintah, jalankan opendrop -h
.
Mengirim file biasanya merupakan prosedur dua langkah. Anda pertama kali menemukan perangkat di dekatnya menggunakan perintah find
. Hentikan proses setelah Anda menemukan penerima.
$ opendrop find
Looking for receivers. Press Ctrl+C to stop ...
Found index 0 ID eccb2f2dcfe7 name John’s iPhone
Found index 1 ID e63138ac6ba8 name Jane’s MacBook Pro
Anda kemudian dapat send
file (atau tautan, lihat di bawah) menggunakan
$ opendrop send -r 0 -f /path/to/some/file
Asking receiver to accept ...
Receiver accepted
Uploading file ...
Uploading has been successful
Alih -alih index
, Anda juga dapat menggunakan ID
atau name
. Opendrop akan mencoba menafsirkan input dalam indeks (1) index
, (2) ID
, dan (3) name
dan gagal jika tidak ada kecocokan ditemukan.
Mengirim tautan web. Sejak v0.13, Opendrop mendukung pengiriman tautan web, yaitu, URL, sehingga menerima perangkat Apple akan segera membuka browser mereka setelah menerima. (Perhatikan bahwa penerima Opendrop masih hanya mendukung menerima file reguler.)
$ opendrop send -r 0 -f https://owlink.org --url
Menerima jauh lebih mudah. Cukup gunakan perintah receive
. Opendrop akan menerima semua file yang masuk secara otomatis dan memasukkan file yang diterima di direktori saat ini.
$ opendrop receive
OpenDrop adalah hasil dari proyek penelitian dan, dengan demikian, memiliki beberapa keterbatasan (daftar tidak lengkap di bawah). Saya tidak memiliki kapasitas untuk mengerjakannya sendiri tetapi saya senang memberikan bantuan jika orang lain ingin mengambilnya.
Memicu penerima macOS/iOS melalui Bluetooth Low Energy. Perangkat Apple memulai antarmuka AWDL dan server AirDrop hanya setelah menerima iklan khusus melalui Bluetooth LE (lihat USENIX Paper untuk detailnya). Ini berarti, bahwa penerima AirDrop Apple mungkin tidak ditemukan bahkan jika mereka dapat ditemukan oleh semua orang .
Pengirim/Penerima otentikasi dan status koneksi. Saat ini, tidak ada otentikasi rekan seperti di AirDrop Apple, khususnya, (1) Opendrop tidak memverifikasi bahwa sertifikat TLS ditandatangani oleh Root Apple dan (2) bahwa catatan validasi ID Apple benar (lihat USENIX Paper untuk detailnya) . Selain itu, OpenDrop secara otomatis menerima file apa pun yang diterimanya karena keadaan koneksi yang hilang.
Mengirim banyak file. Apple AirDrop mendukung pengiriman beberapa file sekaligus, Opendrop tidak (akan memerlukan menambahkan lebih banyak file ke arsip, memodifikasi permintaan HTTP /Tanya, dll.).
Opendrop dilisensikan di bawah GNU General Public License v3.0 .