V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
powersee
V2EX  ›  分享创造

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

  •  4
     
  •   powersee · 4 天前 · 5063 次点击

    为什么要做这个?

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

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

    功能特色

    • 支持多标签页
    • 数据加密存储
    • 通过 Gist 同步配置
    • 宏功能
    • 密钥管理
    • Find Everywhere
    • ...

    目前尚不支持 SFTP/FTP 等

    XTerm 协议部分

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

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

    预览


    后续发展

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

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


    希望大家给点建议 🙏

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

    109 条回复    2025-01-06 12:05:23 +08:00
    1  2  
    q000q000
        101
    q000q000  
       3 天前
    先 STAR ,以后看看能不能替代 Windows Terminal 。
    noisay
        102
    noisay  
       2 天前
    界面有点帅啊~ 要是能支持 ftp 文件管理就好了,我这种小白就在家折腾一下,图形界面的文件管理还是很需要
    devh0407
        103
    devh0407  
       2 天前
    @liyanggyang 我之前看过腾讯云的 orca 使用的是 bash-preexec, 仿的 zsh [preexec] 和 [precmd] 钩子, 命令前后插了控制符

    #hook fun
    preexec() { printf "\x1B]1337;PreExecMarker;%s\x7" "$1"; }
    precmd() { printf "\x1B]1337;PostExecMarker;Exit=$?;CurrentDir=$(pwd);\x7"; }
    lasuar
        104
    lasuar  
       2 天前
    增加 赞赏功能,我去包你明天早餐
    powersee
        105
    powersee  
    OP
       2 天前 via iPhone
    @noisay #102 下个版本支持


    @lasuar #104 感谢大佬,目前还不打算开通赞赏哈
    ZiLong
        106
    ZiLong  
       2 天前
    赞,有句话不知当讲不讲,我还挺喜欢 java 的,还是有人做些有趣的事了,就是楼主考虑过商业化相关的么?感觉投入和产出有可能极不成正比
    powersee
        107
    powersee  
    OP
       1 天前 via iPhone   ❤️ 1
    @ZiLong #106 除非有一天我觉得做的和 xshell 相当了,否则可能不会考虑商业化。
    cowcomic
        108
    cowcomic  
       17 小时 48 分钟前
    @powersee 就是搜索终端屏幕上打印出来的这些文字
    powersee
        109
    powersee  
    OP
       17 小时 26 分钟前 via iPhone
    @cowcomic #108 ctrl+f 呀
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   982 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 21:32 · PVG 05:32 · LAX 13:32 · JFK 16:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.