1. 简介1. Introduction
FlyingTerm 是跨平台 SSH / SFTP / 隧道 / 内嵌 RDP 工作台,技术栈为 Tauri 2 + Rust + React + xterm.js。面向个人与学习用途(非商业许可证)。
FlyingTerm is a cross-platform SSH / SFTP / tunnel / embedded RDP workbench (Tauri 2 + Rust + React + xterm.js). Personal and educational use under a non-commercial license.
2. 安装2. Install
2.1 Windows
2.1 Windows
-
国内推荐从 Gitee Releases 下载精简版
FlyingTerm_*_x64-setup.exe(不内嵌 WebView2,系统已有 Edge 即可)。需要内嵌运行时的完整版FlyingTerm_*_x64-setup-webview2.exe请从 GitHub Releases 下载。 In China, download the slimFlyingTerm_*_x64-setup.exefrom Gitee (no bundled WebView2; Edge on the system is enough). The fullFlyingTerm_*_x64-setup-webview2.exeis on GitHub. - 运行安装程序。需要 Windows 10 1809+ 或 Windows 11。精简版不访问微软 CDN;完整版内嵌 WebView2 离线包。 Run the installer. Needs Windows 10 1809+ or Windows 11. Slim does not hit the Microsoft CDN; full embeds the WebView2 offline installer.
- 从开始菜单启动 FlyingTerm。 Start FlyingTerm from the Start menu.
不支持 Windows 7 / 8 / 8.1(微软已停止提供 WebView2)。
Not supported: Windows 7 / 8 / 8.1 (no WebView2).
2.2 macOS
2.2 macOS
-
下载
.dmg(建议 universal,同时覆盖 Intel 与 Apple Silicon)。 Download the.dmg(universal preferred for Intel + Apple Silicon). - 打开镜像,将 FlyingTerm 拖到「应用程序」。需要 macOS 10.15+。 Open the image and drag FlyingTerm to Applications. Needs macOS 10.15+.
2.3 Linux
2.3 Linux
- AppImage:兼容面最广,下载后
chmod +x再运行。 - AppImage: broadest distro coverage —
chmod +xthen run. - .deb / .rpm:适合 Ubuntu 22.04+、Debian 12+、Fedora 37+(需 WebKitGTK 4.1)。
- .deb / .rpm: Ubuntu 22.04+, Debian 12+, Fedora 37+ (WebKitGTK 4.1).
2.4 从源码运行(开发者)
2.4 Build from source
依赖:Node.js 20+、Rust(Windows 使用 MSVC 工具链)。
Requires Node.js 20+ and Rust (MSVC toolchain on Windows).
npm install → npm run tauri:dev
3. 快速上手3. Quick start
-
快速连接 — 在侧栏输入
user@host:22后回车,立刻建立 SSH。 Quick connect — typeuser@host:22in the sidebar and press Enter. - 新建会话 — 工具栏或右键菜单 → 填写主机、端口、认证方式 → 保存并连接。可归入文件夹、加标签。 New session — toolbar or context menu → host, port, auth → Save & Connect. Organize with folders and tags.
- 传文件 — SSH 连上后打开文件面板或底部 SFTP。 Files — after SSH, open the Files panel or bottom SFTP.
- 宏 — 连上 Shell → 左侧或底部「宏」→ 录制 → 操作 → 停止 → 播放。 Macros — shell connected → Macros → Record → work → Stop → Play.
- 设置 — 字体、主题、语言、托盘、统计、加密备份、检查更新。 Settings — fonts, theme, language, tray, telemetry, encrypted backup, updates.
4. 会话管理4. Sessions
4.1 会话树
4.1 Session tree
- 用文件夹整理主机;用标签与搜索快速定位。
- Organize hosts with folders; find them with tags and search.
- 单击 / 双击连接(以界面提示为准)。
- Click / double-click to connect (follow the UI).
4.2 认证与跳板
4.2 Auth & jump hosts
- 密码、OpenSSH 私钥、SSH Agent(Windows:OpenSSH 命名管道 + Pageant)。
- Password, OpenSSH private key, agent (Windows: OpenSSH named pipe + Pageant).
- 跳板机(ProxyJump):经堡垒机再连内网主机。
- Jump host (ProxyJump) for bastion → internal hosts.
- 保活(keepalive)、可选终端日志、主机密钥 TOFU(首次信任并固定)。
- Keepalive, optional terminal log, TOFU host-key pinning.
4.3 导入 OpenSSH 配置
4.3 Import ~/.ssh/config
工具栏上传图标可导入本机 ~/.ssh/config 中的 Host 条目,减少重复录入。
Use the toolbar upload icon to import Host entries from ~/.ssh/config.
4.4 加密导出 / 导入
4.4 Encrypted export / import
设置中可将会话树导出为密码保护的 AES-GCM 备份,换机时导入。请妥善保管导出密码。
Settings can export the session tree as a password-protected AES-GCM blob. Keep the export password safe.
5. 终端5. Terminal
- 多标签:每个连接一个标签,可同时开多个。
- Multi-tab: one tab per connection; open many at once.
- 分屏:左右、上下、四分屏,便于对照多台机器。
- Splits: left-right, top-bottom, or four panes.
- 复制粘贴:选中复制;Ctrl+Shift+C / V;查找 Ctrl+F。
- Clipboard: copy-on-select; Ctrl+Shift+C/V; find Ctrl+F.
- 双字体:ASCII 与中文可分别指定,适合混排日志。
- Dual fonts: separate ASCII and CJK fonts for mixed logs.
- 主题与延迟:外观主题;状态栏可显示延迟 ping。
- Themes & latency: appearance themes; status-bar ping.
- 本地 Shell:Windows 优先 Git Bash(默认用系统 Git;可选「带 Git Bash」安装包内置 PortableGit);设置中可切 PowerShell / CMD / 自定义。
- Local shell: Windows prefers Git Bash (system Git by default; optional fat installer ships PortableGit); Settings can switch PowerShell / CMD / custom.
- 快捷命令条:终端上方一键发送常用片段(与「宏」不同,片段无等待逻辑)。
- Quick-commands bar: one-click snippets above the terminal (no wait/expect — use macros for that).
6. MultiExec(广播)6. MultiExec (broadcast)
打开 MultiExec 后,可向多个分屏 / 会话同时输入同一命令,适合批量执行相同操作。
With MultiExec on, the same input is broadcast to multiple panes/sessions — ideal for identical batch ops.
- 多行编写框:编辑较长脚本后按 Ctrl+Enter 发送。
- Multi-line compose: edit a longer script, then Ctrl+Enter to send.
- 广播前请确认目标机器一致,避免误操作生产环境。
- Confirm targets before broadcast — especially on production hosts.
7. SFTP 文件传输7. SFTP
- 先建立 SSH / SFTP 会话。 Connect an SSH / SFTP session first.
- 打开文件面板或底部 SFTP 标签,进入双栏视图。 Open the Files panel or bottom SFTP tab for dual-pane view.
- 浏览目录;上传 / 下载;拖拽;需要时修改权限(chmod)。 Browse; upload/download; drag-drop; chmod when needed.
8. 端口转发(隧道)8. Port forwards (tunnels)
| 类型Type | 用途简述Typical use |
|---|---|
| Local | 把远端服务映射到本机端口访问Map a remote service to a local port |
| Remote | 让远端访问你本机某端口Let the remote reach a local port |
| Dynamic SOCKS5 | 本机 SOCKS 代理,经 SSH 出网Local SOCKS proxy via SSH |
默认绑定 127.0.0.1,仅本机可连,降低误暴露风险。侧栏与底部全局隧道面板可查看与管理当前转发(含连接标签)。
Default bind is 127.0.0.1. The sidebar / bottom global tunnel panel lists active forwards (with connection labels).
9. 脚本引擎(宏)9. Script engine (macros)
宏用于「登录后自动敲一串命令」,支持等待与期望输出。不是完整编程语言(无循环 / 变量 / 分支)。
Macros automate post-login keystrokes with waits and expect. Not a full language (no loops / variables / branches).
9.1 使用步骤
9.1 How to use
- 连接带 Shell 的会话:SSH、本地终端、Telnet、串口。纯 SFTP / RDP / VNC / MOSH 不能跑宏。 Connect a shell tab: SSH, local, Telnet, or serial. Pure SFTP / RDP / VNC / MOSH cannot run macros.
- 打开左侧图标栏 宏,或底部面板 → 宏。 Open Macros in the side rail or bottom panel.
- 点 录制,在终端正常操作,再 停止。软件会保存 send / wait 步骤。 Click Record, work in the terminal, then Stop. FlyingTerm saves send / wait steps.
- 可改名称;点 播放 或双击,在当前 Shell 标签回放。 Rename if needed; Play or double-click to replay on the current shell tab.
9.2 步骤类型
9.2 Step types
| 步骤Step | 含义Meaning |
|---|---|
send |
向终端写入文本Write text to the terminal |
wait |
延时(delayMs 或数字 value)Delay (delayMs or numeric value) |
expect |
等到输出包含 value(超时 = delayMs,默认 10 秒)Wait until output contains value (timeout = delayMs, default 10s) |
expect 适合登录提示、「Press any key」等场景。仅需单次粘贴时用快捷命令 / 片段即可。
Use expect for login prompts or “Press any key”. For one-shot paste, use snippets instead.
10. RDP 与其它协议10. RDP & other protocols
10.1 内嵌 RDP
10.1 Embedded RDP
- 会话类型选择 RDP 后,在标签内打开远程桌面(IronRDP)。
- Choose RDP as the session type to open remote desktop in a tab (IronRDP).
- 已支持:画面、键鼠、文字剪贴板、远程音频。
- Supported: video, keyboard/mouse, text clipboard, remote audio.
- 尚未提供:盘符 / 打印机重定向、GPU 加速等桌面套件级能力。
- Not yet: drive/printer redirect, GPU extras.
- 需要完整桌面能力时,可使用「用系统客户端打开」回退。
- For full desktop features, use “Open with system client”.
10.2 串口 · Telnet · VNC · MOSH · X11
10.2 Serial · Telnet · VNC · MOSH · X11
- 串口:连接本地串口设备做调试。
- Serial: local serial devices for debugging.
- Telnet:内置 TCP,默认端口 23,含基础 IAC 处理。
- Telnet: built-in TCP, default port 23, basic IAC.
- VNC / MOSH:调用系统或外部客户端启动。
- VNC / MOSH: launched via system/external clients.
- X11 转发:Windows 请先安装 VcXsrv 或 Xming。
- X11 forwarding: on Windows install VcXsrv or Xming first.
11. 终端录制与回放11. Terminal recording
在终端面板使用 Rec 录制会话输出;底部「录制回放」可加载 JSON 回放。适合演示、审计留档(请遵守所在环境合规要求)。
Use Rec on the pane to record; the bottom Recording tab can play JSON. Useful for demos and audits (follow your compliance rules).
12. 设置、托盘与数据目录12. Settings, tray & data
12.1 常用设置
12.1 Common settings
- 语言(默认英语,可跟随系统)、主题、双字体。
- Language (default English, or follow OS), theme, dual fonts.
- 系统托盘:关闭 / 最小化可隐藏到托盘(设置「最小化到托盘」);托盘菜单:显示 / 隐藏 / 退出。
- Tray: close/minimize can hide to tray; menu Show / Hide / Quit.
- 可选应用锁:启动时要求密码。
- Optional app lock password on startup.
- 用量统计:默认开启匿名安装量 / DAU / 协议计数;不含主机、账号、密码、命令或路径;可在设置关闭。
- Telemetry: anonymous install/DAU/protocol counts by default; never hosts, accounts, passwords, commands, or paths; disable in Settings.
12.2 数据目录
12.2 Data directory
| 系统OS | 路径Path |
|---|---|
| Windows | %APPDATA%\flyingterm\ |
| macOS | ~/Library/Application Support/flyingterm/ |
| Linux | ~/.local/share/flyingterm/ |
13. 自动升级13. Auto-update
- 使用官方签名安装包(国内优先 Gitee)。 Install an official signed package (prefer Gitee in China).
- 保证能访问 Gitee,和/或更新接口 / GitHub 备用源。 Allow access to Gitee and/or the update API / GitHub fallback.
- 默认启动时检查更新(设置可关);也可「立即检查」。 By default checks on startup (optional); or Settings → Check now.
- 发现新版本 → 更新并重启。精简版安装包从 Gitee 拉取并验签;完整版从 GitHub 拉取。 Newer build → Update and restart. Slim packages download from Gitee; the full edition downloads from GitHub. Both verify signature.
精简版按顺序请求 latest.json(Gitee → GitHub → 备用镜像);完整版请求 latest-full.json,安装包地址指向 GitHub。
Slim clients poll latest.json (Gitee → GitHub → fallback mirror). The full edition polls latest-full.json; the installer URL points at GitHub.
14. 常见问题14. FAQ
安装时报「安装被中止,无法写入文件」?
Installer aborts with “unable to write file”?
几乎都是旧版 FlyingTerm 或本地终端里的 Git Bash还在占用安装目录文件(常见路径:…\FlyingTerm\resources\git\usr\bin\bash.exe)。请:
Almost always the previous FlyingTerm or a Local-terminal Git Bash still locks install files (often …\FlyingTerm\resources\git\usr\bin\bash.exe). Do this:
- 点「中止」,完全退出 FlyingTerm(含托盘)。
- Click Abort, fully quit FlyingTerm (including tray).
- 打开任务管理器 → 详细信息,结束
FlyingTerm.exe,以及路径里带FlyingTerm\resources\git的bash.exe/sh.exe。 - In Task Manager → Details, end
FlyingTerm.exeand anybash.exe/sh.exewhose path containsFlyingTerm\resources\git. - 再重新运行安装包。新版安装程序会自动结束这些进程,并把旧的 PortableGit 挪开再覆盖。正常覆盖安装不需要重启电脑;只有文件仍被占用时 Windows 才会提示重启。
- Re-run setup. Newer installers kill those processes and stash the old PortableGit tree before overwrite. A normal upgrade does not need a reboot; Windows only asks when files remain locked.
安装时报「无法安装 WebView2」?
Installer says WebView2 failed?
旧版安装包使用「在线引导」,在国内网络下常因连不上微软 CDN 失败(错误码如 -2147219455)。请:
Older setups used an online bootstrapper that often fails in China (e.g. code -2147219455). Do this:
- 先手动安装 WebView2 Runtime(或已安装 Edge 时多半已自带)。
- Install WebView2 Runtime manually (Edge usually includes it).
- 再运行精简版安装包;若系统没有 WebView2,改用 GitHub 上的完整版
*-setup-webview2.exe。 - Re-run the slim setup, or use the full
*-setup-webview2.exefrom GitHub if the runtime is missing.
打开后只有灰底?
Gray window only?
Windows 请确认已安装 WebView2 Runtime,然后重启 FlyingTerm。
On Windows, install WebView2 Runtime, then relaunch.
宏无法播放?
Macros won’t play?
确认当前标签是带 Shell 的会话,而不是纯 SFTP / RDP / VNC / MOSH。
Confirm the active tab is a shell session, not pure SFTP / RDP / VNC / MOSH.
隧道连不上?
Tunnel won’t connect?
检查本地端口是否被占用、绑定是否为 127.0.0.1、SSH 会话是否仍在线,以及远端服务地址是否写对。
Check local port conflicts, 127.0.0.1 bind, live SSH session, and remote service address.
商业使用可以吗?
Commercial use?
默认许可证不可商用。商业使用请联系维护者另行授权。
Default license is non-commercial. Contact the maintainer for a commercial license.
问题反馈去哪?
Where to report issues?
请在 Gitee Issues 或 GitHub Issues 提交,两边会尽量同步。
Open issues on Gitee or GitHub; mirrors are kept in sync when possible.
15. 有意不做15. Intentionally not included
以下能力请使用专用软件,FlyingTerm 不做完整替代:
Use dedicated tools for:
- 完整桌面级 RDP 附加能力(盘符 / 打印机、GPU 等)
- Full desktop-product RDP extras (drive/printer redirect, GPU, etc.)
- 内置完整 X.org / X Server 包
- Bundled full X.org / X server
- Cygwin / MSYS 工具箱与包管理
- Cygwin / MSYS toolbox and package manager
- 超出双栏 SFTP 的专业文件同步套件
- Pro file-sync suites beyond dual-pane SFTP
我们专注把日常 SSH、文件、转发、内嵌桌面与宏自动化做到跨平台可用、可升级、可备份。
We focus on daily SSH, files, tunnels, embedded desktop, and macros — cross-platform, updatable, and backup-friendly.