Files
w11 872f843c6f refactor(file,shell,process): 去 gin 化——标准库 http.HandlerFunc + webhttp.Router 适配层
- 新增 webhttp 包: Router 最小路由接口(5 动词) + ServeMuxRouter 适配器 + WriteJSON 统一响应
- file/shell/process 三个被控能力包改以标准库 handler 形态注册, 不再绑死 gin
- 由此 gin 及其连带重依赖(quic-go/http3、mongo bson、ugorji codec、goccy、validator)退出被控端二进制
- shell: recDir 死参数修复——原实现硬编码 ./rec, 传入的录制目录不生效; 现录制写入与记录列表同源
- shell: 终端创建失败由 panic 改为记日志后关连接(net/http 按连接兜底恢复, 不再依赖框架 Recovery)
- file: 上传落盘不再沿用 SaveUploadedFile 的 MkdirAll+Chmod(Windows 盘根 Chmod 报参数不正确), 保留 MkdirAll 去掉 Chmod
- 消费方: remote-client 纯 ServeMux 承载; remote-service 保留 gin 栈经 gin.WrapH 桥接(middle 链照常生效)

破坏性变更: RegisterRouters* 形参 gin.RouterGroup → webhttp.Router, 升级 tag v0.5.0
2026-09-29 08:26:23 +08:00
..

process

远程进程管理(被控 HTTP 能力):进程列表 / 结束进程。gopsutil 跨平台实现, 与 file/shell 同为被控 HTTP 能力——BS 与客户机被控端共用,经 zonat 隧道 + web-gateway 反代出网(typ=process,页面 www/process.html)。

路由

import "git.zeroonesoft.cn/golib/remote-core/process"

process.RegisterRoutersProcess(r *gin.RouterGroup)
方法 路径 说明
GET /process/list 全量进程列表(ProcItem:pid/名称/用户/CPU/内存/启动时间/可执行路径/命令行),按内存占用降序
POST /process/kill 结束进程,入参 {pid, name?}

注意

  • kill 带 name 时做防误杀校验:实际进程名与传入不符则拒绝(防 pid 复用)。
  • Windows 上 gopsutil 权限不足时自动回退 taskkill /F /T(连子进程树强杀)。