一个强大的 V2Ray 免费节点聚合系统,支持多源爬取、智能去重、速度测试和多格式输出。
🌐 在线订阅页面:https://miaolitao.github.io/V2Ray/
📱 直接访问即可获取最新节点订阅链接,支持多种客户端格式,每 6 小时自动更新!
- 🚀 多源收集:支持订阅链接、GitHub 仓库等多种节点源
- 🔄 智能去重:基于配置哈希和服务器地址的双重去重机制
- ⚡ 速度测试:异步并发测速,筛选高质量节点
- 📦 多格式输出:支持 Base64、Clash、V2Ray、Surge、Quantumult X 等格式
- 🤖 自动更新:GitHub Actions 定时自动更新(每 6 小时)
- 🛠️ 本地运行:支持命令行参数,灵活配置
- 🌐 全协议支持:SS、SSR、VMess、Trojan、VLESS 五种协议
注意:订阅链接通过 GitHub Pages 托管,每 6 小时自动更新一次。
访问订阅页面查看所有可用格式:
🔗 https://miaolitao.github.io/V2Ray/
✨ 新功能:现在支持查看历史版本,保留最近 10 次更新记录!
- 🕐 自动保存:每次更新自动创建时间戳目录
- 📊 版本列表:主页显示历史版本,按时间倒序排列
- 🔍 版本详情:点击任意历史版本查看详情和订阅链接
- 🗑️ 自动清理:自动删除超过 10 次的旧版本
- 🔗 独立链接:每个历史版本都有独立的订阅链接
访问方式:
- 主页查看历史列表:https://miaolitao.github.io/V2Ray/
- 历史版本详情:https://miaolitao.github.io/V2Ray/history.html?v=2025-11-07_18-40-00
- 历史版本订阅:https://miaolitao.github.io/V2Ray/history/2025-11-07_18-40-00/nodes.txt
https://miaolitao.github.io/V2Ray/nodes.txt
适用于:Shadowrocket、V2RayNG、Qv2ray 等
https://miaolitao.github.io/V2Ray/clash.yaml
适用于:Clash for Windows、Clash for Android、ClashX 等
https://miaolitao.github.io/V2Ray/surge.conf
适用于:Surge iOS、Surge Mac
https://miaolitao.github.io/V2Ray/quantumult.conf
适用于:Quantumult X
https://miaolitao.github.io/V2Ray/stats.json
本项目仅供学习和技术研究使用。节点来源于互联网公开渠道,不保证可用性、稳定性和安全性。请勿用于非法用途,使用本项目所产生的一切后果由使用者自行承担。
- Python 3.9 或更高版本
- uv 包管理器(推荐)
- 操作系统:Linux / macOS / Windows
# 克隆仓库
git clone https://github.com/miaolitao/V2Ray.git
cd V2Ray
# 运行安装脚本
bash scripts/install.sh# 安装 uv(如果未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 安装依赖
uv pip install -e .
# 创建必要的目录
mkdir -p logs output# 切换虚拟环境
source .venv/bin/activate
# 查看所有命令
make help
# 完整更新(收集 + 测速 + 生成所有格式)
make update
# 快速更新(跳过测速)
make update-quick
# 仅生成指定格式
make update-clash
make update-base64# 完整更新
python main.py
# 跳过测速
python main.py --skip-test
# 指定输出格式
python main.py --format clash
# 自定义输出目录
python main.py --output-dir custom_output
# 限制节点数量
python main.py --max-nodes 100
# 调试模式
python main.py --log-level DEBUG| 参数 | 说明 | 默认值 |
|---|---|---|
--skip-test |
跳过测速步骤 | False |
--source |
指定节点源名称 | 所有源 |
--format |
输出格式(all/base64/clash/v2ray/surge/quantumult) | all |
--output-dir |
输出目录 | output |
--log-level |
日志级别(DEBUG/INFO/WARNING/ERROR) | INFO |
--max-nodes |
最大节点数量 | 200 |
V2Ray/
├── .github/
│ └── workflows/ # GitHub Actions 工作流
│ ├── update-nodes.yml # 自动更新节点
│ └── test.yml # 自动测试
├── config/ # 配置文件
│ ├── sources.yaml # 节点源配置
│ ├── settings.yaml # 系统设置
│ └── clash_template.yaml # Clash 模板
├── src/ # 核心代码
│ ├── collector.py # 节点收集器
│ ├── parser.py # 节点解析器
│ ├── deduplicator.py # 去重模块
│ ├── formatter.py # 格式转换器
│ ├── speed_tester.py # 测速模块
│ └── config_manager.py # 配置管理
├── utils/ # 工具模块
│ ├── logger.py # 日志工具
│ ├── network.py # 网络工具
│ └── validator.py # 验证工具
├── tests/ # 测试文件
├── scripts/ # 脚本文件
│ └── install.sh # 安装脚本
├── output/ # 输出文件(按时间戳分类)
│ ├── 2025-11-06_18-01-46/ # 时间戳目录(yyyy-MM-dd_HH-mm-ss)
│ │ ├── nodes.txt # Base64 格式
│ │ ├── clash.yaml # Clash 配置
│ │ ├── v2ray.json # V2Ray 配置
│ │ ├── surge.conf # Surge 配置
│ │ ├── quantumult.conf # Quantumult 配置
│ │ └── stats.json # 统计信息
│ └── latest -> 2025-11-06_18-01-46 # 指向最新结果的符号链接
├── logs/ # 日志目录
├── main.py # 主程序
├── Makefile # Make 命令
├── pyproject.toml # 项目配置(uv)
└── README.md # 项目说明
subscription_sources:
- name: "源名称"
url: "订阅链接"
enabled: true
type: "base64" # 或 "clash"
github_sources:
- name: "GitHub源"
repo: "用户名/仓库名"
file: "文件路径"
enabled: true# 测速配置
speed_test:
enabled: true
timeout: 15
min_speed: 1.0 # 最低速度要求(MB/s)
max_latency: 1000 # 最大延迟(ms)
concurrent_tests: 50 # 并发测速数量
# 输出配置
output:
max_nodes: 200
sort_by: "speed" # 排序方式:speed, latency
formats:
- base64
- clash
- v2ray项目配置了 GitHub Actions 工作流,可实现:
- ⏰ 定时更新:每 6 小时自动运行一次
- 🔘 手动触发:在 Actions 页面手动触发更新
- 📝 自动提交:更新后自动提交到仓库
- 📦 产物上传:保存输出文件和日志
- Fork 本仓库到你的 GitHub 账号
- 进入仓库设置 → Actions → General
- 启用 "Read and write permissions"
- GitHub Actions 将自动运行
- 进入仓库的 Actions 页面
- 选择 "更新节点" 工作流
- 点击 "Run workflow"
- 选择是否跳过测速和输出格式
- 点击 "Run workflow" 执行
通用订阅格式,兼容大多数客户端:
ss://base64encodedstring#节点1
vmess://base64encodedstring#节点2
...
完整的 Clash 配置文件,包含节点、规则和代理组:
proxies:
- name: 节点1
type: ss
server: 1.1.1.1
port: 443
...标准的 V2Ray JSON 配置:
{
"outbounds": [
{
"protocol": "shadowsocks",
"settings": {...}
}
]
}- Surge(surge.conf):适用于 Surge iOS/macOS 客户端
- Quantumult X(quantumult.conf):适用于 Quantumult X 客户端
# 运行所有测试
make test
# 或使用 pytest
pytest tests/ -v
# 测试覆盖率
pytest tests/ --cov=src --cov-report=html- Shadowrocket(付费,App Store)
- Quantumult X(付费,App Store)
编辑 config/sources.yaml 添加你的节点源:
subscription_sources:
- name: "我的订阅源"
url: "https://your-subscription-url"
enabled: true
type: "base64"编辑 config/settings.yaml:
speed_test:
timeout: 15 # 测速超时时间
min_speed: 1.0 # 最低速度要求
max_latency: 1000 # 最大延迟
concurrent_tests: 50 # 并发数filter:
exclude_keywords:
- "过期"
- "expired"
- "禁用"本项目的测速功能使用简化的 TCP 连接测试。生产环境建议:
- 在本地网络环境运行以获得准确结果
- 集成专业的测速工具如 LiteSpeedTest
检查:
- 仓库权限设置(需要 write 权限)
- 配置文件是否正确
- 节点源是否可访问
- 检查节点源配置是否正确
- 尝试禁用测速(
--skip-test) - 调整过滤参数(最大延迟、最低速度)
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
- 集成专业测速工具(LiteSpeedTest)
- 添加 Web 界面
- 支持按地区筛选节点
- 节点质量评分系统
- 订阅历史记录功能
- 自定义规则过滤
本项目仅供学习交流使用,请勿用于非法用途。使用本项目产生的任何后果由使用者自行承担。
如果这个项目对你有帮助,请给个 Star ⭐️
- 项目地址:https://github.com/miaolitao/V2Ray
- Issue 反馈:https://github.com/miaolitao/V2Ray/issues
- 参考项目:https://github.com/free-nodes/v2rayfree
- 参考项目:https://github.com/ermaozi/get_subscribe
注意:本项目收集的节点均来自互联网公开资源,节点质量和可用性无法保证。建议仅用于测试和学习目的。