# 面板互联 (Interconnect)

面板互联功能允许您将多个面板（baihu-panel）连接在一起，形成主从（Master-Child）架构的集群。这使得您可以在一个中心化的主面板上集中监控和管理所有的子节点，极大地简化了多面板环境下的运维工作。

## 核心特性

- **集中管理**：在主节点上统一查看所有子节点的状态。
- **无缝穿越**：主节点可以直接“穿越”到子节点的控制台进行管理，无需反复登录。
- **内网穿透**：即使子节点部署在没有公网 IP 的深层内网（如家庭宽带、企业内网），只要主节点具有公网访问能力，子节点也能主动与主节点建立安全的反向穿透隧道，实现主节点对内网子节点的直连管理。
- **极致性能**：深度优化了底层连接与通信逻辑，严格控制并优化了协程（Goroutine）数目，确保在海量节点高并发连接下依然保持极低的资源占用和极高的系统稳定性。
- **角色互斥**：每个面板只能扮演一种角色（主节点或子节点），避免循环嵌套。

## 架构说明

### 主节点 (Master)

- **功能**：集中监控其他面板的状态，并可无缝穿越到子节点进行管理。
- **适用场景**：部署在具有公网 IP 的云服务器上，作为整个集群的控制中心。
- **配置操作**：选择作为主节点后，您可以生成专属的连接密钥，并将此密钥提供给子节点用于连接。在主节点的界面上可以添加并管理多个子节点。

### 子节点 (Child)

- **功能**：向主节点报告自身的运行状态，并允许主节点穿越到本面板进行管理。
- **适用场景**：部署在各种边缘环境，如家庭宽带、企业内网等可能没有公网 IP 的环境中。
- **配置操作**：选择作为子节点后，需要填入主节点的地址和由主节点生成的密钥。子节点会主动发起连接，与主节点建立安全的反向穿透隧道。

## 使用步骤

1. **确定角色**：首先在您的面板集群中规划好哪台机器作为主节点，哪些机器作为子节点。
2. **配置主节点**：
   - 登录主节点的面板。
   - 导航至左侧菜单的 **面板互联**。
   - 选择 **我是主节点 (Master)** 角色。
   - 复制生成的连接信息或密钥。
3. **配置子节点**：
   - 登录子节点的面板。
   - 导航至左侧菜单的 **面板互联**。
   - 选择 **我是子节点 (Child)** 角色。
   - 填入主节点的地址和刚才复制的密钥。
   - 保存并连接。
4. **统一管理**：
   - 回到主节点，您将看到刚刚连接上来的子节点列表及其在线状态。
   - 点击子节点列表中的对应操作按钮，即可实现无缝穿越，直接管理该子节点的资源和任务。

## 无缝穿越功能 (Seamless Travel)

无缝穿越是面板互联中最强大的功能之一，它允许您在不离开主节点浏览器界面的情况下，直接接管并操作任何连接的子节点。

### 穿越特点

- **免密直连**：只要子节点已经连接到主节点，即可一键穿越，无需再次输入子节点的管理员账号和密码。
- **全功能接管**：穿越后，您看到的所有数据（如定时任务、脚本、执行历史、系统状态等）和进行的所有操作（如新建任务、执行脚本）都是针对**该子节点**的。相当于您直接在子节点本地登录。
- **内网穿透能力**：得益于底层的反向隧道技术，即使子节点位于无法直接访问的深层内网，穿越依然能够流畅进行，所有的 API 请求都将通过隧道安全转发。

### 如何退出穿越

当您处于穿越状态时（即正在管理某个子节点），界面左下方会出现一个醒目的悬浮控制条（**“返回主节点”**）。
- 随时点击该按钮即可**退出穿越**。
- 退出后，您的视图和操作权限将立即恢复为主节点的本地状态。

> **注意**：
> 请根据实际集群架构分配角色，一旦设定角色，除非重置配置，否则该面板将一直保持此角色。在演示模式下，可能无法修改互联角色。
