secubox-openwrt/package/secubox/luci-app-service-registry/README.fr.md
CyberMind-FR ccfb58124c docs: Add trilingual documentation (French and Chinese translations)
Add complete French (fr) and Chinese (zh) translations for all documentation:

- Root files: README, CHANGELOG, SECURITY, BETA-RELEASE
- docs/: All 16 core documentation files
- DOCS/: All 19 deep-dive documents including embedded/ and archive/
- package/secubox/: All 123+ package READMEs
- Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/

Total: 346 translation files created

Each file includes language switcher links for easy navigation between
English, French, and Chinese versions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-20 10:00:18 +01:00

298 lines
8.8 KiB
Markdown

[English](README.md) | Francais | [中文](README.zh.md)
# Registre de Services SecuBox
Tableau de bord d'agregation de services unifie avec publication automatique vers HAProxy (clearnet) et Tor (services caches), incluant la surveillance de sante et la generation de codes QR.
## Fonctionnalites
- **Decouverte de Services** - Detecte automatiquement les services en cours d'execution depuis :
- Vhosts HAProxy
- Services caches Tor
- Ports en ecoute directe (netstat)
- Conteneurs LXC
- **Publication en Un Clic** - Publier des services vers clearnet et/ou Tor
- **Surveillance de Sante** - Statut DNS, certificat et pare-feu en temps reel
- **Verificateur de Disponibilite URL** - Verifier la configuration du domaine avant la mise en ligne
- **Codes QR** - Generer des codes QR pour un acces mobile facile
- **Page d'Accueil** - HTML statique auto-genere avec tous les services publies
## Tableau de Bord
### Panneau de Connectivite Reseau
Statut reseau en temps reel affichant :
- **IPv4 Publique** - Votre adresse IP externe avec nom d'hote DNS inverse
- **IPv6 Publique** - Adresse IPv6 si disponible
- **Port Externe 80/443** - Si les ports sont accessibles depuis Internet (teste le transfert du routeur amont/FAI)
- **Pare-feu Local** - Statut des regles de pare-feu OpenWrt
- **HAProxy** - Statut du conteneur proxy inverse
### Barre de Resume de Sante
Affiche le statut global du systeme en un coup d'oeil :
- Statut des ports pare-feu 80/443
- Statut du conteneur HAProxy
- Statut du daemon Tor
- Nombre de resolutions DNS
- Nombre de certificats sains
### Verificateur de Disponibilite URL
Avant de publier un service, verifiez que le domaine est correctement configure :
1. Entrez un domaine dans le verificateur (ex: `example.com`)
2. Cliquez sur "Verifier" pour valider :
- **Votre IP Publique** - Affiche vos adresses IPv4/IPv6 et DNS inverse
- **Resolution DNS** - Verifie que le domaine pointe vers votre IP publique (detecte les erreurs d'IP privee)
- **Accessibilite Internet** - Teste si les ports 80/443 sont accessibles depuis Internet (verification du routeur amont)
- **Pare-feu Local** - Statut des regles de pare-feu OpenWrt
- **Certificat SSL** - Certificat valide avec statut d'expiration
- **HAProxy** - Conteneur proxy inverse en cours d'execution
Le verificateur fournit des recommandations actionnables specifiques :
- Si le DNS pointe vers une IP privee (ex: 192.168.x.x), affiche l'IP publique correcte a utiliser
- Si les ports sont bloques exterieurement, conseille de verifier le transfert de port du routeur amont
- Affiche l'enregistrement DNS A exact a creer : `domaine.com → votre.ip.publique`
### Indicateurs de Sante des Services
Chaque service publie affiche des badges de sante en ligne :
| Badge | Signification |
|-------|---------------|
| Globe | DNS resout correctement |
| X | Resolution DNS echouee |
| Cadenas | Certificat valide (30+ jours) |
| Attention | Certificat expire bientot (7-30 jours) |
| Rouge | Certificat critique (<7 jours) |
| Mort | Certificat expire |
| Blanc | Aucun certificat configure |
| Oignon | Service cache Tor active |
## Publication d'un Service
### Publication Rapide (LuCI)
1. Allez dans **Services > Registre de Services**
2. Trouvez votre service dans "Services Decouverts"
3. Cliquez sur Publier pour une publication rapide
4. Ajoutez optionnellement :
- Domaine (cree un vhost HAProxy + demande un certificat ACME)
- Service cache Tor
### Publication CLI
```bash
# Lister les services decouverts
secubox-registry list
# Publier avec domaine (clearnet)
secubox-registry publish myapp 8080 --domain app.example.com
# Publier avec service cache Tor
secubox-registry publish myapp 8080 --tor
# Publier avec les deux
secubox-registry publish myapp 8080 --domain app.example.com --tor
# Depublier
secubox-registry unpublish myapp
```
### Ce qui se Passe a la Publication
Quand vous publiez un service avec un domaine :
1. **Backend Cree** - Backend HAProxy pointant vers le port local
2. **Vhost Cree** - Vhost HAProxy pour le domaine
3. **Pare-feu Ouvert** - Ports 80/443 ouverts depuis WAN (auto)
4. **Certificat Demande** - Certificat ACME via Let's Encrypt
5. **Page d'Accueil Mise a Jour** - HTML statique regenere
## API de Verification de Sante
### Obtenir les Infos Reseau
```bash
ubus call luci.service-registry get_network_info
```
Reponse :
```json
{
"success": true,
"lan_ip": "192.168.255.1",
"ipv4": {
"address": "185.220.101.12",
"status": "ok",
"hostname": "server.example.com"
},
"ipv6": {
"address": "2001:db8::1",
"status": "ok"
},
"external_ports": {
"http": { "accessible": true, "status": "open" },
"https": { "accessible": true, "status": "open" }
},
"firewall": {
"status": "ok",
"http_open": true,
"https_open": true
},
"haproxy": { "status": "running" }
}
```
### Verifier un Domaine Unique
```bash
ubus call luci.service-registry check_service_health '{"domain":"example.com"}'
```
Reponse :
```json
{
"success": true,
"domain": "example.com",
"public_ip": {
"ipv4": "185.220.101.12",
"ipv6": "2001:db8::1",
"hostname": "server.example.com"
},
"dns": {
"status": "ok",
"resolved_ip": "185.220.101.12"
},
"external_access": {
"status": "ok",
"http_accessible": true,
"https_accessible": true
},
"firewall": {
"status": "ok",
"http_open": true,
"https_open": true
},
"certificate": {
"status": "ok",
"days_left": 45
},
"haproxy": {
"status": "running"
}
}
```
Valeurs de statut DNS :
- `ok` - Le domaine pointe vers votre IP publique
- `private` - Le domaine pointe vers une IP privee (192.168.x.x, 10.x.x.x, etc.)
- `mismatch` - Le domaine pointe vers une IP publique differente
- `failed` - Resolution DNS echouee
### Verifier Tous les Services
```bash
ubus call luci.service-registry check_all_health
```
La reponse inclut la sante agregee pour tous les domaines publies.
## Depannage
### DNS ne Resout pas
1. Verifiez que l'enregistrement DNS A pointe vers votre IP publique
2. Verifiez avec : `nslookup example.com`
3. La propagation DNS peut prendre jusqu'a 48 heures
### Ports Pare-feu Fermes
1. Verifiez les regles de pare-feu : `uci show firewall | grep HAProxy`
2. Les ports devraient s'ouvrir automatiquement a la publication
3. Correction manuelle :
```bash
uci add firewall rule
uci set firewall.@rule[-1].name='HAProxy-HTTP'
uci set firewall.@rule[-1].src='wan'
uci set firewall.@rule[-1].dest_port='80'
uci set firewall.@rule[-1].proto='tcp'
uci set firewall.@rule[-1].target='ACCEPT'
uci commit firewall
/etc/init.d/firewall reload
```
### Certificat Manquant
1. Assurez-vous que le DNS du domaine est correctement configure
2. Assurez-vous que le port 80 est accessible depuis Internet
3. Demandez le certificat via HAProxy :
```bash
haproxyctl cert add example.com
```
### 503 Service Non Disponible
Causes courantes :
1. **Backend non en cours d'execution** - Verifiez si le service ecoute reellement
2. **Mauvais port backend** - Verifiez la configuration du backend HAProxy
3. **HAProxy non en cours d'execution** - Verifiez le statut du conteneur
```bash
# Verifier que le service ecoute
netstat -tln | grep :8080
# Verifier le statut HAProxy
haproxyctl status
# Verifier la config HAProxy
haproxyctl validate
```
## Configuration
### Parametres UCI
```bash
# Parametres principaux
uci set service-registry.main.enabled='1'
uci set service-registry.main.auto_tor='0' # Auto-creer Tor a la publication
uci set service-registry.main.auto_haproxy='0' # Auto-creer HAProxy a la publication
uci set service-registry.main.landing_auto_regen='1'
# Toggles des fournisseurs
uci set service-registry.haproxy.enabled='1'
uci set service-registry.tor.enabled='1'
uci set service-registry.direct.enabled='1'
uci set service-registry.lxc.enabled='1'
uci commit service-registry
```
## Emplacements des Fichiers
| Chemin | Description |
|--------|-------------|
| `/etc/config/service-registry` | Configuration UCI |
| `/www/secubox-services.html` | Page d'accueil generee |
| `/usr/sbin/secubox-registry` | Outil CLI |
| `/usr/sbin/secubox-landing-gen` | Generateur de page d'accueil |
| `/usr/libexec/rpcd/luci.service-registry` | Backend RPCD |
## Methodes RPCD
| Methode | Description |
|---------|-------------|
| `list_services` | Lister tous les services de tous les fournisseurs |
| `publish_service` | Publier un service vers HAProxy/Tor |
| `unpublish_service` | Supprimer un service de HAProxy/Tor |
| `check_service_health` | Verifier DNS/cert/pare-feu/acces externe pour le domaine |
| `check_all_health` | Verification de sante en lot pour tous les services |
| `get_network_info` | Obtenir les IPs publiques, accessibilite des ports externes, statut du pare-feu |
| `generate_landing_page` | Regenerer la page d'accueil statique |
## Licence
Licence MIT - Copyright (C) 2025 CyberMind.fr