Présentation de fgeoip2fast v1.2.2a0 : Une évolution sécurisée et optimisée pour la géolocalisation IP
Présentation de fgeoip2fast v1.2.2a0 : Une évolution sécurisée et optimisée pour la géolocalisation IP

Présentation de fgeoip2fast v1.2.2a0 : Une évolution sécurisée et optimisée pour la géolocalisation IP

Ce 29 décembre 2025, une nouvelle optimisation des recherches GeoIP en Python est proposée. Contents d’annoncer la sortie de fgeoip2fast v1.2.2a0, un fork de la bibliothèque geoip2fast de rabuchaim.

Conçu par blue101010, ce fork ne se contente pas de changer de nom ; il apporte des correctifs de sécurité importants, une meilleure intégration avec les environnements modernes (comme Kali Linux) et une automatisation accrue.

Sommaire des nouveautés

  • Sécurité renforcée (Safe Unpickling & Path Traversal)
  • Support natif Kali Linux (PEP 668)
  • Base de données complète par défaut
  • CLI améliorée et automatisation

Pourquoi fgeoip2fast ?

L’outil original est réputé pour sa grande vitesse (0.00003 secondes par recherche). Cependant, fgeoip2fast modernise cette base en endurcissant la sécurité du code pour l’aspect import des BD externes de MaxMind.

Les Améliorations Majeures (v1.2.2a0)

1. Sécurité et Intégrité des Données (SEC1)

C’est sans doute l’apport le plus important de cette version. La manipulation de fichiers de données externes peut présenter des risques.

  • Safe Unpickling : Implémentation d’une désérialisation sécurisée pour prévenir l’exécution de code arbitraire lors du chargement des bases de données.
  • Protection Path Traversal : Les méthodes de mise à jour ont été renforcées pour empêcher les attaques par traversée de répertoires.
  • Vérification SHA256 : Ajout de la vérification des sommes de contrôle lors des téléchargements pour garantir l’intégrité des fichiers DAT.

2. Installation simplifiée sur Kali Linux

Avec les restrictions PEP 668 sur les environnements gérés externement, installer des paquets Python sur Kali est devenu complexe. fgeoip2fast inclut désormais :

  • Un script kali-install.py dédié pour une installation conforme.
  • Une modernisation du setup.py (suppression du code déprécié).

3. Automatisation et Données par Défaut

Plus besoin de chercher quelle base charger. La base par défaut est désormais la plus complète : Country + City + ASN + IPv6 (geoip2fast-city-asn-ipv6.dat.gz).

De plus, un script Bash generate_db.sh est fourni pour automatiser la génération des fichiers .dat.gz directement depuis les CSV GeoLite2 de MaxMind.

Installation et Utilisation

Installation Rapide

# Pour les environnements standards
pip install fgeoip2fast

# Pour Kali Linux / Debian (contournement propre PEP 668)
python3 kali-install.py

Utilisation en Python

Le nom du package a changé pour éviter les conflits, mais l’API reste familière et typée plus rigoureusement.

from fgeoip2fast import GeoIP2Fast

# Chargement automatique de la base complète (City + ASN + IPv6)
geoip = GeoIP2Fast()

# Recherche d'une IP
result = geoip.lookup("8.8.8.8")

print(f"Pays: {result.country_name}")
print(f"ASN: {result.asn_name}")
print(f"Ville: {result.city.name}")

# Sortie JSON formatée
print(result.pp_json())

Nouvelle Interface en Ligne de Commande (CLI)

La CLI a été enrichie avec le support des arguments longs et une section d’aide améliorée.

# Recherche simple avec résolution DNS
fgeoip2fast --dns 1.1.1.1,8.8.8.8

# Mise à jour de la base de données avec vérification SHA256
fgeoip2fast --update-all --verbose

Tests et Qualité

Cette version introduit testfgeoip.py pour les tests fonctionnels, assurant que chaque mise à jour maintient la stabilité de l’outil. Les problèmes de typage et d’attributs signalés dans les versions précédentes ont été corrigés.


Retrouvez le code source complet, le script de génération de base de données et la documentation sur GitHub.

Voir le projet fgeoip2fast sur GitHub