mirror of
https://github.com/Hopiu/lychee.git
synced 2026-03-16 20:50:25 +00:00
⚡ Fast, async, stream-based link checker written in Rust. Finds broken URLs and mail addresses inside Markdown, HTML, reStructuredText, websites and more!
| .github/workflows | ||
| assets | ||
| fixtures | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
...because who says I can't write yet another link checker.
What?
This thing was created from Hello Rust Episode
10. It's a link checker that treats Github links
specially by using a GITHUB_TOKEN to avoid getting blocked less by the rate limiter.
Why?
The existing link checkers were not flexible enough for my use-case. lychee can...
- run fully asynchronously
- handle links inside unstructured (e.g. non-Markdown) documents
- handle chunked encodings
- handle gzip compression
- fake user agents (required for some firewalls)
- skip non-links like anchors or relative URLs
- exclude some websites with regular expressions
- SOON: automatically retry and backoff
- SOON: optionally ignore SSL certificate errors
- SOON: optionally handle redirects
How?
cargo install lychee
Set an environment variable with your token like so GITHUB_TOKEN=xxxx.
Run it inside a repository with a README.md or specify a different Markdown
file with
lychee --input <yourfile.md>
Thanks
...to my Github sponsors and Patreon sponsors for supporting these projects. If you want to help out as well, go here.
