采用 Java 开发的 SSH/终端工具,希望大家给点建议

4 天前
 powersee

为什么要做这个?

目前市面上大多数客户端都是基于 Electron 或 HTML 开发,我个人不太喜欢这种“塑料的感觉”(并不是贬义,缺乏真实触感的体验)。因此,我选择使用 Java Swing 开发一个桌面端客户端。

核心部分采用 Kotlin 开发,最终目标是通过 Kotlin Multiplatform 打造一款全平台的 SSH/终端 工具。

功能特色

目前尚不支持 SFTP/FTP 等

XTerm 协议部分

使用 Kotlin 实现了 XTerm 协议(尚未完全实现)。桌面端的渲染层基于 Java Swing ,未来计划将这一部分迁移到 KMP ,从而实现真正的跨平台支持(包括移动端)。

在实现协议的过程中,参考了许多经典的客户端,例如:

预览


后续发展

  • 命令提示(这部分我还在构思,如何准确获取用户输入的命令?)
  • AI 功能
  • 增加团队协同功能
  • 支持 Telnet
  • 支持 X-Server
  • 支持 VNC Viewer
  • SFTP/FTP
  • 串口
  • ...

这是一个长期发展的项目。


希望大家给点建议 🙏

项目地址:https://github.com/TermoraDev/termora

5059 次点击
所在节点    分享创造
109 条回复
shuangbiaog
4 天前
点个星星支持一下,个人觉得 ai 功能不太合适
powersee
4 天前
@shuangbiaog #1 感谢。我也觉得 AI 不合适,因为“太花里胡哨”了,这个优先级不会太高。但是,我对 X-Server 挺感兴趣的,可能会尝试实现一下,会完全采用 Kotlin 开发,后续跨平台也好兼容。
XDiLa
4 天前
感觉和 Termius 差别不大 但是管理主机方便 Termius 更加便捷吧。还有就是这种 ssh 终端工具太多了 很少能有非常吸引人的地方。我看你和 Wave 很像
XDiLa
4 天前
等你证书下来了我在安装体验一下,从你发的截图看 UI ,感觉是尚可的
XDiLa
4 天前
感觉你后续发展的目标非常和 Warp 类似
powersee
4 天前
@XDiLa

#3 目前来说,Termius 是更加方便的

#4 苹果这个证书有点麻烦,我被限制了,苹果团队还在处理中; UI 参考了 IDEA 的

#5 我个人是比较反对终端 “美化” 的,其实我更喜欢 XShell 这种原生质感
czhh
4 天前
和 finalshell 啥区别
powersee
4 天前
@czhh 非常丝滑,可以试试,尤其是使用输入法的时候,可以非常明显的体验出来。

功能来说,finalshell 更完善一些。
yellowstrong
4 天前
下载体验了一下,跟作者观点一致,比一众 chrome 套壳应用体验可好太多了,后续希望能长期发展下去
bobobobob
4 天前
Java Swing ,想起我的大学时光了。。。
powersee
4 天前
@yellowstrong #9 感谢。会持续维护的,个人觉得 JVM 的性能还是比 Electron 的效率高一些。
powersee
4 天前
@bobobobob #10 配合 FlatLaf 还是挺漂亮的
bobobobob
4 天前
@powersee 确实,感觉颜值挺高的
shewhen
4 天前
帅啊,

感觉很流畅
liansishen
4 天前
star 了,等后续更新
iyiluo
4 天前
ssh 客户端加 ai 功能感觉挺离谱的,这不是把命令隐私都泄露了吗,没必要。ftp 的功能反倒优先级更高
shewhen
4 天前
期待加入 SFTP ,干翻 Termius ,FinalShell ,XShell !✨✨✨
powersee
4 天前
@shewhen #14 感谢使用。我通过 history 生成过百万行,也依然非常流畅。

可以通过 “设置 - 终端” 修改历史行数。

我采用全新思路设计了终端渲染和终端协议处理,无论数据再多也不会影响渲染效率,具体可以参考: https://github.com/TermoraDev/termora/blob/1.0.0/src/main/kotlin/app/termora/terminal/Terminal.kt
powersee
4 天前
@iyiluo #16 是这样,我觉得 AI 比较鸡肋,我个人是比较反对的,后续我会考虑如何以 “方便、效率、易用” 的方面来接入 AI 。我比较倾向于: https://plugins.jetbrains.com/plugin/14823-full-line-code-completion 这种,完全本地化运行,但是我没有这方面的经验
lozzow
4 天前
希望加入 Quake Mode

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1101966

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX