g1

naos 2019/04/07 21:34

Ğ1 Duniter - Monnaie Libre

testé sur Debian Stretch 9.8

“Ğ1” prononcé “june”, le “Ğ” s'écrit avec Ctrl+Shift+u + 011E

Bref résumé sur l'utilisation de cette monnaie

Ğ1 est une monnaie numérique qui fonctionne en mode décentralisé (vous pouvez créer un compte sur de nombreux serveurs). Une fois votre compte créé, vous avez besoin d'au moins 5 certifications pour être reconnu comme "membre", il faut donc rencontrer des gens (cf "Groupes Locaux" de https://forum.monnaie-libre.fr) Votre compte est gérable avec le site https://g1.duniter.fr ou sur smartphone avec l'application Cesium. Gannonce (https://gannonce.duniter.org) et Gchange (https://www.gchange.fr) sont les principales plateformes pour utiliser vos Ğ1.

Les instructions ci-dessous concernent l'installation de "Duniter-server" qui est le logiciel sur les serveurs fonctionnant en P2P Il est impératif de lire la licence avant de commencer l'installation: https://duniter.org/fr/wiki/licence-g1/

Plus d'informations sur cette monnaie ici: https://duniter.org/fr/comprendre/

https://git.duniter.org/nodes/typescript/duniter/tags

wget https://git.duniter.org/nodes/typescript/duniter/-/jobs/19802/artifacts/raw/work/bin/duniter-server-v1.7.16-linux-x64.deb
dpkg -i duniter-server-v1.7.16-linux-x64.deb
vim /etc/apache2/sites-available/g1.conf
<VirtualHost *:80>
   ServerName VOTREDOMAINE.TLD
 
   ErrorLog ${APACHE_LOG_DIR}/g1.error.log
   CustomLog ${APACHE_LOG_DIR}/g1.access.log combined
 
   RewriteEngine on
   RewriteCond %{SERVER_PORT} !^443$
   RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]
</VirtualHost>
 
<VirtualHost *:443>
   ServerName VOTREDOMAINE.TLD
 
   ErrorLog ${APACHE_LOG_DIR}/g1.error.log
   CustomLog ${APACHE_LOG_DIR}/g1.access.log combined
 
    SSLEngine on
    SSLCertificateFile      /etc/letsencrypt/live/VOTREDOMAINE.TLD/fullchain.pem
    SSLCertificateKeyFile   /etc/letsencrypt/live/VOTREDOMAINE.TLD/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/VOTREDOMAINE.TLD/chain.pem
 
    Header always set Strict-Transport-Security "max-age=31536001; includeSubDomains; preload"
 
    SSLProtocol             all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite          ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
    SSLHonorCipherOrder     on
    SSLCompression          off
    SSLSessionTickets       off
 
    Header always set X-Xss-Protection "1; mode=block"
    Header always set X-Frame-Options "DENY"
    Header always set X-Content-Type-Options "nosniff"
    Header always set Referrer-Policy same-origin
    Header set X-Forwarded-Proto "https"
    Header unset If-Modified-Since
    Header unset If-None-Match
    Header always set Content-Security-Policy "default-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; img-src 'self' data: https:; media-src 'self' https:; style-src 'self'; font-src 'self'; script-src 'self'; connect-src 'self' ws://VOTREDOMAINE.TLD; upgrade-insecure-requests;"
 
        <IfModule mod_rewrite.c>
        RewriteEngine On
 
        RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR]
        RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
        RewriteCond %{REQUEST_URI}  ^/ws2p            [NC]
        RewriteRule .* ws://localhost:20901%{REQUEST_URI} [P,QSA,L]
 
        RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR]
        RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
        RewriteCond %{REQUEST_URI}  ^/ws            [NC]
        RewriteRule .* ws://VOTREIPPUBLIQUE:10902%{REQUEST_URI} [P,QSA,L]
        </IfModule>
 
 
    ProxyPreservehost On
    ProxyRequests off
 
    ProxyPass /ws2p http://127.0.0.1:20901
    ProxyPassReverse /ws2p http://127.0.0.1:20901
 
    ProxyPass / http://VOTREIPPUBLIQUE:10902/
    ProxyPassReverse / http://VOTREIPPUBLIQUE:10902/
 
</VirtualHost>
a2ensite g1.conf
apachectl graceful
certbot --apache certonly --rsa-key-size 2048 -d VOTREDOMAINE.TLD
apachectl graceful
sudo -u duniter duniter wizard network
? IPv4 interface enp7s0 192.168.XXX.XXX
? IPv6 interface None
? Port 10902
? Remote IPv4 Enter new one
? Remote IPv4 VOTREIPPUBLIQUE
? Remote port 10902
? Does this server has a DNS name? Yes
? DNS name: VOTREDOMAINE.TLD
iptables -t filter -A INPUT -p tcp --dport 20901 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 10902 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 20901 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 10902 -j ACCEPT
bash -c "iptables-save > /etc/iptables/rules.v4"

Ports TCP 20901 et 10902

sudo -u duniter duniter config --ws2p-public
sudo -u duniter duniter config --ws2p-noupnp --ws2p-port 20901 --ws2p-host 127.0.0.1 --ws2p-remote-port 443 --ws2p-remote-host VOTREDOMAINE.TLD
sudo -u duniter duniter config --ws2p-remote-path /ws2p
sudo -u duniter duniter sync g1.cgeek.fr
sudo -u duniter duniter direct_webstart

Une fois votre compte créé sur le site https://g1.duniter.fr ou sur smartphone avec l'application Cesium et obtenu les 5 certifications vous allez relancer Duniter avec vos identifiants de compte. Ainsi votre serveur passera du fonctionnement “mirroir” en mode “membre” permettant de calculer de nouveaaux blocs.

sudo -u duniter duniter direct_webstart --keyprompt

L'accès à l'interface web se fait par tunnel SSH (NE SURTOUT PAS rendre accessible l'interface web depuis internet)

ssh -CL 9220:localhost:9220 VOTREUTILISATEUR@VOTREDOMAINE.TLD -p VOTREPORT

http://127.0.0.1:9220 Interface Web Duniter

S'enregistrer sur https://git.duniter.org, réglez les paramètres de notification par email.

Sources de l'article

  • g1.txt
  • Dernière modification: 2019/04/08 22:42
  • par naos