Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

PiCache

PiCache es un servidor DNS y caché de descargas para home lab o LAN party en un solo binario Go. Bloquea anuncios y trackers como Pi-hole/AdGuard Home, con caché compatible LanCache para juegos y actualizaciones del sistema operativo.

Ficha actualizada 25 sept 2026, 10:53 · upstream 25 sept 2026, 10:51 · release v0.1.0

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es PiCache

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

PiCache combina filtrado DNS y caché de descargas en una sola aplicación escrita en Go con interfaz web Svelte embebida. Funciona sin nginx, BIND, dnsmasq o cron: un proceso, una base de datos de configuración. Soporta Debian, Proxmox LXC (con nesting=1) y Docker con red host.

El filtrado DNS incluye listas bloqueadas en formatos hosts, dominio, AdGuard/ABP y regex (HaGeZi Multi NORMAL por defecto), reglas personalizadas de allow/block, grupos con semántica Pi-hole (por IP, CIDR o MAC), modos de bloqueo (null IP, NXDOMAIN, NODATA, REFUSED) y cifrado upstreams (DoH/DoTLS). No es un resolver abierto: redes privadas únicamente.

La caché de descargas es compatible LanCache con overrides DNS para CDNs de juegos y OS (Steam, Battle.net, Xbox, Windows Update), HTTP cache en puerto 80 con manejo de range requests, HTTPS pass-through en 443 sin desencriptar, y almacenamiento local o SMB/NFS NAS con guardamontaje.

La interfaz web muestra tráfico DNS, logs de consultas, estadísticas, salud del sistema y actualizaciones. Soporta autenticación TOTP opcional, tokens API (read/admin), registro de auditoría, copias de seguridad y métricas Prometheus opcionales.

CASOS DE USO
  • Bloquear anuncios y trackers en toda la red doméstica o LAN
  • Acelerar descargas de juegos y actualizaciones desde CDNs mediante caché local
  • Gestionar reglas DNS personalizadas por grupos de clientes (IoT, Kids, Default)
  • Monitorear tráfico DNS y descargas con dashboard web en tiempo real
  • Desplegar en Raspberry Pi 4/5 o pequeña VM sin dependencias externas
PUNTOS DESTACADOS
  • Un solo binario Go para amd64, arm64 y armv7 sin dependencias de sistema
  • Filtrado DNS con múltiples formatos de listas y reglas personalizadas por grupo
  • Caché LanCache-compatible para Steam, Blizzard, Epic, Riot, Xbox, Windows KB
  • Interfaz web en inglés y alemán con dashboard, logs y métricas Prometheus
  • Actualizaciones automáticas con verificación de firma y rollback automático
  • Seguro por defecto: no es resolver abierto, límites de tasa, zonas PTR privadas
PRECAUCIONES
  • En desarrollo temprano: sin servidor DHCP, validación DNSSEC local ni múltiples usuarios
  • HTTPS interceptación de descargas nunca se realiza (solo pass-through SNI)
  • Docker Desktop en macOS y Windows no es objetivo de despliegue
  • Solo un administrador con tokens API; sin cuentas de usuario adicionales
  • Builds desde fuente requieren Go 1.27, Node.js 22 y GNU make
VISUAL

Capturas del proyecto

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

The PiCache overview page with a week of DNS traffic, the top blocked domains and the busiest devices of a home networkThe query log with device names, record types, statuses and response timesThe Why is this blocked? tab testing a domain as the living-room TVThe clients table with IP and MAC addresses, groups, queries and block ratesThe library with cached games and updates grouped by serviceThe health page with passing checks, version details, data paths and memory useThe overview page in the light theme
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.

Despliegue manual

Desplegar en Debian 12/13 con script one-line o binario manual. Para Proxmox LXC usar nesting=1. Docker requiere host networking (no bridge). Configurar DHCP DNS del router apuntando a PiCache:53. Verificar conflictos puerto 53 si systemd-resolved está activo. Actualizar vía UI System → Updates o comando sudo picache update.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

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

FRAMEWORKS
Next.jsNode.jsGo
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
10538080
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.