**Motivations:** - Consigner l'état actuel du dépôt (cron, service-login-verify, website-skeleton, userwallet, docs). - Centraliser les modifications en attente. **Root causes:** - N/A (commit groupé). **Correctifs:** - N/A. **Evolutions:** - Cron quotidien restart services : script local sans SSH, systemd (bitcoin-signet, bitcoin, APIs, dashboard, userwallet, website-skeleton) + Docker (mempool, bitcoin-signet-instance). - Feature cron-restart-services-local : documentation et règle scripts locaux / pas d'SSH. - service-login-verify : module vérification login (buildAllowedPubkeys, verifyLoginProof, nonceCache). - website-skeleton : app iframe UserWallet, config, systemd unit. - userwallet : collectSignatures, relay. - docs : DOMAINS_AND_PORTS, README, WEBSITE_SKELETON ; features userwallet-contrat-login, timeouts-backoff, service-login-verify. **Pages affectées:** - data/restart-services-cron.sh, data/restart-services.log, data/sync-utxos.log - features/cron-restart-services-local.md, features/service-login-verify.md, features/userwallet-contrat-login-reste-a-faire.md, features/userwallet-timeouts-backoff.md - docs/DOMAINS_AND_PORTS.md, docs/README.md, docs/WEBSITE_SKELETON.md - configure-nginx-proxy.sh - service-login-verify/ (src, dist, node_modules) - userwallet/src/utils/collectSignatures.ts, userwallet/src/utils/relay.ts - website-skeleton/
6.8 KiB
Domaines et Ports - Infrastructure Certificator
Auteur : Équipe 4NK Date : 2026-01-24 Version : 1.0
Vue d'Ensemble
Ce document liste tous les domaines, ports et services de l'infrastructure Certificator Bitcoin Signet.
Domaines et Services
Domaines Principaux
| Domaine | Service | Port Local | Description |
|---|---|---|---|
certificator.4nkweb.com |
API d'Ancrage | 3010 | API REST pour ancrer des documents |
watermark.certificator.4nkweb.com |
API Filigrane | 3022 | API REST pour ajouter des filigranes et ancrer |
antivir.certificator.4nkweb.com |
API ClamAV | 3023 | API REST pour scanner les fichiers (antivirus) |
dashboard.certificator.4nkweb.com |
Dashboard | 3020 | Interface web de supervision |
faucet.certificator.4nkweb.com |
API Faucet | 3021 | API REST pour distribuer des sats |
mempool.4nkweb.com |
Mempool | 3015 | Explorateur de blockchain Bitcoin |
skeleton.certificator.4nkweb.com |
Website skeleton | 3024 | Site squelette iframe UserWallet |
Configuration Nginx
Tous les domaines sont routés via le proxy Nginx sur le serveur 192.168.1.100 (proxy).
Configuration du proxy :
- Point d'entrée unique :
4nk.myftp.biz(DynDNS) - Routage HTTPS vers les services backend appropriés
- Certificats SSL/TLS : Let's Encrypt (renouvellement automatique)
Ports Fixes
Ports des APIs (Fixés dans les services systemd)
| Port | Service | API | Fichier de Service |
|---|---|---|---|
| 3010 | API d'Ancrage | api-anchorage |
api-anchorage/anchorage-api.service |
| 3020 | Dashboard | signet-dashboard |
signet-dashboard/signet-dashboard.service |
| 3021 | API Faucet | api-faucet |
api-faucet/faucet-api.service |
| 3022 | API Filigrane | api-filigrane |
api-filigrane/filigrane-api.service |
| 3023 | API ClamAV | api-clamav |
api-clamav/clamav-api.service |
| 3024 | Website skeleton | website-skeleton |
website-skeleton/website-skeleton.service |
Important : Les ports 3010, 3020, 3021, 3022, 3023, 3024 sont fixes et définis dans les fichiers de service systemd. Ils ne peuvent pas être modifiés sans modifier les services.
Ports Bitcoin Core
| Port | Protocole | Service | Description |
|---|---|---|---|
| 38332 | TCP | RPC | Interface JSON-RPC pour contrôler le nœud |
| 38333 | TCP/UDP | P2P | Réseau peer-to-peer Bitcoin Signet |
| 28332 | TCP | ZMQ | Publication des blocs bruts |
| 28333 | TCP | ZMQ | Publication des transactions brutes |
| 28334 | TCP | ZMQ | Publication des hash de blocs |
Ports Mempool
| Port | Protocole | Service | Description |
|---|---|---|---|
| 3015 | HTTP/HTTPS | Web | Interface web Mempool (exposé via nginx) |
| 8999 | HTTP | API | Mempool Backend API (interne) |
Services Systemd
Tous les services sont configurés avec systemd pour un redémarrage automatique.
Liste des Services
# Vérifier le statut de tous les services
sudo systemctl status anchorage-api
sudo systemctl status signet-dashboard
sudo systemctl status faucet-api
sudo systemctl status filigrane-api
sudo systemctl status clamav-api
sudo systemctl status website-skeleton
Commandes de Gestion
# Démarrer un service
sudo systemctl start <service-name>
# Arrêter un service
sudo systemctl stop <service-name>
# Redémarrer un service
sudo systemctl restart <service-name>
# Voir les logs
sudo journalctl -u <service-name> -f
# Activer au démarrage
sudo systemctl enable <service-name>
# Désactiver au démarrage
sudo systemctl disable <service-name>
Architecture Réseau
Internet
│
├─→ 4nk.myftp.biz (DynDNS)
│ └─→ 192.168.1.100 (proxy) - Point d'entrée unique
│ │
│ ├─→ certificator.4nkweb.com → 192.168.1.103:3010 (API Anchorage)
│ ├─→ watermark.certificator.4nkweb.com → 192.168.1.103:3022 (API Filigrane)
│ ├─→ antivir.certificator.4nkweb.com → 192.168.1.103:3023 (API ClamAV)
│ ├─→ dashboard.certificator.4nkweb.com → 192.168.1.103:3020 (Dashboard)
│ ├─→ skeleton.certificator.4nkweb.com → 192.168.1.105:3024 (Website skeleton)
│ ├─→ faucet.certificator.4nkweb.com → 192.168.1.103:3021 (API Faucet)
│ └─→ mempool.4nkweb.com → 192.168.1.104:3015 (Mempool)
Vérification des Ports
Vérifier qu'un port est en écoute
# Vérifier un port spécifique
sudo ss -tlnp | grep :3010
# Vérifier tous les ports des APIs
sudo ss -tlnp | grep -E ':(3010|3020|3021|3022|3023|3024)'
Tester la connectivité
# Tester depuis le serveur
curl http://localhost:3010/health
curl http://localhost:3020/health
curl http://localhost:3021/health
curl http://localhost:3022/health
curl http://localhost:3023/health
# Tester depuis l'extérieur (via domaine)
curl https://certificator.4nkweb.com/health
curl https://dashboard.certificator.4nkweb.com/health
Certificats SSL/TLS
Tous les domaines utilisent des certificats Let's Encrypt gérés automatiquement par Certbot.
Vérifier les certificats
# Sur le serveur proxy (192.168.1.100)
sudo certbot certificates
# Vérifier un certificat spécifique
openssl s_client -connect certificator.4nkweb.com:443 -servername certificator.4nkweb.com
Renouvellement
Le renouvellement est automatique via Certbot. Pour forcer un renouvellement :
sudo certbot renew
DNS
Tous les domaines utilisent des enregistrements CNAME pointant vers 4nk.myftp.biz (DynDNS).
Exemple de configuration DNS (Gandi) :
certificator.4nkweb.com. 3600 IN CNAME 4nk.myftp.biz.
watermark.certificator.4nkweb.com. 3600 IN CNAME 4nk.myftp.biz.
antivir.certificator.4nkweb.com. 3600 IN CNAME 4nk.myftp.biz.
dashboard.certificator.4nkweb.com. 3600 IN CNAME 4nk.myftp.biz.
faucet.certificator.4nkweb.com. 3600 IN CNAME 4nk.myftp.biz.
Notes Importantes
-
Ports fixes : Tous les ports des APIs sont fixes et définis dans les services systemd. Ne pas modifier sans mettre à jour les services.
-
Redémarrage automatique : Tous les services sont configurés avec
Restart=alwayspour un redémarrage automatique en cas d'échec. -
Sécurité : Les services utilisent
NoNewPrivileges=trueetPrivateTmp=truepour une meilleure sécurité. -
Logs : Tous les logs sont envoyés vers
journaldet peuvent être consultés avecjournalctl. -
Environnement : Les variables d'environnement (ports, hosts) sont définies dans les fichiers de service systemd.