Chatbot Plugin für den zBot

5. Februar 2009 von

Das Chatbot Plugin bringt dem zBot die Möglichkeit, Unterhaltungen zu führen bzw. auf beliebige Worte zureagieren.

Im Unterschied zu den anderen Plugins wird dieses immer aufgerufen, wenn der Bot seinen Namen hört: Bruno. Egal wo im Satz das Wort auftaucht. (Um den Bot umzubenennen muss der Name des Bots in der modules/Configs.pm geändert werden)

Es gibt eine Reihe von Wörtern, auf die Bruno reagiert, wenn man sie in einer Nachricht zusammen mit seinem Namen schreibt.  Diese kann man sich entweder aus der Datei fischen oder durch ausprobieren heraus finden.

Hier die Datei: Chatbot.pm (Datei ins Verzeichnis “plugins” kopieren)

zBot – ein Jabber Bot in Perl

4. Februar 2009 von

(English version below)

Nachdem ich mich nun etwas mit Jabber beschäftigt habe, war es an der Zeit, einen eigenen Jabber Bot zu schreiben.

Ich hatte bereits einen ChatBot in Perl geschrieben, der in unserem http-Chat lief. Mit der CPAN Bibliothek Net::Jabber::Bot lies sich daraus mit wenigen Handgriffen ein einfacher Jabber Bot basteln.

Der Bot ist noch nicht sehr ausgereift. Aber er funktioniert.

Der Bot hat ein Pluginsystem um einfach neue Funktionen hinzufügen zu können. Um neue Plugins zu schreiben am besten mal ins Helloworld Plugin schauen (plugins/Helloworld.pm). Wichtig ist, das Plugin mit der Funktion Plugins::registerPlugin zu registrieren. Das fertige Plugin kann man ins Verzeichnis “plugins” kopieren. Jeder Befehl ist ein Plugin.

zBot läuft im Multi User Chat (MUC) und man kann ihn genauso gut als Kontakt hinzufügen.

Die Installation ist recht einfach. Man legt einen neuen User für den Bot auf dem Server seiner Wahl an. Dann editiert man die Datei modules/Configs.pm entsprechend (Passwort, Username… setzen). Danach kann man (wenn das CPAN Modul installiert ist) die zbot.pl starten. Am besten natürlich auf einem Server, damit der Bot auch online ist, wenn man den PC ausschaltet. Den Prozess kann man direkt in den Hintergrund schieben um sich wieder abmelden zu können:

./zbot.pl &

Nun kann man den Bot zu seiner Kontaktliste hinzufügen. Nach dem Start braucht der Bot 20 Sekunden zur Initialisierung, bis er antwortet.

Durch das Senden des Befehls “hilfe” werden alle Befehle angezeigt. Mit “hilfe <befehl>” bekommt man die Beschreibung des Plugins angezeigt (z.B. “hilfe helloworld”).

Das Programm habe ich unter der GPL veröffentlicht. Eine Dokumentation ist auch vorhanden.

Über Verbesserungen des Codes oder neue Plugins würde ich mich sehr freuen.

Bei Fragen oder Problemen kann man mich natürlich auch gerne anschreiben (oder einfach hier als Kommentar).

Update: Das Problem mit den Sonderzeichen konnte ich lösen. Es lag daran, dass die Sonderzeichen in der CPAN Bibliothek durch einen regulären Ausdruck ausgefiltert wurden (der dazu gedacht war, nicht druckbare Zeichen auszufiltern). Daher habe ich die entsprechende Datei ins Verzeichnis “modules” kopiert, entsprechend editiert und von dort eingebunden.

Update: Version 0.2 ist nun verfügbar. Informationen über die Änderungen findet man im zugehörigen Blogeintrag.

[UPDATE] Es gibt ein Problem ab ejabberd Version 2.0.3, da diese eine digest-uri zur Verifikation des Clients erwartet. Die einzige Möglichkeit das Problem zu lösen besteht anscheinend darin, diese Verifikation im Quelltext abzuschalten und neu zu kompilieren. Mehr Infos gibt es in diesem Forenthread (englisch).

Des weiteren gibt es ein Problem mit manchen User- bzw. Domainnamen. Der Bot bricht dann mit der Meldung:

Can't call method "isa" without a package or object reference at /usr/local/share/perl/5.8.8/Net/XMPP/Protocol.pm line 2471.

ab. (Die Zeile kann variieren)
Abhilfe schafft das entfernen des “problematischen” Users aus der Liste des Bots. Der User kann den Bot danach immer nocht nutzen (so weit mir berichtet wurde). Anscheinend tritt das Problem auf, wenn der Username mit einer Ziffer beginnt (oder eine Ziffer enthält, das weis ich nicht).
Vielen Dank an Daniel für die Hinweise und die Hilfe bei der Fehlersuche :-) [/UPDATE]

[UPDATE]Ich habe den Bot jetzt mal auf GitHub hochgeladen: http://github.com/zimon/zBot. In der dortigen Version ist er auch an die neue Version von Net::Jabber::Bot angepasst. Leider funktionieren dadurch einige Plugins nicht mehr richtig, aber ich habe im Moment keine Zeit sie zu fixen. Vielleicht hat ja jemand Lust zu forken :) [/UPDATE]

Man kann den Bot gerne testen, indem man ihn zu seiner Kontaktliste hinzufügt: bruno@jey-key.de

Die Dokumentation ist nun auch online Verfügbar: Dokumenation Version 0.2

Dateien

Plugins

  • Chatbot Plugin – erweitert den zBot um die Möglichkeit “Unterhaltungen” mit dem Bot zu führen.
  • Wikipedia Plugin – fügt den Befehl “wiki” hinzu, mit dem die Definition (der erste Abschnitt des Artikels) zu einem Begriff angezeigt werden kann.
  • Leo Dictionary Plugin – Deutsch <-> Englisch Übersetzungsplugin
  • Wetter Plugin – macht eine Wettervorhersage für eine angegebene Postleitzahl
  • Todo Plugin – verwaltet für jeden User eine Todoliste mittels todo.sh
  • Whois Plugin – Macht eine Whois-Abfrage zu einer gewünschten Domain und liefert das Ergebnis zurück.

.

English

Here is my Jabber Bot “zBot” written in Perl using the CPAN Module Net::Jabber::Bot.

It is easily extendable with plugins. If you want to write a plugin just look at the modules/Helloworld.pm (I commented this example Plugin better than the other ones). Its important to register your Plugin by calling the function Plugins::registerPlugin in your module. When it’s finished just copy it to the plugins directory. Every command is a plugin.

zBot runs in multi user chats (MUC) and you can add it to your contact list.

I started writing the bot yesterday, so it is not tested well but it works.

To install and start the bot, register a new account for the bot. Then edit the modules/Configs.pm to your needs (password, username,…) and start the zbot.pl (don’t forget to install the CPAN module first). It’s a good idea to start it on a server with

./zbot &

so it stays online when you shut down your own computer. Now you can add the bot to your contact list. After the start the bot needs 20 seconds for initializing before it answers.

By sending “hilfe” to the bot it sends a list of available commands. With “hilfe <command>” you get the description of the plugin (for example: “hilfe helloworld”).

The bot is licenced under GPL. An english documentation is available.

All strings in the Code are in german language but the comments and documentation is english. I wrote an english translation as comment after (or below) each string, so it should be easy to translate.

It would be grate if you send me your plugins and enhancements of the code if you create some.

[UPDATE]I have uploaded the bot on GitHub: http://github.com/zimon/zBot. There it is adapted to the new Net::Jabber::Bot version. By doing this some of the Plugins broke and I don’t have time to fix them. Maybe someone wants to fork it :) [/UPDATE]

For questions or problems you may contact me.

Backup per FTP mit Tartarus

31. Januar 2009 von

Bisher war der Stromausfall am Donnerstag das einzige mal seit ich dort Kunde bin, dass etwas bei Hetzner nicht in Ordnung war. Jedoch habe ich es mir zum Anlass genommen, meine Backupstrategie zu überdenken.

Bisher nutzte ich selbstgeschriebene Bash Scripte und wollte diese erweitern, doch dann stieß ich auf Tartarus.

Tartarus ist ein opensource Bash Script, welches komplette sowie inkrementelle Backups von beliebigen Ordnern machen kann. Auch LVM Snapshots sind möglich. Warum also Zeit in Scripten, Testen und Debuggen investieren (es soll ja auch zuverlässig sein), wenn es schon eine fertige und erprobte Lösung gibt…

Die Konfiguration lässt sich einfach über verschiedene Konfigurationsdateien steuern wodurch Änderungen schnell umgesetzt werden können.

Die Sicherung erfolgt wahlweise zu einem FTP-Server oder in ein Verzeichnis. Man kann jedoch noch andere Möglichkeiten nutzen indem man entsprechende Funktionen in den Konfigurationsdateien erstellt. In der Dokumentation ist ein Beispiel für ssh.

Die Verzeichnisse werden mit tar gepackt und wahlweise mit bzip2 oder gzip komprimiert. Zusätzlich kann noch mit GnuPG synchron oder asynchron verschlüsselt werden.Verzeichnisse, die nicht mit ins Backup sollen kann man über eine Liste ausschließen.

Die Verwendung von Standardbefehlen wie tar oder bzip finde ich sehr Vorteilhaft, da sie auf fast jedem (Linux) System verfügbar sind. Zur Übertragung per FTP wird curl genutzt.

Mit dem Zusatzscript charon kann man ältere Backups auch leicht wieder vom Backup-Server löschen. Dies kann man sogar als sogenannten “Hook” nach der Erstellung des neuen Backups automatisch ausführen lassen. Dabei löscht charon nur  Backups, die älter als eine vorgegebene Anzahl von Tagen sind.

Links:

Server down wegen Stromausfall bei Hetzner

30. Januar 2009 von

Aufgrund eines Stromausfall in mehreren Rechenzentren von Hetzner war dieser Blog und weitere Projekte von gestern (29.01.2009) ca. 11:20 bis heute morgen um 6 Uhr nicht erreichbar.

Leider gehörte unser Server zu den wenigen Systemen, die nach der Rückkehr der Spannungsversorgung gegen 11:40 nicht selbstständig wieder gestartet haben.

Das BIOS hatte sich zurückgesetzt, was vom Support wieder angepasst wurde. Lediglich die Uhrzeit musste von mir neu gestellt werden.

Nun funktioniert glücklicherweise alles wieder wie gewohnt.

Jabber – die offene Alternative zu ICQ und MSN

27. Januar 2009 von

Jabber ist ein Instant Messaging Protokoll wie z.B. ICQ oder MSN. Jedoch ist es offen gelegt (was bedeutet, dass die Spezifikation frei verfügbar ist und keinem Copyright oder ähnlichem unterliegt. Dies ist ähnlich wie bei opensource Software) und wird ständig weiter entwickelt.

Das Protokoll benötigt keinen zentralen Server sondern funktioniert ähnlich wie Email. Die Jabber ID (JID) sieht aus wie eine Email (und kann je nach Anbieter auch als solche genutzt werden): nickname@domain.tld

Man meldet sich also bei seinem Server an. Wenn man nun einem Kontakt schreibt, der auf einem anderen Server angemeldet ist, verbindet sich der eigene Server mit dem Server des Kontaktes (diesen kann er ja über die Domain erreichen. Deswegen wird das @domain.tld wie auch bei einer Emailadresse benötigt) Der Kontakt wiederrum ist mit seinem Server Verbunden. So können Nachrichten vom eignen Client zum eigenen Server und von dort zum entfernten Server übertragen werden. Der entfernte Server kann die Nachricht dann zum Gegenüber weiter leiten.

Wer eine Emailadresse bei googlemail oder gmx besitzt, hat automatisch schon einen Jabber Account. Man kann die Emailadresse einfach als Jabber Adresse nutzen und das Email Passwort entspricht dann dem Jabber Passwort. GoogleTalk nutzt auch Jabber als Protokoll.

Jabber bietet gegenüber anderen Protokollen eine Reihe von Vorteilen:

  • Bei Jabber kann man sich einen Server aussuchen, wo man nicht das Copyright sämtlicher gesendeter Messages aufgibt (Wie es z.B. bei ICQ der Fall ist).
  • Es gibt viele verschiedene Jabber Server. Wenn einer ausfällt sind nur die User des einzelnen Servers betroffen.
  • Jabber ID’s (JID) sind einfacher zu merken, da sie wie eine Email Adresse aufgebaut sind.
  • Prinzipiell gibt es keine Begrenzung der Nachrichtenlänge. So kann man auch längere Texte verschicken ohne sie in mehrere Messages aufteilen zu müssen.
  • Jeder kann einen eigenen Jabberserver aufsetzen, im Internet und auch in internen Netzwerken. Firmen können so z.B. einen internen Jabberserver aufsetzen, der von außen nicht zu erreichen ist. Auf Netzwerkpartys z.B. kann Jabber auch dann genutzt werden, wenn keine Verbindung zum Internet vorhanden ist.
  • Das Jabberprotokoll ist stabiler als das ICQ-Protokoll und wird permanent weiterentwickelt.
  • Man kann sich direkt vom Programm aus einen Account anlegen und braucht nicht über eine (englischsprachige) Website zu gehen (wie bei ICQ).
  • Es gibt viele coole Mods und Bots wie z.B.:
    • Blogeinträge über Jabber schreiben
    • Wörterbuchabfragen
    • Dateihosting
  • Wer eine Emailadresse bei GMX oder Google besitzt, hat gleichzeitig schon einen Jabber Account.
  • Es gibt eine Chatfunktion wo die letzten geschriebenen Nachrichten angezeigt werden können, wenn man den Chat betritt. Der Chat hat auch eine Adresse, so dass man ihn auf einer Seite veröffentlichen kann.
  • Man kann auch wenn man offline ist eine “Abwesenheitsnachricht” einstellen
  • Verschlüsselte Kommunikation mit dem Server und auch Ende-zu-Ende Verschlüsselung ist möglich
  • Durch die Verwendung von UTF-8 gibt es keine Probleme mehr mit Sonderzeichen
  • Das Protokoll ist offen, so kann jeder ein Programm für Jabber schreiben. ICQ verbietet dies in seinen AGB’s (trotzdem gibt es alternative Clients)
  • Wenn AOL das ICQ Protokoll ändert funktionieren alternative Clients nicht mehr (dabei sind diese praktisch um gleichzeitig mit mehreren Systemen wie MSN, Jabber, ICQ online zu gehen)
  • Die meisten Jabber Client sind opensource (was einige Vorteile mit sich bringt) und es gibt jede Menge Clients für Jabber, so dass man eine riesige Auswahl hat.
  • Wenn man hinter einer Firewall (z.B. in einer Firma) sitzt, kann man zu speziellen Jabber Servern auf den Port 80 verbinden. Dieser Port ist meistens freigeschaltet (weil er auch zum Surfen gebraucht wird).

Diese und weitere Vorteile werden auf folgenden Seiten aufgeführt:

Jabber Account einrichten

Es gibt eine Menge Jabber Server, wo man sich kostenlos einen Account einrichten kann:

Wenn man hinter einer Firewall sitzt (z.B. in einer Firma), kann man auch Jabber Server verwenden, die den Port 80 oder 443 nutzen, der eigendlich für http bzw. https (SSL) gedacht ist und daher normalerweise immer von der Firewall freigeschaltet ist. Jabberserver, zu denen man sich über Port 80 Verbinden kann sind:

Die Konfiguration für Port 443 hat Christoph Langner in seinem Blog beschrieben. Für Port 80 sollte es ähnlich funktionieren (nur ohne die SSL Optionen)

Welchen Server man verwendet ist Geschmackssache. Wie bereits oben geschrieben kann man auch gmx oder googlemail Emailadressen als Jabber Accounts verwenden.

Wie bereits geschrieben gibt es eine Menge Programme, die Jabber unterstützen. Ich persönlich empfehle Pidgin zu verwenden. Weiter unten sind auch noch Infos für Trillian und Miranda.

Jabber unter Pidgin

Pidgin: Konten verwalten

Pidgin: Konten verwalten

Wie man Pidgin installiert habe ich bereits ausführlich beschrieben.

Hinweis: Man kann die Bilder in groß sehen indem man auf sie drauf klickt.

Um nun einen Jabber Account einzurichten geht man folgendermaßen vor:

Über Konten -> Verwalten (oder Strg+a) kommt man auf die Liste der Accounts. Dort klickt man auf “Hinzufügen”.

Im folgenden Dialog wählt man XMPP als Protokoll aus. Möchte man seine gmx oder googlemail Emailadresse nutzen, so gibt man bei “Benutzername” den Teil vor dem @, also den Nicknamen an. Bei “Domain” entsprechend gmx.de oder googlemail.com (also den Teil hinter dem @). Als “Ressource” kann man z.B. “Home” oder “Laptop” angeben. Die Ressource ist nur dann interessant, wenn man gleichzeitig von mehreren Computern mit diesem Account online sein möchte. Ansonten ist es egal, was man dort angibt. Als Passwort gibt man sein Email-Passwort ein.

Pidgin: Jabber Account einrichten

Pidgin: Jabber Account einrichten

Möchte man einen neuen Account erstellen, sucht man sich zuerst einen Server aus. Diesen trägt man bei “Domain” ein (z.B. jabber.ccc.de).  Als “Benutzername” sucht man sich etwas aus. Dies ist der Nickname. Für die Ressource gilt gleiches wie oben. Nun muss noch ein Passwort gewählt und eingegeben werden. Dieses ist beliebig, sollte aber mindestens 6 Zeichen haben (einfach aus Sicherheitsgründen, vorgeschrieben ist es nicht. Besser wären 8 Zeichen).

Schließlich macht man noch ganz unten den Haken bei “Dieses neue Konto auf dem Server anlegen”.

Ein Klick auf “Hinzufügen” und man wird nocheinmal nach seinen Daten gefragt. Hat man den Haken bei “Passwort speichern” gemacht, so ist dieses bereits eingetragen und man kann auf weiter klicken. Ansonsten gibt man es vorher noch ein.

Nun sollte man die Meldung bekommen, dass das Konto erfolgreich angelegt wurde. Ist dem nicht der Fall, so kann es sein, dass der Username auf dem Server schon vergeben ist. Einige wenige Server benötigen auch eine Registrierung über ein Webformular (normalerweise geht es aber aus dem Programm heraus).

Übrigens kann der lokale Alias genutzt werden um die JID durch den Nicknamen zu ersetzen, so dass in Gesprächen und in der Buddy Liste nicht immer die komplette JID erscheint.

Nun ist der Account eingerichtet und man kann Kontakte hinzufügen.

Jabber Kontakt hinzufügen

Jabber Kontakt hinzufügen

Dafür klickt geht man über Buddys -> Buddy hinzufügen (oder Strg+b) und wählt ganz oben den Jabber (XMPP) Account aus.

Bei “Benutzername des Buddys” gibt man die Jabber ID an.

Ein optionaler Alias ist praktisch, damit nicht immer die recht lange ID sondern z.B. nur der Nick angezeigt wird. Es kann auch noch eine Gruppe ausgewählt werden, wenn man diese Funktion nutzt.

Mit einem Klick auf “Hinzufügen” wird der Buddy in die Liste aufgenommen und automatisch eine Authorisierungsanfrage gestellt. Nimmt der Gegenüber die Anfrage an, bekommt man selbst auch eine. Diese wird im Hauptfenster ganz unten angezeigt.

Nun kann man noch die Gespräche mit OTR Verschlüsseln.


Jabber unter Trillian

Es gibt für Trillian ein Jabber Plugin. Dies ist jedoch nur in der Pro Version (und leider nicht in der kostenlosen Basic Version) verfügbar.


Jabber unter Miranda

Die Einrichtung eines Jabber Accounts unter Miranda ist auf dem deutschsprachigen Miranda Wiki ausführlich beschrieben.

Pidgin – ein opensource Multiprotokoll Instant Messenger

26. Januar 2009 von

Ich möchte hier gerne mal Pidgin vorstellen.

Pidgin ist ein Programm, mit dem man unter Anderem ICQ, MSN, AIM, Yahoo (YIM), IRC, Jabber, GoogleTalk und MySpaceIM gleichzeitig nutzen kann und ersetzt somit die Originalprogramme der verschiedenen Dienste. Ich persönlich bevorzuge Jabber.

Da es opensource ist, kann jeder den Quelltext (das was der Programmierer schreibt) einsehen und verbessern. Dies bringt auch dem Endnutzer, der nicht Programmieren kann, eine Menge Vorteile.

Es gibt viele Plugins für Pidgin wie z.B.

  • Wörter bzw. Abkürzungen ersetzen (praktisch um sich Abkürzungen zu definieren oder häufige Rechtschreibfehler automatisch zu korrigieren)
  • Psycho-Modus: das Fenster kommt in den Vordergrund sobald jemand anfängt Dich anzuschreiben
  • Antwortwahrscheinlichkeit: Rechnet aus, wie hoch für jeden Buddy in der Liste die Wahrscheinlichkeit ist, dass er in einer bestimmten Zeit antwortet (Standard 5 min)
  • Verlauf: öffnet das letzte Gespräch, wenn man das Fenster neu auf macht
  • Mausgestiken
  • SSL- oder OTR-Verschlüsselung der Gespräche
  • viele weitere Funktionen

Download und Installation

Pidgin Download

Pidgin Download

Hinweis: Man kann auf alle Bilder klicken um sie in Groß zu sehen.

Zuerst läd man sich Pidgin von der offiziellen Homepage http://pidgin.im herunter.

Auf der Hauptseite einfach auf “Download Pidgin” klicken. Daraufhin wird man weiter geleitet und der Download startet automatisch.

Es wird automatisch das Betriebssystem erkannt und die richtige Datei angeboten.

Sobald der Download abgeschlossen ist, kann man die heruntergeladene Datei mit einem Doppelklick öffnen.

Ist nichts anderes im Browser eingestellt, so findet man die Datei auf dem Desktop (sie hat den Namen “pidgin-x.x.x.exe”, wobei das x.x.x die aktuelle Versionsnummer ist).

Windows fragt möglicherweise noch ob man sicher ist, dass man das Programm wirklich ausführen möchte. Dies muss natürlich man natürlich zulassen.

Nun startet der Installationsassistent und man wird als erstes nach seiner Sprache gefragt. Meist erkennt das Programm automatisch die richtige Sprache (die auch vom Betriebssystem genutzt wird).

Pidgin Installation: Sprache einstellen

Pidgin Installation: Sprache einstellen

.

Als nächstes heißt einen der Installationsassistent in der gewählten Sprache Willkommen. hier klickt man einfach auf “Weiter”.

Pidgin Installationsassistent

Pidgin Installationsassistent

.

.

.

.

.

Nun bekommt man die Lizenz angezeigt. Diese sollte man sich durchlesen. Es ist die GPL, welche anders ist als die meisten kommerziellen Lizenzen.

Pidgin Lizenz

Pidgin Lizenz: GPL

.

.

Hat man die Lizenz gelesen (oder kennt man die GPL schon), so kann man auf weiter klicken.

Im nächsten Schritt wird man gefragt, wo man Verknüpfungen (also Icons) erstellen lassen möchte (auf dem Desktop und/oder  im Startmenü). Was man hier wählt ist Geschmackssache. Wer nicht weis was er nehmen soll lässt einfach die Standardeinstellungen. Pidgin wird man dann später unter Start->Programme finden.

Pidgin Verknüpfungen

Pidgin Verknüpfungen

.

Ein Klick auf “Weiter” bringt einem zum nächsten Schritt.

Dort wird man nach einem Ordner gefragt wo GTK (Eine Bibliothek, die für Pidgin benötigt und automatisch installiert wird) installiert werden soll. Der vorgeschlagene Ordner ist normalerweise schon in ordnung und man kann auf “Weiter” klicken. Dann wird man gefragt wo Pidgin installiert werden soll. Auch hier ist der Vorgeschlagene Pfad OK und man kann auf “Weiter” klicken.

Installationspfad für GTK

Installationspfad für GTK

Installationspfad für Pidgin

Installationspfad für Pidgin

.

.

.

.

.

.

.

.

.

.

Nun wird Pidgin installiert. Dies geht im Allgemeinen innerhalb einer Minute.

Ist die Installation abgeschlossen genügt ein weiterer Klick auf “Weiter” um die Installation abzuschließen.

.

Pidgin Installationsvorgang

Pidgin Installationsvorgang

Hinzufügen von Accounts

Pidgin erster Start

Pidgin erster Start

Jetzt wo Pidgin installiert ist wird es auch direkt gestartet. Da man noch kein Konto (also keinen ICQ, MSN, Jabber oder anderen Account) unter Pidgin eingerichtet hat, wird einem dies mitgeteilt und ein Klick auf “Hinzufügen” öffnet ein entsprechendes Formular.

Pidgin neuen Account hinzufügen

Pidgin: neuen Account hinzufügen

Hier wählt man das entsprechende Protokoll aus und gibt seine Daten ein.

Die bestehende Kontaktliste wird i.d.R. automatisch vom Server geladen, so dass man niemanden neu hinzufügen braucht.

Im folgenden habe ich Beispiel Screenshots für ICQ, MSN und Jabber gemacht, die zeigen wo welche Daten hingehören.

Für Jabber ist als Protokoll “XMPP” zu wählen.

Bei Jabber kann man direkt aus dem Programm einen Account erstellen. Dafür braucht man nur ganz unten den Haken bei “Dieses neue Konto auf dem Server anlegen” zu machen.

Was bei Jabber als “Ressource” angegeben wird ist egal (“Home” ist eine gute Wahl). Dies ist nur wichtig, wenn man mit dem selben Account mehrmals gleichzeitig (von verschiedenen Computern aus) online sein möchte.

Pidgin ICQ Account einstellen

Pidgin: ICQ Account einrichten

Pidgin MSN Account einrichten

Pidgin: MSN Account einrichten

Pidgin: Jabber Account einrichten

Pidgin: Jabber Account einrichten

Hat man den ersten Account hinzugefügt, kann man natürlich weitere Accounts durch erneutes klicken auf “Hinzufügen” erstellen. Das Kontenfenster kann man jederzeit über Konten->verwalten aufrufen.

Kontakte hinzufügen

Pidgin Buddy hinzufügen

Pidgin Buddy hinzufügen

Hat man seinen bereits bestehenden ICQ oder MSN Account eingerichtet werden auch automatisch alle Kontakte geladen. Ein Icon zeigt an, welchem Protokoll (z.B. ICQ oder MSN) der Kontakt angehört.

Um neue Kontakte hinzuzufügen geht man über Buddys -> Buddy hinzufügen.

Nun kann man auswählen, zu welchem Account der Kontakt hinzugefügt werden soll. Anders gesagt: Man sucht aus, welches Protokoll (wie z.B. ICQ, MSN oder Jabber) der Kontakt nutzt.

Kontakt hinzufügen: Protokoll auswählen

Kontakt hinzufügen: Protokoll auswählen

.

.

.

.

Als Nächstes  zeige ich Beispiele für ICQ und Jabber. Daran sollte man erkennen können, welche Daten wo eingegeben werden. (Bei MSN ist es genau das gleiche wie bei Jabber)

ICQ Kontakt hinzufügen

ICQ Kontakt hinzufügen

Jabber Kontakt hinzufügen

Jabber Kontakt hinzufügen

.
.
.
.
.
.
.
.
.
.
.

.

Nun kann man noch OTR-Verschlüsselung einrichten.

So, das wars. Ich hoffe diese Anleitung war auch für Computeranfänger verständlich. Wenn irgendetwas nicht klar ist würde ich mich über Kommentare freuen.

Vorteile von opensource Software

25. Januar 2009 von

Als opensource Software (OSS) bezeichne ich Programme, die unter einer Lizenz wie GPL, BSD, Apache Lizenz,… veröffentlicht wurden und deren Quelltext (das was der Programmierer schreibt)  öffentlich einsehbar ist und auch verändert weiter verbreitet werden darf. Es gibt eine Menge Ausführungen über Unterschiede zwischen freier Software und opensource Software, was ich hier jedoch nicht aufgreifen möchte. Wenn ich von Opensource spreche meine ich freie Software (Free and Open Source Software – FOSS).

Opensource Software bietet aber auch dem Endnutzer, der nicht programmieren kann, eine Reihe von Vorteilen:

  • Die Programme sind kostenlos und können auch kostenlos weiter gegeben werden.
  • Die Wahrscheinlichkeit von Hintertüren in den Programmen, die Daten zum Hersteller schicken, ist ziemlich gering, da sie jeder aufdecken könnte. Es kann ja jeder den Quelltext einsehen.
  • Sicherheitslücken werden schneller gefunden (da mehr Leute den Quelltext einsehen können) und behoben (da an den großen Projekten viele Leute in aller Welt arbeiten).
  • Es können viel mehr Ideen einfließen, da jeder Vorschläge machen kann.
  • Meist gibt es eine große Community, man findet viele Informationen und bekommt schnell Hilfe bei Problemen.
  • Die Weiterentwicklung der Programme geht meistens schneller.

Es gibt mittlerweile schon viele sehr gute opensource Programme, die mindestens genausogut sind wie entsprechende kommerzielle Software. Beispiele wären Firefox, Thunderbird, OpenOffice, Gimp, Inkscape, Apache, VLC, WordPress oder das Betriebssystem Linux.

Von daher bevorzuge ich in den meisten Fällen opensource Software, wenn ich die Wahl habe.

Wer noch mehr Vorteile von opensource Software für Endanwender kennt, kann sie mir gerne mitteilen.

Firefox Erweiterung – Brief ein RSS-Reader

24. Januar 2009 von

Nachdem ich mein Projekt vorgestellt habe, fehlt natürlich noch ein passender RSS-Reader.

Auf der Suche nach einem schönen RSS-Reader habe ich mir zuerst mal angeschaut, was es so an Firefox Addons gibt. Immer ein weiteres Programm geöffnet zu haben fand ich nicht so toll und daher gefiel mir die Idee einer Firefox Erweiterung. Neben NewsFox habe ich dann Brief ausprobiert. Beide Plugins sind sehr schön und gut nutzbar. Jedes hat so seine Vor- und Nachteile.

Im Endeffekt habe ich mich für Brief entscheiden, weil es dort eine Ansicht gibt, wo man alle ungelesenen Feeds chronologisch angezeigt bekommt und sie schnell als gelesen markieren kann. NewsFox erinnert mehr an einen Email Client.

Die grafische Aufbereitung in Brief finde ich gelungen. Es gibt keinen großen Schnickschnak, die Tastenkombinationen sind einfach und praktisch, neue Feeds sind sehr bequem als dynamische Lesezeichen hinzufügbar. Brief nimmt einfach alle dyn. Lesezeichen in einem Ordner. (NewsFox fragt bei jedem Start wenn neue dyn. Lesezeichen hinzugekommen sind, ob er sie als Feed behandeln soll). Es gibt eine Suche um in einzelnen Ansichten (einzelne Feeds oder den ungelesenen Nachrichten) oder in allen Feeds zu suchen. Jeder Artikel hat einen Stern an der Seite, der genau wie der in der Adressleiste die entsprechende Seite zu den unsortierten Lesezeichen hinzufügt.

Schön finde ich auch das Switchen zwischen Überschriftenansicht auf Artikelansicht mit f oder nur für einen einzelnen Artikel mit n (was direkt neben dem m für Markieren liegt). Mit j und k kommt man wie bei vim hoch und runter.

Hier der Link zum Herunterladen/Installieren: https://addons.mozilla.org/de/firefox/addon/4578

Forum2RSS – Webservice um (Unter-) Foren als RSS-Feed zu abonnieren

20. Januar 2009 von

Viele Boards (auch BulletinBoard, Internetforum oder Diskussionsforum genannt) bieten keinen RSS-Feed an. Und wenn, dann kann man nur das komplette Board abonnieren. Mich interessieren meist aber nur einige (Unter-) Foren. Bei Mikrocontroller.net z.B. ist es zudem nicht möglich, die Foren per email zu abonnieren.

So habe ich einen Webservice programmiert, der die Foren in seiner Liste regelmäßig scannt und mir alle neuen Threads als RSS-Feed zur Verfügung stellt. Wie gesagt, es geht hier nur um einzelne Foren eines Boards. Um ein ganzes Board zu abonnieren muss man jedes einzelne Forum abonnieren.

Jeder kann dort neue Foren hinzufügen und jeder kann sich die Feeds dort abonnieren. Der Feed beinhaltet die einzelnen Threadüberschriften und jeweils die ersten 1000 Zeichen als Beschreibung. Wenn neue Foren hinzugefügt werden, müssen sie erst vom Administrator (mir) freigeschaltet werden.

Leider bin ich auf einige größere Probleme gestoßen, die den Webservice nur bedingt nutzbar machen und wegen derer ich einige Einschränkungen einbauen musste:

Zum einen ist die Serverlast beträchtlich, da regelmäßig die Threadübersicht der einzelnen Foren geladen und analysiert werden muss. Wenn es neue Threads gibt muss jeder einzelne neue Thread auch geladen werden um eine Zusammenfassung zu erstellen. Bei wachsender Anzahl von Foren braucht man so schnell eine ganze Menge Traffic und Rechenzeit. Daher werden die Foren nur dann nach Updates überprüft, wenn der RSS-Feed auch angefordert wird. Höchstens jedoch alle 15 Minuten. Es wird auch nur die erste Seite der Threadübersicht beachtet. Bei stark frequentierten Foren oder selten abgerufenen Feeds kann es also passieren, dass Threads nicht erfasst werden.

Ein weiteres Problem ist, dass es bisher noch keine Möglichkeit gibt, automatisch Werbung in den Feeds zu schalten. Es gibt zwar Adsense for Feeds, jedoch müsste ich dann für jedes neu hinzugefügte Forum von Hand einen Channel und einen entsprechenden Werbefeed erstellen. Das ist noch nicht automatisierbar. Dadurch kann ich den Service auch nicht auf einem eigenen Server laufen lassen. Somit kann ich den Dienst nur so lange anbieten, wie er meinen Server nicht zu stark belastet. Das tut mir zwar leid, aber ich sehe im Moment keine andere Möglichkeit.

Problematisch ist auch, dass es so viele verschiedene Foren gibt: phpbb, WBB, vBulletin, SMF,… Für jedes dieser Foren gibt es noch verschiedene SEO Hacks, wodurch man eine vielzahl an regulären Ausdrücken benötigt um die Threads aus der Threadübersicht zu extrahieren. Ähnliches gilt für die Beiträge. Bei der Freischaltung wird die erste Seite der Threadübersicht geladen und mit vielen verschiedenen regulären Ausdrücken behandelt. Der passende wird dann vom Administrator ausgesucht. Genau das gleiche passiert auch mit den Beiträgen. Das ist einer der Hauptgründe, warum Foren erst freigeschaltet werden müssen. Dieser Punkt ließe sich möglicherweise noch automatisieren, doch solange die anderen Probleme bestehen habe ich keine Lust noch extrem viel Zeit in das Projekt zu investieren.

Da ich jetzt schon so viel Arbeit und Zeit in das Projekt investiert habe, wäre es einfach zu schade, wenn es nur auf meiner Festplatte ungenutzt herum liegen würde. Es funktioniert ja alles und kann genutzt werden. Daher stelle ich den Dienst einfach mal online und wer es praktisch findet, kann ihn gerne nutzen.

An dieser Stelle möchte ich mich auch bei ploppor bedanken, der mir die ganze Zeit über mit wertvollen Tipps und Ideen zur Seite stand. Seine Perl-Kenntnisse haben mir oft weiter geholfen. Er hat auch einige praktische Funktionen geschrieben wie z.B. um Threadbeschreibungen und -URLs aus der Threadübersicht zu extrahieren oder um die Sprache des Forums anhand der einzelnen Buchstabenhäufigkeiten zu bestimmen.

Wer Fehler findet oder Ideen für weitere Features hat kann sie mir gerne mailen: zimon@gmx.net. Jedoch werde ich vorerst nur schwere Fehler beheben. Wenn es sich nochmal lohnen sollte an dem Projekt weiter zu arbeiten werde ich dies wohl auch tun, aber im Moment bringt es einfach nichts.

Hier der Link zum Projekt: http://forum2rss.net

Firefox Erweiterung – NoScript

17. Januar 2009 von

NoScript ist eine Firefox Erweiterung, die den Umgang mit Scripten erleichtert.

Es wird immer wieder darauf hin gewiesen, dass man möglichst JavaScript, Java, Flash,… abschalten sollte um die Sicherheit zu erhöhen. Gerade XSS Attacken werden in letzter Zeit immer häufiger. Doch leider benutzt mittlerweile fast jede Seite irgendwelche Scripte, so dass das grundsätzliche Ausschalten von Scripten nur für die wenigsten in Frage kommt.

Hier setzt NoScript an und platziert ein Icon in die Statusleiste. Gleichzeitig werden alle Scripte unterbunden. Nun kann man über das Icon ein Kontextmenü aufrufen um die aktuelle Domain (und alle Domains die Scripte auf der aktuellen Seite ausführen wollen) einer Whitelist hinzuzufügen oder sie temporär zu erlauben. Diese Aktion läd auch gleichzeitig die Seite neu, so dass die Scripte darauf gleich mit geladen werden. (z.B. XSS Attacken werden jedoch weiterhin geblockt)

Dadurch hat man die Sicherheit von deaktivierten Scripten, kann sie für einzelne Seiten jedoch schnell wieder anschalten. Natürlich wird das Surfvergnügen dadurch ein wenig beeinflusst, aber ich finde dass es einen guten Kompromiss zwischen Sicherheit und Nutzbarkeit darstellt. Gerade für Windows User halte ich dieses Plugin schon fast für Pflicht.

Auch Heise empfiehlt immer wieder, diese Erweiterung zu nutzen:

Das Plugin kann bei den Mozilla Adons herunter geladen werden.


Bloggeramt.de frisch gebloggt Blogverzeichnis - Blog Verzeichnis bloggerei.de