Skip to content

连接流程

了解 Shield CLI 从执行命令到浏览器可访问的完整过程。

整体架构

内网服务 ←→ Shield CLI ←→ 公网网关 ←→ 浏览器
(SSH/RDP/...)   (加密隧道)    (HTML5)    (任意设备)

连接步骤

命令行模式

  1. 解析地址 — 根据协议和输入参数确定目标 IP 和端口
  2. 加载凭证 — 读取或首次生成加密凭证(基于机器指纹)
  3. 认证输入 — 交互式提示或使用命令行参数提供目标服务的用户名密码
  4. 调用服务端 — 向公网网关发起快速配置请求
  5. 建立主隧道 — 通过 WebSocket 建立加密隧道
  6. 建立资源隧道 — 在主隧道上创建到目标服务的端口映射
  7. 分配 URL — 获得唯一的 Access URL
  8. 自动打开浏览器 — 在默认浏览器中打开访问地址
  9. 启动本地 API — 在 4000-5000 端口启动健康检查和管理 API

Web UI 模式

  1. 启动shield start 启动 Web 服务和管理面板
  2. 添加应用 — 用户在 UI 中配置应用(本地加密存储)
  3. 点击连接 — 后台异步建立隧道
    • 调用快速配置 API(带重试逻辑)
    • 建立主隧道(共享)
    • 建立资源隧道(每个应用独立)
    • 轮询目标站点直到可访问
  4. 状态更新 — 前端每 2 秒轮询状态(连接中 → 已连接)
  5. 自动打开 — 连接成功后自动在新标签页打开 Access URL
  6. 断开连接 — 关闭资源隧道,保留主隧道供下次使用

断线重连

Shield CLI 内置自动重连机制:

  • 检测到连接断开后立即尝试重连
  • 使用指数退避策略,最大重试间隔 10 秒
  • 重连过程对用户透明,无需手动干预

端口分配

端口用途
8181(可自定义)Web UI 管理面板
4000-5000本地 API 服务器(健康检查、隧道管理)
62888公网网关通信