• person rss_feed

    Stefan’s feed

    Blog

    • chevron_right

      Debian - Profanity - OMEMO

      Stefan · Saturday, 18 September, 2021 - 06:35 edit · 1 minute

    Profanity in Debian GNU/Linux

    In Debian 11 ("Bullseye") ist Profanity 0.10.0 verfügbar. Installiert werden kann es mit dem Befehl apt install profanity. Profanity ist ein ncurses basierter XMPP Client.

    Schlüssel generieren

    Hat man sich in profanity erfolgreich mit seinem XMPP Account angemeldet, muss man zur Verwendung von OMEMO das Schlüsselmaterial erzeugen lassen. Dies kann mit dem Befehl /omemo gen erstellt werden.

    Jedes OMEMO fähiges Gerät hat eine accountweite eindeutige Device-ID sowie einen Fingerabdruck. In der Profanity Console (/win 1) lassen sich mit dem Befehl /omemo fingerprint alle eigenen Fingerabdrücke anzeigen.

    07:58:17 - Your OMEMO fingerprint: 5284ea0c-42d698b8-9e8bc07d-daa9c4fb-d9d02814-53847b59-7b85479a-e03fca20
    07:58:17 - user@domain.tld's OMEMO fingerprint:                                                       
               3cb71f98-3e167abf-ae8352d3-3dd5f6d9-bc9f74fa-95e787af-fed55fa5-0a62315b (trusted)              
    07:58:17 - user@domain.tld's OMEMO fingerprint:                                                       
               3641e6ba-fddd542f-cfd69a4c-e5907193-d0682001-28a4c1b5-4971b4ea-a057b717   
    

    Schlüssel vertrauen

    Vielleicht möchtest du Nachrichten, die du verschickst, auch auf deinen anderen Geräten lesen? Dann kannst du mit folgendem Befehl deinem Schlüssel vertrauen.

    /omemo trust user@domain.tld 3641e6ba-fddd542f-cfd69a4c-e5907193-d0682001-28a4c1b5-4971b4ea-a057b717
    

    PS: Du musst den Key nicht per Hand eintragen. profanity kann Autovervollständigung via [TAB]-Taste.

    Dieses vorgehen lässt sich auch auf die Schlüsselverwaltung deiner Kontaktpersonen anwenden.

    /omemo fingerprint buddy@domain.tld 
    

    Chatten

    Ein Fenster zu deinem Chatpartner lässt sich mit dem Befehl /msg Nickname oder /msg buddy@domain.tld starten. Im geöffneten Chatdialog kann auf die JID bei der Abfrage der Fingerabdrücke verzichtet werden. Ein einfaches /omemo fingerprint ist ausreichen, um noch mal über die Schüssel des Partners drüber zu gucken.

    Mit dem Befehl /omemo start wird die OMEMO Verschlüsselung aktiviert. Wurde eine OMEMO für einen Kontakt aktiviert, wird diese Informationen in den Account-Einstellungen gespeichert, um in Zukunft auch OMEMO direkt zu aktivieren. Beendet werden kann sich Session mit /omemo end. Das Verhalten kann mit dem Befehl /omemo policy beeinflusst werden.

    Dateitransfer

    Dateitransfer via OMEMO lässt sich normal mit /sendfile und /url save bzw. /url open verwenden.

    Ausblick

    Debian bookworm verfügt über die Version 0.11 von profanity. Hierzu werde ich einen eigenen Beitrag machen.

    Viel Spaß beim chatten!

    #Debian #Profanity #OMEMO #Bullseye #XMPP

    • chevron_right

      C Beispiel struct und Zeiger

      Stefan · Wednesday, 30 June, 2021 - 05:11

    Hier ein Beispiel wegen einer Frage aus dem C/C++ Gruppenchat

    #include <stdlib.h>
    #include <stdio.h>
    #include <assert.h>
    
    typedef struct {
    	int x;
    	int y;
    } C;
    
    static void _set(C* c, int x, int y);
    
    int main( int argc, char argv[]) {
    	C* c = malloc(sizeof(C));
    	_set(c, 10, 20);
    	printf("c: x=%d y=%d\n", c->x, c->y);
    	_set(c, ++(c->x), ++(c->y));
    	printf("c: x=%d y=%d\n", c->x, c->y);
    	free(c);
    	return EXIT_SUCCESS;
    
    }
    
    static void _set(C* c, int x, int y) {
    	assert(c);
    	c->x = x;
    	c->y = y;
    }
    

    Nachdem ich jetzt etwas an OMEMO gearbeitet habe, würde ich dann wieder an OX weitermachen. Die OMEMO Implementierung ist noch nicht perfekt, aber ich denke schon ganz gut. Ein großer Schritt wird dann die Version 0.3.0 von OMEMO umzusetzen,... vorher habe dann erst mal OX "fertig" machen.

    • chevron_right

      E-Mail mit vim in neomutt

      Stefan · Wednesday, 23 June, 2021 - 17:44 edit

    In neomutt nutze ich folgende Einstellung

    set edit_headers = yes
    set editor="vim -c 'startinsert' '+/^$'"
    

    Die Option edit_headers ermöglicht die Header-Informationen im vim anzupassen. Mit der editor gebe ich vim mit, dass ich direkt in den Insert-Modus von vim möchte und mit dem +/^$' überspringen wird den Header.

    In der .vimrc habe ich folgendes eingestellt.

    set complete+=kspell
    " Setup für E-Mail
    autocmd FileType mail set colorcolumn=76
    autocmd FileType mail set tw=75
    autocmd FileType mail set spell spelllang=de,en
    

    Im Insert-Modus lässt sich so mit STRG+P die Vervollständigungen der Rechtschreibung starten.

    #neomutt #vim

    • chevron_right

      I love Free Software

      Stefan · Sunday, 14 February, 2021 - 15:20

    Happy Free Software Day!

    #iloveFS

    • chevron_right

      Kalenderwoche 03/2021

      Stefan · Sunday, 24 January, 2021 - 14:15 edit · 1 minute

    Liebes Tagebuch,

    dies war eine ganz besonderes Wochenende.

    Buteo

    Ich habe egale in buteo unbenannt. Hierfür habe ich ein neues Repository angelegt und das Projekt auf Codeberg hochgeladen: buteo auf Codeberg.

    Excluding merges, 1 author has pushed 3 commits to main 
    and 3 commits to all branches. On main, 55 files have changed 
    and there have been 11302 additions and 2 deletions. 
    

    Damit mir nicht langweilig wird, habe ich mir mal 23 Issues angelegt. Feedback ist willkommen. Es gibt zwei tags die man sich gerne mal ansehen kann:

    • Kind: Question
    • Status: Help wanted

    Vulpes

    Jedes Projekt brauch einen Bot, oder? Die Idee an vulpes ist, dann man einen XMPP bot und XMPP Service bereitstellt. Aktuell kann der Bot ein "echo" zurückgeben - d.h. wenn man ihm schreibt sagt, schreibt er die Nachricht zurück. Außerdem kann er !date in einem MUC interpretieren und flüstert einem den aktuellen Tag und Uhrzeit.

    Lutjanus

    Das wird vielleicht das komplexeste an dem Projekt. Eine lib welche auf libstrophe aufbaut. D.h. da wo libstrophe aufhört, fängt es mit lutjanus an. Ein XMPP Framework welches dann - hoffentlich von Buteo und Vulpes verwendet wird. Mit der Beschreibung der API habe ich schon angefangen.

    Homepage

    Nicht schon, aber man findet die wichtigsten Informationen auf der Homepage https://buteo.codeberg.page/.

    Mitmachen?

    Was ich mir vorgenommen habe, wird vielleicht etwas aufwändig,.. aber wir haben ja Zeit. Wenn du Interesse hast, komm vorbei: xmpp:buteo@conference.anoxinon.me?join

    #XMPP #Vulpes #Buteo #Lutjanus

    • chevron_right

      Profanity 0.10.0 wurde freigegeben.

      Stefan · Saturday, 9 January, 2021 - 18:44

    Release 0.10.0 · profanity-im/profanity

    Six months and 270 commits after 0.9.5 we are happy to release 0.10.0.

    Profanity ist ein XMPP Client für die Console.

    #xmpp #profanity