urlsup
(urls up) finds URLs in files and checks whether they are up by making a GET
request and checking the response status code. This tool is useful for lists, repos or any type of project containing URLs that you want to be up.
It's written in Rust and executes the requests async in multiple threads, making it very fast. This in combination with its ease of use makes it the perfect tool for your CI pipeline.
```bash
USAGE:
urlsup [OPTIONS]
FLAGS: --allow-timeout URLs that time out are allowed
OPTIONS:
-a, --allow
ARGS:
``bash
$ 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 ```
``bash
$ 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! ```
```bash $ urlsup README.md --white-list rust,crates
$ urlsup README.md,README-zh.md
$ urlsup docs/*.md
$ urlsup README.md --allow-timeout -t 5
$ urlsup README.md --allow 403,429
```
This repo uses a Makefile as an interface for common operations.
1) Do code changes
2) Run make build link
to build the project and create a symlink from the built binary to the root
of the project
3) Run ./urlsup
to execute the binary with your changes
4) Profit :star: