本项目依托 GitHub Actions 全自动化 CI/CD 流水线,每天定时(北京时间凌晨 04:00)从全球权威的上游数据源抓取最新规则,并自动清洗、编译为 RouterOS v7 (ROS) 可直接挂载或导入的高效脚本文件。
借助 GitHub 全球 CDN 分发,实现零服务器成本维护,专为极客与高端玩家打造极致纯净、极速分流的网络体验。
本项目每日自动编译并提供以下 3 个核心规则文件:
- 上游数据源:
Loyalsoldier/v2ray-rules-dat(proxy-list.txt) - 规则数量:约 2.5 万条被墙或体验极差的海外泛域名。
- 运作原理:利用 ROS v7 原生的
match-subdomain=yes泛域名特性,将这些黑名单域名精准转发(FWD)至无污染的海外 DNS(如8.8.8.8)进行解析,从根源解决 DNS 污染、连接重置与 CDN 跨国调度异常。
- 上游数据源:APNIC 官方统计数据 (
delegated-apnic-latest) - 规则详情:约 8800 条 IPv4 及 2000+ 条 IPv6 中国大陆地址段。导入后会在 ROS 的
/ip firewall address-list中生成名为CN_V4和CN_IPV6的列表。 - 运作原理:可用于配置策略路由(PBR)、Mangle 标记或动态/静态路由表的精准分流,确保访问国内业务(如淘宝、B站)始终走本地最优出口,延迟最低。
- 上游数据源:
Loyalsoldier/v2ray-rules-dat(reject-list.txt) - 规则数量:约 17 万条已知广告、隐私追踪器及恶意挖矿脚本域名。
- 运作原理:输出为极简的
0.0.0.0 domain.com标准 Hosts 格式。完美适配 ROS v7.14+ 原生引入的/ip dns adlist引擎,由底层 C 语言极速解析,实现无感知的全屋网络去广告。
方案 A:官方 GitHub 直连(推荐海外环境使用)
- DNS 转发规则:
https://raw.githubusercontent.com/vip592850-blip/ros-routing-rules/main/proxy_dns.rsc - 国内 IP 地址簿:
https://raw.githubusercontent.com/vip592850-blip/ros-routing-rules/main/cn_cache.rsc - 全局去广告规则:
https://raw.githubusercontent.com/vip592850-blip/ros-routing-rules/main/reject_adlist.txt
方案 B:国内代理加速版(解决 GitHub Raw 域名被墙/超时报错)
提供两个备用方案:网友提供的转换代理,以及稳定合规的开源全球 CDN(推荐)。
- ⚡ DNS 转发规则 (加速)
- jsDelivr CDN:
https://cdn.jsdelivr.net/gh/vip592850-blip/ros-routing-rules@main/proxy_dns.rsc - 代理转发:
https://listapp.linuxiarz.pl/convert?url=https://raw.githubusercontent.com/vip592850-blip/ros-routing-rules/main/proxy_dns.rsc
- jsDelivr CDN:
- ⚡ 国内 IP 地址簿 (加速)
- jsDelivr CDN:
https://cdn.jsdelivr.net/gh/vip592850-blip/ros-routing-rules@main/cn_cache.rsc - 代理转发:
https://listapp.linuxiarz.pl/convert?url=https://raw.githubusercontent.com/vip592850-blip/ros-routing-rules/main/cn_cache.rsc
- jsDelivr CDN:
- ⚡ 全局去广告规则 (加速)
- jsDelivr CDN:
https://cdn.jsdelivr.net/gh/vip592850-blip/ros-routing-rules@main/reject_adlist.txt - 代理转发:
https://listapp.linuxiarz.pl/convert?url=https://raw.githubusercontent.com/vip592850-blip/ros-routing-rules/main/reject_adlist.txt
- jsDelivr CDN:
(下文部署教程中,默认使用高可用性的 jsDelivr CDN 链接)
由于引入了总计近 10 万条的 DNS 和 Adlist 规则,ROS 默认的 2MB DNS 缓存会瞬间爆满并疯狂报错 cache full, not storing。
在部署前,必须进入 ROS 终端执行以下命令,将 DNS 缓存扩容81920。
如果带广告屏蔽,就扩容到163840 如果不足可以适当再次扩大
/ip dns set cache-size=81920
适用版本:ROS v7.14 及以上 去广告模块无需编写复杂的下载脚本,原生支持极速远程挂载。请在 ROS 终端执行:
/ip dns adlist
add url="https://cdn.jsdelivr.net/gh/vip592850-blip/ros-routing-rules@main/reject_adlist.txt" ssl-verify=no
此脚本负责下载、清理旧规则并自动导入,自带容错机制(使用显式脚本隔离保证闪存安全)。
/system script
add name=UpdateProxyDNS policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive source=" \
:local apiUrl \"https://cdn.jsdelivr.net/gh/vip592850-blip/ros-routing-rules@main/proxy_dns.rsc\";\r\
:local fileName \"proxy_dns.rsc\";\r\
:log info \"[ProxyDNS] 开始获取最新 DNS 防污染规则...\";\r\
\r\
:do {\r\
/tool fetch url=\$apiUrl mode=https dst-path=\$fileName;\r\
:delay 3s;\r\
\r\
:if ([:len [/file find name=\$fileName]] > 0) do={\r\
:log info \"[ProxyDNS] 下载成功,开始将其导入 DNS 缓存表...\";\r\
/import file-name=\$fileName;\r\
:delay 2s;\r\
/file remove \$fileName;\r\
:log info \"[ProxyDNS] 导入完成,临时文件已清理!\";\r\
} else={\r\
:log error \"[ProxyDNS] 规则下载失败,请检查 URL 连通性!\";\r\
}\r\
} on-error={\r\
:log error \"[ProxyDNS] HTTPS 请求彻底失败,请检查路由器公网连接或上游 DNS!\";\r\
}\
"
/system script
add name=UpdateCNIP policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive source=" \
:local apiUrl \"https://cdn.jsdelivr.net/gh/vip592850-blip/ros-routing-rules@main/cn_cache.rsc\";\r\
:local fileName \"cn_cache.rsc\";\r\
:log info \"[CN-IP] 开始获取最新国内 IP 地址段 (CN_V4 / CN_IPV6)...\";\r\
\r\
:do {\r\
/tool fetch url=\$apiUrl mode=https dst-path=\$fileName;\r\
:delay 3s;\r\
\r\
:if ([:len [/file find name=\$fileName]] > 0) do={\r\
:log info \"[CN-IP] 下载成功,开始导入地址列表...\";\r\
/import file-name=\$fileName;\r\
:delay 2s;\r\
/file remove \$fileName;\r\
:log info \"[CN-IP] 导入完成,临时文件已清理!\";\r\
} else={\r\
:log error \"[CN-IP] 下载失败!\";\r\
}\r\
} on-error={\r\
:log error \"[CN-IP] HTTPS 请求彻底失败!\";\r\
}\
"
通过显式调用 /system script run,设定在每日凌晨网络闲时自动更新规则。
/system scheduler
add name=Schedule_UpdateProxyDNS \
on-event="/system script run UpdateProxyDNS" \
policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive \
start-time=04:00:00 interval=1d
add name=Schedule_UpdateCNIP \
on-event="/system script run UpdateCNIP" \
policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive \
start-time=04:10:00 interval=1d