Gately v0.6.2.2 publié
1er novembre 2026
Télécharger v0.6.2.2 · GitHub Release
Vue topologie des Services Web (#54)
L’en-tête de la page Services Web gagne un sélecteur Liste / Topologie. La vue topologie dispose Internet → Gately → écouteurs → sites / actions de l’écouteur → backends / issues en cinq colonnes et s’actualise toutes les 2 secondes :
- les nœuds affichent leur état, leur mode de correspondance, leurs QPS et leurs requêtes en cours ; les backends indisponibles et les écouteurs qui n’ont pas pu démarrer sont en rouge, et les configurations attendues, comme un site par défaut qui ferme la connexion, la redirection HTTPS et le 404 lorsqu’aucun site ne correspond, sont en gris ;
- l’épaisseur des liens suit les QPS, et survoler ou cliquer un nœud met en évidence tout son chemin avec les QPS et le trafic sur les liens ;
- le panneau de détails affiche les QPS, la moyenne sur 60 secondes, le trafic, les requêtes en cours et au total, les erreurs de backend, les requêtes bloquées par motif, les codes de statut, les courbes sur 60 secondes et les IP actives qui passent par le nœud, chaque métrique avec une note sur sa mesure ;
- choisir une IP active met en évidence uniquement le chemin qu’elle a suivi, jusqu’au backend exact ;
- l’interrupteur Masquer affiche sous forme de
*la fin des IP et les adresses des backends, des écouteurs, des cibles de redirection et des messages d’erreur, pour partager des captures.
Tous les chiffres proviennent des compteurs en mémoire de cette instance via GET /api/webservice/topology, que les comptes en lecture seule peuvent consulter. Les statistiques des sites gagnent aussi les requêtes bloquées par motif ainsi que les requêtes et le trafic de chaque backend, et Prometheus gagne gately_site_blocked_total, gately_upstream_requests_total, gately_upstream_response_bytes_total et gately_listener_requests_total. Voir Services Web · Vue topologie.
IP réelle du visiteur derrière des proxys de confiance (#50)
Services Web → Paramètres globaux propose désormais « IP réelle du visiteur » : saisissez les adresses ou plages côté origine des proxys de confiance, comme un CDN ou un WAF, et choisissez dans l’ordre les en-têtes d’IP réelle (CF-Connecting-IP, X-Forwarded-For, X-Real-IP, True-Client-IP ou un nom personnalisé). Ces en-têtes sont lus uniquement lorsque le pair direct est un proxy de confiance ; les en-têtes envoyés par les visiteurs qui se connectent directement sont ignorés, et X-Forwarded-For est lu de droite à gauche en sautant les proxys de confiance. L’adresse obtenue sert aux journaux d’accès, aux listes d’IP, à l’accès réservé au LAN, au filtrage par pays, aux bannissements, aux statistiques et aux en-têtes transmis aux backends. Avec Cloudflare, l’en-tête recommandé est CF-Connecting-IP. Voir Services Web.
Connexions en direct par site (#51)
Chaque ligne de domaine de la liste des sites affiche le nombre de requêtes en cours, et la fenêtre Connexions se rafraîchit toutes les 2 secondes :
- la liste en direct affiche l’adresse source, le protocole (h1 / h2 / h3, WebSocket signalé), la méthode et le chemin (sans la chaîne de requête), la durée et le trafic dans les deux sens, avec une recherche par IP ;
- l’historique conserve en mémoire les 200 dernières requêtes par site ayant duré au moins 1 seconde ou fermées manuellement ;
- une requête peut être fermée seule (HTTP/2 et HTTP/3 réinitialisent uniquement ce flux), ou fermée avec bannissement de son adresse source, ce qui ferme aussi ses requêtes sur tous les sites. Votre propre adresse actuelle, les adresses de bouclage et les proxys de confiance sont exclus du bannissement.
Contrôle d’accès par IP source (#49)
Redirection de ports, Routage par protocole, le relais intégré de STUN et les instances frps peuvent chacun utiliser une liste d’autorisation ou de blocage composée d’IP / sous-réseaux saisis à la main et des listes d’IP abonnées des Services Web ; une liste actualisée s’applique immédiatement, sans redémarrer la règle :
- les bannissements de la Prévention d’intrusion sont vérifiés en premier, puis la liste ;
- les cartes de règles affichent le mode d’accès et le nombre de refus, la page des listes d’IP indique quelles règles utilisent chaque liste, et une liste utilisée ne peut pas être supprimée ;
- la liste de frps est vérifiée à la connexion de frpc et protège le port d’écoute ;
- l’import depuis Lucky des règles de redirection de ports et de STUN convertit leur mode sécurisé en contrôle d’accès par IP source (envoyez
lucky_ipfilter.lkcfdans le même import).
Voir Redirection de ports et Tailscale / frp / cloudflared.
Liens des sites (#52)
Chaque domaine exact de la liste des sites s’ouvre dans un nouvel onglet, avec un bouton qui copie l’URL complète, schéma et port compris ; lorsque les visiteurs passent par Routage par protocole, une redirection de port, frp ou un CDN, l’écoute peut recevoir l’adresse d’accès publique. Les proxys http / https de frpc, les URL d’accès de File Browser, l’adresse du tunnel rapide Cloudflare et le lien de connexion Tailscale s’ouvrent et se copient de la même manière. Les domaines sont enregistrés sous la forme envoyée par les navigateurs (en minuscules, domaines internationalisés en punycode), et les valeurs qui ne pourraient jamais correspondre, par exemple avec un port ou un chemin, sont refusées.
DNS dynamique
- Les remarques des enregistrements (ou la remarque de la tâche si elles sont vides) sont écrites chez Alibaba Cloud, Cloudflare, Tencent Cloud, DNSPod et Huawei Cloud ;
- la suppression d’enregistrements ou de tâches propose « Supprimer aussi chez le fournisseur DNS », pris en charge par 14 fournisseurs. Seul l’enregistrement dont la valeur correspond à la dernière synchronisation de Gately est supprimé ; si la valeur est inconnue, a été modifiée dans la console ou si le jeu d’enregistrements contient d’autres valeurs, l’enregistrement est conservé et la raison est affichée ;
- l’interrupteur du module passe dans Paramètres globaux, qui définit aussi l’état par défaut de la case de suppression.
Autres améliorations
- La page Docker peut mettre à niveau le conteneur dans lequel tourne Gately lui-même : la nouvelle image est d’abord récupérée et, uniquement s’il existe une nouvelle version, un conteneur auxiliaire temporaire recrée le conteneur et restaure l’ancien si le nouveau ne démarre pas ; le shell local du Terminal Web renvoie vers cette action lorsqu’il s’exécute dans le conteneur Gately ;
- sur téléphone, un appui d’environ une demi-seconde sur le Terminal Web active un mode de sélection avec les poignées de sélection et le menu de copie du système, et les lignes coupées par le retour à la ligne automatique sont recollées à la copie ; la barre de touches gagne une touche coller qui ouvre un panneau de collage en HTTP, d’où les 10 derniers textes copiés ou saisis dans cet onglet peuvent être renvoyés ; coller plusieurs lignes demande d’abord une confirmation lorsque le programme distant n’a pas activé le collage entre crochets (bracketed paste) ;
- la page Utilisateurs d’auth peut retirer les sites qui s’authentifient uniquement avec des utilisateurs partagés, avec une confirmation avant de désactiver leur authentification ;
- la modification d’une règle de Routage par protocole conserve les compteurs de correspondances des routes dont le protocole, les domaines et l’ALPN restent identiques ;
- le test de débit de Diagnostic réseau demande 50 Mo par requête, ce qui corrige l’erreur HTTP 403 de Cloudflare, ajoute les nœuds de test Vultr, Hetzner et OVH, et les titres des tâches n’affichent que la cible de l’outil en cours ;
- les refus sur un site par défaut qui ferme la connexion aux visiteurs hors de sa liste comptent comme 444 pour le Sondage de chemins web (#53) ;
- avec une Entrée sécurisée configurée, l’icône d’écran d’accueil sur iOS affiche l’icône de Gately.
Corrections et renforcements
- Le Terminal Web retire les caractères de contrôle du texte collé, si bien qu’une séquence de fin de collage entre crochets intégrée ne peut pas contourner la confirmation multiligne ; le texte lu directement dans le presse-papiers du système n’est pas ajouté à l’historique du presse-papiers, et l’historique est effacé à la déconnexion ou à l’expiration de la session ;
- fermer une requête au moment où elle se termine n’affecte plus la requête suivante sur la même connexion ;
- une seconde mise à niveau de Gately lui-même lancée pendant qu’une autre est en cours est refusée ; le conteneur auxiliaire de mise à niveau est supprimé avec son volume anonyme, et plusieurs instances de Gately sur un même hôte Docker ne gèrent que leurs propres conteneurs auxiliaires ;
- lorsque la modification d’une tâche de DNS dynamique supprime des enregistrements avec « Supprimer aussi chez le fournisseur DNS » coché, la configuration à enregistrer est validée d’abord, et rien n’est supprimé chez le fournisseur si la validation échoue ; la synchronisation Tencent Cloud compare l’enregistrement d’hôte de manière exacte ;
- correction d’une course de données entre le rechargement à chaud des sites et les requêtes en cours ; les adresses de backend dans les journaux, les événements et les métriques omettent le nom d’utilisateur, le mot de passe et la chaîne de requête ;
- les fenêtres Connexions et statistiques arrêtent leurs requêtes périodiques après avoir quitté la page ; la boîte de dialogue de bannissement reste ouverte si le bannissement échoue ; les sous-domaines frp refusent les adresses IPv6 ; l’import d’une règle Lucky en mode liste de blocage avertit lorsque sa liste est absente.
Notes de mise à niveau
- Docker : récupérez la nouvelle image et recréez le conteneur ; lorsque le socket Docker est monté, Gately peut aussi se mettre à niveau lui-même depuis sa page Docker. OpenWrt : installez le nouveau
.apk/.ipkpar-dessus l’ancien. fnOS : installez manuellement le nouveau.fpkdans le Centre d’applications. Les autres installations peuvent être mises à niveau en ligne dans « Paramètres système ».