4个版本
0.2.2 | 2023年12月16日 |
---|---|
0.2.1 | 2023年12月16日 |
0.2.0 | 2023年12月16日 |
0.1.0 | 2023年12月16日 |
#171 in HTTP服务器
17KB
250 行
BinHost
为任何(类UNIX)平台轻松提供(预构建)二进制的HTTP服务器
安装
cargo install --git https://github.com/ivabus/binhost
服务器使用
使用 --help
列出选项
在生产中,请务必使用带速率限制器的代理。
目录结构
传递给 binhost
--dir
选项的目录(默认为 ./bin
)应如下所示(对于 hello
二进制文件)
注意:二进制列表将每5分钟刷新一次(默认值,见 --refresh
选项)
bin
└── hello
├── Darwin
│ ├── arm64
│ │ └── hello
│ └── x86_64
│ └── hello
└── Linux
└── aarch64
└── hello
客户端使用
获取可用的二进制文件
请求
GET / HTTP/1.1
示例响应
- hello (platforms: ["Linux-aarch64", "Darwin-arm64", "Darwin-x86_64"])
获取特定二进制的脚本(适用于 curl | sh
语法)
此脚本将确定平台和架构并下载必要的二进制文件(如果 sha256sum
二进制文件在 $PATH
中存在,则检查哈希值)。
请求
GET /<BIN> HTTP/1.1
获取特定平台的二进制文件
请求
GET /bin/<BIN>/<PLATFORM>/<ARCH> HTTP/1.1
获取特定平台的二进制文件的sha256哈希值
仅在有 "sha256" 功能时(每次请求重新计算哈希,对于大文件或大量请求可能不理想)
请求
GET /bin/<BIN>/<PLATFORM>/<ARCH>/sha256 HTTP/1.1
示例响应
a5d1fba1c28b60038fb1008a3c482b4119070a537af86a05046dedbe8f85e18d hello
许可证
本项目遵循 MIT许可证
依赖项
~16–50MB
~810K SLoC