How-to: Threema Gateway auf OS X (Python)

Stelle deine Frage öffentlich an die Threema-Forum-Community - über 4.600 Mitglieder helfen dir weiter. > Frage stellen <
  • Da ich mittlerweile eine eigene End-to-End Threema-ID habe, möchte ich euch in einem How-to zeigen, wie sich das Gateway auf OS X 10.11 mit dem Python-SDK nutzen lässt.

    Vorbereitungen

    Ordner für die Schlüssel anlegen:

    Code
    cd ~
    mkdir Threema-Gateway
    cd Threema-Gateway

    Hinweis: die Tilde wird mit alt+n eingegeben.

    Installationen

    Homebrew installieren

    Code
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    Installation testen:

    Code
    brew doctor

    Sollte die Ausgabe anders sein als

    Zitat


    Your system is ready to brew.

    so befolgt die Anweisungen.

    Hinweis: Homebrew und die darüber installierte Software könnt ihr später wie folgt aktualisieren:

    Code
    brew update
    brew upgrade

    libsodium und Python 3 installieren

    Code
    brew install libsodium python3

    Hinweis: In den ganzen Informationen, die nun im Terminal ausgegeben werden, findet man auch diese:

    Zitat


    Pip and setuptools have been installed. To update them
    pip3 install --upgrade pip setuptools

    You can install Python packages with
    pip3 install <package>

    They will install into the site-package directory
    /usr/local/lib/python3.5/site-packages

    Links zu Python Launcher 3.app und IDLE 3.app im Ordner /Applications/ anlegen:

    Code
    brew linkapps python3

    Die Eingabe von

    Code
    python3 --version

    sollte nun etwas anzeigen wie

    Zitat


    Python 3.5.1

    Mit dem Kommando

    Code
    ll /usr/local/Cellar/libsodium/

    kann die installierte Version von libsodium ermittelt werden (z.B. "1.0.8").

    Python 3-Tools aktualisieren

    Code
    pip3 install --upgrade pip setuptools

    Threema Gateway Python-SDK installieren

    Code
    pip3 install git+https://github.com/lgrahl/threema-msgapi-sdk-python.git

    Die Installation ist damit abgeschlossen - die Anwendung threema-gateway wurde im Verzeichnis /usr/local/bin/ abgelegt.

    Die Abfrage des installierten Python-SDK für das Gateway über

    Code
    threema-gateway version

    sollte etwas zeigen wie

    Zitat


    Version: 2.1.6
    Feature Level: 3

    Schlüssel erzeugen

    Code
    threema-gateway generate privateKey.txt publicKey.txt

    Es wird die Datei privateKey.txt für den privaten, publicKey.txt für den öffentlichen Schlüssel erzeugt.

    Die Datei mit dem privaten Schlüssel verrechten:

    Code
    chmod 400 privateKey.txt

    Threema-ID beantragen

    Über https://gateway.threema.ch/de/signup eine eigene Threema-ID beantragen. Dafür den öffentlichen Schlüssel aus der Datei publicKey.txt verwenden.

    Nachricht versenden

    Wurde eure Threema-ID eingerichtet, so könnt ihr nun eine Nachricht darüber versenden - hier als Beispiel der Versand mit einer End-to-End ID:

    Code
    echo "Angekommen? :-)" | threema-gateway send_e2e <Threema-ID des Empfängers> <deine beantragte Threema-ID> <Secret> ~/Threema-Gateway/privateKey.txt

    <Threema-ID des Empfängers>: die 8-stellige ID des Empängers
    <deine beantragte Threema-ID>: deine 8-stellige ID, beginnend mit dem Stern (*)
    <Secret>: Dein privates Secret, welches dir nach der Anmeldung unter https://gateway.threema.ch/de/id angezeigt wird

    Damit sollte der angegebene Empfänger eine Nachricht von dir bekommen.

    Verfügbares Guthaben abfragen

    Code
    threema-gateway credits <deine beantragte Threema-ID> <Secret>


    Viel Spaß und viel Glück beim Einrichten :D Über eine Bewertung würde ich mich freuen, danke.

    Einmal editiert, zuletzt von mibere (1. März 2016 um 18:01)


  • Hinweis: die Tilde wird mit alt+n eingegeben.

    Geht beim Mac nicht Alt Gr & +?

    Du nutzt immer

    Code
    python3 /usr/local/bin/threema-gateway


    Geht nicht?

    Code
    threema-gateway


    Denn das sollte es.

    (Um Verwirrung zu vermeiden: Ich arbeite bei Threema, spreche hier aber für mich.)

    Einmal editiert, zuletzt von Chris (1. März 2016 um 13:43)

  • Unter Windows wird %PATH% automatisch um den Pfad, in dem Datei threema-gateway liegt, erweitert. Wie es sich unter OS X verhält, muss ich später, nach Feierabend, prüfen.

    /EDIT: unter OS X lässt sich die Anwendung auch einfach mit threema-gateway verwenden, z.B. threema-gateway --help


    @"lgrahl": wo ich übrigens kurz Schwierigkeiten hatte war bei der Angabe des Private Key bei threema-gateway send_e2e. Ich hatte zuerst den Key aus der privateKey.txt (den Anteil hinter dem Doppelpunkt) angegeben. Dieser wurde jedoch mit der Meldung Invalid key format abgewiesen. Daraufhin hatte ich die Datei als Parameter angeben. Wenn ich die Datei nicht angeben möchte, in welchem Format ist der Private Key einzugeben?

    Einmal editiert, zuletzt von mibere (1. März 2016 um 18:02)


  • /EDIT: unter OS X lässt sich die Anwendung auch einfach mit threema-gateway verwenden, z.B. threema-gateway --help

    Perfekt. Unter Windows würde ich fast vermuten, dass es nicht geht. Schon ausprobiert?


    @"lgrahl": wo ich übrigens kurz Schwierigkeiten hatte war bei der Angabe des Private Key bei threema-gateway send_e2e. Ich hatte zuerst den Key aus der privateKey.txt (den Anteil hinter dem Doppelpunkt) angegeben. Dieser wurde jedoch mit der Meldung Invalid key format abgewiesen. Daraufhin hatte ich die Datei als Parameter angeben. Wenn ich die Datei nicht angeben möchte, in welchem Format ist der Private Key einzugeben?

    Einfach den Inhalt der Datei, also mit dem Präfix.

    (Um Verwirrung zu vermeiden: Ich arbeite bei Threema, spreche hier aber für mich.)