惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
T
The Blog of Author Tim Ferriss
S
SegmentFault 最新的问题
J
Java Code Geeks
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Martin Fowler
Martin Fowler
美团技术团队
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recent Announcements
Recent Announcements
Vercel News
Vercel News
V
Visual Studio Blog
博客园 - 叶小钗
Last Week in AI
Last Week in AI
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学

分享创造

分享 KCase 脑图测试用例生成平台(AI 辅助生成测试用例) 标签页囤积症自救:写了个插件 TabRack,主打快速检索、自动分类和 AI 摘要 [file-preview]一个比较全面的在线文件预览组件库-支持 react 和 vue 撸了个 iOS 小应用[极简水印相机],直接免费 做了一个 V2EX Skill 写了个 iOS 打码 App「遮鸭 Maskduck」,纯离线免费 35 岁前端,裁员失业后,我花 1 个月做了个 AI 生图网站 亲身经历猫咪急症,我做了一款猫狗疼痛检测工具,希望能救你家毛孩一命 如何用 AI 做比较酷炫的落地页? 求真!最近 AI 生图的能力强到可怕 开源一个查看 k8s 的菜单栏工具-kubebar Packpour:我做了个专门给 App Store Connect 填多语言元数据的小工具 面对 140 年一遇的超级厄尔尼诺,我做了个全球监测小站 做了一个自动翻译的 Hacker News 客户端 做了一个 AI 头像生成器,可以免费生成 2 次 [送码 50 个] 自己手搓了个高颜值的倒数日 App——拾光机,求 V 友们指点 一个将苹果健康 APP 数据导出的工具,然后把你的数据喂给 AI 分析 我做了一个叫「订阅斩」的 iOS App,专门对付那些悄悄扣钱的订阅 做了个草率的日麻互动漫画,听听反馈 喜欢自己洗车的朋友们,我用 ai 做了一款洗车小程序 -- 洗车志 感谢 V2EX 上各位 NAS🍆 和 Datahoarder 玩家的关注和真实反馈!作为个人开发者,能得到这么多硬核玩家们的讨论,我非常荣幸。 用 AI 开发熊孩子自律的小程序 用 OpenClaw 搭建个人运动助手 今天摸鱼给 NanaAI 也接入了 GPT-Image-2 [Video Companion]一个 chrome 插件,解决大多对视频操作的需求~欢迎使用提 bug AI 时代,做产品简单了,把产品推广出去却变的更难了~ bestskills.dev - Skills 精选和评测站点 免 ROOT 强力卸载安卓广告软件 一个 All In One 的运维工具,支持 SSH、数据库、Redis 管理 [开源] Codeg V0.10:专注于代码生成的多智能体 IDE(cc、codex、gemini、opencode……),新版本重构了工作区,飞一般的体验,支持桌面端、服务器部署
[开源] WinSSH,一个跨平台 SSH 客户端
lieyan · 2026-06-05 · via 分享创造

这个产品我花了大量时间打磨,并且已经完全用在了我日常的工作中

首先,我本身是 Termius 的长期订阅用户,Termius 带来跨端体验确实没得说,但就日常使用来看,很多操作都比较<不够直接>

比如:

  1. SFTP 的操作,硬生生和 SSH 会话标签分开,这是最大不便。
  2. 服务器的管理界面逻辑,很傻,我都设立分组了,为啥不能出个树形视图?
  3. 还有端口转发,跟 SFTP 坐一桌

Termius 订阅

总之,综合这些使用体验,我自己写了一个符合日常使用直觉的 SSH 客户端,它就是 WinSSH !


说来也是奇幻,早些年我技术还不够的时候就想做这样一款产品,名字也是叫 WinSSH ,甚至持有了 winssh.net 这个域名很长时间。

当时想的就做 Windows 客户端,最早一版用 C#+WPF 手搓出来的,但是问题太多,最主要的问题就是终端渲染。

当时我参考了一个叫 FluentTerminal 的开源项目,它是用 webview+xtermjs 解决终端渲染的问题,我第一版也是采用了类似的方案:CEF+xtermjs 。

最后整体完成了不到 30%,但是基本的 shell+sftp 操作是没有问题的,再后来就直接鸽了~

直到近几年 AI 彻底爆发,我又想到了 WinSSH ,我决定重新起航!


在过去的几个月里,我反复琢磨,要怎么去做?使用何种技术栈?怎么去设计交互界面?

最终选择了 electron+react+xtermjs+shadcn 这套成熟的体系,完成了跨平台桌面应用开发之旅!

先来张图

主界面

怎么样?是不是很眼熟?哈哈哈哈,没错,我采用了 vscode 的设计风格,完全扁平+多标签页的操作!

这里面我花了很多小心思在 SFTP 操作面板上

例如支持平铺视图和树形视图切换 1780623294245.png

相对丰富的右键菜单功能 1780623434523.png

支持拖拽文件/目录到终端 1780623510150.png

支持快捷跳转收藏/常用目录 1780623582514.png

端口转发 1780623761114.png

命令面板 1780623803138.png

历史命令记录这里使用了OSC 133扩展协议,所以连接 SSH 时会向服务器上传并注入脚本,脚本代码如下

__wsh_emit() { printf "\033]%s\033\134" "$1"; };
__wsh_b64() { printf "%s" "$1" | base64 | tr -d "\n"; };
if [ -n "$BASH_VERSION" ]; then
  __wsh_state=A;
  __wsh_pre() {
    [ -n "$COMP_LINE" ] && return;
    [ "$__wsh_state" = "C" ] && return;
    __wsh_emit "633;E;$(__wsh_b64 "$BASH_COMMAND")";
    __wsh_emit "133;C";
    __wsh_state=C;
  };
  __wsh_post() {
    __wsh_ec=$?;
    [ "$__wsh_state" = "C" ] && __wsh_emit "133;D;$__wsh_ec";
    __wsh_emit "133;P;Cwd=$PWD";
    __wsh_emit "133;A";
    __wsh_state=A;
  };
  trap "__wsh_pre" DEBUG;
  PROMPT_COMMAND="__wsh_post${PROMPT_COMMAND:+;$PROMPT_COMMAND}";
elif [ -n "$ZSH_VERSION" ]; then
  __wsh_pre() {
    __wsh_emit "633;E;$(__wsh_b64 "$1")";
    __wsh_emit "133;C";
  };
  __wsh_post() {
    __wsh_ec=$?;
    __wsh_emit "133;D;$__wsh_ec";
    __wsh_emit "133;P;Cwd=$PWD";
    __wsh_emit "133;A";
  };
  autoload -Uz add-zsh-hook;
  add-zsh-hook preexec __wsh_pre;
  add-zsh-hook precmd __wsh_post;
fi

觉得别扭的可以在设置里进行全局关闭,或者在服务器编辑页面也可以关闭

以上举例的这些操作都是会话标签级别的,大幅提升了操作效率


提一点我觉得很 OK 的功能,那就是<离开安全提醒>!真的有用!

比如我开了多个 SSH 会话,其中有测试环境的、有生产环境的、有其他巴拉巴拉的

然后我在某个服务器下操作了一段时间后切其他软件工作了,这时候我在其他软件工作一段时间后再切回 WinSSH 的时候,如果不注意就直接操作可能会误操作服务器(就是忘了)

那么这时候,WinSSH 就会有一个覆盖整个软件的提醒,告知你当前激活的标签是哪台服务器

安全提醒

好用!这个提醒可以在设置里面开关设置离开时长阈值


然后是数据隐私问题,WinSSH 全面开源,没有任何上报服务器的行为!

支持自动备份和 webDAV 数据同步,喜欢完 NAS 的朋友应该很赞同这个功能~哈哈

1780624741364.png


其他的就是一些常规功能了,大家可以去探索一下

最后

Github: https://github.com/lantongxue/winssh

唯一官网: https://winssh.net

想不到吧,我又把域名买回来了(吐槽:net 域名贵了好多,新购 90 ,续费 95 )

大佬们 Star 走起来!!!