mrkhachaturov/ipranges
GitHub: mrkhachaturov/ipranges
持续聚合并自动刷新 36 家主流云服务商和 SaaS 平台的公开 IP 段,提供开箱即用的 CIDR 文本列表,方便直接用于防火墙、白名单和访问控制。
Stars: 5 | Forks: 1
# IP 范围
[](https://github.com/mrkhachaturov/ipranges/actions/workflows/update.yml)
[](LICENSE)
[](https://github.com/mrkhachaturov/ipranges/commits/main)
**36 个提供商** · **114,190 条 IPv4 记录** · **267,757 条 IPv6 记录** · 每 4 小时通过 GitHub Actions 刷新一次
所有地址均来源于公开数据(供应商发布的 JSON/TXT 文件或供应商域名的 DNS 解析)。这些列表在每次刷新后会被提交回 `main` 分支,因此使用者可以选择固定使用 `main` 分支(滚动更新)或特定的提交(冻结版本)。
## 快速开始
每个提供商目录包含四个文件:
| 文件 | 内容 |
|---|---|
| `ipv4.txt` | IPv4 CIDR,每行一个 |
| `ipv4_merged.txt` | 简化为最小等效 CIDR 集合的同名列表 |
| `ipv6.txt` | IPv6 CIDR,每行一个 |
| `ipv6_merged.txt` | 简化后的同名列表 |
直接从 `raw.githubusercontent.com` 获取它们:
```
curl -fsSL https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudflare/ipv4_merged.txt
```
### 在 `ipset` + `iptables` 中使用
```
ipset create cloudflare hash:net family inet
curl -fsSL https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudflare/ipv4_merged.txt \
| xargs -I{} ipset add cloudflare {}
iptables -I INPUT -m set --match-set cloudflare src -j ACCEPT
```
### 在 nginx 中使用
```
geo $is_googlebot {
default 0;
include /etc/nginx/googlebot-ipv4.conf; # generated from googlebot/ipv4_merged.txt as " 1;"
}
```
### 在 Python 白名单中使用
```
import ipaddress, urllib.request
url = "https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/openai/ipv4_merged.txt"
nets = [ipaddress.ip_network(line.strip()) for line in urllib.request.urlopen(url) if line.strip()]
def is_openai(ip: str) -> bool:
addr = ipaddress.ip_address(ip)
return any(addr in n for n in nets)
```
## 提供商
| 提供商 | IPv4 | IPv4 (合并) | IPv6 | IPv6 (合并) | 备注 |
|---|---|---|---|---|---|
| Akamai | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/akamai/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/akamai/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/akamai/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/akamai/ipv6_merged.txt) | |
| Amazon (AWS) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/amazon/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/amazon/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/amazon/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/amazon/ipv6_merged.txt) | |
| Anthropic (Claude) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/anthropic/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/anthropic/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/anthropic/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/anthropic/ipv6_merged.txt) | |
| Apple (Private Relay) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/apple-proxy/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/apple-proxy/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/apple-proxy/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/apple-proxy/ipv6_merged.txt) | |
| Atlassian | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/atlassian/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/atlassian/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/atlassian/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/atlassian/ipv6_merged.txt) | |
| Bing (Bingbot) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/bing/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/bing/ipv4_merged.txt) | — | — | |
| ClickUp | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/clickup/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/clickup/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/clickup/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/clickup/ipv6_merged.txt) | |
| Cloudflare | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudflare/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudflare/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudflare/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudflare/ipv6_merged.txt) | |
| Cloudflare Tunnel (Argo) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudflared/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudflared/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudflared/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudflared/ipv6_merged.txt) | |
| Amazon CloudFront | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudfront/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudfront/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudfront/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/cloudfront/ipv6_merged.txt) | |
| DeepL | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/deepl/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/deepl/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/deepl/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/deepl/ipv6_merged.txt) | |
| Devolutions | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/devolutions/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/devolutions/ipv4_merged.txt) | — | — | |
| DigitalOcean | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/digitalocean/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/digitalocean/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/digitalocean/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/digitalocean/ipv6_merged.txt) | |
| Discord | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/discord/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/discord/ipv4_merged.txt) | — | — | |
| Facebook (Meta) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/facebook/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/facebook/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/facebook/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/facebook/ipv6_merged.txt) | |
| Games | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/games/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/games/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/games/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/games/ipv6_merged.txt) | |
| GitHub | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/github/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/github/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/github/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/github/ipv6_merged.txt) | |
| Google (Cloud & GoogleBot) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/google/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/google/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/google/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/google/ipv6_merged.txt) | |
| Google (GoogleBot) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/googlebot/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/googlebot/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/googlebot/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/googlebot/ipv6_merged.txt) | 要允许 GoogleBot,请先屏蔽所有 Google IP,然后再允许这些。 |
| Groq | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/groq/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/groq/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/groq/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/groq/ipv6_merged.txt) | |
| Kino.pub | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/kino-pub/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/kino-pub/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/kino-pub/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/kino-pub/ipv6_merged.txt) | |
| Linode | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/linode/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/linode/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/linode/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/linode/ipv6_merged.txt) | |
| Microsoft | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/microsoft/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/microsoft/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/microsoft/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/microsoft/ipv6_merged.txt) | |
| Notion | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/notion/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/notion/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/notion/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/notion/ipv6_merged.txt) | |
| OpenAI (GPTBot) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/openai/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/openai/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/openai/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/openai/ipv6_merged.txt) | |
| OpenTofu | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/opentofu/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/opentofu/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/opentofu/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/opentofu/ipv6_merged.txt) | |
| Oracle (Cloud) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/oracle/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/oracle/ipv4_merged.txt) | — | — | |
| ProtonVPN (出口节点) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/protonvpn/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/protonvpn/ipv4_merged.txt) | — | — | |
| Roblox | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/roblox/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/roblox/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/roblox/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/roblox/ipv6_merged.txt) | |
| Spotify | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/spotify/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/spotify/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/spotify/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/spotify/ipv6_merged.txt) | |
| Sunsama | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/sunsama/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/sunsama/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/sunsama/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/sunsama/ipv6_merged.txt) | |
| Tana | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/tana/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/tana/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/tana/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/tana/ipv6_merged.txt) | |
| Telegram | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/telegram/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/telegram/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/telegram/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/telegram/ipv6_merged.txt) | |
| Twitter / X | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/twitter/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/twitter/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/twitter/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/twitter/ipv6_merged.txt) | |
| Vultr | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/vultr/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/vultr/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/vultr/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/vultr/ipv6_merged.txt) | |
| Wispr Flow | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/wisprflow/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/wisprflow/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/wisprflow/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/wisprflow/ipv6_merged.txt) | |
| **一站式** (汇总所有提供商) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/all/ipv4.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/all/ipv4_merged.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/all/ipv6.txt) | [txt](https://raw.githubusercontent.com/mrkhachaturov/ipranges/main/all/ipv6_merged.txt) | 上述所有提供商的聚合 |
## 更新机制
GitHub Action 每 4 小时运行一次 (`cron: '8 */4 * * *'`),并且支持 `workflow_dispatch`:
1. 执行在仓库中找到的每个 `*/downloader.sh`
2. 将所有按提供商划分的列表合并到 [`all/ipv4.txt`](all/ipv4.txt) 和 [`all/ipv6.txt`](all/ipv6.txt)
3. 运行 [`utils/merge.py`](utils/merge.py) 为每个列表生成 `*_merged.txt`
4. 运行 [`utils/render_readme.py`](utils/render_readme.py) 刷新上方的表格和计数
5. 将所有更改提交回 `main` 分支
如果您需要比定时任务更新的数据,可以从 Actions 选项卡手动触发 **Update** 工作流。
## 添加新提供商
完整的规范说明位于 [CLAUDE.md](CLAUDE.md)。简短版本如下:
1. 创建 `/downloader.sh`。可以使用 [devolutions/downloader.sh](devolutions/downloader.sh)(DNS 解析模式)或 [google/downloader.sh](google/downloader.sh)(供应商 JSON 模式)作为模板。两种调用模式——仓库根目录和提供商目录内部——都必须正常工作。
2. 在本地运行一次以生成 `/ipv4.txt` 和 `/ipv6.txt`。
3. 在 [utils/providers.json](utils/providers.json) 中添加一个条目(按字母顺序保持排列)。README 将在下一次工作流运行时自动更新。
## 本地开发
```
# system 依赖
sudo apt install -y whois parallel gawk dnsutils jq python3-pip
# python 依赖
pip install -r utils/requirements.txt
# 运行单个 provider
cd cloudflare && bash downloader.sh
# 为一个 list 重新生成 merged file
python utils/merge.py --source=cloudflare/ipv4.txt | sort -V > cloudflare/ipv4_merged.txt
# 从当前数据刷新 README
python utils/render_readme.py
# CI guard — 如果 README 会发生更改则失败
python utils/render_readme.py --check
```
## 许可证
[MIT](LICENSE) — © 2026 Ruben Khachaturov。IP 数据本身来源于公开数据,自身不受版权保护。
## 源码
标签:certspotter, CIDR, Cloudflare, DNS解析, GitHub Actions, Googlebot, ipset, iptables, IPv4, IPv6, IP地址库, IP 地址批量处理, IP黑名单, MITRE ATT&CK, Mr. Robot, Nginx, OpenAI, PB级数据处理, PowerShell, Python, SaaS, WAF, 云服务提供商, 内存规避, 威胁情报, 安全运维, 应用安全, 开发者工具, 开源项目, 托管防御, 无后门, 白名单, 网络准入控制, 网络安全, 自动化更新, 自动笔记, 访问控制列表, 逆向工具, 防火墙, 隐私保护