Skip to content

Code to interface with and implement Apple's Offline Finding (Find My / AirTag) protocol

License

Notifications You must be signed in to change notification settings

shreyasminocha/offline-finding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Offline Finding

Warning

Little-to-none testing. Terrible error-handling. Proceed at your own risk.

CLI

Make sure to set the environment variables listed in .env.example. For the time being, we generate these with FindMy.py. Using FindMy.py's account.json:

# APPLE_AUTH_DSID
cat account.json | jq '.login_state.data.mobileme_data.tokens.searchPartyToken'

# APPLE_AUTH_SEARCH_PARTY_TOKEN
cat account.json | jq '.login_state.data.dsid'
# Fetch "raw" (undecrypted) reports
cargo run -- --anisette-server 'http://localhost:8000' fetch-raw-reports (--private-key|--public-key|--hashed-public-key) <ARG>

# Fetch and decrypt reports
cargo run -- --anisette-server 'http://localhost:8000' fetch-reports '[base64-encoded ephemeral private key]'

See cargo run -- --help for more.

Contributing

Please do.

About

Code to interface with and implement Apple's Offline Finding (Find My / AirTag) protocol

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •