FindMy.py - เรียกใช้เครือข่าย Find My ของ Apple ด้วย Python
(github.com/malmeloo)- "ไลบรารีแบบ all-in-one" ที่ออกแบบมาเพื่อให้สร้างแอปพลิเคชันที่ผสานรวมกับเครือข่าย Find My ของ Apple ได้อย่างง่ายดาย
- แก้ปัญหาที่ปัจจุบันโค้ดที่เกี่ยวกับ Find My กระจัดกระจายอยู่ในหลายรีโพซิทอรี และมอบ building blocks ส่วนกลางแบบรวมศูนย์
- อยู่ในระยะ Alpha ดังนั้นการออกแบบ API อาจมีการเปลี่ยนแปลงได้
ฟีเจอร์หลัก
- รองรับ ข้ามแพลตฟอร์ม (ไม่จำเป็นต้องใช้ Mac)
- ดึงและถอดรหัสรายงานตำแหน่ง
- อุปกรณ์เสริมทางการ (AirTags, iDevices เป็นต้น)
- AirTags แบบกำหนดเอง (OpenHaystack)
- ล็อกอินบัญชี Apple
- รองรับ 2FA ผ่าน SMS และอุปกรณ์ที่เชื่อถือได้
- สแกนและถอดรหัสอุปกรณ์ Find My ใกล้เคียง
- ให้ข้อมูล เช่น public key, state byte เป็นต้น
- ดึงและสร้างคีย์ของอุปกรณ์เสริม
- รองรับทั้ง API แบบ synchronous และ asynchronous
โปรเจกต์ที่ต่อยอด
โปรเจกต์ที่น่าสนใจซึ่งพัฒนาต่อยอดจาก FindMy.py:
- OfflineFindRecovery: ติดตามตำแหน่ง MacBook ด้วยฟีเจอร์ Offline Find ของ Apple ผ่าน Bluetooth LE
- SwiftFindMy: พอร์ต Swift ของ FindMy.py
1 ความคิดเห็น
ความเห็นจาก Hacker News
มีความเห็นว่าถ้า FindMy API ที่เขียนด้วย Python ใช้งานได้จริง ก็จะช่วยยกระดับคุณภาพชีวิตในเชิงเทคนิคได้มาก และหวังว่า Apple จะยอมให้ทำได้
ผู้เขียน FindMy.py บอกว่าอยากขอบคุณผู้ที่มีส่วนร่วมคนอื่น ๆ ในโปรเจกต์
มีความเห็นว่าอยากหาวิธีเก็บประวัติตำแหน่งในระยะยาว
ในอดีตสามารถ query ข้อมูลแบบโลคัลจาก MacBook ได้ แต่ Apple เข้ารหัสมันในภายหลัง
หากไม่มี iPhone หรือ Mac ก็มีคนสงสัยว่าสามารถให้เพื่อนช่วยรีเซ็ต AirTag แล้วใช้ไลบรารี Python หาตำแหน่งบนพีซีหรือสั่งให้ส่งเสียงได้หรือไม่
มีความเห็นว่ายังไม่ชัดเจนว่าจะเอาไฟล์ plist ที่ต้องใช้เพื่อให้ไลบรารีทำงานมาได้อย่างไร
มีคนสนใจโปรเจกต์ Haystack และสงสัยว่าวัตถุที่ใช้ ESP32 จะถูกระบุและติดตามเป็น AirTag ได้หรือไม่
มีข้อสงสัยว่ามันจะใช้งานได้ในระยะยาวหรือไม่
มีความเห็นว่าความเป็นไปได้ในการบันทึกตำแหน่งตามกาลเวลานั้นน่าสนใจ
มีคนสงสัยว่าสามารถใช้ iPhone เพื่อทริกเกอร์งานบนเซิร์ฟเวอร์ตามตำแหน่งได้หรือไม่