Files
sr-rules/sr.conf
T

258 lines
14 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Shadowrocket 配置(可分享版)
# 使用方法:导入后在首页添加自己的节点或订阅,规则自动生效
# 更新时间: 2026-05-10
[General]
# 远程配置更新 URL。Shadowrocket 会定期检查此链接更新配置
update-url = https://git.transnull.cn/transnull/sr-rules/raw/main/sr.conf
# 旁路系统。如果禁用此选项,可能会导致一些系统问题,如推送通知延迟。
bypass-system = true
# 跳过代理。此选项强制这些域名或 IP 的连接范围由 Shadowrocket TUN 接口来处理,而不是 Shadowrocket 代理服务器。此选项用于解决一些应用程序的兼容性问题。
skip-proxy = 192.168.0.0/16,10.0.0.0/8,172.16.0.0/12,localhost,localhost.weixin.qq.com,*.local,captive.apple.com,*.ccb.com,*.abchina.com.cn,*.psbc.com
# TUN 旁路路由。Shadowrocket TUN 接口只能处理 TCP 协议。使用此选项可以绕过指定的 IP 范围,让其他协议通过。
tun-excluded-routes = 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.0.0.0/24, 192.0.2.0/24, 192.88.99.0/24, 192.168.0.0/16, 198.51.100.0/24, 203.0.113.0/24, 224.0.0.0/4, 255.255.255.255/32, 239.255.255.250/32
# DNS 覆写。使用普通 DNS 或加密 DNS(如 DoH、DoQ、DoT 等)覆盖默认的系统 DNS。填 system 表示使用系统 DNS。
# 普通 DNS 示例:
# dns-server = 223.5.5.5,119.29.29.29
# 加密 DNS 示例:
# dns-server = https://dns.alidns.com/dns-query, https://doh.pub/dns-query
# dns-server = h3://dns.alidns.com/dns-query
# dns-server = quic://223.5.5.5
# dns-server = tls://223.5.5.5
dns-server = https://doh.pub/dns-query,https://dns.alidns.com/dns-query,223.5.5.5,119.29.29.29
# 备用 DNS。当覆写 DNS 查询失败或查询时间超过 2 秒,Shadowrocket 会自动回退备用 DNS。system 表示回退到系统 DNS。
fallback-dns-server = system
# 启用 IPv6 支持。false 表示不启用,true 表示启用。启用会同时查询 A 记录和 AAAA 记录,优先使用 IPv4 地址解析。
ipv6 = false
# 首选 IPv6。优先向 IPv6 的 DNS 服务器查询 AAAA 记录,优先使用 IPv6 地址解析。false 表示不启用。
prefer-ipv6 = false
# 直连的域名类规则使用系统 DNS 进行查询。false 表示不启用。
dns-direct-system = false
# ping 数据包自动回复。
icmp-auto-reply = true
# 不开启时,「重写的 REJECT 策略」默认只有在配置模式下生效。开启后,可以令该策略在其他全局路由模式下都生效。
always-reject-url-rewrite = false
# 私有 IP 应答。如果不启用此选项,域名解析返回私有 IP,Shadowrocket 会认为该域名被劫持而强制使用代理。
private-ip-answer = true
# 直连域名解析失败后使用代理。false 表示不启用。
dns-direct-fallback-proxy = false
# 当 UDP 流量匹配到规则里不支持 UDP 转发的节点策略时重新选择回退行为,可选行为包括 DIRECT、REJECT。
udp-policy-not-supported-behaviour = REJECT
# DNS 劫持。有些设备或软件总是使用硬编码的 DNS 服务器,例如 Netflix 通过 Google DNS(8.8.8.8或8.8.4.4)发送请求,您可以使用此选项来劫持查询。
hijack-dns = 8.8.8.8:53,8.8.4.4:53
# QUIC协议屏蔽策略。支持使用 all-proxy、all、always-allow 对 QUIC 传输层协议进行设置。
# all-proxy 表示只对「走代理的连接」阻断 QUIC,直连连接(DIRECT)不会被干预
# all 表示对所有连接(包括直连与代理)都屏蔽 QUIC,这会完全禁止系统中一切 UDP/443 流量
# always-allow 表示始终允许 QUIC,不做任何屏蔽
block-quic = all-proxy
[Proxy]
# 添加本地节点。该项目的节点解析是为了兼容部分配置文件,不能当作Shadowrocket添加节点的优先选择。
# 各类型节点格式说明:
# Shadowsocks: 节点名称=ss,地址,端口,password=密码,其他参数(如method=aes-256-cfb,obfs=websocket,plugin=none)
# Vmess: 节点名称=vmess,地址,端口,password=密码,其他参数(如alterId=0,method=auto,obfs=websocket,tfo=1)
# VLESS: 节点名称=vless,地址,端口,password=密码,tls=true,其他参数(如obfs=websocket,peer=example.com)
# HTTP/HTTPS: 节点名称=http,地址,端口,用户,密码 或 节点名称=https,地址,端口,用户,密码
# Socks5: 节点名称=socks5,地址,端口,用户,密码 或 节点名称=socks5-tls,地址,端口,用户,密码,skip-common-name-verify=true
# Trojan: 节点名称=trojan,地址,端口,password=密码,其他参数(如allowInsecure=1,peer=example.com)
# Hysteria: 节点名称=hysteria,地址,端口,auth=密码,obfsParam=混淆,protocol=协议,udp=1,其他参数(如peer=example.com,alpn=h2,upmbps=100,downmbps=100)
# Hysteria2: 节点名称=hysteria2,地址,端口,auth=密码,obfsParam=混淆,udp=1,其他参数(如peer=example.com,alpn=h3)
# TUIC: 节点名称=tuic,地址,端口,password=密码,udp=1,其他参数(如user=uuid值,peer=example.com,alpn=h2)
# Juicity: 节点名称=juicity,地址,端口,password=密码,udp=1,其他参数(如user=uuid值,peer=example.com,alpn=h2)
# WireGuard: 节点名称=wireguard,地址,端口,privateKey=私钥,publicKey=公钥,ip=子网IP,udp=1,其他参数(如dns=1.1.1.1,mtu=1350,keepalive=40,reserved=1/2/3)
# Snell: 节点名称=snell,地址,端口,password=密码,udp=1,其他参数(如obfs=http,obfs-host=example.com,obfs-uri=/abc)
[Proxy Group]
# 代理分组类型说明:
# select: 手动切换节点
# url-test: 自动切换延迟最低节点
# fallback: 节点挂掉时自动切换其他可用节点
# load-balance: 不同规则的请求使用分组里的不同节点进行连接
# random: 随机使用分组里的不同节点进行连接
#
# policy-regex-filter 正则式或关键词筛选常用写法:
# 保留节点名称含有关键词A和B的节点: (?=.*(A))^(?=.*(B))^.*$
# 保留节点名称含有关键词A或B的节点: A|B
# 排除节点名称含有关键词A或B的节点: ^((?!(A|B)).)*$
# 保留节点名称含有关键词A并排除含有关键词B的节点: (?=.*(A))^((?!(B)).)*$
#
# 其他参数说明:
# interval: 指定间隔多长时间后需要重新发起测试
# timeout: 如果测试在超时前未完成,放弃测试
# tolerance: 只有当新优胜者的分数高于旧优胜者的分数加上公差时,才会进行线路更换
# url: 指定要测试的 URL
# policy-select-name: 指定选择的节点备注名称
# select: 默认策略(0表示第一个策略,1表示第二个策略,2表示第三个策略……)
# 节点选择(主代理分组)
🚀 节点选择 = select,PROXY,DIRECT,REJECT,🇭🇰 香港节点,🇹🇼 台湾节点,🇯🇵 日本节点,🇺🇸 美国节点,🌐 其他节点
# 香港节点 - 自动选择延迟最低的香港节点
🇭🇰 香港节点 = url-test,url=http://www.gstatic.com/generate_204,interval=600,tolerance=0,timeout=5,policy-regex-filter=🇭🇰|HK|Hong|hong|香港|深港|沪港|京港|港
# 台湾节点 - 自动选择延迟最低的台湾节点
🇹🇼 台湾节点 = url-test,url=http://www.gstatic.com/generate_204,interval=600,tolerance=0,timeout=5,policy-regex-filter=🇹🇼|TW|TWN|Taiwan|Taipei|taiwan|台湾|台灣|台北|台中|新北|彰化
# 日本节点 - 自动选择延迟最低的日本节点
🇯🇵 日本节点 = url-test,url=http://www.gstatic.com/generate_204,interval=600,tolerance=0,timeout=5,policy-regex-filter=🇯🇵|JP|Japan|japan|Tokyo|tokyo|日本|东京|大阪
# 美国节点 - 自动选择延迟最低的美国节点
🇺🇸 美国节点 = url-test,url=http://www.gstatic.com/generate_204,interval=600,tolerance=0,timeout=5,policy-regex-filter=🇺🇸|US|USA|America|america|United States|美国|凤凰城|洛杉矶|西雅图|芝加哥|纽约|沪美|美
# 其他节点 - 所有非特定地区的节点
🌐 其他节点 = url-test,url=http://www.gstatic.com/generate_204,interval=600,tolerance=0,timeout=5,policy-regex-filter=^((?!(🇭🇰|HK|Hong|hong|香港|深港|沪港|京港|港|🇹🇼|TW|TWN|Taiwan|Taipei|taiwan|台湾|台灣|台北|台中|新北|彰化|🇯🇵|JP|Japan|japan|Tokyo|tokyo|日本|东京|大阪|🇺🇸|US|USA|America|america|United States|美国|凤凰城|洛杉矶|西雅图|芝加哥|纽约|沪美|美)).)*$
# 广告拦截分组 - 匹配的流量将被拒绝
🛑 广告拦截 = select,REJECT,DIRECT,🚀 节点选择
# AI 服务分组 - ChatGPT、Claude、Gemini 等 AI 服务优先走美国节点
🤖 AI 服务 = select,🇺🇸 美国节点,🚀 节点选择,PROXY,DIRECT,REJECT,policy-select-name=🇺🇸 美国节点
# 油管视频分组
📹 油管视频 = select,🚀 节点选择,PROXY,DIRECT,REJECT
# 谷歌服务分组 - 优先日本节点
🔍 谷歌服务 = select,🇯🇵 日本节点,🇭🇰 香港节点,🚀 节点选择,PROXY,DIRECT,REJECT,policy-select-name=🇯🇵 日本节点
# 微软服务分组
Ⓜ️ 微软服务 = select,🚀 节点选择,PROXY,DIRECT,REJECT
# 苹果服务分组 - 优先直连
🍏 苹果服务 = select,DIRECT,🚀 节点选择,PROXY,REJECT
# 苹果推送分组
🍎 苹果推送 = select,🚀 节点选择,PROXY,DIRECT,REJECT
# 电报消息分组
📲 电报消息 = select,🚀 节点选择,PROXY,DIRECT,REJECT
# 代码托管分组 - GitHub、GitLab 等
🐱 代码托管 = select,🚀 节点选择,PROXY,DIRECT,REJECT
# 私有网络分组 - 本地局域网地址
🏠 私有网络 = select,DIRECT,🚀 节点选择,REJECT
# 国内服务分组 - 中国大陆网站和服务
🔒 国内服务 = select,DIRECT,🚀 节点选择,REJECT
# 非中国分组 - 国际服务但非特定地区分流
🌍 非中国 = select,🇯🇵 日本节点,🚀 节点选择,PROXY,DIRECT,REJECT,policy-select-name=🇯🇵 日本节点
# 漏网之鱼分组 - 兜底分组,匹配所有未命中规则的流量
🐟 漏网之鱼 = select,🇯🇵 日本节点,🚀 节点选择,PROXY,DIRECT,REJECT,policy-select-name=🇯🇵 日本节点
[Rule]
# 规则类型说明:
# DOMAIN-SUFFIX: 匹配请求域名的后缀。如 "DOMAIN-SUFFIX,example.com,DIRECT" 可以匹配 "a.example.com、a.b.example.com"
# DOMAIN-KEYWORD: 匹配请求域名的关键词
# DOMAIN: 匹配请求的完整域名
# USER-AGENT: 匹配用户代理字符串,支持使用通配符 "*"
# URL-REGEX: 匹配 URL 正则式
# IP-CIDR: 匹配 IPv4 或 IPv6 地址。加 "no-resolve" 可避免域名请求触发 DNS 查询
# IP-ASN: 匹配 IP 地址隶属的 ASN 编号
# RULE-SET: 匹配规则集内容(包含规则类型)
# DOMAIN-SET: 匹配域名集内容(不包含规则类型)
# SCRIPT: 匹配脚本名称
# DST-PORT: 匹配目标主机名的端口号
# GEOIP: 匹配 IP 数据库。如 "GEOIP,CN,DIRECT" 匹配归属地为 CN 的 IP
# FINAL: 兜底策略。当其他所有规则都匹配不到时生效
# AND/NOT/OR: 逻辑规则
#
# 规则策略说明:
# PROXY: 通过代理服务器转发流量
# DIRECT: 直连,不经过代理服务器
# REJECT: 拒绝,返回 HTTP 状态码 404
# REJECT-DICT: 拒绝,返回空 JSON 对象
# REJECT-ARRAY: 拒绝,返回空 JSON 数组
# REJECT-200: 拒绝,返回 HTTP 状态码 200,无内容
# REJECT-IMG/REJECT-TINYGIF: 拒绝,返回 1 像素 GIF
# REJECT-DROP: 拒绝,丢弃 IP 包
# REJECT-NO-DROP: 拒绝,返回 ICMP 端口不可达
# 微信本地连接
DOMAIN,localhost.weixin.qq.com,DIRECT
# AI 服务规则 - ChatGPT、Claude 等
RULE-SET,https://git.transnull.cn/transnull/sr-rules/raw/main/AI.list,🤖 AI 服务
# 广告拦截规则
RULE-SET,https://cproxy.taichuos.com/https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Advertising/Advertising.list,🛑 广告拦截
# 谷歌服务规则
RULE-SET,https://git.transnull.cn/transnull/sr-rules/raw/main/Google.list,🔍 谷歌服务
# YouTube 视频规则
RULE-SET,https://cproxy.taichuos.com/https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/YouTube/YouTube.list,📹 油管视频
# 本地局域网规则
RULE-SET,https://cproxy.taichuos.com/https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Lan/Lan.list,🏠 私有网络
# Telegram 电报规则
RULE-SET,https://cproxy.taichuos.com/https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Telegram/Telegram.list,📲 电报消息
# GitHub 代码托管规则
RULE-SET,https://cproxy.taichuos.com/https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/GitHub/GitHub.list,🐱 代码托管
RULE-SET,https://cproxy.taichuos.com/https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/GitLab/GitLab.list,🐱 代码托管
RULE-SET,https://cproxy.taichuos.com/https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Atlassian/Atlassian.list,🐱 代码托管
# 微软服务规则
RULE-SET,https://cproxy.taichuos.com/https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Microsoft/Microsoft.list,Ⓜ️ 微软服务
# 苹果推送规则
RULE-SET,https://git.transnull.cn/transnull/sr-rules/raw/main/ApplePush.list,🍎 苹果推送
# 苹果服务规则
RULE-SET,https://git.transnull.cn/transnull/sr-rules/raw/main/Apple.list,🍏 苹果服务
# 中国大陆网站和服务规则
RULE-SET,https://cproxy.taichuos.com/https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/China/China.list,🔒 国内服务
# 国际服务规则
RULE-SET,https://cproxy.taichuos.com/https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Global/Global.list,🌍 非中国
# CN 地区 IP 直连
GEOIP,CN,🔒 国内服务
# 兜底规则 - 匹配所有未命中规则的流量
FINAL,🐟 漏网之鱼
[Host]
# 域名指定本地值示例:example.com = 1.2.3.4
# 域名指定 DNS 服务器示例:example.com = server:1.2.3.4
# wifi 名称指定 DNS 服务器示例:ssid:wifi名称 = server:1.2.3.4
# 微信本地地址
localhost.weixin.qq.com = 127.0.0.1
# 苹果域名使用系统 DNS
*.apple.com = server:system
*.icloud.com = server:system
# 本地主机名
localhost = 127.0.0.1
[URL Rewrite]
# Google 搜索引擎防跳转重写
^https?://(www.)?g.cn https://www.google.com 302
^https?://(www.)?google.cn https://www.google.com 302
[MITM]
# 证书解密的主机名。Shadowrocket 仅会解密 hostname 指定的域名的请求,可以使用通配符。也可以使用前缀 - 排除特定主机名,如 -*.example.com。
# iOS 系统和某些应用有严格的安全策略,仅信任某些特定的证书,对这些域名启动解密可能导致问题,如 *.apple.com*.icloud.com。
# 自版本 2.2.81 起支持通过 HTTP/2 协议进行中间人攻击,在纯文本模式的 [MITM] 字段中使用 h2 = true 命令启用
hostname = *.google.cn