Release geoip 0.1.0, Implementierung der REST API zur Standortbestimmung anhand der IP.

Die erste Veröffentlichung des GeoIP-Projekts fand statt, das einen Service zur Bereitstellung von Standortinformationen für IP-Adressen über REST-API implementiert. Das Projekt zielt darauf ab, die Integration der GeoIP-Funktionalität in verschiedene Anwendungen zu vereinfachen, indem es den Entwickler von der Notwendigkeit befreit, die Datenbankaktualisierungen selbst zu verwalten und mit dem MMDB-Format zu arbeiten. Der Code ist in Rust geschrieben und wird unter der MIT-Lizenz veröffentlicht. Es wird die Unterstützung für Linux und macOS sowie andere UNIX-ähnliche Systeme gewährleistet.

Hauptfunktionen des Dienstes:

  • Hohe Leistung und geringer Speicherverbrauch durch die Verwendung einer kompilierbaren, maschinennahe Sprache ohne Garbage Collector.
  • Bereitstellung von Informationen über die IP-Adresse (Land, Stadt, Postleitzahl, Koordinaten, Anbieter und mehr) über die REST-API basierend auf Daten von MaxMind GeoLite2 (kostenlos) und MaxMind GeoIP2 (kostenpflichtig).
  • Bestimmung des aktuellen IP-Adressen Benutzers (verfügbar über einen separaten Endpunkt; der Parameter ip des Hauptendpunkts ist optional).
  • Anpassbare automatische Datenbankaktualisierungen (sowohl von offiziellen MaxMind-Ressourcen unter Verwendung von Account-ID und Lizenzschlüssel als auch von benutzerdefinierten URLs mit Unterstützung für Autorisierung; Intervall zur Überprüfung von Aktualisierungen kann festgelegt werden).
  • Weboberfläche zur manuellen Anforderung von Anfragen, einschließlich optionaler Unterstützung für die Anzeige auf OpenStreetMap.
    Release geoip 0.1.0, Implementierung der REST API zur Standortbestimmung anhand der IP.
  • Für alle Ergebnisse, die das Feld timezone enthalten, wird automatisch ein zusätzliches Feld posix_timezone generiert (z.B. Europe/Paris wird zu CET-1CEST,M3.5.0,M10.5.0/3). Dies ermöglicht die automatische Konfiguration der Zeitzone auf eingebetteten Geräten (z.B. ESP32 und anderen Targets von newlib ohne integrierte tzdata). Diese Funktion ist einzigartig und fehlt in vergleichbaren Lösungen.
  • Automatische Aktualisierung der Zeitzonendatenbank (Intervall, Quelle und Autorisierung sind konfigurierbar; standardmäßig wird die offizielle IANA-Website verwendet). Bei Deaktivierung der Aktualisierungen wird die Systemdatenbank verwendet.
  • Möglichkeit, aktuelle Datenbankarchive über HTTP direkt vom Dienst herunterzuladen (was es ermöglicht, eine Instanz als Proxy-Quelle für andere zu verwenden und den MaxMind-Kontingentverbrauch zu reduzieren).
  • Unterstützung der Endpunktsicherheit durch einen optionalen API-Schlüssel.
  • Vorhandensein einer OpenAPI-Spezifikation und integrierter Swagger UI zur Erleichterung der Integration in Ihre Projekte.
  • Bereitstellung eines vorgefertigten Docker-Images für eine schnelle Bereitstellung: docker run \ -e MAXMIND_ACCOUNT_ID=XXXX \ -e MAXMIND_LICENCE_KEY=YYYY \ -e OSM_TILES_URL="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" \ # optional -v geoip_data:/data \ -p 8080:8080 \ ghcr.io/quoi-dev/geoip:latest

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster