Skip to content

Releases: ProbiusOfficial/NexTerm

NexTerm v0.2.2-rc.10

NexTerm v0.2.2-rc.10 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Oct 11:23

亮点功能

  • 多用户账号:服务端首次启动在控制台打印一次性初始化码,在浏览器完成超管初始化;注册默认关闭,超管可以在「设置 → 账号同步」的「用户管理」卡里开放注册或直接创建用户;支持登录设备管理、配对码添加设备,忘记密码可用恢复密钥找回。
  • 账号同步:桌面端「设置 → 账号同步」填服务端地址、用户名和密码登录;资产、分组、片段和凭据在设备之间端到端加密同步,服务端只存密文;known_host 与 AI 模型档案可按开关同步,会话记录(终端录像)默认不同步,可在「终端历史」里对单条打开同步开关。
  • 设备管理与分享:主机安装设备 agent 后进入设备列表(提供一行安装脚本),可远程打开设备终端;主机可分享给其他注册用户,或生成公开链接(默认只读,可勾选允许读写),全程不暴露主机密码与私钥。
  • AI:接入 OpenAI 兼容接口;可按资产授权 AI「终端写入 / 命令执行」,敏感操作需要确认;可查看 AI 用量,模型档案随账号同步。
  • 数据库:服务端可选 PostgreSQL 后端(--db postgres,当前只支持单写入实例);MySQL、Redis 与 Docker 管理继续内置。

下载

桌面客户端

平台 文件
Windows 10/11 x64 *_x64-setup.exe(NSIS 安装器,双击即装)
Windows 10/11 ARM64 *_arm64-setup.exe(NSIS 安装器,双击即装)
macOS(Apple Silicon) *_aarch64.dmg(拖入「应用程序」)
macOS(Intel) *_x86_64.dmg(拖入「应用程序」)
Linux amd64 NexTerm-desktop_*_linux_amd64.deb(apt install ./NexTerm-desktop_*_linux_amd64.deb,自动装 GTK4 / WebKitGTK 6.0 依赖)
Linux ARM64 NexTerm-desktop_*_linux_arm64.deb(apt install ./NexTerm-desktop_*_linux_arm64.deb,自动装 GTK4 / WebKitGTK 6.0 依赖)

服务端(浏览器访问)

用途 文件
LinuxServer(自建机器 / 内网 VPS,含完整浏览器界面与可选 sync-only 模式) NexTerm-server_*_linux_amd64.tar.gz / NexTerm-server_*_linux_arm64.tar.gz

服务端每个架构只发布一个 full 包,里面有 Go 静态二进制、前端、nexterm-server.service 与 nexterm-onlyserver.service 两种 unit,以及对应的 env 示例。只做资产同步时,安装后一种 unit,让同一二进制以 --sync-only 运行;没有独立的 onlyServer 下载包。两个 unit 不要同时启用。部署步骤见 README 的「服务端与懒猫微服」。

访问控制默认开启(--auth on):完整版服务端的 /rpc、/ws 与 /files/blob 在任何监听地址都要求登录账号(/healthz 与页面静态资源保持公开),浏览器首次打开会进入初始化或登录页。--sync-only 模式只开放账号、超管与同步路由(/auth/*、/admin/*、/sync/v2/*,以及仅含对端同步三命令的 /sync/rpc)和 /healthz;其中 /healthz 无需登录即可访问,/auth/status、/auth/init、/auth/login、/auth/register、/auth/recovery/reset、/auth/devices/enroll 是匿名可用的公共端点,其余都要求登录会话(/admin/* 要求超管身份)。公网部署请只监听回环地址,前面配置带 TLS 的反向代理并用防火墙限制来源地址;--auth off 会关闭账号、管理与设备路由,任何能连到监听地址的人都能操作服务端,不能用于公网。使用默认 SQLite 后端时,备份数据目录即备份全部工作区数据与密文同步内容;--db postgres 部署的工作区与同步数据存放在 PostgreSQL 中,必须另行备份数据库。

懒猫微服

在微服的应用中心里安装,不经这里下载:构建要连私有镜像仓库,凭证只在微服侧,出不了这条流水线。

macOS 首次打开会被拦一次(预期行为,不是文件损坏)

安装包是 ad-hoc 签名、未公证的(没有 Apple Developer 证书):

  1. 双击应用,看到「无法验证开发者 / 无法检查是否包含恶意软件」→ 点「完成」
  2. 系统设置 → 隐私与安全性,下拉到「安全性」,点「仍要打开」
  3. 之后正常双击即可

如果提示的是「已损坏」而不是「无法验证开发者」,那是早期版本的签名缺陷,请改用最新版本;或用命令行修掉:xattr -dr com.apple.quarantine /Applications/NexTerm.app

验证说明

本 Release 附带 SHA256SUMS(文件校验和)。
真实环境验证缺口(真实浏览器、真机安装与部署等)见仓库文档。

NexTerm v0.2.2(Rust 稳定版)

Choose a tag to compare

@github-actions github-actions released this 08 Oct 12:34

重发说明(2026-10-08)

本版安装包已重新构建,修掉桌面端「把资产卡片拖进分组、松手没反应」这个缺陷。

它的表象非常具有误导性:拖拽过程完全正常(光标有反馈、悬停时分组会亮起),
松手之后也没有任何报错,只是那一下没有生效 —— 后端一条记录都没写。
根因是桌面外壳默认开启的「原生拖放接管」把网页自己的拖放事件整个吃掉了,
两处窗口配置都要关掉它才生效(此前只关了一处,macOS 上等于没关)。

只影响桌面客户端:两个 Linux 服务端包与懒猫微服专版都不经过这一层,无需更换。
已经下载过本版的,桌面客户端建议重新下载。
(macOS 上已实测复现并验收;Windows 侧同一项配置一并关掉,属预防性对齐。)

本次更新

v0.2.2 —— 「一次管一批,一栏干一摊活」。

v0.2.1 把工作台搬到了服务端,让浏览器退回成显示器。这一版解决的是规模:
以前每加一台机器、每跑一条命令都要重复一遍点击;现在可以先框选一批资产再动手,
也可以把主区左右切成两栏、同时盯着两台机器。

自 v0.2.1 以来共 17 个提交、66 个文件(+4911 / −198 行)。

本版是 NexTerm Rust 实现线的稳定版。

新增

一、资产:一次选中一批,一次动作对一批

资产右键菜单的「复制」有六个层次,按需取用 —— 并且都不会偷偷降级成「少给你一段」:

菜单项 内容
IP:端口 10.0.0.8:22
用户名@IP:端口 root@10.0.0.8:22
ssh 命令 可直接粘贴执行的 ssh 一行
SSH 配置块 可直接追加进 ~/.ssh/config 的一段
连接信息(含密码) 导出格式行 + 明文密码,需先解锁凭据库
导出格式行(不含密码) 同格式,不含密码,无需解锁

含密码那一项走的是既有的 vault_reveal_credential:点下去那一刻才取明文、
同一凭据只取一次、明文不进前端状态;凭据库处于锁定时会先走解锁流程才开始复制。

  • 批量导入:攻防场景一次贴一堆机器,不用再一台一台点「新建」。
    输入格式与「导出格式行」闭环 —— 在另一台机器上导出的行可以直接粘回来。
  • 批量执行命令:新增后端命令 batch_exec,多资产并发执行同一条命令,
    各台的输出分别带回来。

导出/导入的行格式(值里有空白才加双引号,password 一律不加引号):

host=10.0.0.8 port=22 user=root authType=password password=... title=web-01 note=

二、分屏:主区可以左右切了

以前只有上下分屏,轴写死在 SplitStack 里。现在两种都能切,
而且已分屏时再点分屏 = 原地转轴(不会先合并再重开)。

标签右键菜单扩展成:

动作 说明
在右侧分屏 / 在下方分屏 把当前标签挪进新开的一栏
关闭标签 单个
关闭其他标签 / 关闭右侧标签 / 关闭本栏全部 批量

三、凭据视图:入口挪出来,默认给 JSON

  • 左栏顶部新增一张「凭据视图」卡片。原先的入口埋在底部,凭据一多就被列表顶出视野。
  • 点开默认 JSON。这张视图的真实用途是被别处消费(贴工单、喂脚本、拷到另一台机器),
    JSON 能直接解析而 ssh config 文本不行;要看文本在工具栏里一键切。
  • 新增资产多选导出到剪贴板。

修复

  • 重连成功后终端被遮罩挡死:后端其实已经连上、敲字也有反应,界面却一直挂着
    「终端进程已结束」。根因是 exited 标记只有置 true 的地方、没有置回 false 的路径 ——
    重连重建了 PTY 却没清标记。WinRM 分支上同样的滞留也一并修了。
  • 重连后文件树报「找不到会话」:真因在前端 —— 重连建了新会话,却只更新了终端标签的
    sessionId,工作区的 sessionId 与已经打开的文件还在按旧 id 查。现在统一重定向整个工作区
    及其下所有标签。
  • 浏览器版凭据库的「锁定」是个死锁:服务端的库同样是 master 模式,但密码是部署方注入的
    随机值
    (懒猫上是平台 secret、自建是 --master-key),用户根本不知道 ⇒ 点「立即锁定」之后
    没有任何能解开的入口,只能重启服务端。已在浏览器形态下撤掉锁定/解锁入口,改为直接说明恢复方式。
  • 小屏 / 平板下工具条塌成竖排单字:中文串的「最小内容宽度」只有一个汉字 ——
    被压缩时不会像英文那样出省略号,而是逐字换行;与此同时按钮不参与压缩,
    于是压缩量全落在文字上:文字塌成一列,按钮反而右溢被裁。
    已把全部 12 个面板扫过一遍并修掉 3 处(凭据视图工具条、终端工具条、设置·快捷键卡片)。

变化

  • 懒猫微服:全平台放开。此前声明了 unsupported_platforms: [ios, android],
    在安卓 / iOS 上点应用图标会被平台直接挡下(提示「您的应用不支持当前平台」)。
    现在这个字段整个不再声明。
    ⚠️ 放开 ≠ 移动端交互已经优化 —— 触屏下软键盘遮挡终端、没有 Ctrl 与右键菜单、分屏挤成一团,这些还在。
    ⚠️ 这一项要重新出包才生效,改本地文件不影响已经装上的应用。
  • 服务端二进制小了一圈:release profile 改用 lto = "fat" + codegen-units = 1。
    同源对照实测体积 −33.8%(17.1 MB → 11.3 MB,darwin/arm64),而终端吞吐基本不变
    (77.1 → 76.8 MB/s)。更激进的 opt-level = "z" 还能再省 2.2 MB,但吞吐会掉到
    50.4 MB/s(−34%)—— 没有采用,终端吞吐是本产品的核心指标。
    本版 Linux x86-64 服务端二进制为 12.6 MB。
  • 命令数 139 → 140(新增 batch_exec)。桌面端与服务端仍共用同一份命令清单。
  • CI 补上服务端质量门:此前 clippy --all-features 会打开 desktop 特性,
    挂在 cfg(not(feature = "desktop")) 上的服务端代码在 CI 里从未被编译过。
    现在有独立 job 编译并测试它。

已知限制

  • 微服重启 / 应用升级 ⇒ 会话与后台任务全丢。会话池是内存结构,刻意不落库 ——
    要抗重启得用 tmux / screen 承托,是另一个量级的工作量。界面文案也写了这一条。
  • 浏览器版完整形态不适合直接暴露公网:它自身没有登录鉴权(懒猫上那道登录门是平台给的,
    裸 Linux 上没有)。公网场景请用 onlyServer,或自己套一层反向代理鉴权。
  • 同步仍然是手动的:没有自动同步,也没有后台定时同步。
  • 两个 Linux 包要求 glibc >= 2.39(它们在 Ubuntu 24.04 的 CI runner 上构建;实测
    libc.so.6 的版本需求最高到 GLIBC_2.39):Ubuntu 22.04 / Debian 12 上直接跑会报
    version 'GLIBC_2.39' not found,而那个报错看不出是发行版太旧。
    请用 Ubuntu 24.04+ / Debian 13+。
    (懒猫微服专版的二进制在 debian bookworm 容器里交叉编译,实测只要求 glibc >= 2.34,
    与上面两个包不是同一份产物。)
  • 懒猫微服专版:本 Release 附 cloud.lazycat.app.nexterm-v0.2.2.lpk,可手动安装;
    商店上架状态以商店为准。
  • 升级到本版不涉及数据库结构变更,装上新版即可,原有数据直接沿用。

下载

桌面客户端

平台 文件
Windows 10/11 x64 *_x64-setup.exe(NSIS 安装器,双击即装)
macOS(Apple Silicon) *_aarch64.dmg(拖入「应用程序」)

服务端(浏览器访问)

用途 文件
LinuxServer —— 自建机器 / 内网 VPS,带完整浏览器界面 NexTerm-*-linux-amd64.tar.gz
onlyServer —— 公网只做资产同步中转,无界面、命令行管理 NexTerm-onlyServer-*-linux-amd64.tar.gz

两者是同一个二进制,只差一个 --sync-only —— 分成两个包是为了让你拿到手就是对的形态。
解压后有二进制、前端产物、systemd 单元与一份 README.md / .env.example。
部署步骤见 README 的「部署服务端」。

⛔ 完整版服务端自身没有登录鉴权,不建议直接暴露公网;公网请用 onlyServer。

懒猫微服

在微服的应用中心里安装。本 Release 同时也附了一份可手动安装的 .lpk ——
它出不了这条流水线(构建要连私有镜像仓库,凭证只在微服侧),是维护者本机出的。

macOS 首次打开会被拦一次(预期行为,不是文件损坏)

安装包是 ad-hoc 签名、未公证的(没有 Apple Developer 证书):

  1. 双击应用,看到「无法验证开发者 / 无法检查是否包含恶意软件」→ 点完成
  2. 系统设置 → 隐私与安全性,下拉到「安全性」,点 「仍要打开」
  3. 之后正常双击即可

如果提示的是**「已损坏」**而不是「无法验证开发者」,那是早期版本的签名缺陷,
请改用最新版本;或用命令行修掉:xattr -dr com.apple.quarantine /Applications/NexTerm.app