# 核心概念 ## 环境 (Environment) 资源的逻辑分组。按部署网络或用途划分,每个环境拥有独立的 Agent 和资源集合。 ### 典型分组示例 | 环境 | 连接方式 | 说明 | |------|----------|------| | 阿里云 | 直连 | 公网可直接访问 | | 家里服务 | Agent 代理 | 内网服务器 | | 家庭 NAS | Agent 代理 | 内网存储设备 | ### 环境组成 - **名称**(必填)+ **描述**(选填) - **连接方式**:Agent 代理或直连 - **注册令牌**:用于 Agent 注册 - **Agent 实例**(可选):一个环境最多一个 Agent - **资源列表**:多个可连接资源 ## Agent 部署在目标网络中的轻量级反向代理进程。 ### 工作原理 - 从内网**主动出站**连接 Hub - 建立 WebSocket 加密隧道 - 内网服务器**无需开放入站端口** ### Agent 状态 | 状态 | 图标 | 说明 | |------|------|------| | 在线 | 🟢 | 正常连接 | | 离线 | ⚫ | 未连接 | ### Agent 元信息 - 版本号 - Agent ID - 连接 IP - 运行时间 - 延迟 - 传输量 - 代理资源数 ### Agent 设备信息 - 操作系统 - 架构 - 主机名 - 系统版本 设备信息影响: - 终端提示 - 平台差异提醒 - 二进制下载推荐 - 资源扫描 ## 资源 (Resource) 可连接的远程实体,属于一个环境,通过指定协议连接。 ### 支持的协议 | 协议 | 图标 | 用途 | 色值 | |------|------|------|------| | SSH | `$` | 远程终端 | `#3FB950` 绿色 | | SFTP | 📁 | 文件传输 | `#8B5CF6` 紫色 | | MySQL | `dB` | 数据库查询 | `#58A6FF` 蓝色 | | PostgreSQL | `pg` | 数据库查询 | `#8B5CF6` 紫色 | | Redis | `R` | 缓存管理 | `#F85149` 红色 | | SQLite | `S` | 本地数据库 | `#D29922` 橙色 | | S3 / MinIO | ☁ | 对象存储 | `#E8912D` 主色 | ### 资源配置 资源配置包含连接所需的所有参数: ```json { "host": "192.0.2.1", "port": 22, "username": "pi", "auth": { "type": "password", "passwordEncrypted": "..." }, "terminal": { "encoding": "utf-8", "keepAliveSeconds": 60 } } ``` ## 连接方式 | 方式 | 标识 | 说明 | |------|------|------| | Agent 代理 | ⬡ `#E8912D` | 通过内网 Agent 隧道访问 | | 直连 | ◉ `#58A6FF` | 控制台直接连接目标 | ### 选择建议 - **直连**:公网服务器、云服务(AWS/Azure/阿里云) - **Agent 代理**:内网服务器、NAS、无公网 IP 设备 ## 数据安全 ### 凭据加密流程 ```text REX_SECRET_KEY ↓ 派生加密密钥 ↓ AES-256-GCM 加密敏感字段 ↓ 数据库只保存密文、nonce、算法标识 ``` ### 敏感字段 - SSH 密码 - SSH 私钥密码 - MySQL 密码 - PostgreSQL 密码 - Redis 密码 - S3 secret key