首页›资讯教程›Shadowrocket“配置”模式和“代理”模式有什么区别?

Shadowrocket“配置”模式和“代理”模式有什么区别?

约 10 分钟阅读

在Shadowrocket中,“配置”模式和“代理”模式服务于完全不同的功能层级,代理开关是整个应用的激活总闸,决定是否启用网络拦截和转发管道,关闭时所有代理功能失效,开启时设备流量进入Shadowrocket管控。而配置模式(通常指全局路由中的“配置”选项)决定了代理管道激活后如何对每个数据包进行分流决策,配置文件中包含的规则、策略组和节点选择逻辑被完整执行,实现国内直连、国际代理、应用分流等精细化的流量管理。用户在日常使用中建议保持代理开关常开,将全局路由设为“配置”模式并加载一份规则完善的配置文件,这样既能享受代理服务又不会影响国内网站访问速度。当需要所有流量全部经由代理节点转发时(如隐私敏感场景),将全局路由切换至“代理”模式,此时配置文件中的所有分流规则被忽略,实现百分百代理覆盖。两种模式可以通过主界面的下拉菜单随时切换,无需关闭代理或重启应用,用户可根据不同网络环境和隐私需求灵活选择。配置文件的切换同样支持热切换,用户可以在代理开启状态下从配置列表中直接选择另一套配置,应用会立即加载新规则并应用至后续网络请求。禁用代理或切换配置均不会清除或修改配置文件本身的内容,所有规则、策略组和节点引用在开关关闭时仍被完整保存,再次开启时可无缝恢复使用。

Table of Contents

功能定位的根本差异:规则管理vs开关控制

“代理”模式是启用或禁用网络隧道功能的全局开关

在Shadowrocket主界面底部,用户可以找到“代理”开关按钮,这是一个二进制的功能总闸,用于决定当前设备是否启用网络代理通道。当开关处于开启状态时,应用会根据当前选定的节点和配置规则对所有网络请求进行转发或直连处理,此时设备的所有网络流量都受到Shadowrocket的管控。当开关关闭时,应用完全退出代理状态,所有网络请求直接通过设备本身的基础网络通道发出,不受任何代理规则或节点的影响,相当于Shadowrocket进入“休眠”模式,此时在应用内切换节点或修改配置均不会对实际网络产生任何影响。

“配置”模式是预设的规则集合而非即时生效的开关

“配置”在Shadowrocket中指的是一个完整的规则配置文件,它包含了代理规则、分流策略、策略组定义以及节点引用等一系列网络行为准则的集合,本质上是一个“如何分流”的决策框架而非“是否启用代理”的总开关。用户可以创建或导入多个不同的配置文件以适应不同的网络使用场景,例如“日常上网”配置包含优化网页访问的规则集,“游戏加速”配置包含UDP转发优化和特定端口的策略组。但配置文件本身不会自动生效,需要用户在“代理”开关开启的状态下选择特定配置,应用才会按照该配置的规则执行网络分流。两者之间的关系是“代理”决定功能是否激活,而“配置”决定激活后如何工作。

配置的多样性提供场景化切换能力而代理仅控制启用状态

一个显著的差异在于,用户可以在不关闭代理的前提下自由切换不同的配置文件,从而实现网络分流策略的即时调整,而不需要频繁开关代理总闸。例如在办公网络环境中使用一套对内网资源直连的配置,在家中网络切换至优化流媒体访问的配置。代理开关只有“开”和“关”两种状态,不提供任何策略层面的灵活性,而配置模式则允许用户预设多种行为模板,在代理启动时选择最匹配当前场景的方案。这种分离设计使得用户既能快速关闭所有代理功能,又能在需要代理时灵活调整其行为模式。

代理开关控制的执行层面与配置控制的决策层面

代理开关作用于设备最底层的网络请求路由

当用户打开Shadowrocket的“代理”开关时,应用会在iOS系统层面注册一个虚拟网络接口,通过Network Extension框架接管设备所有应用程序的网络请求。这一操作发生在操作系统的网络栈底层,所有来自Safari、微信、邮件客户端等应用的网络数据包都会被重定向至Shadowrocket的处理管道。关闭开关时,应用会向系统注销该虚拟接口,网络请求恢复为直接通过物理网络接口发出。这个过程是一个二元的“接管或放弃”决策,不涉及任何关于如何处理流量的具体指令。

配置决定代理启用后每个数据包的具体去向

代理开关开启后,每个被接管的数据包需要决定是经由代理节点转发、直接由本机发出还是丢弃,这一决策逻辑完全由当前选定的“配置”来提供。配置文件中定义了一系列规则,例如“哪些域名走代理”、“哪些IP段直连”、“哪些应用绕过代理”,以及“遇到匹配多条规则时按什么顺序执行”。配置不直接控制数据包的收发,而是为数据包提供一份“导航地图”,告诉代理管道如何处理每个到达的请求。没有配置文件(或选用了空配置)时,即使代理开关打开也无法正常转发数据。

切换配置时无需关闭代理即可完成规则更新

这一特性体现了配置与代理的独立性,用户可以在保持代理开关持续开启的状态下,直接从配置列表中切换到另一套配置,应用会立即用新规则替换旧规则并应用于后续的所有网络请求。切换过程中已建立的TCP连接可能断开并按照新规则重建,但用户无需手动执行“关闭代理-切换配置-重新开启”的繁琐流程。这种设计使得用户能够在不同场景间平滑过渡,例如进入公司内网后切换到包含内网直连规则的配置,离开时再切换回公网代理配置。

代理模式下的全局路由选项与配置规则的协同关系

代理开关开启后全局路由设定与配置规则共同决定路由结果

当代理开关开启时,Shadowrocket主界面底部的“全局路由”选项(如配置、代理、直连、场景)与配置文件中的详细规则形成上下级协作关系。若用户选择“配置”作为全局路由模式,则代理管道完全遵循当前配置文件中编写的所有规则和策略组,配置文件中的每条分流规则都会被执行和评估。若用户选择“代理”模式,则代理管道忽略配置文件中除节点选择外的所有分流规则,直接将所有流量无条件转发至当前选定的代理节点,相当于配置规则被全局覆盖。

“配置”路由模式下配置规则获得完整执行权限

当全局路由选项设为“配置”时,Shadowrocket会加载当前配置文件中的全部规则列表,按照规则定义的优先级顺序逐条评估每个网络请求,匹配到对应的策略后执行转发、直连或拒绝等操作。这允许用户通过配置文件实现极其精细的流量管理,例如将国内网站直连、境外网站代理、特定应用绕过代理、广告域名拒绝等复杂策略。配置模式的价值在于其灵活性和可定制性,适合对网络行为有细分需求的进阶用户。

“代理”路由模式使配置规则失效实现全局代理

将全局路由设为“代理”时,即使当前选定的配置文件中包含丰富的规则定义,Shadowrocket在转发数据时也会完全忽略这些规则,直接将所有网络请求无差别地发送至当前选中的代理节点。这一模式取消了所有基于域名、IP或应用的流量区分,实现百分百的代理覆盖。适合在需要确保所有流量都经过代理的隐私敏感场景,或临时测试节点速度时使用,此时配置规则被全局覆盖而不发挥任何分流作用。

配置的保存与切换独立于代理开关状态

配置切换在代理关闭时仍可进行

用户即使将“代理”开关完全关闭,仍然可以在Shadowrocket的配置列表中选择和切换不同的配置文件。这种设计使得用户可以在代理功能未激活时提前选择好下次开启时希望使用的配置方案,开关开启后应用直接应用当前选定的配置开始工作。例如在进入会议室前关闭代理并切换到“内网访问”配置,会议结束后开启代理时自动沿用该配置,无需在开启代理后再花时间切换。

配置编辑和导入导出不与代理状态绑定

无论“代理”开关处于开启还是关闭状态,用户始终可以自由编辑配置规则、创建新的配置文件或通过二维码和链接导入外部配置。这些管理操作不依赖代理通道本身的可用性,即使当前设备完全没有网络连接,用户依然可以在应用内查看和修改配置内容。这种独立性确保了用户可以在任何时刻准备工作所需的配置模板,再在需要时通过开启代理来激活它们。

配置中保存的节点信息不受代理开关影响

配置文件内部可能直接嵌入了节点列表或引用了特定订阅分组,这些节点信息的加载和更新与“代理”开关状态无任何关联。用户可以在代理关闭状态下刷新订阅、测试节点延迟或修改配置中的节点引用,所有操作结果会在代理开启后立即生效。代理开关仅控制这些节点和配置是否真正被应用于设备网络流量,不干预配置文件的维护过程。

模式选择适用场景的具体建议

日常使用推荐配置模式实现国内直连国际代理

对于绝大多数用户的日常上网场景,将全局路由设为“配置”模式并加载一份规则完善的配置文件是最合理的选择。配置模式能够自动判断哪些网站走代理、哪些直连、哪些被屏蔽,在保证境外服务可用的同时不影响国内网站的加载速度,且避免了全局代理模式下可能引起的网银、政务网站访问异常。一份优秀的配置文件可以覆盖绝大多数用户的日常需求,无需频繁手动干预。

需要完全隐匿流量时切换至代理模式

在隐私高度敏感或网络审查严格的场景下,将所有流量强制经由代理节点转发是保护身份和通信内容的必要手段。此时用户应将全局路由切换至“代理”模式,确保从操作系统更新到即时通讯消息的所有数据包都不直接暴露在本地网络中,即使配置文件中原本有直连规则也不会生效。但需注意,全局代理模式下流量消耗增加,且部分依赖本地网络的服务如局域网打印、本地服务器访问将无法正常工作。

故障排查时利用直连模式隔离配置影响

当怀疑配置规则出现问题时,用户可以临时将全局路由切换至“直连”模式,该模式下代理开关即使开启也不会转发任何流量到代理节点,所有请求直接走本机网络,且绕过配置文件中除DNS外的所有规则。这可以帮助用户判断网络问题是出在代理节点、配置规则还是设备基础网络层面,是排障过程中的重要诊断工具。

配置中节点的选择机制与代理开关的关系

配置中的策略组节点在代理开启后才被使用

每个配置文件中可以定义多个策略组,每个策略组引用一组代理节点并规定了选择策略,例如“选择延迟最低的节点”或“按用户手动选择”。这些策略组中的节点列表和选择逻辑在配置被加载时即保存在内存中,但只有在代理开关开启且全局路由设为“配置”时,这些节点才会实际处理网络流量。代理关闭时,配置中的节点信息只是静态数据,不参与任何网络通信。

代理开关开启且配置模式激活时策略组节点处于活跃状态

当用户在配置模式下开启代理后,配置文件中的所有策略组开始生效,Shadowrocket会按照每个策略组的定义自动选择对应节点转发匹配的流量。例如“Netflix”策略组中配置了多个流媒体优化节点,当配置规则判定某条流量属于Netflix时,代理管道会从该策略组中选取一个节点进行转发,而不是使用当前主界面选中的节点。这意味着在配置模式下,主界面的节点选择可能仅作为默认或备用策略的参考,实际路由行为由配置规则中的策略组决定。

单节点选择模式与配置文件的覆盖关系

当全局路由设为“代理”而非“配置”时,配置文件中的策略组和规则完全被忽略,代理管道直接使用用户在主界面节点列表中手动选中的那个单一节点作为所有流量的转发目标。这种模式与配置策略组无关,即使配置中定义了复杂的策略组也不会生效。这允许用户在配置模式下精细分流和代理模式下简单全局代理之间快速切换。

常见问题FAQ

开启代理但选择“直连”模式,流量会经过代理吗?

不会。当全局路由设为“直连”模式时,即使代理开关处于开启状态,所有网络请求也会绕过代理管道直接通过本机网络发出,相当于代理被逻辑性禁用。这种模式下节点选择和配置规则均被忽略,仅用于快速测试网络基线或临时绕过代理问题,切换回“配置”或“代理”模式才能重新激活代理通道。

切换配置需要先关闭代理吗?

不需要。用户可以在代理开关开启的状态下直接从配置列表中选择另一份配置,应用会立即加载新配置的规则和策略组并应用于后续网络请求,无需关闭再重新开启代理。但某些配置切换可能涉及不同的策略组定义或节点引用,切换后原有的活跃连接可能断开并按新规则重建,短暂的连接中断是正常现象。

配置模式和代理模式哪个速度更快?

速度差异不取决于模式本身而取决于实际使用的节点和网络链路。配置模式可能因规则判断增加微秒级的处理延迟,但此开销几乎无法感知。若两种模式下使用同一个代理节点,网络层面的速度完全一致,因为规则判断和节点转发是串行步骤,配置模式增加的规则匹配时间在毫秒级别,对实际浏览和下载速度无影响。如果配置模式中包含大量复杂规则,规则引擎的处理可能在极高并发下产生可测量的延迟,但日常使用中感受不到。

关闭代理开关后配置中的规则还会生效吗?

不会生效。代理开关是整个Shadowrocket功能的总闸,关闭后应用完全退出代理状态,不再对任何网络请求进行拦截或转发。配置中的规则、策略组和节点信息仅作为静态数据保存在应用内,不会被激活或执行。此时Shadowrocket相当于一个配置阅读器而非代理工具,用户可以编辑和查看配置但不产生实际网络效果。

安全提示

请通过可信渠道获取应用和配置,并遵守所在地法律法规与相关服务条款。