Comment marche ipkiwi

Presque tout ce qui rend ipkiwi rapide et privé tient à une seule décision : il n’y a pas de serveur au milieu. Cette page explique ce qui l’a remplacé.

Il n’y a pas d’origine

Un site normal possède quelque part un serveur d’origine : une machine dans une ville précise que chaque requête finit par atteindre. Un CDN devant aide, mais tout ce qui est personnel doit venir de l’origine, si bien qu’un visiteur de Jakarta attend un aller-retour complet jusqu’à l’endroit où se trouve cette machine.

ipkiwi n’a pas d’origine. Le site entier est un ensemble de fichiers statiques répartis sur le réseau de Cloudflare, et le code qui les personnalise s’exécute sur le serveur de bordure qui a précisément accepté votre connexion. Que vous soyez à São Paulo, Varsovie ou Jakarta, la machine qui vous répond est à quelques millisecondes.

Comment une page personnelle reste un fichier en cache

Les pages qui affichent vos données sont les mêmes fichiers statiques que le reste. Lorsqu’on en demande une, la bordure la tire du cache et la réécrit au passage du flux, en remplaçant les emplacements marqués par des valeurs prises sur la connexion elle-même : votre adresse, le pays auquel elle est enregistrée, votre opérateur, le protocole négocié par votre navigateur.

Rien n’est assemblé, interrogé ni rendu. Le fichier a été construit une fois, au déploiement ; le seul travail par requête consiste à insérer quelques dizaines de chaînes dans un flux déjà en mouvement.

Voilà pourquoi la réponse est dans le HTML plutôt que d’apparaître un instant plus tard. Et pourquoi il n’y a aucun décalage de mise en page : rien n’arrive en retard, puisque rien n’est chargé après coup.

Rien à journaliser

Il n’y a ni base de données, ni journal de requêtes, ni script d’analytique. Ce n’est pas de la retenue : un journal n’aurait nulle part où aller. Le code s’exécute le temps d’une requête et, une fois celle-ci terminée, ne conserve rien.

Votre adresse est lue parce que répondre sans la lire est impossible, utilisée pour écrire votre page, puis disparaît avec la réponse. Nous ne la voyons jamais, et il n’existe aucun enregistrement à produire, à faire fuiter ou à nous réclamer.

Vérifiez par vous-même

Les affirmations sur la vitesse et la confidentialité ne coûtent rien, alors les pages d’outils se mesurent elles-mêmes. La ligne sous la réponse affiche trois chiffres relevés par votre navigateur sur la requête que vous venez de faire : le temps de réponse de la bordure, le nombre de requêtes parties vers d’autres domaines et le nombre de cookies déposés.

Les deux derniers valent toujours zéro. Rien n’est chargé depuis un autre domaine — ni polices, ni scripts, ni balises, ni cadres — et vous le confirmerez dans le panneau réseau de votre navigateur en une dizaine de secondes.

Deux autres essais valent le détour : coupez JavaScript et rechargez, la réponse est toujours là ; puis ouvrez le code source et retrouvez votre adresse en plein HTML.

Les mêmes données, en JSON

Tout ce qui figure sur la page est disponible depuis un seul point d’accès, sans clé, sans inscription et sans limite pour un usage ordinaire :

curl https://ipkiwi.com/api/me

/api/me.txt ne renvoie que l’adresse brute, pour les scripts shell. Les deux tournent sur la même bordure, répondent dans les mêmes quelques millisecondes et sont journalisés exactement autant que les pages : pas du tout.

Questions fréquentes

Pourquoi est-ce plus rapide que les autres services de consultation d'IP ?

Parce que rien n'a de trajet à faire. La plupart des sites chargent une page, exécutent un script, appellent une API, puis dessinent la réponse. Ici la réponse est déjà dans le HTML quand il vous parvient, écrite par la machine même qui a accepté votre connexion.

Le site fonctionne-t-il sans JavaScript ?

La réponse, oui. Votre adresse, votre localisation, votre opérateur et les détails de connexion sont dans le HTML lui-même. JavaScript n'ajoute que ce qu'un serveur ne peut pas savoir — taille d'écran, fuseau horaire du navigateur — et les mesures en haut des pages d'outils.

Comment peut-on n'avoir aucun journal ?

Il n'y a pas de serveur pour en écrire. Le code vit le temps d'une requête et ne conserve rien ensuite. Ne pas garder de données demande moins de travail que d'en garder, pas plus.

D'où viennent les mesures affichées sur les pages d'outils ?

De votre propre navigateur. Le temps de réponse et le nombre de requêtes viennent de Navigation Timing et Resource Timing, et décrivent la requête que vous venez de faire. Nous ne voyons jamais ces chiffres.

Outils associés