Skip to content

Kaiwa - ein moderner Webclient für XMPP Chats

XMPP Client-Server Strukturen sind immer noch häufig zu finden. Dies gilt nicht nur für den privaten Bereich , auch im Firmenumfeld wird XMPP, früher bekannt als Jabber, zur Kommunikation eingesetzt.

Bekannte Clients in diesem Bereich sind sicherlich Pidgin, Jitsi oder Gaim. Da der Trend in den letzten Jahren jedoch in Richtung Webclients geht, wirkt XMPP im Vergleich zu Slack, Hipchat, Mattermost wie aus den 90ern.

Kaiwa-Chat

Ein XMMP Server lässt sich mit relativ einfachen Mitteln um ein schickes Web Frontend erweitern.

Viele setzten bisher wahrscheinlich auf jappix.org. Dieses XMPP Web Frontend funktionierte mit Hilfe von Plug-Ins auf gängigen Servern wie Prosody, Ejabbered oder Openfire. Auch Candy ist in diesem Zusammenhang vielen sicherlich ein Begriff. Doch solle es heute nicht um diese Varianten gehen.

Kaiwa - XMPP im Browser Tab

Eine weitere Möglichkeit ein Web Frontend für XMPP umzusetzen bietet Kaiwa. Das Frontend ist ein Fork von OTalk.

Es hat einen modernen Look und bietet mit Funktionen wie Gruppenchats, privaten Unterhaltungen, Desktop Notifikationen, LDAP oder Multimedia Einbettung, alles was ein grundsolider Webclient benötigt.

Zusätzlich zum Web Frontend, lässt sich Kaiwa auch als normaler Desktop Client installieren.

Doch vor der Anwendung muss zunächst das System an sich installiert werden.

Installation Kaiwa Frontend bei vorhandenem XMPP Server

Voraussetzung für einen funktionalen Chat ist NodeJS. Der Installationsvorgang sollte aus vergangenen Artikeln bekannt sein.

curl --silent --location https://deb.nodesource.com/setup_4.x | sudo bash -

apt-get install nodejs

Darauf folgenden die nötigen Pakete, so wie der Git Download.

sudo apt-get install uuid-dev

git clone https://github.com/digicoop/kaiwa.git

cd kaiwa/

cp dev_config.example.json dev_config.json

npm install


Als nächstes erfolgt der Start des Servers. Dieser kann mit einfachen Mitteln auch als Dienst im Hintergrund laufen (z.B. Script unter /etc/init), dies wäre aber Thema für einen eigenen Artikel, darum hier nur der Server Start.

node server

kaiwa

Startet der Server ohne Probleme kann unter http://xmppserver:8000/login die Weboberfläche aufgerufen werden.

Da bie dieser Konfiguration noch auf der laufende bzw. vorhandene Server eingetragen werden muss, sollte zunächst ein Blick in die Konfig geworfen werden.

Installation mit Openfire XMPP Server

Bei einem Betrieb mit Openfire müssen folgende Schritte unternommen werden.

Zum einen die Aktivierung des Websocket Plugins über die Oberfläche (Port 7443)

openfire-websocket

Zum anderen, sollten selbstsignierte Zertifikate im Einsatz sein, muss der Websocket Adresse noch vertraut werden.

Dazu einfach im Browser aufrufen und das Zertifikat als vertrauenswürdig einstufen (https://xmppserver:7443/ws/)

Die Kaiwa Konfiguration unter dev_config.json sollte je nach XMPP Server wie folgt gestaltet werden.

Openfire

{
    "isDev": true,
    "http": {
        "host": "localhost",
        "port": 8000
    },
    "session": {
        "secret": "geheimgeheim"
    },
    "server": {
        "name": "Kaiwa",
        "domain": "xmppserver",
        "wss": "wss://xmppserver:7443/ws/",
        "muc": "",
        "startup": "",
        "admin": ""
}

Installation mit ejabberd XMPP Server

Ist ein ejabberd Server im Einsatz werden folgende Konfigurations Zeilen benötigt.

ejabberd

{
   "isDev": true,
   "http": {
       "host": "localhost",
       "port": 8000
   },
   "server": {
       "domain": " xmppserver.de",
       "wss": "wss:// xmppserver :5280/websocket/"
   }
}

Fazit

Durch eine moderne Oberfläche wirkt manch altbackener Client gleich viel frischer.  Die hier gezeigte Methode mit Kaiwa in Verbindung mit NodeJS bietet eine schnelle Möglichkeit vorhandene Strukturen zu modernisieren.

Auch neue Strukturen lassen sich schnell Aufbauen. Kaiwa steht als fertiges Docker Image mit Prosody und NodeJS zur Verfügung und bietet somit einen leichten Einstieg.

Kaiwa

Nach Tinder, Cuddlr folgt nun Bristlr - die App für Bartträger und deren Anhänger

Es war ja nur eine Frage der Zeit, bis der gemeine Hipster eine App für sein Statussymbol entwickelt, den Bart. Das Erkennungszeichen wuchert inzwischen durch ganz Europa. Nun hat ein findiger Engländer die passende App dazu entwickelt.

Via Browser, iPhone oder Android App können sich Menschen verabreden, die Bärte tragen, diese toll finden, anfassen möchten oder vielleicht sogar stutzen. Es bleiben quasi keine Wünsche offen, wenn das Gestrüpp erst einmal vermittelt wurde.

BristlrIrgendwie fehlt nun noch eine App für Brusthaar Fans, gibt es meines Wissens auch noch nicht, also Nix wie ran an die Tasten.

Bristlr

Was ist aktuell beliebt auf Reddit? Metrics zeigt euch die momentanen und ewigen Trends

Auf ITrig war es diese Woche krankheitsbedingt etwas ruhiger. Ganz im Gegensatz zum beliebten Social News Aggregator Reddit. Bei dieser stark frequentierten Webseite für alle erdenklichen Inhalte verliert der User schnell den Überblick.

Reddit Metrics

Um etwas Ordnung ins Universum der Subreddits zu bringen, kann der Dienst Reddit Metrics verwendet werden. Der Service listet aktuelle Trends der Reddit Webseite auf.

reddit-metrics

Neben den am schnellsten wachsenden Reddits, den Top Reddits aller Zeiten oder den neusten Themen lässt sich jeder beliebige Subreddit analysieren.

Egal ob Lolcats (trotz über 90000 Lesern, nimmt hier der Trend eher ab) oder Facepalm, die jeweilige Entwicklung wird in Zahlen oder Grafiken im Stil von Google Analytics dargestellt und zusätzlich in Meilensteine unterteilt.

Fazit

Internetfreunde und Zahlenjunkies, die auf der Suche nach neuen oder populären Reddits sind oder vorhandene gerne genauer unter die Lupe nehmen möchten, sind bei Reddit Metrics sicherlich an einer guten Adresse. via

 

Datenblumen - Visualisierung von Webseiten, inklusive externes JavaScript

Seit diesem Jahr ist Wired Deutschland als monatliche Zeitschrift für den "gemeinen" Nerd verfügbar. In der aktuellen Printausgabe wurden sogenannte Datenblumen abgedruckt.

Dabei handelt es sich um Visualisierungen von Webseiten, welche verdeutlichen sollen, wie viel Teile einer Webseite aus Inhalten (Bilder, HTML) oder aus Skripten (JavaScript, CSS) bestehen. Letztere dienen meist zur Gestaltung der Webseite in Form von CSS, aber auch als Codeschnipsel für Social Media Buttons von Facebook und Co.

Datenblume

Wired hat in Zusammenarbeit mit OpenDataCity einen Dienst online gestellt, der es ermöglicht solche Datenblumen für jede Webseite zu erstellen. Das Ergebnis ist durchaus interessant, gerade in Betracht auf die Vielfältigkeit der Blüten, denn hier lässt sich gut erkennen, wie viele externe Skripte auf der jeweiligen Seite eingebunden sind.

Datenblumen_caschy

Der reine HTML Inhalt wird auf den Grafiken grün dargestellt, Skripte in rot und Styleinformationen in einem Orangeton. Die zwei Beispiele zeigen, dass meistens Bild- und Javascript Dateien für den Großteil eines Seitencontents verantwortlich sind. Reines HTML tritt nur sporadisch auf.

Eigene Datenblumen gestalten

Tracking via Canvas-Fingerprinting - Diese Seiten benutzen bereits den nicht löschbaren Cookie Erbe

Auf verschiedenen IT News Seiten waren in den letzten Tagen Beiträge über User Tracking via Canvas-Fingerprinting oder Evercookies zu finden.

Letztere sind schon etwas länger als HTTP-, Flash- und Silverlight-Cookies bekannt und lassen sich teilweise mit einfachen Plugins, wie beispielsweise Better Privacy für Firefox, teilweise in den Griff bekommen.

Beim sogenannten Fingerprinting wird es noch schwieriger ein Tracking zu verhindern. Durch den Einsatz der Canvas API in modernen Browsern, lassen sich Renderingunterschiede bei Texten messen, daraus kann ein Fingerabruck errechnet werden, der immer wieder dem Nutzer zugeordnet werden kann. (Genauere Erklärung siehe Artikel).

Canvas-Fingerprinting

In den Artikeln über dieses moderne Nutzer-Tracking wurde auf eine aktuelle Studie verwiesen, die 100 000 Webseiten zu diesem Thema untersucht hat. Angeblich setzen etwas 5,5 Prozent bereits solche Tracking Techniken ein.

Die Liste der betroffenen Seiten wurde nun öffentlich gemacht. Darunter befinden sich neben offiziellen Seiten wie t-online, golem oder arduino.cc, die üblichen Verdächtigen Webseiten aus der Grauzone des Internets.

Seht selbst.

Canvas-Fingerprinting Webseites