Profanity, a console based XMPP client - Home

libstrophe - An XMPP library for C

A new version of #libstrophe has been released. libstrophe is a library for writing #XMPP clients.
You can find more information in the ChangeLog.
Guten Morgen Pinguine! Eine kleine Info / Status update \o/

Ein erster Meilenstein ist erreicht! Ich habe heute einen ersten tag (0.0.1) für libcxmpp erstellt. Es ist nicht viel, aber ein Anfang.

#libcxmpp besteht aus einer kleinen Menge von #GObject types. Diese sollen eine einfach zu verwendete Schnittstelle für Funktionen rundum #XMPP bereitstellen. Aktuell ist es möglich, dass sich ein Client mit einem XMPP Server verbindet, eine presence schickt. Den roster abfragt und einfach Nachrichten (type chat) senden und empfangen kann.

Hierfür habe ich eine Demo Implementierung im Projekt angelegt. Dies sieht dann wie folgt aus.

Loading Client Manager...
XMPP> connect
XMPP Connect - JID> [email protected]
XMPP Connect - PWD> 123456
XMPP> Client has been connected with XMPP Server

XMPP> presence
XMPP> message
XMPP Message - JID> [email protected]
XMPP Message - Text> Hallo! Das ist ein Test :)
XMPP> Message from [email protected]/Coffein: Hallo. Die Nachricht ist angekommen.
Anwendungsdesign muss ich mir noch mal genauer überlegen. Der ersten Entwurf beinhaltet einen CM (Connection Manager). Der Connection Manager soll alle Accounts und Connections verwalten. Die Connection ist eine funktionale Sicht auf die XMPP Verbindung, währen der XMPP Wrapper die technische Implementierung via #libstrophe bereitstellt.

Der Client kann sich mit Signalen verbinden - #signal :-x

g_signal_connect_object(connection, "connected",
G_CALLBACK(cxmpp_connected), connection,
G_CONNECT_SWAPPED);

g_signal_connect_object(connection, "new-contact",
G_CALLBACK(new_contact), connection,
G_CONNECT_SWAPPED);

g_signal_connect_object(connection, "new-chat-message",
G_CALLBACK(new_chat_message), connection,
G_CONNECT_SWAPPED);
Ausblick für den nächsten Meilenstein

Als Backend solle eine #sqlite Datenbank verwendet werden. Verschlüsselung im ersten Schritt mit #OpenPGP #OX via #GnuPG. Ziel ist es, dass ich im ersten Schritt die Implementierung von #xmppc (ein XMPP command line client) auf #libcxmpp umstellen kann.

Code ist auf #Codeberg https://codeberg.org/devLUG/libcxmpp

Happy chatting!

#Messenger #Debian #GNU #Linux #Jabber
libcxmpp

A XMPP library

Codeberg.org
libstrophe - An XMPP library for C

libstrophe - An XMPP library for C

XMPP in Debian bullseye-backports

Did you know? There are some new versions for XMPP packages in #Debian backports.

* dino-im 0.3.0
* gajim 1.4.4
* libstrophe 0.12.0
* profanity 0.12.1
* prosody 0.12.1

Big thanks to the upstream projects!

#dino #gajim #profanity #prosody #libstrophe