Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

ferrite-server

Servidor DNS autoalojado en Rust que combina filtrado de anuncios con túneles per-dispositivo vía WireGuard, SOCKS5 o Tor. Bloquea trackers y permite egress controlado sin root.

Ficha actualizada 23 sept 2026, 23:50 · upstream 23 sept 2026, 23:31 · release v0.1.8

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es ferrite-server

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

Ferrite es un servidor DNS self-hosted escrito en Rust que fusiona filtrado de anuncios/trackers con capacidad de enrutar tráfico por túneles específicos por dispositivo. A diferencia de Pi-hole, no solo limpia el DNS sino que decide cómo sale el tráfico de cada dispositivo a través de WireGuard, SOCKS5 o Tor.

El sistema opera sin root y sin dispositivos TUN, ejecutando WireGuard en userspace mediante boringtun y smoltcp dentro del mismo proceso. Soporta múltiples upstreams (DoT, DoH, DoQ, plain) con failover y round-robin, y elimina el EDNS Client Subnet para evitar fugas de información al upstream.

La interfaz web permite gestión completa sin reinicios: reglas de bloqueo/permitir por dispositivo, perfiles de túnel, listas de bloqueo desde URLs públicas (StevenBlack, OISD, AdGuard) y configuración de upstreams. El log es SQLite con retención configurable y interruptor para desactivar registro completo.

CASOS DE USO
  • Bloquear anuncios y trackers en toda la red mientras se mantiene acceso a servicios esenciales
  • Enrutar tráfico de dispositivos específicos (niños, IoT) a través de Tor o SOCKS5 sin afectar el resto de la red
  • Evasión de DPI mediante fragmentación de TLS ClientHello para dominios bloqueados que requieren acceso
  • Servidor DNS privado sin telemetría ni phone-home, ideal para entornos con restricciones de privacidad
  • Reemplazo de Pi-hole/AdGuard Home cuando se necesita control granular por dispositivo sobre egress
PUNTOS DESTACADOS
  • Single binary en Rust (~60 MB RSS) con decisiones DNS sub-2 ms y capacidad de decenas de miles de QPS
  • Filtrado y túneles per-dispositivo en un mismo servidor sin glue entre DNS blocker y VPN
  • Evasión DPI nativa mediante fragmentación de SNI/ClientHello para dominios bloqueados
  • Sin root, sin dispositivo TUN; WireGuard ejecutado en userspace con boringtun + smoltcp
  • No telemetría ni phone-home; único outbound es check GitHub horario y fetch de listas configuradas
  • Hot-reload de reglas, egresses y puertos sin reinicio del servicio
PRECAUCIONES
  • Sin servidor DHCP integrado (requiere configuración externa en router o per-dispositivo)
  • Maturity v0.1.x con un solo desarrollador; no es software maduro como Pi-hole o AdGuard Home
  • Requiere host networking para perfiles per-dispositivo; bridge mode necesita FERRITE_PANEL_IP configurado
  • No termina TLS; el cliente valida certificados end-to-end (no MITM)
  • Port 53 puede fallar sin --cap-add=NET_BIND_SERVICE en Docker
VISUAL

Capturas del proyecto

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

DashboardTunnels
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

Usar docker-compose con network_mode: host para ver IPs reales de clientes. Montar /var/lib/ferrite para persistencia. Preferir imagen GHCR no Docker Hub. Configurar FERRITE_PANEL_IP si usa bridge mode y publicar 443/tcp para selective routing. Establecer contraseña antes exponer API en 8080.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

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

FRAMEWORKS
Next.jsRust
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
905080805380
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.