NEWS
Iobroker und Signal Messenger
-
@paul53 said in Iobroker und Signal Messenger:
@peppino sagt:
Weg skzzieren wie sich das implementieren lässt?
Normalerweise als zusätzliches NPM-Modul in die Konfiguration der Javascript-Instanz eintragen und speichern. Dabei wird das Modul automatisch installiert.
Der Aufruf von
const Signal = require('libsignal-service');
liefert allerdings Fehler:
Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../libsignal-service'
Wurde offenbar nicht richtig installiert ?
Wahrscheinlich wegen:
(18101) WARN deprecated mkdirp@0.5.4: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) (18101) WARN deprecated core-js@2.6.11: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-
Bei FHEM gibt es ein Modul welches über DBUS und signal-cli arbeitet.
-
Hier möchte ich euch meinen Lösungsansatz zeigen, um über Scripts in ioBroker Nachrichten an den Signal Messenger zu senden.
Ziel: Signal Messages mittels dem ioBroker exec Befehl über das Kommandozeilentool signal-cli versenden
- Vorbereitung (Java wird benötigt)
sudo apt install openjdk-13-jre-headless
- Downloaden und Installieren
cd /home/iobroker/ sudo wget https://github.com/AsamK/signal-cli/releases/download/v0.6.7/signal-cli-0.6.7.tar.gz sudo tar -xvf signal-cli-0.6.7.tar.gz
- Besitzer ändern (iobroker führt exec Befehle als Linux user iobroker aus.
sudo chown -R iobroker:iobroker ./signal-cli-0.6.7/ cd ./signal-cli-0.6.7/bin/
- Rufnummer registrieren. Es gibt 2 Möglichkeiten: SMS (Standard) oder Anruf (falls man eine VOIP Hausnummer verwenden möchte. Bei Angabe --voice erhält man wenige Sekunden später einen Anruf an die angegebene Nummer mit einer automatischen Computeransage eines 7-stelligen numerischen Aktivierungscodes auf Englisch. (P.s. der Code wird nochmal wiederholt)
SMS: sudo -u iobroker ./signal-cli -u +49111 register VOICE: sudo -u iobroker ./signal-cli -u +49111 register --voice
- Signalnummer mit dem erhaltenen CODE aktivieren
sudo -u iobroker ./signal-cli -u +49111 verify CODE
Bemerkung: Falls sich jemand fragt warum ich alle Befehle als sudo -u iobroker ausführe: bei der Verifizierung der Signalnummer werden die Einstellungen im Homeverzeichnis des Benutzers gespeichert, der den Befehl ausführt. Sollte man als sudo die Verifizierung ausführen und später als iobroker eine Nachricht versenden wollen, antwortet das Signal-Skript mit „User is not registered“. Die Verifizierungsdaten werden dabei im HOME-Verzeichnis des Benutzers unter
.local/share/signal-cli gespeichert. Ein nachträgliches Verschieben der Daten in das Verzeichnis des iobroker Benutzers ist ebenso möglich. Das Ändern des Besitzerusers (chown) dabei nicht vergessen.- Testen:
Sendernummer und Empfängernummer mit Ländervorwahl im Format +491111 eintragen
sudo -u iobroker ./signal-cli -u SENDERNUMMER send -m „Testtext“ EMPFÄNGERNUMMER
-
Exec Befehl unter INSTANZEN – Javascript -> Einstellungen freischalten
-
Nachrichten versenden in Blockly/Javascript mittels Exec Befehl testen
/home/iobroker/signal-cli-0.6.7/bin/signal-cli -u SENDERNR send -m “Mein Testtext” EMPFÄNGERNR
Bemerkung: Gebt den kompletten Pfad zum Script an und da die Javascript Instanz alle exec Befehle als User iobroker ausführt, OHNE sudo -u iobroker.
Als Erfolgs/Fehlersuche könnt Ihr euch 2 Variablen error und result anlegen. Geht der Befehl problemlos durch bekommt Ihr als result eine ca. 13-stellige Nummer zurück. Habt Ihr einen Fehler bleibt result leer und error wird gefüllt. -
@peppino
Das klingt mir nach einem brauchbaren Modul. da ist auch die Registrierung beschrieben. Die ist nämlich in Signal nicht ganz so einfach - der Sicherheit wegen:
https://github.com/throneless-tech/libsignal-service-javascriptnpm install --save @throneless/libsignal-service
Ich bin erst am Anfang meiner Karriere mit dem ioBroker und noch beim Aufsetzen des Systems nach meinen Wünschen. Aber da die Anbindung von Signal auch draufsteht, werde ich mich daran einmal versuchen.
Aber eventuell versucht sich einer mit mehr Erfahrung in ioBroker und Javascript an dem Thema?
Lg,
Ch. -
@peppino
Für welche Umsetzung hast du dich entschieden? -
@podex
Hallo,Habe es so ähnlich wie von @blurry oben beschrieben gemacht, nur halt über node-red.
Versende nur einfache Sachen und empfange auch nur einfache Befehle durch String zerlegen.Ein Adapter wie der Telegram-Adpater wäre fein.
Da "Signal" jetzt eh in aller Munde ist, vielleicht entwickelt sich da noch etwas.Joe
-
Es wird zumindest schon an einem Adapter gearbeitet:
https://github.com/ioBroker/AdapterRequests/issues/527 -
@tobi-welke
Arbeiten ist gut gesagt es ist "nur" ein "Adapter Request" -
Hallo Signal-Freunde,
ich würde es auch SEHR SEHR begrüßen (wie auch schon meine "Vorschreiber" ) einen Adapter für SIGNAL zu bekommen.
Wenn noch Tester gesucht werden, ich wäre gerne bereit mitzuwirken. Wie schon Snowden schrieb, ist Signal der einzige "vernünftige" Messenger.
In Sachen Datenschutz ist Signal für seine Ende-zu-Ende-Verschlüsselung bekannt und wird daher häufig von Sicherheits- und Datenschutzexperten empfohlen. Die App selbst soll dank mehrerer Sicherheitsmerkmalen keinerlei Informationen darüber haben, wer wann mit wem worüber chattet.
cu perry
Ps: an welcher Stelle kann so ein Wunsch mit mehr "Nachdruck" kundgetan werden ??(siehe auch:)
Elon Musk & Snowden sind sich einig: Das ist die einzig wahre WhatsApp-Alternative
https://www.inside-digital.de/news/whatsapp-alternative-musk-snowden50-Millionen-Nutzer-Meilenstein erreicht: WhatsApp-Alternative Signal bricht alle Rekorde
https://www.chip.de/news/Signal-Messenger-Meilenstein-fuer-WhatsApp-Alternative_92113144.html -
@perry said in Iobroker und Signal Messenger:
In Sachen Datenschutz ist Signal für seine Ende-zu-Ende-Verschlüsselung bekannt
kannst du dann auch mit Gruppen arbeiten, bzw könnte ioBroker dann überhaut "eingreifen"?
Oder ist das ganze "zu sicher"? -
@homoran said in Iobroker und Signal Messenger:
kannst du dann auch mit Gruppen arbeiten, bzw könnte ioBroker dann überhaut "eingreifen"?
Oder ist das ganze "zu sicher"?hmm ... das übersteigt mein Wissen, aber ... wenn du deinen Account in Signal eingerichtet hast, kannst du es mit Gruppen durchaus verknüpfen ... Gruppenanrufe (seit kurzem auch mit Video) sind jederzeit möglich ... eine parallele Installation, also auf Handy und auf deinem Tablet und/oder auf deinem PC sind möglich
-
@perry said in Iobroker und Signal Messenger:
wenn du deinen Account in Signal eingerichtet hast, kannst du es mit Gruppen durchaus verknüpfen
ok, wenn ich mich richtig erinnere sind diese bei Telegram dann nicht Ende zu Ende verschlüsselt, ebenso kann man bei Telegram Ende zu Ende verschlüsselte Nachrichten nur auf einem Endgerät abrufen
-
@homoran said in Iobroker und Signal Messenger:
bei Telegram dann nicht Ende zu Ende verschlüsselt
Stimmt. Signal ist da zum Glück anders.
-
@blurry Sehr gut beschrieben. Funktioniert super bei mir, danke!
-
@perry said in Iobroker und Signal Messenger:
Wie schon Snowden schrieb, ist Signal der einzige "vernünftige" Messenger.
Mit solchen aussagen wäre ich vorsichtig Matrix z.b. is potentiell noch besser im Datenschutz und auch in anderen Dingen
-
Ich wäre für 3 Messenger:
WhatsApp für die "mir doch Egal" Fraktion,
Telegram für die Gruppen und API Nerds,
Signal für die " mir nicht Egal " Fraktion.Damit bräuchte man auch keinen Adapter für Signal.
-
Danke blurry!
Aber: Ich habe heute versucht, nach der Anleitung von "blurry" Signal Nachrichten zu versenden. Bei mir hat es aber nicht mehr funktioniert wie beschrieben. Zum einen musste ich das JDK anders installieren und dann gibt es jetzt bei der Telefonnumernregistrierung bei Signal eine "captcha" Abfrage. Das ganze funktioniert dann erst mit "signal-cli-0.6.12". Bei höhere Versionen klappt dann was mit Java wieder nicht. Auch jetzt bekomme ich noch eine Warnmeldung nach dem Senden der Nachrichten. Es funktioniert aber.Ich poste mal meine Anleitung, wie ich vorgegangen bin. Ich hoffe das hilft dem einen oder anderen Weiter
-
sudo apt install default-jdk
-
cd /home/iobroker/
-
sudo wget https://github.com/AsamK/signal-cli/releases/download/v0.6.12/signal-cli-0.6.12.tar.gz
-
sudo tar -xvf signal-cli-0.6.12.tar.gz
-
sudo chown -R iobroker:iobroker ./signal-cli-0.6.12/
-
cd ./signal-cli-0.6.12/bin/
-
captcha generieren:
https://signalcaptchas.org/registration/generate.html
Auf der Seite die "Entwicklertools" öffnen, den captcha durchführen und die Antwort der Seite anzeigen.
Alles was nach "signalcaptcha://" steht, ist der Captcha-Token. Das ist ein sehr langer String.
SMS:
sudo -u iobroker ./signal-cli -u +49xxx register --captchaVOICE:
sudo -u iobroker ./signal-cli -u +49xxx register --captcha token --voiceIch habe es mit "voice" durchgeführt und wurde angerufen. Die Ansage war in Deutsch und wurde 3 mal wiederholt.
Es war ein 6-Stelliger Zahlencode. Diesen anstelle von "CODE" eintragen.-
sudo -u iobroker ./signal-cli -u +49xxx verify CODE
-
sudo -u iobroker ./signal-cli -u SENDERNUMMER send -m „Testtext“ EMPFÄNGERNUMMER
-
Im ioBroker den "Exec Befehl" unter INSTANZEN – Javascript -> Einstellungen freischalten
-
Den folgenden Text dem "exec" mitgeben:
/home/iobroker/signal-cli-0.6.7/bin/signal-cli -u SENDERNR send -m “Mein Testtext” EMPFÄNGERNR
Gruß
FlorianP.S. Für alle die noch ein Bild als Attachment mit senden möchten ( IP Kamera ) , können noch ein -a /pfad/zum/bild.jpg hinter die Telefonnumer des Empfängers hängen. Dann kann man sogar Bilder mit übertragen
-
-
Ich bin deiner Anleitung gefolgt, jedoch funktioniert das senden von Nachrichten, mit dem exec Befehl bei mir nicht.
Ich bin noch relativ unerfahren, deshalb weiß ich persönlich nicht woran das liegen kann. Vielleicht wisst ihr mir zu helfen.
Ich habe es auch mit /home/iobroker/signal-cli-0.6.12/bin/signal-cli -u SENDERNR send -m “Mein Testtext” EMPFÄNGERNR versucht,
da die File bei mir so heißt auch das hat nicht geholfen. -
Hast Du in der JavaScript Instanz das Senden der "exec" Befehle angehakt?
Kannst Du die Zeile, die Du mit exec Aufrufst im der Console in "/ home/iobroker" ausführen?
Ich habe seit gerade das Problem, das bei mir wieder "Autorization failed!" als Rückmeldung kommt. Ich denke die haben gemerkt, das dort ein Bot sendet Ich hoffe ich bekomme das wieder hin.
EDIT:
Bei mir gehts jetzt wieder. Ich habe es mit folgendem wieder hinbekommen:signal-cli -u SENDERNUMMER updateAccount
Gruß
Florian -
Ja, habe es angehackt.
Folgenden command hatte ich in meinem exec: /home/iobroker/signal-cli-0.6.12/bin/signal-cli -u +49XXXXXX send -m “Mein Testtext” +49XXXXX
Sobald ich diesen ausführe bekomme ich nur eine JDK Meldung bezüglich Stackguard (habe im Netz recherchiert, bin aber zu keiner Lösung das zu fixen gestoßen), sowie folgende Meldung von Signal: "Failed to send message: No valid characters found".Also habe ich die Nachricht von "mein Testtext" zu "meinTesttext" geändert was folgende Meldung gab: "Autorization failed!"
Ich habe den command eingetippt den du in deinem EDIT verwendet hast, jedoch bekomme ich dann gemeldet, dass meine Nummer nicht registriert sei.
Also habe ich mich erneut drüber gemacht meine Nummer zu registrtieren mit Captcha und Co, geändert hat dies nicht es kommt immer nur "Autorization failed!" oder eben "User is not registered". -
@derplanlose
Da ich auch nur die Anleitung von blurry abgearbeitet habe und dann im Netz die captcha Sache gegoogelt habe bin ich da jetzt leider auch überfragt.Gruß
Florian