check links in web documents or full websites
Find a file
Chris Mayo 77da1c1b01 Revert "Move ignorewarnings to output section in linkcheckerrc(5)"
The section header names are used when parsing linkcheckerrc.

This reverts commit f0b6ddda27.
2023-08-28 19:22:24 +01:00
.github Test on GitHub with httpbin from a container 2023-06-05 19:30:59 +01:00
cgi-bin Use python3 for cgi-bin/lc.wsgi 2021-01-28 19:20:24 +00:00
config Install linkcheckerrc in the package data 2021-12-30 19:27:04 +00:00
doc Revert "Move ignorewarnings to output section in linkcheckerrc(5)" 2023-08-28 19:22:24 +01:00
linkcheck Elevate redirection to a warning tagged http-redirected 2023-08-28 19:22:24 +01:00
po Update application translation catalogs 2023-05-15 18:46:13 +00:00
scripts Run pyupgrade --py37-plus x 2 2022-11-08 19:21:29 +00:00
tests Elevate redirection to a warning tagged http-redirected 2023-08-28 19:22:24 +01:00
tools Re-enable support for installing git archives 2023-01-17 19:26:24 +00:00
.flake8 Rename setup.cfg to .flake8 2022-09-05 19:24:01 +01:00
.git_archival.txt Re-enable support for installing git archives 2023-01-17 19:26:24 +00:00
.gitattributes Re-enable support for installing git archives 2023-01-17 19:26:24 +00:00
.gitignore Add .coverage and .pytest_cache to .gitignore 2022-09-05 19:30:38 +01:00
.project Add Eclipse Pydev project files. 2011-05-18 21:12:18 +02:00
.pydevproject Updated pydev settings. 2011-12-17 19:13:43 +01:00
.pylintrc Add linting with Pylint to build workflow 2023-05-03 19:24:53 +01:00
.yamllint Add a yamllint check for workflows 2021-11-30 19:45:17 +00:00
CODE_OF_CONDUCT.rst Include CONTRIBUTING and CODE_OF_CONDUCT in Sphinx documentation 2020-08-15 17:02:40 +01:00
CONTRIBUTING.rst Fix broken external links in documentation 2021-08-12 19:28:50 +01:00
COPYING Moved some files into the doc/ subdirectory. 2010-03-06 21:52:25 +01:00
Dockerfile Update Docker image to Python 3.11 2022-12-08 19:26:33 +00:00
Makefile Add yamllint to make check 2022-09-13 19:32:06 +01:00
pyoxidizer.bzl Enable creating a binary with PyOxidizer 2021-12-30 19:27:04 +00:00
pyproject.toml Merge pull request #716 from cjmayo/py38 2023-01-30 19:36:11 +00:00
pytest-minreqs.ini Test with minimum versions of requirements 2022-11-30 19:21:06 +00:00
pytest.ini Ignore bs4 markup and XML parser warnings 2022-09-02 19:29:11 +01:00
README.rst Add installation with pipx to documentation 2023-05-01 19:24:55 +01:00
requirements-min.txt Add pdfminer.six to minimum version testing 2022-12-05 19:22:35 +00:00
requirements.txt Add pdfminer.six to minimum version testing 2022-12-05 19:22:35 +00:00
robots.txt Add non-ascii values to test robots.txt 2008-07-13 13:01:59 +00:00
tox.ini Pass CI to tox testenv 2023-06-10 17:31:09 +01:00

LinkChecker
============

|Build Status|_ |License|_

.. |Build Status| image:: https://github.com/linkchecker/linkchecker/actions/workflows/build.yml/badge.svg?branch=master
.. _Build Status: https://github.com/linkchecker/linkchecker/actions/workflows/build.yml
.. |License| image:: https://img.shields.io/badge/license-GPL2-d49a6a.svg
.. _License: https://opensource.org/licenses/GPL-2.0

Check for broken links in web sites.

Features
---------

- recursive and multithreaded checking and site crawling
- output in colored or normal text, HTML, SQL, CSV, XML or a sitemap graph in different formats
- HTTP/1.1, HTTPS, FTP, mailto:, news:, nntp:, Telnet and local file links support
- restrict link checking with regular expression filters for URLs
- proxy support
- username/password authorization for HTTP, FTP and Telnet
- honors robots.txt exclusion protocol
- Cookie support
- HTML5 support
- a command line and web interface
- various check plugins available

Installation
-------------

Python 3.8 or later is needed. Using pip to install LinkChecker:

``pip3 install linkchecker``

pipx can also be used to install LinkChecker.

The version in the pip repository may be old, to find out how to get the latest
code, plus platform-specific information and other advice see `doc/install.txt`_
in the source code archive.

.. _doc/install.txt: https://linkchecker.github.io/linkchecker/install.html


Usage
------
Execute ``linkchecker https://www.example.com``.
For other options see ``linkchecker --help``, and for more information the
manual pages `linkchecker(1)`_ and `linkcheckerrc(5)`_.

.. _linkchecker(1): https://linkchecker.github.io/linkchecker/man/linkchecker.html

.. _linkcheckerrc(5): https://linkchecker.github.io/linkchecker/man/linkcheckerrc.html

Docker usage
-------------

If you do not want to install any additional libraries/dependencies you can use
the Docker image which is published on GitHub Packages.

Example for external web site check::

  docker run --rm -it -u $(id -u):$(id -g) ghcr.io/linkchecker/linkchecker:latest --verbose https://www.example.com

Local HTML file check::

  docker run --rm -it -u $(id -u):$(id -g) -v "$PWD":/mnt ghcr.io/linkchecker/linkchecker:latest --verbose index.html

In addition to the rolling latest image, uniquely tagged images can also be found
on the `packages`_ page.

.. _packages: https://github.com/linkchecker/linkchecker/pkgs/container/linkchecker