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
..

file

被控端文件管理 HTTP 能力(自 remote-backend-server internal/handlers/file 移植, 去 DB 依赖):目录浏览、改名、删除、上传、下载(断点支持)、目录创建。

路由

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

file.RegisterRoutersGatewayFile(r *gin.RouterGroup)
方法 路径 说明
GET/POST /file/list 目录列表(POST 收 JSON {path},避免路径含 # 等字符被 query 截断)
PUT /file/name 重命名
DELETE /file 删除文件/目录
GET/HEAD /file/download 下载(HEAD 取大小,GET 支持 Range 续传)
POST /file/upload 上传
POST /file/dir 创建目录

注意

  • 与 shell/process 同为被控 HTTP 能力,经 zonat 隧道 + web-gateway 反代出网。
  • 路径参数来自控制端,接入公网前务必在网关侧做鉴权与路径白名单校验。