作者: longuser

Shadowrocket 下载资讯、Android 使用教程与问题排查资料。

Shadowrocket规则集更新后怎么应用生效?

当Shadowrocket的规则集更新完成后需要使其真正生效时,正确的操作流程是首先确认规则集文件已成功下载到本地(检查时间戳和版本号),然后进入“配置”页面点击“重新加载”按钮或通过切换配置文件再切回原配置的方式强制规则引擎重新读取已更新的规则集文件。如果重载后规则依然未生效,则进入“设置-高级”中执行“清除路由缓存”操作,彻底删除旧版本的解析缓存数据后再执行一次配置重载,确保新规则从原始文件完整构建。对于通过配置订阅管理的规则集,更新和生效通常自动完成,但对于本地存储的独立规则集文件,每次修改后都必须手动执行上述流程才能将变更应用到实际的网络流量处理中。最终通过实时日志观察目标网站的匹配结果来验证生效状态,若发现异常则检查规则集文件是否存在语法错误或配置文件中的引用路径是否准确。规则集更新与生效的基本原理规则集在配置文件中的引用机制Shadowrocket中的规则集通常以外部文件形式存在,配置文件中通过“RULE-SET”指令引用这些远程或本地存储的规则列表,而非将规则内容直接写入配置文件本体。当用户执行规则集更新操作时,应用会从远程服务器下载最新的规则文件并覆盖本地缓存,但此时正在运行中的VPN连接仍在使用旧版本的规则集数据。为了将更新后的规则集内容应用到实际的网络流量处理中,用户需要触发一次配置重载操作,让应用重新读取已更新的规则文件并刷新规则引擎的内存状态。更新下载与实际生效的两个独立阶段规则集更新操作完成并提示成功后,仅仅是新文件被保存到了设备的本地存储中,并未主动告知规则引擎去重新加载这些文件。Shadowrocket将下载过程和应用过程设计为两个独立步骤,这样设计是为了避免在用户正在进行敏感网络操作时突然切换路由规则导致连接中断。用户需要理解这两个阶段的独立性,避免在更新完成后立即检查分流效果发现未生效时误以为更新失败,而应主动执行配置重载操作来触发规则引擎的刷新。资源解析缓存对规则生效的延迟影响Shadowrocket会对已解析的规则集内容进行缓存处理以提升启动速度和规则匹配效率,这些缓存数据独立于原始规则文件存储。当规则集更新后,缓存中的数据仍然反映的是旧版本规则的内容,因此即使配置文件被重新加载,引擎可能依然从缓存中读取过时的规则数据。用户在某些情况下需要执行额外的缓存清理操作来强制应用忽略旧缓存,确保新规则集中的变更能够被完整纳入引擎的匹配逻辑中。刷新配置文件的标准操作流程通过配置页面手动触发重载的步骤在Shadowrocket主界面中点击底部导航栏的“配置”标签,进入当前加载的配置文件详情页面,该页面顶部会显示配置文件的名称、规则数量和最后更新时间等元信息。在页面右上角或底部工具栏中寻找带有循环箭头图标的“重新加载”或“刷新配置”按钮,点击后应用会重新解析当前配置文件中的所有内容,包括重新读取所有引用的本地和远程规则集文件。执行该操作后,规则引擎会清空旧的内存状态并基于最新的文件内容重建规则匹配表,所有更新后的规则集正式进入生效状态。配置切换法实现规则重载的替代方案如果用户在配置页面中找不到明确的重新加载按钮,可以通过临时切换配置文件的方式触发系统级的配置重载。具体操作为在配置页面点击当前配置名称旁边的下拉箭头,从列表中选择另一个配置文件加载,然后再立即切换回原配置文件,这个过程会强制Shadowrocket两次重新读取和解析配置内容。这种切换法的实际效果与点击重载按钮完全一致,当重载按钮因版本差异不可见时可以作为可靠的操作备选方案。后台自动重载的触发条件与局限性当用户开启Shadowrocket的“自动更新配置”功能时,应用会在后台定时拉取配置文件的最新版本,并在更新完成后自动执行一次配置重载操作而无需用户手动干预。但自动重载仅针对配置订阅类型的更新,对于通过URLScheme或手动导入方式添加的规则集文件,自动重载机制并不会触发,用户仍然需要手动执行重载操作才能让新规则生效。依赖自动重载的用户应当了解其适用范围边界,避免在手动更新的规则集上浪费时间等待自动生效。清除资源解析缓存强制应用新规则规则集缓存存储位置与清除方法Shadowrocket在“设置-高级”菜单中提供了“清除DNS缓存”和“清除路由缓存”的独立选项,其中路由缓存即包含了已解析的规则集数据。用户可以在更新规则集后进入高级设置页面点击“清除路由缓存”按钮,系统会删除所有已缓存的规则解析结果,包括域名匹配表、IP地址段索引和规则优先级排序数据。清除操作执行后,下一次配置重载时引擎将完全从原始文件重新构建解析缓存,确保没有任何旧数据干扰新规则的生效过程。清除缓存对正在运行连接的影响评估清除路由缓存会中断所有正在进行的网络连接的分流状态,因为规则引擎需要暂停流量处理并重新建立完整的规则匹配环境。在清除缓存后的几秒内,用户的网络访问可能会出现短暂的中断或延迟波动,这是引擎重新加载数据时的正常行为。建议用户在清除操作前确认当前没有正在进行的重要网络操作(如文件上传、视频会议或在线交易),并在清除完成后等待约十秒让引擎完成重建再进行正常的网络访问。完全重置配置彻底更新规则的方案当规则集更新后出现持续的分流异常且缓存清除和配置重载均无法解决问题时,用户可以考虑执行“重置所有设置”操作将应用恢复至出厂状态,然后重新导入配置文件和规则集。该操作会彻底清空所有缓存、临时文件和存储的规则解析数据,从根本上排除任何残留旧数据造成干扰的可能性。重置操作会同时删除所有节点配置和策略组设置,执行前必须确保已导出完整配置备份,否则所有自定义设置将永久丢失。订阅规则集与本地规则集的不同处理方式远程规则集更新的自动生效路径通过“RULE-SET”指令引用的远程规则集文件(即托管在GitHub或其他服务器上的规则列表),在Shadowrocket中执行“更新规则集”操作时应用会从远程地址下载最新版本并覆盖本地缓存。这类规则集在更新完成后,应用通常会在后台自动触发一次轻量级的配置重载,使得部分规则的变更无需用户手动干预即可生效。轻量级重载仅刷新规则集内容而不重新加载整个配置文件,执行速度较快但对配置文件中其他部分的变更不会产生影响。本地规则集修改的手动生效需求对于存储在设备本地文件系统中的规则集文件(通过“导入”功能添加的.list或.conf文件),用户修改或替换这些文件后Shadowrocket不会主动检测文件变更状态,新内容不会自动生效。用户必须在修改本地规则集后进入配置页面执行完整的配置重载操作,让应用重新读取本地文件系统中的最新版本内容。本地规则集的更新过程完全由用户手动控制,与远程规则集的自动更新机制形成鲜明对比。配置订阅整体更新的综合生效策略当用户的配置文件本身就是通过订阅方式管理的远程配置(即整个配置文件从服务商处动态拉取),该配置中可能同时包含内联规则和外部规则集引用。执行配置订阅更新时,Shadowrocket会重新下载整个配置文件并覆盖本地版本,这一过程已经包含了配置重载的逻辑,因此更新完成后新规则会自动生效而无需额外操作。但配置订阅更新后,配置中引用的外部规则集文件如果没有同步更新,其内容仍然停留在旧版本,用户需要单独为这些规则集执行更新操作。规则集更新后验证生效的实操方法通过访问特定网站测试规则变更最直接的验证方法是访问一条在新规则集中被修改了路由策略的目标网站,观察其实际的分流结果是否与预期一致。例如如果更新后的规则集将某广告域名从REJECT改为了DIRECT,用户访问该域名时页面应能正常加载广告内容而非显示空白或拦截提示。验证时应关闭浏览器缓存并以无痕模式打开目标网站,避免浏览器本地缓存对测试结果产生干扰。同时Shadowrocket的VPN连接必须处于激活状态,否则规则集的任何变更都不会对实际的网络请求产生影响。实时日志跟踪规则匹配结果的验证打开Shadowrocket主界面的实时日志功能,在日志输出中访问目标网站,系统会逐条显示每个网络请求匹配到的规则行号和执行的策略动作。如果日志中显示某请求匹配到的规则文件名与预期一致且策略动作符合新规则集的定义,则说明规则集已成功更新并生效。日志输出还可以帮助用户定位更新后某个特定域名是否仍然命中了旧版本的缓存规则,当发现日志中显示的规则内容与预期不符时,可以据此判断是否需要执行缓存清除操作。规则集版本号比对与时间戳检查在Shadowrocket的规则集管理界面(通常位于“配置-规则集”或“设置-资源”路径中),每个规则集条目会显示当前的版本号、文件大小和最后更新时间。用户在更新后应检查这些元数据是否已更新为新版本的对应值,如果时间戳仍然停留在旧日期则说明更新操作可能未成功完成。版本号比对是验证更新是否实际写入本地存储的最客观指标,不受网络延迟或DNS缓存等动态因素干扰。规则集更新失败或无法生效的故障排查远程规则集下载失败导致更新未完成当“更新规则集”操作因网络连接问题或远程服务器不可用而失败时,Shadowrocket不会提示明确的错误信息,用户可能误以为更新已完成但实际仍在运行旧版本规则。用户可以在浏览器的无痕模式中直接访问规则集的原始下载链接,检查该地址是否能够正常返回内容,如果浏览器也无法访问则说明远程服务器或网络路径存在故障。在确认远程地址可访问后,切换网络环境或开启代理模式让Shadowrocket通过代理通道下载规则集,往往能解决因网络阻断导致的下载失败问题。配置文件语法错误导致的解析中断如果更新后的规则集文件包含语法错误(例如格式不正确的域名条目、缺失必需的逗号分隔符或使用了引擎不支持的规则类型),Shadowrocket在重载配置时会跳过该规则集的加载并在日志中记录解析警告。此时配置重载操作看似成功但实际新规则并未被纳入引擎,因为解析器在遇到错误时采取了安全降级策略,使用旧版本规则或直接跳过问题规则。用户应检查规则集文件中的新添加条目是否符合Shadowrocket的规则语法规范,必要时回退到更新前的稳定版本并逐步排查具体哪一行规则导致了解析错误。规则集引用路径错误导致的加载失败当配置文件中“RULE-SET”指令引用的规则集文件路径或名称在更新后发生了变化,而配置文件本身的指令并未同步修改,重载操作会因找不到对应的规则集文件而跳过该引用。这种情况常见于用户在更新规则集时手动修改了文件名或将存储位置移动到了其他目录,但忘记同时更新配置文件中的引用路径。解决办法是进入配置文件的编辑模式,检查所有RULE-SET指令中引用的规则集名称是否与本地存储的实际文件名完全一致,包括大小写和文件扩展名。常见问题FAQ

Shadowrocket App分流怎么配置?iOS怎么按应用设置代理?

在Shadowrocket中配置应用分流和按应用设置代理时,用户应当先进入底部“设置”页面找到“按应用代理”选项并打开总开关,随后在应用列表中根据需求将银行支付等安全敏感类应用强制直连、将浏览器社交等境外需求类应用强制代理、将视频游戏等流量消耗类应用结合节点情况灵活配置,同时务必确保当前路由模式处于“配置”或“代理”状态以使按应用策略正常生效,最后搭配策略组为不同应用指定专属节点实现精细调度,定期检查新安装应用的默认状态并及时补充策略,以构建稳定高效的全设备流量管控体系。按应用代理的底层实现逻辑与原理应用分流与域名分流的本质差异按应用设置代理是Shadowrocket利用iOS系统VPN框架提供的细粒度流量控制能力,允许用户针对单个App而非单个域名来决定网络流量的走向。与传统的域名或IP分流不同,应用级分流基于应用的BundleID进行识别,系统在应用发起网络请求时根据其唯一标识直接分配路由策略。这种分流方式的优势在于用户无需关心应用具体访问了哪些域名,只需决定该应用整体走代理还是直连,管理思路更加直观和简洁。按应用代理与规则分流可以同时启用,两者相互补充而非互斥。iOS系统对应用流量拦截的技术边界iOS系统允许VPN应用通过NetworkExtension框架拦截和重定向设备上所有应用产生的网络流量,Shadowrocket利用这一能力在系统层面获取每个网络请求的发起进程信息。但由于iOS沙箱机制的限制,部分系统应用和内核级服务无法被第三方应用准确识别,这些流量的应用归属可能显示为“未知”或系统服务标识。用户在为特定应用配置代理策略时,应当理解这种技术边界的存在,合理预期哪些应用可以被精确控制和哪些存在识别限制。按应用代理与规则分流的协同工作模式当用户同时启用了规则分流和按应用代理时,Shadowrocket的处理流程是先经过应用级别的策略判断,再进入域名规则匹配阶段。应用级策略如果设置了强制代理或强制直连,会直接覆盖后续的规则匹配结果;如果应用级策略处于未配置状态,流量则进入正常的规则引擎进行域名和IP层面的分流决策。这种优先级设计让用户可以先用应用级策略锁定关键应用的路由方向,再通过规则文件微调具体域名的分流行为,实现双层精细控制。按应用代理功能的入口与界面导航设置页面的精准定位路径在Shadowrocket主界面中,用户需要点击底部导航栏最右侧的“设置”标签进入应用的总设置页面,该页面集中了VPN权限管理、DNS配置、连接超时参数等所有全局选项。在设置列表的中部区域,找到“按应用代理”或直接标注为“代理”的选项条目,该条目右侧通常显示当前已配置的应用数量,点击后即可进入应用列表管理界面。不同版本的Shadowrocket在界面布局上可能存在细微差异,但“按应用代理”的入口始终位于设置页面的核心区域,用户可通过滑动列表快速定位。应用列表界面的功能分区解析进入按应用代理管理界面后,顶部显示全局开关和模式选择控件,中部以字母顺序排列设备上已安装的全部应用程序列表,每个应用右侧配有独立的状态指示器和切换开关。列表顶部通常提供搜索框,方便用户在应用数量较多时快速定位特定App,搜索支持应用名称的拼音和英文关键词匹配。界面底部的统计区域显示当前配置了代理策略的应用总数和未配置的应用数量,帮助用户快速评估配置覆盖的完整度。开启按应用代理功能的必要前置条件使用按应用代理功能前,用户必须确保Shadowrocket已获得系统的VPN权限并且处于连接状态,因为应用级别的流量拦截需要VPN隧道处于激活状态才能工作。如果应用列表界面中的所有开关均为灰色不可操作状态,通常意味着VPN连接未建立或当前运行模式为直连模式,此时需要先回到主界面启动VPN连接再返回设置页面操作。按应用代理的配置独立于订阅和规则文件,即使当前未加载任何配置文件,应用分流设置依然可以正常生效。为单个应用指定代理行为的操作细节开关控制与三种状态的含义解析在按应用代理列表中,每个应用右侧的开关对应着该应用网络流量的路由策略,开关处于开启状态且显示为绿色时表示该应用的所有流量强制走代理通道。开关处于关闭状态且显示为灰色时表示该应用的所有流量强制直连,不经过任何代理节点转发。第三种状态是开关处于未配置状态,此时该应用的流量不受应用级策略干预,完全交由配置文件中的规则引擎按域名和IP进行正常分流。用户通过点击开关即可在三态之间循环切换,当前状态会实时保存无需额外确认操作。批量配置与多应用同时调整的技巧当用户需要为多个同类应用设置相同的代理策略时,可以利用列表顶部的全选或批量操作功能,一次性勾选多个应用后统一设置代理或直连策略。批量操作可以大幅提升配置效率,尤其适合在初次配置时快速将银行类、支付类和地图导航类应用全部设为直连,将社交类和浏览类应用全部设为代理。在批量设置前建议先理清应用中各应用的类型归属,避免盲目全选导致关键应用路由错误而影响正常使用。应用策略生效的即时性与验证方法按应用代理的配置修改在保存后即时生效,用户无需重启VPN连接或重新加载配置文件,切换开关后该应用的后续网络请求会立即按照新策略路由。验证配置是否生效的最直接方法是打开目标应用访问一个可检测IP地址的页面,如果页面显示的IP地址与代理节点出口IP一致则说明代理策略生效,如果显示为本地运营商IP则说明直连策略生效。对于无法显示IP信息的应用,可以结合Shadowrocket的实时日志功能观察请求的匹配结果。全局代理模式与按应用代理的优先级关系路由模式对应用分流设置的影响机制当Shadowrocket的路由模式设置为“代理”时,应用级配置仍然生效且优先级高于全局代理,这意味着用户可以为特定应用单独设置直连来覆盖全局代理的强制转发行为。在全局代理模式下,未在按应用代理列表中配置的应用全部自动走代理通道,而已配置为直连的应用则绕过代理直接发出请求。这种设计让用户在享受全局代理便利性的同时,能够精准豁免特定的应用(如银行App)使其始终直连而不受全局代理影响。配置模式下应用分流与规则共存的工作逻辑在“配置”模式下,按应用代理与规则分流共同决定流量的最终去向,应用级配置具有最高优先级。如果某应用在按应用列表中被设置为代理,则该应用的所有流量直接走代理通道,不会进入规则引擎进行域名级别的匹配检查。如果该应用在列表中未配置,则其流量会正常进入配置文件进行规则匹配,按照域名和IP的规则顺序逐步分流。用户可以根据实际需求灵活组合两种分流方式,为不同应用建立最适合的流量控制策略。直连模式下应用分流设置是否仍然生效当路由模式切换为“直连”时,Shadowrocket关闭了所有代理转发功能,此时按应用代理列表中的所有配置虽然仍可查看和编辑但完全不生效,所有应用的流量全部直接通过本地网络发出。这种模式下任何应用都无法通过代理访问境外服务,即使某个应用在按应用列表中被设置为代理状态也不会触发实际的代理转发。用户需要将路由模式切换回“配置”或“代理”模式,按应用代理功能才能重新激活并正常执行预定的分流策略。从零开始搭建应用分流方案理清应用分类与策略需求在开始配置之前,用户应当先对设备上的所有应用进行系统性分类,将应用按照网络需求划分为代理组和直连组两大类别。代理组通常包括浏览器、社交软件、邮箱客户端和开发工具等需要访问境外服务的应用,这些应用需要统一走代理通道以保证功能完整。直连组则涵盖银行支付、地图导航、视频平台和政务民生等仅在中国大陆提供服务且对低延迟和高稳定性敏感的应用,这些应用强制直连能够确保最佳的使用体验和最低的故障率。执行应用级分流配置的标准操作在按应用代理列表中,将代理组中的所有应用逐个点击开关将其设置为开启状态(绿色),确保这些应用的流量全部强制通过代理节点转发。将直连组中的所有应用逐个点击开关将其设置为关闭状态(灰色),确保这些应用的流量完全绕过代理通道直接使用本地网络。对于剩余的应用,如果其网络需求不明确或用户不关心其路由走向,可以保持未配置状态,让这些应用的流量由配置文件的规则引擎自动处理。结合策略组实现应用与节点的联动控制高级用户可以在策略组中为按应用代理配置专用的节点选择策略,例如创建一个名为“App专用”的策略组并添加多个候选节点,然后在按应用代理列表中不直接设置代理状态,而是将该应用的流量通过规则指向该策略组。这种方式让不同应用可以通过按应用列表关联到不同的策略组,实现“浏览器走美国节点、游戏走日本节点”的差异化节点分配。此方案适合对网络质量有精细要求的高级用户,普通用户直接使用默认PROXY策略即可满足绝大多数需求。针对不同应用类型的策略调优建议银行金融类应用必须强制直连所有银行App、支付应用和证券交易软件都应当通过按应用代理列表强制设置为直连状态,因为这些应用对IP地址的稳定性有极高要求且数据安全级别最高。如果这些应用的流量经过代理节点,频繁变化的出口IP可能触发银行的风控系统导致账户被临时锁定或交易被拒绝,同时代理节点的不可控性也增加了敏感金融数据在传输过程中被窃取的风险。金融类应用强制直连是配置应用分流时的首要安全原则,用户应当优先处理这些应用的策略设置。游戏与实时通讯应用的速度优化策略在线游戏和实时语音视频通话应用对网络延迟和丢包率极为敏感,推荐通过按应用代理列表将这些应用强制直连以获得最低的网络延迟和最佳的通话质量。如果用户身处需要代理才能连接游戏服务器的网络环境,则应在代理节点中挑选延迟最低、稳定性最高的线路,并将该应用设置为代理状态。对于跨服游戏用户,可以在策略组中为游戏应用单独配置特定的游戏加速节点,避免与网页浏览共用节点导致游戏延迟波动。视频与下载类应用的流量消耗管理视频流媒体和大型文件下载应用会产生大量的流量消耗,在按应用代理配置时需要结合用户的流量套餐和使用场景做出合理决策。如果用户的代理节点流量配额有限且视频内容可以通过国内CDN访问,建议将这些应用强制直连以节省代理流量。对于需要访问境外独家视频内容的场景,可以设置为代理状态但需密切监控流量使用情况,避免超额消耗导致订阅提前中断。用户还可以利用策略组为视频应用配置专门的大流量节点,与日常网页浏览使用的节点进行流量分流。常见问题FAQ

策略组(PROXY、DIRECT、REJECT、FINAL)分别是什么意思?

在Shadowrocket配置文件中,PROXY策略将匹配的流量转发至当前选中的代理节点,是境外网站访问和回国代理需求的核心执行策略;DIRECT策略将流量通过本地网络直接发出,保障国内网站的高速访问和局域网设备的正常通讯;REJECT策略在应用层丢弃匹配的请求,用于广告拦截、追踪屏蔽和恶意域名防护;FINAL策略作为规则列表末尾的兜底裁决,为所有未被前置规则匹配的流量提供统一的出口决策。四种策略在配置文件中以“REJECT前置拦截、PROXY精确代理、DIRECT批量直连、FINAL兜底收尾”的典型顺序组合使用,利用规则引擎的优先级匹配特性实现从最特殊需求到最通用需求的分层分流。用户应当根据自身的网络环境和使用场景合理配置四种策略的分布,为国内流量配置DIRECT规则、为境外流量配置PROXY规则、为广告追踪配置REJECT规则、并根据黑名单或白名单策略将FINAL设置为PROXY或DIRECT,最终构建一套高效稳定且易于维护的分流规则体系。策略组在Shadowrocket中的核心定位策略组作为分流决策的最终执行者在Shadowrocket的配置体系中,策略组是规则匹配流程的终点,每条规则在匹配到目标流量后,都会指向一个具体的策略动作,这些动作决定了该网络请求最终被如何处理。PROXY、DIRECT、REJECT和FINAL是Shadowrocket中最核心的四种策略类型,它们分别对应代理转发、本地直连、请求拒绝和兜底裁决四种截然不同的处理逻辑。用户理解这四种策略的含义和适用场景,是编写高效配置文件和排查分流问题的基本前提。策略与规则的协作关系规则负责识别流量特征(如域名、IP段、地理位置),而策略负责执行具体的动作指令,两者在配置文件中以“规则类型,条件,策略”的格式组合出现。用户编写的每一条规则都包含了匹配条件和执行策略两个要素,例如“DOMAIN-SUFFIX,google.com,PROXY”中的PROXY就是策略部分,指示匹配到google.com的请求走代理通道。策略组在配置文件末尾通常以FINAL兜底规则作为所有未匹配流量的最终策略,确保任何流量都不会因为没有策略可执行而被丢弃。策略的全局性与配置文件绑定PROXY、DIRECT、REJECT和FINAL是全局性的策略定义,它们在当前加载的配置文件中生效,当用户切换配置文件时,这些策略的行为定义可能随之改变。PROXY策略具体使用哪个节点或策略组,取决于用户在服务器列表中选择的当前活动节点,以及策略组中的节点调度逻辑。策略的行为与配置文件的规则集、策略组定义以及当前的节点选择状态紧密耦合,理解这种耦合关系有助于用户准确预期切换配置或节点后的实际网络行为。PROXY策略的完整定义与使用代理转发的核心执行逻辑PROXY策略指示Shadowrocket将匹配该规则的网络请求全部转发至当前选中的代理节点,由该节点完成与目标服务器的通信并将响应返回给客户端。在PROXY策略生效时,用户的真实IP地址被代理节点的出口IP所替代,目标网站看到的请求来源是代理服务器的位置而非用户的物理位置。PROXY策略是所有境外网站访问需求的基础,配置文件中绝大多数代理规则最终都会指向该策略,确保跨境流量通过代理通道完成传输。PROXY策略与策略组的嵌套关系在高级配置中,PROXY策略不一定直接指向单个节点,而是可以指向一个包含多个候选节点的策略组(如“自动选择”或“故障转移”组)。当规则匹配后执行PROXY策略时,Shadowrocket会从该策略组中根据预设的调度逻辑(如延迟测速、顺序选择或手动选择)挑选一个具体的节点来转发流量。这种嵌套设计使用户可以在策略层面实现节点的智能调度和故障转移,而无需为每条规则单独指定节点。用户可以在策略组编辑页面中为PROXY策略指定具体的策略组名称,实现规则与节点调度逻辑的解耦。不同场景下PROXY策略的选择建议对于绝大多数日常使用场景,所有需要访问境外网站的规则都应当指向PROXY策略,包括但不限于Google搜索、YouTube视频、GitHub代码仓库和Twitter社交等服务的域名规则。当用户处于需要访问特定国内服务的漫游场景时,反向代理需求也应通过PROXY策略实现,此时PROXY指向的是回国代理节点而非普通境外节点。用户应当为不同的使用场景创建不同的配置文件,在每个配置文件中将需要代理的目标规则统一指向PROXY策略,通过切换配置文件而非修改每条规则来改变代理行为。DIRECT策略的完整定义与使用本地直连的执行机制DIRECT策略指示Shadowrocket直接通过设备的本地网络接口发送请求,不经过任何代理节点的转发,行为上等同于未开启代理时设备正常的网络访问方式。在DIRECT策略下,目标网站看到的请求来源是用户的真实IP地址(运营商分配的IP或Wi-Fi网络出口IP),请求的往返延迟完全取决于用户本地网络到目标服务器之间的物理距离和路由质量。DIRECT策略是确保国内网站快速访问和局域网设备正常通讯的核心机制,配置文件中大量国内域名规则和私有IP段规则都会指向该策略。DIRECT策略对国内流量的优化价值在中国大陆网络环境下,将国内主流网站的流量通过DIRECT策略直连,可以充分利用本地运营商的带宽和低延迟优势,避免因代理节点绕路而导致的访问速度下降。百度、淘宝、京东、微信等日常高频访问的国内服务,如果错误地走PROXY策略,不仅会消耗代理节点的流量配额,还可能因为节点出口IP频繁变化而触发风控机制。通过GEOIP,CN规则批量将中国大陆IP段的流量指向DIRECT策略,是实现国内流量直连的最常用方法,配合精确的DOMAIN-SUFFIX直连规则,可以做到国内流量零代理损耗。DIRECT策略在局域网访问中的必要性Shadowrocket默认将私有IP地址段(192.168.x.x、10.x.x.x、172.16.x.x)的请求自动指向DIRECT策略,确保用户访问路由器管理页面、NAS存储设备、网络打印机和局域网内其他设备时流量始终停留在本地网络。如果这些局域网请求被错误地指向PROXY策略,不仅无法访问内网设备(因为代理服务器无法路由到用户的内网地址),还可能导致敏感的内网数据被发送至外部代理节点。用户不应修改或覆盖这些默认的局域网直连规则,除非有特殊的内网穿透需求。REJECT策略的完整定义与使用请求拒绝的精确拦截逻辑REJECT策略指示Shadowrocket在应用层直接丢弃匹配的网络请求,不会将请求转发至代理节点也不会通过本地网络发出,目标服务器永远不会收到该请求的任何数据包。从用户设备的角度看,被REJECT的请求会立即返回连接失败或无法访问的错误,但不会产生任何实际的网络流量,因此该策略在节省带宽和提升加载速度方面有着立竿见影的效果。REJECT策略是配置文件中所有拦截规则的标准动作,广泛应用于广告域名屏蔽和恶意网站防护。REJECT策略在广告拦截中的核心应用大量广告联盟域名和用户行为追踪服务器被指向REJECT策略,用户在浏览网页时这些域名的资源请求被直接丢弃,广告内容无法加载显示,页面整体加载时间显著缩短。典型的广告拦截规则如“DOMAIN-SUFFIX,doubleclick.net,REJECT”和“DOMAIN-KEYWORD,googleadservices,REJECT”,这些规则覆盖了互联网上最广泛的广告投放和用户追踪网络。REJECT策略还可以用于拦截统计服务域名(如GoogleAnalytics),防止用户的浏览行为数据被第三方收集和分析。REJECT策略对功能兼容性的潜在影响虽然REJECT策略在拦截广告和追踪方面效果显著,但部分网站的核心功能可能依赖于被拦截的第三方域名(如使用GooglereCAPTCHA验证的登录页面)。当这些依赖域名被REJECT拦截时,用户可能无法完成登录、无法提交表单或无法加载评论功能,表现为页面功能残缺或不响应。用户在配置REJECT规则时需要权衡广告拦截收益和功能兼容性的损失,对于影响核心功能的域名,可以调整为DIRECT策略允许其正常加载,或使用更精细的白名单规则使其绕开REJECT拦截。FINAL策略的完整定义与使用兜底裁决的终极执行逻辑FINAL策略是配置文件中优先级最低的策略,它在所有前置规则均未匹配当前请求时执行,是规则引擎处理流程的最后一道关卡。FINAL策略的核心价值在于为所有未被任何规则明确匹配的流量提供一个统一的出口决策,避免因规则列表不完整而导致部分请求无策略可用从而连接失败。每个配置文件有且仅有一条FINAL策略,通常位于规则列表的最末尾,其后的任何规则都不会被引擎检查。FINAL策略与规则覆盖度的关系FINAL策略的选择直接决定了配置文件的“默认行为”是代理还是直连。当FINAL设置为PROXY时,所有未被规则匹配的请求默认走代理通道,这对应了黑名单策略;当FINAL设置为DIRECT时,未匹配请求默认直连本地网络,这对应了白名单策略。用户通过调整FINAL策略的取值,可以在不修改大量规则条目的情况下整体改变配置文件的分流倾向,例如将FINAL从PROXY改为DIRECT即可瞬间将所有未匹配流量从代理切换为直连。FINAL策略在不同网络环境下的配置建议在中国大陆网络环境下,推荐将FINAL策略设置为PROXY,确保所有未匹配规则的境外网站默认走代理,国内网站通过前置规则精确直连。在境外漫游需要回国代理的场景中,FINAL策略应设置为DIRECT,因为用户的主要需求是直连国际网络而非回国代理,仅将特定回国服务通过前置PROXY规则处理。为不同网络环境创建独立配置文件并分别设置FINAL策略,是实现网络行为自动适配的最简洁方法。四种策略的实际配合与配置示例典型黑名单配置中的策略组合在黑名单策略的配置文件中,四种策略按照“精确规则前置、批量规则居中、兜底规则后置”的原则组合使用。文件开头放置REJECT规则拦截广告和恶意域名,中间放置DOMAIN-SUFFIX规则将国内网站指向DIRECT策略,再以GEOIP,CN规则将中国大陆IP段批量指向DIRECT,最后以FINAL,PROXY作为兜底策略。这种组合确保了绝大多数境外流量默认走代理,国内流量和广告流量分别通过DIRECT和REJECT策略精细控制,是国内网络环境下最成熟的配置模板。典型白名单配置中的策略组合白名单配置中,FINAL策略通常设置为DIRECT,所有未被白名单规则匹配的流量默认直连本地网络。文件开头同样保留REJECT规则用于广告拦截,中间放置需要代理的境外服务规则指向PROXY策略,这些规则通常是DOMAIN-SUFFIX精确匹配。白名单配置的优势在于代理范围精确可控,仅白名单中的少数服务走代理,其余所有流量直连,适合对代理流量消耗敏感或仅需访问少数境外服务的用户。混合策略中多策略协同的最佳实践在真实的配置文件编写中,四种策略并非孤立使用,而是通过精心编排的规则顺序形成多层次的分流体系。推荐的分层顺序是:REJECT广告拦截层优先执行,PROXY强制代理层次之,DIRECT精确直连层再次,GEOIP批量直连层更次,最后以FINAL兜底策略收尾。这种分层结构利用规则匹配的优先级特性,实现了从最特殊需求到最通用需求的渐进式分流,确保每一种流量类型都能在最优的匹配位置获得正确的策略动作。常见问题FAQ

Shadowrocket GEOIP,CN规则应该放在配置文件的前面还是后面?

在Shadowrocket配置文件中,GEOIP,CN规则的最佳放置位置是所有精确匹配规则(包括DOMAIN-SUFFIX直连规则和DOMAIN-SUFFIX代理规则)之后,以及FINAL兜底规则之前。这种中后段放置确保了用户为特定域名编写的精确规则享有绝对的优先匹配权,不被GEOIP批量规则过早覆盖,同时GEOIP又能在精确规则之后将剩余的国内IP段流量批量直连,有效减轻FINAL规则的处理负担。用户应当遵循“从具体到通用”的规则排序原则,将高频命中的精确规则置于文件前端,将GEOIP等批量规则置于中段,将FINAL兜底规则置于末尾,并在每次修改配置文件后通过实时日志验证关键域名的分流结果是否符合预期。对于网络环境频繁变化的高级用户,建议为国内和漫游场景分别创建配置文件并独立配置GEOIP的位置,从而在不同网络环境中始终保持最优的分流效果。规则匹配顺序的核心逻辑与优先级原则Shadowrocket规则引擎的逐条匹配机制Shadowrocket在处理网络请求时,规则引擎会从配置文件的第一条规则开始,按照从上到下的顺序逐条比对每个请求的目标域名或IP地址。一旦某条规则成功匹配当前请求,引擎会立即执行该规则定义的动作并停止后续所有规则的检查,这意味着排在前面的规则拥有绝对的优先级优势。理解这种“首次命中即停止”的匹配逻辑,是回答GEOIP,CN规则位置问题的理论基础。用户编写配置文件时,必须考虑每条规则在列表中的先后顺序对最终分流结果的实质性影响。精确匹配与批量匹配的优先级关系在规则匹配的优先级体系中,精确匹配规则(如DOMAIN-SUFFIX针对特定域名)的优先级应当高于批量匹配规则(如GEOIP针对整个国家的IP地址段)。将精确规则置于批量规则之前,可以确保特定域名的流量不受后续批量规则的影响而被错误分流。如果GEOIP,CN规则放置在配置文件的前端,那么所有目标IP在中国大陆的请求都会在该位置被直连,后续的DOMAIN-SUFFIX精确规则将永远没有机会被执行,导致用户无法为特定域名指定不同的路由策略。前置规则对后续规则的覆盖效应当GEOIP,CN规则位于配置文件靠前位置时,会产生广泛的覆盖效应,即大量国内IP地址段的流量在规则引擎早期阶段就被直接匹配并直连。这种前置放置虽然能够提前结束这些国内流量的规则匹配过程,但代价是牺牲了后续规则对这些特定域名的控制能力。用户如果想要为某个国内可访问的境外服务(如使用中国CDN的全球网站)单独指定代理规则,会因为GEOIP,CN的提前匹配而无法实现,除非将该代理规则放置在GEOIP,CN之前。GEOIP,CN在不同策略下的最佳放置方案黑名单策略下的推荐位置在黑名单配置策略中,规则列表的整体结构通常是“例外规则前置、批量规则居中、兜底规则后置”,GEOIP,CN作为批量直连规则应当放置在具体直连规则之后、FINAL兜底规则之前。更精确的放置顺序是:文件开头放置安全拦截规则(REJECT)和强制代理规则(PROXY),中间放置国内主流网站的DOMAIN-SUFFIX直连规则,随后是GEOIP,CN批量直连规则,最后以FINAL,PROXY作为所有未匹配流量的最终出口。这种排序确保了特定域名的直连规则(如taobao.com)优先于GEOIP批量规则执行,同时GEOIP又先于FINAL兜底规则生效,将国内IP段的流量从默认代理通道中提前分流出去。白名单策略下的特殊放置考量在白名单策略中,配置文件的核心逻辑是“仅代理明确列出的域名,其余全部直连”,此时GEOIP,CN规则的地位和放置位置需要重新评估。由于白名单策略的FINAL兜底规则通常设置为FINAL,DIRECT,国内流量即使不经过GEOIP,CN规则也会被最终直连,因此GEOIP,CN在白名单配置中并非必需规则。如果用户出于性能优化的目的仍然希望保留GEOIP,CN,建议将其放置在白名单代理规则之后、FINAL,DIRECT之前,作为冗余的直连保障,避免因白名单规则遗漏而导致部分国内IP段流量被错误地走代理通道。混合策略中的安全放置方案对于同时使用黑名单和白名单特征的混合策略配置文件,推荐将GEOIP,CN放置在规则列表的中间偏后位置,位于所有DOMAIN-SUFFIX精确规则之后。这种放置方式使精确规则能够优先处理特定域名的分流需求,没有被精确规则匹配到的请求再进入GEOIP批量直连阶段,最后剩余的境外流量按照FINAL,PROXY兜底规则走代理。混合策略下GEOIP,CN的中间位置是其发挥批量直连功能的最佳位置,既不会干扰精确规则的独立控制,又能有效减轻后续FINAL规则的处理负担。GEOIP,CN前置放置的典型问题与后果特定域名强制代理失败的常见困境当GEOIP,CN位于配置文件前端时,用户为某境外服务添加的“DOMAIN-SUFFIX,xxx.com,PROXY”规则将完全失效,因为该域名的服务器IP若恰好位于中国大陆地址段内,请求会在到达代理规则之前就被GEOIP,CN匹配并直连。这种情况在用户访问使用了国内CDN加速的全球性网站时尤为常见,例如某些国际品牌的官方网站在中国部署了本地服务器,用户希望强制代理访问全球站点却因GEOIP前置而始终被直连至国内镜像。要解决该问题,必须将强制代理规则移动到GEOIP,CN之前,或者直接删除GEOIP,CN规则改用更精确的分流手段。国内网站异常走代理的连锁反应GEOIP,CN前置放置虽然保障了国内IP段流量的直连,但如果该规则因IP数据库更新滞后而未能覆盖新分配的国内IP地址段,这些流量就会绕过GEOIP直接进入后续的FINAL,PROXY规则并走代理通道。这意味着用户可能突然发现访问某些国内网站时速度变慢、IP地址显示为境外,甚至触发网站的安全风控机制要求验证码登录。该问题的根源在于GEOIP规则的覆盖面并非百分之百精确,完全依赖其进行国内流量分流本身存在不可忽视的漏网风险。规则顺序混乱导致的配置维护困难将GEOIP,CN放置在配置文件前端的做法会破坏规则列表的逻辑层次,使得后续新增规则时用户需要不断考虑是否会被GEOIP提前拦截,增加了配置维护的心理负担。一个逻辑清晰的配置文件应当遵循“从具体到通用”的规则排序原则,即精确规则在前、批量规则在中间、兜底规则在最后,任何违反这一原则的放置都会导致配置的可读性和可维护性下降。当配置文件中的规则数量增长到数百条时,GEOIP前置造成的影响将更加难以预测和调试。基于性能优化的放置位置考量规则匹配次数与处理效率的权衡将GEOIP,CN放置在配置文件前端可以提前匹配并终止大量国内流量的规则遍历,减少引擎需要检查的规则数量,从理论上看能够优化整体的匹配效率。但实际性能提升的幅度取决于配置文件中位于GEOIP之前的规则数量,如果这些前置规则很少,GEOIP前置带来的边际优化效应几乎可以忽略。相反,如果用户需要在前置位置放置大量的精确规则,而这些规则同样需要逐条匹配,那么GEOIP位置调整对性能的整体影响实际上非常有限。高频命中规则的优先级优化策略性能优化的更合理思路是将最高频命中的规则放置在配置文件的最前面,无论该规则是DOMAIN-SUFFIX精确规则还是GEOIP批量规则。对于每天使用淘宝、京东、百度等国内网站的用户,将这些网站的直连规则置于GEOIP之前不仅符合逻辑优先级,也能在性能上实现最佳的匹配效率。GEOIP规则本身是一个覆盖面极广的批量规则,将其放置在所有精确规则之后并不会带来显著的性能损失,因为精确规则的命中率往往高于GEOIP的兜底匹配。配置规模对位置策略的影响当配置文件中的规则总数少于五十条时,GEOIP的位置对整体匹配速度的影响几乎无法被用户感知,此时应以逻辑清晰和功能正确为首要考量,而非过度关注性能微调。当规则数量超过二百条且设备为较老款iPhone时,将GEOIP,CN适当后移可以减少因规则遍历而产生的CPU占用和电池消耗,但这种优化效果仅在批量规则列表非常庞大时才显现。对于绝大多数用户而言,保持规则列表的逻辑清晰远比追求极致的性能优化更为重要。GEOIP,CN与前置规则冲突的识别与修正通过日志定位规则冲突的具体位置当用户怀疑GEOIP,CN前置导致特定域名的分流策略失效时,可以打开Shadowrocket的实时日志并访问目标网站,日志中会完整显示每个请求匹配到的规则行号和执行的最终动作。如果日志显示某国内网站命中“GEOIP,CN,DIRECT”而非用户为其单独编写的代理规则,则明确说明GEOIP的位置过于靠前,需要将该网站的代理规则移动到GEOIP之前。日志分析是定位规则冲突最可靠的方法,用户应当熟练掌握日志信息的读取和解读方法。精确规则前置的强制覆盖策略在GEOIP,CN已经放置于配置文件较前位置的情况下,如果用户需要为特定域名指定与GEOIP不同的路由动作,唯一的修正方法是将该域名的精确规则添加到GEOIP规则之前。通过将DOMAIN-SUFFIX或DOMAIN-KEYWORD规则上移至文件前端,利用规则匹配的优先级机制强制覆盖GEOIP的批量匹配结果。这种前置精确规则的方法不仅适用于修正GEOIP的错误匹配,也适用于覆盖GEOIP因数据库问题产生的任何误判。配置文件重构与规则排序优化当用户发现配置文件中GEOIP,CN的位置不断产生规则冲突且频繁需要添加覆盖规则时,意味着整个配置文件的结构需要进行一次彻底的重构和规则排序优化。重构的原则是按照“REJECT拦截→PROXY强制代理→DIRECT精确直连→GEOIP批量直连→FINAL兜底”的标准顺序重新排列所有规则,并在重构完成后通过日志验证关键服务的分流结果是否符合预期。定期对配置文件进行结构审查和排序优化,可以避免因规则数量增长而导致的潜在功能衰退。不同使用场景下的个性化放置建议普通国内用户日常使用的最佳放置对于居住在中国大陆且主要访问国内网站和少量境外服务的普通用户,建议将GEOIP,CN放置在配置文件的中后段,即所有DOMAIN-SUFFIX精确直连规则之后、FINAL,PROXY兜底规则之前。这种放置能够确保用户为特定国内网站设置的直连规则优先于GEOIP生效,同时GEOIP又能够将未被精确规则覆盖的国内IP段流量批量直连,避免它们进入FINAL代理通道。该方案在功能正确性和性能表现之间取得了良好的平衡,适合绝大多数Shadowrocket用户。境外漫游或频繁切换网络环境用户的方案在境外漫游使用Shadowrocket回国代理的场景中,GEOIP,CN规则的角色从“国内流量直连”转变为“国内流量代理”,此时GEOIP,CN,DIRECT应改为GEOIP,CN,PROXY或完全移除该规则,改用精确的域名规则控制流量走向。对于网络环境频繁切换的高级用户,建议为不同场景创建独立的配置文件并分别配置GEOIP的位置,在切换网络时直接加载对应的配置文件而非手动调整规则顺序。隐私保护优先用户的严格策略对于将隐私保护置于首位的用户,建议谨慎使用GEOIP,CN规则甚至完全弃用该规则,转而通过维护一个精确的直连域名白名单来控制哪些流量走本地网络。GEOIP,CN的批量直连特性会泄露用户访问国内网站时的真实IP地址和DNS查询记录,对于不希望任何第三方网络节点掌握这些信息的极端隐私保护主义者而言,这种批量直连本身就是一种隐私妥协。在这些用户的配置文件中,任何GEOIP规则都不应该出现,所有路由决策完全由用户精确编写的域名规则控制。常见问题FAQ

Shadowrocket黑名单规则下哪些域名走代理?哪些直连?

在黑名单规则体系下,走代理的域名包括所有未匹配任何前置规则的默认流量以及被强制PROXY规则明确指定的域名,这两类流量按照FINAL,PROXY兜底规则全部转发至代理节点。走直连的域名则由国内网站DOMAIN-SUFFIX规则和GEOIP,CN批量规则匹配后执行DIRECT动作,覆盖百度、腾讯、阿里巴巴等主流国内网站及所有中国大陆IP地址段,同时局域网和私有地址自动直连无需额外配置。被拒绝访问的域名在广告拦截、追踪屏蔽和恶意软件防护等REJECT规则的控制下被完全阻断,不产生任何实际网络流量。用户在编写黑名单配置时应当注意规则的排列顺序,将恶意拦截规则、强制代理规则、国内直连规则和GEOIP规则分层排列,将FINAL,PROXY置于最末尾作为所有未匹配流量的统一出口,并利用实时日志功能快速定位和修正规则误判,确保每一种流量类型都能按照预期的网络路径正确转发。黑名单规则的流量调度逻辑架构黑名单模式的核心裁决机制在黑名单规则体系下,Shadowrocket的流量调度遵循“默认全部走代理,例外指定直连或拒绝”的基本原则。当配置文件加载后,规则引擎会按照从上到下的顺序逐条比对每个网络请求的目标域名或IP地址,如果匹配到某条规则,则执行该规则定义的动作(PROXY代理、DIRECT直连或REJECT拒绝)。当请求未能匹配配置文件中的任何一条规则时,系统不会将该流量直连本地网络,而是按照最终的FINAL兜底规则将其全部转发至代理通道,这是黑名单策略与白名单策略最本质的行为差异。规则匹配优先级与生效顺序黑名单配置中每条规则的排列顺序直接决定了该规则的优先级,排在前面的规则拥有更高的匹配权重,一旦某条规则命中,后续所有规则均不再被检查。这种设计意味着用户可以通过调整规则的排列顺序来实现精细化的流量控制,例如将高频命中的国内网站直连规则置于前列,可以显著降低规则引擎的遍历开销。配置文件末尾的FINAL,PROXY语句定义了所有未被任何前置规则匹配的流量的最终去向,确保任何遗漏的请求都能被妥善处理而不至于造成连接中断。兜底规则对未匹配流量的决定性影响在黑名单策略中,FINAL兜底规则的设置直接决定了整个配置文件的代理覆盖范围,当FINAL设置为PROXY时所有未明确匹配的流量全部走代理通道。这种“黑名单例外+全局代理”的组合使用户只需要在配置中列出少数需要直连或拒绝的例外目标,而无需面对一个庞大的代理域名列表,维护成本显著降低。用户对流量去向的控制体现在例外规则的精确性和完整性上,凡是未列出的域名均被默认视为需要代理的境外目标。明确走代理通道的域名类型未匹配任何规则的所有域名在黑名单配置下,任何未出现在规则列表中的域名均会按照FINAL,PROXY兜底规则被全部转发至代理节点,这意味着用户访问绝大多数境外网站时流量会自动进入代理通道。用户在日常浏览中打开的news.com、wikipedia.org、github.com等全球性网站,如果配置文件中没有专门为它们编写直连或拒绝规则,都会自动走代理。这种默认代理行为减轻了用户维护代理域名的负担,因为无需为每一个需要访问的境外网站添加代理规则。强制代理规则明确指定的域名配置文件中以“DOMAIN-SUFFIX,xxx,PROXY”或“DOMAIN-KEYWORD,xxx,PROXY”形式书写的规则,会强制将匹配的域名流量通过代理节点转发,即使该域名在理论上可以直连访问也会被强制代理。这类规则通常用于确保关键服务无论在任何网络环境下都始终经过代理通道,例如用户在境外漫游时希望访问国内银行网站始终走回国代理,通过强制代理规则即可实现这一需求。强制代理规则优先级高于后续的任何直连或拒绝规则,因此如果某条强制代理规则与后续直连规则产生了冲突,排在前面的强制代理规则会优先生效。GEOIP非中国大陆IP段的流量配置文件中常见的“GEOIP,CN,DIRECT”规则仅将源IP或目标IP位于中国大陆的流量直连,而非中国大陆的IP地址段(如US、JP、EU等)如果未在其他规则中明确处理,会按照FINAL,PROXY规则进入代理通道。这种基于地理位置的批量分流策略大幅降低了手动维护域名列表的工作量,因为大量国外网站无需逐一添加规则即可自动走代理。GEOIP类规则通常放置在直连规则之后、FINAL兜底规则之前,确保地理位置分流逻辑在例外规则之后生效。明确走直连通道的域名类型国内主流网站与常用服务的直连规则黑名单配置中需要用户手动添加的第一类直连规则是中国大陆的主流网站域名,包括但不限于百度、腾讯、阿里巴巴、新浪、网易等大型互联网公司的全部子域名。这些网站如果被误送入代理通道,不仅会增加代理节点的负载压力,还可能导致因代理出口IP频繁变化而触发的风控验证和访问异常。典型的直连规则写法如“DOMAIN-SUFFIX,taobao.com,DIRECT”和“DOMAIN-SUFFIX,qq.com,DIRECT”,覆盖用户日常使用频率最高的国内服务。中国大陆IP地址段的批量直连配置文件中“GEOIP,CN,DIRECT”规则是黑名单策略下实现国内流量直连的核心利器,它自动识别目标IP地址的地理归属,将所有目标IP在中国大陆的请求直接路由至本地网络。该规则覆盖了数百万个国内IP地址,无需用户逐一添加每个网站或服务的域名,极大地简化了分流配置的维护复杂度。GEOIP规则的精确性依赖于IP地理数据库的更新频率,建议用户定期更新规则集以确保新分配的国内IP段能够被正确识别。局域网与私有地址的默认直连Shadowrocket默认将本地回环地址(127.0.0.1)、私有网络地址段(192.168.0.0/16、10.0.0.0/8、172.16.0.0/12)以及链路本地地址(169.254.0.0/16)全部自动直连,无需用户在配置文件中额外添加规则。这些直连规则确保了用户访问路由器管理页面、NAS存储设备、打印机共享以及局域网内其他设备的请求始终停留在本地网络而不会错误地进入代理通道。多设备间通过局域网进行的高速数据传输也因直连而享受本地网络的全部带宽优势。明确被拒绝访问的域名类型广告追踪与恶意软件域名黑名单规则中大量存在以REJECT为动作的规则条目,专门用于拦截广告联盟域名、用户行为追踪服务器和已知恶意软件分发站点。这类域名如果未被拦截,在用户访问网页时会下载大量无关资源消耗带宽,同时向第三方追踪服务器发送用户的浏览行为数据。典型的广告拦截规则包括“DOMAIN-SUFFIX,doubleclick.net,REJECT”和“DOMAIN-KEYWORD,googleadservices,REJECT”,这些规则将广告请求在应用层直接丢弃,不会产生任何网络流量。统计服务与隐私追踪域名各类网站嵌入的第三方统计服务(如GoogleAnalytics、百度统计)和社交媒体追踪像素(如FacebookPixel)同样通过REJECT规则在黑名单配置中被屏蔽,防止用户的访问行为被跨站追踪和画像分析。这些规则的存在有效降低了用户个人隐私泄露的风险,同时加快了页面的整体加载速度,因为原本需要等待统计脚本加载完成的时间被节省下来。值得注意的是,REJECT规则可能导致部分网站的核心功能(如登录验证)因依赖特定第三方服务而出现异常,用户需要根据实际情况选择性启用。诱骗点击与钓鱼欺诈域名安全类黑名单规则还涵盖了已知的钓鱼网站域名和欺诈性内容分发域名,这些域名被访问时可能会诱导用户输入密码或下载恶意软件,REJECT规则在连接建立前就将请求拦截,从源头杜绝了用户误入危险页面的可能性。此类规则通常来自社区维护的安全域名黑名单集合,用户通过导入这些集合即可获得覆盖数万个安全威胁域名的实时防护。与广告拦截规则不同,钓鱼网站拦截规则建议用户无条件启用,因为其安全收益远超任何潜在的功能兼容性问题。黑名单配置的实际规则编写示例分层的规则排列顺序建议黑名单配置文件应当按照“特殊例外前置、批量规则居中、兜底规则后置”的原则排列规则顺序,确保最关键的流量控制逻辑享有最高的匹配优先级。文件开头应放置安全类REJECT规则用于拦截恶意域名,其次是强制PROXY规则保证关键服务的代理通道,再次是DIRECT直连规则覆盖国内主流网站和GEOIP,CN批量直连,最后以FINAL,PROXY作为所有未匹配流量的最终出口。这种分层结构在保证功能完整性的同时,也通过优化规则匹配顺序提升了整体的处理效率。典型黑名单配置的完整骨架以下是一份标准黑名单配置文件的核心规则骨架示例,用户可以根据自身需求增删具体域名条目:text#恶意域名拦截DOMAIN-SUFFIX,doubleclick.net,REJECTDOMAIN-KEYWORD,googleadservices,REJECT#强制代理服务DOMAIN-SUFFIX,openai.com,PROXYDOMAIN-SUFFIX,chatgpt.com,PROXY#国内网站直连DOMAIN-SUFFIX,taobao.com,DIRECTDOMAIN-SUFFIX,qq.com,DIRECTDOMAIN-SUFFIX,baidu.com,DIRECT#国内IP段批量直连GEOIP,CN,DIRECT#所有未匹配流量走代理FINAL,PROXY自定义规则添加的操作路径用户可以通过Shadowrocket主界面底部的“配置”标签进入当前加载的配置文件,在规则列表的底部点击“添加规则”来手动增加新的黑名单或白名单条目。添加时需要在弹出的表单中选择规则类型(DOMAIN-SUFFIX、DOMAIN-KEYWORD、GEOIP等)、填写匹配条件的目标值,并选择动作(PROXY、DIRECT或REJECT)。新添加的规则默认追加在列表末尾,用户可以通过拖动规则条目左侧的三条横线图标来调整规则的前后顺序,满足高阶的优先级控制需求。规则误判的排查与修正方法网站走错通道的快速诊断当用户访问某个网站时发现页面加载极慢、显示“ERR_CONNECTION_REFUSED”错误或者提示“无法访问此网站”,很可能是该网站的域名被错误地分流到了代理通道或拒绝通道。用户可以先将Shadowrocket切换到全局代理模式进行对比测试,如果在全局代理下网站正常而在配置模式下异常,则确认问题出在配置文件的规则编写上。定位到具体有问题的域名后,用户需要进入配置文件检查该域名被哪条规则匹配,然后根据实际情况修正该规则的动作或调整规则顺序。日志辅助定位分流错误Shadowrocket内置的实时日志功能是排查分流规则误判的有力工具,用户在开启日志后访问目标网站,应用会逐条记录每个网络请求的匹配过程,包括命中的规则行号和执行的最终动作。当日志中显示“openai.comMATCHEDRULE:DOMAIN-SUFFIX,openai.com,PROXY”时用户可以确认该域名正确走代理,如果显示“openai.comMATCHEDRULE:GEOIP,CN,DIRECT”则说明该域名因GEOIP误判被错误直连,需要在配置中为该域名添加强制代理规则覆盖GEOIP的匹配结果。日志分析需要用户具备一定的规则理解能力,但一旦掌握该方法,绝大多数分流问题都能在数分钟内得到精确定位。GEOIP误判的修正与备选方案GEOIP规则基于IP地理数据库判断目标服务器位置,当数据库未及时更新或目标网站使用CDN服务时,可能出现境外网站被误判为中国IP而错误直连的情况。此时用户可以为该网站单独添加一条DOMAIN-SUFFIX规则并置于GEOIP,CN规则之前,指定该域名的流量走代理通道,利用规则的优先级机制覆盖GEOIP的判断结果。这种“域名精确匹配优先于IP批量匹配”的策略是修正GEOIP误判的标准方法,无需修改或更新地理数据库本身。常见问题FAQ