7个版本 (3个稳定版)
1.0.2 | 2020年8月10日 |
---|---|
1.0.1 | 2020年7月8日 |
0.4.0 | 2020年1月25日 |
0.3.0 | 2020年1月24日 |
0.1.4 | 2018年6月7日 |
#826 in HTTP服务器
26KB
193 行
proby
检查特定端口上的主机是否可达,并在HTTP上返回结果
其预期用途是作为只能通过HTTP探测容器或应用程序健康状况的服务的网关服务器。哦,它只是一个在任何地方都能工作的单个二进制文件!
这是什么
这个工具是一个非常简单的Web服务器,它接受HTTP请求来检查它们是否可以在提供的端口上进行连接。如果端口可连接,它默认返回200 OK
,如果不可连接则返回503 服务不可用
。
安装
只需从发行页面获取一个静态链接构建版本即可!
运行
要运行proby,只需调用它即可
proby
如果您不喜欢proby的默认界面和端口,您可以像这样进行更改
proby -i 127.0.0.1 -p 9000
用法
基本
这会使proby仅在本地回环接口的9000端口上监听。
检查example.com主机上端口1337是否可连接的示例请求
curl localhost:8080/example:1337
example:1337 is connectable
如果它可连接,则返回200,如果不可连接,则返回503。
当然,您也可以使用IPv4或IPv6
curl localhost:8080/8.8.8.8:1337
curl localhost:8080/2001:4860:4860::8888:1337
高级
如果您想自定义返回代码,可以通过设置请求参数good
和bad
来实现
curl localhost:8080/example.com:1337?good=201&bad=401
您还可以使用以下方式配置超时(以秒为单位)
curl localhost:8080/example.com:1337?timeout=2
默认超时为1秒。
CLI用法
proby 1.0.2
Sven-Hendrik Haase <svenstaro@gmail.com>
Check whether hosts are reachable on certain ports and return result on HTTP
USAGE:
proby [FLAGS] [OPTIONS]
FLAGS:
-h, --help Prints help information
-q, --quiet Be quiet (log nothing)
-V, --version Prints version information
-v, --verbose Be verbose (log data of incoming and outgoing requests). If given twice it will also log the body
data
OPTIONS:
-i, --interfaces <interfaces>... Interface to bind to [default: 0.0.0.0]
-p, --port <port> Port on which to listen [default: 8080]
构建
您需要一个最新稳定版本的Rust和Cargo。
然后只需输入
cargo build --release
构建完成后,二进制文件将出现在这里:target/release/proby
。
发布
这主要是我关于如何发布这个项目的笔记
cargorelease --dry-run
cargorelease
- 发布将由GitHub Actions自动部署。
- Docker镜像将由Docker Hub自动构建。
- 更新AUR软件包。
依赖项
~25–36MB
~634K SLoC