- go-haystack, Apple’ın Find My ağı üzerinden kişisel Bluetooth cihazlarını izlemeyi sağlayan Go/TinyGo tabanlı bir araç setidir
- OpenHaystack ve Macless-Haystack’i birlikte kullanarak özel bir Find My ağı yapılandırır; Apple donanımı olmadan kurulabilir
- TinyGo ve TinyGo Bluetooth paketiyle yazılmış beacon firmware’i sunar; nRF SoftDevice kartları, BBC Microbit, Seeed Studio XIAO nRF52840, ESP32 yardımcı işlemcili kartlar, RP2040 Pico-W gibi donanımları hedefler
- Aynı beacon kodu Bluetooth donanımı bulunan Linux üzerinde de çalıştırılabilir; Raspberry Pi veya gömülü sistemler de hedefler arasındadır
- Kullanıcılar Apple ID ve SMS tabanlı 2FA, anisette-v3-server, Macless-Haystack sunucusu ve
haystack CLI’ını hazırladıktan sonra anahtar üretimi, firmware flash’lama ve JSON yükleme akışıyla cihazı kaydeder
go-haystack’in rolü
- go-haystack, Apple’ın Find My ağı üzerinden kişisel Bluetooth cihazlarını izlemeyi sağlar
- OpenHaystack ve Macless-Haystack ile birlikte özel bir Find My ağı kurar
- Araçlar Go/TinyGo ile yazılmıştır ve Apple donanımı olmadan kullanılabilir
Kendi beacon’ınızı yapmak
Linux beacon’ı ve TinyScan
- Bluetooth donanımı bulunan Linux üzerinde de beacon kodu çalıştırılabilir
- Raspberry Pi veya diğer gömülü sistemler örnek olarak verilir
- Gömülü Linux kodu, mikrodenetleyicilere yönelik beacon koduyla aynıdır ve depodaki
firmware dizinindedir
- go-haystack, yerel cihazlar için bir donanım tarayıcısı olan TinyScan’i de içerir
- TinyScan, Bluetooth ve küçük ekranı olan çeşitli mikrodenetleyici kartlarında çalışır
- Adafruit ve Pimoroni tarafından üretilen kartlar örnek olarak verilir
- Kod tinyscan dizinindedir
Kurulum için gereken bileşenler
- Bir Apple ID gerekir ve 2FA etkin olmalıdır
- İkinci kimlik doğrulama faktörü olarak yalnızca SMS/kısa mesaj desteklenir
anisette-v3-server Docker ile çalıştırılır
- Örnek komut,
mh-network Docker ağını oluşturur ve dadoum/anisette-v3-server konteynerini 6969 portunda çalıştırır
macless-haystack endpoint’i etkileşimli modda çalıştırılarak yapılandırılır
- Yapılandırma sırasında Apple ID, parola ve 2FA girilir
serving at port 6176 over HTTP görülürse yapılandırma tamamlanmış demektir
- Yapılandırmadan sonra süreç sonlandırılır ve
docker restart macless-haystack ile sunucu yeniden başlatılır
- go-haystack CLI şu komutla kurulur
go install github.com/hybridgroup/go-haystack/cmd/haystack@latest
Kullanım akışı
- Yerel kapsama alanındaki cihazlar
haystack scan ile taranır
- Çıktıda Bluetooth adresi, sinyal değeri, tanımlayıcı biçiminde veri ve pil durumu yer alır
- Yeni bir cihaz eklemek için önce cihaz için anahtar üretilir
haystack keys DEVICENAME
- Anahtar üretimi sonucunda
DEVICENAME.keys dosyası ve Haystack yapılandırması için DEVICENAME.json dosyası kaydedilir
DEVICENAME, gerçek cihaz adıyla değiştirilerek kullanılır
- Donanıma TinyGo hedefi ve cihaz adı belirtilerek flash atılır
haystack flash DEVICENAME nano-rp2040
- Bu komut, TinyGo kullanarak anahtarları içeren firmware’i derler ve cihaza flash’lar
- Son olarak ilgili cihazın JSON dosyası, çalışmakta olan
macless-haystack örneğine web UI üzerinden yüklenir
- Web tarayıcısında Macless-Haystack web uygulaması açılır ve “Accessories” bağlantısı ile “+” düğmesi üzerinden
DEVICENAME.json dosyası seçilir
- Bu web uygulaması yalnızca yerel verileri okuyup yazan tek sayfalık bir uygulamadır
Konum verilerini gösterme
- Cihaz herhangi bir iPhone’un kapsama alanına girdiğinde, bir süre sonra Macless-Haystack verileri web UI’da görünür
- İlk verilerin görünmesi zaman alabilir
1 yorum
Hacker News yorumları
Gerçekten harika. Bu tür denemeler ve Find My ağı her gördüğümde beni şaşırtıyor; ama bu yöntemi bizzat kullanmamamın nedeni, Apple’ın bir gün bu ağa yaslanmayı resmen kabul edebileceğini ya da tam tersine bununla ilişkili geçmişi olan Apple ID’leri yasaklayabileceğini düşünmem
Şu anda Apple bunun farkında ama iki yönde de bir tutum almıyor. Apple ileride bunu daha resmî biçimde destekleyene ya da Apple ID/hesabımla doğrudan bağlantılı olmayan bir yöntem ortaya çıkana kadar sadece izlemekle yetinmeyi düşünüyorum
Özellikle Apple’ın doğrudan çalışması gerekmediği için, şu anda benimsenmeyi bastırmak yerine sonunda mesh yoğunluğundan daha fazla yararlanmak isteyeceğini düşünüyorum
Geçen yaz eşimle Portekiz’de tatildeydik; havaalanına giden Uber’de eşim cüzdanını unuttu. Sürücü cüzdanı bulduktan sonra 20 doları ve birkaç takıyı alıp atmış; aynı günün ilerleyen saatlerinde AirTag ile terk edilmiş bir otoparka kadar takip edip Location uygulamasıyla bulduk
O zamandan beri tüm çantalara AirTag koyuyor ve pillerini de programa göre değiştiriyorum
O sırada başka bir adam da eşyasının orada olduğunu söyledi; bir ay önce New Zealand’da uçaktan tahliye edilirken iPad’ini koltuk cebinde bırakmış ve Find My ile Sydney’e kadar takip etmiş. Ayda birkaç kez uluslararası uçtuğunu ve AirTag’in sahip olduğu şeyler arasında en iyisi olduğunu söyledi. O günden sonra tüm arabaların, çantaların ve çalınabilecek pahalı eşyaların içine birkaç yem etiket de gizledim
Bunu okuyunca da tam anlamadım. Apple AirTag ile birlikte kullanılabiliyor mu, yoksa kendi takip cihazımı mı yapmam gerekiyor?
https://github.com/hybridgroup/go-haystack?tab=readme-ov-fil...
https://media.ccc.de/v/38c3-find-my-101
İleride beacon konumunu 1 metreküpün altında bir doğrulukla bilebilsek iyi olurdu
Eşimde ADD var, bu yüzden eşyalarını sık sık kaybediyor. Tile’ın sesi yüksek değil ve kararsız; iPhone’umuz olmadığı için AirTag de kullanamıyoruz. Bluetooth beacon konumunu bulmak için gereken matematiği öğrenemeyecek kadar yoruldum ama yapabilmeyi isterdim. “Sadece 4 küçük Bluetooth kartı daha ekleyin” gibi bir yazılım projesi olsa iyi olurdu; ancak çoğu açık kaynak geliştirici için bu, kaşınan yeri kaşıyan bir konu değil gibi görünüyor
Bluetooth bağlantı gücüyle değil, ultra geniş bant (UWB) ile hassas konum belirliyor. GPS gibi ışık hızı gecikmesini kullanan uçuş süresi yöntemiyle çalışıyor. Find My uygulamasını açtığınızda AirTag’e olan kesin mesafeyi çok hızlı öğreniyor; yürürken gözlenen konum değişimlerinden AirTag’in hangi yönde olduğunu da hesaplıyor. Oldukça havalı bir teknoloji. Find My uygulamasında “Play Sound” değil “Find” işlevini kullanmanız gerekiyor ve H1 ultra geniş bant çipi bulunan iPhone 11+ gerekiyor. Eve birkaç Bluetooth kartı kurmanın maliyetine benzer olabilir ve çok daha hassastır, ama hackleme eğlencesi daha az https://en.wikipedia.org/wiki/Ultra-wideband#Real-time_locat...
En azından ultra geniş bant hassas konum, satın alınabilirlik, makul fiyat ve kararlılığı bir araya getiren eşdeğer bir alternatif yok gibi. Öte yandan bazı Android’lerde Tile’ın UWB’siyle de çalışabilecek UWB desteği var gibi görünüyor: https://www.zdnet.com/article/how-to-enable-uwb-on-android-a...
https://www.bluetooth.com/learn-about-bluetooth/feature-enha...
Eskiden beacon’larla biraz uğraşmıştım; çalıştırmanın kendisi oldukça kolaydı. Dizüstü bilgisayarın beacon gibi davranmasını sağlayan küçük bir program yazdım ve telefondaki herhangi bir “Bluetooth tracker” uygulamasıyla o beacon’a olan yaklaşık mesafeyi gördüm. Sonrası, mesafeye bakarak yürümekten ibaret
Artık Mac olmadan da kullanılabiliyor gibi mi? Öyleyse harika. Apple takip cihazları sadece birkaç avro; tabii üçüncü taraf ürünler için konuşuyorum
Sadece bana mı öyle geliyor bilmiyorum ama bu Find My ağ özelliğinin tamamı bir güvenlik kâbusu gibi görünüyor. Kullanışlılığını anlıyorum, ama belirli bir kurum Apple’dan, hücresel kapsama olmadan bile bu kişinin nerede olduğunu söylemesini isteyemez mi?
Her hâlükârda bu yüzden Apple ekosisteminden çıkmaya karar verdim; gözetim açısından kâbus gibi görünüyor
Etiket kendi konumunu bilmez, yalnızca kendi dönen açık anahtarını yayınlar. Anahtar rastgele değiştiği için meşru sahibi olarak siz bunu öngörebilirsiniz, ancak üçüncü bir tarafın etiketi kolayca takip etmesi zordur. Diğer cihazlar bu anahtarı görür ve kendi konumlarını etiketin açık anahtarıyla şifreleyerek paylaşır. Bu yüzden veriyi elde etmek oldukça zordur; Apple sistemi yeniden tasarlayıp kötü niyetli bir güncelleme dağıtmaya zorlanmadıkça pratikte imkânsızdır. Genelde bu seviyenin sıradan bir mahkeme celbiyle mümkün olanın ötesinde olduğu düşünülür
Samsung ve Google’ın kendi takip cihazlarında bu kadar ileri gidip gitmediğinden şüpheliyim
Find My uygulaması bu ikisini birleştirip en güncel konumu gösterir. Bana kalırsa bu proje yalnızca ilkini kullanıyor gibi ve bu tarafta tasarım gereği açık bir arka kapı gerekir. Ancak devlet kurumlarına karşı savunma yapmaya çalışıyorsanız, ikinci ağ muhtemelen daha fazla dikkat etmeniz gereken kısım
Bunu kapatınca gerçekten devre dışı kalacağına güvenmiyorsanız, sahip olduğunuz tüm elektronik cihazları derinlemesine düşünmeniz gerekir. Android telefonun firmware’ine güveniyor musunuz? Açık kaynak olmayan modem çipine? Java çalıştıran SIM karta? TV kumandasında fark etmediğiniz bir mikrofon olmadığından emin misiniz? Aslında birçok kumandada var. Tost makinenizde bile ağa bağlı DOS dönemi bilgisayarlardan daha güçlü bir çip bulunma ihtimali yüksek. Benimkinde de var. Onun yakındaki Wi‑Fi’a bağlanıp bilgi göndermediğini nasıl bilebilirsiniz? China/iCloud olayından sonra Apple’a tamamen güvenmiyorum, ama büyük teknoloji şirketleri arasında yine de en çok güvendiğim taraf o