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

Stelle deine Frage öffentlich an die Threema-Forum-Community - über 3.000 Mitglieder helfen dir weiter. Los gehts!
Unterstützung von offizieller Seite erhältst du direkt bei Threema: Zum offiziellen Threema-Support
  • 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:



    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.

  • 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?


  • /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.