找回密码
 立即注册
搜索
查看: 88|回复: 4

轻量级运维极速引擎 OpsFlash v0.4.1 正式发布

[复制链接]

主题

0

回帖

0

积分

积分
0
发表于 2026-9-4 12:00:34 | 显示全部楼层 |阅读模式
OpsFlash v0.4.1 版本发布:
修复


SSH 非交互指令执行后不结束:命令衍生的后台进程持有 PTY 时 sshd 不发 EOF,Wait() 永久阻塞导致一直显示「运行中」;结束判定改为「Wait 返回 或 输出静默 10s」


SSH 流式收尾死锁:x/crypto/ssh 不关闭 stdout writer 导致读取协程永久阻塞、会话无法结束;关闭会话时显式关闭输出管道


SSH 交互式 / 守护进程类型指令启动报「CMD 命令不支持整体多行脚本」:该校验改为仅本地 terminal 模式生效


交互式会话停止后读取协程残留:随输出管道关闭一并修复


新增


SSH 远程守护进程(后台类型指令):nohup 远程启动 + kill -0 查活 + kill 停止,支持 SSH 连接的守护进程类型指令


OpsFlash

轻量级运维极速引擎 (The Flash Engine for Micro-Ops)




OpsFlash 是一款基于 Wails v3 + Go + Vue 3 的跨平台桌面运维工具。单二进制分发,本地 SQLite 存储,敏感凭据加密保护,让日常服务器运维轻快如一瞬闪电。

仓库地址

• GitHub:https://github.com/LeapSunrise26/OpsFlash
• Gitee:https://gitee.com/LeapSunrise/OpsFlash


特性


用户与认证:登录 / 登出,Token 会话(24h 过期),密码 bcrypt 哈希,用户管理(创建 / 修改 / 删除 / 角色)


连接管理:SSH / Redis / MySQL / TDengine 连接统一管理,密码、私钥、口令凭据本地加密存储,连接测试(含往返延迟)


SSH 隧道:local /remote/dynamic 三种端口转发,一键启停、断线自动重连、应用启动自启、分组与批量创建


指令库:命令统一管理(环境分组、terminal / SSH / Redis / MySQL / TDengine 五种执行位置、cmd / PowerShell / Bash 脚本解释器);非交互 / 交互终端 / 守护进程三种命令类型,ConPTY 实时输出、流式执行可停止


数据库执行:Redis 指令(go-redis)、MySQL / TDengine SQL(taosAdapter REST 免 CGO)一键执行,查询结果以结构化表格展示在终端面板


脚本库:bat /ps1 /sh 脚本统一管理(环境分组、在线编辑、重命名、一键执行);ConPTY 实时输出、多会话并行、可停止;Windows 走 WSL bash / Git Bash(自动探测路径挂载)


桌面体验:系统托盘(关闭最小化)、每日日志文件


技术栈


层级         技术

桌面框架         Wails v3 (v3.0.0-beta.4)

后端语言         Go 1.25

前端         Vue 3 + TypeScript + Vite 8

SSH         golang.org/x/crypto/ssh (纯 Go,无 CGO)

存储         SQLite (modernc.org/sqlite,纯 Go 驱动)

快速开始
环境要求

• Go 1.25+
• Node.js 20+(前端构建)
Wails3 CLI

开发模式


  1. wails3 dev

复制代码

热重载前端与后端改动。
构建产物


  1. wails3 build

复制代码

生成生产可执行文件到 bin/ 目录。构建后端为服务模式(无 GUI,纯 HTTP):


  1. task build:server # 或 task run:server

复制代码
默认账号

首次启动内置管理员账号:admin / 123456(登录后请尽快修改)。
项目结构


  1. ├── main.go # 应用入口(窗口、托盘、菜单、事件)

  2. ├── server/ # Go 后端

  3. │ ├── authservice.go # 登录/会话

  4. │ ├── userservice.go # 用户管理

  5. │ ├── connections.go # SSH 连接管理

  6. │ ├── tunnelservice.go # SSH 隧道

  7. │ ├── opsruntime.go # 命令执行运行时(PTY/会话)

  8. │ ├── exec/ # 执行器:ssh / mysql / redis / taos / terminal

  9. │ ├── pty/ # PTY 抽象(Windows ConPTY / Unix)

  10. │ ├── daemon/ # 守护进程

  11. │ ├── secret/ # 凭据加密(DPAPI / AES-256-GCM)

  12. │ └── tunnel/ # 隧道实现

  13. ├── frontend/ # Vue 3 前端

  14. │ └── src/components/pages/ # 页面:登录/首页/连接/隧道/命令/参数/用户

  15. ├── docs/ # 设计文档与数据库结构

  16. └── build/ # 平台打包配置

复制代码
软件截图

连接管理




隧道管理



开源协议

本项目基于 MIT 协议开源。使用、修改、商用、分发均需保留版权声明。
反馈与贡献

• 欢迎提 Issue / PR
• 安全漏洞请私信或邮件至维护者,勿直接公开

原文链接

打赏作者

当前余额:0 Token,打赏后立即到账

主题

0

回帖

0

积分

积分
0
发表于 2026-9-4 12:15:01 | 显示全部楼层
从头看到尾,收获不少,感谢分享。

主题

0

回帖

0

积分

积分
0
发表于 2026-9-4 15:15:01 | 显示全部楼层
学到了,OpsFlash这块之前一直似懂非懂,看完这篇清晰多了。

主题

0

回帖

0

积分

积分
0
发表于 2026-9-4 18:15:01 | 显示全部楼层
OpsFlash这个方向确实热度不减,不过坑也不少,楼主总结得很及时。

主题

0

回帖

0

积分

积分
0
发表于 2026-9-4 20:15:01 | 显示全部楼层
写得很详细,感谢楼主的整理,辛苦了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

{ template common/footer}