Skip to content

LeilaoMi/AutoMergePublicNodes-Optimized

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

335 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoMergePublicNodes-Optimized

License: MIT Python 节点更新

自动聚合公开代理订阅源,使用 sing-box 真实代理测试,输出可直接导入主流客户端的订阅文件,并生成健康报告、源评分与清理建议。

仅供学习研究。公开节点稳定性不可控,请自行评估可用性与合规风险。


快速选择

使用场景 推荐文件 说明
Clash / Mihomo output/verified.yaml 首选,真测通过后输出
v2rayN / v2rayNG output/verified.txt base64 通用订阅
Karing / sing-box output/verified.json sing-box JSON 配置
兼顾数量 output/global.yaml / output/global.txt / output/global.json 海外测试通过,但国内站点连通不一定稳定
自行测速 output/all.urls / output/all.txt / output/all.yaml 全量去重候选池,不保证可用
查看状态 output/daily_report.md / output/health_report.md / output/health_report.json / output/source_scores.md / output/scoring_profiles.md / output/source_cleanup_suggestions.md 日报、健康报告、评分模板、源评分、清理建议

verified.* 数量不是固定值。--top-n 只是上限,实际数量取决于本轮真测结果。


订阅地址

GitHub Raw

https://raw.githubusercontent.com/LeilaoMi/AutoMergePublicNodes-Optimized/main/output/verified.txt
https://raw.githubusercontent.com/LeilaoMi/AutoMergePublicNodes-Optimized/main/output/verified.yaml
https://raw.githubusercontent.com/LeilaoMi/AutoMergePublicNodes-Optimized/main/output/verified.json
https://raw.githubusercontent.com/LeilaoMi/AutoMergePublicNodes-Optimized/main/output/global.txt
https://raw.githubusercontent.com/LeilaoMi/AutoMergePublicNodes-Optimized/main/output/global.yaml
https://raw.githubusercontent.com/LeilaoMi/AutoMergePublicNodes-Optimized/main/output/global.json
https://raw.githubusercontent.com/LeilaoMi/AutoMergePublicNodes-Optimized/main/output/all.txt
https://raw.githubusercontent.com/LeilaoMi/AutoMergePublicNodes-Optimized/main/output/all.yaml

jsDelivr

https://cdn.jsdelivr.net/gh/LeilaoMi/AutoMergePublicNodes-Optimized@main/output/verified.txt
https://cdn.jsdelivr.net/gh/LeilaoMi/AutoMergePublicNodes-Optimized@main/output/verified.yaml
https://cdn.jsdelivr.net/gh/LeilaoMi/AutoMergePublicNodes-Optimized@main/output/verified.json
https://cdn.jsdelivr.net/gh/LeilaoMi/AutoMergePublicNodes-Optimized@main/output/global.txt
https://cdn.jsdelivr.net/gh/LeilaoMi/AutoMergePublicNodes-Optimized@main/output/global.yaml
https://cdn.jsdelivr.net/gh/LeilaoMi/AutoMergePublicNodes-Optimized@main/output/global.json
https://cdn.jsdelivr.net/gh/LeilaoMi/AutoMergePublicNodes-Optimized@main/output/all.txt
https://cdn.jsdelivr.net/gh/LeilaoMi/AutoMergePublicNodes-Optimized@main/output/all.yaml

转换链接见 output/*.converter.md。第三方转换服务可能不可用或记录订阅地址,优先使用本仓库直接生成的订阅文件。


流程概览

订阅源配置
  → 异步抓取与重试
  → 多协议解析
  → 指纹去重
  → GeoIP 标记
  → 质量预过滤
  → TCP 预筛选
  → 历史权重下采样
  → sing-box 真实代理测试
  → 综合评分排序输出
  → 生成健康报告、日报、源评分与清理建议

真实测试包含:海外 204 检测、出口地理检测、中国站点连通检测、小文件下载测速、可疑低延迟过滤。


评分策略

节点排序不再只看单次延迟,而是使用 config/scoring.yaml 的综合评分。默认权重:

因子 默认权重 说明
latency 35 sing-box 真实代理测试延迟,越低越好
jitter 15 多目标测试抖动,越低越稳定
tcp 10 TCP 预筛选延迟,用作基础可达性参考
protocol_history 20 协议历史通过率,降低长期低质协议权重
source_history 20 订阅源历史通过率,优先稳定来源

配置校验会检查字段、阈值和默认值范围。权重总和不等于 100 时只给 warning,不阻断 CI;建议保持 100,便于分数解释和跨轮对比。

可选评分模板:

模板 适用场景 特点
config/scoring.yaml 默认均衡 兼顾延迟、抖动、TCP、协议历史和来源历史
config/scoring.low_latency.yaml 追求速度 提高 latency 权重,优先低延迟节点
config/scoring.stability.yaml 追求稳定 提高 jittersource_history 权重,减少波动节点
config/scoring.source_quality.yaml 公开池噪声较高 强化订阅源和协议历史质量

本地运行时可指定模板:

python main.py --scoring-rules config/scoring.stability.yaml

CI 默认仍使用 config/scoring.yaml。如需切换默认策略,请修改 workflow 中的 --scoring-rules


输出文件

文件 用途
verified.txt/yaml/json/urls 严格真测通过节点
global.txt/yaml/json/urls 海外可用的扩展节点
all.txt/yaml/json/urls 全量去重候选节点
chunks/verified_*.txt 分块订阅(每 100 节点一块,避免单文件过大)
by_protocol/verified_*.txt 按协议分文件(vmess/vless/trojan/ss 独立订阅)
stats.json 数量、耗时、协议通过率、错误明细、缩水守门结果、节点速度和解锁状态
health_report.md 当前流水线健康报告,包含评分、来源质量、失败原因与输出保护
health_report.json 输出完整性、重复项、报警、源清理摘要
daily_report.md 面向人工阅读的每日摘要
source_scores.md 订阅源质量评分
scoring_profiles.md 评分模板权重、阈值和默认值对比
source_cleanup_suggestions.md/json 订阅源清理建议
source_discovery.json 从其他项目扫描发现的候选节点统计
node_stability.json 节点跨轮稳定性追踪(连续通过/失败计数)
trend_history.json 最近 30 轮核心趋势

健康状态说明:

  • ok:输出结构正常,未发现关键报警。
  • warning:输出可用,但存在低通过率协议、真测错误或源质量问题。
  • critical:输出缺失、解析异常、verified 为 0 或核心结构不满足要求。

源维护

config/sources.yaml 维护公开订阅源。建议新增源前检查:

  1. URL 可访问。
  2. 能解析出有效节点。
  3. 与现有源相比有去重贡献。
  4. 大体量源设置 max_nodes
  5. 通过配置校验和回归测试。

清理建议默认只读:

python tools/suggest_source_cleanup.py   --output-dir output   --sources config/sources.yaml   --output output/source_cleanup_suggestions.md   --json-output output/source_cleanup_suggestions.json

如需应用禁用建议,必须显式确认:

python tools/suggest_source_cleanup.py   --output-dir output   --sources config/sources.yaml   --apply   --confirm-disable   --only source-a,source-b   --exclude source-b

本地运行

git clone https://github.com/LeilaoMi/AutoMergePublicNodes-Optimized.git
cd AutoMergePublicNodes-Optimized
pip install -r requirements.txt

# 下载 sing-box 后运行
python main.py --top-n 100 --test-limit 500

常用检查:

python -m compileall -q main.py core tools tests
python tools/validate_config.py --sources config/sources.yaml --filter-rules config/filter_rules.yaml --scoring-rules config/scoring.yaml
python tools/doctor.py
python -m unittest -v tests.test_regressions
python tools/health_report.py --output-dir output --verified-prefix verified --output output/health_report.json
python tools/daily_report.py --output-dir output --output output/daily_report.md
python tools/source_scores_report.py --output-dir output --output output/source_scores.md
python tools/scoring_profiles_report.py --profiles 'config/scoring*.yaml' --output output/scoring_profiles.md
python tools/suggest_source_cleanup.py --output-dir output --sources config/sources.yaml --output output/source_cleanup_suggestions.md --json-output output/source_cleanup_suggestions.json

本地二次筛选:

python tools/local_filter.py --input output/global.urls --output-prefix local_verified --top-n 100

GitHub Actions

  • 自动运行:每 6 小时一次。
  • 手动运行:Actions → 节点更新 → Run workflow
  • top_nverified.* 输出上限,默认 300,最大 1000。
  • test_limit:进入真测的节点上限,默认 1500,最大 3000。
  • min_retain_ratio:缩水守门比例,默认 0 表示关闭。

CI 会自动生成并上传调试产物:stats.jsonhealth_report.mdhealth_report.jsondaily_report.mdsource_scores.mdscoring_profiles.mdsource_cleanup_suggestions.*trend_history.json


项目结构

AutoMergePublicNodes-Optimized/
├── main.py                         # 主流水线与 CLI
├── core/
│   ├── fetcher.py                  # 异步抓取、重试、CDN 回退
│   ├── parser.py                   # 多协议解析
│   ├── tester.py                   # sing-box 真实代理测试
│   ├── filtering.py                # 质量预过滤与同源降噪
│   ├── sampling.py                 # 真测下采样与历史权重排序
│   ├── generator.py                # 多格式订阅输出
│   ├── scoring.py                  # 综合节点评分
│   ├── report.py                   # Markdown 健康报告
│   ├── readme_updater.py           # README 状态区更新
│   ├── stats.py                    # 源评分、趋势与报警统计
│   └── geo.py                      # GeoIP 标记与缓存
├── tools/
│   ├── audit_sources.py            # 源健康审计
│   ├── health_report.py            # 输出健康报告
│   ├── daily_report.py             # Markdown 日报
│   ├── source_scores_report.py     # 源质量评分报告
│   ├── scoring_profiles_report.py  # 评分模板对比报告
│   ├── source_discovery.py         # 从其他项目发现新源
│   ├── suggest_source_cleanup.py   # 源清理建议与安全应用
│   ├── validate_config.py          # 配置静态校验
│   ├── doctor.py                   # 本地环境诊断
│   ├── local_filter.py             # 本地二次筛选
│   └── prepare_artifact_output.py  # 发布产物整理
├── config/                         # 源配置与过滤规则
├── tests/                          # 回归测试与协议样例
├── output/                         # CI 输出文件
├── docs/                           # 使用指南、资源与历史报告
├── CHANGELOG.md                    # 版本变更记录
└── .github/workflows/update.yml    # 自动更新流程

文档

License

MIT

致谢

  • sing-box
  • 所有公开订阅源维护者与社区贡献者

当前运行状态

指标 数值
更新时间 2026-06-14 14:10:42
版本 2.4.0
订阅源 44/44
原始节点 40637
去重后 15778
TCP 可达 1500
真实可用 234
真测通过率 15.6%
Verified 输出 234
Global 输出 240
All 输出 15778

输出保护:无。完整报告见 output/health_report.mdoutput/stats.json

Top 节点评分

评分 协议 延迟(ms) 来源
61.93 http 729.3 snakem982
61.79 http 733.7 snakem982
61.78 http 733.9 snakem982
61.71 http 736.2 snakem982
61.43 http 741.4 snakem982

Top 来源质量

来源 评分 测试数 建议
snakem982 0.898 46 prefer
Au1rxx-base64 0.599 72 observe
roosterkid-openproxylist-v2ray 0.492 33 observe
MatinGhanbari-all-sub 0.255 0 observe
Surfboard-tg-vless 0.255 0 observe

About

自动聚合公开代理节点,使用 sing-box 真测筛选 verified 订阅,输出 Clash/sing-box/V2Ray 多格式并带健康报告

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages