Add detailed comments to Shadowrocket.conf based on lazy.conf reference

This commit is contained in:
Forest
2026-05-17 10:52:39 +08:00
parent d01d2355b8
commit 32ec7e2fc2
+144 -1
View File
@@ -3,112 +3,255 @@
# 更新时间: 2026-05-10
[General]
# 远程配置更新 URL。Shadowrocket 会定期检查此链接更新配置
update-url = https://raw.githubusercontent.com/transnull/Shadowrocket-Rules/refs/heads/main/Shadowrocket.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 示例:223.5.5.5,119.29.29.29
# 加密 DNS 示例:
# DNS-over-HTTPSDoH):https://dns.alidns.com/dns-query
# DNS-over-HTTP/3DoH3):h3://dns.alidns.com/dns-query
# DNS-over-QUICDoQ):quic://223.5.5.5
# DNS-over-TLSDoT):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://raw.githubusercontent.com/transnull/Shadowrocket-Rules/refs/heads/main/AI.list,🤖 AI 服务
# 广告拦截规则
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Advertising/Advertising.list,🛑 广告拦截
# 谷歌服务规则
RULE-SET,https://raw.githubusercontent.com/transnull/Shadowrocket-Rules/refs/heads/main/Google.list,🔍 谷歌服务
# YouTube 视频规则
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/YouTube/YouTube.list,📹 油管视频
# 本地局域网规则
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Lan/Lan.list,🏠 私有网络
# Telegram 电报规则
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Telegram/Telegram.list,📲 电报消息
# GitHub 代码托管规则
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/GitHub/GitHub.list,🐱 代码托管
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/GitLab/GitLab.list,🐱 代码托管
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Atlassian/Atlassian.list,🐱 代码托管
# 微软服务规则
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/Microsoft/Microsoft.list,Ⓜ️ 微软服务
# 苹果推送规则
RULE-SET,https://raw.githubusercontent.com/transnull/Shadowrocket-Rules/refs/heads/main/ApplePush.list,🍎 苹果推送
# 苹果服务规则
RULE-SET,https://raw.githubusercontent.com/transnull/Shadowrocket-Rules/refs/heads/main/Apple.list,🍏 苹果服务
# 中国大陆网站和服务规则
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Shadowrocket/China/China.list,🔒 国内服务
# 国际服务规则
RULE-SET,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