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

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

9412 次点击
所在节点    分享创造
163 条回复
changdy
57 天前
建议弃坑...
sftp 有 winscp
shell 下有 xshell
数据库管理工具
偏向于开发的有 datagrip 偏向于管理的有 navicat ,还有 dbeaver .
redis 下也有一个非常好用的客户端软件..

你要想清楚你的优点是什么....(尝试劝人回头...
lerosua
57 天前
耐得住寂寞与各种挣扎,强~
follow
57 天前
@xiwh ZW1haWw6IGd1aG9uZ2p1bkBnbWFpbC5jb20= 谢谢
carbon
57 天前
v2ex 激活码已经用完了,大家还是非常热情的呢
carbon
57 天前
点击“用户协议”和“隐私政策”,显示出来的都是“隐私政策”,不知道是不是 bug 还是尚未完善。
carbon
57 天前
点击 shell 左侧标签,显示“启动失败,是否重新安装”,插件 remote-control 启动失败,原因 network error. 点击确定后进入的页面先是提示重新安装失败...卸载失败原因 network error ,然后转圈圈。返回主页面不知道如何处理,才发现点击 hexhub 图标即可返回主页面,这里如果有提示就好了。另外网络是通的呢,不知道啥原因提示网络不通。
感觉要再用用看看然后一起发,免得占太多回帖
zsh2517
57 天前
官网页面 BUG 好像有点多...官网下载都没下载成,价格也显示不出来...

不太方便截图,控制台能看到的报错们大概如下

GET https://hexhub.cn/data-table-sample 404 (Not Found)
Access to fetch at 'https://api.hexhub.cn/client/plugin/master-latest-version-list' from origin 'https://www.hexhub.cn' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'https://hexhub.cn' that is not equal to the supplied origin. Have the server send the header with a valid value, or, if an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
BoJyf_Ru.js:1
GET https://api.hexhub.cn/client/plugin/master-latest-version-list net::ERR_FAILED 200 (OK)
Blocked autofocusing on a <div> element in a cross-origin subframe.
zsh2517
57 天前
@zsh2517 抱歉,好像是我的问题。有个浏览器插件 Allow CORS 忘了关了(之前遇到过,虽然不知道为啥反而会导致 CORS )
carbon
57 天前
@carbon #66 mysql 页面如果尝试添加服务器的话也会出现网络错误无法启动 db-mysql 的提示,ssh 和数据库都提示无网络。但是注册账号登录账号都正常,尝试下单也能显示收款二维码。
上两个网络错误:关闭程序,重启后正常了,可顺利安装插件。
开始菜单中没有程序连接,win10 系统。
angenin
57 天前
如果能自己新增标签页,新标签页能选择链接 SSH 还是 MySQL 就最好了(例如首页显示资源和连接)。目前选了 SSH 或者 MySQL 后,就不能切换到另一种。另外连接后也无法返回到首页,必须关闭软件重新打开。
BigBai
57 天前
1. 官网下载按钮选择 Windows-arm64 版本下载的是 Mac-arm64 版本的安装包,好像是页面初始化显示问题,点了几次就不显示 windows-arm64 版本了
2. 数据库导出报错
```shell
开始导出:sys_user
sql: expected 18 destination arguments in Scan, not 0
sql: expected 18 destination arguments in Scan, not 0
sql: expected 18 destination arguments in Scan, not 0
执行结束
执行失败:Failed to execute 'showSaveFilePicker' on 'Window': Failed to create or truncate file
```
BigBai
57 天前
@angenin 可以尝试点一下左上角`hexhub`的 logo,应该能解答你的问题
qbmiller
57 天前
拿什么开发的 ,3 端客户端?
SuperXRay
57 天前
"Hexhub.app"已损坏,无法打开,选的 Mac ARM 版本,电脑是 m1 芯片
xurvs
57 天前
@SuperXRay sudo xattr -rd com.apple.quarantine /Applications/HexHub.app
thinkwei2012
57 天前
连接数据库,将隧道超时 5 改为 30 就 提示:连接已断开, 原因:json: cannot unmarshal string into Go struct field ConnConf.timeout of type uint16
SuperXRay
57 天前
@xurvs 命令确实有用,但是我准备注册账户,填写完资料下一步是灰色的,无法注册啊
tianzx
57 天前
好像没有买断版是吧?
Chad0000
57 天前
@xiwh #8
正好之前我也想过数据隐私问题,我的方案是我压根儿不访问任何非用户指定的远程资源。用户的数据我使用用户自己的密码加密保存到网盘同步。这样压根儿跟我没一毛钱关系。
lovegnep
57 天前
不错,已经下载在用

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

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

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

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

© 2021 V2EX