Autoblog de korben.info

Ce site n'est pas le site officiel de korben.info
C'est un blog automatisé qui réplique les articles de korben.info

RTK - Le proxy Rust qui vous fait économiser jusqu'à 90% de tokens

Mon, 04 May 2026 11:52:34 +0200 - (source)

Si vous utilisez Claude Code au quotidien, vous connaissez ce goût de sang qui vous monte dans la bouche lorsque sans prévenir quand cette putain de limite de quota imposée par Anthropic vous explose à la gueule ! Et le pire c'est que vous n'avez pas l'impression d'avoir fait grand chose.

En réalité, la vraie raison c'est surtout le "bruit" de toutes vos sorties shell. Un git log, un cargo test, un npm build... votre agent IA ingère tout ça comme du petit lait alors qu'il n'a besoin que d'une fraction pour comprendre ce qui se passe.

Breeef, c'est pas ouf quoi.

Heureusement pour vous RTK (Rust Token Killer) vient régler en partie ce problème. RTK c'est développé par un français et c'est un proxy CLI en Rust qui s'intercale entre votre shell et votre agent IA, intercepte les commandes courantes et compresse leur sortie avant qu'elle n'atterrisse dans le contexte de votre agent.

Comme ça plutôt que de massacrer vos prompts ou de changer vos habitudes (et dieu sait que vous avez horreur de changer d'habitudes..lol), il attaque le bruit à la source grâce à 4 stratégies de compression : un filtrage du boilerplate, un regroupement des lignes similaires, une troncature intelligente et de la déduplication des répétitions.

Et tout ça s'intègre merveilleusement bien via un hook pour Claude Code, GitHub Copilot, Cursor, Gemini CLI, Windsurf, Cline, Codex... soit une bonne dizaine d'outils supportés !

Ainsi, votre git status devient rtk git status sans changer quoi que ce soit à vos habitudes... RTK fait tout le filtrage dans votre dos, ce qui est parfait ! C'est un outil qu'on installe et qu'on oublie.

Par exemple un git diff passe de 12 000 tokens à 960, soit 92% d'économie, un npm test tombe de 6 000 à 600 tokens et une session de refactoring sur 12 fichiers passe de 74 700 à 6 960 tokens d'après les benchmarks. En pratique, les utilisateurs constatent des économies autour de 70% sur l'ensemble d'une journée de boulot, ce qui représente plusieurs millions de tokens par semaine pour ceux qui bossent avec des agents IA à plein régime.

Moi ça fait plusieurs mois que je le teste et voici mes stats. Ça donne quand même 81,5 % d'économie de tokens !!

L'installation se fait en une commande : brew install rtk sur macOS, ou un script curl pour les autres plateformes, ou cargo install --git https://github.com/rtk-ai/rtk si vous préférez compiler ça vous-même.

Avec la commande rtk gain vous verrez un tableau comme ci-dessus avec les statistiques par commande, et rtk gain --history donnera l'historique détaillé. Y'a plus de 100 commandes couvertes, de git aux runners de tests en passant par AWS CLI, kubectl et docker. Par contre, ça marche pas super bien si vos sorties de commandes sont déjà très courtes. Ça ne fera pas de miracle mais pour des diffs volumineux ou de suites de tests qui crachent 3 000 lignes à chaque fois, c'est tip top !

Si vous utilisez des agents en mode autonome où une boucle tourne sans intervention, c'est même encore plus pertinent car chaque itération accumule du bruit de façon cumulative, et du coup le contexte se remplit de trucs inutiles à vitesse grand V. Moins de bruit grâce à RTK, c'est donc une économie de tokens mais c'est également un meilleur signal pour votre agent.

RTK est dispo en open source sur GitHub sous licence Apache 2.0.


OAuth2 Proxy - L'authentification OIDC en reverse proxy

Mon, 04 May 2026 11:32:34 +0200 - (source)

Vous avez un service qui tourne sur le port 8080, mais aucune authentification native dessus et vous voulez ajouter OAuth2 sans avoir à toucher au code ? Vous êtes vraiment exigeant dans la vie !

Mais comme vos désirs sont des ordres, je vous présente oauth2-proxy dont c'est EXACTEMENT le boulot !

Le principe avec cet outil c'est qu'il se glisse entre l'utilisateur et votre application. Ainsi, si la personne n'est pas connectée, elle est alors redirigée vers son provider OAuth2 ou OIDC. Et une fois le token validé, popopop, la requête repart vers son point d'origine avec les infos utilisateur dans les headers HTTP. Et voilà comme votre app reçoit le nom, l'email, et les groupes associés à l'utilisateur ! Plus besoin de gérer l'auth dans votre code c'est que du bonheur !

Et la liste des providers supportés par oauth2-proxy est longue : Google (c'est celui par défaut), GitHub, GitLab, Microsoft Entra ID, Keycloak, Gitea / Forgejo, NextCloud, DigitalOcean, LinkedIn, Bitbucket, Cisco Duo... et un bon vieux client OIDC générique pour tout ce qui expose un accès standardisé. Comme ça si votre SSO interne parle OIDC, vous êtes déjà couvert !

Côté déploiement, c'est un simple binaire en Go et c'est également disponible en image Docker sur quay.io/oauth2-proxy/oauth2-proxy, pour AMD64, ARM64, ARMv6/v7, et quelques architectures plus exotiques du genre ppc64le, s390x pour les bandeurs de mainframes ^^.

Ensuite, l'outil peut fonctionner de 2 façons : Soit en proxy autonome devant votre service, ou en middleware intégré dans un reverse proxy existant comme nginx via le mécanisme auth_request. Dans ce second mode, oauth2-proxy ne fait en réalité que vérifier la session et répondre du code 202 ou 401. C'est nginx qui gère le routage et le proxy lui se contente d'authentifier les gens.

Et voilà, si vous cherchez à minimiser la surface d'attaque, c'est la config à privilégier. Tout est là : github.com/oauth2-proxy/oauth2-proxy , avec la doc complète. Et si vous cherchez quelque chose de plus intégré, avec tunnel et gestion des tunnels VPN en prime, il y a aussi Pangolin dont je vous ai parlé. Et pour du plus simple en contexte Docker, TinyAuth fera également très bien le taf.

Merci à Mathieu Passenaud pour le lien !


Agent Safehouse - Un garde-fou pour vos agents IA sur macOS

Mon, 04 May 2026 11:13:08 +0200 - (source)

Comme vous le savez, les LLMs sont assez probabilistes de par leur nature. C'est leur force mais également leur principal problème de sécurité car si votre agent IA a une probabilité de 1% de faire une grosse connerie des enfers par session, sur 100 sessions vous montez à environ 63% de chances qu'il en arrive au moins une.

Heureusement, Agent Safehouse vous permet d'encapsuler votre agent préféré dans un profil sandbox macOS au niveau du kernel afin de réduire drastiquement la surface d'attaque sur votre système de fichiers.

Le principe de base, c'est le deny-default. Tout est refusé par défaut puis des autorisations sont ensuite ouvertes au compte-gouttes : lecture/écriture dans le répertoire du projet, accès lecture seule aux toolchains installés, et les exceptions système nécessaires au fonctionnement (runtimes, homebrew, réseau).

Par défaut, les clés privées SSH et les fichiers de credentials AWS ne sont pas lisibles donc si l'agent essaie d'accéder à ~/.ssh, il se prend une erreur "operation not permitted". C'est une couche de durcissement mais pas une barrière de sécurité absolue puisque le réseau, lui, reste ouvert par défaut, et des variables d'environnement peuvent encore exposer vos credentials. Mais pour tout ce qui est erreurs accidentelles et autres hallucinations destructrices en mode Claude a fumé la moquette, ça permet de leur couper la chique.

Cela repose sur le mécanisme sandbox-exec , l'outil natif macOS qu'Apple a fini par marquer "deprecated" sans vraiment le retirer. Agent Safehouse s'en sert tout simplement comme fondation et y ajoute de la configuration par profil et les intégrations agents par dessus.

Sandbox-exec est en effet le seul mécanisme natif macOS qui s'applique en wrapper arbitraire depuis la ligne de commande, sans avoir besoin de se taper un setup préalable comme on pourrait le faire avec Docker ou une VM.

Et c'est surtout plus léger et plus pratique pour un usage au quotidien donc si vous faites tourner Claude Code ou Codex plusieurs heures par jour, ça peut servir, au moins pour votre tranquillité d'esprit.

L'installation se fait via Homebrew comme ceci :

brew install eugene1g/safehouse/agent-safehouse

Ou via un script curl si vous évitez Homebrew. Ensuite, vous remplacez votre appel habituel par safehouse [agent] [options]. Donc pour Claude Code ça donnerait ceci :

safehouse claude --dangerously-skip-permissions

Les functions shell (bash, zsh, fish) peuvent encapsuler ça automatiquement pour que votre agent soit sandbox par défaut à chaque appel et il est toujours possible de contourner cela via un simple command claude si besoin.

La liste des agents supportés sont Claude Code, Codex, OpenCode, Amp, Copilot CLI, Gemini CLI, Aider, Goose, Cursor Agent, Cline, Kilo Code et d'autres.

Après c'est macOS uniquement pour l'instant, et surtout sandbox-exec étant techniquement plus maintenu par Apple, il pourrait très bien disparaître dans une future version de macOS. Donc faudra vivre avec ce risque ^^.

Si vous faites tourner des agents locaux et que l'idée d'un agent qui décide de miner de la crypto ou d'effacer votre répertoire home vous stresse de ouf, ça vaut le coup d'essayer. C'est dispo sur GitHub .


Sur sa chaîne YouTube "Will It Work?", un bidouilleur a réussi à brancher trois moniteurs sur un iPod Nano de sixième génération. Oui, vous avez bien lu, l'iPod cliquable carré qui faisait 4 cm de côté en 2010, et qui n'avait à l'origine aucune sortie vidéo digne de ce nom. Le résultat est un setup absurde mais qui tient debout, et c'est franchement délicieux à regarder.

La clé magique pour que ça fonctionne, c'est un ancien Apple iPad Keyboard Dock 30 broches, l'un des rares accessoires de l'époque qui acceptait de relayer le signal vidéo composite généré par l'iPod. Le clavier en lui-même est inutile parce que l'OS du Nano ne sait pas quoi en faire, mais le dock sert de support physique et de relais électrique. De là, un câble 30 broches vers composite ressort vers les écrans.

Pour les écrans justement, le bidouilleur a sorti trois Sharp Aquos à dalle plate du début des années 2000, branchés en chaîne via leurs entrées composites. Du coup, chaque télé reçoit le même signal, mais visuellement on a bien l'impression d'avoir trois moniteurs distincts qui crachent l'image du Nano. C'est parfaitement inutile, donc très satisfaisant.

Côté son, le Nano alimente un splitter TRRS 4 pôles qui sépare le signal pour brancher en parallèle un micro Maono de bureau et une paire d'Apple Pro Speakers, ces fameuses enceintes transparentes du Power Mac G4. Le rendu fait vraiment penser à une station de podcast pro, sauf que tout sort d'un appareil qui pèse moins qu'une carte de crédit.

Le plus improbable, c'est que l'auteur a réussi à faire tourner du "vrai multitâche" sur le Nano, en lançant un diaporama photo sur les trois écrans pendant qu'une playlist tourne en fond. C'est techniquement la limite des capacités d'un iPod Nano de 2010, mais en pratique ça suffit largement à donner l'illusion d'un poste de travail complet quand on regarde la photo en plan large.

On est là dans la longue tradition des hacks autour des vieux iPods, où la communauté continue de creuser ce que la puce sous le capot peut vraiment faire. Le Nano 6G en particulier a déjà été modifié pour faire tourner des firmwares custom, des jeux, ou même Doom, et ce genre de détournement vidéo est une nouvelle pierre improbable à l'édifice.

Ce genre de bidouille rappelle bien pourquoi le détournement d'objets Apple est devenu un sport en soi.

Source : Hackaday


Coincés durant +5 heures sur Age of Empires 2

Mon, 04 May 2026 09:00:26 +0200 - (source)

Hier soir Lilian, fidèle lecteur de Korben m'a envoyé une vidéo incroyable qui retrace 5h de combat sur Age of Empires 2 résumées en 34 minutes par TheGreatReview.

Faut savoir que je suis fan d'Age of Empires depuis le premier épisode de 1997 . AoE 1, 2, Mythology, AoE 3... j'ai laissé un nombre indécent d'heures sur ces titres, donc forcément, voir ces longues heures de matchs condensées en chouette récit, ça ravive de vieux souvenirs !

Lors de cette partie, 2 joueurs avec un très très bon niveau s'affrontent ainsi durant des heures, quasiment sans ressources, en mettant au point toutes sortes de stratégies pour faire capituler leur adversaire. De l'AoE2 raconté à la voix posée, avec beaucoup de stratégie, d'imagination et surtout de patience ! Mais je ne vais pas vous en dire plus pour ne pas vous spoiler.

Gardez-vous ça pour la pause déj', ça ne dure que 34 minutes et franchement ça vaut le coup !

Encore merci à Lilian pour le partage !


BrowserQuest est de retour les amis ! Hé ouais, el famoso MMO HTML5 que Little Workshop avait pondu pour Mozilla en 2012 vient de ressurgir sur threej.in , alors que Mozilla avait officiellement archivé le repo GitHub en janvier 2024.

En allant sur ce lien, vous choisissez le nom de votre personnage, et hop, vous vous retrouvez comme y'a plus de 10 ans, dans un monde 2D en pixel art prêt à vous taper avec des rats et des squelettes direct dans le navigateur.

Petit rappel pour les endormis du fond à côté du radiateur, quand BrowserQuest est sorti en mars 2012, c'était un événement !! Mozilla voulait avec ce jeu, montrer au monde entier que le navigateur pouvait faire tourner un MMO temps réel sans Flash, sans aucun plugin, mais juste avec du HTML5 et des WebSockets. Le studio parisien Little Workshop (les frères Guillaume et Franck Lecollinet) avait alors livré une démo incroyable qui ressemblait à un Zelda 16 bits, avec des quêtes, de l'équipement, un chat intégré et même du combat coopératif. Comme je suis viiieux de fous, je vous en avais même parlé à l'époque .

Car techniquement, c'était du sérieux... Canvas pour le rendu 2D, Web Workers pour charger la map sans freezer la page, localStorage pour sauvegarder votre perso, CSS3 Media Queries pour s'adapter au mobile, et surtout WebSockets pour la communication bi-directionnelle avec le serveur Node.js.

Du coup le jeu pouvait encaisser des CENTAINES de joueurs simultanés, avec un pic réel enregistré à plus de 1 900 connexions en même temps. C'est ouf ! Faut dire que 2 ans plus tôt, Quake 2 tournait déjà en HTML5 et on commençait alors tous à comprendre que notre navigateur allait devenir une véritable plateforme gaming.

Sauf que voilà, Mozilla n'a jamais vraiment maintenu BrowserQuest après le buzz initial. Le serveur officiel browserquest.mozilla.org a fini par mourir, le repo GitHub a basculé en mode DEPRECATED, et en janvier 2024, la fondation a appuyé sur le bouton "Archive" pour de bon. Fin du game ! Sniiiif...

Sauf que le code est sous licence MPL 2.0 et le contenu en CC-BY-SA 3.0 donc en gros, n'importe qui peut reprendre le bousin, le réhéberger et le relancer !

Hé bien c'est exactement ce que threej.in a fait et ça fonctionne parfaitement, y compris l'aspect multijoueur. L'écran de crédit affiche même encore "Made for Mozilla by Little Workshop" comme si rien n'avait bougé.

Perso, je trouve ça cool qu'un projet open source archivé aussi culte puisse continuer à vivre grâce à un inconnu qui a pris la peine de le remettre en ligne. C'est aussi à ça que servent les licences libres finalement... prolonger la vie des programmes au-delà de la motivation de leurs créateurs. Chouette hein ?

À l'époque, encaisser 1900 joueurs en simultané sur un backend Node.js relevait de la prouesse technique, alors qu'aujourd'hui, tout semble beaucoup plus facile puisqu'on trouve des dizaines de jeux .io et autres qui tournent dans un onglet de browser sans que ça nous fasse lever un sourcil. La techno derrière BrowserQuest est devenue tellement banale qu'on a tous oublié à quel point elle était impressionnante à l'époque !

Bref, c'est gratuit, c'est dans le navigateur, et ça tient toujours debout !

À découvrir ici !


Ce jeu Steam flingue votre SSD en silence

Sun, 03 May 2026 12:02:06 +0200 - (source)

108 Go par heure. C'est ce que Windrose, le RPG de pirates en Early Access publié par Kraken Express le 14 avril dernier, écrivait silencieusement sur les SSD des joueurs, sans aucune mention dans les notes de mise à jour. Avec déjà 1,5 million de copies vendues et un pic à 69 000 joueurs simultanés, ça commence à faire un sacré paquet de SSD potentiellement bien fatigués.

Le bug a été repéré par Pixel Operative et confirmé par TechSpot puis Tom's Hardware. En jeu, des pics d'écriture grimpaient jusqu'à 30 Mo/s en continu, même quand le personnage se baladait tranquillement dans son camp de base sans rien faire de spécial.

Sur un SSD grand public type TLC avec une endurance affichée autour de 600 TBW, on parle de plusieurs jours de jeu intensif suffisant pour grignoter une bonne part de la durée de vie nominale.

Le problème vient en fait de la façon dont Kraken Express gère la sauvegarde des progressions. Le studio a choisi RocksDB, une base de données clé-valeur très utilisée côté serveur, et en a empilé trois instances en parallèle, chacune avec un cache mémoire ridiculement petit. Du coup, dès que le cache déborde, tout est balancé sur le disque en boucle permanente, sans aucune logique d'optimisation. Pas terrible.

Kraken Express a réagi vite avec le patch 0.10.0.4 déployé le 30 avril. Selon Pixel Operative qui a refait ses mesures après mise à jour, l'utilisation disque baisse de 60 à 75%. C'est nettement mieux, mais ça reste très loin des standards d'un jeu propre. Et surtout, ça ne change strictement rien pour les joueurs qui ont écrit plusieurs téraoctets de données pendant les deux semaines précédant le correctif.

Côté communication, le studio a reconnu le souci mais sans trop s'étendre sur les conséquences possibles pour le matériel. Pas un mot sur une éventuelle aide aux joueurs qui auraient des SSD très entamés. Et impossible de savoir combien de joueurs sont concernés, vu que l'usure d'un SSD ne se voit qu'au moment où il commence à lâcher.

Bref, un Early Access ça reste un Early Access, mais bousiller le hardware des joueurs sans même les prévenir, c'est pas génial.

Source : Techspot


Un maker a transformé une réplique grandeur nature de C-3PO en assistant vocal interactif, et le résultat est franchement convaincant. Sa version du droïde papote, répond à vos questions, et tient même une conversation, le tout sans dépendre du moindre cloud une fois en local.

Le truc tient sur un Raspberry Pi 5 planqué dans la coque dorée du droïde. Un micro capte ce que vous racontez, un moteur de speech-to-text le transcrit, et un LLM local s'occupe de comprendre votre question pour formuler une réponse. Jusque-là, rien de fou c'est même devenu assez classique.

Le truc rigolo, c'est la couche par-dessus. L'auteur a ajouté un prompt système qui force le LLM à répondre comme C-3PO le ferait : un peu anxieux, très formel, avec ce ton un brin pompeux qu'on connaît tous. Du coup, quand vous lui demandez bêtement la météo, vous pouvez vous prendre une réponse genre "Oh dear, je crains que les conditions atmosphériques ne soient guère favorables à un déplacement humain". Très C-3PO.

Pour la voix, le projet utilise un modèle synthétique entraîné sur les dialogues d'Anthony Daniels, l'acteur original. Le son passe ensuite par une chaîne d'effets audio qui ajoute la résonance métallique et le léger souffle qu'on entend dans les films. Le résultat n'est pas parfait, mais ça reste franchement bluffant pour un projet bricolé à la maison.

Tout le code est dispo en open source, ce qui veut dire que vous pouvez théoriquement le reproduire chez vous, à condition d'avoir une réplique C-3PO sous la main. Ce qui n'est pas le plus simple. Pour les budgets plus modestes, l'auteur précise que le pipeline tourne aussi très bien dans une simple enceinte connectée custom, le côté droïde doré n'étant pas indispensable au fonctionnement.

Le seul vrai bémol, c'est la latence. Entre le moment où vous parlez et la réponse vocale, comptez quelques secondes, ce qui casse un peu l'illusion d'avoir affaire à un assistant réactif. Mais bon, le vrai C-3PO du film mettait aussi trois plombes à comprendre les ordres, donc on peut presque considérer ça comme un détail de fidélité au personnage.

Source : Hackaday


Bruteforce de cartes bancaires

Sat, 02 May 2026 10:35:52 +0200 - (source)

Quand j'achète un truc avec ma CB, c'est vrai que j'évite maintenant de demander le ticket de carte bancaire. Ça ne me sert à rien, et puis j'en fais quoi après ? Je le jette à la poubelle ?

Heureusement qu'il n'y a pas de données confidentielles dessus et que tous les chiffres de ma CB sont masqués avec des petites étoiles sauf une partie, généralement les 4 derniers, qui sont en clair évidemment.

Bref, tout roule, nan ? Hé bien noooon, parce que Metin Ozyildirim, un chercheur en sécurité, vient d'expliquer sur son site comment ces étoiles en fait c'est pas vraiment un secret.

En fait, quand vous effectuez un achat en ligne, le marchand pose une question à votre banque pour valider la carte, du genre "hey Crédit Agricole, est-ce que ce numéro existe ?" et la banque répond connement oui ou non.

Et le souci c'est que cette question, n'importe qui peut la poser depuis n'importe où dans le monde, en testant des numéros au pif jusqu'à tomber sur le bon. C'est ce qu'on appelle du brute force, et avec une bonne machine et une connexion correcte, ça permet de tourner tranquillement à la fréquence de 6 tentatives par seconde, soit environ 130 000 essais possibles étalés sur une nuit. C'est donc très largement assez pour reconstituer les chiffres manquants quand on n'en a que 6 à deviner.

Et surtout, il arrive parfois que le marchand soit un peu trop bavard. Par exemple si vous tapez un mauvais numéro, il vous répond "Cette carte de crédit n'est pas valide". Si la date d'expiration est fausse, il vous dit gentiment "Cette carte a expiré". Et si le CVV est faux ? "Le code CVV n'est pas correct".

Comme le dit Metin dans son post, ce genre d'indice aide carrément à bruteforcer les infos de la CB. Bah oui, si le marchand vous confirme noir sur blanc que vous êtes à 3 chiffres près du jackpot, pourquoi s'arrêter hein ? C'est un peu comme dans ces films où y'a un gars qui braque un coffre-fort qui fait "clic" à chaque bon chiffre.

Et comme ça donc que Metin Ozyildirim s'est fait piller son compte bancaire il y a environ 1 an. L'attaquant a fait tourner son bruteforce comme ça durant 6 heures, en répartissant ses requêtes sur plusieurs sites e-commerce différents pour passer sous les radars.

Et une fois la carte complète reconstituée, restait plus qu'à dépenser le pognon ! Et là pareil, certains marchands acceptent encore les paiements sans demander la double authentification 3D Secure. Ces marchands là, ce sont eux qui payent en cas de fraude, car ils prennent le risque. L'attaquant a juste eu à choisir un de ces marchands "hack-friendly", et a transféré l'argent vers un porte-monnaie électronique, qu'il a ensuite converti en cash.

Et voilà comment le plafond de la carte de Metin était à zéro avant qu'il ait terminé son premier café du matin !

La bonne nouvelle, c'est que la banque l'a remboursé. Par exemple en France, vous avez 13 mois pour contester une transaction frauduleuse via votre banque. C'est un droit et pas une faveur hein ! Mais si la banque considère que vous avez été négligent (carte prêtée, code partagé, phishing évident...etc), elle peut tout à fait refuser le remboursement, donc gardez des preuves et contestez vite !

Maintenant, la mauvaise nouvelle, c'est que ce qui est arrivé à Metin est de plus en plus fréquent. Visa a même documenté que ce genre d'attaques explose, et que la majorité des sites e-commerce sont mal protégés contre ce genre de bots qui font tourner ces scripts de bruteforcing.

Bref, y'a pas grand chose à faire de notre côté pour nous protéger de ça, si ce n'est d'activer les notifs de notre banque sur chaque transaction, configurer le plafond le plus bas possible (sans que ce soit gênant), et quand votre banque vous propose une carte virtuelle à usage unique pour les achats en ligne, n'hésitez pas à l'utiliser.

Et la prochaine fois que vous laisserez traîner un reçu de CB sur la table d'un resto, dites-vous que vous offrez peut-être un accès à votre compte au prochain margoulin qui passe !

Source


Hello les amis, voici ma petite trouvaille du jour, idéale pour ceux qui jouent en ce moment avec des adresses IP : ip66.dev . C'est une base de géolocalisation IP et entièrement libre, livrée au format MMDB (le même que celui de MaxMind) qui permet de remplacer direct un fichier GeoLite2 dans vos libs existantes (Python, Go, Node.js), sans toucher au code.

L'équipe de Cloud 66 maintient cette liste à jour sous licence CC BY 4.0 et tout est utilisable simplement en récupérant le fichier mmdb.

Pour le télécharger :

curl -LO https://downloads.ip66.dev/db/ip66.mmdb

Ensuite pour interroger une IP, l'outil mmdbinspect de MaxMind fera le job. Si vous l'avez pas déjà, une ligne suffit :

go install github.com/maxmind/mmdbinspect/cmd/mmdbinspect@latest
mmdbinspect -db ip66.mmdb 8.8.8.8

À l'intérieur de la réponse, vous trouverez le numéro et le nom de l'ASN, le pays avec son code ISO, le continent, en IPv4 et IPv6 :

Au lieu de moudre des heuristiques opaques, ip66 préfère tout simplement agréger des sources à partir des 5 registres régionaux (AFRINIC, APNIC, ARIN, LACNIC, RIPE NCC) pour les allocations, le BGP via RouteViews et RIPE RIS pour les vues publiques d'annonces, le RFC 8805 geofeed quand les opérateurs déclarent eux-mêmes leurs localisations, sans oublier GeoNames pour tout ce qui concerne les libellés.

Du coup chaque enregistrement dispose de son propre niveau de confiance (Very High, High, Medium, Low) selon la qualité de la source. Y'a même des marqueurs pour identifier les IPs VPN / Tor et compagnie.

Notez par contre, que c'est du country-level, et pas du city-level comme GeoIP2 City ou IPinfo Core, mais pour enrichir des logs, sortir des stats par pays ou bloquer un continent entier, c'est largement suffisant !

Et si vous voulez l'exposer en API plutôt que la requêter en local, ça se branche nickel sur le mmdb-server , un petit serveur Python qui sert les fichiers MMDB en HTTP. Vous lui pointez ip66.mmdb dans son dossier db/ et hop, c'est plié !

Bref, un fichier mmdb à DL, et votre serveur sait maintenant que 8.8.8.8 c'est l'oncle Google.


Powered by VroumVroumBlog 0.1.31 - RSS Feed
Download config articles