Casey

全文引用自 https://github.com/wlxuf/Shadowrocket

Shadowrocket快速使用方法:
1.首页 - 添加节点。
2.设置 - 延迟测试方法,选择CONNECT。
3.首页 - 连通性测试,选择可用节点连接。

首次启动会提示【安装VPN配置文件】
请点击【好】和【允许】才能正常使用

关键词列表

方法二

您的节点使用了TLS,地址是IP,却没有设 SNI。

这是错误的,为了可以访问,Shadowrocket会主动开启允许不安全。上一版本2.2.23关闭了此功能造成很多人无法使用节点。

允许不安全将跳过TLS证书验证,这将导致一些安全问题。如果您使用自签名证书,请将证书导入系统并信任它,否则请及时续订服务器端证书,以防止证书过期。

节点分享与整理

节点分享

节点整理

代理:全部流量都通过同一个节点连接。

直连:全部流量都不通过节点连接。

场景:根据不同的网络连接类型(Wi-Fi、蜂窝数据)自动切换到预先设置的路由模式,并选择对应的配置文件和节点连接。

连通性测试

点击首页的连通性测试,节点列表将会显示以毫秒(ms)为单位的延迟数字,这是数据包的传输时间,不同的延迟测试方法对应不同的计算结果。长按首页的连通性测试,可以临时调整测试方法,仅对本次测试生效。

设置 - 延迟测试方法。

延迟大小与网络上传下载速度没有直接关系,测速请使用其他方法,如: https://www.speedtest.net

修改测试地址

用于首页和分组节点的延迟测试

用于代理分组节点的延迟测试

首次添加场景,可能会弹出申请权限的对话框,具体原因请看定位权限。当没有允许定位权限时,场景列表的☑️标记不会随着网络类型的切换而自动切换,但这不影响场景功能的正常生效。

简单模式

首页 - 全局路由 - 分组 - 简单模式。

简单模式的功能是自动测试并选择延迟低节点。

当开启简单模式,此时下方会出现分组选项,如果没有继续添加分组的操作,节点范围就是首页全部节点,如果添加分组,范围就变成分组里的节点。

首页 - 全局路由 - 分组 - URL测试设置,这里规定了测试的间隔时间,默认600s,即表示每10分钟自动进行一次节点延迟测试。相邻两次测试结果中最小延迟值的对比,根据公差机制决定是否切换节点,公差越大,触发节点切换的频次越低,默认0ms,即表示只要后面测试结果的最低延迟节点比前面测试结果的最低延迟节点延迟小就会自动切换。

代理分组创建后,需要在规则中修改策略指向,而简单模式已经关联proxy策略,节省了修改规则的步骤。

全局路由选择代理时将导致所有代理分组失效,而简单模式依然能够实现自动切换节点。

开启测速,这个分组才允许自动切换节点。不开启测速,这个分组只能手动选择节点。

启用回退

首页 - 全局路由 - 启用回退。

启用回退的功能是当节点连接失败时自动切换其他可用节点。

添加配置文件方法:

点击配置文件,显示操作菜单:

点击配置文件的ⓘ图标,进入编辑菜单:

配置文件的纯文本编写方法,请参考:

跳过代理(skip-proxy):此选项强制域名或IP的连接范围由Shadowrocket TUN接口来处理,而不是Shadowrocket代理服务器。此选项用于解决一些应用程序的一些兼容性问题。

TUN旁路路由(tun-excluded-routes):Shadowrocket TUN接口只能处理TCP协议。使用此选项可以绕过指定的IP范围,让其他协议通过。

DNS覆写(dns-server):使用普通DNS或加密DNS(如doh、doq、dot等)覆盖默认的系统DNS。有些dns over https支持http3,所以尝试查询,如果支持就切换到http3,可在doh链接后面加上#no-h3关闭。doh强制通过h3查询的写法是将https改成h3,如h3://dns.alidns.com/dns-query

备用DNS(fallback-dns-server):当覆写DNS查询失败或查询时间超过2秒,Shadowrocket会自动回退备用DNS。如需指定多个DNS,可用逗号分隔。system表示回退到系统DNS。

启用IPv6支持(ipv6):false表示不启用,true表示启用。即使不启用此选项,当本地网络环境支持IPv6,并且节点域名支持IPv6解析,Shadowrocket也会使用节点的IPv6地址进行访问。解决方法是关闭节点域名的IPv6解析,或者在配置文件的[Host]项目下为节点域名指定IP地址。

首选IPv6(prefer-ipv6):优先向IPv6的DNS服务器查询AAAA记录,优先使用AAAA记录。false表示不启用。

💡 dns-direct-system:直连的域名类规则使用系统dns进行查询。false表示不启用。

💡 icmp-auto-reply:ping数据包自动回复。

💡 always-reject-url-rewrite:不开启时,「重写的REJECT策略」默认只有在配置模式下生效。开启后,可以令该策略在其他全局路由模式下都生效。

私有IP应答(private-ip-answer):如果不启用该选项,域名解析返回私有IP,Shadowrocket会认为该域名被劫持而强制使用代理。

💡 dns-direct-fallback-proxy:直连域名解析失败后使用代理。false表示不启用。

TUN包含路由(tun-included-routes):默认情况下,Shadowrocket接口会声明自己为默认路由,但由于Wi-Fi接口的路由较小,有些流量可能不会通过Shadowrocket接口。使用此选项可以添加一个较小的路由表。

总是真实IP(always-real-ip):这个选项要求Shadowrocket在TUN处理DNS请求时返回一个真实的IP地址而不是假的IP地址。

DNS劫持(hijack-dns):有些设备或软件总是使用硬编码的DNS服务器,例如Netflix通过Google DNS(8.8.8.88.8.4.4)发送请求,您可以使用此选项来劫持查询。

💡 udp-policy-not-supported-behaviour:当UDP流量匹配到规则里不支持UDP转发的节点策略时重新选择回退行为,可选行为包括DIRECT、REJECT。DIRECT表示直连转发UDP流量,REJECT表示拒绝转发UDP流量。

包含配置(include):表示当前配置包含另一个配置的内容,当前配置的优先级高于被包含配置。该选项是对配置建立包含关系,以满足同时使用多个配置的需求。

带💡符号的参数只能通过配置文件的纯文本模式进行设置,没有UI操作选项。

添加规则

DOMAIN-SUFFIX,example.com,DIRECT可以匹配到a.example.coma.b.example.com

DOMAIN-KEYWORD:匹配请求域名的关键词。

DOMAIN-KEYWORD,exa,DIRECT可以匹配到a.example.coma.b.example.com

DOMAIN:匹配请求的完整域名。

DOMAIN,www.example.com,DIRECT只能匹配到www.example.com

USER-AGENT:匹配用户代理字符串,支持使用通配符*

USER-AGENT,MicroMessenger*,DIRECT可以匹配到MicroMessenger Client

URL-REGEX:匹配URL正则式。

URL-REGEX,^https?://.+/item.+,REJECT可以匹配到https://www.example.com/item/abc/123

IP-CIDR:匹配IPv4或IPv6地址。

IP-CIDR,192.168.1.0/24,DIRECT可以匹配到IP段192.168.1.1~192.168.1.254。当域名请求遇到IP类规则时,Shadowrocket会向本地DNS服务器发送查询请求,以判断主机IP是否匹配规则。若IP类规则加no-resolve(如:IP-CIDR,172.16.0.0/12,DIRECT,no-resolve),则域名请求将会跳过此规则,不会触发本地DNS查询。

IP-ASN:匹配IP地址隶属的ASN编号。

IP-ASN,56040,DIRECT可以匹配到属于China Mobile Communications Corporation网络的IP地址。

RULE-SET:匹配规则集内容。规则集的组成部分需包含规则类型。

DOMAIN-SET:匹配域名集内容。域名集的组成部分不包含规则类型。

SCRIPT:匹配脚本名称。

DST-PORT:匹配目标主机名的端口号。

DST-PORT,443,DIRECT可以匹配到443目标端口。

GEOIP:匹配IP数据库。

GEOIP,CN,DIRECT可以匹配到归属地为CN的IP地址。

FINAL:兜底策略。

FINAL,PROXY表示当其他所有规则都匹配不到时才使用FINAL规则的策略。

AND:逻辑规则,与规则。

AND,((DOMAIN,www.example.com),(DST-PORT,123)),DIRECT可以匹配到www.example.com:123

NOT:逻辑规则,非规则。

NOT,((DST-PORT,123)),DIRECT可以匹配到除了123端口的其他所有请求。

OR:逻辑规则,或规则。

OR,((DST-PORT,123),(DST-PORT,456)),DIRECT可以匹配到123456端口的所有请求。

PROTOCOL:匹配传输协议类型。

PROTOCOL类型不支持单独使用,只能作为子规则类型嵌套于逻辑规则当中。如AND,((PROTOCOL,UDP),(DST-PORT,443)),REJECT-NO-DROP

规则策略

PROXY:代理。通过代理服务器转发流量。

DIRECT:直连。连接不经过任何代理服务器。

REJECT:拒绝。返回HTTP状态码404,没有内容。

REJECT-DICT:拒绝。返回HTTP状态码200,内容为空的JSON对象。

REJECT-ARRAY:拒绝。返回HTTP状态码200,内容为空的JSON数组。

REJECT-200:拒绝。返回HTTP状态码200,没有内容。

REJECT-IMG:拒绝。返回HTTP状态码200,内容为1像素GIF。

REJECT-TINYGIF:拒绝。返回HTTP状态码200,内容为1像素GIF。

REJECT-DROP:拒绝。丢弃IP包。

REJECT-NO-DROP:拒绝。返回ICMP端口不可达。

除此之外,规则策略还可以选择代理分组订阅名称分组服务器节点

app分流

根据不同app指定分流规则的方法。

示例:YouTube app 分流走代理。

iOS系统没有常规分应用代理的操作,只能通过域名 / ip / ua规则实现app分流效果。可自行抓包,或者订阅blackmatrix7规则集。如果引用的链接是域名集,添加规则时,类型请选择DOMAIN-SET

更新规则集

点击配置文件 - 使用配置。

修改DNS

url-test:自动切换延迟最低节点。

fallback:节点挂掉时自动切换其他可用节点。

load-balance:不同规则的请求使用分组里的不同节点进行连接,相同的域名会使用同一个节点。

random:随机使用分组里的不同节点进行连接。

自动切换节点

自动切换延迟低的节点:

方法一

方法二

点击配置文件ⓘ - 代理分组 - 右上角➕,类型选择load-balance

「load-balance」表示不同规则的请求使用分组里的不同节点进行连接,相同的域名会使用同一个节点。

模块

添加模块方法:

本地新建模块

下载远程模块

请对正在使用的配置开启HTTPS解密,模块才能完整生效。

证书模块

切换配置文件时免除重复安装CA证书方法:

导入节点:将存储在本地或云端JSON文件中的节点数据解析并添加到首页。

删除本地节点:一键删除首页所有节点数据。

流量统计信息

统计是Shadowrocket开启连接后接管设备所有网络传输的流量统计信息。

首页订阅支持显示流量统计信息。方法是在订阅链接指向的纯文本base64编码前添加STATUS=xxxREMARKS=xxx字段,这样订阅名称下方就能显示自定义信息。如果没有添加字段或者隐藏用户代理字符串,可能导致不返回相关统计信息,只显示时间。

延迟测试方法

详见词条连通性测试

小组件

添加小组件方法:

Today小组件

屏幕小组件

更新Shadowrocket后,如果找不到小组件添加按钮,请尝试重启手机。如果小组件显示“无法加载”,请尝试以下方法:

按需求连接

睡眠时断开

显示断开信息

设置 - 按需求连接 - 打开 始终开启

前置代理

设置 - 代理 - 前置代理。

「前置代理」表示所有流量先通过HTTP/SOCKS5代理转发,再根据配置规则向节点服务器发送请求。

代理共享

局域网条件下

使用热点条件下

方法一

方法二

Loyalsoldier的IP数据库:

https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country.mmdb

Hackl0us的IP数据库:

https://github.com/Hackl0us/GeoIP2-CN/raw/release/Country.mmdb

Masaiki的IP数据库:

https://github.com/Masaiki/GeoIP2-CN/raw/release/Country.mmdb

P3TERX的ASN数据库:

https://github.com/P3TERX/GeoLite.mmdb/raw/download/GeoLite2-ASN.mmdb

定位权限

2023年4月份以后,苹果官方要求开发者在提交应用到App Store时必须至少使用Xcode 14编译,所以iOS12以下系统无法使用。

Shadowrocket下一个版本2.2.30将设置最低安装要求iOS12,然后停止2.2.29版本,iOS低版本用户就可以方便安装2.2.28版本。

下载Shadowrocket

Shadowrocket只有iOS/iPadOS/tvOS版本和M系列芯片的Mac才能下载,开发者是Shadow Launch Technology LimitedShadowrocket没有安卓/Windows版本!

下载方法:

美区Apple ID注册方法

Apple官网购买礼品卡方法

支付宝购买美区礼品卡教程

美区Shadowrocket下载链接