Find My Timeline — Appleデバイスの位置履歴をローカル保存して可視化
概要
Find My Timelineは、AppleのFind Myサービスから取得できるデバイスの位置情報を定期的に取得(ポーリング)して、ローカル環境に保存し、その履歴を地図上でタイムライン表示できるプロジェクトです。公式のFind Myは現在位置の確認に特化しているため、過去の移動履歴を時系列で残したいケースに対応します。インストールはPythonパッケージとして導入し、.envによるApple ID設定と初回認証(2要素認証対応)を行うことで動作します。保存はローカルデータベースを想定しており、外部クラウドに位置情報を送信しない設計が特徴です。
リポジトリの統計情報
- スター数: 3
- フォーク数: 0
- ウォッチャー数: 3
- コミット数: 7
- ファイル数: 12
- メインの言語: Python
主な特徴
- Find Myからデバイス位置をランダム間隔でポーリングして履歴を収集
- 位置データをローカルのデータベースに保存(外部送信なし)
- 初回認証で2要素認証(2FA)に対応、Apple IDを環境変数で管理
- Dockerfileや例示的な.env.exampleがあり、ローカル/コンテナ運用を想定
技術的なポイント
このプロジェクトは「ローカルでの位置履歴保持」と「Find Myサービスの利用」に焦点を当てています。技術的に注目すべき点はまず認証まわりで、READMEにある通り初回は対話的な認証フローを経てトークンを取得する設計になっており、2要素認証への対応を想定しています。次にデータ収集の戦略としてランダムな間隔でポーリングを行う点が挙げられます。これはApple側のレートリミット回避や検知を避けるための配慮で、定期的に同じタイミングで問い合わせるより自然なトラフィックを作れます。保存はローカルDB(リポジトリ構成からはSQLiteなどの軽量DBが想定される)に集約され、位置ログは日時・緯度経度・デバイスIDなどの基本項目で時系列管理されます。可視化はREADMEのスクリーンショットに地図表示があることから、地図ライブラリ(LeafletやFolium等)を用いたタイル上のタイムライン描画を組み合わせていると考えられます。運用面では、.envによる機密情報の管理、Dockerfile/.dockerignoreによるコンテナ化対応、GitHub Actions等のCI設定が配置されていれば自動化の入口を用意できる点も利点です。最後にプライバシーとセキュリティの観点として、位置情報とApple IDは極めて機微なデータであるため、ローカル保存の強調は安心材料になる一方で、.envやDBファイルの適切な権限設定とバックアップ方針が重要になります。
プロジェクトの構成
主要なファイルとディレクトリ:
- .dockerignore: file
- .env.example: file
- .github: dir
- .gitignore: file
- Dockerfile: file
- README.md: file
- preview.png: file
- preview2.png: file
- setup.py / pyproject.toml: file(パッケージインストール設定)
- src/(或いはパッケージ本体): dir
- requirements.txt: file …他 7 ファイル
(実際のリポジトリは合計12ファイルで、READMEに導入・利用方法やスクリーンショットが含まれています)
使い方の流れ(README抜粋)
- pipで開発インストール: pip install -e .
- .env.exampleをコピーして.envにApple ID等を設定
- 初回は対話的な認証を実行(2FA処理を含む)
- デーモン的にポーリングを開始し、取得した位置をローカルDBに蓄積
- 保存された履歴を地図上でタイムライン表示
まとめ
ローカル保存で位置履歴を手軽に記録・可視化できる実用的なツールです。(50字程度)
リポジトリ情報:
- 名前: find-my-timeline
- 説明: Track the location of your Apple Devices in Find My. Everything stored locally!
- スター数: 3
- 言語: Python
- URL: https://github.com/kennym/find-my-timeline
- オーナー: kennym
- アバター: https://avatars.githubusercontent.com/u/160117?v=4
READMEの抜粋:
Find My Timeline
Track historical location data from your Apple devices using the Find My service.
Preview Preview Detail
Apple’s Find My only shows current device locations. This tool polls your devices at random intervals and stores the history in a local database, letting you view location timelines on a map.
Setup
pip install -e .
cp .env.example .env
# Edit .env with your Apple ID
Usage
# First-time: authenticate (handles 2...