#binaries #platform #serve #binary #unix-like #prebuilt

app binhost

易于提供文件的HTTP服务器

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服务器

MIT 许可证

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