Skip to content

NoriShell v0.1.6

Choose a tag to compare

@Norixor Norixor released this 28 Sep 16:02
· 14 commits to main since this release

NoriShell v0.1.6

中文

新增

  • 标签页与窗口:Header 中的标签页(终端、SFTP 文件、远程桌面、新建页面、插件页面)可以拖出成为独立窗口,也可以拖回主窗口或拖入另一个窗口;移动过程中 SSH、本地终端、SFTP 和远程桌面连接不会断开。标签页右键菜单提供“在新窗口打开”和“移到主窗口”。
  • 新建页面:点击 Header 的“+”默认打开“新建页面”,在同一页选择新建终端(连接主机或打开本地终端)或 SFTP 文件(连接主机浏览或浏览本机文件);下方列出最近使用的主机(收藏优先,其余按最近使用排序),每台主机可直接选择“终端”或“SFTP”。
  • SFTP 文件标签页:SFTP 改为文件标签页,可同时打开多个,每个都显示在 Header 中并标明 Pane 数量。欢迎页可选择从本机文件或从服务器开始,也可直接点选已保存的服务器;从主机列表、托盘等入口每次打开 SFTP 都会新建一个文件标签页。关闭仍有 SFTP 会话的文件标签页时会先确认,进行中的传输需先完成或取消。
  • SFTP 浏览:新增后退/前进、可点击的路径面包屑和“编辑路径”按钮,文件列表新增“类型”列。远程 Pane 显示服务器地址、连接状态和最近一次目录请求耗时,连接中断后可在 Pane 内直接重连。
  • SFTP 布局:任意 Pane 的菜单都可以添加本机或远程 Pane;分屏、切换 Pane、关闭 Pane 的快捷键在文件标签页中同样可用。
  • Overview:页面顶部新增状态汇总,显示主机总数、在线、异常、离线数量,以及在线主机的平均 CPU、内存和磁盘占用。每张服务器卡片显示 CPU、内存、磁盘最近 24 次采样的趋势线;趋势只保存在本次运行中,重新连接或重启应用后从头开始。
  • 远程桌面:新增“发送特殊按键”菜单(Ctrl+Alt+Del、Windows 键、Alt+Tab、Ctrl+Esc、Print Screen)。新增仅对本机生效的“HiDPI / Retina 分辨率”和“将 ⌘ 作为 Ctrl 发送”选项,不随桌面配置保存或同步;开启后 ⌘+1…9 仍用于切换标签页。
  • 远程桌面:画面上新增状态提示层,连接中、等待在受保护窗口确认、会话已结束等状态会直接说明下一步;会话结束后可在标签页内一键重新连接。
  • 本地终端:本地终端画面无法显示时,Pane 内提供“重试显示”,重新接回仍在运行的 Shell,不会另开一个新 Shell。
  • 版本与更新:Navigation Rail 底部显示当前版本号和更新状态;有新版本时点击版本号即可进入安装确认,不支持自动安装的平台会打开更新方式说明。
  • 自建同步:差异摘要分别显示待上传、待下载和需确认的数量。

调整

  • 标签页:新建标签页会立即选中并显示对应类型的占位画面,内容准备好后再显示;从主机、快速连接、Telnet 或 SFTP 目录新建终端时,不再先闪过启动页。关闭标签页时直接切到相邻标签页;从标签页切到 Rail 或托盘页面时,等新页面绘制完成后才切换,不再露出旧画面。
  • 标签页:应用启动恢复标签页时,仍在运行的会话优先重新接回,后台标签页不会抢走输入焦点,恢复过程也不会自行弹出 Vault 解锁窗口。
  • 标签页:右键菜单改用系统原生菜单。“关闭左侧 / 右侧 / 全部标签页”现在只确认一次,并说明将断开其中仍在运行的终端、文件或远程桌面会话;只包含页面标签页时不需确认。
  • 设置:“新建终端时”改为“新建页面时”,可选择显示新建页面、终端欢迎页、SFTP 欢迎页或直接打开本地终端。原先选择“显示欢迎页面”的用户,升级后点击“+”会打开新建页面。
  • Navigation Rail:设置入口移到 Rail 底部;插件在 Rail 上的入口改为以页面标签页打开。
  • 终端:快捷命令每条常显“运行”和“复制”,编辑和删除收进“更多操作”菜单。命令历史改为左侧切换“当前主机 / 全部历史”、右侧搜索和列表的布局。
  • SFTP:文件列表列顺序改为修改时间、大小、类型,文件夹的大小列显示“-”。
  • Overview 监控:启用监控的主机改为保持一条监控专用 SSH 连接,每次采样只在其上执行固定命令,不再每次采样重新登录,服务器上的登录记录明显减少。电脑从睡眠唤醒、网络变化或主窗口重新获得焦点时,过期样本会标记为过期并尽快重新采样。Vault 锁定时,依赖 Vault 凭据的监控会停止并提示需要解锁,解锁后自动恢复。
  • 远程桌面:只传输画面变化的区域,最高约每秒 60 次更新;RDP 和 VNC 的鼠标指针改由本机绘制,移动更跟手;指针和滚轮事件按帧合并,输入响应更快。补齐 F13–F24、Print Screen、菜单键和部分国际键盘按键;macOS 上 Ctrl+1…9 现在会发送到远程桌面。
  • 托盘(Windows):托盘面板在主窗口就绪后预先创建,首次点击托盘图标时无需临时创建面板。
  • 自建同步:打开同步页面、点击刷新或同步时,先检查账户状态,已连接就自动继续读取差异,不必再手动刷新。Vault 未解锁、需要你继续操作、未登录等预期状态改为以提醒显示,不再显示为错误。

修复

  • SSH 认证过程中连接断开时,此前会被当作“认证被拒绝”,看起来像密码错误;现在按连接中断报告,可直接重试。
  • RDP 服务端把图形通道切换到 UDP 后,客户端仍停留在 TCP,导致画面一直黑屏;现在各通道分别跟随切换,UDP 下画面正常。
  • 远程桌面在网络拥塞、输入确认较慢时会被结束会话;现在会话保持,拥塞时仍为按键保留余量,不会失去控制。远程画面获取失败时,此前误报为“输入已停止”,现在单独提示画面无法显示。
  • Windows 托盘面板再次打开时可能一直停在“加载中”;现在能正确读取状态,读取失败会显示状态码并可重试。
  • macOS 上拖动调整窗口大小时,左上角窗口按钮会跳动。
  • 深色主题下快速调整窗口大小或打开新窗口时,会短暂闪白。
  • 界面缩放不是 100% 时,主机编辑、远程桌面编辑和 SFTP 文件等工具窗口的标题栏高度、内容比例与主窗口不一致,macOS 窗口按钮位置偏移。
  • 主机编辑、Overview、插件、快捷键与终端增强设置、SFTP、隧道等界面中,部分边框、颜色、圆角和字体没有生效。
  • 远程桌面页面的会话列表刷新短暂失败后,错误提示在恢复后仍不消失;现在会自动清除,连接过程中的状态也刷新得更及时。
  • 自建同步:内容没有变化时(例如原样保存编辑框、确认登录自动化后),同步页面仍显示“有待同步的数据”;现在按内容和删除状态判断差异,直接刷新时偶发的 notFound 也一并修复。

已知限制

  • 升级后终端标签页布局会从空白开始:v0.1.5 保存的标签页和分屏布局会被清空;主机、凭据、Vault、Known Hosts、插件等数据保留。
  • 在 Rail 页面之间切换时,页面数据加载期间可能短暂空白。
  • Windows 单击托盘图标后约 0.5 秒才弹出面板,这段等待用于区分双击打开主窗口。
  • 自建同步插件 0.1.13 需要 NoriShell 0.1.6;从本地包更新插件时,可能需要重新批准 sshSync 权限。

English

Added

  • Tabs and windows: Header tabs (terminal, SFTP files, remote desktop, New Page and plugin pages) can be dragged out into their own window, then dragged back to the main window or into another window. SSH, local terminal, SFTP and remote desktop connections stay connected throughout. The tab context menu adds "Open in new window" and "Move to main window".
  • New Page: The header "+" now opens New Page by default. From one page you can start a terminal (connect to a host or open a local terminal) or SFTP files (connect to a host or browse local files). Recently used hosts are listed below, favorites first and the rest by most recent use, and each host offers direct Terminal and SFTP actions.
  • SFTP file tabs: SFTP now opens as file tabs. You can keep several open at once, and each appears in the header with its pane count. The welcome page lets you start with local files or with a server, or pick a saved server directly. Opening SFTP from Hosts, the tray or other entry points creates a new file tab each time. Closing a file tab that still has SFTP sessions asks for confirmation first, and active transfers must finish or be cancelled.
  • SFTP browsing: Back and Forward buttons, clickable path breadcrumbs, an Edit path button and a Type column. Remote panes show the server address, connection state and the duration of the latest directory request, and you can reconnect from the pane after a connection drops.
  • SFTP layout: Any pane's menu can add a local or remote pane, and the split, pane focus and close-pane shortcuts also work in file tabs.
  • Overview: A summary row shows total, online, issue and offline host counts, plus average CPU, memory and disk usage across online hosts. Each server card draws trend lines for the last 24 CPU, memory and disk samples. Trends are kept only for the current run and start over after a reconnect or app restart.
  • Remote desktop: A "Send special keys" menu (Ctrl+Alt+Del, Windows key, Alt+Tab, Ctrl+Esc, Print Screen). New device-local "HiDPI / Retina resolution" and "Send ⌘ as Ctrl" options apply only to this device and are not saved with the desktop or synced; ⌘+1…9 still switches tabs.
  • Remote desktop: A status overlay explains what to do while connecting, while waiting for approval in the protected window, and after a session ends. An ended session can be reconnected from the tab with one click.
  • Local terminal: When a local terminal can't be displayed, the pane offers "Retry display". It reattaches the Shell that is still running instead of starting a new one.
  • Version and updates: The Navigation Rail footer shows the current version and update status. When an update is available, select the version to open the install confirmation; on platforms without automatic install it opens the update options instead.
  • Self-hosted Sync: The difference summary shows separate counts for items to upload, items to download, and items that need confirmation.

Changed

  • Tabs: New tabs are selected immediately and show a placeholder for their type until their content is ready. Terminals opened from a host, Quick Connect, Telnet or an SFTP directory no longer flash the launcher first. Closing a tab switches straight to its neighbour. Switching from a tab to a Rail or tray page waits until the page has painted, so old content is no longer exposed.
  • Tabs: When restoring tabs at startup, sessions that are still running reattach first. Background tabs never take input focus, and the restore never opens a Vault unlock prompt by itself.
  • Tabs: The tab context menu is now the native system menu. Closing tabs to the left, to the right, or all tabs asks for confirmation once and lists the terminal, file and remote desktop sessions that will be disconnected; no confirmation is needed when only page tabs are closed.
  • Settings: "When creating a terminal" is now "When creating a page", with options to show New Page, the Terminal welcome page, the SFTP welcome page, or open a local terminal directly. If you had chosen "Show welcome page", the "+" button opens New Page after upgrading.
  • Navigation Rail: Settings moved to the bottom of the Rail, and plugin entries on the Rail now open as page tabs.
  • Terminal: Each quick command always shows Run and Copy; Edit and Delete moved into a More actions menu. Command history now has a sidebar to switch between the current host and all history, with search and results on the right.
  • SFTP: File list columns are now ordered Modified, Size, Type, and folders show "-" for size.
  • Overview monitoring: Each monitored host keeps one dedicated monitoring SSH connection and runs the fixed sampling command on it, instead of logging in again for every sample, so the server records far fewer logins. After the computer wakes, the network changes, or the main window regains focus, outdated samples are marked stale and resampled promptly. While the Vault is locked, monitoring that relies on Vault credentials stops and asks you to unlock; it resumes automatically after unlocking.
  • Remote desktop: Only changed screen regions are transferred, at up to about 60 updates per second. The RDP and VNC pointer is now drawn locally so it follows the mouse more closely, and pointer and wheel events are combined per frame for faster input. F13–F24, Print Screen, the context menu key and several international keyboard keys now reach the remote desktop, and on macOS Ctrl+1…9 is now sent to the remote desktop.
  • Tray (Windows): The tray panel is created in the background once the main window is ready, so the first click on the tray icon doesn't have to create it.
  • Self-hosted Sync: Opening the Sync page, refreshing, or syncing checks the account first and continues to read differences automatically when connected, so a manual refresh is no longer needed. Expected states such as a locked Vault, an action you need to take, or being signed out now appear as warnings instead of errors.

Fixed

  • If the connection dropped during SSH authentication, NoriShell reported it as a rejected login, which looked like a wrong password. It is now reported as a lost connection, and you can simply retry.
  • When an RDP server moved its graphics channel to UDP, the client stayed on TCP and the display remained black. Channels now follow the switch individually, and the display works over UDP.
  • A remote desktop session was ended when input acknowledgements were slow, for example on a congested network. The session now stays open, and key input keeps headroom under congestion so control is not lost. A failure to fetch the remote display was reported as "input stopped"; it now shows its own message.
  • The Windows tray panel could stay on "Loading" after being reopened. It now reads its state reliably, and a failed read shows a status code with a retry option.
  • On macOS, the window buttons jumped while resizing the window.
  • In the dark theme, windows briefly flashed white during fast resizes or when a new window opened.
  • At a UI zoom other than 100%, tool windows such as the Host editor, Desktop editor and SFTP file window had a different header height and content scale from the main window, and the macOS window buttons were misplaced.
  • Some borders, colours, corner radii and fonts were not applied in the Host editor, Overview, plugins, shortcut and terminal enhancement settings, SFTP and Tunnels.
  • After a brief failure refreshing the remote desktop session list, the error stayed visible after recovery. It now clears automatically, and connection progress updates more promptly.
  • Self-hosted Sync: the Sync page reported "data waiting to sync" even when nothing had changed, for example after saving an editor unchanged or confirming login automation. Differences are now judged by content and deletion state, and the occasional notFound on a direct refresh is fixed too.

Known limitations

  • The terminal tab layout starts empty after upgrading: tabs and split layouts saved by v0.1.5 are cleared. Hosts, credentials, the Vault, Known Hosts, plugins and other data are kept.
  • Switching between Rail pages can briefly show a blank page while the page loads its data.
  • On Windows, the tray panel appears about 0.5 seconds after a single click on the tray icon; this wait tells a single click apart from the double click that opens the main window.
  • Self-hosted Sync plugin 0.1.13 requires NoriShell 0.1.6; updating the plugin from a local package may ask you to approve the sshSync permission again.

Downloads / 下载

Platform / 平台 Installer / 安装包 Complete app ZIP / 完整应用 ZIP
macOS · Apple Silicon (ARM64) ⬇ DMG ⬇ ZIP
macOS · Intel (x64) ⬇ DMG ⬇ ZIP
Windows · x64 ⬇ Setup ⬇ ZIP
Windows · ARM64 ⬇ Setup ⬇ ZIP

Self-hosted Sync / 自建同步 · Server ZIP / 服务端 · Plugin ZIP / 插件包 · Installation guide / 安装指南

Checksums / 校验 · SHA256SUMS.txt

macOS ZIPs contain the complete NoriShell.app. Extract Windows ZIPs fully before running norishell.exe; Windows requires WebView2 Runtime.

macOS ZIP 包含完整的 NoriShell.app。Windows ZIP 请完整解压后运行 norishell.exe;系统需安装 WebView2 Runtime。