go-haystack: Track Devices with Apple's Find My Network, No Apple Hardware Needed
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
go-haystack enables users to track personal Bluetooth devices by leveraging Apple's extensive "Find My" network. This innovative project utilizes OpenHaystack and Macless-Haystack, providing robust tools developed in Go and TinyGo. A key advantage is its ability to establish a custom Find My network without requiring any proprietary Apple hardware.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
go-haystack is an exciting open-source project that empowers you to track your personal Bluetooth devices using Apple's vast "Find My" network. It achieves this by integrating with OpenHaystack and Macless-Haystack, offering a suite of tools written in Go and TinyGo. The most compelling feature is its ability to set up a custom Find My network entirely without the need for any Apple hardware.
The project allows you to build your own beacons using TinyGo firmware, compatible with various nRF-based boards and even Linux systems like Raspberry Pi. Additionally, go-haystack includes TinyScan, a hardware scanner for local devices, providing a complete solution for personal device tracking.
Installation
To get go-haystack up and running, you'll need to follow a few steps, including setting up supporting services.
Apple ID
You must have an Apple ID with 2FA enabled. Note that only SMS/text message as a second factor is currently supported.
anisette-v3-server
Start the anisette-v3-server using Docker:
docker network create mh-network
docker 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
- Start and set up your Macless Haystack endpoint in interactive mode:
You will be prompted for your Apple ID, password, and 2FA. Once you seedocker run -it --restart unless-stopped --name macless-haystack -p 6176:6176 --volume mh_data:/app/endpoint/data --network mh-network christld/macless-haystackserving at port 6176 over HTTP, the setup is complete. Hitctrl-Cto exit the process. - Restart the
macless-haystackserver:
For more details, refer to the original Macless-Haystack instructions.docker restart macless-haystack
go-haystack
Install the go-haystack command-line tool:
go install github.com/hybridgroup/go-haystack/cmd/haystack@latest
Examples
Once installed, go-haystack provides simple commands for scanning and managing your devices.
Scanning for local devices
To scan for any local devices within range, use the scan command:
haystack scan
This will return a list of nearby devices, including their MAC addresses, RSSI values, and battery status.
Adding a new device
- Generate keys for your new device:
Replacehaystack keys DEVICENAMEDEVICENAMEwith your desired name for the device. This command will createDEVICENAME.keysandDEVICENAME.jsonfiles. - Flash the hardware with the TinyGo target and your device's name:
This command compiles the TinyGo firmware with your generated keys and flashes it to the specified device. For more information on TinyGo, visit https://tinygo.org/getting-started/overview/.haystack flash DEVICENAME nano-rp2040 - Upload the device's JSON configuration to
macless-haystack: Navigate your web browser to https://dchristl.github.io/macless-haystack/. This is a single-page web application that interacts with your localmacless-haystackinstance. Click on "Accessories," then the "+" button, and select theDEVICENAME.jsonfile you generated earlier.
Your device is now set up! It might take some time for the first data to appear in the Macless-Haystack web UI as your device needs to be in range of an iPhone to be picked up by the Find My network.
Why Use go-haystack?
go-haystack offers a unique and powerful solution for personal device tracking. Its primary advantage is the ability to leverage Apple's robust "Find My" network without needing any Apple hardware, making it accessible to a broader audience. The use of Go and TinyGo ensures efficient, performant, and resource-friendly applications, ideal for embedded systems and microcontrollers. This project provides a customizable and open-source alternative for those interested in building their own tracking beacons, offering greater control and privacy over their personal devices.
Links
- GitHub Repository: https://github.com/hybridgroup/go-haystack
- OpenHaystack: https://github.com/seemoo-lab/openhaystack
- Macless-Haystack: https://github.com/dchristl/macless-haystack
- TinyGo: https://tinygo.org/
- Macless-Haystack Web UI: https://dchristl.github.io/macless-haystack/
Related repositories
Similar repositories that may be relevant next.

e2a: Open-Source Email API for Applications and AI Agents
September 29, 2026
e2a is an open-source email API designed for applications and AI agents, offering robust transactional email capabilities and real two-way inboxes. It supports both managed hosting and self-hosting with Docker, providing features like human-in-the-loop approval and advanced content screening. Built in Go, e2a aims to bridge email's universal addressability with the structured data world of AI agents.

KSail: The All-in-One Kubernetes SDK for Cluster Management and GitOps
September 27, 2026
KSail is a comprehensive Kubernetes SDK designed to simplify cluster creation, management, and operation across multiple distributions like Kind, K3d, Talos, and VCluster. It integrates essential features such as GitOps, secrets management, an AI assistant, and an MCP server, making cloud-native development accessible with just Docker or a cloud provider.

ADL CLI: Scaffold Enterprise-Ready AI Agents with A2A Protocol
September 15, 2026
The ADL CLI is a powerful command-line tool designed to rapidly scaffold and manage enterprise-ready AI Agents. It leverages the YAML-based Agent Definition Language (ADL) to generate complete project structures, eliminating boilerplate and ensuring consistent patterns. This tool significantly accelerates the development of AI agents powered by the A2A (Agent-to-Agent) protocol.
Qovira: A Private, Self-Hostable AI Personal Assistant in Go
September 15, 2026
Qovira is an ambitious project aiming to deliver a private, self-hostable AI personal assistant. Built with Go and SvelteKit, it will organize reminders, notes, and schedules using AI, all on infrastructure you control. Currently in early development, Qovira promises a secure and private alternative to cloud-based AI tools.
Source repository
Open the original repository on GitHub.
27 counted GitHub visits