事情的起因大概在 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, 当然免费版已经足够日常使用,诸位可按需购买。