Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

geoblock

Servicio de autenticación forward para geoblocking que restringe acceso basado en país, ASN, red IP, dominio y método HTTP. Se integra con Traefik, NGINX y Caddy como middleware.

Ficha actualizada 26 sept 2026, 7:45 · upstream 26 sept 2026, 7:23 · release v0.6.1

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es geoblock

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Geoblock es un servicio de autenticación forward diseñado para restringir el acceso a servicios expuestos en internet basándose en criterios geográficos y técnicos. Funciona junto al proxy inverso, resolviendo la IP del cliente a país y ASN, evaluando reglas configuradas y permitiendo o denegando la solicitud según políticas definidas.

El servicio utiliza datos de geolocalización IP de ip-location-db (GeoLite2 de MaxMind) actualizados automáticamente. El archivo de configuración se vigila para cambios y se recarga cuando se modifica. Soporta condiciones como países (códigos ISO 3166-1 alpha-2), dominios con comodines, métodos HTTP, redes en CIDR y sistemas autónomos.

La arquitectura permite reducir la exposición a escáneres automatizados que exploran servicios vulnerables, archivos expuestos y credenciales por defecto. Proporciona endpoints de API para autenticación forward (/v1/forward-auth), salud (/v1/health) y métricas Prometheus (/metrics).

CASOS DE USO
  • Bloquear acceso desde países específicos para cumplir con regulaciones locales o políticas de negocio
  • Proteger servicios internos permitiendo solo tráfico desde redes privadas (RFC 1918)
  • Restringir acceso a dominios críticos basándose en ASN conocidos de proveedores no confiables
  • Limitar métodos HTTP específicos para reducir superficie de ataque ante escáneres automatizados
PUNTOS DESTACADOS
  • Integración nativa con proxies inversos populares: Traefik, NGINX y Caddy mediante forward auth
  • Base de datos de geolocalización IP actualizada automáticamente sin intervención manual
  • Soporte para múltiples criterios de filtrado: países, ASN, redes CIDR, dominios y métodos HTTP
  • API REST documentada con endpoints de autenticación, salud y métricas Prometheus
  • Configuración declarativa en YAML con hot-reload al modificar el archivo
PRECAUCIONES
  • Dependencia externa de ip-location-db para datos de geolocalización; sin este servicio la resolución falla
  • No incluye soporte one-click deployment; requiere configuración manual del proxy inverso
  • Requiere exposición del puerto 8080 al proxy inverso, aumentando superficie de ataque si no se segmenta
  • Sin autenticación adicional más allá de geoblocking; no protege contra ataques dentro de redes permitidas
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Grafana Dashboard Example
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU1 vCPUrecomendación inicial
MEMORIA1 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker detectado

Despliegue recomendado: usar Docker con volumen para config.yaml y caché. Configurar proxy inverso (Traefik/NGINX/Caddy) para llamar a /v1/forward-auth antes de enrutar al backend. Asegurar que GEOBLOCK_CACHE_DIR tenga permisos de escritura. Considerar segmentación de red para el puerto 8080. Monitorear con Grafana usando dashboard.json incluido.

✓Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Go
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
8080
06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.