Sphinx Relay Chat App mit der eigenen Node verbinden
Vor kurzem habe ich angefangen etwas mit dem Sphinx Relay Chat zu experimentieren. Leider ist es aktuell so, dass dieser nicht mit Tor funktioniert. Dies ist insofern ungünstig, da viele insbesondere neue Nodes, standardmäßig Tor nutzen. Tatsächlich gibt es dazu auch ein Ticket auf github. Im besten Fall, installiert ihr Sphinx z.B. auf eurem Umbrel oder Raspiblitz, dann erhaltet ihr einen Zugangscode und den scant ihr als QR oder gebt diesen innerhalb der Desktop App ein. In meinem Fall ging es jedoch nach dem Klicken nicht weiter. Dies war verwunderlich, da ich sicher war, dass die Daten korrekt waren. Ich habe dann tcpdump gestartet um zu sehen, ob sich der Client überhaupt verbindet. Ich musste feststellen, dass es versucht eine Onion-Adresse zu erreichen. Dies verwunderte mich, da meine Node ebenfalls eine externe IP hat. Ausgabe von tcpdump
# tcpdump -n port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
16:11:12.441632 IP 10.0.2.15.60694 > 8.8.8.8.53: 43635+ [1au] A? aisopdjsap13alpdspv2zgbd4o5nvms6z93jdmasdsdveylqd.onion. (91)
16:11:12.473450 IP 8.8.8.8.53 > 10.0.2.15.60694: 43635 NXDomain 0/1/1 (166)
Um 16:11Uhr versuchte das System den DNServer von Google (8.8.8.8) auf Port 53 zu erreichen und hat nach der IP von dem System: aisopdjsap13alpdspv2zgbd4o5nvms6z93jdmasdsdveylqd.onion. gefragt. Google kennt keine Onion Adressen und quitiert das ganze mit der entsprechenden Fehlermeldung: NXDomain. Da mein System jedoch auch ohne TOR erreichbar war, musste ich nur irgendwie eine Möglichkeit finden Sphinx die korrekte Adresse unterzuschieben. Dazu habe ich die Datei /etc/hosts angepasst. Dies ist unter Linux sowie unter Windows möglich. Ich beschreibe hier den Weg für Linux.
Ihr braucht dazu eure externe (stabile) IP-Adresse, eine DynDNS sollte übrigens auch gehen und die Adresse die euer Client sucht, sprich den Onion Namen für eure lokale Sphinx installation. Diesen bekommt ihr, indem ihr einfach tcpdump auf dem System startet, auf dem ihr den Desktop Client nutzen wollt(siehe oben). Auf der Linux-Kommandozeile gebt ihr dann folgendes kund:
# echo "77.88.99.00 aisopdjsap13alpdspv2zgbd4o5nvms6z93jdmasdsdveylqd.onion" >> /etc/hosts
Die IP 77.88.99.00 ist nur eine Beispiel-Adresse, diese ersetzt ihr natürlich mit eurer eigenen oder dem DynDNS Namen. Das gleiche gilt für die Onion-Adresse. Achtet bitte darauf das ihr zwei >> nutzt, ansonsten überschreibt ihr die Datei “/etc/hosts”. Außerdem müsst ihr eure Firewall so konfigurieren, dass der Port 3300 erreichbar ist, unter diesem ist nämlich der Relay Server zu erreichen. Ich empfehle hier, dass ihr eure abgehende IP freigebt. Wenn ihr alles Ordnungsgemäß eingerichtet habt, könnt ihr Euch nun problemlos mit eurer Node verbinden und lustig loschatten.
!Warnung!
Sphinx-Relay und andere LN Software ist noch nicht abgehangen und nur teilweise auf Schwachstellen geprüft worden. Ein einfacher Blick in eine Umbrel Installation zeigt, dass Sphinx das admin macaroon nutzt um Befehle auszuführen. Mit diesen Privilegien können Satoshis versendet werden. Dies solltet ihr immer im Hinterkopf behalten und eine eigene Risikoanalyse machen, wenn ihr mit neuen Technologien spielt. Auch kann die Freigabe von Port 3300 mehr Lücken öffnen als man bisher weiß, daher ist dies ebenfalls mit Vorsicht zu genießen und im Zweifelsfall immer nur auf eure aktuelle Provider IP einzuschränken.
Happy Chatting!