electerm v5.9.0
Major updates
- Fix terminal rendering after WebGL context loss: fall back to the DOM renderer and keep sessions alive (#4702) by @forever765
- Widget: Support password manager: an installed widget can supply passwords for SSH/ftp/VNC/Spice/Telnet/RDP bookmarks (KeePassXC ready), with a per-bookmark opt-in (#4705) by @mkneppe
- UX: Support set icon for custom bookmark/bookmark group by @xinxingi
- Widget: Widgets can offer bookmarks to import, with an import result report and a warning about embedded secrets (#4703) by @mkneppe
- Support create a private key in the SSH bookmark form (#4554)
- Editor: support markdown preview in the built-in editor (#4666)
New features/UI/Updates
- SSH: support PKCS#8, PPK v3 and FIDO2 keys (ssh2 1.23.0), improve MFA support (#4554)
- MCP: add a read-only command rules tool, and a rejected command now points at it (#4699) by @ifyh-W
- Widget install from GitHub now falls back to mirror.electerm.org and jsDelivr when GitHub is unreachable; the in-app updater uses the same mirror
- RDP: can check host reachability before connecting, show readable connect errors (#4685) by @mkneppe
- SSH: a stale or blank private key path no longer blocks a password login (#4684) by @mkneppe
- Use static default local bookmarks, so app start faster (#4672)
- Bookmark import: bookmarks without a category are collected into a standalone category
- VNC: show why a connection failed, with a hint for RealVNC's RA2 security type that no open-source client supports
Bug fixes
- Security: fix MCP server DNS rebinding (GHSA-45rj-2wq9-r9mr)
- Security: require approval for MCP-initiated file transfers (#4706)
- Security: fix local clipboard leaking to the server
- Security: keep the same-origin policy on for web session guests (#4707)
- Security: run Windows PowerShell without a cmd.exe layer and without interpolating local paths into scripts (#4708) (#4710)
- Fix wide-character mouse selection landing one cell off for adjacent CJK/full-width characters
- Fix custom sync to servers with an internal CA: user-installed certificates from the login keychain were dropped
- Fix session log failure breaking the session, and keep local paths and tokens out of imported or synced config (#4688)
- Fix RDP email login (#4676)
- Fix transfer websocket status control (electerm-web#31)
- Fix drag/drop in the FTP server widget
- Windows: do not mistake the WSL bash launcher for Git Bash (#4672) by @pcbeingused333
重大更新
- 修复 WebGL 上下文丢失后终端渲染异常:自动回退到 DOM 渲染并保留会话 (#4702)(由 @forever765 提供)
- 小组件:支持密码管理器,安装小组件后可为 SSH/ftp/VNC/Spice/Telnet/RDP 书签提供密码(已适配 KeePassXC),支持按书签单独开启 (#4705)(由 @mkneppe 提供)
- 体验:支持为自定义书签/书签分组设置图标(由 @xinxingi 提供)
- 小组件:可提供书签供导入,导入后显示结果,并对内含密钥的数据给出警告 (#4703)(由 @mkneppe 提供)
- 支持在 SSH 书签表单中创建私钥 (#4554)
- 编辑器:内置编辑器支持 Markdown 预览 (#4666)
新功能/界面/更新
- SSH:支持 PKCS#8、PPK v3 和 FIDO2 密钥(ssh2 1.23.0),改进 MFA 支持 (#4554)
- MCP:新增只读命令规则工具,命令被拒绝时会提示使用该工具 (#4699)(由 @ifyh-W 提供)
- 从 GitHub 安装小组件时,GitHub 不可达会自动回退到 mirror.electerm.org 和 jsDelivr,应用内更新也改用同一镜像
- RDP:支持连接前检查主机可达性,并显示可读的连接错误 (#4685)(由 @mkneppe 提供)
- SSH:私钥路径为空或失效时不再阻塞密码登录 (#4684)(由 @mkneppe 提供)
- 改用静态默认本地书签,应用启动更快 (#4672)
- 书签导入:没有分类的书签会归入独立分类
- VNC:连接失败时显示具体原因,并对 RealVNC 的 RA2 安全类型(开源客户端均不支持)给出提示
问题修复
- 安全:修复 MCP 服务器 DNS rebinding 漏洞 (GHSA-45rj-2wq9-r9mr)
- 安全:MCP 发起的文件传输需经用户审批 (#4706)
- 安全:修复本地剪贴板泄漏到服务器的问题
- 安全:Web 版会话访客保持同源策略开启 (#4707)
- 安全:Windows PowerShell 命令不再经过 cmd.exe,也不再把本地路径拼进脚本 (#4708) (#4710)
- 修复相邻的中文/全角字符导致鼠标选择偏移一格的问题
- 修复自定义同步到使用内部 CA 的服务器时,用户安装到登录钥匙串的证书被忽略的问题
- 修复会话日志失败导致会话中断,并避免导入/同步配置覆盖本机路径和令牌 (#4688)
- 修复 RDP 邮箱账号登录问题 (#4676)
- 修复传输 websocket 状态控制 (electerm-web#31)
- 修复 FTP 服务器小组件的拖放
- Windows:不再把 WSL 的 bash 启动器误判为 Git Bash (#4672)(由 @pcbeingused333 提供)
Downloads
Files for electerm v5.9.0
Other ways to install
Microsoft Store
npm
npm i -g electermOther ways to install
Homebrew
brew install --cask electermnpm
npm i -g electermelecterm-5.9.0-linux-amd64-legacy.deb
for Debian, Ubuntu... (glibc < 2.34, like UOS/Kylin/Ubuntu 18)
electerm-5.9.0-linux-arm64-legacy.deb
for Debian, Ubuntu... (glibc < 2.34, like UOS/Kylin/Ubuntu 18)
electerm-5.9.0-linux-armv7l-legacy.deb
for Debian, Ubuntu... (glibc < 2.34, like UOS/Kylin/Ubuntu 18)
electerm-5.9.0-linux-amd64-legacy.deb
for Debian, Ubuntu... (glibc < 2.34, like UOS/Kylin/Ubuntu 18)
electerm-5.9.0-linux-arm64-legacy.deb
for Debian, Ubuntu... (glibc < 2.34, like UOS/Kylin/Ubuntu 18)
electerm-5.9.0-linux-armv7l-legacy.deb
for Debian, Ubuntu... (glibc < 2.34, like UOS/Kylin/Ubuntu 18)
electerm-5.9.0-linux-loongarch64-legacy.deb
for old world Debian, Ubuntu... (loongarch64)
Other ways to install
Snap Store
sudo snap install electerm --classichttps://snapcraft.io/electermFlatpak
flatpak remote-add --if-not-exists flatpark https://dl.flatpark.org/flatpark.flatpakrepo
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flatpark org.electerm.Electermflatpark.orgAPT repository
curl -fsSL https://repos.electerm.org/deb/public.key | sudo gpg --dearmor -o /usr/share/keyrings/electerm.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/electerm.gpg] https://repos.electerm.org/deb stable main" | sudo tee /etc/apt/sources.list.d/electerm.list
sudo apt update
sudo apt install -y electermhttps://repos.electerm.org/debRPM repository
sudo rpm --import https://repos.electerm.org/rpm/public.key
sudo tee /etc/yum.repos.d/electerm.repo <<'EOF'
[electerm]
name=Electerm Repository
baseurl=https://repos.electerm.org/rpm/
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://repos.electerm.org/rpm/public.key
EOF
sudo dnf install -y electermhttps://repos.electerm.org/rpmnpm
npm i -g electerm