核心是确认「改配置而不弄乱文件」这件事成立:新增一路入站之后,其余 52 行逐字节不变。 搬进来的改写引擎用默认输出参数时会重排整个文件——行尾注释的对齐空格消失、流式数组被加上内边距—— 连根本没改动的段落也一起波及。不修的话「改一处只动一处」这个承诺直接落空,所以关掉了它的自动排版, 并在写回之后补了一步逐行还原。
3.5 KiB
Patchbay
一个编辑 mihomo 配置文件的网页界面。核心动作是把某一路入站接到某一个出站上——名字取自录音棚的插线板。
这份文件是术语表。界面文案、代码命名、文档措辞都从这里取词,同一个概念不要有第二种叫法。
入站与出站
入站: mihomo 上的一个监听端口,客户端连上它把流量交进来。 Avoid: inbound、监听器、listener、进站
默认入站:
由配置文件顶层端口字段声明的入站(mixed-port、port、socks-port、redir-port、tproxy-port)。每种类型只能有一个,且无法单独指定出站。界面上不可删除。
Avoid: 主端口、老式端口、默认端口
命名入站:
由 listeners: 声明的入站。数量不限,每个可以有自己的出站和附加规则。
Avoid: listener、新式端口、自定义端口
出站: 流量离开 mihomo 的去处。可以是内置出站、线路或策略组。 Avoid: outbound、出口、上游、落地
内置出站: 内核自带、不需要配置就存在的出站,包括直连和拒绝。 Avoid: 系统出站、特殊出站
出站模式: 一路入站决定其出站的四种方式之一:跟着规则走、直连、指向策略组、固定线路。 Avoid: 代理模式、mode、路由模式
线路与分组
线路: 一个具体的代理服务器条目。 Avoid: 节点、proxy、代理、服务器
自有线路:
写在配置文件顶层 proxies: 里、由用户手写的线路。可以被按名字引用。
Avoid: 本地节点、手写节点
订阅线路: 由订阅拉取而来的线路。不能被按名字引用,只能通过策略组整批引入。 Avoid: 远程节点、provider 节点、机场节点
订阅: 一个远程地址,mihomo 定时从它拉取一批线路。 Avoid: provider、机场、订阅链接、节点池
策略组: 一组线路加一个挑选方式(手动选、自动测速选最快等)。策略组本身也可以作为出站被引用。 Avoid: 分组、group、代理组、策略
筛选组: Patchbay 自动创建的策略组,用筛选条件从订阅里只挑出用户指定的那几条线路。它的存在是为了让入站能固定到具体线路——因为订阅线路无法被直接引用。 Avoid: 隐藏组、临时组、影子组
名字与引用
名字表: 内核启动时构建的、所有可被按名字引用的出站的集合。由内置出站、自有线路和策略组构成。订阅线路不在其中,这是许多约束的共同来源。 Avoid: 代理表、proxies map、出站列表
断引用: 配置里出现了一个名字表中不存在的名字。内核自带的校验命令不检查这种情况,只在有流量经过时才报错,因此 Patchbay 必须自行检查。 Avoid: 无效引用、悬空引用、坏引用
规则
分流规则:
配置文件 rules: 里的有序列表,自上而下匹配,决定一条连接走哪个出站。顺序本身是语义的一部分。
Avoid: 路由规则、规则表
附加规则: 挂在某一路入站上的一组分流规则,只对从该入站进来的流量生效。 Avoid: sub-rules、子规则、私有规则
配置文件
接管段落: Patchbay 负责读写的配置段落。其余段落原样保留、界面上也不呈现。 Avoid: 托管段落、受控段落
默认路由:
默认入站在界面上的呈现。它对应配置文件顶层的端口字段而非 listeners:,因此不可删除。
Avoid: 主路由、根路由