Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Track personal Bluetooth devices via Apple's "Find My" network using OpenHaystack and Macless-Haystack with tools written in Go/TinyGo. No Apple hardware required!

License

NotificationsYou must be signed in to change notification settings

hybridgroup/go-haystack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Haystack gopher

Go Haystack lets you track personal Bluetooth devices via Apple's massive"Find My" network.

It usesOpenHaystack together withMacless-Haystack to help you setup a custom FindMy network with tools written in Go/TinyGo. No Apple hardware required!

image of macless-haystack web UI

Build Your Own Beacon

This package provides firmware written usingTinyGo and theTinyGo Bluetooth package.

tinygo beacons

As a result, any of the following hardware devices should work:

The beacon code is located in this repository in thefirmware directory.

Linux Beacons

You can also run the beacon code on any Linux that has Bluetooth hardware, such as a Raspberry Pi or other embedded system.

The beacon code is the same for embedded Linux as for microcontrollers, and is located in this repo in thefirmware directory.

TinyScan

Go Haystack also includes TinyScan, a hardware scanner for local devices.

tinyscan

TinyScan runs on several different microcontrollers boards with Bluetooth and miniature displays, such as those made byAdafruit andPimoroni

The TinyScan code is located in thetinyscan directory in this repository.

How to install

Apple ID

You must have an Apple-ID with 2FA enabled. Only sms/text message as second factor is supported!

anisette-v3-server

Startanisette-v3-server

docker network create mh-networkdocker run -d --restart always --name anisette -p 6969:6969 --volume anisette-v3_data:/home/Alcoholic/.config/anisette-v3 --network mh-network dadoum/anisette-v3-server

macless-haystack

  1. Start and set up your Macless Haystack endpoint in interactive mode:
docker run -it --restart unless-stopped --name macless-haystack -p 6176:6176 --volume mh_data:/app/endpoint/data --network mh-network christld/macless-haystack
You will be asked for your Apple-ID, password and your 2FA. If you seeserving at port 6176 over HTTP you have all set up correctly

Hit ctrl-C to exit the process once it has been configured.

  1. Restart the macless-haystack server
docker restart macless-haystack

Seehttps://github.com/dchristl/macless-haystack/blob/main/README.md#server-setup for the original instructions.

go-haystack

Install the go-haystack command line tool

go install github.com/hybridgroup/go-haystack/cmd/haystack@latest

How to use

Scanning for local devices

haystack scan

Should return any local devices within range:

$ haystack scan                                                                                                             CE:8B:AD:5F:8A:02 -53 ce8bad5f8a0271538ff5afda87498cb067e9a020d6e4167801d55d83 - battery fullFE:B0:67:9B:9A:5C -55 feb0679b9a5c55b1141c5cc6c8f65224ae9bc6bc2d998ccf5c56a02d - battery fullCE:8B:AD:5F:8A:02 -53 ce8bad5f8a0271538ff5afda87498cb067e9a020d6e4167801d55d83 - battery fullCE:8B:AD:5F:8A:02 -53 ce8bad5f8a0271538ff5afda87498cb067e9a020d6e4167801d55d83 - battery fullFE:B0:67:9B:9A:5C -56 feb0679b9a5c55b1141c5cc6c8f65224ae9bc6bc2d998ccf5c56a02d - battery fullCE:8B:AD:5F:8A:02 -53 ce8bad5f8a0271538ff5afda87498cb067e9a020d6e4167801d55d83 - battery fullFE:B0:67:9B:9A:5C -56 feb0679b9a5c55b1141c5cc6c8f65224ae9bc6bc2d998ccf5c56a02d - battery fullCE:8B:AD:5F:8A:02 -53 ce8bad5f8a0271538ff5afda87498cb067e9a020d6e4167801d55d83 - battery full

Adding a new device

  1. Generate keys for a device
haystack keys DEVICENAME

The keys will be saved in a file namedDEVICENAME.keys and the configuration file for Haystack will be saved inDEVICENAME.json. Replace "DEVICENAME" with whatever you want to name the actual device.

  1. Flash the hardware with the TinyGo target and the name of your device.

For example:

haystack flash DEVICENAME nano-rp2040

This will use TinyGo to compile the firmware using your keys, and then flash it to the device. Seehttps://tinygo.org/getting-started/overview/ for more information about TinyGo.

  1. Upload the JSON file for that device to your running instance ofmacless-haystack using the web UI.

Point your web browser tohttps://dchristl.github.io/macless-haystack/ which is a single-page web application that only reads/writes local data. Click on the link for "Accessories", then on the "+" button. Choose theDEVICENAME.json file for your device.

That's it, your device is now setup.

Objects in your data may be closer than they appear

Eventually, if your device is in range of any iPhone, they will appear in your Macless-Haystack data in the web UI.

Note that it might take a while for the first data to show up.

Have fun, be good!

About

Track personal Bluetooth devices via Apple's "Find My" network using OpenHaystack and Macless-Haystack with tools written in Go/TinyGo. No Apple hardware required!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp