本文目录导读:

我来介绍几种在常用代理工具中批量添加代理规则的方法。
Clash/Meta 系(YAML 格式)
直接编辑配置文件
# config.yaml 示例 rules: # 批量添加域名规则 - DOMAIN-SUFFIX,google.com,Proxy - DOMAIN-SUFFIX,youtube.com,Proxy - DOMAIN-SUFFIX,twitter.com,Proxy # 批量添加 IP 规则 - IP-CIDR,10.0.0.0/8,DIRECT - IP-CIDR,172.16.0.0/12,DIRECT - IP-CIDR,192.168.0.0/16,DIRECT
使用 Python 脚本批量生成
# 批量生成规则脚本
with open('rules.txt', 'r') as f:
domains = f.readlines()
with open('proxy_rules.yaml', 'w') as f:
for domain in domains:
f.write(f" - DOMAIN-SUFFIX,{domain.strip()},Proxy\n")
Surge 格式
规则文件格式
# surge_rules.txt # 批量域名规则 DOMAIN-SUFFIX,google.com,Proxy DOMAIN-SUFFIX,youtube.com,Proxy # 批量 IP 规则 IP-CIDR,10.0.0.0/8,DIRECT IP-CIDR,192.168.0.0/16,DIRECT # 批量关键词规则 KEYWORD,ad,REJECT KEYWORD,tracking,REJECT
V2Ray/Xray 规则
JSON 格式配置
{
"routing": {
"rules": [
// 批量添加域名规则
{"domain": ["google.com", "youtube.com"], "outboundTag": "proxy"},
{"domain": ["taobao.com", "baidu.com"], "outboundTag": "direct"},
// 批量添加 IP 规则
{"ip": ["10.0.0.0/8", "172.16.0.0/12"], "outboundTag": "direct"}
]
}
}
自动化脚本示例
Shell 脚本批量添加规则
#!/bin/bash
# 批量添加规则的 shell 脚本
PROXY_LIST="proxy_domains.txt"
DIRECT_LIST="direct_domains.txt"
OUTPUT_FILE="rules.yaml"
# 清空输出文件
> $OUTPUT_FILE
# 批量添加代理规则
while IFS= read -r domain; do
if [[ ! -z "$domain" && "$domain" != \#* ]]; then
echo " - DOMAIN-SUFFIX,$domain,Proxy" >> $OUTPUT_FILE
fi
done < "$PROXY_LIST"
# 批量添加直连规则
while IFS= read -r domain; do
if [[ ! -z "$domain" && "$domain" != \#* ]]; then
echo " - DOMAIN-SUFFIX,$domain,DIRECT" >> $OUTPUT_FILE
fi
done < "$DIRECT_LIST"
echo "规则生成完成: $OUTPUT_FILE"
Web 管理界面
一些代理工具有 Web 管理界面:
# Clash 的 API 接口
curl -X PUT 'http://localhost:9090/configs' \
-H 'Content-Type: application/json' \
-d '{"rules": ["DOMAIN-SUFFIX,example.com,Proxy"]}'
推荐的最佳实践
- 规则排序:精确规则在前,泛匹配规则在后
- 规则分类:按域名、IP、进程等分类管理
- 定期更新:使用脚本定期更新规则列表
- 备份规则:修改前备份原始配置
需要哪种具体工具或场景的详细示例?我可以提供更针对性的脚本。