开发时长一年半,新一代数据库、SSH/SFTP 跨平台桌面 GUI 工具

63 天前
 xiwh

开发时长一年半,新一代数据库、SSH/SFTP 跨平台桌面 GUI 工具

事情的起因大概在 22 年 9 月,脑子里突然冒出来一股强烈的开发一款独立软件的念头,于是开始了这段独立开发之路,起初我只是想做关于数据库方面的功能,后面实现 MySQL SSH 隧道功能时,想到一些自己使用其他 SSH 或 SFTP 工具存在的一些痛点,于是便开了一个新坑:把 SSH/SFTP 功能也集成起来,数据库目前暂时只支持 MySQL 和 MariaDB ,预计在第三季度将 PostgreSQL 、SQLite 、Clickhouse 也集成进来,数据库方面集成优先级是 是否开源>流行度,后续可能还会接入 Redis 、服务器 Docker 管理。
从 22 年 9 月开始,我一直在利用业余时间开发这款软件(这可能是我坚持时间以及付出精力最多的一个项目了哈哈),中途项目经过了多轮重构(比如说从 Vue2 升级 Vue3 )、性能优化、以及一些基础设施的搭建(插件化、热更新、插件发布持续集成等等),再加上我个人对自己软件有一种完美主义者的心态,页面不好看,交互不友好,页面卡顿,内存占用过大,内存泄漏,Code review 都可能引发我的调整或重构,再加上作为一个程序员对推广方面确实比较排斥,所以耗时 1 年半迟迟没有正式发布并开始推广,这个帖子就是本软件的第一个推广哈哈。
HexHub 目前应该已经是一个比较可用的状态了,因为我已经在两个月前将 SSH 和 MySQL GUI 切换到 HexHub 了,详细的功能说明我就不写,简单放几张页面截图和功能描述,欢迎大家体验,使用过程中有觉得不好地方一定记得留言我尽力解决。

预览图

首页导航页

暗色主题

数据库表列表页面:会显示表的一些摘要信息,表列表目前有两个视图类型,当表数量大于 50 时会自动切换成网格模式,能够充分利用空间显示更多的表。然后右边有个空间会实时显示当前数据库的一些指标

表结构编辑:布局比较类似 Navicat ,不过多了一些小细节,比如说新增/编辑着色、拖拽排序、新增字段根据名称推断类型等等

SQL 查询:基于 CodeMirror 魔改的,自动完成智能程度我认为 DataGrip > HexHub > DBeaver > Navicat

表数据编辑:自研的数据表格,做了相当多的优化,实现了新增/编辑作色,撤销、表格批量粘贴、多行编辑、内联编辑、不限制行数,百万甚至千万数据同屏依旧丝滑,几乎可以像 Excel 一样轻松编辑数据,不方便下载的同学可以访问官网有预览 Demo 。

SSH/SFTP:页面同时包含终端、本地目录、远程目录,远程目录路径能够跟随终端路径发生变化,支持拖拉拽复制/粘贴文件,权限控制等等,使用起来感觉还是相当不错的。

文件传输:支持 SFTP 、ZMODEM 、SCP 三种文件传输协议,SFTP 使用了并发上传技术、ZMODEM 协议我自己用 Golang 实现了一个(不得不说这个古老的非标准协议要做稳定真的是相当费劲),很大程度解决了很多其他工具会遇到的传输不稳定传输速度慢的问题。

实时面板:支持网速、CPU 、内存、进程列表、Docker 容器列表、磁盘挂载列表等信息。

功能表

基础

数据库

SSH/SFTP

技术栈:Golang TypeScript Vue3 C++ CEF
官网:www.hexhub.cn

最后奉上 5 折折扣码:v2ex, 当然免费版已经足够日常使用,诸位可按需购买。

9521 次点击
所在节点    分享创造
163 条回复
lizeze
62 天前
@xiwh #57 [img][/img] [img][/img]

刚刚打开就这样了。另外是不是只能在有公网的环境下使用,我这里内网是不是没法用
rolinbutterfly2
62 天前
能不能单独支持 sftp ,不支持 ssh 的登录配置。我有设置为服务器只允许 sftp 方式登录,上面就无法执行了。最好可以定一个便宜的永久版,增加支持多个窗口就行。😀
lizeze
62 天前
@xiwh #57 是还没增加更新提醒么?
这个地方只能字符串换行,sql 不能换行,是 bug 还是就这么设计的呢
xiwh
62 天前
@lizeze #101 启动超时可能是电脑性能或杀毒软件扫描引起的超时,后续我把超时判定时间改长一点重试一下应该就好了,只要首次在公网里完成了相关插件的下载,后续在内网里也能正常使用
xiwh
62 天前
@lizeze #103 这块是这样设计的,因为考虑条件应该不会太复杂(更加复杂的语句应该是 SQL 查询功能),然后把回车快捷键用作了触发表刷新动作了
xiwh
62 天前
lizeze
62 天前
@xiwh #105 很强
xiwh
62 天前
@linyongqianglal #99 页面设计风格、交互、每个功能的细节(比如表结构编辑、数据编辑、数据字典、XLSX 、SQL 导入导出、数据/结构同步)我觉得都领先于 dbeaver ,当然这是我的主观看法,唯一的缺点是支持的数据库现在还比较少,不过这块还在快速适配中,具体您可以体验一下
VtoEXL
62 天前
很多弹框,直觉按 Esc 键是关闭,但是现在必须去点关闭,有点麻烦
xiwh
62 天前
@VtoEXL 不妨说一下是什么弹窗呢,弹窗默认是支持 Esc 键关闭的,不过很多我觉得比较重要的弹窗可能关闭了 Esc 快捷键
chanChristin
61 天前
@changdy 你说的都是分散在不同工具中的,但是这个软件 all in one ,对于某些人来说单个的更省事。
chanChristin
61 天前
提个小需求,希望点击下载的时候可以根据 ua 自动判断要下载哪个版本,可以方便区分开 win 和 Mac
xiwh
61 天前
@chanChristin #112 这个可以有
chanChristin
61 天前
@xiwh #39
点击新窗口打开的窗口中左边的 logo 距离操作按钮过近,这个是必现的。
还有就是这个逻辑的问题,希望新窗口能在主页上自己选择打开哪个,而不是默认当前的。
还有就是 cmd+w 不能关闭窗口,Mac 下好像没有快捷键能关闭窗口,只能手动点击关闭或者 cmd+q 直接退出。
xujiahai
61 天前
ssh 下面的文件传输能不能设置成默认使用 SCP 协议传输,设置 Openwrt 的时候有很多老设备还不支持 sftp ,谢谢
xiwh
61 天前
@chanChristin #114
"点击新窗口打开的窗口中左边的 logo 距离操作按钮过近,这个是必现的", 这个应该是重绘红黄蓝按钮坐标失败导致的,这个很奇怪我在我老的 MBP2018 上似乎没问题,方便透露一下您的 Mac 型号和系统版本吗。
另外两个建议也很不错,下个版本就支持上,然后快捷键的话就用每个平台标准的快捷键了,因为暂时不想做快捷键配置,我觉得那样看起来就太复杂了
xiwh
61 天前
@xujiahai 这种方式可能不太标准,文件拖拽进终端就会使用 SCP 进行上传,或者使用 RZ/SZ 命令用 ZModem 协议进行传输,不知道这样能否解决您的问题呢
xiwh
61 天前
@xujiahai 然后顶部的设置按钮点开,也有 SCP 下载的输入框,可以输入路径进行下载
chanChristin
61 天前
@xiwh #116
Mac 型号是 14 寸 mbp M1 Pro 的,版本是 14.4.1 (23E224)
cmd + w 不是 Mac 上的标准快捷键吗?基本上所有的 App 都支持这个快捷键,这我还真不知道。
xiwh
61 天前
@chanChristin #119 因为 HexHub 是跨平台的,不同平台快捷键支持不一样,可能原生的窗口有默认支持,不过 HexHub 是基于 CEF 开发的.. 请留下邮箱让我发一个激活码表达感谢

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

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

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

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

© 2021 V2EX