Badge IP

Badge IP : mon IP Badge IP : mon IP (token) Badge IP : mon IP (hex) Badge IP : IP + code pays Badge IP : IP + code pays (couleur token) Badge IP : IP + code pays (couleur hex) Badge IP : IP spécifié + code pays Badge IP : IP spécifié (avec couleur) Badge IP : nom du pays en chinois Badge IP : chinois + couleur Badge IP : IP spécifié + nom du pays en chinois Badge IP : IP spécifié + chinois + couleur
Méthodes courantes (affichées sur la page)

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 : Badge IP : Mon IP

Détecter l’egress (code) : Badge IP : IP + code pays (ex. US/TW/JP)

Détecter l’egress (chinois) : Badge IP : Nom du pays en chinois

Interroger une IP spécifique (8.8.8.8) : Badge IP : 8.8.8.8 + code pays

Interroger une IP spécifique (chinois) : Badge IP : 8.8.8.8 en chinois

Affichage “statut” (bleu) : Badge IP : Chinois + bleu (vous pouvez aussi utiliser un hex : /check-ip-zh-ff0000)

Affichage adapté aux petits écrans : Badge IP : retour à la ligne sur petit écran
Badge à un segment (IP)

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.

Badge IP
<img src="https://s.ipin.io/myip" alt="Mon IP" />
Badge à un segment (IP) + couleur (token)

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.

Badge IP
<img src="https://s.ipin.io/myip-gray" alt="Mon IP (gris)" />
Badge à un segment (IP) + couleur (hex)

Prend en charge les couleurs hexadécimales à 6 caractères (sans #) pour correspondre précisément aux couleurs de marque / de thème.

Badge IP
<img src="https://s.ipin.io/myip-111827" alt="Mon IP (couleur personnalisée)" />
Badge à deux segments (IP client + code pays)

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.

Badge IP
<img src="https://s.ipin.io/check-ip" alt="IP + code pays" />
Badge à deux segments (IP client + code) + couleur (token)

Ajoutez -blue/-green etc. pour changer la couleur du bloc résultat à droite — couramment utilisé pour une présentation “sémantique de statut”.

Badge IP
<img src="https://s.ipin.io/check-ip-blue" alt="IP + code (bleu)" />
Badge à deux segments (IP client + code) + couleur (hex)

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.

Badge IP
<img src="https://s.ipin.io/check-ip-16a34a" alt="IP + code (vert personnalisé)" />
Badge à deux segments (IP spécifiée + code pays)

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.

Badge IP
<img src="https://s.ipin.io/check-8.8.8.8" alt="8.8.8.8 + code pays" />
Badge à deux segments (IP spécifiée + code) + couleur

Ajoutez un suffixe de couleur à une IP spécifiée pour “colorer” des niveaux de risque (ex. rouge = risque élevé, jaune = à surveiller).

Badge IP
<img src="https://s.ipin.io/check-8.8.8.8-red" alt="8.8.8.8 (rouge)" />
Badge à deux segments (IP client + code + nom du pays, multilingue)

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.

Badge IP
<img src="https://s.ipin.io/check-ip-zh" alt="IP + code + nom du pays (chinois)" />
Badge à deux segments (IP client + nom du pays) + couleur

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

Badge IP
<img src="https://s.ipin.io/check-ip-zh-blue" alt="Nom du pays en chinois (bleu)" />
Badge à deux segments (IP spécifiée + code + nom du pays, multilingue)

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.

Badge IP
<img src="https://s.ipin.io/check-8.8.8.8-zh" alt="8.8.8.8 + nom du pays (chinois)" />
Badge à deux segments (IP spécifiée + nom du pays) + couleur

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.

Badge IP
<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”.

① Afficher uniquement l’IP du visiteur (badge à un segment)
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.

② Afficher l’IP du visiteur + code pays (badge à deux segments)
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).

③ Interroger une IP spécifique + code pays (badge à deux segments)
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.

④ Afficher l’IP du visiteur + code + nom du pays (avec langue)
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.

⑤ Interroger une IP spécifique + code + nom du pays (avec langue)
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-green

    Les 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-16a34a

    L’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-111827

    Les 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.

Markdown (README/docs)
![IP Badge](https://s.ipin.io/check-ip-zh-blue)
HTML (web/back-office/page d’annonce)
<img src="https://s.ipin.io/check-8.8.8.8-zh-green" alt="IP Badge" />
Supervision/pages de statut (cache recommandé)

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é.