Installer Ride The Lightning sur Ubuntu

1
1547

Ride the lightning, RTL en abrégé, est une application web facilitant l’administration des noeuds lightning.

Dans ce tutoriel nous allons voir comment installer RTL sur Ubuntu, à côté de votre noeud préalablement configuré.

1. Téléchargement et installation de RTL

Pour commencer, allez chercher la dernière release de RTL sur github.
Suivons ensuite la procédure d’installation.

Commencez par importer la clé PGP de suheb :

curl https://keybase.io/suheb/pgp_keys.asc | gpg --import

Téléchargez RTL :

cd ~
wget https://github.com/Ride-The-Lightning/RTL/archive/v0.10.0.tar.gz
wget https://github.com/Ride-The-Lightning/RTL/releases/download/v0.10.0/v0.10.0.tar.gz.asc

Vérifiez le fichier :

gpg --verify v0.10.0.tar.gz.asc v0.10.0.tar.gz

Le résultat de la commande précédente doit être :

gpg: Signature made Mon 21 Dec 2020 01:06:30 AM CET
gpg:                using RSA key 3E9BD4436C288039CA827A9200C9E2BC2E45666F
gpg: Good signature from "saubyk (added uid) <39208279+saubyk@users.noreply.github.com>" [unknown]
gpg:                 aka "Suheb <39208279+saubyk@users.noreply.github.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 3E9B D443 6C28 8039 CA82  7A92 00C9 E2BC 2E45 666F

Décompressez le fichier :

tar -xvf v0.10.0.tar.gz
mv RTL-0.10.0 rtl
cd rtl

Créez le fichier de configuration :

mv sample-RTL-Config.json RTL-Config.json

Créez un nouveau password, puis éditez la configuration comme ceci :

nano RTL-Config.json
{
  "multiPass": "votrepasswordici",
  "port": "3000",
  "defaultNodeIndex": 1,
  "SSO": {
    "rtlSSO": 0,
    "rtlCookiePath": "",
    "logoutRedirectLink": ""
  },
  "nodes": [
    {
      "index": 1,
      "lnNode": "Node 1",
      "lnImplementation": "LND",
      "Authentication": {
        "macaroonPath": "/home/bitcoin/.lnd/data/chain/bitcoin/mainnet",
        "configPath": "/home/bitcoin/.lnd/lnd.conf",
        "swapMacaroonPath": ""
      },
      "Settings": {
        "userPersona": "MERCHANT",
        "themeMode": "DAY",
        "themeColor": "PURPLE",
        "channelBackupPath": "/home/bitcoin/backup/rtl",
        "enableLogging": true,
        "lnServerUrl": "https://localhost:8080",
        "swapServerUrl": "https://localhost:8081",
        "fiatConversion": false
      }
    }
  ]
}

Installez RTL et patientez pendant le téléchargement de tous les node_modules pour Angular.

npm install --only=prod

2. Création d’un service RTL

RTL est maintenant installé, pour qu’il se lance automatiquement quand notre système est allumé, nous allons créer un service :

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

Entrez :

[Unit]
Description=RTL daemon
Wants=lnd.service
After=lnd.service

[Service]
ExecStart=/usr/bin/node /home/bitcoin/rtl/rtl
User=bitcoin
Restart=always
TimeoutSec=120
RestartSec=30

[Install]
WantedBy=multi-user.target

Démarrez le service :

sudo systemctl daemon-reload
sudo systemctl start rtl

Vérifiez que le service est bien lancé :

sudo systemctl status rtl

3. Accès sécurisé

RTL est maintenant opérationnel.

Si vous avez configuré un firewall sur Ubuntu, il faut ouvrir le port 3000. Pour cela deux solutions :
Soit vous l’autorisez pour tout le monde (réseau privé par exemple) :

sudo ufw allow 3000

Soit vous l’autorisez uniquement pour votre adresse ip (ici 11.12.13.14) :

sudo ufw allow from 11.12.13.14 to any port 3000

Vérifiez maintenant que vous arrivez bien à accéder à RTL. Pour cela ouvrez votre navigateur préféré et allez sur l’url suivante : http://localhost:3000 ou bien http://ip.de.la.machine:3000 si vous avez installé votre noeud sur une autre machine.

Comme vous le voyez, le protocole utilisé pour accéder à RTL est http. Si votre noeud n’est pas dans votre réseau local, il est très important de configurer un accès via Tor, ou bien en https, pour que la communication soit chiffrée. C’est la première option que nous allons voir ensemble.

Pour commencer, si vous ne l’avez pas déjà, installez Tor Browser sur votre pc.

Nous allons maintenant créer un Hidden Service Tor avec un cookie d’authentification (password) pour plus de sécurité.

Editez le fichier de configuration torcc :

sudo nano /usr/share/tor/tor-service-defaults-torrc

Ajoutez les 4 lignes suivantes à la fin du fichier :

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServiceVersion 2
HiddenServiceAuthorizeClient stealth mydevice
HiddenServicePort 3000 127.0.0.1:3000

Redémarrez Tor :

sudo /etc/init.d/tor restart

Notre Hidden Service, redirigeant sur la page web de RTL, est maintenant opérationnel. Pour le vérifier, et récupérer les informations sur celui-ci, entrez :

sudo cat /var/lib/tor/hidden_service/hostname

Le résultat de cette commande doit être de la forme suivante :

1234567890.onion abcdefg  # client: mydevice

La première valeur est l’adresse onion, et la 2ème le cookie.

Le service étant protégé par un cookie, il va falloir éditer le fichier de configuration de Tor Browser avant de pouvoir y accéder. Pour cela ouvrez le répertoire d’installation de Tor Browser et ouvrez le fichier torcc à l’emplacement suivant :
Tor Browser\Browser\TorBrowser\Data\Tor\torrc.

Ouvrez le fichier avec un éditeur de texte, et ajoutez la ligne suivante à la fin du fichier, en utilisant les données de la commande précédente :

HidServAuth 1234567890.onion abcdefg mydevice

Ouvez maintenant Tor Browser et accédez à votre service, en prenant l’adresse onion, et en ajoutant le port 3000 :

1234567890.onion:3000

Vous devriez voir la page de login. Entrez maintenant le password que vous aviez mis dans le fichier de configuration de RTL.

Vous avez maintenant le pouvoir de gérer votre noeud très facilement en quelques clics de souris !

Mot de la fin

N’hésitez pas à ouvrir un channel vers le noeud bitcoin.fr 😉

Un prochain article sur la gestion des canaux vous intéresse ? N’hésitez pas à commenter ou me le faire savoir sur twitter 🙂