- go-haystack adalah kumpulan alat berbasis Go/TinyGo yang memungkinkan pelacakan perangkat Bluetooth pribadi melalui jaringan Find My milik Apple
- Dengan menggunakan OpenHaystack bersama Macless-Haystack, alat ini menyusun jaringan FindMy kustom dan dapat dikonfigurasi tanpa perangkat keras Apple
- Menyediakan firmware beacon yang ditulis dengan TinyGo dan paket TinyGo Bluetooth, dengan target perangkat keras seperti board nRF SoftDevice, BBC Microbit, Seeed Studio XIAO nRF52840, board dengan ko-prosesor ESP32, dan RP2040 Pico-W
- Kode beacon yang sama juga dapat dijalankan di Linux yang memiliki perangkat keras Bluetooth, termasuk Raspberry Pi atau sistem embedded sebagai target
- Pengguna menyiapkan Apple ID dengan 2FA berbasis SMS, anisette-v3-server, server Macless-Haystack, dan CLI
haystack, lalu mendaftarkan perangkat lewat alur pembuatan kunci, flashing firmware, dan unggah JSON
Peran go-haystack
- go-haystack memungkinkan pelacakan perangkat Bluetooth pribadi melalui jaringan Find My milik Apple
- Menggunakan OpenHaystack bersama Macless-Haystack untuk menyiapkan jaringan FindMy kustom
- Alat ini ditulis dalam Go/TinyGo dan dapat digunakan tanpa perangkat keras Apple
Membuat beacon sendiri
- Paket ini menyediakan firmware yang menggunakan TinyGo dan paket TinyGo Bluetooth
- Kode beacon berada di direktori firmware pada repositori
- Perangkat keras yang disebut sebagai target dukungan adalah sebagai berikut
Beacon Linux dan TinyScan
- Kode beacon juga dapat dijalankan di Linux yang memiliki perangkat keras Bluetooth
- Raspberry Pi atau sistem embedded lain disebut sebagai contoh
- Kode untuk embedded Linux sama dengan kode beacon untuk mikrokontroler, dan berada di direktori
firmware pada repositori
- go-haystack juga mencakup TinyScan, pemindai perangkat keras untuk perangkat lokal
- TinyScan berjalan di berbagai board mikrokontroler yang memiliki Bluetooth dan layar kecil
- Board buatan Adafruit dan Pimoroni disebut sebagai contoh
- Kodenya berada di direktori tinyscan
Komponen yang diperlukan untuk instalasi
- Apple ID diperlukan dan 2FA harus diaktifkan
- Faktor autentikasi kedua hanya mendukung SMS/pesan teks
- Jalankan
anisette-v3-server dengan Docker
- Perintah contoh membuat jaringan Docker
mh-network dan menjalankan kontainer dadoum/anisette-v3-server pada port 6969
- Jalankan endpoint
macless-haystack dalam mode interaktif untuk konfigurasi
- Selama proses konfigurasi, masukkan Apple ID, kata sandi, dan 2FA
- Jika
serving at port 6176 over HTTP terlihat, konfigurasi telah selesai
- Setelah konfigurasi, hentikan proses dan mulai ulang server dengan
docker restart macless-haystack
- CLI go-haystack dipasang dengan perintah berikut
go install github.com/hybridgroup/go-haystack/cmd/haystack@latest
Alur penggunaan
- Perangkat dalam jangkauan lokal dipindai dengan
haystack scan
- Output mencakup alamat Bluetooth, nilai sinyal, data berbentuk identifier, dan status baterai
- Untuk menambahkan perangkat baru, buat terlebih dahulu kunci untuk perangkat tersebut
haystack keys DEVICENAME
- Hasil pembuatan kunci akan menyimpan file
DEVICENAME.keys dan file DEVICENAME.json untuk konfigurasi Haystack
- Ganti
DEVICENAME dengan nama perangkat sebenarnya
- Flash perangkat keras dengan menentukan target TinyGo dan nama perangkat
haystack flash DEVICENAME nano-rp2040
- Perintah ini menggunakan TinyGo untuk mengompilasi firmware yang berisi kunci dan melakukan flashing ke perangkat
- Terakhir, unggah file JSON perangkat tersebut melalui UI web ke instance
macless-haystack yang sedang berjalan
- Buka aplikasi web Macless-Haystack di browser web, lalu pilih file
DEVICENAME.json melalui tautan “Accessories” dan tombol “+”
- Aplikasi web ini adalah aplikasi satu halaman yang hanya membaca dan menulis data lokal
Menampilkan data lokasi
- Jika perangkat masuk ke jangkauan suatu iPhone, setelah beberapa waktu data Macless-Haystack akan muncul di UI web
- Mungkin diperlukan waktu sampai data pertama ditampilkan
1 komentar
Pendapat di Hacker News
Benar-benar keren. Upaya seperti ini dan jaringan Find My selalu membuat saya takjub setiap kali melihatnya, tetapi alasan saya tidak memakai cara seperti ini secara langsung adalah karena suatu hari Apple bisa saja secara resmi menerima praktik menumpang jaringan seperti ini, atau sebaliknya melarang Apple ID yang punya riwayat terkait
Saat ini Apple mengetahuinya, tetapi tidak mengambil sikap ke arah mana pun. Sampai Apple memberi dukungan yang lebih resmi, atau ada cara yang tidak terhubung langsung dengan Apple ID/akun saya, saya hanya akan menonton saja
Terutama karena Apple tidak perlu turun tangan langsung, sepertinya pada akhirnya mereka akan lebih memanfaatkan kepadatan mesh daripada menekan adopsi sekarang
Musim panas lalu saya sedang berlibur di Portugal bersama istri, dan istri saya meninggalkan dompetnya di mobil Uber menuju bandara. Setelah menemukan dompet itu, pengemudi mengambil 20 dolar dan beberapa perhiasan lalu membuangnya, dan pada hari yang sama, lebih malam, kami melacaknya dengan AirTag sampai ke tempat parkir terbengkalai dan menemukannya lewat aplikasi Location
Sejak itu saya memasang AirTag di semua tas dan mengganti baterainya sesuai jadwal
Saat itu ada pria lain yang juga mengatakan barangnya ada di sana; sebulan sebelumnya di New Zealand, saat evakuasi dari pesawat, ia meninggalkan iPad di kantong kursi dan melacaknya sampai Sydney dengan Find My. Ia naik penerbangan internasional beberapa kali sebulan dan bilang AirTag adalah benda terbaik yang ia punya. Sejak itu saya juga menyembunyikan beberapa tag umpan di semua mobil dan tas, serta di dalam barang mahal yang mungkin dicuri
Setelah membaca ini pun saya masih belum paham. Apakah ini bisa dipakai bersama Apple AirTag, atau kita harus membuat perangkat pelacak sendiri?
https://github.com/hybridgroup/go-haystack?tab=readme-ov-fil...
https://media.ccc.de/v/38c3-find-my-101
Ke depannya saya berharap lokasi beacon bisa diketahui dengan akurasi di bawah 1 meter kubik
Istri saya punya ADD sehingga sering kehilangan barang. Tile suaranya tidak keras dan tidak stabil, dan kami tidak punya iPhone sehingga tidak bisa memakai AirTag. Saya sudah terlalu lelah untuk mempelajari matematika yang diperlukan untuk menemukan posisi beacon Bluetooth, tetapi saya berharap bisa melakukannya. Andai ada proyek software seperti “cukup tambahkan 4 papan Bluetooth kecil”, tetapi tampaknya bagi sebagian besar pengembang open source, ini bukan topik yang menggaruk bagian yang gatal itu
Lokasi presisi ditentukan bukan dari kekuatan koneksi Bluetooth, melainkan dengan ultra-wideband (UWB). Cara kerjanya memakai time-of-flight berdasarkan keterlambatan pada kecepatan cahaya, seperti GPS. Saat membuka aplikasi Find My, Anda dengan sangat cepat mengetahui jarak akurat ke AirTag, lalu saat berjalan-jalan, aplikasi menghitung arah AirTag dari perubahan posisi yang teramati. Teknologinya cukup keren. Di aplikasi Find My, Anda harus memakai fitur “Find”, bukan “Play Sound”, dan perlu iPhone 11+ yang memiliki chip ultra-wideband H1. Biayanya mungkin mirip dengan memasang beberapa papan Bluetooth di rumah dan jauh lebih akurat, tetapi kesenangan mengutak-atiknya lebih sedikit
https://en.wikipedia.org/wiki/Ultra-wideband#Real-time_locat...
Setidaknya sepertinya tidak ada alternatif setara yang sekaligus punya lokasi presisi ultra-wideband, ketersediaan untuk dibeli, harga yang wajar, dan stabilitas. Di sisi lain, sebagian Android tampaknya punya dukungan UWB yang mungkin bisa bekerja bersama UWB milik Tile: https://www.zdnet.com/article/how-to-enable-uwb-on-android-a...
https://www.bluetooth.com/learn-about-bluetooth/feature-enha...
Dulu saya pernah mengutak-atik beacon, dan membuatnya bekerja sendiri cukup mudah. Saya menulis program kecil agar laptop bertindak seperti beacon, lalu memakai aplikasi “Bluetooth tracker” mana saja di ponsel untuk melihat perkiraan jarak ke beacon tersebut. Setelah itu tinggal berjalan-jalan sambil memperhatikan jaraknya
Sepertinya sekarang bisa dipakai bahkan tanpa Mac? Kalau begitu luar biasa. Pelacak Apple hanya beberapa euro saja, tentu untuk produk pihak ketiga
Entah cuma saya, tapi seluruh fitur jaringan Find My ini terlihat seperti mimpi buruk keamanan. Saya paham kegunaannya, tapi bukankah lembaga tertentu bisa meminta Apple untuk memberi tahu di mana orang ini berada, bahkan tanpa cakupan seluler?
Bagaimanapun, karena ini saya memutuskan keluar dari ekosistem Apple, dan dari sisi pengawasan ini tampak seperti mimpi buruk
Tag tidak mengetahui lokasinya sendiri, dan hanya menyiarkan kunci publik yang berotasi miliknya. Karena kuncinya berubah secara acak, Anda sebagai pemilik sah bisa memprediksinya, tetapi pihak ketiga sulit mengikuti tag itu dengan mudah. Perangkat lain melihat kunci tersebut, lalu mengenkripsi lokasinya sendiri dengan kunci publik tag dan membagikannya. Jadi mendapatkan datanya cukup sulit, dan secara praktis mustahil kecuali Apple dipaksa mendesain ulang sistem dan mendistribusikan pembaruan berbahaya. Biasanya tingkat seperti itu dianggap berada di luar jangkauan panggilan pengadilan biasa
Saya ragu Samsung dan Google melangkah sejauh ini pada pelacak mereka
Aplikasi Find My menggabungkan keduanya untuk menampilkan lokasi terbaru. Menurut saya proyek ini tampaknya hanya memakai yang pertama, dan sisi itu secara desain memerlukan backdoor yang eksplisit. Namun jika yang ingin Anda lindungi adalah dari lembaga pemerintah, jaringan yang kedua kemungkinan merupakan bagian yang lebih perlu dikhawatirkan
Jika Anda tidak percaya bahwa ini benar-benar akan dinonaktifkan meski sudah dimatikan, maka Anda perlu memikirkan secara mendalam semua perangkat elektronik yang Anda miliki. Apakah Anda memercayai firmware ponsel Android? Chip modem yang bukan open source? Kartu SIM yang menjalankan Java? Apakah remote TV Anda tidak punya mikrofon yang tidak Anda sadari? Nyatanya banyak remote memilikinya. Bahkan pemanggang roti kemungkinan berisi chip yang lebih kuat daripada komputer era DOS yang terhubung ke jaringan. Punya saya juga begitu. Bagaimana Anda tahu itu tidak tersambung ke Wi-Fi sekitar dan mengirim informasi? Setelah kasus China/iCloud, saya tidak sepenuhnya memercayai Apple, tetapi di antara perusahaan teknologi besar, mereka tetap pihak yang paling saya percayai