rms-link-checker is a Python command-line application that crawls a website starting from a given root URL, checks all discovered links for validity, detects misplaced asset files, and produces a plain-text report summarizing the results.
Full documentation is available at rms-link-checker.readthedocs.io.
- Crawls an entire website starting from a single root URL
- Checks all discovered links (internal and external) for validity
- Detects broken links (4xx/5xx responses) and broken anchor fragments
- Follows and reports redirect chains
- Detects misplaced asset files (images, documents, scripts, etc.)
- Configurable depth limit, request limit, and thread count
- YAML configuration file support with CLI override precedence
- Non-HTTP scheme links (mailto:, tel:, etc.) recorded and reported
- SSL certificate errors reported per domain
- Plain-text report with 11 sections
pipx install rms-link-checkergit clone https://github.com/SETI/rms-link-checker.git
cd rms-link-checker
python3 -m venv venv
source venv/bin/activate
pip install -e ".[dev]"link_check https://example.comWith options:
link_check https://example.com --max-depth 3 --max-threads 20 -o report.txtWith a configuration file:
link_check --config-file config.yamlInformation on contributing to this package can be found in the Contributing Guide.
This code is licensed under the Apache License v2.0.