一个简单的 HTTP API 服务,用于通过 API 调用指定的 shell 脚本,并返回执行结果。
本项目实现了一个 HTTP API 服务,支持如下功能:
- 监听指定 IP 和端口
- 可选请求认证(通过
X-Auth-Keyheader) - 执行指定 shell 脚本,并将参数通过
param传递 - 支持命令超时设置
- 返回标准 JSON 响应
go run invoke.go -ip ":8080" -key "123123" -cmd "./update.sh" -api "invoke" -timeout 4s参数说明:
-ip监听的 IP 地址和端口(默认:8080)-key请求认证密钥(可选)-cmd执行的脚本名称(默认./update.sh)-apiAPI 路径(默认invoke)-timeout命令执行超时时间(默认 4 秒)
GET /invoke?param=value1¶m=value2
Header: X-Auth-Key: 123123 (如果设置了 key)
{
"success": true,
"message": "Result message",
"data": "脚本输出内容"
}默认调用 update.sh,你可以根据需要修改或替换为其他脚本。
invoke.go:主程序入口update.sh:默认调用的 shell 脚本go.mod:Go 模块定义.gitignore:Git 忽略文件
MIT