Skip to content

代理规则 ​

有的站要代理、有的不要,用着用着才发现某个站打不开——按规则让内置浏览器自动分流,改规则立即生效。

它要解决的问题 ​

浏览器的代理设置只能在启动时定下来,运行中改不了。传统做法是切一次代理就重开一次浏览器,页面状态全丢。

Sigil 的做法:内置浏览器固定把流量交给 Sigil 自己在本机起的一个分流代理,由它逐个连接按规则决定直连还是走上游。规则怎么改,下一次连接就怎么走,不用重开网页。

内置浏览器 ──→ Sigil 本地分流代理 ──┬─ 直连 ───────────→ 目标网站
                    │                └─ 走你的上游代理 ──→ 目标网站
                    └─ 按「模式 → 临时规则 → 手写规则 → 订阅 → 默认去向」逐个判定

四种模式 ​

工具栏的「代理」按钮点开,最上面一排切换:

模式行为
按规则按下面的规则分流,未命中的走默认去向
跟随系统(默认)跟随系统代理:Clash 等开了系统代理就走它,关了就直连。和不用这个功能时一样
全局代理所有网站都走上游代理
直连所有网站都直连

本机和内网永远直连

localhost、127.0.0.1、内网 IP、不带点的主机名(如 nas),无论哪种模式都不会发给上游代理。

一键切换当前站点 ​

代理面板中间显示当前站点走不走代理,以及原因(命中了哪条规则、由哪个模式决定、本机地址始终直连……)。

「按规则」模式下可以直接点:

按钮作用
本站走代理给当前站点加一条走代理的规则,写成 *.主域名(如 *.github.com),主域和所有子域一起生效
本站直连同上,去向是直连
仅本次(重启后失效)勾上后,上面的切换只记在内存里,重启 Sigil 就没了,优先于持久规则
恢复默认撤销本站的设置

「恢复默认」分两层:有临时规则就只撤临时的,底下的持久规则(可能是你导入的)不会被误删;没有临时规则时才删本站的一键规则。

设置后会立即断开「去向变了」的已有连接并刷新当前页——Chrome 内核会复用连接,不断开的话新规则对已打开的站点不生效。

上游代理 ​

在「规则设置」里填:

  • 类型下拉选 HTTP 或 SOCKS5,再填主机、端口,需要的话填账号密码
  • 也可以直接粘贴整段地址(socks5://用户:密码@主机:端口、主机:端口:用户:密码),会自动拆开
  • 选「跟随系统代理」则使用检测到的系统代理

域名统一以域名形式交给上游解析,不用本机 DNS——本机 DNS 常被污染,这也正是「走代理」该有的语义。

规则 ​

规则管理 ​

「规则设置」弹窗里:

  • 规则表从上往下匹配,先命中先生效;可以上移 / 下移、启用 / 停用、删除、搜索
  • 每条规则是「条件 + 去向(走代理 / 直连)」
  • 「未命中规则时」选默认去向

条件语法 ​

条件直接用 ZeroOmega 的语法,所以导入导出不需要转换:

写法含义
*.example.comexample.com 本身及所有子域
**.example.com只匹配子域,不含主域
.example.com同 *.example.com
www.example.com精确主机名
UrlRegex: … / UrlWildcard: …按完整 URL 匹配
HostRegex: …按主机名正则匹配
Keyword: …URL 含关键字(仅 http)
Ip: 10.0.0.0/8、Bypass: …按 IP 段、按绕过列表
HostLevels: …、Time: …、Weekday: …域名层级、时间段、星期

通配符 * 匹配任意字符,? 匹配单个字符。

从 ZeroOmega 导入 ​

「导入」页支持两种内容,粘贴后点「解析」会自动识别并告诉你它是哪一种:

内容怎么拿到
规则列表文本ZeroOmega 里打开「自动切换」情景模式,点「导出规则列表」,内容以 [SwitchyOmega Conditions] 开头
整份备份 JSONZeroOmega 的「设置 → 备份 → 导出」(也接受被 base64 包起来的备份)

解析后先预览:识别到多少条规则、跳过了哪几行及原因;确认后选「替换现有规则」或「追加到现有规则后」,点「保存」生效。

末行的通配规则(如 * +direct)会被识别成「未命中时」的默认去向。ZeroOmega 里除直连外的情景模式,都按「走代理」处理,导入时会告诉你有哪些。

导入备份时额外识别的内容:

  • 代理服务器:备份里「走代理」的情景模式带的服务器地址,可勾选「同时设为上游」(账号密码不在界面上显示)
  • 规则订阅:备份里的 AutoProxy 规则列表情景模式会列出来,勾选后一键添加并立即下载,见下面的「订阅」
  • 没能导入的东西:备份里只取一份自动切换情景模式(优先 ZeroOmega 启动时选中的那份),其他的、以及 SwitchyOmega 自家格式的规则列表订阅,都会在预览里以说明的形式告诉你,不会悄悄丢掉

粘贴的是 AutoProxy / GFWList 规则?

那是订阅格式,请到「订阅」页添加它的网址,而不是粘贴到这里导入。

导出 ​

「导出」页可以复制规则文本,粘贴回 ZeroOmega 的「导入规则列表」。走代理的规则写成 +proxy,请在 ZeroOmega 里让名为 proxy 的情景模式指向你的代理服务器。导出的是已保存的规则,有未保存的修改请先保存。

订阅(AutoProxy / GFWList) ​

「规则设置」里的「订阅」页可以订阅 AutoProxy / GFWList 格式的规则列表——几千条规则不用手抄,也不会塞满你自己的规则表。

项说明
添加填名称和网址,选「去向」,点「添加并更新」;「填入 GFWList」按钮会预填官方源(可改成镜像)
去向命中订阅里的普通规则走这个去向;命中其中的例外规则(@@ 开头)则取反
更新每 24 小时自动更新一次;也可以随时点「立即更新」。失败后 1 小时内不会重试,旧规则保持不变,并在状态栏显示原因
开关每份订阅可单独「启用」「自动更新」
生效增删改、更新都立即生效,不需要点「保存」,并会断开去向变了的连接

优先级: 你手写的规则 > 订阅(按列表顺序,先添加的先生效)> 默认去向。想给某个被订阅误判的站点单独指定去向,加一条手写规则即可覆盖。

订阅内容下载时会走你配置的上游代理(没有可用上游则直连),下载的内容有保护:

  • 返回的是网页或 JSON(比如登录页、404 页)、或解析出 0 条规则,都判为失败,不会覆盖原有规则
  • 单份最多 20 万条规则、8 MB;最多添加 20 份订阅
  • 过于宽泛、会匹配所有站点的规则行会被忽略

支持 base64 编码(GFWList 官方源就是)和明文两种形态。

直连失败提示 ​

某个站点直连连不上(被墙、超时、被重置),多半是该走代理却没走。代理面板里会出现一块「N 个站点直连失败,要改走代理吗?」:

  • 10 分钟内同一站点失败 2 次以上才会提示,提示保留 30 分钟,最多列 100 个
  • 「走代理」:给该站加一条走代理的规则(等同「本站走代理」),并刷新当前页重试;这需要「按规则」模式,其他模式下按钮置灰,旁边有「切换到按规则」
  • 「忽略」:清掉这条提示,之后重新计数
  • 本机、内网地址以及浏览环境自己的代理端口产生的失败不会计入

和浏览环境的关系 ​

浏览环境的网络出口有三种,只有一种用到这里的规则:

环境的出口设置是否受这里的规则影响
跟随全局规则受影响,和默认环境共用同一套
固定出口不受影响,该环境所有流量都走自己的上游
直连不受影响,永远直连

本地分流代理起不来时 ​

极少数情况下(比如端口被安全软件拦截)本地分流代理启动不了,内置浏览器会退回原来的行为:跟随系统代理。此时代理面板顶部会提示「本地分流代理没有运行,内置浏览器正跟随系统代理」。

自建环境则不同:它们的代理起不来时直接停止打开网页,而不是退回系统代理——那会让固定出口的环境悄悄走了别的出口。

已知限制 ​

限制说明
HTTPS 只能看到主机名经 CONNECT 隧道的 HTTPS 看不到路径,URL 路径类条件对 HTTPS 站点只能按 https://主机/ 匹配(Chrome 交给 PAC 的 HTTPS 地址同样被裁成源)
订阅只支持 AutoProxy / GFWListZeroOmega 自家格式(Switchy)的规则列表订阅暂不支持,导入备份时会在预览里提示
订阅没有手动排序多份订阅按添加顺序生效;想改优先级,删掉重新添加,或用手写规则覆盖
备份导入只取一份自动切换情景模式备份里有多份时优先导入 ZeroOmega 启动时选中的那份,否则取第一份,其余在预览里说明
只管内置浏览器Sigil 自己的出站请求(AI 对话、Git 平台调用等)仍按原有的代理设置,不走这套规则

相关章节 ​

若依科技工作室 · 承接后台管理 / 桌面软件 / 全栈 / 小程序定制开发 · 技术服务咨询