IM Nachrichten per Push aufs Iphone mit Prowl

Jabber Push,
MSN Push,
ICQ Push,
AIM Push und und und …

Und das alles geht relativ leicht :)
Der Trick ist eigentlich ganz einfach,
man Pushed einfach Jabber Nachrichten.
Um dann MSN, ICQ, AIM etc. Nachrichten zu bekommen benutzt man einfach die Jabber Transporte die all diese Kontakte und Nachrichten der anderen Protokolle nach Jabber portieren.

Also bleibt nur die Frage wie man Jabber Nachrichten aufs Iphone Pushed.
Auch hier kann man sich wie immer bedienen:
Frei nach dem Motto was es schon gibt kann man ja nehmen.
Wir implementieren also Jabber nicht selber, sondern nehmen einen Consolen Jabberclient mit Namen mcabber, der den ganzen Jabber-Part übernimmt.

Mcabber hat den großen Vorteil des man ein Script definieren kann, das bei einem Event ausgeführt werden soll. Ihr seht schon wo der Weg hin geht, ein Script zu Basteln, das den Pushteil übernimmt.

Also los:
Mcabber wird unter Debian und Ubuntu installiert  mit

apt-get install mcabber

Danach muss mcabber configuriert werden,
das jetzt alles zu erklären wäre zu viel Arbeit deshalb verweise ich auf den Artikel im Ubuntuusers forum : hier

Mcabber ist ein cooler Konsolenclient für jabber mit dem man sich gerne etwas vertraut machen kann bevors weitergeht.

Nach dem ihr euch mit mcabber vertraut gemacht habt, euren Jabberaccount eingerichtet, und euch mit mcabber auf diesen verbunden habt gehts also an die Config.
Hier wir ein script gesetzt, das Mcabber bei events aufrufen soll.
Dazu setzt man folgende werte in der ~/.mcabber/mcabberrc :

set events_command = ~/.mcabber/eventcmd
set event_log_files = 1
set event_log_dir = ~/.mcabber/event_files
# If you set 'eventcmd_use_nickname' to 1, mcabber will pass the nickname
set eventcmd_use_nickname = 1

Jetzt müssen wir nur noch das Script erstellen,
welches uns dann die Nachrichten zupusht:
Dazu fürgen wir folgendes in die  ~/.mcabber/eventcmd Datei ein:

#! /bin/bash
 
TYPE=$1;
WAY=$2;
FROM=$3;
EVENTFILE=$4;
 
if [ "$TYPE" = "MSG" ]; then
if [ "$WAY" = "IN" ]; then
 
MSG=`cat $EVENTFILE`;
`echo "~/.mcabber/prowl.sh Jabber $FROM $MSG" >> log`
` ~/.mcabber/prowl.sh "Jabber" "$FROM" "$MSG"`;
fi
#datei mit text löschen
`rm $EVENTFILE`;
fi
 
exit 0;

So weit so gut jetzt fehlt noch die Datei ~/.mcabber/prowl.sh und dann sind wir fertig :)
Das Script tut eigentlich nichts großes ausser ein HTTPS-Request gegen die Prowl API zu feuern und unsere Daten zu Übergeben so dass die Push Message gesendet wird.
Der Code ist folgender:

#!/bin/bash
# script welches prowl notifications aufs iphone schickt
#Variablen
APIKEY=EUER_PROWL_API_KEY;
PRIORITY='$4';
if [ "$PRIORITY" = "" ]; then
PRIORITY=0;
fi;
 
APPLICATION=$1;
EVENT=$2;
DESCRIPTION=`echo "$3" | sed 's/ /%20/g' | tr -d "\n"`;
#Variablen ende
echo `curl -s "https://prowl.weks.net/publicapi/add?apikey=$APIKEY&priority=$PRIORITY&application=$APPLICATION&event=$EVENT&description=$DESCRIPTION"`;
 
exit 0;

Und das wars auch schon, in Zukunft kommen alle Nachrichten die an mcabber gehen per Push auf euer IPhone.
Das verbunden mit der Möglichkeit von Jabber sich mehrfach einzuloggen, und per Prioritäten festzulegen wohin die Nachrichten wandern bietet für mich einen super Push service :)

This entry was posted in Technik, Uncategorized and tagged , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *