事情的起因大概在 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 容器列表、磁盘挂载列表等信息。
技术栈:Golang TypeScript Vue3 C++ CEF
官网:www.hexhub.cn
最后奉上 5 折折扣码:v2ex, 当然免费版已经足够日常使用,诸位可按需购买。
102
rolinbutterfly2 228 天前
能不能单独支持 sftp ,不支持 ssh 的登录配置。我有设置为服务器只允许 sftp 方式登录,上面就无法执行了。最好可以定一个便宜的永久版,增加支持多个窗口就行。😀
|
104
xiwh OP @lizeze #101 启动超时可能是电脑性能或杀毒软件扫描引起的超时,后续我把超时判定时间改长一点重试一下应该就好了,只要首次在公网里完成了相关插件的下载,后续在内网里也能正常使用
|
106
xiwh OP @rolinbutterfly2 好的
|
108
xiwh OP @linyongqianglal #99 页面设计风格、交互、每个功能的细节(比如表结构编辑、数据编辑、数据字典、XLSX 、SQL 导入导出、数据/结构同步)我觉得都领先于 dbeaver ,当然这是我的主观看法,唯一的缺点是支持的数据库现在还比较少,不过这块还在快速适配中,具体您可以体验一下
|
109
VtoEXL 228 天前
很多弹框,直觉按 Esc 键是关闭,但是现在必须去点关闭,有点麻烦
|
111
chanChristin 228 天前
@changdy 你说的都是分散在不同工具中的,但是这个软件 all in one ,对于某些人来说单个的更省事。
|
112
chanChristin 228 天前
提个小需求,希望点击下载的时候可以根据 ua 自动判断要下载哪个版本,可以方便区分开 win 和 Mac
|
113
xiwh OP @chanChristin #112 这个可以有
|
114
chanChristin 228 天前
@xiwh #39
点击新窗口打开的窗口中左边的 logo 距离操作按钮过近,这个是必现的。 还有就是这个逻辑的问题,希望新窗口能在主页上自己选择打开哪个,而不是默认当前的。 还有就是 cmd+w 不能关闭窗口,Mac 下好像没有快捷键能关闭窗口,只能手动点击关闭或者 cmd+q 直接退出。 |
115
xujiahai 228 天前
ssh 下面的文件传输能不能设置成默认使用 SCP 协议传输,设置 Openwrt 的时候有很多老设备还不支持 sftp ,谢谢
|
116
xiwh OP @chanChristin #114
"点击新窗口打开的窗口中左边的 logo 距离操作按钮过近,这个是必现的", 这个应该是重绘红黄蓝按钮坐标失败导致的,这个很奇怪我在我老的 MBP2018 上似乎没问题,方便透露一下您的 Mac 型号和系统版本吗。 另外两个建议也很不错,下个版本就支持上,然后快捷键的话就用每个平台标准的快捷键了,因为暂时不想做快捷键配置,我觉得那样看起来就太复杂了 |
117
xiwh OP @xujiahai 这种方式可能不太标准,文件拖拽进终端就会使用 SCP 进行上传,或者使用 RZ/SZ 命令用 ZModem 协议进行传输,不知道这样能否解决您的问题呢
|
119
chanChristin 228 天前
@xiwh #116
Mac 型号是 14 寸 mbp M1 Pro 的,版本是 14.4.1 (23E224) cmd + w 不是 Mac 上的标准快捷键吗?基本上所有的 App 都支持这个快捷键,这我还真不知道。 |
120
xiwh OP @chanChristin #119 因为 HexHub 是跨平台的,不同平台快捷键支持不一样,可能原生的窗口有默认支持,不过 HexHub 是基于 CEF 开发的.. 请留下邮箱让我发一个激活码表达感谢
|
121
chanChristin 228 天前
@xiwh #120
谢谢 [email protected] 刚才在注册的时候也碰到问题了,我分别使用 pm.me proton.me live.com 注册都无法收到验证码,最后找了个 outlook 的才可以,如果是不支持发送到这些邮箱可以做个提示。 |
122
xiwh OP @chanChristin #121 这块确实不好处理,邮件 API 日志显示的已到达,然后用白名单验证域名又容易一刀切,黑名单永远都拦不完,只能建议切换到主流邮箱了..
|
123
xujiahai 228 天前
<blockquote class="imgur-embed-pub" lang="en" data-id="a/7tiQlYc" data-context="false" ><a href="//imgur.com/a/7tiQlYc"></a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script>
[img][/img] 头一次用图床,见谅 我这两个路由器都不能正常使用文件传输,不清楚原因,谢谢 |
125
xujiahai 228 天前
|
126
xiwh OP @xujiahai #125 有试过 FileZilla 等这种专门 SFTP 软件能使用吗,WinSCP 好像有个兼容模式,没开启 SFTP 会通过 SCP 和命令模拟来兼容
|
127
xujiahai 228 天前
|
128
glaucus 228 天前
插件 db-mysql 启动失败,原因:Network Error
|
129
xiwh OP @xujiahai #127 您这个 MyWifi 是连 SSH 都连不上吗,确认配置是对的吗,然后方便的话请发一下 ssh 服务器版本(通常执行 sshd -v 可获取)
|
134
joewp 228 天前
本地数据库没有密码的话无法连接,密码框是必填项
|
136
xiangbohua 228 天前
M1 Pro 处理器双击打开提示:damage ,我知道这东西应该可以通过 remove attr 的命令解决,但是能不能下载下来就不提示哦。
|
137
xiwh OP @xiangbohua 报错的本质原因是没有每年花 799 购买 Apple 开发者账号进行签名,等我有钱了一定整一个签名😭
|
138
privil 228 天前
可以考虑兼容一下 trzsz 协议,很流畅
|
139
supersu 227 天前 via Android
sftp 支持 sudo 提权么,我禁止了 root 登陆,如果支持的话就可以抛弃 winscp 了~
|
140
xiwh OP 这个有计划支持,不过当前版本还不支持
|
142
qbmiller 227 天前
大佬,go CEF 用哪个框架 。还是直接 cef 直接用。有类似的教程吗。 一直想学个 go 的 gui
|
143
xiwh OP @qbmiller GUI 的话跟 Golang 这边没关系 Golang 只负责通过一套 RPC 协议为前端提供支持,GUI 直接用 C++调 CEF 套了一层壳然后启动时会启动一个 Golang 的后台进程
|
144
joewp 227 天前
|
149
BigBai 226 天前
请问,每天打开都要下载一次插件吗,还是说 OP 每天都在熬夜更新
|
151
Tukali 226 天前
来个限时终身啥的呗,肯定支持直接
|
153
Psily1017 226 天前
提个遇到的 bug 吧,windows10 环境下 移动软件,会自动一直缩小,重现率 100%
|
154
xiwh OP 方便在 cmd 执行 ver 命令将当前系统版本发送给我吗,我找个环境复现一下
|
157
garyvalue 215 天前
确实 windows11 环境下 移动软件,会自动一直缩小
|
161
NouveauNom 177 天前
macos,长时间不操作,就会提示断开连接,无法重连,只能关闭窗口再链接
|
162
xiwh OP @NouveauNom 请问您是使用 SSH 功能遇到的这个问题吗,是多长时间不操作出现的呢,我这边测试长时间未使用确实会断连,但是右键重连后依然能够正常使用
|
163
xiwh OP @NouveauNom 已修复,等下推送更新
|
164
cydian 16 天前
今天搜到了这个帖子,下载了 https://d4.injdk.cn/dbkangaroo/v6.2.1.1201/Kangaroo-Multiple-6.2.1.1201-x86_64.exe
但是安装之后,点图标打开,没有任何反应。。。。反复尝试多次也无果。。。 |