3 个版本 (稳定)
1.0.1 | 2021 年 1 月 12 日 |
---|---|
1.0.0 | 2020 年 4 月 30 日 |
0.1.0 | 2020 年 4 月 30 日 |
#13 in #github-action
45KB
1K SLoC
urlsup
urlsup
(urls up) 在文件中查找 URL 并通过发起 GET
请求并检查响应状态码来检查它们是否可达。这个工具对于包含你希望可达的 URL 的列表、仓库或任何类型的项目都很有用。
它是用 Rust (稳定版) 编写的,并在多个线程中异步执行请求,使其非常快速。结合其易用性,使其成为 CI 管道的完美工具。
这个项目是 awesome_bot
的精简版,但旨在更快。
使用方法
USAGE:
urlsup [OPTIONS] <FILES>...
FLAGS:
--allow-timeout URLs that time out are allowed
OPTIONS:
-a, --allow <status codes> Comma separated status code errors to allow
--threads <thread count> Thread count for making requests (default: CPU core count)
-t, --timeout <seconds> Connection timeout in seconds (default: 30)
-w, --white-list <urls> Comma separated URLs to white list
ARGS:
<FILES>... Files to check
示例
$ urlsup `find . -name "*.md"`
> Using threads: 8
> Using timeout (seconds): 30
> Allow timeout: false
> Will check URLs in 1 file
1. ./README.md
⠹ Finding URLs in files...
> Found 2 unique URLs, 3 in total
1. https://httpstat.us/401
2. https://httpstat.us/404
⠏ Checking URLs...
> Issues
1. 401 https://httpstat.us/401
2. 404 https://httpstat.us/404
$ urlsup `find . -name "*.md"`
> Using threads: 8
> Using timeout (seconds): 30
> Allow timeout: false
> Will check URLs in 1 file
1. ./README.md
⠹ Finding URLs in files...
> Found 1 unique URL, 1 in total
1. https://httpstat.us/200
⠏ Checking URLs...
> No issues!
$ urlsup README.md --white-list rust,crates
# white list all links starting with rust or crates
$ urlsup README.md,README-zh.md
# check links in 2 files
$ urlsup docs/*.md
# check all markdown files in docs/ directory
$ urlsup README.md --allow-timeout -t 5
# speed up validation by setting a timeout of 5 seconds per link request and allowing timeouts
$ urlsup README.md --allow 403,429
# allow status code errors 403 and 429
安装
使用 cargo
安装,在本地机器上运行 urlsup
。
cargo install urlsup
GitHub Actions
参见 urlsup-action
。
开发
此仓库使用 Makefile 作为常见操作的接口。
- 进行代码更改
- 运行
make build link
来构建项目并将构建的二进制文件从项目根目录创建符号链接 - 运行
./urlsup
以执行具有您更改的二进制文件 - 盈利 ⭐
依赖
~13–27MB
~460K SLoC