Startseite : "Dachboden" : Checkbot : Installation

Installationsanweisung

Hinweis: Diese Beschreibung bezieht sich auf V 1.2.02 BETA des Checkbots. Der Checkbot wird nicht mehr weiterentwickelt, ein Einsatz kann nicht mehr empfohlen werden.

Download und Installation

  1. Download der Software
  2. Entpacken aller Dateien in dasselbe Verzeichnis
  3. Ggf. Überprüfung der PGP-Signatur und Lektüre von readme.txt und changes.txt
  4. Zum Betrieb erforderlich sind
  5. Achtung! - Bei den Konfigurationsdateien ggf. auf richtigen Zeilenumbruch achten; im Ggs. zu Unixen verlangt DOS/Windows dort CR+LF.

Erste Schritte

  1. Datei "sample.ini" in "artchk.pl.ini" umbenennen und diese öffnen.

    In der ersten Zeile "reader = (servername)" eintragen, ggf. gefolgt von einem Komma und dem anzusprechenden Port. Soweit der Server Benutzername und Paßwort verlangt, sind diese im folgenden mittels "reader_user" und "reader_pass" anzugeben.

    reader = testserver.provider.de
    reader_user = checkbot
    reader_pass = Twe23Rui6we

    Alles bis zur Zeile mit "checkgroups:" löschen. Darunter dann die Newsgroups eintragen, in denen der Checkbot laufen soll, und zwar in der Form "news.gro.up n", also der Name einer zu checkenden Newsgroup, gefolgt von einem (!) Leerzeichen sowie einem "n".

    checkgroups:
    de.test n
    de.alt.test n
  2. Datei "sample.rc" in "artchk.pl.rc" umbenennen und diese öffnen.

    Dort den Abschnitt "[head]" bearbeiten und den Absender des Bots als "From:"-Header eintragen. Alle sonstigen Einträge außer "X-No-Archive: yes" entfernen.

  3. Das Programm mit "perl artchk.pl -v" starten.

Konfiguration

Anpassung der .ini-Datei

Die einzelnen Parameter stehen jeweils in einer eigenen Zeile. Der Aufbau ist folgender:

Parametername = Parameterwert
[...weitere Name-Wert.Paare...]
checkgroups:
news.gruppe y/n
[...weitere Gruppen...]

Parametername und -wert werden durch ein "=" getrennt. Zwischen den Parametern dürfen Kommentarzeilen stehen; diese düfen aber kein "=" enthalten! Auf die Parameter muß das Schlüsselwort checkgroups: (mit dem Doppelpunkt) auf einer eigenen Zeile folgen.

Erforderlich sind im folgenden nur die Schritte 1 und 5. Vergleiche auch die Erläuterungen bei der Einführung in die Funktionsweise des Bots.

  1. Newsserver einrichten: Einzutragen ist auf jeden Fall "reader = (servername)", ggf. gefolgt von einem Komma und dem anzusprechenden Port. Dies gilt auch dann, wenn der Checkbot im Feeding-Mode betrieben wird; dann wird dieser Server zum Posten verwendet, soweit kein Postingserver angegeben ist.

    Wenn der zu verwendende Newsserver bspw. "testserver.provider.de" heißt und auf Port 1190 anzusprechen ist, lautet der Eintrag

    reader = testserver.provider.de,1190

    Soweit der Server Benutzername und Paßwort verlangt, sind diese im folgenden mittels "reader_user" und "reader_pass" anzugeben.

    reader_user = checkbot
    reader_pass = Twe23Rui6we

    Fehlt dieser Eintrag, findet keine Authentifikation statt.

  2. Getrennten Server zum Posten einrichten: Das Vorgehen ist wie oben, nur ist statt "reader" jeweils "poster_server" bzw. "poster_user" / "poster_pass" zu verwenden.

    post_server = news.woanders.de
    poster_user = jonathan
    poster_pass = holugui

    Fehlen diese Einträge ganz, wird auf demselben Server gelesen und gepostet.

  3. Änderung der Triggerbegriffe: Auf welchen Begriff der Checkbot reagiert bzw. welche Begriffe ihn im Auto-Modus veranlassen, ein Posting nicht zu prüfen, ist einstellbar. Von den Vorgaben sollte aber nicht ohne Grund abgewichen werden, um ein einheitliches Verhalten der parallel laufenden Bots zu erreichen. Modifiziert werden können "trigger_check" und "trigger_ignore", wobei jeweils ein "Regulärer Ausdruck" (Regular Expression) Verwendung findet.

    trigger_check = \bteste dieses posting\b
    trigger_ignore = (ignore)|(no[ ]*repl(y|(ies)))

    Fehlen diese Einträge, wird auf die Voreinstellungen zurückgegriffen.

  4. Änderung der Dateinamen: Die Dateinamen für die Textbaustein-Datei (.rc) und das Killfile (.kill) lassen sich getrennt und unabhängig von der .ini-Datei einstellen. Das macht Sinn, wenn man für verschiedene Newsserver verschiedene .ini-Dateien anlegen, aber nur einheitliche Textbausteine und ein einheitliches Killfile verwenden möchte. Zu ändern sind "rcfile" oder "killfile".

    rcfile = standard
    killfile = standard
  5. Einstellung der zu checkenden Gruppen: Die Parameter werden von der Liste der zu prüfenden Gruppen durch eine Zeile mit dem Schlüsselwort checkgroups: (mit dem Doppelpunkt) getrennt. Kommentare o.ä. sind nach dem Schlüsselwort checkgroups: nicht mehr zulässig.

    Danach folgt in jeder Zeile der Name einer zu checkenden Newsgroup, ein (!) Leerzeichen sowie "y" oder "n", um den Autocheck-Modus für diese Gruppe ein- ("y") oder auszuschalten ("n"). Optional kann ein (!) weiteres Leerzeichen und danach der aktuellen Stand des Artikelzählers für die betreffenden Gruppe ergänzt werden. Dieser wird vom Checkbot dann selbständig aktualisiert.

    checkgroups:
    de.test y
    de.alt.test y
    provider.test n
    local.test y

Im ganzen würden die genannten Beispiele dann folgendes Bild ergeben:

reader = testserver.provider.de,1190
reader_user = checkbot
reader_pass = Twe23Rui6we
post_server = news.woanders.de
poster_user = jonathan
poster_pass = holugui
trigger_check = \bteste dieses posting\b
trigger_ignore = (ignore)|(no[ ]*repl(y|(ies)))
rcfile = standard
killfile = standard
checkgroups:
de.test y
de.alt.test y
provider.test n
local.test y

Die Reihenfolge der Einträge vor "checkgroups:" ist ebenso wie die Reihenfolge der Gruppen nach "checkgroups:" beliebig.

Anpassen der .rc-Datei

In dieser Datei sind die Textbausteine enthalten, derer sich der Checknot bei der Generierung einer Antwort bedient, einschließlich der Headerzeilen. Sie lassen sich den eigenen Bedürfnissen anpassen.

Die einzelnen Textbausteine sind folgendermaßen aufgebaut:

[name]
;
Textbausteintext
;

Zu achten ist auf einen korrekten Zeilenumbruch im Textbausteintext.

  1. Auf jeden Fall anzupassen ist der Abschnitt "[head]", der in den Header des Postings kopiert wird. Zu bearbeiten ist der "From:"-Header; "Sender:", "Reply-To:" und "Path:" müssen bearbeitet oder gelöscht werden. Weitere Header können unter Beachtung der einschlägigen RFCs beliebig ergänzt werden; nicht eingetragen werden dürfen "Newsgroups:", "Subject:", "Message-ID:", "References:" oder "X-Artchk-Version:", da diese Einträge vom Programm selbst vorgenommen werden.
  2. Das Löschen eines Textbausteins führt dazu, daß die entsprechenden Checkroutinen nicht mehr durchgeführt werden (d.h., genau genommen: sie werden durchgeführt, ein eventuell positives Ergebnis aber vor dem Posten der Antwort verworfen). Nicht gelöscht werden dürfen die Abschnitte [head] [header] [header-auto] [footer] [intro] [allok] [nr].
  3. Es können seit Build 00061301 BETA auch spezielle newsreaderspezifische Textbausteine definiert werden. Vgl. dazu die Erläuterungen bei der Einführung in die Funktionsweise des Bots.
  4. Es können seit Build 00080901 BETA auch Variablen verwendet werden. Diese werden dann automatisch mit dem entsprechenden Wert ersetzt. Vgl. dazu die Erläuterungen bei der Einführung in die Funktionsweise des Bots.

Anpassung der .kill-Datei

In dieser Datei finden sich Einträge, um bestimmte Postings von der automatischen Prüfung auszunehmen. Vgl. dazu die Erläuterungen bei der Einführung in die Funktionsweise des Bots.

Feeding-Modus

Um den Checkbot direkt aus einem INN heraus zu befeeden, ist zunächst in /etc/news/newsfeeds ein entsprechender Feed zu konfigurieren, wie bspw. durch einen Eintrag der Form

checkbot!:!*,*.test:Tc,Wf:/path/to/artchk.pl -p/path/to --log --feedmode

Ansonsten sind in der .ini-Datei wie gewohnt ein Server für das Posten der Followups des Checkbots sowie die zu prüfenden Gruppen einzustellen; weitere Änderungen sind eigentlich nicht erforderlich.

Bedenken Sie bitte, daß der Checkbot bislang nur mit INNs mit Traditional Spool umgehen kann. Denken Sie auch daran, daß die Permissions für das Checkbot-Script und alle Konfigurationsdateien so gesetzt sind, daß sie aus dem INN heraus gestartet werden können!