banner.png

Github: https://github.com/Heavrnl/nexus-terminal

📖 概述

星枢终端(Nexus Terminal) 是一款现代化、功能丰富的 Web SSH / RDP 客户端,致力于提供高度可定制的远程连接体验。

✨ 功能特性

  • 多标签页管理 SSH 与 SFTP 连接
  • 支持通过 RDP 协议远程访问 Windows 桌面
  • 采用 Monaco Editor,支持在线编辑文件
  • 集成多重登录安全机制,包括人机验证(hCaptcha、Google reCAPTCHA)与双因素认证(2FA)
  • 高度可定制的界面主题与布局风格
  • 内置简易 Docker 容器管理面板,便于容器运维
  • 支持 IP 白名单与黑名单,异常访问自动封禁
  • 通知系统(如登录提醒、异常告警)
  • 审计日志,全面记录用户行为与系统变更
  • 基于 Node.js 的轻量级后端,资源占用低
  • 内置心跳保活机制,确保连接稳定
  • 焦点切换器:允许在页面输入组件间切换,支持自定义切换顺序和快捷键

📸 截图

终端界面(Light) 终端界面(Dark)
workspace_light.png workspace_darker.png
登录界面 RDP
login.png RDP.png
样式设置 布局设置
ui.png layout.png

🚀 快速开始

1️⃣ 配置环境

新建文件夹

mkdir ./nexus-terminal && cd ./nexus-terminal

下载仓库的 docker-compose.yml.env 到目录下

wget https://raw.githubusercontent.com/Heavrnl/nexus-terminal/refs/heads/main/docker-compose.yml -O docker-compose.yml && wget https://raw.githubusercontent.com/Heavrnl/nexus-terminal/refs/heads/main/.env -O .env

配置 nginx

location / {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Range $http_range;
    proxy_set_header If-Range $http_if_range;
    proxy_redirect off;
    proxy_pass http://127.0.0.1:18111;
}

2️⃣ 启动服务

docker-compose up -d

3️⃣ 更新

注意:docker-compose 运行不需要拉取仓库源码,除非你打算自己build,否则只需要在项目目录执行以下命令即可更新。

docker-compose down
docker-compose pull
docker-compose up -d

📚 使用指南

以下是一些隐式的实用功能

命令输入框组件

  1. 标签页切换​:当命令输入框获得焦点时,使用 Alt + ↑/↓ 切换 SSH 会话标签页,使用 Alt + ←/→ 切换文本编辑器标签页。
  2. 命令同步​(需在设置中开启):开启后,在命令输入框中输入的文字将实时同步到选定的目标输入源。使用 ↑/↓ 键选择菜单命令项,然后按下 Alt + Enter 发送选中的指令。

文件管理器组件

  1. 文件快速选择​:在文件搜索框获得焦点时,可以使用 ↑/↓ 键快速选择文件。
  2. 拖拽上传​​:支持从浏览器外部拖拽文件或文件夹进行上传。注意: 上传大量文件或深层文件夹时,建议先进行打包压缩,以避免浏览器卡死。
  3. 内部拖拽​:可以直接在文件管理器内部拖动文件或文件夹以进行移动。
  4. 多选操作​:按住 CtrlShift 键可以选择多个文件或文件夹。
  5. 右键菜单​:提供复制、粘贴、剪切、删除、重命名、修改权限等常用文件操作。

历史命令组件

  1. 查看完整命令​:当历史命令过长被截断时,将鼠标悬停在命令上即可查看完整的指令内容。

通用操作

  1. 缩放​:在终端、文件管理器和文本编辑器组件中,可以使用 Ctrl + 鼠标滚轮 进行缩放。

⚠️ 注意事项

  1. 双文件管理器​:可以在布局中添加两个文件管理器组件(实验性功能,可能存在不稳定情况)。
  2. 多文本编辑器​:在同一布局中添加多个文本编辑器的功能尚未实现。