Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/biemster/FindMy
Query Apple's Find My network
https://github.com/biemster/FindMy
Last synced: 13 days ago
JSON representation
Query Apple's Find My network
- Host: GitHub
- URL: https://github.com/biemster/FindMy
- Owner: biemster
- Created: 2022-05-31T20:36:07.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-11T17:24:50.000Z (11 months ago)
- Last Synced: 2023-12-11T18:40:18.117Z (11 months ago)
- Language: Python
- Size: 519 KB
- Stars: 132
- Watchers: 18
- Forks: 25
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
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`:
```bash
git clone https://github.com/biemster/FindMy
git clone https://github.com/Dadoum/anisette-v3-server
```
2. Follow the installation instructions for `anisette-v3-server` and make sure it works.
3. Create the database where the reports will be stored:
```bash
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
```bash
../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
```bash
./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!