SkillAgentSearch skills...

FindMy

Query Apple's Find My network

Install / Use

/learn @biemster/FindMy
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

FindMy

Query Apple's Find My network, based on all the hard work of https://github.com/seemoo-lab/openhaystack/ and @hatomist and @JJTech0130 and @Dadoum.

This is version 2, which does not require a Mac anymore thanks to the awesome work in https://github.com/JJTech0130/pypush. Version 1 that can be run on Macs can still be found in the catalina (python2) and monterey (python3) branches.

Installation and initial setup

Only a free Apple ID is required, with SMS 2FA properly setup. If you don't have any, follow one of the many guides found on the internet.

  1. Clone this repository and anisette-v3-server:
git clone https://github.com/biemster/FindMy
git clone https://github.com/Dadoum/anisette-v3-server
  1. Follow the installation instructions for anisette-v3-server and make sure it works.
  2. Create the database where the reports will be stored:
sqlite3 reports.db 'CREATE TABLE reports (id_short TEXT, timestamp INTEGER, datePublished INTEGER, payload TEXT, id TEXT, statusCode INTEGER, PRIMARY KEY(id_short,timestamp))'

Run

  1. cd into the FindMy directory and generate keys using ./generate_keys.py.
  2. Deploy your advertisement keys on devices supported by OpenHaystack. The ESP32 firmware is a mirror of the OpenHaystack binary, the Lenze 17H66 is found in many 1$ tags obtained from Ali. An nRF51 firmware can be found here: https://github.com/dakhnod/FakeTag
  3. run
../anisette-v3-server/anisette-v3-server & ./request_reports.py ; killall anisette-v3-server

in the same directory as your .keys files.

Alternatively to step 3 you could install https://github.com/Dadoum/pyprovision (first install anisette-v3-server though to get a nice D environment and the required android libs), make a folder anisette in your working directory and just run

./request_reports.py

The script should pick up the python bindings to provision and use that instead.

This current non-Mac workflow is not optimal yet, mainly because the anisette server is a bit of a workaround. A python solution for retrieving this is being developed in the pypush discord, please join there if you want to contribute!

Related Skills

View on GitHub
GitHub Stars677
CategoryDevelopment
Updated4d ago
Forks80

Languages

Python

Security Score

80/100

Audited on Mar 25, 2026

No findings