Freitag, 31. Juli 2009
Text formatieren in zenity
Zenity ist ein Programm, das GTK+ Dialoge anzeigt. Damit kann man Shellskripten ein GUI (Graphical User Interface) verpassen, was einigen Komfort für den User bringt.
Ein einfaches Beispiel:
Zenity kann aber auch Fragen, Auswahllisten, Kalender, etc.
Wenig bekannt ist, dass die Texte in den Dialogfenstern auch formatiert werden können. In der manpage von zenity steht auch gar nichts davon.
Deshalb ein paar Beispiele:
<i></i> erzeugt kursiven Text
Verwendet wird offensichtlich eine HTML-ähniche Syntax mit Tags.
\n erzeugt einen Zeilenumbruch
Natürlich kann man Text auch verkleinern mit small, smaller, x-small und xx-small.
Auch farbiger Text ist möglich:
Mehr lässt sich eventuell noch durch herumprobieren herausfinden.
Die Dokumentation zu den mit zenity verwendbaren Tags steckt wohl irgendwo tief im GTK+ Quelltext.
Ein einfaches Beispiel:
zenity --info --text "sehr informativ"
Zenity kann aber auch Fragen, Auswahllisten, Kalender, etc.
Wenig bekannt ist, dass die Texte in den Dialogfenstern auch formatiert werden können. In der manpage von zenity steht auch gar nichts davon.
Deshalb ein paar Beispiele:
zenity --info --text "<b>sehr</b> <i>informativ</i>"
<b></b> erzeugt fetten Text<i></i> erzeugt kursiven Text
Verwendet wird offensichtlich eine HTML-ähniche Syntax mit Tags.
zenity --info --text '<span size="xx-large">Obacht!!!</span>\n\nDas ist extrem wichtig'
large, larger, x-large und xx-large erzeugen größeren Text\n erzeugt einen Zeilenumbruch
Natürlich kann man Text auch verkleinern mit small, smaller, x-small und xx-small.
Auch farbiger Text ist möglich:
zenity --info --text '<span color="red">roter</span> und <span color="blue">blauer</span> Text'
Außerdem gehen die HTML-Tags <u>, <tt>, <sup>, <sub>, <s>, <big>.Mehr lässt sich eventuell noch durch herumprobieren herausfinden.
Die Dokumentation zu den mit zenity verwendbaren Tags steckt wohl irgendwo tief im GTK+ Quelltext.
Sonntag, 5. Juli 2009
Spamassassin Rule 3 - Pillenspam
Noch eine kleine Regel für Spamassassins local.cf, die Mails aussortiert, die versteckte Links auf Pillenseiten enthalten. Da die URLs Leerzeichen enthalten, greifen die Blacklists (z.B. URIBL_BLACK) leider nicht.
Also:
www[Punkt][whitespace][2-3 Kleinbuchstaben][2 Zahlen][Punkt][whitespace][com oder net]
Etwas allgemeiner gehalten ist folgende Regel:
[Punkt oder Leerzeichen]www[nicht alphanumerische Zeichen][2-3 Buchstaben][2 Zahlen][nicht alphanumerische Zeichen][com oder net]
body OBFU_MEDS_LINK /www\.\s+[a-z]{2,3}\d{2}\.\s+(com|net)/ describe OBFU_MEDS_LINK Contains disguised link to meds score OBFU_MEDS_LINK 1.1Die Regel trifft zu, wenn die URL ungefähr so aussschaut: www. abc11. net
Also:
www[Punkt][whitespace][2-3 Kleinbuchstaben][2 Zahlen][Punkt][whitespace][com oder net]
Etwas allgemeiner gehalten ist folgende Regel:
body OBFU_MEDS_LINK2 /[. ]www[\W_]+[a-z]{2,3}\d{2}[\W_]+(com|net)/ describe OBFU_MEDS_LINK2 Contains disguised link to meds score OBFU_MEDS_LINK2 1.1Die Regel trifft zu auf:
[Punkt oder Leerzeichen]www[nicht alphanumerische Zeichen][2-3 Buchstaben][2 Zahlen][nicht alphanumerische Zeichen][com oder net]
Mittwoch, 17. Juni 2009
Spamassassin Anti-Bilderspam 2
Da die Guten emsig darum bemüht sind, den Spam fernzuhalten, lassen sich die Leute auf der dunklen Seite natürlich auch was Neues einfallen. Bilderspam wurde teilweise so abgewandelt, dass mit Texterkennung (OCR) nicht mehr viel läuft.
Hier also zwei neue Anti-Bilderspam-Rules für Spamassassin.
Vorsicht, die ersten (16?) Buchstaben besagen einfach nur, dass es ein JPEG ist. Man muss also deutlich mehr zum Suchbegriff dazu nehmen.
Wichtig: Slashes und alle Zeichen, die bei regular expressions eine Bedeutung haben, müssen im base64 Teil für perl escaped werden.
So ein Bild gibt dann 2.2 Punkte.
Ein zweites Beispiel:
Beide Regeln dort einfügen, wo Spamassassin sie findet, z.B. /etc/mail/spamassassin/local.cf (global) oder in die Datei user_prefs (pro user).
Hier also zwei neue Anti-Bilderspam-Rules für Spamassassin.
full IS_VIAGRA_IMG /Content-[Tt]ransfer-[Ee]ncoding: base64\n\n\/9j\/4AAQSkZJRgABAgAAZABkAAD\/7AARRHVja3kAAQAEAAAAAAAA/ describe IS_VIAGRA_IMG Contains typical base64 string score IS_VIAGRA_IMG 2.2Die Methode mag etwas roh erscheinen. Das gesamte Mail wird nach dem für eines der Bilder typischen base64 Text durchsucht. (Davor noch das "Content-transfer-encoding: base64", das T und E entweder groß oder klein geschrieben, mit zwei Zeilenumbrüchen danach.)
Vorsicht, die ersten (16?) Buchstaben besagen einfach nur, dass es ein JPEG ist. Man muss also deutlich mehr zum Suchbegriff dazu nehmen.
Wichtig: Slashes und alle Zeichen, die bei regular expressions eine Bedeutung haben, müssen im base64 Teil für perl escaped werden.
So ein Bild gibt dann 2.2 Punkte.
Ein zweites Beispiel:
full IS_VIAGRA_IMG2 /Content-Disposition: attachment; filename=.*\n\n\/9j\/4AAQSkZJRgABAgAAZABkAAD\/7AARRHVja3kAAQAEAAAAAAAA/ describe IS_VIAGRA_IMG2 Contains typical base64 string score IS_VIAGRA_IMG2 2.2Etwas Vorsicht ist geboten. Die Erkennung nur an Hand der ersten bas64-Zeile kann nie 100%-ig sein. Beide Suchbegriffe können sehr wohl auch auf ein anderes Bild zutreffen. Deshalb bei den Scores bloss nicht übertreiben.
Beide Regeln dort einfügen, wo Spamassassin sie findet, z.B. /etc/mail/spamassassin/local.cf (global) oder in die Datei user_prefs (pro user).
Donnerstag, 21. Mai 2009
Spamassassin Anti-Bilderspam-Rule
Eine nette image-spam Regel für spamassassin, gefunden auf www.nabble.com/Image-only-spams-td23430438.html.
So sieht sie aus:
So sieht sie aus:
header __CTYPE_MULTIPART_MXD Content-Type =~ /multipart\/mixed/i mimeheader __ANY_TEXT_ATTACH Content-Type =~ /text\/\w+/i meta MIME_IMAGE_ONLY (__CTYPE_MULTIPART_MXD && __ANY_IMAGE_ATTACH && !__ANY_TEXT_ATTACH) score MIME_IMAGE_ONLY 2.00 describe MIME_IMAGE_ONLY Image body part but no text body partsDie Regel besagt, dass zwei Punkte vergeben werden, wenn ein Mail keinerlei Text enthält, sondern nur aus einem oder mehreren Bildern besteht (egal welche).
"Spamassassin Anti-Bilderspam-Rule" vollständig lesen
Freitag, 8. Mai 2009
Bilderspam ist wieder modern
Er ist wieder da: Bilderspam (auch image-spam genannt). Also Bilder als Mailinhalt (inline) oder als Anhang, mit Potenzmittelwerbung o.Ä.. Und leider kommt das Zeug von Servern, die mit Greylisting umgehen können. Der Spamfilter muss sich damit also befassen.
Das Elend an der Sache:
FuzzyOcr, das bewährte Plugin für Spamassassin, wird seit etwa zwei Jahren nicht mehr weiter entwickelt. Nicht einmal die Subversion Version funktioniert noch mit einem aktuellen spamd. Es ist also höchste Zeit, sich nach Ersatz umzuschauen, schließlich gibt es ja auch noch andere Plugins.
Eine Komplettübersicht aller Spamassassin-Plugins findet man auf wiki.apache.org/spamassassin/CustomPlugins
Folgende habe ich erfolgreich getestet:
UPDATE: inzwischen habe ich ein eigenes Plugin gegen Bilderspam geschrieben. Mehr dazu auf spielwiese.la-evento.com/facileOCR/.
UPDATE 2: FuzzyOcr ist gar nicht tot, es hat nur ein bisschen gedöst: fuzzyocr.own-hero.net/wiki
Und es funktioniert sehr wohl mit spamd.
Das Elend an der Sache:
FuzzyOcr, das bewährte Plugin für Spamassassin, wird seit etwa zwei Jahren nicht mehr weiter entwickelt. Nicht einmal die Subversion Version funktioniert noch mit einem aktuellen spamd. Es ist also höchste Zeit, sich nach Ersatz umzuschauen, schließlich gibt es ja auch noch andere Plugins.
Eine Komplettübersicht aller Spamassassin-Plugins findet man auf wiki.apache.org/spamassassin/CustomPlugins
Folgende habe ich erfolgreich getestet:
- ImageCerberusPLG prag.diee.unica.it/n3ws1t0/imageCerberus
- BayesOCR_PLG prag.diee.unica.it/n3ws1t0/
UPDATE: inzwischen habe ich ein eigenes Plugin gegen Bilderspam geschrieben. Mehr dazu auf spielwiese.la-evento.com/facileOCR/.
UPDATE 2: FuzzyOcr ist gar nicht tot, es hat nur ein bisschen gedöst: fuzzyocr.own-hero.net/wiki
Und es funktioniert sehr wohl mit spamd.
"Bilderspam ist wieder modern" vollständig lesen
Freitag, 1. Mai 2009
Meine Lieblingsprogramme
Über die Jahre habe ich auf Linux natürlich einige Programme ausprobiert. Hier also eine kurze Liste meiner Favoriten in unterschiedlichen Gebieten. Die meisten gibt es als Standardpakete für alle gängigen Distributionen, ansonsten ist ein Link zur jeweiligen Projektseite angegeben.
Die Liste ist natürlich sehr subjektiv und unvollständig. Eine Art Hitliste, die in zwei Jahren vielleicht schon wieder ganz anders ausschaut.
Die Liste ist natürlich sehr subjektiv und unvollständig. Eine Art Hitliste, die in zwei Jahren vielleicht schon wieder ganz anders ausschaut.
"Meine Lieblingsprogramme" vollständig lesen
Montag, 27. April 2009
Datei mit gemischtem Encoding reparieren
Textdateien haben ein Encoding, das ist in unseren Breiten meist entweder utf-8 oder iso-8859-1 (es gibt natürlich noch bedeutend mehr). Ein großes Problem entsteht, wenn Windows- und Linuxuser gemeinsam (deutschsprachige) Dateien bearbeiten. Dann kann es vorkommen, dass eine Textdatei sowohl utf-8, als auch iso-8859-1 Teile enthält.
Die Datei ist kaputt, Umlaute werden teilweise nicht mehr richtig angezeigt.
Was tun? Normalerweise müsste sich jetzt jemand hinsetzen und den gesamten Text durcharbeiten.
Nein, wir Tricksen!
Wir verwenden das Programm recode, allerdings nicht direkt. Mit gemischtem Encoding kann recode nicht umgehen, sondern wir gehen den Umweg über HTML-Entities.
Wichtig: Folgendes findet auf einer Linuxkonsole mit $LANG=de_DE.UTF-8 statt:
Die Datei ist kaputt, Umlaute werden teilweise nicht mehr richtig angezeigt.
Was tun? Normalerweise müsste sich jetzt jemand hinsetzen und den gesamten Text durcharbeiten.
Nein, wir Tricksen!
Wir verwenden das Programm recode, allerdings nicht direkt. Mit gemischtem Encoding kann recode nicht umgehen, sondern wir gehen den Umweg über HTML-Entities.
Wichtig: Folgendes findet auf einer Linuxkonsole mit $LANG=de_DE.UTF-8 statt:
"Datei mit gemischtem Encoding reparieren" vollständig lesen
« vorherige Seite
(Seite 6 von 11, insgesamt 74 Einträge)
» nächste Seite