PulseWeaver
PulseWeaver es una capa de control de acceso forward-auth para reverse proxies que filtra tráfico por IP registrada y host autorizado mediante heartbeats, ideal para entornos domésticos o pequeños equipos donde se desea restringir el acceso a servicios sin exponerlos públicamente.
Ficha actualizada 28 sept 2026, 2:44 · upstream 28 sept 2026, 2:16 · release v0.6.0
Qué es PulseWeaver
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
PulseWeaver actúa como un sidecar de autenticación forward-auth detrás de tu reverse proxy, permitiendo gestionar quién puede acceder a qué servicios basándose en la IP del cliente y los hosts autorizados. A diferencia de sistemas de identidad tradicionales, no verifica quién es el usuario, sino si su dispositivo está registrado y tiene permisos para el host solicitado.
El sistema mantiene un registro dinámico de direcciones IP mediante heartbeats periódicos desde dispositivos móviles o portátiles que cambian de red, eliminando la necesidad de actualizar listas estáticas. Cada usuario tiene una lista explícita de hosts permitidos, mientras que todo lo demás se deniega por defecto. La arquitectura incluye una caché en memoria para respuestas rápidas y almacenamiento persistente en SQLite embebido.
Está diseñado específicamente para comunidades pequeñas o entornos personales donde la exposición pública no es deseable, complementando soluciones como Authelia o Tailscale en lugar de reemplazarlas. Su modelo de seguridad prioriza el principio de mínimo privilegio, bloqueando IPs desconocidas antes de que alcancen las aplicaciones subyacentes.
- Restringir acceso a servicios self-hosted (ej. Jellyfin) solo para dispositivos conocidos en red doméstica o LAN
- Permitir roaming de dispositivos móviles sin actualizar manualmente listas de IPs estáticas en el reverse proxy
- Complementar sistemas de autenticación existentes como Authelia o authentik filtrando tráfico antes del login
- Gestionar acceso a servicios internos para grupos específicos (familia, club, equipo pequeño) sin exponerlos públicamente
- Mantiene registros de IPs actualizados mediante heartbeats automáticos desde dispositivos móviles o portátiles
- Almacenamiento único en SQLite embebido con UI integrada, sin necesidad de servidor de base de datos externo
- Modelo de acceso por defecto denegado con listas explícitas de hosts y grupos por usuario
- Soporta políticas de red CIDR para redes de confianza como LAN o subredes VPN
- API RESTful para verificación de políticas sin tráfico real (auditing y testing)
- Contenedor minimalista no root con runtime distroless para reducir superficie de ataque
- No verifica identidad del usuario, solo IP registrada; no apto para entornos con CGNAT sin VPN o Tailscale
- Dependencia de reverse proxy compatible con forward-auth (ej. Caddy, Traefik) que soporte headers X-Forwarded-*
- IP no es identidad; no protege contra usuarios compartiendo IP en redes residenciales sin aislamiento adicional
- No sustituye autenticación real; debe combinarse con sistemas de identidad para verificación de usuario
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Despliega detrás de un reverse proxy compatible con forward-auth (Caddy, Traefik) que soporte headers X-Forwarded-For y X-Forwarded-Host. Usa volumen persistente para SQLite y evita montar en /data dentro del contenedor. Configura ADMIN_PASSWORD mediante variable de entorno y cambia POLICY_ENGINE_API_SECRET por defecto. Para roaming, habilita heartbeats automáticos desde dispositivos móviles o usa curl programado. No expongas el puerto 8080 públicamente; úsalo solo en LAN o detrás del proxy.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
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.



