Quelle est mon adresse IP ?
serveurVotre adresse est donnée par le serveur de r-no.fr, qui la voit à chaque requête : cette partie ne peut pas être vérifiée depuis votre navigateur. Pourquoi, et ce qu’elle fait.
C’est l’adresse qu’Internet voit quand vous vous connectez : celle de votre box, de votre opérateur ou de votre VPN, pas celle de votre ordinateur sur votre réseau local.
Transparence
Cet outil doit interroger le serveur : votre navigateur ne connaît pas l’adresse sous laquelle Internet le voit.
- Pourquoi cet outil porte l’étiquette [serveur]
- La réponse vient d’une règle du serveur, affichée en entier plus bas : elle renvoie l’adresse d’où vient la requête. Rien de ce que vous saisissez n’est envoyé, et le serveur n’apprend rien qu’il ne reçoive déjà avec chaque page. Mais rien ne vous permet de vérifier d’ici que c’est bien cette règle qui répond : pour cette partie, il faut faire confiance à r-no.fr.
- La requête
- La page interroge
/ip/my-ip/address, sur ce même site. Le serveur répond l’adresse d’où vient la requête, en texte brut, et rien d’autre. La politique de sécurité du contenu (CSP) de cette page n’autorise qu’une autre destination, comme sur toutes les pages du site :https://stats.r-no.fr, la mesure d’audience (connect-src 'self' https://stats.r-no.fr, voir plus bas). Aucun envoi de formulaire. - Mesure d’audience
- Comme toutes les pages du site, celle-ci compte sa visite avec Umami, installé sur le serveur de R-no lui-même (
stats.r-no.fr). Il reçoit l’adresse de la page, sans paramètres ni ancre, le site d’où vous venez (son nom de domaine seulement), votre navigateur, votre système, votre langue et la taille de votre écran, ainsi que le pays, la région et la ville déduits de votre adresse IP, qui n’est pas conservée. Il ne reçoit jamais ce que vous saisissez, ni le résultat de l’outil. Aucun cookie, rien d’enregistré dans votre navigateur ; si votre navigateur demande à ne pas être suivi (Do Not Track), rien n’est mesuré. Les données sont effacées au bout de 25 mois.- /commun/mesure.js : le filtre appliqué avant chaque envoi, écrit pour R-no Toolbox. 1.4 kB
SHA-256225eec74fd12623d82fc05ee7d222be629ce454d081c129e8d1e249ed37ee716 - https://stats.r-no.fr/m.js : le script de suivi d’Umami, libre (MIT), servi par le serveur de mesure. Son empreinte n’est pas affichée ici : elle change à chaque version d’Umami, et vous ne pouvez pas vérifier depuis votre navigateur qu’il s’agit du code publié. Pour cette partie, il faut faire confiance à R-no.
- /commun/mesure.js : le filtre appliqué avant chaque envoi, écrit pour R-no Toolbox. 1.4 kB
- Depuis ce site uniquement
- Le serveur ne répond qu’aux requêtes que votre navigateur marque comme venant d’une page de r-no.fr elle-même (l’en-tête
Sec-Fetch-Site: same-origin, qu’une page ne peut pas choisir). Les autres sites,curlet les scripts sont refusés, pour que l’adresse ne soit pas réutilisée par des outils extérieurs. C’est un frein, pas un verrou : un script peut ajouter cet en-tête lui-même. - Ce que le serveur garde
- Tout site web reçoit votre adresse IP à chaque requête : c’est ainsi que la réponse retrouve son chemin. Comme toute requête vers ce site, celle-ci est notée dans les journaux d’accès du serveur : votre adresse IP, la date et l’heure, l’adresse demandée et le nom de votre navigateur. Ces journaux servent à faire fonctionner et à sécuriser le serveur, et ne sont jamais partagés. Pour l’instant, leur durée de conservation n’est pas limitée automatiquement ; une rotation des journaux est en cours de mise en place. La réponse elle-même est marquée comme ne devant pas être mise en cache.
- D’où vient l’adresse
- Le proxy inverse placé devant le site relève l’adresse de la connexion qu’il reçoit, et la transmet dans un en-tête qu’il réécrit lui-même : un visiteur ne peut pas faire afficher une autre adresse en envoyant cet en-tête. Chaque déploiement le vérifie aussi.
- Le code qui s’exécute ici
-
Dans votre navigateur, vérifiable
- app.js: demande l’adresse et l’affiche. Écrit pour R-no Toolbox, non minifié, sans bibliothèque tierce. 3.4 kB
SHA-2568cc549768e63569ff7192a4578241d4aa6df1ac54cad1832638bd1b8ca15c10e - textes.js: les messages en français de l’outil, affichés par son script (le reste de la page française est écrit dans son HTML à la construction du site). Il ne fait que définir des textes, sans aucune logique. 6.2 kB
SHA-25669c366f21ef4b77e7a7668dfd7cd89434b0095004f359bced0443a52cb937989 - /commun/langue.js: l’aide à la traduction, la même sur toutes les pages du site. Elle lit la langue de la page et donne à l’outil ses messages dans cette langue. Elle ne conserve rien. 1.6 kB
SHA-25680f76f69773ef628d36d09bf8387cfedebda4529210d7120649b6f5603310631
Sur le serveur, à croire sur parole
/ip/my-ip/addressn’est pas un programme, mais une règle du serveur web nginx, dans la configuration du site. La voici, sans ses commentaires :map $http_x_real_ip $ip_visiteur { "~^[0-9A-Fa-f:.]{2,45}$" $http_x_real_ip; default $remote_addr; } location = /ip/my-ip/address { default_type text/plain; add_header Cache-Control "no-store" always; add_header X-Content-Type-Options "nosniff" always; if ($appel_du_site = 0) { return 403 "Only r-no.fr pages can ask for this address: …"; } return 200 "$ip_visiteur\n"; }X-Real-Ipest écrit par le proxy inverse placé devant le site (voir plus haut) ;$appel_du_sitevaut 1 quand le navigateur indique que la requête vient d’une page de r-no.fr. - app.js: demande l’adresse et l’affiche. Écrit pour R-no Toolbox, non minifié, sans bibliothèque tierce. 3.4 kB
- Ce qui est conservé
- Aucun cookie, rien dans l’adresse. La langue est donnée par l’adresse elle-même (
/en/ou/fr/) : rien n’est conservé pour s’en souvenir. - Vérifiez vous-même
- Téléchargez le script et comparez son empreinte avec celle affichée ci-dessus :
curl -s https://r-no.fr/ip/my-ip/app.js | shasum -a 256 - Limites
- Ce site n’est joignable qu’en IPv4 pour l’instant : vous verrez votre adresse IPv4, même si votre connexion a aussi de l’IPv6. Un navigateur trop ancien pour envoyer l’en-tête
Sec-Fetch-Site(Safari avant 16.4, par exemple) est refusé comme un outil extérieur. Aucune localisation ni aucun opérateur ne sont affichés : il faudrait pour cela une base de données. Pour le nom DNS inverse et la fiche du registre de votre adresse, voir ip/reverse et ip/whois.