DOUAWE VPN — SUITE DU PROJET
Ce zip REMPLACE le précédent « vpn forfaits prolonger » (il en contient tous les fichiers). Les migrations déjà livrées suffisent : si vous avez installé le zip précédent, rien de nouveau à migrer ; sinon cliquez sur « Mettre à jour la base ». Votre fichier .env n'est PAS touché.

=== 0. ÉTAPE 2 RÉUSSIE : WINBOX SANS VPN SUR LE TÉLÉPHONE (Jacqueville, port 48292)
 Avec le port 169.58.87.81:48292, l'application MikroTik affiche tout : processeur, mémoire, durée de marche, courbe, sessions hotspot. Plus besoin de WireGuard sur le téléphone.
 CAUSE DU « WINBOX S'OUVRE MAIS N'AFFICHE RIEN » : la taille des paquets du tunnel (MTU 1420, valeur habituelle de WireGuard) est trop grande derrière une box 4G : les petits échanges passent, les gros sont perdus. Votre test : 1420 et 1400 octets perdus à 100 %, 1380 et moins parfaits.
 DANS CE ZIP : script MikroTik à 1360 (marge) ; « Mise à niveau » qui règle aussi les routeurs déjà installés ; configuration du téléphone à 1380 (un téléphone en 4G a le même problème) ; texte de la page et commande à la main mis à jour ; 3 nouveaux tests.
 À FAIRE POUR QUE CE SOIT DÉFINITIF (le changement fait « à chaud » disparaît au redémarrage du VPS) :
   - Sur Jacqueville (déjà fait si vous avez réglé 1380) :  /interface wireguard set dwv3 mtu=1360        puis contrôle :  /interface wireguard print where name=dwv3   (mtu=1360)
   - Sur le VPS (une commande à la fois) :
        sudo cp /etc/wireguard/wg0.conf /etc/wireguard/wg0.conf.avant-mtu
        sudo grep -n "MTU" /etc/wireguard/wg0.conf          (si une ligne MTU s'affiche déjà, remplacez sa valeur par 1380 ; sinon :)
        sudo sed -i '0,/^\[Interface\]/s//[Interface]\nMTU = 1380/' /etc/wireguard/wg0.conf
        sudo grep -n -B1 "MTU" /etc/wireguard/wg0.conf       (doit afficher « [Interface] » puis « MTU = 1380 » : rien d'autre)
        ip link show wg0 | grep -o "mtu [0-9]*"            (doit afficher mtu 1380)
        sudo systemctl is-enabled wg-quick@wg0             (« enabled » : le fichier est bien celui utilisé au démarrage)
     N'affichez jamais tout le fichier wg0.conf : il contient la clé privée du serveur. Pas de redémarrage maintenant : la valeur est déjà active ; la prochaine vérification se fera lors d'un redémarrage contrôlé (avec console de secours).
   - Téléphones déjà installés : ouvrez la connexion dans l'application WireGuard, « Modifier », et mettez MTU = 1380 ; ou retéléchargez la configuration depuis la page VPN après installation de ce zip.

=== 1. OÙ NOUS EN SOMMES
 ÉTAPE 1 TERMINÉE : le ping du VPS vers Jacqueville répond (4 sur 4, environ 112 ms). La cause était bien l'absence de route de retour vers le serveur.
 Adresse sortante de votre hébergement : 95.217.106.107 (notée : elle servira à limiter l'accès à l'API des routeurs aux seuls appels de votre site).
 Nom public choisi : vpn.douawe.ci (à créer : enregistrement DNS A vers 169.58.87.81). vpn-api.douaweproshop.ci existe déjà : c'est le nom de l'API, un autre domaine.

=== 2. LE DEUXIÈME TYPE : SSTP (décidé)
 SUNVPN propose trois protocoles (L2TP, SSTP, OVPN) et demande à chaque client d'en choisir un. Vous vendez un produit simple : un seul choix, fait pour eux.
 Pourquoi SSTP : il fonctionne sur les routeurs RouterOS 6 ET 7 (WireGuard : RouterOS 7 seulement) ; tout est chiffré ; il passe presque partout (box, 4G, pare-feux) car il ressemble à une connexion web sécurisée ; le routeur n'a pas de certificat à installer ;
   le client n'a qu'une ligne à coller. L2TP (clair sans IPsec, plus lourd avec) et OpenVPN (certificats, TCP seul sous RouterOS 6) sont plus compliqués à vendre et à dépanner. On pourra en ajouter plus tard si des clients le demandent.
 Port : le port 443 du VPS sert déjà à l'API (https://vpn-api.douaweproshop.ci). SSTP utilisera donc un autre port TCP (4443 par défaut) que le routeur peut utiliser sans problème. À confirmer sur le VPS : sudo ss -ltnp | grep -E ":443|:4443"
 Je n'installerai pas de serveur SSTP à l'aveugle sur votre VPS : ce sera l'étape 4, pas à pas, avec une preuve à chaque pas (comme pour Jacqueville).

=== 3. CE QUE CE ZIP AJOUTE : DE QUOI VENDRE
 - FORFAITS VPN (menu DOUAWE VPN > Administration > « Forfaits VPN ») : vous fixez vous-même nom, prix (FCFA), durée et description ; vous pouvez retirer un forfait de la vente sans jamais le supprimer ; chaque forfait comprend 1 téléphone + 1 MikroTik ;
   la durée d'un forfait déjà vendu est verrouillée (pour une autre durée, créez un autre forfait). Exemple comme SUNVPN : 1 mois 500 FCFA / 30 jours, 3 mois 1 500 / 90, 6 mois 3 000 / 180, 1 an 6 000 / 365.
 - PROLONGER L'ABONNEMENT : sur chaque abonnement en cours, un bouton par forfait (« +30 jours · 500 FCFA »). Le prix est débité du portefeuille ; la nouvelle durée s'ajoute à la fin actuelle (aucun jour perdu) ; un double clic ne débite qu'une fois ;
   un abonnement terminé ne se prolonge pas (ses appareils sont déjà révoqués : il faut en acheter un nouveau). Pour vous (super administrateur) : gratuit.
 - Correction : votre compte voyait « solde insuffisant » alors que vos achats sont gratuits. Corrigé.
 - 12 nouveaux tests (forfaits, droits, validation, verrou de la durée, prolongation, double clic, solde insuffisant, abonnement terminé, super administrateur). Casser exprès le débit, le calcul des dates, le verrou de durée ou la protection du double clic fait échouer les tests.
 À FAIRE : menu DOUAWE VPN > Administration > « Forfaits VPN » : créez vos forfaits et retirez de la vente les anciens essais.

=== 4. ÉTAPE 2 (FAITE) — WINBOX SANS VPN SUR LE TÉLÉPHONE : LA PROCÉDURE, POUR LES AUTRES ROUTEURS
 Votre outil « douawe-remote-port » (fourni avec « DOUAWE REMOTE phase 2 ») ouvre un port public du VPS qui mène au WinBox d'un routeur à travers le tunnel. Je l'ai relu : verrous, sauvegardes automatiques des règles, retour arrière si une étape échoue.
 a) Est-il déjà installé ?     ls -l /usr/local/sbin/douawe-remote-port
 b) S'il n'existe pas : ouvrez le fichier « douawe-remote-port » (à la racine de wifi.douaweproshop.ci, dans le gestionnaire de fichiers cPanel), copiez TOUT son contenu, puis sur le VPS :
        sudo nano /usr/local/sbin/douawe-remote-port        (collez, puis Ctrl+O, Entrée, Ctrl+X)
        sudo chown root:root /usr/local/sbin/douawe-remote-port ; sudo chmod 750 /usr/local/sbin/douawe-remote-port
 c) Prérequis (lecture seule) :   ls -l /etc/iptables/rules.v4 ;  sudo wg show wg0 allowed-ips | grep 10.50.0.6
 d) Ouvrir le port pour Jacqueville :   sudo /usr/local/sbin/douawe-remote-port add 10.50.0.6 jacqueville      → affiche « PORT=48xxx »
 e) Dans WinBox (téléphone), SANS WireGuard, en 4G :  Connect To = 169.58.87.81:48xxx , identifiant du routeur.   Réussite : le routeur s'ouvre.
 f) Pour annuler à tout moment :   sudo /usr/local/sbin/douawe-remote-port remove 10.50.0.6
 Sécurité : ce port expose WinBox à Internet : mot de passe unique et fort sur le routeur. Si une commande refuse de s'exécuter, ne forcez rien : envoyez-moi son message exact.

=== 5. LA SUITE
 ÉTAPE 3 — Page « Détails du VPN » complète : accès copiables (WinBox, API, WebFig) avec ports créés et fermés automatiquement, « Pinger le VPN », informations du routeur, renouvellement automatique.
 ÉTAPE 4 — Type SSTP (RouterOS 6 et 7) : serveur sur le VPS pas à pas, identifiants par client, script en une ligne, test sur Jacqueville avec un tunnel supplémentaire (sans rien casser), puis le RB951 de Kassemblé.
 ÉTAPE 5 — Brancher WiFi Zone : « Ajouter ce routeur » en un clic avec l'adresse et le port du VPN (API limitée à 95.217.106.107) à la place du relais tiers vpn2.mikhmon.dev.
 ÉTAPE 6 — Durcir : isolation entre clients, pare-feu du VPS, persistance après redémarrage contrôlé, alerte « tunnel hors ligne », sauvegardes.

=== 6. DÉCISIONS PRISES ET CE DONT J'AI BESOIN
 - VPS : Ubuntu 24.04.5, 4 cœurs, 8 Go de mémoire ; nginx occupe le port 443 : SSTP utilisera un autre port TCP (4443 par défaut).
 - Utilisateur dédié à droits limités pour l'accès automatique de WiFi Zone : DÉCIDÉ (mot de passe long et unique par routeur, généré automatiquement ; droits : lecture, écriture, API, test, accès aux mots de passe des tickets, redémarrage ; le droit de gérer les utilisateurs seulement si un envoi de script échoue sans lui, vérifié sur Jacqueville). Mise en œuvre à l'étape 5.
 - À me donner : la version RouterOS de Bimbresso et de Campement Gouro (visible en haut de l'application MikroTik) pour savoir combien de routeurs ont besoin du type SSTP. Déjà connus : Jacqueville 7.24.5, Kassemblé 6.49.23.
 - Vos quatre routeurs sont aujourd'hui sur des serveurs SUNVPN (vpn4, vpn2, vpn10 ×2) : ce sont eux qu'il faudra migrer.

=== INSTALLATION
 cPanel > « public_html » > envoyer le zip > Extraire, en remplaçant les fichiers ; supprimer les .php de wifi.douaweproshop.ci/bootstrap/cache ; « Mettre à jour la base » si le site l'indique. Vider le cache du navigateur du téléphone.
