kingToolbox / kingToolbox/WindTerm

受 WindTerm 启发的开源轻量终端 EdgeTerm:不到 5 MB 安装包,SSH / SFTP / FTP / 串口,时间戳行号侧栏,原生 Apple Silicon

Open
#3,695 5 comments 6 reactions 0 assignees View on GitHub
Dominant language
C
Stars
32.3k
Forks
2.5k
PR merge metrics
No merged PRs in 30d

Description

大家好,

和这里的很多人一样,我用 WindTerm 很多年,也一直在等它更新。它对我来说最不可替代的,我把市面上能找到的替代品都试了一遍,几乎没有一个能有WindTerm的感觉。

所以我自己写了一个:**EdgeTerm** —— 一个小巧、开源(MIT)的终端 / SSH / SFTP / FTP / 串口客户端,Rust + Tauri 构建。

- 仓库:https://github.com/miskin-lee/EdgeTerm
- 下载:https://github.com/miskin-lee/EdgeTerm/releases/latest
- 主页:https://miskin-lee.github.io/EdgeTerm/

![EdgeTerm 深色主题](https://raw.githubusercontent.com/miskin-lee/EdgeTerm/main/docs/screenshot-dark.png)

![EdgeTerm 浅色主题](https://raw.githubusercontent.com/miskin-lee/EdgeTerm/main/docs/screenshot-light.png)

## 先说数字:整个安装包不到 5 MB

| 安装包(v0.5.8) | 下载体积 |
| --- | --- |
| Windows x64 安装程序(`.exe`) | **3.9 MB** |
| macOS Apple Silicon(`.dmg`) | **4.7 MB** |
| Linux `.deb`(x64 / ARM64) | **5.4 MB** / **5.2 MB** |

不打包 Chromium,不带运行时,一个原生二进制加系统自带的 WebView。有人对 Tauri 有顾虑,这点我放在下面「坦白说」里单独讲。

## 为什么值得你花两分钟试一下

**把 WindTerm 最有辨识度的东西做回来了**

- **时间戳 + 行号侧栏**:每一行输出带 `[HH:MM:SS.SSS]` 和累计行号,光标行高亮,四种显示模式可切换。侧栏用原生 DOM 直接更新,不走 React 渲染,串口刷屏也不卡。
- **Session / Filer / Sender 三面板布局**:左侧会话树(可嵌套分组、右键管理、双击连接),右侧文件浏览器(SSH 下自动变成 SFTP,支持文件和文件夹上传下载、拖拽上传),底部批量发送(文本 / 十六进制、按行 / 按字符、重复次数、间隔、发给当前或全部会话)。
- **Sender 的常用命令带作用域**:可以只对某个会话、某个分组、某一类会话(串口 / SSH / Shell)或全局生效,当前标签页只看到用得上的。

**WindTerm 现在做不到、而 issue 区一直在问的几件事**

- **macOS Apple Silicon 原生包**(issue 区反复有人在要)。
- **主机密钥变化会明确弹窗**告诉你新指纹、`known_hosts` 里的哪一行,确认后才替换重连;首次连接自动记录(accept-new)。
- **凭据文件自动加密**:密码和私钥口令存在单独的 `credentials.json`(Unix 下 `0600`),用 HKDF-SHA256 + ChaCha20-Poly1305 加密,密钥绑定本机,不需要你设主密码。说明一下:这是静态文件保护,不是系统钥匙串那种硬件级保护,对安全要求高的建议用 ssh-agent 或无口令公钥。
- **应用内自动更新**:启动时检查最新 Release,可以原地更新。

**其他你大概率会用到的**

- 会话类型:本地 Shell(真 PTY,Shell 字段可以直接写 `wsl.exe -d Ubuntu` 或 `pwsh -NoLogo`)、SSH(密码 / 公钥 / ssh-agent)、独立 SFTP 会话(直接进双栏文件管理器)、FTP(自动识别 UTF-8 / GBK 文件名)、串口(波特率 / 数据位 / 停止位 / 校验 / 流控)。
- **ZMODEM**:SSH、串口、本地 Shell 里直接 `rz` / `sz`,自动识别。
- **命令补全**:记住你敲过的命令,输入时弹出历史匹配,`↓` 选择、`Enter` / `Tab` 采纳,不选的时候按键照常发给 shell。
- 文件传输全程流式、固定 1 MiB 缓冲,几十 GB 的文件也不会把内存吃满。
- 深色 / 浅色主题,缓冲区搜索,⌘1–9 / Alt+1–9 切标签,会话 / 命令 / 设置一键导出导入。
- Windows / macOS / Linux(x64 + ARM64)全平台发布。

如果你在等一个「小、快、有时间戳行号、跨平台、开源」的终端,我觉得 EdgeTerm 值得你试一下:https://github.com/miskin-lee/EdgeTerm/releases/latest

最后,感谢 WindTerm 和 @kingToolbox 这么多年带来的启发。如果维护者认为这类分享不适合放在 issue 区,请直接关闭,不会有任何意见。

---

English summary

**EdgeTerm** is a small, MIT-licensed terminal / SSH / SFTP / FTP / serial client built with Rust + Tauri, inspired by WindTerm. Installers are under 5 MB (Windows 3.9 MB, macOS Apple Silicon 4.7 MB, Linux 5.4 MB). It brings back WindTerm's timestamp + line-number gutter, the Session / Filer / Sender three-panel layout, ZMODEM `rz` / `sz`, command suggestions, encrypted credential storage, an explicit host-key-changed dialog, and an in-app updater. Native Apple Silicon and Linux ARM64 builds are available. Known limitations: it renders through the system WebView (xterm.js) rather than a native GPU renderer, there is no WindTerm session import yet, no Telnet / tmux / RDP / split panes, and the builds are not signed or notarized.

Repo: https://github.com/miskin-lee/EdgeTerm · Releases: https://github.com/miskin-lee/EdgeTerm/releases/latest

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue presents the external EdgeTerm project and does not identify a requested change, WindTerm file, entry point, or test. No implementation target or completion criteria are provided, so a contributor cannot determine what to read, run, or modify from this issue alone.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, tauri
Domain
cli, desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
10/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.