采集从仪表盘组件挪进模块级单例(web/telemetry.ts),流量曲线和每路 吞吐的历史跨页面留存——跟着组件走的话切一次页面就清零一次。每路吞吐 从 /connections 快照按连接逐条求差再按 inboundName 聚合:先求和再求差 会在连接关闭时算出负数。 图表换 ECharts(按需注册):手写 SVG 折线做不出平滑曲线和时间轴, 颜色在运行时从 CSS 变量取,跟随主题切换重取。 路由列表每行带走势、速率和可选的公网 IP 检测,点击跳路由页并选中 那一路(外壳传 focus 给 RouterPage 消费)。
104 lines
4.8 KiB
Markdown
104 lines
4.8 KiB
Markdown
# 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 为一路入站自动创建的三个策略组:手动选的 SELECT、自动测速的 AUTO、故障转移的 FALLBACK。入站的 `proxy:` 永久指向 SELECT,日常换线是改 SELECT 的当前选中,属于运行时动作,不改配置文件。名字带 `patchbay:` 前缀。
|
||
_Avoid_: 筛选组、隐藏组、影子组、自动组
|
||
|
||
**链式代理**:
|
||
让一路入站的流量先经过一跳入口,再从出口线路离开。在订阅副本上用 `override.dialer-proxy` 实现,因为内核不接受写在策略组上的 `dialer-proxy`。
|
||
_Avoid_: 中转、前置代理、relay
|
||
|
||
**入口组**:
|
||
链式代理的入口,一个手动选的策略组,订阅副本的 `dialer-proxy` 指向它。它只能引用原订阅,不能引用订阅副本,否则会形成内核查不出来的环。
|
||
_Avoid_: 前置组、跳板组
|
||
|
||
**订阅副本**:
|
||
开链式代理时,Patchbay 按「入站乘以来源订阅」的组合生成的订阅。`type: file`,读原订阅的缓存文件,带上指向入口组的 `dialer-proxy`。它不联网,原订阅刷新后内核的文件监视让它自动跟上。和哪个用户订阅共用同一个缓存文件,来源就是哪个。
|
||
_Avoid_: 派生订阅、克隆订阅、镜像订阅
|
||
|
||
**公网 IP**:
|
||
一路入站的流量离开本机后,在外部服务眼里来自哪个地址。由 Patchbay 服务端把本机对应端口设为代理、访问 ip.sb 得到。它是观测结果,不是配置里的任何字段。
|
||
_Avoid_: 出口 IP、落地 IP、出口
|
||
|
||
## 名字与引用
|
||
|
||
**名字表**:
|
||
内核启动时构建的、所有可被按名字引用的出站的集合。由内置出站、自有线路和策略组构成。**订阅线路不在其中**,这是许多约束的共同来源。
|
||
_Avoid_: 代理表、proxies map、出站列表
|
||
|
||
**断引用**:
|
||
配置里出现了一个名字表中不存在的名字。内核自带的校验命令不检查这种情况,只在有流量经过时才报错,因此 Patchbay 必须自行检查。
|
||
_Avoid_: 无效引用、悬空引用、坏引用
|
||
|
||
## 规则
|
||
|
||
**分流规则**:
|
||
配置文件 `rules:` 里的有序列表,自上而下匹配,决定一条连接走哪个出站。顺序本身是语义的一部分。
|
||
_Avoid_: 路由规则、规则表
|
||
|
||
**附加规则**:
|
||
挂在某一路入站上的一组分流规则,只对从该入站进来的流量生效。
|
||
_Avoid_: sub-rules、子规则、私有规则
|
||
|
||
## 配置文件
|
||
|
||
**接管段落**:
|
||
Patchbay 负责读写的配置段落。其余段落原样保留、界面上也不呈现。
|
||
_Avoid_: 托管段落、受控段落
|
||
|
||
**默认路由**:
|
||
默认入站在界面上的呈现。它对应配置文件顶层的端口字段而非 `listeners:`,因此不可删除。
|
||
_Avoid_: 主路由、根路由
|