一个针对 Clash Verge (及兼容核心) 的智能自动化工具。它会自动遍历你的代理节点,通过 IPPure 检测 IP 纯净度和风险值,并重命名节点,添加实用的指标(IP 纯净度、Bot 比例、IP属性/IP来源状态)【🟢🟡 住宅|原生】。
⚡新增Docker部署 详情见Docker分支
相对于主分支而言,Docker部署后代理切换不影响本地网络(非本地部署方式),且能直接输入订阅链接输出新订阅链接,没有繁琐的使用步骤,正真做到一键替换检测!!! 云部署Demo地址:https://tombcat.space/ipcheck
- ⚡ 极速模式 (新!): 暂时默认 关闭,通过 IPPure API 直接检测,速度比浏览器模式快 10 倍以上!但缺少 Bot 比例分析,输出
【🟢 住宅|原生】,可在config.yaml中设置fast_mode = True开启。 - 自动切换: 自动遍历并切换你的 Clash 代理节点。
- 深度 IP 分析: 检测 IP 纯净度分数、Bot 比例、IP 属性 (原生/机房) 以及归属地。
- 高拟真检测 (可选): 在浏览器模式下使用 Playwright 进行高拟真检测,包含 Bot 比例分析。
- 智能过滤: 自动跳过无效节点 (如 "到期", "流量重置", "官网" 等)。
- 配置注入: 生成一个新的 Clash 配置文件 (
_checked.yaml),在节点名称后追加 Emoji 和状态信息。 - 强制全局模式: 临时将 Clash 强制切换为全局模式以确保测试准确性。
- Python 3.10+
- Clash Verge (或其他开启了 External Controller 的 Clash 客户端)
- Playwright (用于浏览器模式)
- curl_cffi (用于极速模式)
-
克隆仓库
git clone [email protected]:tombcato/clash-ip-checker.git cd clash-ip-checker
-
安装依赖
pip install -r requirements.txt playwright install chromium #如果install chromium运行失败说明playwright没添加环境变量 可以用 python -m playwright install chromium -
配置文件
- 修改
config.yaml.example删除文件名.example 重命名为config.yaml重要!!!。 - 编辑
config.yaml填入你的信息(具体见下面使用方法):fast_mode: ⚡ 是否使用极速模式 (True/False)。yaml_path: 你的 Clash 配置文件 (.yaml) 的绝对路径。clash_api_secret: 你的 API 密钥 (如果有的话)。
- 修改
-
打开你的 Clash 客户端 (例如 Clash Verge) 将当前clash正在运行的订阅配置文件切换为你想要测试的订阅, 然后获取该配置文件的yaml文件绝对路径, 在config.yaml中配置yaml_path. 右键配置文件选择打开文件
通过vscode获取path
或者通过记事本获取path, 鼠标悬停展示但无法复制,需要在对应的文件夹中找到再复制
-
确保 External Controller (外部控制) 已在设置中开启,并在config.yaml中配置clash_api_url与clash_api_secret与之对应。密码随便设置
-
运行脚本:
python clash_automator.py
默认使用浏览器模式 (包含 Bot 检测)。如需开启 极速模式 (速度快 10 倍,无 Bot 检测),请在
config.yaml中设置fast_mode = True。 -
脚本将会:
- 连接到 Clash API。
- 切换到 "Global" (全局) 模式。
- 逐个测试代理节点, 访问IPPure获取ip信息。
- 生成一个名为
your_config_checked.yaml的新文件。
-
在项目当前文件夹下将生成的
_checked.yaml文件导入 Clash 即可切换该配置查看结果! 导入_checked.yaml配置
你的代理节点将会被重命名,直观展示其质量:
格式: 【🟢🟡 机房|广播】 (默认浏览器模式) 或 【⚪ 机房|广播】 (极速模式)
- 第 1 个 Emoji (⚪): IP 纯净度 (值越低越好,越低越像真实用户)
- 第 2 个 Emoji (🟡): Bot 比例 (浏览器模式独有,值越高来自机器人的流量更大更容易弹验证)
- 属性: 住宅 / 机房
- 来源: 原生 / 广播
| 范围 | Emoji | 含义 |
|---|---|---|
| 0 - 10% | ⚪ | 极佳 |
| 11 - 30% | 🟢 | 优秀 |
| 31 - 50% | 🟡 | 良好 |
| 51 - 70% | 🟠 | 中等 |
| 71 - 90% | 🔴 | 差 |
| > 90% | ⚫ | 极差 |
- 住宅 (Residential): 家庭宽带 IP,隐蔽性高,被封锁概率低。
- 机房 (Datacenter): 数据中心 IP,速度快但容易被识别。
- 原生 (Native): 指该 IP 归属于当地运营商,通常解锁流媒体 (Netflix, Disney+) 效果最好。
- 广播 (Broadcast): IP 地理位置与注册地不符。
查看 config.yaml.example 获取所有可用配置项的说明。
欢迎提交 Pull Request 来改进这个项目!
本工具仅供教育和测试使用。请遵守当地法律法规,并合理使用代理服务。