OpEndrop เป็นเครื่องมือบรรทัดคำสั่งที่อนุญาตให้แชร์ไฟล์ระหว่างอุปกรณ์ผ่าน Wi-Fi โดยตรง คุณสมบัติที่เป็นเอกลักษณ์ของมันคือมันเข้ากันได้กับโปรโตคอลกับ Apple Airdrop ซึ่งอนุญาตให้แชร์ไฟล์กับอุปกรณ์ Apple ที่ใช้ iOS และ MacOS ปัจจุบัน (และอาจเป็นไปได้สำหรับอนาคตที่คาดการณ์ได้) Opendrop รองรับการส่งไปยังอุปกรณ์ Apple ที่ ทุกคน ค้นพบได้เป็น เพียงโหมดผู้ติดต่อ เริ่มต้นเท่านั้นที่ต้องการใบรับรอง Apple-Signed เราสนับสนุนอุปกรณ์ที่ติดต่ออย่างเดียวโดยใช้ข้อมูลรับรอง AirDrop ที่แยกออกมา (ปุ่มและใบรับรอง) จาก MacOS ผ่านเครื่องสกัดพวงกุญแจของเรา
Opendrop เป็นซอฟต์แวร์ทดลองและเป็นผลมาจากความพยายามด้านวิศวกรรมย้อนกลับโดยโครงการ Open Wireless Link ดังนั้นจึงไม่รองรับคุณสมบัติทั้งหมดของ Airdrop หรืออาจไม่เข้ากันกับเวอร์ชัน Airdrop ในอนาคต Opendrop ไม่ได้เป็นพันธมิตรกับหรือรับรองโดย Apple Inc. ใช้รหัสนี้ตามความเสี่ยงของคุณเอง
เพื่อให้ได้ความเข้ากันได้กับ Apple Airdrop OpEndrop จึงต้องใช้แพลตฟอร์มเป้าหมายเพื่อรองรับเลเยอร์ลิงค์ Wi-Fi ที่เฉพาะเจาะจง นอกจากนี้ยังต้องใช้ Python> = 3.6 เช่นเดียวกับห้องสมุดหลายแห่ง
ลิงค์โดยตรงของ Apple Wireless ในขณะที่ AirDrop รันผ่าน Apple Wireless Link (AWDL) โดยเฉพาะ OpEndrop ได้รับการสนับสนุนเฉพาะใน MACOS หรือบนระบบ Linux ที่ใช้การเปิดใช้งานการเปิดใหม่ของ AWDL เช่น OWL
ห้องสมุด Opendrop อาศัย Libarchive เวอร์ชันปัจจุบัน MacOS จัดส่งด้วยรุ่นที่ค่อนข้างเก่าดังนั้นคุณจะต้องติดตั้งเวอร์ชันใหม่กว่าเช่น Homebrew:
brew install libarchive
Opendrop ตั้งค่า DYLD_LIBRARY_PATH
โดยอัตโนมัติเพื่อค้นหาเวอร์ชัน homebrew คุณอาจต้องอัปเดตตัวแปรด้วยตัวเองหากคุณติดตั้งไลบรารีแตกต่างกัน
การแจกแจง Linux ควรจัดส่งด้วยเวอร์ชันที่ทันสมัยมากขึ้นดังนั้นจึงไม่จำเป็น
การติดตั้ง Python Package Release นั้นตรงไปตรงมาโดยใช้ pip3
:
pip3 install opendrop
นอกจากนี้คุณยังสามารถติดตั้งเวอร์ชันการพัฒนาปัจจุบันได้โดยการโคลนที่เก็บนี้เป็นครั้งแรกจากนั้นติดตั้งผ่าน pip3
:
git clone https://github.com/seemoo-lab/opendrop.git
pip3 install ./opendrop
เราอธิบายวิธีการส่งและรับไฟล์โดยใช้ opendrop
สั้น ๆ หากต้องการดูตัวเลือกบรรทัดคำสั่งทั้งหมดให้เรียกใช้ opendrop -h
การส่งไฟล์มักจะเป็นขั้นตอนสองขั้นตอน ก่อนอื่นคุณจะค้นพบอุปกรณ์ในบริเวณใกล้เคียงโดยใช้คำสั่ง find
หยุดกระบวนการเมื่อคุณพบผู้รับ
$ 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
จากนั้นคุณสามารถ send
ไฟล์ (หรือลิงค์ดูด้านล่าง) โดยใช้
$ opendrop send -r 0 -f /path/to/some/file
Asking receiver to accept ...
Receiver accepted
Uploading file ...
Uploading has been successful
แทนที่จะเป็น index
คุณยังสามารถใช้ ID
หรือ name
Opendrop จะพยายามตีความอินพุตใน index
ลำดับ (1) (2) ID
และ (3) name
และล้มเหลวหากไม่พบการจับคู่
การส่งเว็บลิงค์ ตั้งแต่ v0.13, Opendrop รองรับการส่งเว็บลิงก์เช่น URL เพื่อให้ได้อุปกรณ์ Apple จะเปิดเบราว์เซอร์ของพวกเขาทันทีเมื่อยอมรับ (โปรดทราบว่า ผู้รับ OpEndrop ยังคงรองรับการรับไฟล์ปกติเท่านั้น)
$ opendrop send -r 0 -f https://owlink.org --url
การรับง่ายกว่ามาก เพียงใช้คำสั่ง receive
Opendrop จะยอมรับไฟล์ที่เข้ามาทั้งหมดโดยอัตโนมัติและใส่ไฟล์ที่ได้รับในไดเรกทอรีปัจจุบัน
$ opendrop receive
Opendrop เป็นผลมาจากโครงการวิจัยและมีข้อ จำกัด หลายประการ (รายการที่ไม่ครบถ้วนด้านล่าง) ฉันไม่มีความสามารถในการทำงานกับพวกเขาด้วยตัวเอง แต่ยินดีที่จะให้ความช่วยเหลือหากมีคนอื่นต้องการรับพวกเขา
ทริกเกอร์ตัวรับสัญญาณ MacOS/iOS ผ่าน Bluetooth Low Energy อุปกรณ์ Apple เริ่มต้นอินเตอร์เฟส AWDL และเซิร์ฟเวอร์ AirDrop หลังจากได้รับโฆษณาที่กำหนดเองผ่าน Bluetooth LE (ดูรายละเอียดกระดาษ Usenix) ซึ่งหมายความว่าตัวรับ Apple Airdrop อาจไม่ถูกค้นพบแม้ว่า ทุกคน จะค้นพบได้ก็ตาม
การรับรองความถูกต้องของผู้ส่ง/ผู้รับและสถานะการเชื่อมต่อ ขณะนี้ไม่มีการตรวจสอบเพียร์ในการตรวจสอบบัญชีของ Apple โดยเฉพาะอย่างยิ่ง (1) Opendrop ไม่ได้ตรวจสอบว่าใบรับรอง TLS ลงนามโดยรูทของ Apple และ (2) บันทึกการตรวจสอบความถูกต้องของ Apple ID นั้นถูกต้อง . นอกจากนี้ Opendrop จะรับไฟล์ใด ๆ ที่ได้รับโดยอัตโนมัติเนื่องจากสถานะการเชื่อมต่อที่หายไป
การส่งหลายไฟล์ Apple AirDrop รองรับการส่งหลายไฟล์พร้อมกัน OpEndrop ไม่ได้ (จะต้องเพิ่มไฟล์เพิ่มเติมลงในที่เก็บถาวรแก้ไขคำขอ HTTP /ASK ฯลฯ )
Opendrop ได้รับใบอนุญาตภายใต้ ใบอนุญาตสาธารณะ GNU ทั่วไป v3.0