Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

pangolin-ip-rule-manager

Servicio Python que gestiona reglas de IP para bypass Pangolin, automatizando la autenticación temporal para dispositivos sin SSO como TV.

Ficha actualizada 23 sept 2026, 16:38 · upstream 23 sept 2026, 16:35 · release v3.0.1

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es pangolin-ip-rule-manager

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

Este servicio Python automatiza el manejo de reglas de IP temporales para bypassear las restricciones de autenticación de Pangolin en dispositivos que no pueden utilizar su flujo de autenticación estándar (como Smart TVs). Funciona mediante un sistema de validación de roles basado en tiempo real, utilizando una arquitectura de seguridad tipo fail-closed. El servicio se conecta a la API de integración de Pangolin para obtener información sobre usuarios y recursos, y crea reglas de IP que permiten el acceso directo desde IPs verificadas sin necesidad de autenticar.

El sistema opera bajo un modelo de control de acceso basado en roles: cada usuario tiene permisos definidos en su cuenta de Pangolin, y el servicio solo autoriza los recursos que ese usuario está autorizado a acceder. Esto garantiza que ningún recurso sea accesible por usuarios no habilitados, incluso si se configuran reglas generales.

El flujo completo consiste en: (1) un URL de check-in protegido con autenticación de Pangolin; (2) el dispositivo visitado autentica; (3) el servicio identifica al usuario, verifica sus permisos y registra su IP pública; (4) se crea una regla de bypass por recurso; (5) la regla expira tras un tiempo configurable. El sistema es seguro porque, en caso de fallo en la autenticación o API, no autoriza ningún acceso.

Soporta usuarios gestionados por Pangolin y usuarios externos que usan OIDC como Authentik. Requiere que el dispositivo cliente y el dispositivo objetivo compartan la misma dirección IP pública (por ejemplo, ambos conectados a la misma red Wi-Fi), lo cual es un requisito de diseño conocido pero no una falla funcional.

El servicio se ejecuta en modo Docker con configuración de seguridad estricta: ejecución bajo usuario específico, límites de memoria, temporizadores de limpieza de estado y caché de reglas. Incluye integración opcional con CrowdSec para permitir listas de IP adicionales.

CASOS DE USO
  • Permitir que dispositivos como Smart TVs accedan a servicios web sin autenticación mediante IP verificada
  • Automatizar el acceso a recursos protegidos por Pangolin en redes domésticas compartidas
  • Configurar permisos granulares donde diferentes usuarios de la misma organización tienen accesos distintos
  • Proteger servicios internos que no pueden completar flujos de autenticación con SSO nativo
  • Gestionar acceso temporal a recursos específicos por IP pública sin comprometer la seguridad general
  • Soportar múltiples dispositivos en una red doméstica compartiendo la misma dirección IP
PUNTOS DESTACADOS
  • Permite que dispositivos como Smart TVs accedan a servicios web sin autenticación mediante IP verificada
  • Valida roles de usuario contra permisos del recurso antes de autorizar el acceso
  • Soporta tanto usuarios gestionados por Pangolin como usuarios externos con OIDC (como Authentik)
  • Implementa un modelo fail-closed: si la autenticación falla, no se autoriza ningún acceso
  • Permite control granular mediante RESOURCE_IDS y permisos por usuario en cada recurso
  • Soporta integración opcional con CrowdSec para listas de IP adicionales
PRECAUCIONES
  • Requiere que el dispositivo cliente y el objetivo compartan la misma dirección IP pública (por ejemplo, ambos conectados a la misma red Wi-Fi)
  • No soporta dispositivos que no tengan una dirección IP pública identificable
  • El servicio depende de la API de integración de Pangolin, lo que puede ser inestable en entornos públicos
  • Las reglas de IP tienen un TTL configurable y se eliminan automáticamente para evitar acumulación
  • No permite acceso directo desde IPs no registradas ni desde dispositivos desconocidos
VISUAL

Capturas del proyecto

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

Pangolin Custom Request Headers field showing the X-Proxy-Secret entry
01

Perfil de infraestructura

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

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

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

Listo para automatizar

Para desplegar, utiliza Docker Compose con el contenedor `pangolin-ip-rule-manager`. Configura variables de entorno como `PANGOLIN_URL`, `PANGOLIN_TOKEN` y `ORG_ID` mediante un archivo `.env` o un servicio de secret management. El contenedor se ejecuta en modo read-only bajo un usuario específico (`user: 100:101`) con límites de memoria (256M) y CPU reducida (0.5). Se recomienda usar la imagen multi-arch desde GHCR para Linux (amd64/arm64). Para CrowdSec, activa el bloque `socket-proxy` en docker-compose.yml. El servicio se reinicia al cambiar la imagen o si se detecta un error de persistencia de estado.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

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

FRAMEWORKS
Next.jsPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
80802375
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

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.