mirror of
https://github.com/Hopiu/lychee.git
synced 2026-05-13 00:03:11 +00:00
Add comparison table and recording of demo run (#17)
This commit is contained in:
parent
ee895551c4
commit
6c8c7c57e1
2 changed files with 45 additions and 34 deletions
79
README.md
79
README.md
|
|
@ -11,7 +11,7 @@ This thing was created from [Hello Rust Episode
|
|||
specially by using a `GITHUB_TOKEN` to avoid getting blocked by the rate
|
||||
limiter.
|
||||
|
||||
TODO: Add screenshots here
|
||||

|
||||
|
||||
## Why?
|
||||
|
||||
|
|
@ -20,41 +20,48 @@ runs all requests fully asynchronously and has a low memory/CPU footprint.
|
|||
|
||||
## Features
|
||||
|
||||
lychee can...
|
||||
| | lychee | awesome_bot | muffet | broken-link-checker | linkinator |
|
||||
| ------------------------------ | ------ | ----------- | ------ | ------------------- | ---------- |
|
||||
| Language | Rust | Ruby | Go | JS | TypeScript |
|
||||
| Static binary | ☑ | ☒ | ☑ | ☒ | ☒ |
|
||||
| Async/Parallel | ☑ | ☑ | ☑ | ☑ | ☑ |
|
||||
| Markdown support | ☑ | ☑ | ☒ | ☒ | ☒ |
|
||||
| HTML support | ☑ | ☒ | ☒ | ☑ | ☑ |
|
||||
| Plaintext support | ☑ | ☒ | ☒ | ☒ | ☒ |
|
||||
| Website support | ☑ | ☒ | ☑ | ☑ | ☑ |
|
||||
| Chunked encodings | ☑ | ? | ? | ? | ? |
|
||||
| GZIP compression | ☑ | ? | ? | ☑ | ? |
|
||||
| Basic Auth | ☒ | ☒ | ☒ | ☑ | ☒ |
|
||||
| Custom user agent | ☑ | ☒ | ☒ | ☑ | ☒ |
|
||||
| Relative URLs | ☒ | ☑ | ☒ | ☑ | ☑ |
|
||||
| Skip relative URLs | ☑ | ☒ | ☒ | ? | ☒ |
|
||||
| Include patterns | ☒ | ☑ | ☒ | ☑ | ☒ |
|
||||
| Exclude patterns | ☑ | ☒ | ☑ | ☑ | ☑ |
|
||||
| Handle redirects | ☑ | ☑ | ☑ | ☑ | ☑ |
|
||||
| Ignore SSL | ☑ | ☑ | ☑ | ☒ | ☒ |
|
||||
| File globbing | ☑ | ☑ | ☒ | ☒ | ☑ |
|
||||
| Limit scheme (e.g. only HTTPS) | ☑ | ☒ | ☒ | ☑ | ☒ |
|
||||
| [Custom headers] | ☑ | ☒ | ☑ | ☒ | ☒ |
|
||||
| Summary | ☑ | ☑ | ☑ | ? | ☑ |
|
||||
| `HEAD` requests | ☑ | ☑ | ☒ | ☑ | ☑ |
|
||||
| Colored output | ☑ | ? | ☑ | ? | ☑ |
|
||||
| [Filter on status code] | ☑ | ☑ | ☒ | ☒ | ☒ |
|
||||
| Custom request timeout | ☑ | ☑ | ☑ | ☒ | ☑ |
|
||||
| E-mail links | ☑ | ☒ | ☒ | ☒ | ☒ |
|
||||
| Progress bar | ☑ | ☑ | ☒ | ☒ | ☒ |
|
||||
| Retry and backoff | ☑ | ☒ | ☒ | ☒ | ☑ |
|
||||
| Exclude private domains | ☑ | ☒ | ☒ | ☒ | ☒ |
|
||||
| [Usable as a library] | ☒ | ☑ | ☒ | ☑ | ☑ |
|
||||
| Silent mode | ☑ | ☒ | ☒ | ☒ | ☑ |
|
||||
|
||||
- handle links inside Markdown, HTML, and other 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
|
||||
- handle a configurable number of redirects
|
||||
- disguise as a different user agent (like curl)
|
||||
- optionally ignore SSL certificate errors (`--insecure`)
|
||||
- check multiple files at once (supports globbing)
|
||||
- support checking links from any website URL
|
||||
- limit scheme (e.g. only check HTTPS links with "https")
|
||||
- accept custom headers (e.g. for cases like https://github.com/rust-lang/crates.io/issues/788)
|
||||
- show final summary/statistics
|
||||
- optionally use `HEAD` requests instead of `GET`
|
||||
- show colored output
|
||||
- filter based on status codes (https://github.com/tcort/markdown-link-check/issues/94)
|
||||
(e.g. `--accept 200,204`)
|
||||
- accept a request timeout (`--timeout`) in seconds. Default is 20s. Set to 0 for no timeout.
|
||||
- check e-mail links using [check-if-mail-exists](https://github.com/amaurymartiny/check-if-email-exists)
|
||||
- show the progress interactively with progress bar and in-flight requests (`--progress`) by @xiaochuanyu
|
||||
- automatically retry failed links with exponential backoff
|
||||
- exclude private domains (https://github.com/appscodelabs/liche/blob/a5102b0bf90203b467a4f3b4597d22cd83d94f99/url_checker.go) thanks to @pawroman
|
||||
## Planned features:
|
||||
|
||||
SOON:
|
||||
|
||||
- report output in HTML, SQL, CSV, XML, JSON, YAML...
|
||||
- check relative URLs (`base-url` to set project root)
|
||||
- usable as a library (https://github.com/raviqqe/liche/issues/13)
|
||||
- recursion
|
||||
- extended statistics: request latency
|
||||
- lychee.toml
|
||||
- report output in HTML, SQL, CSV, XML, JSON, YAML... format
|
||||
- report extended statistics: request latency
|
||||
- recursion
|
||||
- use colored output (https://crates.io/crates/colored)
|
||||
- skip duplicate urls
|
||||
|
||||
## Users
|
||||
|
||||
|
|
@ -68,8 +75,7 @@ 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
|
||||
Run it inside a repository with a `README.md` or specify a file with
|
||||
|
||||
```
|
||||
lychee <yourfile>
|
||||
|
|
@ -94,3 +100,8 @@ Collecting other link checkers here to crush them in comparison. :P
|
|||
|
||||
...to my Github sponsors and Patreon sponsors for supporting these projects. If
|
||||
you want to help out as well, [go here](https://github.com/sponsors/mre/).
|
||||
|
||||
[custom headers]: https://github.com/rust-lang/crates.io/issues/788)
|
||||
[filter on status code]: https://github.com/tcort/markdown-link-check/issues/94
|
||||
[exclude private domains]: https://github.com/appscodelabs/liche/blob/a5102b0bf90203b467a4f3b4597d22cd83d94f99/url_checker.go
|
||||
[usable as library]: https://github.com/raviqqe/liche/issues/13
|
||||
|
|
|
|||
BIN
assets/lychee.gif
Normal file
BIN
assets/lychee.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 694 KiB |
Loading…
Reference in a new issue