Badge IP
Ci-dessous, quelques-unes des façons les plus courantes d’intégrer le badge sur une page web : afficher uniquement l’IP, afficher le code pays, afficher le nom du pays en chinois, interroger une IP spécifique, ainsi que des badges “à statut” avec des couleurs. Chaque méthode est présentée sur une seule ligne, idéale pour une page personnelle, un tableau de bord d’administration, une page d’annonce ou une page de statut.
Votre IP actuelle :
Détecter l’egress (code) :
(ex. US/TW/JP)
Détecter l’egress (chinois) :
Interroger une IP spécifique (8.8.8.8) :
Interroger une IP spécifique (chinois) :
Affichage “statut” (bleu) :
(vous pouvez aussi utiliser un hex : /check-ip-zh-ff0000)
Affiche uniquement l’IP du visiteur (badge à un segment) pour une sortie la plus propre possible ; idéal pour un README ou une page de statut afin d’afficher rapidement l’egress actuel.
<img src="https://s.ipin.io/myip" alt="Mon IP" />
Ajoutez -blue/-green/-gray etc. à la fin de la route pour contrôler la couleur de fond et harmoniser le badge avec le thème de la page.
<img src="https://s.ipin.io/myip-gray" alt="Mon IP (gris)" />
Prend en charge les couleurs hexadécimales à 6 caractères (sans #) pour correspondre précisément aux couleurs de marque / de thème.
<img src="https://s.ipin.io/myip-111827" alt="Mon IP (couleur personnalisée)" />
Affiche l’IP du visiteur + le code pays country_code (ex. US/TW/JP), idéal pour les tableaux de bord et pages de statut afin d’identifier rapidement l’egress.
<img src="https://s.ipin.io/check-ip" alt="IP + code pays" />
Ajoutez -blue/-green etc. pour changer la couleur du bloc résultat à droite — couramment utilisé pour une présentation “sémantique de statut”.
<img src="https://s.ipin.io/check-ip-blue" alt="IP + code (bleu)" />
Utilisez un hex à 6 caractères pour personnaliser la couleur du bloc résultat à droite — parfait pour aligner le thème ou colorer selon un niveau de risque.
<img src="https://s.ipin.io/check-ip-16a34a" alt="IP + code (vert personnalisé)" />
Interroge et affiche le code pays d’une IP spécifiée — utile pour visualiser des “IPs suspectes” dans des tickets, alertes ou analyses de logs.
<img src="https://s.ipin.io/check-8.8.8.8" alt="8.8.8.8 + code pays" />
Ajoutez un suffixe de couleur à une IP spécifiée pour “colorer” des niveaux de risque (ex. rouge = risque élevé, jaune = à surveiller).
<img src="https://s.ipin.io/check-8.8.8.8-red" alt="8.8.8.8 (rouge)" />
Quand la route contient un segment de langue comme -zh/-en/-ja, la partie droite affiche “code + nom du pays”. Sans langue, le nom du pays n’est pas inclus par défaut.
<img src="https://s.ipin.io/check-ip-zh" alt="IP + code + nom du pays (chinois)" />
Les segments langue et couleur peuvent se combiner : /check-ip-zh-blue, pratique pour un style cohérent entre pages multilingues. Tokens couleur : sky cyan green emerald yellow orange red rose gray black
<img src="https://s.ipin.io/check-ip-zh-blue" alt="Nom du pays en chinois (bleu)" />
Interrogez une IP spécifiée et affichez le nom du pays dans la langue choisie — idéal pour intégrer des “IPs d’alerte” dans des tickets ou notifications, afin que le lecteur comprenne vite le pays source sans ouvrir les détails.
<img src="https://s.ipin.io/check-8.8.8.8-zh" alt="8.8.8.8 + nom du pays (chinois)" />
La combinaison IP spécifiée + langue + couleur est idéale pour visualiser des “niveaux sécurité/risque” : par exemple, rouge = risque élevé, vert = liste blanche.
<img src="https://s.ipin.io/check-8.8.8.8-zh-green" alt="8.8.8.8 (chinois + vert)" />
Présentation de l’outil IP Badge
IP Badge est une “API d’images” légère : elle prend l’IP du visiteur (ou une IP que vous spécifiez) ainsi que
country_code (code pays) et
country_name (nom du pays, optionnel),
les rend sous forme d’une image badge SVG directement intégrable, et la renvoie avec
Content-Type: image/svg+xml.
Contrairement aux API classiques qui renvoient du JSON, un badge SVG s’affiche comme une image ordinaire dans un README, un tableau de bord, un mur de supervision, une page de statut ou partout où un
<img>
est supporté, sans traitement front-end supplémentaire.
L’outil utilise une mise en page à deux segments (type shields.io) : à gauche, l’IP ; à droite, le résultat (code pays ou “code + nom du pays”). Les couleurs et les langues se contrôlent via des segments de route.
Côté données, la géolocalisation IP s’appuie sur la table locale
ip2location_db11
(correspondance de plages IPv4 pour obtenir country_code),
et les noms de pays multilingues proviennent de
sys_lang_multi,
via un mapping par vc_code vers des champs comme
name_en / name_zh / name_ja ...
(le nom du pays n’est renvoyé que si la route contient un segment de langue).
L’outil tente aussi d’extraire la véritable IP client via des en-têtes proxy courants (ex. Cloudflare, X-Forwarded-For), ce qui le rend adapté aux déploiements derrière un CDN, un reverse proxy ou un load balancer.
Routes et contenu retourné : du plus simple au plus complet
Le principe clé d’IP Badge est : utiliser la route comme une URL d’image. En ouvrant la route dans le navigateur, vous verrez le badge SVG ;
en l’utilisant dans du Markdown ou du HTML, elle s’affichera comme une image. Pour répondre à différents besoins de “densité d’information”, les routes se divisent en deux grandes catégories : myip et check :
myip est orienté affichage (IP seule), check est orienté requête (avec informations pays).
De plus, le nom du pays n’apparaît que si la route contient -<lang> ;
sans langue, seul le code pays est affiché pour garder un badge plus court et “type statut”.
GET /myip
Cas d’usage : afficher l’IP de sortie du serveur, vérifier la transmission de l’IP réelle via proxy, page personnelle, etc. Sortie : badge à un segment ne contenant que le texte IP.
GET /check-ip
Cas d’usage : tableaux de bord et pages de statut pour indiquer rapidement le “pays de sortie”. La partie droite affiche seulement country_code (ex. US / TW / JP).
GET /check-8.8.8.8
Cas d’usage : tickets, alertes, analyses de logs — transformer des “IPs suspectes” en étiquettes visuelles pour identifier rapidement le pays source.
GET /check-ip-zh
Cas d’usage : pages destinées à des non-techniciens ou nécessitant une meilleure lisibilité ; la partie droite affiche country_code + country_name, par exemple “US United States”.
Quand la langue est omise, le nom du pays n’est pas renvoyé par défaut afin d’éviter des badges trop longs.
GET /check-8.8.8.8-zh
Cas d’usage : opérations de sécurité, investigations internationales, systèmes de tickets support, etc. — intégrer l’info pays d’une IP sous forme de “badge image” dans n’importe quelle page ou message.
Contrôle des couleurs (option B) : ajouter -<color> en fin de route, comme shields
IP Badge permet d’ajouter -<color> à la fin de la route pour contrôler la couleur de fond (souvent la zone résultat à droite),
comme sur shields.io : vous pouvez utiliser des tokens simples (blue/green/red/gray) ou une valeur hex à 6 caractères (sans #).
Vous pouvez ainsi associer couleur et signification métier, par exemple “green = normal, yellow = à surveiller, red = risque élevé”, afin que le badge transmette à la fois information et sémantique de statut.
-
Spécifier un token couleur :
GET /check-ip-zh-blue GET /check-8.8.8.8-greenLes tokens sont pratiques pour “choisir vite une couleur”, par exemple blue/green/red/orange/yellow/gray, etc. (selon votre table de mapping dans le contrôleur).
-
Spécifier un hex à 6 caractères (sans #) :
GET /check-ip-zh-ff0000 GET /check-8.8.8.8-16a34aL’hex est idéal pour s’aligner strictement sur la couleur thème du site, par exemple la couleur principale de votre back-office ou votre palette de marque, afin d’assurer une UI cohérente.
-
myip accepte aussi les couleurs :
GET /myip-gray GET /myip-111827Les badges à un segment sont souvent utilisés “pour l’affichage” ; la couleur aide à mieux s’intégrer au style de la page ou à se distinguer dans une liste.
Intégration : utilisable directement en Markdown / HTML / tableaux de bord
Comme IP Badge renvoie une image SVG, l’usage le plus recommandé est l’intégration directe. Dans un README/Wiki GitHub ou GitLab, la syntaxe d’image Markdown suffit ;
dans une page web ou un back-office, utilisez simplement la balise <img>.
Le principal avantage : pas besoin de logique front-end supplémentaire, ni de gérer du JSON CORS, des templates ou la mise en page des polices — le navigateur sait afficher un SVG comme une image.

<img src="https://s.ipin.io/check-8.8.8.8-zh-green" alt="IP Badge" />
Si vous souhaitez afficher de nombreux badges sur un mur de supervision ou une page de statut (par ex. plusieurs sorties de nœuds, plusieurs IP d’investigation), il est recommandé d’activer un cache plus long (par exemple 1 heure ou davantage). Cela réduit nettement la charge de requêtes DB et améliore la vitesse de chargement. Comme les infos de géolocalisation IP évoluent rarement, le gain du cache est élevé.
Scénarios courants : transformer “l’info IP” en composant visuel
IP Badge est très adapté aux besoins “orientés affichage”. Par exemple, sur une page de statut Ops, vous pouvez transformer l’IP/les infos pays de sortie de différents nœuds en un “mur de badges” et voir d’un coup d’œil si un nœud sort depuis une région inattendue ;
en opérations de sécurité, vous pouvez intégrer des IP d’alerte sous forme de badges rouges dans des tickets ou notifications (ex. “US United States” / “RU Russia”), permettant aux équipes d’astreinte de comprendre rapidement le contexte de risque sans ouvrir les détails ;
lors du debug de chaînes CDN/reverse proxy, accéder à /myip et /check-ip
aide à vérifier si l’IP réelle est correctement transmise ou écrasée ;
dans des back-offices multilingues ou des SaaS internationaux, l’utilisation de -zh/-en/-ja
permet d’afficher différents noms de pays selon la langue, réduisant le coût de maintenance des dictionnaires i18n côté front.
Enfin, vous pouvez associer couleurs et statut métier (vert = “autorisé”, jaune = “vérification requise”, rouge = “bloqué/risque élevé”) afin que le badge porte à la fois “info + statut”.
Conseil : si vous exposez le service sur Internet, il est recommandé de mettre en place une politique “en-têtes proxy de confiance” au niveau du reverse proxy ou de l’application, afin d’éviter que des clients falsifient des en-têtes comme X-Forwarded-For et provoquent un affichage incorrect.
Il est aussi recommandé d’ajouter des index sur
ip2location_db11.ip_from et
sys_lang_multi.vc_code,
et d’utiliser des en-têtes de cache pour améliorer les performances et la stabilité.