GN⁺: Go/TinyGo에서 Apple FindMy 네트워크를 통한 기기 추적 기능
(github.com/hybridgroup)-
go-haystack
- Go Haystack는 Apple의 "Find My" 네트워크를 통해 개인 블루투스 기기를 추적할 수 있게 해주는 도구임.
- OpenHaystack와 Macless-Haystack을 사용하여 Go/TinyGo로 작성된 도구로 맞춤형 FindMy 네트워크를 설정할 수 있음.
- Apple 하드웨어가 필요하지 않음.
-
비콘 만들기
- TinyGo와 TinyGo Bluetooth 패키지를 사용하여 작성된 펌웨어를 제공함.
- 다음과 같은 하드웨어 장치에서 작동 가능:
- Adafruit Bluefruit 보드
- BBC Microbit
- 기타 Nordic Semi SoftDevice 보드
- ESP32 코프로세서를 사용하는 NINA-FW 보드
- CYW43439 코프로세서를 사용하는 RP2040 Pico-W 보드
- 블루투스 하드웨어가 있는 Linux 시스템에서도 비콘 코드를 실행할 수 있음.
-
TinyScan
- Go Haystack는 TinyScan이라는 로컬 기기를 위한 하드웨어 스캐너도 포함함.
- Adafruit 및 Pimoroni에서 제작한 블루투스 및 소형 디스플레이가 있는 여러 마이크로컨트롤러 보드에서 실행됨.
-
설치 방법
- Apple ID: 2단계 인증이 활성화된 Apple-ID가 필요하며, SMS/문자 메시지만 지원됨.
- anisette-v3-server: Docker를 사용하여 anisette-v3-server를 시작하고 설정함.
- macless-haystack: Macless Haystack 엔드포인트를 설정하고 서버를 재시작함.
- go-haystack: go-haystack 명령줄 도구를 설치함.
-
사용 방법
- 로컬 기기 스캔:
haystack scan
명령어로 범위 내의 로컬 기기를 검색함. - 새로운 기기 추가:
-
haystack keys DEVICENAME
명령어로 기기 키 생성. - TinyGo 타겟과 기기 이름으로 하드웨어 플래시.
- JSON 파일을
macless-haystack
인스턴스에 업로드.
-
- 로컬 기기 스캔:
-
데이터 주의사항
- 기기가 iPhone 범위 내에 있으면 Macless-Haystack 데이터에 나타남.
- 첫 데이터가 나타나기까지 시간이 걸릴 수 있음.
Hacker News 의견
- Apple의 네트워크를 활용한 기술에 감탄을 표하며, Apple이 공식적으로 지원하거나 Apple ID와의 직접적인 연결 없이 사용할 수 있는 방법이 나오길 바람
- 포르투갈에서 AirTag를 사용해 잃어버린 가방을 찾은 경험을 공유하며, 모든 가방에 AirTag를 사용하고 배터리를 정기적으로 교체함
- 아내가 ADD로 물건을 자주 잃어버리는데, Bluetooth 비콘의 위치를 정확히 파악할 수 있는 기술이 있기를 희망함
- iPhone이 없어 AirTag를 사용할 수 없고, Bluetooth 비콘을 찾는 수학을 익히기에는 너무 피곤함
- 간단한 Bluetooth 보드를 추가하는 소프트웨어 프로젝트가 있기를 바람
- Mac 없이도 사용할 수 있는 것 같아 놀라움을 표하며, Apple 트래커가 저렴하다고 언급함
- Apple의 AirTag와 함께 사용할 수 있는지, 아니면 자체 추적 장치를 만들어야 하는지 궁금해함
- 네트워크 기능이 보안 문제를 일으킬 수 있다고 우려하며, Apple이 권위 기관의 요청에 따라 개인의 위치를 제공할 수 있는지 의문을 제기함
- 이러한 이유로 Apple 생태계를 떠나기로 결정함