check links in web documents or full websites
Find a file
Chris Mayo 48496b3854 Use a geoip tox factor
GeoIP requires libGeoIP which tox deps cannot install.
Likewise the GeoLiteCountry database which is also required by
TestLocationInfo().

The last GeoIP release was in 2014, and libGeoIP has been EOL since 2022,
but it is still available in Debian/Ubuntu.
2024-08-27 19:34:28 +01:00
.github Use a geoip tox factor 2024-08-27 19:34:28 +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 Make LinkChecker HTTP header bold in linkcheckerrc(5) 2024-02-26 19:28:11 +00:00
linkcheck Replace os.error 2024-08-27 19:26:46 +01:00
po fix: rename Vater to Eltern in german translation 2024-06-09 14:14:02 +02:00
scripts Add ms-windows-store scheme 2023-10-30 19:23:46 +00:00
tests Fix TestFile.test_bad_file() skip message 2024-08-27 19:34:28 +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 Remove ref-names from .git_archival.txt 2024-04-22 19:31:57 +01: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.12 2023-12-11 19:26:59 +00:00
Makefile Fix make homepage 2023-09-25 19:22:19 +01:00
pyoxidizer.bzl Enable creating a binary with PyOxidizer 2021-12-30 19:27:04 +00:00
pyproject.toml Add Python 3.13 to supported versions 2024-08-21 19:34:37 +01: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 Raise minimum Python version to 3.9 2023-11-27 19:22:08 +00: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 Use a geoip tox factor 2024-08-27 19:34:28 +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: and local file links support
- restrict link checking with regular expression filters for URLs
- proxy support
- username/password authorization for HTTP and FTP
- honors robots.txt exclusion protocol
- Cookie support
- HTML5 support
- a command line and web interface
- various check plugins available

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

Python 3.9 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