Commit Graph

119 Commits

Author SHA1 Message Date
Mike A.
e2978b66a0 docs: hide typevar definitions 2025-08-05 15:08:56 +02:00
Mike A.
def535f819 docs: somewhat fix references in source code 2025-08-04 16:16:30 +02:00
Mike Almeloo
55c111073d Merge pull request #148 from malmeloo/feat/better-serialization
Make more objects `Serializable`
2025-08-03 21:46:05 +02:00
Mike A.
2e6f70d199 feat: add session managers 2025-08-03 21:45:04 +02:00
Mike A.
9017efc7be refactor: specialize Serializable subclasses for stronger type safety 2025-08-03 21:42:08 +02:00
Mike A.
543ffe64a3 feat: make FindMyAccessory serializable 2025-08-01 18:05:07 +02:00
Paul Bargewell
e15356c4a7 [fix] QA issues (BLE001) 2025-07-25 14:03:54 +01:00
Paul Bargewell
eba90b56a4 Fix unclosed aiohttp client session warnings
- Add proper session state management to HttpSession, RemoteAnisetteProvider, and AsyncAppleAccount
- Implement idempotent close() methods with _closed flags
- Improve cleanup order and error handling
- Prevent new session creation after close() is called

Fixes resource leaks and eliminates aiohttp unclosed session warnings.
2025-07-25 13:52:08 +01:00
Mike A.
07a3fed11e feat: make LocationReport serializable 2025-07-23 20:24:34 +02:00
Mike A.
cbea476226 feat: make KeyPair serializable 2025-07-23 20:04:31 +02:00
Mike A.
21ef4fe292 Merge remote-tracking branch 'refs/remotes/origin/main' into feat/better-serialization 2025-07-23 19:48:38 +02:00
Mike A.
c8a3605dd3 fix: add guard against incorrect account data deserialization 2025-07-23 19:45:24 +02:00
Mike Almeloo
5c117ddce2 Merge pull request #113 from shreyasminocha/pubkey-ble-conversion
Add BLE ad data generation method
2025-07-18 16:25:34 +02:00
Mike A.
50bd844955 refactor: split adv data method into BLE and OF variants 2025-07-18 16:22:18 +02:00
Mike A.
5d2fd04515 fix: make scanner work with Python 3.13 2025-07-18 16:11:20 +02:00
Mike Almeloo
715b01c165 Merge pull request #144 from malmeloo/feat/migrate-api
feat!(reports): Migrate to new acsn API
2025-07-18 15:02:45 +02:00
Mike A.
bbdd784e6a feat(reports): allow passing Anisette libs path when loading account from JSON 2025-07-14 22:21:21 +02:00
Mike A.
0118666f53 feat(reports): make BaseAppleAccount and subclasses Serializable 2025-07-14 22:10:47 +02:00
Mike A.
c37a51c2eb refactor(reports): improve Serializable base class 2025-07-14 22:10:14 +02:00
Mike A.
a2c3b3136e feat(reports): implement local Anisette provider 2025-07-11 15:04:32 +02:00
Mike A.
e74197372f fix(reports): split key queries into devices
Apple only returns up to 20 location reports per device.
2025-07-10 16:25:30 +02:00
Mike A.
5e64915621 feat!(reports): Migrate to new acsn API
Apple no longer returns the `published_at` and `description` fields on location reports, so these have been deprecated.
2025-07-08 13:19:14 +02:00
Mike Almeloo
bfe58bda1f Merge pull request #130 from NickCrews/decrypt-plist
feat: add plist.py for decrypting the .plist files to FindMyAccessory
2025-06-14 16:25:10 +02:00
ivanik
a2d705cfe5 Update fetch_reports to accept lists with HasHashedPublicKey and RollingKeyPairSource at the same time 2025-06-11 22:17:26 +05:00
Mike Almeloo
4b1dfcc197 Merge pull request #131 from NickCrews/account-json
feat: adjust the ser/deser logic of AppleAccount
2025-05-27 15:32:20 +02:00
Nick Crews
6de83e81ac chore: use loggers, not top-level logging
Aslo fix up a few other ruff lint errors.
2025-05-25 18:14:56 -06:00
Nick Crews
5142350241 feat: adjust the ser/deser logic of AppleAccount 2025-05-25 17:51:24 -06:00
Nick Crews
c541d8f6fa improve help message for CLI 2025-05-25 17:26:17 -06:00
Nick Crews
c4f3bba9c2 adjust the API of the decrypt CLI 2025-05-25 17:15:03 -06:00
Nick Crews
0defad71b3 feat: add plist.py for decrypting the .plist files to FindMyAccessory 2025-05-25 16:46:12 -06:00
Mike Almeloo
0d58abafee Merge branch 'main' into migrate-uv 2025-04-08 13:41:37 +02:00
Mike Almeloo
515c3dfd53 Merge pull request #105 from malmeloo/multi-accessory-fetching
feat: Support fetching of multiple accessories at once
2025-04-08 13:39:56 +02:00
Mike A.
ed4ff77003 chore: make ruff / pre-commit happy 2025-02-27 22:34:30 +01:00
pre-commit-ci-lite[bot]
f40bd49ab7 [pre-commit.ci lite] apply automatic fixes 2025-02-27 21:06:51 +00:00
Shreyas Minocha
f141ec3700 Replace new example with HasPublicKey method 2025-02-24 23:26:03 -05:00
Mike A.
10aee19e93 feat: Support fetching of multiple accessories at once 2025-01-23 16:27:28 +01:00
Mike A.
c6dc4a0def fix: Auto-retry requests to remote anisette server 2025-01-23 14:22:51 +01:00
pre-commit-ci-lite[bot]
010ff02ebf [pre-commit.ci lite] apply automatic fixes 2025-01-10 07:38:46 +00:00
Cambridge Yang
cc758bfdbe add time margin when matching against nearby device 2025-01-10 07:36:40 +00:00
Mike A.
8fb2338914 fix: Manually filter fetched reports to adhere to date ranges
Fixes #83
2024-12-23 17:36:24 +01:00
Mike Almeloo
b17175567c Merge pull request #91 from malmeloo/fix/nearby-device-discovery
Add key generation margin when comparing against detected device
2024-12-23 16:36:31 +01:00
Cambridge Yang
f8694bae03 reset device_fut when timeout is reached 2024-12-06 10:35:28 -05:00
Mike A.
bf49c69c39 Add key generation margin when comparing against detected device 2024-12-05 22:54:40 +01:00
Mike A.
78d472ba0d Nitpicking 2024-11-20 21:15:37 +01:00
Philip Magyar
263cd5bd16 fix commit errors 2024-11-20 09:12:19 +01:00
pre-commit-ci-lite[bot]
a4b753287e [pre-commit.ci lite] apply automatic fixes 2024-11-20 08:06:31 +00:00
Philip Magyar
f45b9723f7 fix confidance/horizontal acc, add mac address 2024-11-20 09:04:05 +01:00
Mike A.
8a096230a2 keys: Add name getter/setter to accessories and keypairs 2024-09-18 16:38:59 +02:00
Mike A.
d25a7292a5 accessory: Add more properties to retrieve values 2024-09-18 00:01:06 +02:00
Mike A.
42aba78609 chore: Fix linter 2024-09-17 23:49:18 +02:00