连接与路由入口
界面与开关
先确认当前处于哪一种 Global Routing 姿态,再解释测试结果。连接开关、自动触发条件和单次请求的处理策略不是同一件事。
- 界面与开关Home
- Home 是查看连接状态、Global Routing、Connectivity Test 和 SERVER 列表的主要入口。首次打开时,Not Connected 表示尚未建立连接;开启连接可能需要按系统提示允许添加 VPN 配置。连接状态改变只说明隧道状态发生变化,目标网站能否访问仍需单独验证。
- 界面与开关Global Routing
- Global Routing 决定整体流量采用哪一种处理方式:配置姿态 Config、代理姿态 Proxy 或直连姿态 Direct。需要按域名或 IP 规则分流时选择 Config,并确认当前配置已经选用。排查时可以临时改变姿态对照结果,但测试后应恢复原设置,避免把排查状态当成日常规则。
- 界面与开关Config
- Config 既是配置文件管理页面的名称,也是 Global Routing 中按配置处理流量的姿态名称。进入 Config 页面可以管理文件,而选择 Config 姿态才表示按当前配置中的规则进行处理。文件已导入不等于已被选用,出现规则不生效时要同时核对这两个层级。
- 界面与开关Proxy / Direct
- 在 Global Routing 中,Proxy 让流量采用代理路径,Direct 让流量采用直连路径,适合临时对照两条连接路径。这里的界面词首字母大写,与规则文本中全大写的 PROXY、DIRECT 属于不同层级。Direct 能访问某个目标并不能证明代理参数正确,Proxy 测试成功也不能证明 Config 中的规则顺序正确。
- 界面与开关On Demand
- On Demand 是根据已设置条件触发连接的机制,重点是“何时建立连接”。Rule 的重点则是连接后“某个请求采用什么策略”,两者需要分别检查。手动关闭后又出现连接时,应先查看 On Demand 的触发条件,并在当前网络下重新验证。
- 界面与开关Connectivity Test
- Connectivity Test 按选定测试方式检查服务器的可达性,结果会受到当前网络、测试目标和服务器响应影响。显示的耗时不能直接当作持续下载速度,也不能保证所有网站都可访问。比较多个结果时,应保持测试方式和网络条件一致,再用实际目标请求验证。
- 界面与开关Add Server / SERVER
- Add Server 用于填写用户已有服务器的协议、地址、端口和认证信息,SERVER 列表用于显示这些连接条目。保存条目只代表信息已录入,不代表认证或连接已经成功。手动添加时先核对协议类型,再检查该协议需要的传输与安全参数,避免仅凭名称选择类型。
- 界面与开关DNS
- DNS 负责把域名解析为 IP 地址,是建立许多网络连接前的一步。域名解析使用的路径与后续请求的连接路径需要分别检查,因此 DNS 失败不一定说明代理服务器不可达。排查时先确认解析结果与错误信息,再检查配置中的 DNS 设置,避免同时修改多个解析选项。
服务器参数辨认
协议
协议决定客户端与服务器怎样通信,不是速度或稳定性的等级标签。以下术语仅用于辨认用户已有的连接信息;具体支持项与参数以当前应用界面为准。
- 协议Shadowsocks
- Shadowsocks 是一种代理协议,常见参数包括服务器地址、端口、密码和加密方法。加密方法必须与服务器设置对应,密码相同也不能弥补方法选错。若用户已有信息还包含额外的传输设置,应一并核对,不能只填写地址与密码就判断配置完整。
- 协议VMess
- VMess 是一种具有身份验证机制的代理协议,连接通常涉及用户标识以及配套的传输参数。相同地址和端口可以承载不同传输方式,因此还应核对路径、Host 与 TLS 等字段。遇到认证异常时也可检查设备时间是否准确,而不是反复更换列表中的显示名称。
- 协议VLESS
- VLESS 使用用户标识进行认证,具体连接方式还取决于服务器所配置的传输与安全参数。它与 VMess 是不同协议,不能因为字段相似就互换类型。导入后如需手动检查,应按照已有服务器信息逐项核对,而不是把其他协议的默认设置直接套用。
- 协议Trojan
- Trojan 是一种通常配合 TLS 使用的代理协议,连接时需要正确的认证与服务器名称设置。服务器地址、TLS 使用的名称和证书覆盖的名称可能需要分别核对。出现证书错误时应检查名称、有效性和设备时间,不宜把关闭证书验证作为常规处理方式。
- 协议Hysteria2
- Hysteria2 是一种基于 QUIC 的代理协议,网络路径需要具备相应的 UDP 可达性。认证、TLS、混淆及带宽相关参数应与用户已有服务器信息对应,具体字段以应用界面为准。协议名称本身不能保证速度,网络丢包、服务器负载与参数设置都会影响实际效果。
- 协议WireGuard
- WireGuard 使用密钥对与对端配置建立加密隧道,除端点地址外还涉及隧道地址、路由范围等信息。私钥与对端公钥承担不同作用,不能互相替换,也不应公开包含私钥的配置。导入后能否访问目标,需要结合对端允许的地址范围和实际路由一起判断。
- 协议HTTP / SOCKS5
- HTTP 与 SOCKS5 是两种不同的代理接入协议,应按服务器实际提供的类型选择。是否需要用户名和密码、是否具有传输加密,应依据具体服务参数判断,不能仅从协议名称推断。服务器支持的请求类型与 UDP 能力也可能不同,测试一种请求成功不等于其他请求同样可用。
匹配条件与处理策略
规则关键字
规则按自上而下的顺序匹配,首条命中即采用对应策略。以下域名与地址只用于解释语法,不是可用的连接服务信息。
- 规则关键字Rule
- Rule 把匹配条件与处理策略关联起来,通常写在配置文件的
[Rule]段。使用 Config 姿态时,请求按顺序检查规则,命中后采用对应策略,不再继续寻找看起来更具体的后续规则。因此应先放例外或范围明确的规则,再放宽泛条件,最后设置兜底。
- 规则关键字DOMAIN
- DOMAIN 精确匹配一个完整域名,不自动覆盖该域名的其他子域名。例如
DOMAIN,example.com,PROXY匹配 example.com,但不因这一条规则而匹配 www.example.com。需要覆盖整个域名树时,应考虑 DOMAIN-SUFFIX,而不是重复猜测所有子域名。
- 规则关键字DOMAIN-SUFFIX
- DOMAIN-SUFFIX 匹配指定域名及其子域名,适合统一处理同一域名树。例如
DOMAIN-SUFFIX,example.com,PROXY可覆盖 example.com 和 api.example.com,但不是任意包含 example.com 字样的域名。若某个子域名需要采用其他策略,应把它的例外规则放在这一条之前。
- 规则关键字DOMAIN-KEYWORD
- DOMAIN-KEYWORD 检查域名中是否包含指定关键词,匹配范围通常比 DOMAIN 与 DOMAIN-SUFFIX 更宽。例如
DOMAIN-KEYWORD,example,PROXY可能覆盖多个互不相关但包含 example 的域名。只有确实需要这种宽泛匹配时才使用,并留意是否存在额外命中。
- 规则关键字GEOIP
- GEOIP 依据 IP 地理归属数据库判断目标地址所属区域,再采用指定策略。它判断的是地址的数据库归类,不是网页语言、访问者位置或服务是否可用。域名可能解析到分布式地址,数据库也可能存在归类差异,因此定位问题时应同时查看实际解析地址与命中的规则。
- 规则关键字IP-CIDR
- IP-CIDR 按 IPv4 地址段匹配,斜杠后的前缀长度决定覆盖范围。例如
IP-CIDR,192.168.0.0/16,DIRECT为这一私有地址段指定直连策略。域名请求是否会为匹配而触发解析,还与相关选项有关;修改前应理解地址范围,避免把单个地址误写成过宽的网络段。
- 规则关键字IP-CIDR6
- IP-CIDR6 按 IPv6 地址段进行匹配,作用与面向 IPv4 的 IP-CIDR 相对应。例如
IP-CIDR6,::1/128,DIRECT匹配 IPv6 回环地址。目标存在 IPv6 连接时,仅检查 IPv4 规则不足以解释全部请求,应同时核对解析结果与 IPv6 路由。
- 规则关键字FINAL
- FINAL 为前面条件都未命中的请求指定兜底策略,通常放在规则末尾。例如
FINAL,DIRECT表示剩余请求使用直连路径,而FINAL,PROXY表示剩余请求使用代理路径。FINAL 不会覆盖已经命中的前置规则,更改它时应确认未匹配流量的预期去向。
- 规则关键字PROXY / DIRECT / REJECT
- PROXY、DIRECT 与 REJECT 是规则中常见的处理策略,分别表示使用代理路径、直接连接和拒绝匹配请求。它们回答“命中之后怎么处理”,不是服务器地址,也不是匹配条件。若一条宽泛的 REJECT 规则排在前面,后面的 PROXY 规则不会替已经被拒绝的请求重新选择路径。
- 规则关键字USER-AGENT
- USER-AGENT 按 HTTP 请求中的 User-Agent 信息进行匹配,用于识别请求声明的客户端特征。它能否生效取决于相关请求信息是否可见,不能直接当作对所有流量都有效的应用识别方式。请求头也可能发生变化,因此不宜把它作为唯一的长期分流依据。
连接条目与文件结构
订阅与配置
导入服务器列表不等于导入分流规则。先辨认收到的是订阅地址、单个连接条目还是配置文件,再选择对应操作。
- 订阅与配置Subscribe
- Subscribe 用于从用户已有的订阅地址导入或更新服务器条目,地址应从用户自己的服务商处获取。订阅链接可能携带访问凭据,应按敏感信息保管,分享截图时也要遮盖完整链接。订阅更新通常处理服务器列表,不能据此推断当前配置文件中的 Rule 也已更新。
- 订阅与配置Server
- Server 是包含连接端点、协议和认证参数的一条服务器记录,中文说明中也常称为节点。列表中的名称用于辨认条目,可以与真实服务器地址不同,名称本身不证明地理位置或连接质量。排查时应查看实际参数,并区分条目来自手动添加还是订阅更新,以免更新后覆盖手动修改。
- 订阅与配置.conf
.conf是 Shadowrocket 配置文件常用的扩展名,文件可包含[General]、[Rule]、[Host]与[URL Rewrite]等段。它描述全局参数、分流条件或请求处理方式,不等于服务器订阅列表。修改前保留原文件,选用修改后的配置并在 Config 姿态下逐项测试。
- 订阅与配置Host
[Host]段用于设置本地域名映射,使指定域名使用配置的解析结果。它改变的是“域名对应什么地址”,不是“请求采用哪种策略”,后续仍需按实际路由设置处理。服务器条目中的 Host 字段可能表示传输请求使用的主机名,应根据所在位置区分,不能把两者当作同一个配置入口。
- 订阅与配置URL Rewrite
- URL Rewrite 按匹配条件处理请求地址,与决定代理或直连路径的 Rule 不是同一种能力。改写能否生效取决于匹配表达式、处理方式以及应用能否读取相关请求信息。配置前应确认目标地址与预期结果,只对明确理解的请求使用,并在异常时先停用新增项进行对照。
正版入口与购买记录
账号与购买
应用购买、服务器服务和本地配置分别管理。购买与恢复相关操作应以 App Store 当前显示的信息为准,不把应用获取权益等同于配置备份。
- 账号与购买App Store 正版核验
- Shadowrocket 只在 Apple 平台发行,唯一获取入口是 App Store。核验时同时检查官方图标、开发者 Shadow Launch Technology Limited,以及产品页地址中的应用 ID
932747118,不能仅凭同名搜索结果判断。iPhone、iPad 及其他兼容设备的系统要求与购买范围,以 App Store 页面标注为准。
- 账号与购买一次性买断
- 一次性买断指客户端应用本身的一次性购买,Shadowrocket 是闭源商业应用。客户端一次性买断 ≠ 线路套餐,购买应用不会自动获得服务器、订阅或相应服务的使用额度。实际价格与币种以 App Store 购买确认页面为准,连接所需信息应由用户自行持有。
- 账号与购买已购项目
- 已购项目是 App Store 中查找购买记录并重新获取应用的入口,换机或重装时应先核对当前购买账号。恢复应用与恢复服务器信息、配置文件是不同事项,重新获取应用不代表原配置一定随之恢复。兼容性、通用购买与家人共享的适用范围,以 App Store 页面标注为准。
需要核对产品页与购买步骤时,前往App Store 正版核验说明;需要按实际操作顺序阅读时,继续查看Shadowrocket 教程。