Lanzamiento de geoip 0.1.0, implementación de una API REST para la localización por IP

Se lanzó la primera versión del proyecto geoip, que implementa un servicio para obtener información sobre la ubicación de direcciones IP a través de REST API. El proyecto está orientado a simplificar la integración de la funcionalidad GeoIP en diversas aplicaciones, liberando al desarrollador de la necesidad de gestionar actualizaciones de bases de datos y trabajar con el formato MMDB por sí mismo. El código está escrito en Rust y se distribuye bajo la licencia MIT. Se admite el funcionamiento en Linux y macOS, así como en otros sistemas similares a UNIX.

Características principales del servicio:

  • Alto rendimiento y bajo consumo de memoria, gracias al uso de un lenguaje compilado a código máquina sin recolector de basura.
  • Proporciona información sobre la dirección IP (país, ciudad, código postal, coordenadas, operador de telecomunicaciones, etc.) a través de REST API basada en datos de MaxMind GeoLite2 (gratis) y MaxMind GeoIP2 (de pago).
  • Detección del IP usuario actual (disponible a través de un endpoint separado; el parámetro ip del endpoint principal es opcional).
  • Actualizaciones automáticas configurables de bases de datos (tanto desde los recursos oficiales de MaxMind utilizando Account ID y Licence Key, como desde una URL personalizada con soporte de autorización; se puede especificar el intervalo de verificación de actualizaciones).
  • Interfaz web para envíos manuales de solicitudes, incluyendo soporte opcional para visualización en el mapa de OpenStreetMap.
    Lanzamiento de geoip 0.1.0, implementación de una API REST para la localización por IP
  • Para todos los resultados que contienen el campo timezone, se genera automáticamente un campo adicional posix_timezone (por ejemplo, Europe/Paris se transforma en CET-1CEST,M3.5.0,M10.5.0/3). Esto proporciona una configuración automática de la zona horaria en dispositivos embebidos (por ejemplo, ESP32 y otros objetivos newlib sin tzdata integrado). Esta función es única y no está disponible en soluciones similares.
  • Actualización automática de la base de datos de zonas horarias (el intervalo, la fuente y la autorización son configurables; por defecto se utiliza el sitio oficial de IANA). Cuando las actualizaciones están desactivadas, se utiliza la base de datos del sistema.
  • Capacidad de cargar archivos de bases de datos actualizados por HTTP directamente desde el servicio (lo que permite usar una instancia como proxy para otras y reducir el consumo de la cuota de MaxMind).
  • Soporte para la protección de endpoints mediante un API key opcional.
  • Disponibilidad de la especificación OpenAPI y Swagger UI incorporado para facilitar la integración con sus proyectos.
  • Proporcionando una imagen de Docker lista para un despliegue rápido: 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" \ # opcional -v geoip_data:/data \ -p 8080:8080 \ ghcr.io/quoi-dev/geoip:latest

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster