- Ajout du script add_external_node.sh pour gérer les nœuds externes - Configuration external_nodes.conf avec dev3-relay - Scripts de test pour dev3.4nkweb.com (connectivité WSS) - Documentation complète (CONFIGURATION_DEV3.md, RESUME_AJOUT_DEV3.md) - Scripts de test de synchronisation et monitoring - Configuration multi-relais avec 3 instances - Mise à jour de la documentation technique et fonctionnelle - Scripts de démarrage et monitoring pour les 3 relais
5.5 KiB
5.5 KiB
Résumé : Ajout du Relais dev3.4nkweb.com
🎯 Objectif
Ajouter le relais externe dev3.4nkweb.com
à l'infrastructure 4NK Node pour étendre le réseau de relais.
✅ Actions Réalisées
1. Découverte du relais
- URL : dev3.4nkweb.com
- Port : 443 (HTTPS/WSS)
- Chemin WebSocket :
/ws/
- URL complète :
wss://dev3.4nkweb.com:443/ws/
2. Tests de connectivité
# Test HTTPS de base
curl -v https://dev3.4nkweb.com:443
# ✅ Réponse : Page HTML 4NK Web5
# Test WebSocket
curl -v -H "Connection: Upgrade" -H "Upgrade: websocket" \
-H "Sec-WebSocket-Key: test" -H "Sec-WebSocket-Version: 13" \
https://dev3.4nkweb.com:443/ws/
# ✅ Réponse : 101 Switching Protocols
3. Tests Python
# Test simple
python3 test_dev3_simple.py
# ✅ Connexion WSS établie
# ⚠️ Limitations de taille de message
# Test complet
python3 test_dev3_connectivity.py
# ✅ Connexion WSS établie
# ❌ Messages trop gros pour la synchronisation
4. Configuration
# external_nodes.conf
[relays]
dev3-relay = "dev3.4nkweb.com:443"
📊 Résultats des Tests
✅ Connectivité
- HTTPS : ✅ Accessible
- WSS : ✅ Accessible sur
/ws/
- SSL : ✅ Certificat Let's Encrypt valide
- Protocole : TLSv1.3
⚠️ Limitations Découvertes
- Taille des messages : Limitée (erreur "message too big")
- Synchronisation : Non supportée (ancienne version)
- Handshake : Format ancien uniquement
🔧 Compatibilité
- Ancienne version : ✅ Compatible
- Nouvelle version : ❌ Messages trop gros
- Synchronisation : ❌ Non supportée
🛠️ Outils Créés
1. Script de test simple
- Fichier :
test_dev3_simple.py
- Fonction : Test de connectivité avec messages courts
- Usage :
python3 test_dev3_simple.py
2. Script de test complet
- Fichier :
test_dev3_connectivity.py
- Fonction : Test de compatibilité ancienne/nouvelle version
- Usage :
python3 test_dev3_connectivity.py
3. Documentation de configuration
- Fichier :
CONFIGURATION_DEV3.md
- Contenu : Guide complet d'utilisation et de dépannage
🚀 Utilisation
Connexion WebSocket
// Connexion JavaScript
const ws = new WebSocket('wss://dev3.4nkweb.com:443/ws/');
ws.onopen = function() {
// Handshake simple (ancienne version)
const handshake = {
type: 'handshake',
client_id: 'test-client',
version: '0.9.0'
};
ws.send(JSON.stringify(handshake));
};
Connexion Python
import asyncio
import websockets
import json
import ssl
async def connect_to_dev3():
uri = "wss://dev3.4nkweb.com:443/ws/"
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE
async with websockets.connect(uri, ssl=ssl_context) as websocket:
handshake = {
"type": "handshake",
"client_id": "python-client",
"version": "0.9.0"
}
await websocket.send(json.dumps(handshake))
asyncio.run(connect_to_dev3())
📈 État Actuel
Configuration Active
# Liste des nœuds externes
./add_external_node.sh list
# Output:
# 🔸 external-relay-2 -> localhost:8090
# 🔸 dev3-relay -> dev3.4nkweb.com:443
Tests de Validation
# Test de connectivité
./add_external_node.sh test dev3-relay
# ✅ Port 443 accessible sur dev3.4nkweb.com
# ✅ WebSocket répond
# ✅ Connectivité OK
🔄 Prochaines Étapes
1. Intégration dans le code
Pour que les relais locaux utilisent dev3.4nkweb.com, il faut :
// Modifier sync.rs pour charger external_nodes.conf
impl SyncManager {
pub fn load_external_config(&self) -> Result<ExternalConfig> {
let config_content = fs::read_to_string("external_nodes.conf")?;
let config: ExternalConfig = toml::from_str(&config_content)?;
Ok(config)
}
}
2. Redémarrage des relais
# Appliquer la configuration
docker-compose restart sdk_relay_1 sdk_relay_2 sdk_relay_3
3. Tests de synchronisation
# Tester la synchronisation avec dev3
./test_sync_logs.sh test
⚠️ Limitations Actuelles
1. Synchronisation
- Le relais dev3.4nkweb.com ne supporte pas la synchronisation
- Messages de sync trop gros pour l'ancienne version
- Nécessite une mise à jour du relais
2. Messages
- Limitation de taille des messages
- Format ancien uniquement
- Pas de support des nouveaux protocoles
3. Compatibilité
- Compatible avec l'ancienne version
- Incompatible avec la nouvelle version
- Nécessite adaptation des messages
🎯 Recommandations
1. Utilisation immédiate
- ✅ Utiliser pour les connexions basiques
- ✅ Compatible avec l'ancienne version
- ⚠️ Éviter les messages de synchronisation
2. Amélioration future
- 🔄 Mettre à jour le relais dev3.4nkweb.com
- 🔄 Supprimer les limitations de taille
- 🔄 Ajouter le support de la synchronisation
3. Monitoring
- 📊 Surveiller la connectivité
- 📊 Tester régulièrement
- 📊 Documenter les changements
📝 Conclusion
Le relais dev3.4nkweb.com
a été ajouté avec succès à la configuration externe. Il est :
- ✅ Accessible en WSS sur le port 443
- ✅ Fonctionnel pour les connexions basiques
- ⚠️ Limité par l'ancienne version
- 🔄 Prêt pour une future mise à jour
La configuration est maintenant prête pour l'intégration dans le code et les tests de synchronisation !