Home » Bitcoin » BTCPay und LNBits auf Raspiblitz über Clearnet erreichen mit IP2Tor

BTCPay und LNBits auf Raspiblitz über Clearnet erreichen mit IP2Tor

Heute schauen wir uns in diesem Artikel an, wie wir BTCPay Server und eine LNBits Instanz auf dem Raspiblitz mit IP2Tor über das Clearnet erreichen können. Dabei richten wir auch gleich Nginx ein, und holen uns eine Zertifikat für die Domain.

Vorbereitungen

Das Tutorial basiert auf dem Artikel eigenen IP2Tor Server für den Rapsiblitz einrichten. Damit ihr einen groben Überblick habt, lesst euch den Artikel vorher durch, damit ihr vorbereitet seid, und die entsprechenden Bedienungen installiert habt. Die im Artikel beschriebene Einrichtung vom LND Dienst muss nicht eingerichtet werden, sie galt nur als Beispiel.

Installiert euch zudem den BTCPay Server, und / oder LNBits auf eurem Raspiblitz. Schreibt euch die Onion Adressen der jeweiligen Dienste auf. Die findet ihr im cli-menu unter den jeweiligen Einträgen:

Die Onion Addresse für LNBits findet ihr 2 Einträge unter BTCPay Server Info.

Domain einrichten

Damit ihr euren BTCPay Server über eine Domain via https erreichen könnt, müsst ihr eine Domain haben, die auf den Server zeigt, dass kann auch eine gratis DynDNS Addresse sein, falls ihr kein Geld ausgeben möchtet. Bei einem VPS Server mit statischer IP bietet es sich aber an, eine eigene fixe Domain zu kaufen, und diese auf den Server zeigen zu lassen. Das könnt ihr zum Beispiel bei https://strato.de, oder in der Schweiz bei https://hostpoint.ch tun.

Falls ihr kein Bock auf sowas habt, könnt ihr auch eine Domain bei uns kaufen. Wir erledigen die Einrichtung mit einem A-Record auch gerne gleich mit dazu.

In den DNS Records müsst ihr einen A-Record setzen, der auf die VPS IP zeigt. Dies sieht in der Regel bei Hostpoint zum Beispiel so aus:

Name: eure Subdomain, zum Beispiel btcpay oder btcpay-raspibliblitz, und für LNBits zum Beispiel einfach lnbits
TTL: Bleibt bei 300
IP-Adresse: die IP Adresse eurer VPS

Danach Record hinzufügen und bestätigen.

Einrichtung auf eurem IP2Tor Server

Ihr habt euch im bestenfall schon einen IP2Tor Server eingerichtet, falls nicht, lesst den oben verlinkten Beitrag, und richtet kurz Tor und Socat ein. Hier nochmals der Beitrag:

BTCPay Server IP2Tor Dienst einrichten

Erstellt euch einen neuen IP2TorDienst auf dem VPS mit:

sudo nano /etc/systemd/system/ip2tor_btcpay.service

und fügt folgenden Inhalt hinzu:

[Unit]
Description=Tor2IP Tunnel Service
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/bin/socat TCP4-LISTEN:23002,bind=0.0.0.0,fork SOCKS4A:localhost:eure_btcpay_onion_addresse.onion:80,socksport=9050
StandardOutput=journal

PrivateTmp=true
NoNewPrivileges=true
ProtectSystem=full
ProtectHome=true

[Install]
WantedBy=multi-user.target

Der Port ist frei wählbar, ihr könnt einen nehmen, der euch passt. Dieser muss dann einfach mit dem SystemD Dienst weiter übereinstimmen. Ersetzt den fett markierten Teil mit eurer BTCPay Onion Adresse die ihr euch von eurem Raspiblitz notiert habt. Speichert die Datei mit strg+o und beendet mit strg+x

Startet den Dienst mit neu mit sudo systemctl start ip2tor_btcpay.service und checkt den Dienst mit sudo systemctl status ip2tor_btcpay.service:

Mit sudo systemctl enable ip2tor_btcpay.service aktiviert ihr den Dienst bei Systemstart.

Nginx installieren, einrichten und SSL Zertifikat beantragen

Damit wir die Seite über unsere Domain erreichen können, müssen wir uns Nginx auf dem VPS installieren und einen Reverse Proxy einrichten, der die Anfrage an socat weiterleitet.

Installiert euch nginx mit

apt install nginx

Entfernt die Standard Konfigurationen mit

rm /etc/nginx/sites-available/default
rm /etc/nginx/sites-enabled/default

Fügt eine neue nginx Konfiguration hinzu mit:

nano /etc/nginx/sites-available/ip2tor_btcpay 

und fügt folgenden Eintrag ein:

server {
    server_name eure_domain.de;

    location / {
        proxy_pass http://127.0.0.1:23002;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Ersetzt den fett markierten Text mit eurer Domain die ihr bei eurem Hoster festgelegt habt und gebt den selben Port hier an!

Erstellt einen syslink in den sites-enabled Ordner:

ln -s /etc/nginx/sites-available/ip2tor_btcpay /etc/nginx/sites-enabled/

checkt ob alles korrekt ist mit dem Befehl nginx -t und falls ihr ein Syntax OK bekommt, ladet nginx mit sudo systemctl reload nginx neu.

SSL Zertifikat holen

Für die Domain brauchen wir ein SSL Zertifikat um eine gesicherte Verbindung herstellen zu können. Dafür müssen wir uns ein SSL-Zertifikat holen. Das geht am besten mit certbot. Damit lassen sich einfach Lets Encrypt Zertifikate beantragen, und direkt die entsprechende nginx Konfiguration anpassen.

Installiert euch certbot auf dem VPS mit:

apt install certbot python3-certbot-nginx

und beantragt anschliessend nach der Installation eine Zertifikat mit:

certbot --nginx -d eure_domain.de -m eure_mail_addresse

Ersetzt eure_domain.de mit eurer gekauftet Domain, und gebt eure Mail-Addresse an. Die Domain muss die selbe sein wie in der nginx Konfiguration, welche wir angelegt haben!

Ihr bekommt 2 Fragen von Letsencrypt. Einmal ob ihr mit den Vertragsbediengungen einverstanden seid, und einmal ob ihr Neuigkeiten von Letsencrypt erhalten wollt. Stimmt den Vertragsbediengungen hinzu, und nehmt den Newsletter an, oder nicht. Falls alles geklappt habt, bekommt ihr folgende Meldung:

Das SSL Zertifikat wird automatisch erneuert, falls es abläuft. Die Zertifikate sind in der Regel 90 Tage gültig.

Hat alles geklappt, könnt ihr nun euren BTCPay Server via Domain und https Verbindung aufrufen:

LNBits Server IP2Tor Dienst einrichten

Die Ablauf ist der selbe wie beim BTCPay Server. Natürlich müsst ihr auf eurem Hoster eine neue Subdomain erstellen, zum Beispiel lnbits.eure_domain.de. Erzeugt eine neuen LNBits Dienst auf dem VPS mit:

sudo nano /etc/systemd/system/ip2tor_lnbits.service

Fügt folgenden Inhalt hinzu:

[Unit]
Description=Tor2IP Tunnel Service
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/bin/socat TCP4-LISTEN:5002,bind=0.0.0.0,fork SOCKS4A:localhost:eure_lnbits_addresse.onion:80,socksport=9050
StandardOutput=journal

PrivateTmp=true
NoNewPrivileges=true
ProtectSystem=full
ProtectHome=true

[Install]
WantedBy=multi-user.target

Speichert die Datei ab, startet den Dienst mit sudo systemctl start ip2tor_lnbits.service und aktiviert den Dienst bei Systemstart mit sudo systemctl enable ip2tor_lnbits.service

Erstellt eine neue Nginx Kongifurationsdatei mit

nano /etc/nginx/sites-available/ip2tor_lnbits 

und fügt folgenden Inhalt hinzu:

server {
    server_name eure_lnbits_domain.de;

    location / {
        proxy_pass http://127.0.0.1:5002;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Achtet darauf dass ihr den selben Port nehmt, wie in eurer Nginx Konfiguration! Fügt einen neuen symlink hinzu mit:

ln -s /etc/nginx/sites-available/ip2tor_lnbits /etc/nginx/sites-enabled/

Testet die Konfiguration mit nginx -t und ladet Nginx neu mit systemctl reload nginx

Danach wieder das SSL Zertifikat beantragen mit:

certbot --nginx -d lnbits-eure_domain.de -m info@yourdevice.ch

Passt die fett markierten Einträge entsprechend an.

Anschliessend solltet ihr über die URL auf eure LNBits Instanz kommen:

Damit ihr auf euren Server Account kommt, fügt die Wallet Addresse am Ende der URL hinzu, die euch der Info-Screen des Raspiblitzes gibt:

Abschluss

Die Einrichtung von Tor-Diensten über socat, Tor und Nginx mit SSL-Zertifikat bietet eine sichere und anonyme Methode, um verborgene Dienste im Clearnet zugänglich zu machen. Dieser Prozess ermöglicht es euch, die Vorteile des Tor-Netzwerks zu nutzen, während ihr gleichzeitig die Benutzerfreundlichkeit und Sicherheit einer HTTPS-Verbindung gewährleistet. Ich hoffe der Artikel <BTCPay und LNBits auf Raspiblitz über Clearnet erreichen mit IP2Tor> hat euch gefallen. Habt ihr Fragen, hinterlasst sie in den Kommentaren!

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert