Skip to content

Releases: billowliu2/OpenTerminal

OpenTerminal v1.0.25

Choose a tag to compare

@billowliu2 billowliu2 released this 10 Oct 07:25

v1.0.25 发布说明

新增后台更新能力:应用可以在后台定时检查新版本,并在发现更新时静默下载好,安装时机仍完全由你决定。

新增:定时检查更新

  • 设置 → 系统新增「定时检查更新」,可选 从不 / 每 4 小时 / 每 12 小时 / 每 24 小时(默认每 4 小时)
  • 启动时的自动检查与手动「检查更新」始终保留,不受该设置影响
  • 选「从不」即只保留启动检查与手动检查

新增:自动下载更新

  • 设置 → 系统新增「自动下载更新」开关(默认关闭)
  • 开启后,发现新版本会在后台静默下载,不打扰你的操作
  • 安装时机始终由你决定:下载完成后应用不会自行退出,你可以在「关于」页随时点「重启安装」,或在下次正常退出应用时自动完成安装

通知

  • 发现新版本或后台下载完成时,若窗口正最小化在托盘,会弹出一条来自托盘的提示
  • 窗口可见时只更新「关于」页状态,不弹通知打扰

改进

  • 同一个版本不会重复提示或重复下载:长期不关机的用户不会再每 4 小时收到一次相同的新版本提示
  • 后台下载完成、你尚未安装期间,应用不会再把这个版本退回「待下载」状态(「关于」页会稳定显示「重启安装」)
  • 手动点「检查更新」不受上述去重影响,始终如实反映最新状态

界面语言

  • 修复切换界面语言后,部分界面仍停留在旧语言的问题:终端标签的工具提示与右键菜单、布局菜单、分屏「+」按钮提示、SFTP 文件面板(表头/工具栏/右键菜单/权限对话框)、传输面板、服务器监控面板、终端搜索条与粘贴确认等,现在都会即时跟随界面语言
  • 修正日文界面布局菜单中「水平分割 / 垂直分割」仍为中文的问题(现为「左右に分割 / 上下に分割」)

OpenTerminal v1.0.24

Choose a tag to compare

@billowliu2 billowliu2 released this 09 Oct 07:54

v1.0.24 发布说明

一轮全面的审查修复:两个数据安全级问题、多处稳定性与内存问题,以及一批界面细节修补。

稳定性与数据安全

  • 修复应用旧版布局模板会误杀全部 SSH 会话的问题:应用 v0.8 之前保存的单工作区布局模板时,SSH 工作区的活动会话会被静默断开、面板被错误替换为本地终端;现在未受模板影响的工作区保持原样。
  • 配置文件损坏时先备份再重置:命令历史/命令库、连接书签、设置文件若是「合法 JSON 但内容结构不对」,此前会静默按空数据继续运行并在下次保存时整体覆盖;现在会先把原文件备份为 .bak 再重置,不再无声销毁数据。
  • 会话日志退出不再丢尾部:托盘退出/关闭应用时,正在记录的会话日志最后一段也能完整落盘。

SSH 与传输

  • 连接建立期间更稳:SSH 握手尚未完成时渲染层崩溃或应用退出,不再遗留无法回收的孤儿连接;启动瞬间的双窗口竞态也已修复。
  • 快速退出的 shell 不再留下空白终端:进程在面板绑定前就退出的极端情况下,窗格现在能正确显示退出状态,不再表现为「活着但永远空白」。
  • 主机密钥确认弹窗自动过期:主机密钥确认晾置 2 分钟后(与服务端等待时限一致)自动消失,不再挡住后续主机的确认弹窗。
  • ZMODEM 接收大文件更省内存:向慢速磁盘保存大文件时增加背压控制,内存占用不再随文件大小无上限增长。
  • SFTP 删除不再误报失败:删除的目标文件已被其他方式删除(或重复删除)时视为成功,不再报「删除失败」。

界面与设置

  • 服务器监控首次采样即失败时显示中断提示,不再一直显示「采集中」。
  • 高亮规则导入增加格式版本校验,错误文件给出明确原因;内置「百分比」规则的名称在英文/繁中/日文界面下正确本地化。
  • 高亮规则导出下载修复偶发保存出空文件的问题。
  • 删除连接书签、清空命令历史等操作失败时给出错误提示,不再无响应。
  • 应用布局模板期间快速连点不再产生错乱(并发保护)。

内部

  • 更新通道发布护栏加固:通道版本探测失败时拒绝发布,防止旧版本误覆盖线上新版本。
  • 新增 3 组渲染层纯函数测试(共 200 项断言),离线测试增至 22 个。

OpenTerminal v1.0.23

Choose a tag to compare

@billowliu2 billowliu2 released this 09 Oct 00:44

v1.0.23

SFTP 文件管理

  • 列表改为真正的表格:名称 / 大小 / 修改时间 / 权限 / 用户 / 组六列对齐显示,表头吸顶,长列表滚动时始终可见
  • 点击表头排序:六列均可排序,升降序切换有箭头指示,目录始终排在文件之前
  • 字体可缩放:工具栏 A- / A+ 或 Ctrl+滚轮在 0.8–1.8 倍之间调整,行高与字号联动,设置记入本地,重开面板保持
  • 用户 / 组显示真实名称:此前只显示数字 UID / GID,现在从 SSH 服务器返回的信息中解析出 eveuser / root 这样的真实名字
  • 空白处右键菜单:在列表空白区域右键即可唤出新建文件夹、上传、刷新等操作,不必先点中某一行
  • 时间列改为 2026/10/08 15:23 格式,大小列改为 30.7 KB 这类易读写法

修复

  • 修复文件面板六列此前并未真正按网格对齐的问题(排序图标的样式类被误加到行元素上,顶掉了行的网格布局)

OpenTerminal v1.0.22

Choose a tag to compare

@billowliu2 billowliu2 released this 08 Oct 05:26

v1.0.22

输入法

  • 修复中文输入法候选窗不跟随光标(v1.0.21 回归):v1.0.21 的构建环境中终端组件依赖未按锁定版本安装,安装包实际打进的是不含上游输入法修复的旧版本;本版本恢复 v1.0.20 所用的终端组件版本,候选窗重新紧贴光标。

安装包

  • 不再提供 MSI 安装包(electron-updater 本就不支持 MSI 自动更新),统一使用 NSIS exe 安装包。

内部

  • 打包流程新增依赖一致性校验:构建前自动比对实际安装的依赖与锁定清单,不一致即中止,防止同类问题再次发生。

OpenTerminal v1.0.21

Choose a tag to compare

@billowliu2 billowliu2 released this 07 Oct 16:34

v1.0.21

背景图体验

  • 浅色主题不再「洗白」:设置背景图后,调低透明度在任何主题下都是压暗图片(此前浅色主题下调透明度会把图洗成白色,文字完全看不清)。
  • 文字自动提亮:图片模式下终端文字对比度提升到 WCAG AA 级别,浅色主题的深色文字在壁纸上也能清晰可读。
  • 新增「背景压暗」滑杆(设置 → 主题):在图片之上叠加独立压暗层,图片保持饱和度的同时整体变暗,亮图建议 30–50%。
  • 背景图默认透明度从 60% 调整为 30%。

性能

  • 设置写入不再让所有终端窗格重写参数并重排(字段级订阅,只有相关窗格响应)。
  • SFTP 文件列表虚拟滚动:上万条目的目录(如 node_modules)不再卡死窗口。
  • 单个窗格崩溃不再拖垮整个工作区:每个面板独立错误边界 + 重试按钮。
  • SSH 底部面板拖动更顺滑;传输面板与监控图表的渲染开销显著降低。

安装包体积

  • 安装包精简约 90MB(内置依赖 98MB → 8.1MB):纯界面依赖不再重复打进安装包。

安全加固

  • SFTP 上传/下载与 ZMODEM 收发的本地路径,只接受通过系统对话框选择的位置,阻断恶意构造路径的读写。
  • SSH 私钥文件增加校验(必须是 ≤1MB 的普通文件)。
  • 窗口安全选项显式固定(contextIsolation / nodeIntegration / webSecurity),不再依赖默认值。

稳定性修复

  • ZMODEM:写入错误正确终结传输、进度事件节流、会话 detach 时补发终结事件。
  • 连接/命令配置文件损坏时自动备份旧文件再重建,不再静默丢配置。
  • 布局模板应用失败时恢复原布局;锁屏期间后弹出的浮层也被正确禁用。
  • 发布通道防降级(拒绝把旧版本盖到更新通道),资产按 sha512 校验。
  • SFTP 各操作增加超时兜底,半死连接自动重试一次。
  • 启动链路与主机密钥校验多处加固。

其他

  • 终端标签的自动编号标题(「终端 3」)现在跟随界面语言切换。
  • 锁屏快捷键 Ctrl+L 改用物理键位判定,Dvorak 等非 QWERTY 布局也能正确触发。
  • 设置页移除无效的「更新通道」下拉框。

OpenTerminal v1.0.20

Choose a tag to compare

@billowliu2 billowliu2 released this 01 Oct 13:53

OpenTerminal v1.0.20

输入法修复

  • 修复中文输入法候选窗不跟随光标:此前在终端里输入中文时(尤其是 Kimi Code、Claude Code 等高频刷新的 TUI 界面),候选窗会漂到远离光标的位置;现已紧贴光标显示。内置终端组件升级至包含上游输入法修复的版本。

锁屏加固

  • 锁定期间移除应用菜单:Alt 键唤出的菜单里「重新加载 / 开发者工具 / 缩放」可通过鼠标点击绕过键盘拦截,锁定期间整个菜单摘除,解锁后自动恢复。
  • Ctrl+L 立即锁屏的按键判定重构为独立模块并补充 29 条测试用例,防止回归。
  • 全局唤起快捷键的录制器保留 Ctrl+L 不允许占用,避免全局注册在系统层静默禁用紧急锁屏。
  • 修复:系统休眠或窗口失焦后,锁屏密码框的冷却倒计时可能超过真实截止时间,导致可输入时间被无谓延长。

OpenTerminal v1.0.19

Choose a tag to compare

@billowliu2 billowliu2 released this 28 Sep 05:55

v1.0.19

更新机制调整

  • 更新源改为 GitHub 优先:检查更新先走 GitHub releases(跟随系统代理),并带 20 秒连通性探测——没有代理或连不通时不会干等,自动改用国内更新通道(强制直连)兜底。
  • GitHub releases 恢复随版本发布安装包(exe + blockmap + latest.yml),与国内通道保持一致。

终端高亮:性能与兼容性

  • 引擎提速:颜色序列改为编译期预计算(不再逐处解析 hex);高亮区间认领从线性扫描改为有序插入(二分查找);纯文本洪流(如 cat 大文件)跳过重扫描。实测 200KB 负载:密集匹配场景提速约 19–56%,纯文本流式提速约 54%,输出与旧版逐字节一致。
  • 转义序列覆盖更全:新增 DCS/APC/PM/SOS(tmux 透传、sixel、kitty 图形协议)与 DEC 单字符序列(保存/恢复光标等)的识别,这些场景下同行的正常文本不再丢失高亮。

高亮设置页修复

  • 「按分类分组」视图现在真正按分类聚簇(此前会被优先级排序打散)。
  • 规则编辑器新增「基础规则」开关:可将自建规则加入「仅基础」模式的生效集合。
  • 规则集(profile)编辑器勾选部分规则时,会列出未包含的规则。
  • 「替换现有规则」导入增加确认提示,且每次打开弹窗默认回到「追加」。
  • 修复若干小问题:快速连续开关规则可能丢改动、数值分级行不按阈值排序、清除背景色后色块残留等。

OpenTerminal v1.0.18

Choose a tag to compare

@billowliu2 billowliu2 released this 26 Sep 14:20

v1.0.18

紧急修复

  • 修复 v1.0.17 的严重回归:锁屏后无法输入密码。v1.0.17 在锁屏期间由渲染层拦截了全部键盘输入(本意是挡住缩放/刷新快捷键),但按键的默认行为正是「向聚焦的输入框插入字符」,导致锁屏界面密码框收不到任何输入、无法解锁。
  • 快捷键拦截已全部移到主进程(before-input-event),只拦截刷新/开发者工具/缩放组合键,普通输入不受影响。
  • 新增锁屏快捷键 Ctrl+L:应用内任意位置(包括终端里)按下立即锁屏;未设置锁屏密码时不占用该组合键(shell 的 Ctrl+L 清屏不受影响)。
  • 已被 v1.0.17 锁定的用户恢复方法:完全退出应用 → 删除 %APPDATA%\OpenTerminal\lock.json → 重新启动(锁屏数据删除后不会再弹锁屏),升级到本版本后可重新设置锁屏密码。

OpenTerminal v1.0.17

Choose a tag to compare

@billowliu2 billowliu2 released this 24 Sep 14:14

v1.0.17

锁屏(重点更新)

  • 新增 设置 → 锁屏 选项卡:可设置、修改、移除锁屏密码(仅存本机,scrypt 单向哈希,不存明文、无账号体系)
  • 三种锁定方式:立即锁屏、系统闲置指定时长后自动锁定(1/5/15/30/60 分钟,默认关闭)、启动时锁屏
  • 锁定后以完全不透明的遮罩覆盖窗口,背后的终端会话保持运行、不会断开,解锁后恢复原状
  • 密码输错进入渐进冷却(1 秒→30 秒),防止在键盘前暴力猜测
  • 退出并重新启动应用后锁定仍然生效:托盘退出、任务管理器强杀、崩溃都绕不过锁屏
  • 锁定期间停用 Ctrl+R / F5 重新加载、开发者工具与缩放快捷键,避免误触终止遮罩背后的会话
  • 忘记密码无法找回,只能删除本机 %APPDATA%\OpenTerminal\lock.json 后重新设置

安全与稳定性

  • 打包版本不再读取 ELECTRON_RENDERER_URL / OT_UPDATE_URL 环境变量,阻断把应用或更新通道指向恶意地址的注入路径
  • 渲染进程 preload 重新启用沙箱隔离
  • known_hosts 储存无法读取或损坏时改为拒绝连接、提示修复或删除文件,不再静默覆盖全部已固定的主机指纹
  • 连接时的密码/口令输入与书签的认证方式统一(密钥/agent 认证的书签不再弹出密码框、不再送出残留的已存密码)
  • 修复 SSH 连接异常中断时会话退出通知漏发或重发的问题,终端不再卡在「连接中」
  • 分割面板的系统监控在一侧关闭后不再误停另一侧的监控
  • 会话日志索引加入路径校验,防止被篡改的索引把日志写到目录之外
  • 设置保存改为原子写入,Windows 下文件被占用时自动重试,修复偶发的设置保存失败

其他

  • 新增 CI(GitHub Actions):类型检查 + 10 个离线测试 + 构建
  • 窗口隐藏到托盘时,冻结检测日志不再把定时器节流误报为约 1 分钟的「卡死」

OpenTerminal v1.0.16

Choose a tag to compare

@billowliu2 billowliu2 released this 23 Sep 05:04

v1.0.16

关键词高亮(重点更新)

  • 内置规则 11 条 → 22 条:新增危险/破坏性命令(rm -rf、mkfs、dd if=、chmod 777、drop database、管道给 sh 等)、疑似密钥/令牌提醒、删除/移动/覆盖操作、新建/创建操作、日志级别、退出码、HTTP 状态码、耗时(毫秒)、百分比进度、网络与 IP 地址、时间日期、root@ 提示符、Shell 关键字、字符串、环境变量等
  • 状态词三分配色且不分大小写:成功(Success / Succeeded / Successfully / good / done / OK / ✓)、警告(Warning / Caution / Deprecated / ⚠)、错误与致命(Error / NG / err / bug / fail / FATAL / CRITICAL / PANIC / ✗)各自一种颜色
  • not ok / not found 正确显示为错误,不会被误染成成功绿
  • 数值分级取色:百分比低于 20% 红、20–50% 黄、50–80% 浅绿、80% 以上绿;退出码、HTTP 状态码、耗时同样按数值分级取色
  • 高亮模式三档:全部 / 仅基础(只保留错误、成功、警告、危险命令、密钥等关键规则,开销约为全部的 1/4)/ 关闭(零开销)
  • 规则支持「忽略大小写」与「数值分级」开关,编辑器内可用测试文本实时预览着色效果
  • 规则可导入 / 导出 JSON,方便团队分享同一套配色
  • 按主机规则集:可把规则子集存成命名规则集,并在 SSH 连接编辑里绑定给某台主机(默认关,未绑定的主机跑全部规则)
  • 命中/耗时统计:每条规则在本会话的命中次数与扫描耗时(默认关,关闭时零开销)
  • 高亮颜色跟随终端主题:规则颜色映射到当前主题的调色板,换主题不再突兀(默认关)

界面

  • 高亮设置页新增分类列(安全 / 状态 / 文件 / 网络 / 文本 / 数值),可按分类分组查看规则
  • 修复高亮设置页工具栏在窄窗口下标签被挤成竖排、按钮不靠右的问题

测试

  • 新增关键词高亮规则回归测试(词边界、大小写、反向词、数值分级、导入导出、分块流),npm test 全量通过