Nodes zh - FrankoonG/hy2scale GitHub Wiki
节点
节点是 HY2 SCALE 网状网络的基本构建单元。每个节点运行一个 Hysteria 2 QUIC 服务器,并与其他节点建立对等连接,形成去中心化的对等拓扑。
概念
什么是节点?
任何运行 HY2 SCALE 的机器。每个节点具有:
- 自动生成的 node ID(8 位十六进制字符)
- 可配置的 显示名称(例如
sg-home) - 默认监听 5565 端口的 Hysteria 2 QUIC 服务器
- 出口节点 标记 — 启用后,对等节点可通过本节点将流量转发至互联网
- 可选的 TUN 能力 — 用于路由规则和 TUN 模式 VPN 客户端的原始 IP 包转发
节点可以是拥有公网 IP 的云 VPS、NAT 后的家庭服务器、NAS,或通过 .ipkg 包运行 iKuai v4 的路由器。
对等拓扑
节点之间通过 QUIC 隧道直接连接,没有中央控制面。

上图展示了新加坡本地节点(sg-home)与十个远程节点的对等关系;其中三个远程对等节点通过嵌套发现进一步公开了一层子对等节点。
连接方向
- 出站(Outbound) — 你主动发起到对等节点的 QUIC 连接(你需要对方的地址和服务器密码)。
- 入站(Inbound) — 对方主动发起到你的 QUIC 连接。
两种方向在连接建立后功能完全等同。方向仅决定谁需要知道谁的地址。
两种视图,同一拓扑
节点页面提供两种等价的表现形式,可通过拓扑卡片顶部的工具栏标签切换:
图形视图(默认)
- 支持平移、滚轮缩放和触控缩放(移动端 / 触控板)的交互式 SVG 画布
- 每条连线标注往返延迟(≤ 100 ms 绿色、≤ 200 ms 琥珀色、其他红色)和当前吞吐量
- 拖动节点可重新定位;布局保存到服务器并通过 SSE 同步到其他已登录会话
- 点击目标节点(包括自己的本机节点)可高亮整条中继路径,并在底部显示面包屑 — 面包屑中每个非 self hop 都是可点击的链接,点击即打开对应前缀的 远程视图(与列表视图中节点链接的快捷方式相同)
- 原生对等节点为黄色圆点,离线对等节点为浅红圆点;触达原生对等节点的连线静止时呈浅黄色,选中时饱和呈现,使路径在视觉上保持一组
- 工具栏控件:重置视图、重置布局(需确认)、对齐网格
列表 / 树状视图
- 按顺序展示对等节点的树状结构,深度以缩进和
via X提示标明 - 列:复选框、延迟、方向标识、节点名称 + 地址、上传 / 下载流量 — 编辑由选中状态驱动(见下文),不再依赖每行的小图标
- 复选框单元格 整片区域(含 padding)都是该行复选框的点击目标;行体点击为独占式选中(替换式单选)

添加对等节点(出站)
+ Add Node 按钮支持两种交互:
- 单击 — 打开下方的手动表单。
- 长按(≥ 600 ms) — 打开 从 hysteria2:// URL 导入 对话框,可粘贴
hysteria2://[auth@]host[:port][?params]#name(或hy2://别名)。URL 实时解析(host / port / password / SNI / insecure /mport/up/down/fastopen/pinSHA256),预览展示导入结果;obfs / obfs-password 会作为「忽略字段」明确显示,而非被静默吞掉。
手动表单字段:
| 字段 | 说明 |
|---|---|
| 节点名称(Node Name) | 可选。留空则回退为第一个地址。在编辑在线 hy2scale 对等节点时被锁定(重命名活跃 QUIC 会话会令其键入态变成孤儿);编辑原生对等节点和离线条目时始终可改。拒绝 /、空白字符和控制字符。 |
| 地址(Address(es)) | 对等节点的 host:port — 可填写一个,也可填多个以启用多 IP 聚合。端口字段也接受逗号 / 区间列表(5000-6000、5000,5001,5002)以支持 hy2 端口跳跃。 |
| 连接模式 | Direct(单地址)、Quality(自适应故障转移)或 Aggregate(在多地址间负载均衡) |
| 密码 | 对等节点的 Hysteria 2 服务器密码 |
| Fast Open | TCP-Fast-Open 风格的 0-RTT 请求优化(开关) |
| Brutal | Hysteria 2 brutal 拥塞控制(开关,紧贴 Fast Open 右侧)。开启 时下方显示 Upload / Download Mbps 输入;关闭 时输入框被隐藏,先前填写的值会被清空,避免无意中带走旧配置。 |
| BBR Profile | Standard / Conservative / Aggressive — 与 Brutal 相互独立,切换时该列不会重排 |
| SNI | TLS SNI(通常为主机名) |
| 不验证证书(Insecure) | 跳过 TLS 证书校验 |
| CA | 可选的 PEM CA,用于验证对等节点证书 |
点击 Connect(新建)或 Save(编辑)。在编辑模式下,Cancel 与 Save 之间会多出一个 Export URL 按钮,可将该对等节点的 hysteria2://... 分享 URL 复制到剪贴板(多地址对等节点回退为第一个地址 — URL 标准没有多地址槽位)。剪贴板助手会在 HTTP-over-IP 场景下回退到隐藏 textarea + execCommand('copy'),确保仅以 IP 可达的管理节点也能正常工作。
接收对等节点(入站)
要接受入站连接,将你的节点地址和服务器密码分享给对方。对方在他们那侧将你添加为出站对等节点。
你的服务器密码可在 编辑自身(Edit Self) 模态框中查看(选中自己的节点后点击 Edit 按钮即可)。
选择与编辑
节点页面(以及 HY2 SCALE 上其他每个列表页)都遵循统一的「先选中再操作」模式:
- 点击行体任意位置(或图中的节点圆点)即可单选该节点 — 包括你自己的本机节点,此时 Edit 会路由到 编辑本机节点(Edit Local Node) 模态框。
- 点击行首的复选框单元格(其加宽 padding 内的任意位置,不只是小输入框本身)则进入多选;复选框是叠加式的。
- 当 恰好一行 被选中时,拓扑卡片右上角会出现绿色 Edit 按钮,位于 Import 与 + Add Node 之间。未选中或选中多于一行时该按钮被隐藏;选中的若是嵌套子对等节点(其配置归属父节点,不在本页可改),该按钮也会被隐藏。
- 任何在拓扑卡片体外的空白点击 — 页面标题、侧边栏、卡片之间的间隙、甚至拓扑卡片自身的页头条 — 都会清掉单行选中。多选保持粘性(按钮 / 输入框 / 已打开的模态框上的点击永远不会清掉选中)。
- 批量操作(启用 / 禁用 / 嵌套 / 取消嵌套 / 删除)在选中一行或多行时显示在 Edit 按钮左侧。
- 对自身行单独处理:嵌套开关被隐藏(自身没有嵌套概念),但启用 / 禁用为对称性保留。
在图形视图中选中圆点同样会触发右上角的 Edit 按钮 — 列表视图与图形视图共用一个编辑入口。
嵌套发现
嵌套发现让你能看到对等节点的对等节点 — 每次一跳,深入网状网络。
每一跳都受该对等节点本地 nested 标记控制:
- sg-home 对
us启用 nested →us的对等节点作为us的子节点显示 - sg-home 同时对
us/us-east启用 nested →us-east的对等节点作为孙节点显示 - 任何一跳关闭,其下的所有节点都会从 UI 和路由平面同时消失
不同路径中出现同一显示名是允许的(例如 A/B/D 与 A/B/C/D 可以共存),但同一条路径内不得重复出现同一名称。如果 UI 上看不到某个节点,就无法拨号 — 显示和路由使用同一套授权判断。
启用方式
- 打开某个对等节点,切换 嵌套 开关并保存。子对等节点会在一个探测周期内出现。
- 更深层级(嵌套的嵌套)需要在每一段中间路径上都启用
nested— 打开对应的子对等节点行,同样切换 嵌套 开关。
Bond 聚合(多 IP)
当对等节点拥有多个地址(例如两条 ISP)时,将它们全部填入 地址(Address(es)) 字段。提供两种聚合模式:
| 模式 | 行为 |
|---|---|
| Quality | 持续探测所有链路,通过延迟最低的一条转发流量;质量下降时立即切换 |
| Aggregate | 在所有健康链路间做包级负载均衡 — 可叠加两条 ISP 的带宽 |
Direct 模式是单地址的退化情况。
原生 Hysteria 2 对等节点
HY2 SCALE 可以连接到不支持中继协议的原生 Hysteria 2 服务器。这些节点显示 [NATIVE] 徽章,支持直接流量路由,但不参与嵌套发现。
拓扑标识
| 徽章 / 颜色 | 含义 |
|---|---|
| 中心蓝点 | 本地节点 |
| 黄点 + 连线 | 原生(NATIVE)对等节点(普通 Hysteria 2)— 相邻连线静止呈浅黄,选中时饱和 |
| 浅红点 | 离线 / 不可达的对等节点 |
| 实线 | 已连接且健康 |
| 虚线 / 淡化线 | 已断开或不可达 |
| 延迟标签 | 每条连线的往返时间(按数值着色) |
方向标识(OUT / IN / LOCAL) |
连接方向 |
[NATIVE] 徽章 |
原生 Hysteria 2 对等节点 |
| 黄色版本徽章 | 对等节点运行不同的 HY2 SCALE 版本 |
红色 × 标记 |
离线 / 不可达的对等节点 |
出口路由
启用 出口节点 的节点均可将流量转发至互联网。按用户或按规则的 exit_via 路径可将特定流量引导至某条节点链:
exit_via: "jp" # 一跳
exit_via: "us/us-east" # 两跳
exit_via: "kr/kr-r1/kr-r1-a" # 三跳
UI 中的自动补全由当前拓扑驱动 — 仅可达且通过嵌套授权的路径会出现在建议中。
元数据交换
对等节点通过中继协议交换小型 JSON 文档:
- 节点名称和 ID
- 版本信息
- 出口节点标记
- 缓存的子对等节点列表(用于嵌套发现)
- 延迟探测
该 schema 可扩展,未来新增功能不会破坏协议兼容性。
中继协议流
供好奇者参考的内部 QUIC stream ID:
| 流前缀 | 用途 |
|---|---|
_relay_register_ |
节点注册 |
_relay_s2c_ctrl_ |
服务端到客户端控制 |
_relay_list_peers_ |
对等节点列表交换 |
_relay_latency_ |
延迟探测 |
_relay_via_* |
路由控制 |
_relay_data_* |
数据转发 |