Query Apple's Find My network, based on all the hard work of OpenHaystack, @vtky, @hatomist and others.
This is a fork of great work from @biemster and modified to have device locations sent to an endpoint.
- Install python 3.12 and poetry on your system (
pipx install poetry==1.8.2) if you don't have it already. - Install project dependencies:
poetry shellandpoetry install
-
Enable iCloud on your macOS device
-
Use this password as your
PASSWDin the.envfile
You cannot use the python manage.py refresh-credentials command to refresh the credentials, since this require
access to the macOS keychain (and it's depended on hardware).
-
Use the
python manage.py refresh-credentials --schedule-location-fetchingcommand to refresh the credentials (run on a MacOS, stored on AWS) and schedule location fetching (on AWS) -
Use the
python manage.py refresh-credentialscommand to refresh the credentials (stored on AWS) without scheduling location fetching
This command is handy for testing purposes
- After you have executed
python manage.py refresh-credentialsyou have one minute before the credentials expire - Run
python manage.py fetch-locations --trackers E0D4FA128FA9,EC3987ECAA50,CDAA0CCF4128,EDDC7DA1A247,D173D540749D --limit 1000 --minutes_ago 15to fetch the locations of specific trackers


