🤖 Mihomo集成 (mihomo-iptest)
mihomo-iptest 是 ed CLI 的旗舰功能,它将IP性能测试与代理配置生成完美结合,为您提供从测试到部署的一站式解决方案。
🎯 功能概述
mihomo-iptest 是一个完整的工作流集成,具备以下能力:
- ⚡ IP性能测试: 利用强大的iptest引擎测试全球节点
- 🔄 代理配置生成: 基于测试结果自动生成代理配置
- 🧹 智能筛选: 自动筛选优质节点并去重
- 🎬 流媒体检测: 检查 Netflix、YouTube 等平台解锁能力
- 💾 多格式输出: 支持 Clash、V2Ray、Shadowsocks 等格式
- ☁️ 云端保存: 支持多种云存储和Git仓库
🔄 工作流程
mihomo-iptest 按以下步骤自动处理整个工作流:
mermaid
graph TD
A[获取优质IP] --> B[生成代理配置]
B --> C[可用性验证]
C --> D[速度测试]
D --> E[流媒体检测]
E --> F[生成结果文件]
F --> G[云端保存]详细处理步骤
- 🌐 IP获取: 从全球数据中心获取优质IP地址
- ⚙️ 配置生成: 将IP转换为vless/vmess/trojan代理配置
- ✅ 可用性验证: 验证生成的代理配置是否可用
- ⚡ 性能测试: 测试代理的延迟和速度性能
- 🎬 流媒体检测: 检查代理对各大流媒体平台的解锁能力
- 📄 格式转换: 将优质代理转换为各种客户端格式
- ☁️ 云端保存: 自动上传到指定的云存储或Git仓库
🚀 快速开始
第一步:创建配置文件
首次运行 mihomo-iptest 时,程序会自动创建配置文件:
bash
ed mihomo-iptest -f config/mihomo-config.yaml如果配置文件不存在,程序会创建一个包含示例配置的模板文件。
第二步:编辑配置
使用您喜欢的文本编辑器打开配置文件:
yaml
# IP测试配置
ip_test:
colos: ["HKG", "SIN", "NRT", "LAX"] # 数据中心
limit: 20 # 每个数据中心的IP数量
skip_test: false # 是否跳过TCP测试
# 代理配置生成
proxy_config:
protocols:
- vless
- vmess
- trojan
ports: [443, 80, 8080, 8443]
# 验证配置(使用sub-check引擎)
validation:
concurrent: 200 # 并发测试数量
timeout: 5 # 连接超时(秒)
min_speed: 5 # 最低速度要求(MB/s)
enable_speed_test: true # 是否进行速度测试
# 流媒体检测
media_check:
enabled: true
platforms:
- netflix
- youtube
- disney_plus
# 输出配置
output:
formats:
- clash
- v2ray
- shadowsocks
filename_template: "mihomo_nodes_{date}"第三步:运行集成工作流
配置完成后,运行完整的工作流:
bash
ed mihomo-iptest -f config/mihomo-config.yaml第四步:查看结果
程序完成后,您可以在 results 文件夹中找到生成的文件:
results/
├── mihomo_all.yaml # Clash 格式的所有节点
├── mihomo_premium.yaml # 高速节点(速度 > 50MB/s)
├── mihomo_netflix.yaml # 支持 Netflix 的节点
├── v2ray_config.json # V2Ray 格式配置
└── shadowsocks.txt # Shadowsocks 链接列表🛠️ 详细配置
IP测试配置
数据中心选择
yaml
ip_test:
colos: ["HKG", "SIN", "NRT", "LAX", "FRA"]
limit: 50 # 每个数据中心获取的IP数量
skip_test: false # false=进行TCP测试, true=快速获取
concurrent: 100 # TCP测试并发数
timeout: 3 # TCP测试超时(秒)性能要求
yaml
ip_test:
filters:
max_latency: 200 # 最大延迟(毫秒)
min_success_rate: 80 # 最低成功率(%)
preferred_asns: # 优先ASN
- 13335 # Cloudflare
- 15169 # Google代理配置生成
协议配置
yaml
proxy_config:
protocols:
vless:
enabled: true
encryption: "none"
flow: "xtls-rprx-vision"
vmess:
enabled: true
encryption: "auto"
alter_id: 0
trojan:
enabled: true
password: "your-password"
# 端口配置
ports: [443, 80, 8080, 8443, 2053, 2083]
# TLS配置
tls:
enabled: true
server_names: ["cloudflare.com", "google.com"]高级配置
yaml
proxy_config:
# WebSocket配置
websocket:
enabled: true
paths: ["/", "/ws", "/websocket"]
# gRPC配置
grpc:
enabled: true
service_names: ["grpc", "gunservice"]
# 传输层配置
transport:
- ws
- grpc
- tcp验证配置
yaml
validation:
# 基础测试
concurrent: 200
timeout: 5
retry_count: 3
# 性能要求
max_latency: 500
min_speed: 5
enable_speed_test: true
speed_test_timeout: 15
# 过滤规则
filters:
exclude_keywords:
- "测试"
- "到期"
- "Traffic"云端保存配置
GitHub Gist
yaml
save_config:
github_gist:
enabled: true
token: "ghp_your_github_token"
gist_id: "your_gist_id"
filename: "mihomo_subscription.yaml"AWS S3
yaml
save_config:
s3:
enabled: true
bucket: "your-bucket-name"
region: "us-west-2"
access_key: "YOUR_ACCESS_KEY"
secret_key: "YOUR_SECRET_KEY"
path: "mihomo/"⚡ 高级用法
快速模式
对于快速获取可用代理,可以跳过耗时的TCP测试:
bash
# 快速模式:跳过IP测试,直接生成配置
ed mihomo-iptest -f config.yaml --skip-ip-test
# 仅生成特定协议
ed mihomo-iptest -f config.yaml --protocols vless,vmess
# 限制IP数量
ed mihomo-iptest -f config.yaml --limit 10批处理脚本
创建批处理脚本来定期更新代理:
bash
#!/bin/bash
# update_mihomo.sh
echo "开始更新Mihomo代理配置..."
# 更新亚洲节点
ed mihomo-iptest -f config/asia.yaml
# 更新美洲节点
ed mihomo-iptest -f config/america.yaml
# 更新欧洲节点
ed mihomo-iptest -f config/europe.yaml
# 合并结果
cat results/asia_*.yaml results/america_*.yaml results/europe_*.yaml > results/global.yaml
echo "Mihomo代理配置更新完成!"多环境配置
游戏优化配置
yaml
# gaming.yaml
ip_test:
colos: ["HKG", "SIN", "NRT"] # 亚洲低延迟地区
limit: 30
validation:
max_latency: 50 # 严格延迟要求
min_speed: 20 # 适中速度要求
proxy_config:
protocols: ["vless", "vmess"] # 低延迟协议
transport: ["tcp", "grpc"] # 稳定传输流媒体配置
yaml
# streaming.yaml
ip_test:
colos: ["LAX", "FRA", "NRT"] # 流媒体友好地区
media_check:
enabled: true
platforms:
netflix:
enabled: true
regions: ["US", "JP", "UK"]
disney_plus:
enabled: true
validation:
min_speed: 50 # 高速度要求📊 结果分析
生成的文件说明
Clash 格式配置
yaml
# mihomo_all.yaml
proxies:
- name: "🇭🇰 HKG-Cloudflare-01"
type: vless
server: 1.2.3.4
port: 443
uuid: your-uuid
tls: true
proxy-groups:
- name: "🚀 手动切换"
type: select
proxies: ["🇭🇰 HKG-Cloudflare-01", ...]
- name: "🎬 流媒体"
type: select
filter: "Netflix|Disney"统计报告
Mihomo集成工作流完成!
📊 处理统计:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• 获取IP数量: 400 个
• 生成代理配置: 1,200 个
• 验证通过: 456 个
• 高速代理 (>50MB/s): 89 个
🌍 地区分布:
• 🇭🇰 香港: 156 个 (平均延迟: 25ms, 平均速度: 85MB/s)
• 🇸🇬 新加坡: 124 个 (平均延迟: 35ms, 平均速度: 78MB/s)
• 🇯🇵 日本: 98 个 (平均延迟: 45ms, 平均速度: 92MB/s)
• 🇺🇸 美国: 78 个 (平均延迟: 120ms, 平均速度: 156MB/s)
🎬 流媒体解锁:
• Netflix: 234 个代理
• YouTube Premium: 445 个代理
• Disney+: 156 个代理
📁 生成文件:
• results/mihomo_all.yaml (456 个代理)
• results/mihomo_premium.yaml (89 个代理)
• results/mihomo_netflix.yaml (234 个代理)🔧 故障排除
常见问题
IP获取失败
症状: 提示 "Failed to fetch IPs"
解决方案:
- 检查网络连接
- 验证数据中心代码是否正确
- 尝试减少并发数或IP数量限制
yaml
ip_test:
concurrent: 50 # 降低并发
limit: 10 # 减少数量
timeout: 10 # 增加超时代理验证失败率高
症状: 大部分生成的代理验证失败
解决方案:
- 调整代理配置参数
- 尝试不同的协议组合
- 检查本地网络环境
yaml
proxy_config:
protocols: ["vless"] # 单一协议测试
ports: [443] # 标准端口
validation:
timeout: 10 # 增加验证超时
retry_count: 3 # 增加重试🎯 最佳实践
1. 配置策略
- 分场景配置: 针对不同使用场景创建专门配置
- 渐进优化: 从基础配置开始,逐步优化参数
- 定期更新: 根据网络环境变化调整配置
2. 性能优化
- 合理并发: 根据系统性能调整并发数
- 智能筛选: 使用过滤条件减少无效测试
- 缓存利用: 启用缓存减少重复工作
3. 结果管理
- 版本控制: 使用Git管理配置和结果
- 云端备份: 利用多种云存储确保数据安全
- 监控自动化: 设置定时任务自动更新
准备好了解订阅检查的详细功能了吗?查看 订阅检查 (sub-check) 了解mihomo-iptest工作流中的验证环节详情!