API Invoke

一个简单的 HTTP API 服务,用于通过 API 调用指定的 shell 脚本,并返回执行结果。

项目简介

本项目实现了一个 HTTP API 服务,支持如下功能:

  • 监听指定 IP 和端口
  • 可选请求认证(通过 X-Auth-Key header)
  • 执行指定 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
  • -api API 路径(默认 invoke
  • -timeout 命令执行超时时间(默认 4 秒)

API 调用示例

请求

GET /invoke?param=value1&param=value2
Header: X-Auth-Key: 123123 (如果设置了 key)

响应

{
  "success": true,
  "message": "Result message",
  "data": "脚本输出内容"
}

脚本说明

默认调用 update.sh,你可以根据需要修改或替换为其他脚本。

目录结构

License

MIT