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

53 天前
 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, 当然免费版已经足够日常使用,诸位可按需购买。

9313 次点击
所在节点    分享创造
163 条回复
F7TsdQL45E0jmoiG
53 天前
要不要支持一下 Oracle ?
xiaonian233
53 天前
@xiwh 有点奇怪了,注册成功然后登录的时候密码弹错误。我又转去注册页面,密码是正确的。找回密码提示邮箱不存在
BigBai
53 天前
您好,请问我想连接 SSH,同时连接数据库应该如何操作,好像只有一个操作窗口
xiaosheng
53 天前
提几个建议哈,刚刚注册并领取了一个 1 年会员,感谢 OP ,然后注册过程中有几个小问题
1. 注册时密码复杂度要求不符时并未在表单中体现,点下一步点不了猜测是这个问题,然后重复操作才可
2. 注册成功后点击登录,无法登陆,显示用户名和密码不符,感觉有问题所以点击找回密码,去邮箱找回密码时才发现有确认注册的邮件(这一步很奇怪。。) ,个人建议可以先弹窗提示
3. 左侧选择 SSH 会话和 Mysql 列表的筛选栏,建议可让用户自行选择时候折叠,第一次用的时候就很懵
xiwh
53 天前
@BigBai #23 首页选择资产右键可以新窗口打开,或者每个窗口顶部 登录/个人信息 按钮左边有一个按钮可以开新窗口
xiaosheng
53 天前
@xiaonian233 看邮箱,有个确认注册的邮件需要点一下。。。这个注册逻辑有点子小问题的
xiwh
53 天前
@xiaosheng 感谢您的建议(对我来说很重要),不过第三点可以详细讲讲吗,我没太明白
xiwh
53 天前
@morenacl Oracle 后续可能会支持,不过优先级比较靠后
xiwh
53 天前
@yangg #11 1 年激活码已发送至您的邮箱,感谢支持
caola
53 天前
刚测试 mariadb 就报 :Error 1054:Unknown column 'sta.EXPRESSION' in 'field list'
xiwh
53 天前
@caola 请问新建资产时,选择的是 Mariadb 吗,然后 Mariadb 版本是多少呢
lizeze
53 天前
插件 db-mysql 启动失败,原因:Network Error
d460686680
53 天前
能打包成 webui 么?更方便
xiwh
53 天前
@lizeze 这是首次下载插件失败了,可能突破了 cdn 的并发限制,重启后再试试呢,等会我把限制调高一点
SingeeKing
53 天前
似乎首次登录时不会发送验证码,必须要等待 60s 重发才会发
BigBai
53 天前
有点尴尬了,还是不会用,窗口 1 在连接 SSH 的情况下,窗口 2 好像只能连接 SSH,我想窗口 2 使用图形化界面连接数据库 https://imgur.com/undefined
lizeze
53 天前
@xiwh #34 安装成功了,打开 mysql 数据表就出现这个 [Imgur]( https://imgur.com/yyE8HrK)
xiwh
53 天前
@d460686680 主要是数据库, SSH 等连接必须依赖原生环境,不过后续可以考虑出一个 Docker 私有化部署方案
xiwh
53 天前
@BigBai #36 您发的图片链接貌似有问题呢,具体操作如下图:
xiwh
53 天前
@SingeeKing 收到,晚上回去就改了,感谢您的支持

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

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

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

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

© 2021 V2EX