De Talk:YaCy-i2p

Aus YaCyWiki
Wechseln zu: Navigation, Suche

Zur Blackliste:
Ist das ein regulärer Ausdruck? .*[^\.i2p]/.*
Ich vermute mal, [^bla] soll bedeuten: "NICHT bla". Ich kenne das ^ in [] aber als "NICHT B, NICHT L, NICHT A". Also, die eckigen Klammern stehen für eine Zeichengruppe. Ohne +, ? oder * dahinter steht die Gruppe für genau ein Zeichen. Und [^BLA] steht für alle Zeichen, außer B, L und A. Vielleicht ist das in das bei den regulären Ausdrücken die hier verwendet werden anders, aber ich glaube nicht. Das würde auch erklären, warum der Ausdruck nicht richtig funktioniert: Der macht irgendwas seltsames anderes. ;-)
Nachdem ich mir den Artikel zu zur Blackliste durchgelesen habe (http://www.yacy-websuche.de/wiki/index.php/De:Blacklists), empfehle ich einfach die "regex Whitelistengine" zu benutzen. Das wird leichter, weil wir da nur sagen müssen: "Alle URLs deren Domain auf '\.i2p' enden, erlauben."
^http://[^/]+\.i2p/.*

Erklärung:
"http", weil I2P soweit ich weiß eh nur HTTP unterstützt. Alles andere wären Spezialfälle, die man erst manuell einrichten muss. (Ich hab noch keine Seite mit FTP gesehen und denke auch, dazu müsste man erst einen FTP-Tunnel einrichten müsste, um in I2P FTP nutzen zu können.) "^" (Anfang des Strings), damit man den Anfang der URL erwischt, und nicht durch sowas wie "http://someDomain.de?q=http://zzz.i2p" aus dem Takt gebracht wird. Bei so einer URL ist es wichtig, das man nicht den Teil nach dem Fragezeichen (also den Query) matched, sondern die echte Domain. "[^/]+" (alle Zeichen außer "/"), um vor der Verzeichnisangabe, also in der Domain zu bleiben. Sonst könnte uns eine URL wie die verwirren: "http://someDomain.de/zzz.i2p", wobei "zzz.i2p" nur ein Verzeichnis wäre. Damit uns das nicht verarscht, "[^/]+". Das sorgt dafür, das wir die Domain testen, und nicht alles.
Ich hab den Ausdruck mal in Ruby getestet, und da klappt es. Hier steht auch was zu Regulären Ausdrücken: http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck