返回全部指南

应用场景

macOS 网络锁:防止 App 绕过代理直连

Antify 的网络锁(Kill Switch)在代理未运行,或连不上代理服务器时,禁止选定的 App 联网。本文说明如何开启,以及它的作用范围和限制。

网络锁是规则上的一个开关:Antify 代理没在运行,或连不上代理服务器时,这个 App 的新连接会被直接拒绝,而不是悄悄改走直连。

01

什么时候需要它

给 App 建了「代理」规则之后,只有 Antify 代理在运行时,它的流量才经过代理;代理没在运行的那段时间,这个 App 照常直接联网。常见的有三种情形:重启 Mac 后还没打开 Antify;你停了代理,忘了重新启动;系统扩展崩溃,或被系统关掉。

网络锁就是为这几段时间准备的:开了网络锁的 App 在这些时候联不了网,不会直接连出去。

  • 「代理」和「阻止」规则可以开启网络锁。「直连」规则没有可拦的流量,开关不可用,在规则列表里显示为短横线。
  • 规则本身被停用时,网络锁同样不起作用。
  • 网络锁只让 App 联不了网,不会关闭 App,也不会阻止它启动。
Antify「规则」页面,「网络锁」一列为每条代理规则提供开关,直连规则的网络锁一列显示为短横线
02

开启网络锁

  1. 1

    打开开关

    在「规则」页面,每条规则那一行的「网络锁」列有一个开关;也可以在编辑规则的窗口里打开「网络锁」。

  2. 2

    第一次开启时安装内容过滤器

    网络锁由系统的内容过滤器执行,所以第一次打开开关时会弹出「安装内容过滤器」窗口,点「安装」。如果网络扩展还没有启用,会先要求启用网络扩展,步骤见《安装 Antify 与系统扩展》。

  3. 3

    如果 macOS 询问

    macOS 可能弹出系统提示,询问是否允许 Antify 过滤网络内容,选择允许。如果选了不允许,安装窗口会提示「macOS 未允许启用内容过滤器」,可以再点一次「安装」。

第一次打开「网络锁」时弹出的「安装内容过滤器」窗口,带「取消」和「安装」两个按钮
03

它拦什么,不拦什么

网络锁只在 Antify 代理没有运行的时候起作用。代理在运行时它不干预,流量照规则走。

  • 代理没有运行时(没启动、被停止、扩展崩溃之后),这个 App 的新连接会被拒绝。
  • 连不上代理服务器时,这个 App 也不会改走直连,不论该代理的「代理失败时直连」怎么设置。
  • 退出 Antify、重启 Mac 之后仍然生效,不需要先打开 Antify。
  • 按整个 App 拦截。规则里设了「目标主机」或「目标端口」时,网络锁也不看它们:代理没运行时,整个 App 都联不了网。
编辑规则窗口中打开的「网络锁」开关,旁边的问号弹出它的说明
04

确认它在起作用

停止代理,然后让开了网络锁的 App 新建一个连接,比如在浏览器里打开一个新网页,应该打不开。

代理未运行时,仪表盘顶部的卡片显示「Antify 代理未运行 · 内容过滤器已启用」,说明内容过滤器正在拦住开了网络锁的 App。菜单栏里「启动代理」下面会有一行「网络锁已生效」。

已允许通知的话,被拦的 App 启动时,Antify 还会发一条「Antify 代理未运行」的通知,正文是「网络锁已禁止 Chrome 联网。」,带「启动代理」按钮。

启动代理之后,网络锁不再拦这个 App,新连接重新按规则走代理;浏览器里重新加载页面即可。如果代理服务器本身连不上,连接仍会失败。

仪表盘顶部的卡片显示「Antify 代理未运行 · 内容过滤器已启用」
05

边界

  • 被拦 App 的域名解析仍会发出,DNS 服务器能看到它在查哪些域名;这个 App 自己的连接依然被拦。
  • 扩展崩溃后,系统会自己重新启动内容过滤器,其间约半秒内,新连接可以直接通过。
  • 想去掉内容过滤器:「设置」→「权限」→「内容过滤器」→「移除」。移除后,开了网络锁的 App 在代理未运行时又可以联网,规则里的设置保留。
「设置」的「权限」页,「内容过滤器」一行带有「移除」按钮和「已启用」状态