想要文件分发和版本管理?使用Makefile构建:
make server-run # 构建并启动服务器💡 提示: 首次运行前需要在 build/server/downloads/ 目录创建应用manifest文件
这个仓库包含两个独立的系统,请根据需求选择使用:
跨平台HTTP文件托管服务
cmd/server/ # 文件服务器入口
├── main.go # 多应用文件服务器
└── ...
server.config.json # 服务器配置文件
Makefile # 构建脚本
downloads/ # 文件存储目录
make server-init # 初始化示例数据
make server-run # 构建并启动服务器- 多应用托管: 每个应用独立的manifest和认证策略
- 安全认证: per-app API密钥验证
- 速率限制: 每个应用独立的请求限制
- SRE监控: 健康检查、就绪检查、监控指标
- 跨平台: 支持Windows/Linux/macOS
- 应用列表:
http://localhost:8080/ - 应用manifest:
http://localhost:8080/{app}/latest.json - 健康检查:
http://localhost:8080/health - 监控指标:
http://localhost:8080/metrics
Windows特定的应用生命周期管理
cmd/evs/ # 进程管理核心
├── main.go # EVS进程管理器
└── ...
cmd/launcher/ # 客户端界面
├── main.go # 托盘应用
└── ...
config.yaml # 进程管理配置
- 进程管理: Windows应用启动/监控/终止
- 托盘界面: 系统托盘图标和菜单
- 参数代理: 命令行参数传递和管理
- Socket通信: TCP Socket (127.0.0.1:50505)
# 构建GUI版本
go build -ldflags="-H windowsgui" -o evs.exe ./cmd/evs/main.go
# 构建控制台版本
go build -o evs-console.exe ./cmd/evs/main.go
# 启动托盘界面
go build -o launcher.exe ./cmd/launcher/main.go| 需求场景 | 推荐系统 | 入口文件 |
|---|---|---|
| 文件分发/版本管理 | 🚀 文件服务器 | cmd/server/main.go |
| Windows进程管理 | ⚙️ 进程管理器 | cmd/evs/main.go |
| 托盘界面 | ⚙️ 进程管理器 | cmd/launcher/main.go |
- 两个系统独立运行,不要混合使用
- 文件服务器是当前主要开发焦点
- 进程管理器处于维护模式,仅Windows支持
├── cmd/
│ ├── server/ # 🚀 文件服务器 (活跃开发)
│ ├── evs/ # ⚙️ 进程管理器 (维护模式)
│ └── launcher/ # 🖥️ 托盘界面 (维护模式)
├── server.config.json # 文件服务器配置
├── Makefile # 构建脚本
├── config.yaml # 进程管理器配置
├── downloads/ # 文件存储
└── docs/ # 文档目录
├── file-server.md
└── process-manager.md