findmy.accessory¶
Module to interact with accessories that implement Find My.
Accessories could be anything ranging from AirTags to iPhones.
Classes¶
A class that generates rolling `KeyPair`s. |
|
A findable Find My-accessory using official key rollover. |
|
KeyPair generator. Uses the same algorithm internally as FindMy accessories do. |
Module Contents¶
- class findmy.accessory.RollingKeyPairSource¶
Bases:
abc.ABC
A class that generates rolling `KeyPair`s.
- property interval: datetime.timedelta¶
- Abstractmethod:
KeyPair rollover interval.
- abstract keys_at(ind: int | datetime.datetime) set[findmy.keys.KeyPair] ¶
Generate potential key(s) occurring at a certain index or timestamp.
- keys_between(start: int, end: int) set[findmy.keys.KeyPair] ¶
- keys_between(start: datetime.datetime, end: datetime.datetime) set[findmy.keys.KeyPair]
Generate potential key(s) occurring between two indices or timestamps.
- class findmy.accessory.FindMyAccessory(master_key: bytes, skn: bytes, sks: bytes, paired_at: datetime.datetime, name: str | None = None, model: str | None = None, identifier: str | None = None)¶
Bases:
RollingKeyPairSource
A findable Find My-accessory using official key rollover.
- property paired_at: datetime.datetime¶
Date and time at which this accessory was paired with an Apple account.
- property name: str | None¶
Name of this accessory.
- property model: str | None¶
Model string of this accessory, as provided by the manufacturer.
- property identifier: str | None¶
Internal identifier of this accessory.
- property interval: datetime.timedelta¶
Official FindMy accessory rollover interval (15 minutes).
- keys_at(ind: int | datetime.datetime) set[findmy.keys.KeyPair] ¶
Get the potential primary and secondary keys active at a certain time or index.
- classmethod from_plist(plist: IO[bytes]) FindMyAccessory ¶
Create a FindMyAccessory from a .plist file dumped from the FindMy app.
- class findmy.accessory.AccessoryKeyGenerator(master_key: bytes, initial_sk: bytes, key_type: findmy.keys.KeyType = KeyType.UNKNOWN)¶
Bases:
findmy.keys.KeyGenerator
[findmy.keys.KeyPair
]KeyPair generator. Uses the same algorithm internally as FindMy accessories do.
- __iter__() findmy.keys.KeyGenerator ¶
- __next__() findmy.keys.KeyPair ¶
- __getitem__(val: int) findmy.keys.KeyPair ¶
- __getitem__(val: slice) Generator[findmy.keys.KeyPair, None, None]