2026 — OpenClaw sans IPv4 public fixe (CGNAT / fibre résidentielle) : webhooks Telegram et Discord stables — IPv6, tunnel, proxy inverse et runbook d’acceptation (Mac physique distant + FAQ)
Les équipes qui font tourner OpenClaw sur un Mac physique distant ZoneMac derrière CGNAT ou une box grand public ont tout de même besoin que Telegram et Discord livrent des callbacks HTTPS de façon fiable. Ce guide précise qui perd l’IPv4 entrant, quels schémas stables tiennent en 2026, et livre une matrice de décision, un runbook en sept étapes et des contrôles d’atteignabilité prêts à coller — en lien avec la gouvernance sortante dans OpenClaw Gateway : gouvernance sortante et garde-fous (Mac physique distant) et les SLO réseau avant prod décrits dans acceptation Mac physique multi-régions (RTT, jitter, perte).
1. Introduction et périmètre
Qui se heurte à ce sujet : exploitants qui colocalisent une passerelle d’automatisation sur des montantes « résidentielles » ou des offres Mac distant sans IPv4 public statique. Ce que vous gagnez : une méthode reproductible pour maintenir les webhooks Bot API Telegram et les points de terminaison HTTPS Discord (interactions ou webhooks d’application) vers OpenClaw sans dépendre de l’IPv4 legacy de l’opérateur. Structure : trois freins numérotés, un tableau comparatif, sept étapes concrètes, sondes curl/openssl externes, FAQ alignée sur le JSON-LD.
Nous supposons l’accès SSH au Mac, le droit d’installer un proxy inverse ou un client de tunnel, et que le HTTPS sortant vers les fournisseurs de modèles fonctionne déjà — sinon, alignez d’abord la ligne de base via comparatif de déploiement mondial OpenClaw (2026).
2. Points de friction
- Le CGNAT vous masque face à l’Internet IPv4 public. Telegram et Discord doivent initier le TLS vers une adresse routable. N’annoncer que du
192.168.0.0/16ou de l’espace NAT opérateur revient à valider en local alors que les webhooks de prod n’arrivent jamais. - L’IPv6 n’implique pas automatiquement la stabilité. Préfixes dynamiques,
AAAAabsents, ou boîtiers intermédiaires qui coupent l’entrant IPv6 HTTPS produisent des échecs « verts au bureau, rouges sur le terrain » — surtout pour des relecteurs transfrontaliers en IPv4-only. - Les tunnels déplacent la surface de risque vers l’identité et la disponibilité du démon. Un Cloudflare Tunnel ou un funnel mesh simplifie l’exploitation par rapport au BGP, mais renouvellement des certificats, dérive de version du tunnel et verrouillage de compte deviennent de nouveaux SPOF — prévoyez supervision budgétaire et retour arrière vers le long polling Telegram lorsque c’est acceptable.
3. Matrice : entrée sans IPv4 public fixe
Choisissez une entrée primaire ; documentez une secondaire (tunnel de secours derrière IPv6 natif, par exemple) avant de basculer setWebhook.
| Schéma | Idéal pour | Compromis |
|---|---|---|
| IPv6 natif + proxy inverse (Caddy/nginx) sur le Mac | FAI avec préfixe délégué stable et entrant 443 fonctionnel | Vous portez DNS, ACME et pare-feu ; les testeurs dual-stack doivent voir un AAAA cohérent |
Tunnel managé (ex. Cloudflare Tunnel) → écoute 127.0.0.1 |
Entrant strict, IPv4/IPv6 dynamiques, petites équipes voulant du TLS « clé en main » | Démon + compte additionnels ; le debug exige les journaux tunnel, pas seulement OpenClaw |
| Funnel mesh / overlay (Tailscale Funnel ou équivalent) | Identité tailnet déjà standard pour l’admin | Sémantique d’URL et sortie régionale variables — vérifier que Discord/Telegram joignent le nom publié depuis leurs datacenters |
| Mini VPS relais IPv4 public + WireGuard / SSH inverse | Besoin d’œil IPv4 garanti ou partenaires sans IPv6 | Saut supplémentaire + durcissement ; traiter le VPS comme une zone à secrets « style PCI » |
| Long polling Telegram (sans entrant public) | Soulagement temporaire pendant la mise au point TLS ou tunnel | Ne remplace pas les callbacks HTTPS Discord ; sensibilité RTT accrue |
4. Runbook d’acceptation en sept étapes (Mac physique distant)
- Geler les preuves. Capturer
curl -4 ifconfig.cocontrecurl -6 ifconfig.co, un traceroute vers un résolveur public, et si l’interface WAN montre une adresse100.64.0.0/10— signal CGNAT classique. - Choisir l’entrée et le propriétaire. Documenter qui renouvelle les certificats, qui redémarre le tunnel, et quel runbook on-call s’applique quand Discord affiche « URL inaccessible ».
- Garder OpenClaw sur loopback. Lier la surface HTTP de la passerelle à
127.0.0.1:18789(ou le port choisi) et laisser le proxy/tunnel gérer TLS et le journal des IP client viaX-Forwarded-For. - Configurer le bord. Terminer TLS avec chaîne complète ; timeouts de lecture ≥ 60 s pour les rafales de webhooks ; journaux d’accès séparant
502/504amont des401applicatifs (jeton Discord ou secret Telegram). - Enregistrer Telegram. Après
deleteWebhooksur les piles inactives, appelersetWebhookavecsecret_tokenaligné sur la validation d’entrée OpenClaw — caler la séquence HTTPS sur le guide Telegram long polling vs webhook (proxy inverse, 409, TLS). - Enregistrer Discord. Pointer l’URL d’interaction ou le webhook d’application vers le même nom public ; vérifier que les clés de signature et jetons d’interaction ne passent jamais par l’historique shell — utiliser SecretRef comme sur votre release OpenClaw.
- Acceptation externe + archive. Exécuter les sondes de la §5 depuis un laptop en 4G (IPv4-only) et depuis un VPS IPv6 ; archiver les sorties avec le ticket de changement. Si vous conteneurisez OpenClaw sur le même Mac, répéter les sondes de santé décrites dans OpenClaw Docker vs bare metal sur Mac distant (FAQ santé).
5. Contrôles d’atteignabilité prêts à coller
À lancer en dehors du tailnet/VPN — Telegram et Discord le font.
# DNS : confirmer le nom public enregistré chez Telegram/Discord
dig +short A bot.exemple.com
dig +short AAAA bot.exemple.com
# TLS + chemin HTTP : remplacer hôte/chemin par votre URL de webhook
curl -4sv https://bot.exemple.com/openclaw/telegram/webhook -o /dev/null
curl -6sv https://bot.exemple.com/openclaw/telegram/webhook -o /dev/null
# Chaîne de certificats (verify return code 0 attendu)
echo | openssl s_client -connect bot.exemple.com:443 -servername bot.exemple.com
# Enveloppe de latence (ajuster la région du VPS)
ping -c 20 bot.exemple.com
Barre minimum avant annonce prod : HTTP 200 via curl et journaux structurés sur le Mac corrélés à la requête. Pour le tri getWebhookInfo.last_error_* Telegram, réutiliser l’article webhook lié à l’étape 5.
6. Paramètres et chiffres citables
- Atteignabilité TCP 443 : Telegram et Discord attendent du TLS moderne sur le port 443 en production — documentez toute exception de port non standard (souvent non prise en charge).
- Budget RTT : avec tunnelisation inter-régions, viser un RTT bord→Mac < ~150 ms p95 pour des rafales de webhooks confortables ; au-delà de ~250 ms p95, paralléliser les appels modèles amont et élargir les timeouts de lecture du proxy.
- Fenêtre de rotation des secrets : coupler
secret_token(Telegram) et les secrets de signature Discord sur une fenêtre de changement ≤ 15 minutes avec journaux de retour arrière — au-delà, risque de livraison en état dissocié.
7. FAQ
Puis-je héberger des webhooks Telegram sur une box sans redirection de ports ?
Oui, avec IPv6 entrant natif, tunnel ou relais VPS exposant du HTTPS public — le seul CGNAT IPv4 ne suffit pas pour les POST entrants.
Discord exige-t-il la même discipline d’entrée ?
Oui. Traitez les interactions comme toute surface TLS Internet : chaîne complète, DNS stable, timeouts adaptés aux rafales JSON.
Pourquoi l’IPv6 « clignote » seulement sous charge ?
Souvent renumérotation de préfixe, pression sur le cache de voisins, ou table de suivi de sessions trop petite sur le CPE. Si le CPE est inaccessible, migrez l’entrée vers un tunnel pendant le ticket FAI.
Le long polling suffit-il ?
Pour Telegram, pont possible. Discord impose encore une URL HTTPS joignable pour de nombreux schémas d’automatisation — planifiez tunnel ou IPv6 de toute façon.
8. Synthèse et pourquoi le Mac mini colle à cette pile
Le CGNAT est un fait de routage : votre mission est d’exposer un seul nom HTTPS cohérent vers Telegram et Discord, puis de garder OpenClaw en sécurité sur loopback derrière ce bord. IPv6, tunnels et petits relais ne sont que des tactiques interchangeables une fois que les tests d’acceptation externes font partie du flux — pas du folklore manuel.
Un Mac mini M4 en Mac physique distant ZoneMac s’y prête bien : consommation veille de l’ordre de quelques watts sur Apple Silicon, services launchd natifs pour démons de tunnel et proxies inverses, et primitives de sécurité macOS (Gatekeeper, SIP, FileVault) qui réduisent l’angoisse d’une exposition longue durée par rapport à des hôtes Windows « bricolés ».
Si vous voulez OpenClaw, webhooks et observabilité sur du matériel silencieux joignable en SSH, le Mac mini M4 reste en 2026 l’un des meilleurs rapports prix/stabilité — louez un Mac physique chez ZoneMac et répétez ce runbook sur du métal réel avant de figer le trafic de production.
Besoin d’un Mac distant avec une entrée webhook stable ?
La location Mac mini cloud ZoneMac combine accès SSH et schémas loopback + proxy inverse attendus par OpenClaw — répétez ici vos runbooks CGNAT, tunnel et IPv6 sur du matériel dédié.