ローカルブレイクアウト(LBO)等の運用で利用するIPアドレス及び、FQDNリストを毎日取得し、共通 JSON フォーマットへ正規化して自動保存します。 スクリプトは、Gituhub Actionでの運用となっています。
| Service | |
|---|---|
| Microsoft 365 | microsoft365.json |
| Microsoft Teams | microsoft_teams.json |
| Zoom | zoom.json |
| Cisco Webex Meetings | webex_meetings.json |
| Windows Update | windows_update.json |
| Apple | apple.json |
| Google Workspace | google.json |
| Google Meet | google_meet.json |
| Box | box.json |
| Netflix | netflix.json |
| Amazon Prime Video | prime_video.json |
| YouTube | youtube.json |
| instagram.json | |
| TikTok | tiktok.json |
| Adobe Updates | adobe_updates.json |
| サービス | ソース | Output |
|---|---|---|
| Microsoft 365 | https://endpoints.office.com/endpoints/worldwide?... |
urls -> url, ips -> ip_range |
| Microsoft Teams | https://endpoints.office.com/endpoints/worldwide?... |
Microsoft Teams records only: urls -> url, ips -> ip_range |
| Zoom | https://assets.zoom.us/docs/ipranges/Zoom.txt |
各行 -> ip_range |
| Cisco Webex Meetings | https://help.webex.com/en-us/article/WBX264/Network-Requirements-for-Webex-Services |
CIDR -> ip_range, domains -> url / fqdn |
| Windows Update | https://learn.microsoft.com/en-us/windows/privacy/manage-windows-11-endpoints |
Windows Update section destinations -> url / fqdn |
| Apple | https://support.apple.com/en-us/101555 |
ホスト名 -> fqdn / ワイルドカード -> url |
| Google Workspace | https://www.gstatic.com/ipranges/goog.json |
prefixes[].ipv4Prefix -> ip_range |
| Google Meet | https://support.google.com/a/answer/1279090?hl=en-GB |
Meet URIs/SNI -> fqdn / url, media CIDR -> ip_range |
| Box | Box firewall support page and https://support.box.com/ips |
domains -> url / fqdn, CIDR -> ip_range |
| Netflix | Curated primary application domains | domains -> fqdn / wildcard domains -> url |
| Amazon Prime Video | Curated primary application domains | domains -> fqdn / wildcard domains -> url |
| YouTube | Curated primary application domains | domains -> fqdn / wildcard domains -> url |
| Curated primary application domains | domains -> fqdn / wildcard domains -> url |
|
| TikTok | Curated primary application domains | domains -> fqdn / wildcard domains -> url |
| Adobe Updates | https://helpx.adobe.com/enterprise/kb/network-endpoints.html |
Deployment and fulfillment services / Updater only -> fqdn / url |
Netflix、Amazon Prime Video、YouTube、Instagram、TikTok は固定 IP レンジではなく CDN / クラウド基盤が頻繁に変わるため、広すぎるクラウド/CDN全体の許可を避け、主要ドメインとワイルドカードドメインに絞って収録しています。
Adobe Updates は Adobe 公式ページの Deployment and fulfillment services と Updater のみを対象にしています。公式ページ取得に失敗した場合は、同セクションの fallback リストで生成します。
{
"service": "microsoft365",
"updated_at": "2026-06-06",
"schema_version": "1",
"entries": [
{
"type": "url",
"value": "*.office365.com",
"action": "DIRECT"
},
{
"type": "ip_range",
"value": "13.107.6.152/31",
"action": "DIRECT"
}
]
}type は url, ip_range, fqdn のいずれかです。
action は現時点では DIRECT 固定です。
python -m pip install -r requirements.txt
python main.py特定サービスのみ実行する場合:
python main.py --service zoom
python main.py --service microsoft_teams
python main.py --service adobe_updates
python -m fetchers.microsoft365実行結果は ip-lists/latest/{service}.json と ip-lists/history/{service}/{service}-YYYY-MM-DD.json に保存されます。
既存の latest と比較して内容に差分がない場合は保存をスキップします。差分判定では updated_at のみの変化は無視する実装です。
ログはデフォルトで logs/fetch-YYYY-MM-DD.log に保存されます。
保存先を変更する場合は以下の通り:
PAC_IP_MANAGER_LOG_DIR=/tmp/pac-ip-manager-logs python main.pypython -m pytestテストでは実際の HTTP 通信は行わず、各 fetcher の normalize と JSON Schema バリデーションを確認する実装です。
.github/workflows/fetch-daily.yml は毎日 21:00 JST に実行するよう設定しています。
手動実行も workflow_dispatch から可能です。
ワークフローの流れ:
- リポジトリを checkout
- Python 3.11 をセットアップ
- 依存関係をインストール
- テストを実行
main.pyを実行- daily log を artifact として保存
ip-listsに差分があればgithub-actions[bot]で commit / push- latest JSON を Cloudflare KV に PUT
Cloudflare KV 連携には以下の GitHub Secrets が必要。
| Secret | Purpose |
|---|---|
CF_ACCOUNT_ID |
Cloudflare Account ID |
CF_API_TOKEN |
Cloudflare API Token |
CF_KV_NAMESPACE_ID |
KV Namespace ID |
KV のキー名はサービス名です。例: microsoft365, microsoft_teams, zoom, webex_meetings, windows_update, apple, google, google_meet, box, netflix, prime_video, youtube, instagram, tiktok, adobe_updates
.github/dependabot.yml において Dependabot を導入しています。
GitHub Actions と pip 依存関係の更新 PR が週次で作成されるようになっています。
★90 日以前の履歴削除ワークフロー 現時点では未実装です。(TODO)