.\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH LINKCHECKER 1 2010\-07\-01 LinkChecker "LinkChecker auf der Kommandozeile" .SH NAME linkchecker \- Kommandozeilenprogramm zum Prüfen von HTML Dokumenten und Webseiten auf ungültige Verknüpfungen . .SH SYNTAX \fBlinkchecker\fP [\fIOptionen\fP] [\fIDatei\-oder\-URL\fP]... . .SH BESCHREIBUNG .LP LinkChecker beinhaltet .IP \(bu rekursives Prüfen und Multithreading .IP \(bu Ausgabe als farbigen oder normalen Text, HTML, SQL, CSV, XML oder einen Sitemap\-Graphen in verschiedenen Formaten .IP \(bu Unterstützung von HTTP/1.1, HTTPS, FTP, mailto:, news:, nntp:, Telnet und Verknüpfungen auf lokale Dateien .IP \(bu Einschränkung der Linküberprüfung mit URL\-Filter, .IP \(bu Proxy\-Unterstützung .IP \(bu Benutzer/Passwort Authorisierung für HTTP, FTP und Telnet .IP \(bu Unterstützung des robots.txt Protokolls .IP \(bu Unterstützung für Cookies .IP \(bu Unterstützung für HTML5 .IP \(bu HTML\- und CSS\-Syntaxprüfung .IP \(bu Antivirusprüfung .IP \(bu ein Kommandozeilenprogramm und web interface .SH BEISPIELE The most common use checks the given domain recursively: \fBlinkchecker http://www.example.com/\fP .br Beachten Sie dass dies die komplette Domäne überprüft, welche aus mehreren tausend URLs bestehen kann. Benutzen Sie die Option \fB\-r\fP, um die Rekursionstiefe zu beschränken. .br Don't check URLs with \fB/secret\fP in its name. All other links are checked as usual: \fBlinkchecker \-\-ignore\-url=/secret mysite.example.com\fP .br Überprüfung einer lokalen HTML Datei unter Unix: \fBlinkchecker ../bla.html\fP .br Überprüfung einer lokalen HTML Datei unter Windows: \fBlinkchecker c:\etemp\etest.html\fP .br Sie können den \fBhttp://\fP URL Anteil weglassen wenn die Domäne mit \fBwww.\fP beginnt: \fBlinkchecker www.example.com\fP .br You can skip the \fBftp://\fP url part if the domain starts with \fBftp.\fP: \fBlinkchecker \-r0 ftp.example.com\fP .br Erzeuge einen Sitemap Graphen und konvertiere ihn mit dem graphviz dot Programm: \fBlinkchecker \-odot \-v www.example.com | dot \-Tps > sitemap.ps\fP . .SH OPTIONEN .SS "Allgemeine Optionen" .TP \fB\-f\fP\fIDATEINAME\fP, \fB\-\-config=\fP\fIDATEINAME\fP Benutze \fIDATEINAME\fP als Konfigurationsdatei. Standardmäßig benutzt LinkChecker \fB~/.linkchecker/linkcheckerrc\fP. .TP \fB\-h\fP, \fB\-\-help\fP Hilfe! Gebe Gebrauchsanweisung für dieses Programm aus. .TP \fB\-\-stdin\fP Lese Liste von URLs zum Prüfen von der Standardeingabe, getrennt durch Leerzeichen. .TP \fB\-t\fP\fINUMMER\fP, \fB\-\-threads=\fP\fINUMMER\fP Generate no more than the given number of threads. Default number of threads is 10. To disable threading specify a non\-positive number. .TP \fB\-V\fP, \fB\-\-version\fP Gebe die Version aus und beende das Programm. .TP \fB\-\-list\-plugins\fP Print available check plugins and exit. . .SS Ausgabeoptionen .TP \fB\-D\fP\fINAME\fP, \fB\-\-debug=\fP\fINAME\fP Gebe Testmeldungen aus für den angegebenen Logger. Verfügbare Logger sind \fBcmdline\fP, \fBchecking\fP,\fBcache\fP, \fBdns\fP, \fBplugins\fP und \fBall\fP. Die Angabe \fBall\fP ist ein Synonym für alle verfügbaren Logger. Diese Option kann mehrmals angegeben werden, um mit mehr als einem Logger zu testen. Um akkurate Ergebnisse zu erzielen, werden Threads deaktiviert. .TP \fB\-F\fP\fITYP\fP[\fB/\fP\fIENKODIERUNG\fP][\fB/\fP\fIDATEINAME\fP], \fB\-\-file\-output=\fP\fITYP\fP[\fB/\fP\fIENKODIERUNG\fP][\fB/\fP\fIDATEINAME\fP] Ausgabe in eine Datei namens \fBlinkchecker\-out.\fP\fITYP\fP, \fB$HOME/.linkchecker/blacklist\fP bei \fBblacklist\fP Ausgabe, oder \fIDATEINAME\fP falls angegeben. Das \fIENCODING\fP gibt die Ausgabekodierung an. Der Standard ist das der lokalen Spracheinstellung. Gültige Enkodierungen sind aufgelistet unter \fBhttp://docs.python.org/library/\:codecs.html#standard\-encodings\fP. .br Der \fIDATEINAME\fP und \fIENKODIERUNG\fP Teil wird beim Ausgabetyp \fBnone\fP ignoriert, ansonsten wird die Datei überschrieben falls sie existiert. Sie können diese Option mehr als einmal verwenden. Gültige Ausgabetypen sind \fBtext\fP, \fBhtml\fP, \fBsql\fP, \fBcsv\fP, \fBgml\fP, \fBdot\fP, \fBxml\fP, \fBsitemap\fP, \fBnone\fP oder \fBblacklist\fP. Standard ist keine Dateiausgabe. Die unterschiedlichen Ausgabetypen sind weiter unten dokumentiert. Beachten Sie, dass Sie mit der Option \fB\-o none\fP jegliche Ausgaben auf der Konsole verhindern können. .TP \fB\-\-no\-status\fP Gebe keine Statusmeldungen aus. .TP \fB\-\-no\-warnings\fP Gebe keine Warnungen aus. Standard ist die Ausgabe von Warnungen. .TP \fB\-o\fP\fITYP\fP[\fB/\fP\fIENKODIERUNG\fP], \fB\-\-output=\fP\fITYP\fP[\fB/\fP\fIENKODIERUNG\fP] Gib Ausgabetyp als \fBtext\fP, \fBhtml\fP, \fBsql\fP, \fBcsv\fP, \fBgml\fP, \fBdot\fP, \fBxml\fP, \fBsitemap\fP, \fBnone\fP oder \fBblacklist\fP an. Stadard Typ ist \fBtext\fP. Die verschiedenen Ausgabetypen sind unten dokumentiert. .br Das \fIENCODING\fP gibt die Ausgabekodierung an. Der Standard ist das der lokalen Spracheinstellung. Gültige Enkodierungen sind aufgelistet unter \fBhttp://docs.python.org/library/\:codecs.html#standard\-encodings\fP. .TP \fB\-q\fP, \fB\-\-quiet\fP Keine Ausgabe, ein Alias für \fB\-o none\fP. Dies ist nur in Verbindung mit \fB\-F\fP nützlich. .TP \fB\-v\fP, \fB\-\-verbose\fP Gebe alle geprüften URLs aus. Standard ist es, nur fehlerhafte URLs und Warnungen auszugeben. .TP \fB\-W\fP\fIREGEX\fP, \fB\-\-warning\-regex=\fP\fIREGEX\fP Definieren Sie einen regulären Ausdruck der eine Warnung ausgibt falls er auf den Inhalt einer geprüften URL zutrifft. Dies gilt nur für gültige Seiten deren Inhalt wir bekommen können. .br Benutzen Sie dies, um nach Seiten zu suchen, welche bestimmte Fehler enthalten, zum Beispiel "Diese Seite ist umgezogen" oder "Oracle Applikationsfehler". .br Man beachte, dass mehrere Werte in dem regulären Ausdruck kombiniert werden können, zum Beispiel "(Diese Seite ist umgezogen|Oracle Applikationsfehler)". .br Siehe Abschnitt \fBREGULAR EXPRESSIONS\fP für weitere Infos. .SS "Optionen zum Prüfen" .TP \fB\-\-cookiefile=\fP\fIDATEINAME\fP Lese eine Datei mit Cookie\-Daten. Das Cookie Datenformat wird weiter unten erklärt. .TP \fB\-\-check\-extern\fP Check external URLs. .TP \fB\-\-ignore\-url=\fP\fIREGEX\fP URLs welche dem angegebenen regulären Ausdruck entsprechen werden ignoriert und nicht geprüft. .br Diese Option kann mehrmals angegeben werden. .br Siehe Abschnitt \fBREGULAR EXPRESSIONS\fP für weitere Infos. .TP \fB\-N\fP\fINAME\fP, \fB\-\-nntp\-server=\fP\fINAME\fP Gibt ein NNTP Rechner für \fBnews:\fP Links. Standard ist die Umgebungsvariable \fBNNTP_SERVER\fP. Falls kein Rechner angegeben ist, wird lediglich auf korrekte Syntax des Links geprüft. .TP \fB\-\-no\-follow\-url=\fP\fIREGEX\fP Prüfe URLs, welche dem angegebenen regulären Ausdruck entsprechen, aber führe keine Rekursion durch. .br Diese Option kann mehrmals angegeben werden. .br Siehe Abschnitt \fBREGULAR EXPRESSIONS\fP für weitere Infos. .TP \fB\-p\fP, \fB\-\-password\fP Liest ein Passwort von der Kommandozeile und verwende es für HTTP und FTP Autorisierung. Für FTP ist das Standardpasswort \fBanonymous@\fP. Für HTTP gibt es kein Standardpasswort. Siehe auch \fB\-u\fP. .TP \fB\-r\fP\fINUMMER\fP, \fB\-\-recursion\-level=\fP\fINUMMER\fP Prüfe rekursiv alle URLs bis zu der angegebenen Tiefe. Eine negative Tiefe bewirkt unendliche Rekursion. Standard Tiefe ist unendlich. .TP \fB\-\-timeout=\fP\fINUMMER\fP Setze den Timeout für TCP\-Verbindungen in Sekunden. Der Standard Timeout ist 60 Sekunden. .TP \fB\-u\fP\fINAME\fP, \fB\-\-user=\fP\fINAME\fP Verwende den angegebenen Benutzernamen für HTTP und FTP Autorisierung. Für FTP ist der Standardname \fBanonymous\fP. Für HTTP gibt es keinen Standardnamen. Siehe auch \fB\-p\fP. .TP \fB\-\-user\-agent=\fP\fISTRING\fP Gibt den User\-Agent an, der zu HTTP\-Servern geschickt wird, z.B. "Mozilla/4.0". Der Standard ist "LinkChecker/X.Y", wobei X.Y die aktuelle Version von LinkChecker ist. .SH KONFIGURATIONSDATEIEN Konfigurationsdateien können alle obigen Optionen enthalten. Sie können zudem Optionen enthalten, welche nicht auf der Kommandozeile gesetzt werden können. Siehe \fBlinkcheckerrc\fP(5) für mehr Informationen. .SH AUSGABETYPEN Beachten Sie, dass standardmäßig nur Fehler und Warnungen protokolliert werden. Sie sollten die \fB\-\-verbose\fP Option benutzen, um eine komplette URL Liste zu erhalten, besonders bei Ausgabe eines Sitemap\-Graphen. .TP \fBtext\fP Standard Textausgabe in "Schlüssel: Wert"\-Form. .TP \fBhtml\fP Gebe URLs in "Schlüssel: Wert"\-Form als HTML formatiert aus. Besitzt zudem Verknüpfungen auf die referenzierten Seiten. Ungültige URLs haben Verknüpfungen zur HTML und CSS Syntaxprüfung angehängt. .TP \fBcsv\fP Gebe Prüfresultat in CSV\-Format aus mit einer URL pro Zeile. .TP \fBgml\fP Gebe Vater\-Kind Beziehungen zwischen verknüpften URLs als GML Graphen aus. .TP \fBdot\fP Gebe Vater\-Kind Beziehungen zwischen verknüpften URLs als DOT Graphen aus. .TP \fBgxml\fP Gebe Prüfresultat als GraphXML\-Datei aus. .TP \fBxml\fP Gebe Prüfresultat als maschinenlesbare XML\-Datei aus. .TP \fBsitemap\fP Protokolliere Prüfergebnisse als XML Sitemap dessen Format unter \fBhttp://www.sitemaps.org/protocol.html\fP dokumentiert ist. .TP \fBsql\fP Gebe Prüfresultat als SQL Skript mit INSERT Befehlen aus. Ein Beispielskript, um die initiale SQL Tabelle zu erstellen ist unter create.sql zu finden. .TP \fBblacklist\fP Für Cronjobs geeignet. Gibt das Prüfergebnis in eine Datei \fB~/.linkchecker/blacklist\fP aus, welche nur Einträge mit fehlerhaften URLs und die Anzahl der Fehlversuche enthält. .TP \fBnone\fP Gibt nichts aus. Für Debugging oder Prüfen des Rückgabewerts geeignet. . .SH "REGULÄRE AUSDRÜCKE" LinkChecker akzeptiert Pythons reguläre Ausdrücke. Siehe \fBhttp://docs.python.org/\:howto/regex.html\fP für eine Einführung. Eine Ergänzung ist, dass ein regulärer Ausdruck negiert wird falls er mit einem Ausrufezeichen beginnt. . .SH COOKIE\-DATEIEN Eine Cookie\-Datei enthält Standard HTTP\-Header (RFC 2616) mit den folgenden möglichen Namen: . .TP \fBHost\fP (erforderlich) Setzt die Domäne für die die Cookies gültig sind. .TP \fBPath\fP (optional) Gibt den Pfad für den die Cookies gültig sind; Standardpfad ist \fB/\fP. .TP \fBSet\-cookie\fP (required) Setzt den Cookie Name/Wert. Kann mehrmals angegeben werden. .PP Mehrere Einträge sind durch eine Leerzeile zu trennen. . Das untige Beispiel sendet zwei Cookies zu allen URLs die mit \fBhttp://example.org/hello/\fP beginnen, und eins zu allen URLs die mit \fBhttps://example.org\fP beginnen: Host: example.com Path: /hello Set\-cookie: ID="smee" Set\-cookie: spam="egg" Host: example.org Set\-cookie: baggage="elitist"; comment="hologram" .SH "PROXY UNTERSTÜTZUNG" To use a proxy on Unix or Windows set the $http_proxy, $https_proxy or $ftp_proxy environment variables to the proxy URL. The URL should be of the form \fBhttp://\fP[\fIuser\fP\fB:\fP\fIpass\fP\fB@\fP]\fIhost\fP[\fB:\fP\fIport\fP]. LinkChecker also detects manual proxy settings of Internet Explorer under Windows systems, and gconf or KDE on Linux systems. On a Mac use the Internet Config to select a proxy. . Sie können eine komma\-separierte Liste von Domainnamen in der $no_proxy Umgebungsvariable setzen, um alle Proxies für diese Domainnamen zu ignorieren. . Einen HTTP\-Proxy unter Unix anzugeben sieht beispielsweise so aus: export http_proxy="http://proxy.example.com:8080" Proxy\-Authentifizierung wird ebenfalls unterstützt: export http_proxy="http://user1:mypass@proxy.example.org:8081" Setzen eines Proxies unter der Windows Befehlszeile: set http_proxy=http://proxy.example.com:8080 .SH "Durchgeführte Prüfungen" Alle URLs müssen einen ersten Syntaxtest bestehen. Kleine Kodierungsfehler ergeben eine Warnung, jede andere ungültige Syntaxfehler sind Fehler. Nach dem Bestehen des Syntaxtests wird die URL in die Schlange zum Verbindungstest gestellt. Alle Verbindungstests sind weiter unten beschrieben. . .TP HTTP Verknüpfungen (\fBhttp:\fP, \fBhttps:\fP) After connecting to the given HTTP server the given path or query is requested. All redirections are followed, and if user/password is given it will be used as authorization when necessary. All final HTTP status codes other than 2xx are errors. . Der Inhalt von HTML\-Seiten wird rekursiv geprüft. .TP Lokale Dateien (\fBfile:\fP) Eine reguläre, lesbare Datei die geöffnet werden kann ist gültig. Ein lesbares Verzeichnis ist ebenfalls gültig. Alle anderen Dateien, zum Beispiel Gerätedateien, unlesbare oder nicht existente Dateien ergeben einen Fehler. . HTML\- oder andere untersuchbare Dateiinhalte werden rekursiv geprüft. .TP Mail\-Links (\fBmailto:\fP) Ein mailto:\-Link ergibt eine Liste von E\-Mail\-Adressen. Falls eine Adresse fehlerhaft ist, wird die ganze Liste als fehlerhaft angesehen. Für jede E\-Mail\-Adresse werden die folgenden Dinge geprüft: . 1) Prüfe die Syntax der Adresse, sowohl den Teil vor als auch nach dem @\-Zeichen. 2) Schlage den MX DNS\-Datensatz nach. Falls kein MX Datensatz gefunden wurde, wird ein Fehler ausgegeben. 3) Prüfe, ob einer der Mail\-Rechner eine SMTP\-Verbindung akzeptiert. Rechner mit höherer Priorität werden zuerst geprüft. Fall kein Rechner SMTP\-Verbindungen akzeptiert, wird eine Warnung ausgegeben. 4) Versuche, die Adresse mit dem VRFY\-Befehl zu verifizieren. Falls eine Antwort kommt, wird die verifizierte Adresse als Information ausgegeben. .TP FTP\-Links (\fBftp:\fP) Für FTP\-Links wird Folgendes geprüft: 1) Eine Verbindung zum angegeben Rechner wird aufgebaut 2) Versuche, sich mit dem gegebenen Nutzer und Passwort anzumelden. Der Standardbenutzer ist \*(lqanonymous\*(lq, das Standardpasswort ist \*(lqanonymous@\*(lq. 3) Versuche, in das angegebene Verzeichnis zu wechseln 4) Liste die Dateien im Verzeichnis auf mit dem NLST\-Befehl .TP Telnet\-Links (\*(lqtelnet:\*(lq) Versuche, zu dem angegeben Telnetrechner zu verginden und falls Benutzer/Passwort angegeben sind, wird versucht, sich anzumelden. .TP NNTP\-Links (\*(lqnews:\*(lq, \*(lqsnews:\*(lq, \*(lqnntp\*(lq) Versuche, zu dem angegebenen NNTP\-Rechner eine Verbindung aufzubaucne. Falls eine Nachrichtengruppe oder ein bestimmter Artikel angegeben ist, wird versucht, diese Gruppe oder diesen Artikel vom Rechner anzufragen. .TP Nicht unterstützte Links (\*(lqjavascript:\*(lq, etc.) Ein nicht unterstützter Link wird nur eine Warnung ausgeben. Weitere Prüfungen werden nicht durchgeführt. Die komplette Liste von erkannten, aber nicht unterstützten Links ist in der Quelldatei \fBlinkcheck/checker/unknownurl.py\fP. Die bekanntesten davon dürften JavaScript\-Links sein. .SH PLUGINS There are two plugin types: connection and content plugins. . Connection plugins are run after a successful connection to the URL host. . Content plugins are run if the URL type has content (mailto: URLs have no content for example) and if the check is not forbidden (ie. by HTTP robots.txt). . See \fBlinkchecker \-\-list\-plugins\fP for a list of plugins and their documentation. All plugins are enabled via the \fBlinkcheckerrc\fP(5) configuration file. .SH Rekursion Bevor eine URL rekursiv geprüft wird, hat diese mehrere Bedingungen zu erfüllen. Diese werden in folgender Reihenfolge geprüft: 1. Eine URL muss gültig sein. 2. Der URL\-Inhalt muss analysierbar sein. Dies beinhaltet zur Zeit HTML\-Dateien, Opera Lesezeichen, und Verzeichnisse. Falls ein Dateityp nicht erkannt wird, (zum Beispiel weil er keine bekannte HTML\-Dateierweiterung besitzt, und der Inhalt nicht nach HTML aussieht), wird der Inhalt als nicht analysierbar angesehen. 3. Der URL\-Inhalt muss ladbar sein. Dies ist normalerweise der Fall, mit Ausnahme von mailto: oder unbekannten URL\-Typen. 4. Die maximale Rekursionstiefe darf nicht überschritten werden. Diese wird mit der Option \fB\-\-recursion\-level\fP konfiguriert und ist standardmäßig nicht limitiert. 5. Die URL darf nicht in der Liste von ignorierten URLs sein. Die ignorierten URLs werden mit der Option \fB\-\-ignore\-url\fP konfiguriert. 6. Das Robots Exclusion Protocol muss es erlauben, dass Verknüpfungen in der URL rekursiv verfolgt werden können. Dies wird geprüft, indem in den HTML Kopfdaten nach der "nofollow"\-Direktive gesucht wird. Beachten Sie, dass die Verzeichnisrekursion alle Dateien in diesem Verzeichnis liest, nicht nur eine Untermenge wie bspw. \fBindex.html*\fP. .SH BEMERKUNGEN URLs von der Kommandozeile die mit \fBftp.\fP beginnen werden wie \fBftp://ftp.\fP behandelt, URLs die mit \fBwww.\fP beginnen wie \fBhttp://www.\fP. Sie können auch lokale Dateien angeben. Falls sich Ihr System automatisch mit dem Internet verbindet (z.B. mit diald), wird es dies tun wenn Sie Links prüfen, die nicht auf Ihren lokalen Rechner verweisen Benutzen Sie die Option \fB\-\-ignore\-url\fP, um dies zu verhindern. Javascript Links werden nicht unterstützt. Wenn Ihr System keine Threads unterstützt, deaktiviert diese LinkChecker automatisch. Sie können mehrere Benutzer/Passwort Paare in einer Konfigurationsdatei angeben. Beim Prüfen von \fBnews:\fP Links muß der angegebene NNTP Rechner nicht unbedingt derselbe wie der des Benutzers sein. . .SH UMGEBUNG \fBNNTP_SERVER\fP \- gibt Standard NNTP Server an .br \fBhttp_proxy\fP \- gibt Standard HTTP Proxy an .br \fBftp_proxy\fP \- gibt Standard FTP Proxy an .br \fBno_proxy\fP \- kommaseparierte Liste von Domains, die nicht über einen Proxy\-Server kontaktiert werden .br \fBLC_MESSAGES\fP, \fBLANG\fP, \fBLANGUAGE\fP \- gibt Ausgabesprache an . .SH RÜCKGABEWERT Der Rückgabewert ist 2 falls .IP \(bu ein Programmfehler aufgetreten ist. .PP Der Rückgabewert ist 1 falls .IP \(bu ungültige Verknüpfungen gefunden wurden oder .IP \(bu Warnungen gefunden wurden und Warnungen aktiviert sind .PP Sonst ist der Rückgabewert Null. . .SH LIMITIERUNGEN LinkChecker benutzt Hauptspeicher für jede zu prüfende URL, die in der Warteschlange steht. Mit tausenden solcher URLs kann die Menge des benutzten Hauptspeichers sehr groß werden. Dies könnte das Programm oder sogar das gesamte System verlangsamen. . .SH DATEIEN \fB~/.linkchecker/linkcheckerrc\fP \- Standardkonfigurationsdatei .br \fB~/.linkchecker/blacklist\fP \- Standard Dateiname der blacklist Logger Ausgabe .br \fBlinkchecker\-out.\fP\fITYP\fP \- Standard Dateiname der Logausgabe .br \fBhttp://docs.python.org/library/codecs.html#standard\-encodings\fP \- gültige Ausgabe Enkodierungen .br \fBhttp://docs.python.org/howto/regex.html\fP \- Dokumentation zu regulären Ausdrücken .SH "SIEHE AUCH" \fBlinkcheckerrc\fP(5) . .SH AUTHOR Bastian Kleineidam . .SH COPYRIGHT Copyright \(co 2000\-2014 Bastian Kleineidam