高颜值终端工具Nexus Terminal

简介

什么是 Nexus Terminal ?

星枢终端(Nexus Terminal) 是一款现代化的 Web SSH / RDP / VNC 客户端,致力于提供高度可定制的远程连接体验。它支持独立的桌面端,适用于各种远程管理需求。

主要特点

  • 多标签页管理:支持同时管理多个 SSHSFTP 连接,提升操作效率。
  • 协议支持:兼容 RDPVNC 协议,适用于不同的远程桌面需求。
  • PWA 支持:可作为渐进式 Web 应用(PWA)使用,提供更好的用户体验。
  • 在线文件编辑:集成 Monaco Editor,支持在线编辑文件。
  • 安全机制:具有人机验证(如 hCaptchaGoogle reCAPTCHA)和双因素认证(2FA),确保安全性。
  • 界面定制:提供高度可定制的界面主题和布局风格。
  • Docker 管理:内置简单的 Docker 容器管理面板,便于远程容器管理。
  • 审计日志:记录用户行为和系统变更,便于监控和审计。

应用场景

  • 远程服务器管理:适用于系统管理员和开发人员通过 SSHRDP 远程管理服务器。
  • 容器运维:适合需要管理和监控 Docker 容器的开发和运维团队。
  • 文件管理:提供便捷的文件上传、下载和编辑功能,适合需要频繁处理文件的用户。
  • 安全敏感环境:在需要高安全性的环境中,利用多重认证机制保护远程访问。

docker 版本外,还有 Windows 版客户端;

Nexus Terminal 是一个功能强大的工具,适合各种需要远程连接和管理的场景。

安装

在群晖上以 Docker 方式安装。

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
services:
frontend:
image: heavrnl/nexus-terminal-frontend:latest
container_name: nexus-terminal-frontend
ports:
- "18111:80"
depends_on:
- backend
- remote-gateway

backend:
image: heavrnl/nexus-terminal-backend:latest
container_name: nexus-terminal-backend
volumes:
- ./data:/app/data
environment:
NODE_ENV: production
PORT: 3001
DEPLOYMENT_MODE: docker # local/docker
REMOTE_GATEWAY_API_BASE_LOCAL: http://192.168.0.197:9090
REMOTE_GATEWAY_API_BASE_DOCKER: http://remote-gateway:9090
REMOTE_GATEWAY_WS_URL_LOCAL: ws://192.168.0.197:8080
REMOTE_GATEWAY_WS_URL_DOCKER: ws://remote-gateway:8080
# passkey
RP_ID: "192.168.0.197"
RP_ORIGIN: "http://192.168.0.197:18111"

remote-gateway:
image: heavrnl/nexus-terminal-remote-gateway:latest
container_name: nexus-terminal-remote-gateway
environment:
GUACD_HOST: guacd
GUACD_PORT: 4822
REMOTE_GATEWAY_API_PORT: 9090
REMOTE_GATEWAY_WS_PORT: 8080
FRONTEND_URL: http://frontend
MAIN_BACKEND_URL: http://backend:3001
NODE_ENV: production
depends_on:
- guacd
- backend

guacd:
image: guacamole/guacd:latest
container_name: nexus-terminal-guacd
restart: unless-stopped

其中 192.168.0.197 为老苏的群晖主机的 IP

  • backend 服务的环境变量
变量名 类型 说明
NODE_ENV 字符串 production 指定应用运行的环境。
PORT 整数 3001 后端服务监听的端口。
DEPLOYMENT_MODE 字符串 docker 部署模式,可以是 localdocker
REMOTE_GATEWAY_API_BASE_LOCAL 字符串 http://192.168.0.197:9090 本地环境的远程网关 API 基地址。
REMOTE_GATEWAY_API_BASE_DOCKER 字符串 http://remote-gateway:9090 Docker 环境的远程网关 API 基地址。
REMOTE_GATEWAY_WS_URL_LOCAL 字符串 ws://192.168.0.197:8080 本地环境的远程网关 WebSocket URL。
REMOTE_GATEWAY_WS_URL_DOCKER 字符串 ws://remote-gateway:8080 Docker 环境的远程网关 WebSocket URL。
RP_ID 字符串 192.168.0.197 用于 Passkey 登录的注册 ID,通常是 RP_ORIGIN 的域名或主机部分。
RP_ORIGIN 字符串 http://192.168.0.197:18111 Passkey 登录的来源 URL
  • remote-gateway 服务的环境变量
变量名 类型 说明
GUACD_HOST 字符串 guacd Guacamole 的主机名。
GUACD_PORT 整数 4822 Guacamole 的端口号。
REMOTE_GATEWAY_API_PORT 整数 9090 远程网关 API 的端口号。
REMOTE_GATEWAY_WS_PORT 整数 8080 远程网关 WebSocket 的端口号。
FRONTEND_URL 字符串 http://frontend 前端服务的 URL
MAIN_BACKEND_URL 字符串 http://backend:3001 主后端服务的 URL

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 nexus-terminal 和 子目录
mkdir -p /volume1/docker/nexus-terminal/data

# 进入 nexus-terminal 目录
cd /volume1/docker/nexus-terminal

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:18111 就能看到设置界面

第一次需要创建一个账号,创建完成后,需要登录

登录成功后的主界面

进入 终端 –> 连接列表

添加一个连接

设置完成后,可以测试一下,如果没问题就可以添加了

连接服务器

所有操作都有日志

参考文档

Heavrnl/nexus-terminal: 一款现代化的 Web SSH / RDP / VNC 客户端,提供独立桌面端,支持人机验证、2FA、界面定制、操作审计等强大功能。
地址:https://github.com/Heavrnl/nexus-terminal