Dead link checker written in Golang using Colly.
# Required
sites:
- url: https://jensw.be
ignored_links: # Optional, list of regex's which should be ignored
- ^https://jensw.be/do-not-visit-me.*
notify: # Optional, send notification to these notifiers by name
- email_technical_en
# Optional, globally ignored links (see sites.ignored_links)
ignored_links:
- ^https://jensw.be/also-not-visit-me.*
# Optional, can also be set as environment variable VERBOSE.
# Default is False.
verbose: False
# Optional, run every night.
# If omitted or empty, DeLiC will check the provided sites once and exit.
cron: "0 0 * * *"
# Optional, endpoint to send GET request to on a successful run.
# If omitted or empty, health check request will be skipped.
health_check:
url: "https://example.com/delic-health-check"
# Optional, see https://github.com/containrrr/shoutrrr/blob/main/docs/services/overview.md for supported URL's.
# If using "smtp", make sure to set option "usehtml=true".
notifiers:
- name: email_technical_en
url: smtp://smpt4dev:smpt4dev@localhost:8025/?from=delic@localhost&to=admin1@localhost,admin2@localhost&usehtml=true&subject=Broken%20links%20found
template_name: "technical_en" # Currently only "technical_en" and "simple_nl" supported
Probably only useful with --json
flag.
sites:
- url: https://jensw.be
By default, DeLiC tries to read the config file at ./config.yml
.
docker run -v /path/to/config.yml:/config.yml:ro,z jenswbe/dead-link-checker
-c, --config Location of the config file
--json Print all site reports as JSON to stdout
--now Overrides cron and forces an immediate check
-v, --verbose Enable verbose output
cd e2e
docker compose up -d
go test --tags e2e ./...