Skip to main content
Glama

devns

Dominio local https://<nombre>.test sin puerto para macOS.

devns add webui 8080
# ✓ https://webui.test → 127.0.0.1:8080 (caddy admin load HTTP 200)

Una CLI que lo prepara todo: dnsmasq (comodín *.test → 127.0.0.1), Caddy (único titular de los puertos 80/443, HTTPS automático vía CA interna), y un bridge DoH local opcional para que los navegadores con Secure DNS puedan seguir abriendo dominios .test.

¿Por qué es necesario?

Sin devns

Con devns

http://localhost:7337

https://pueue.test

Puertos en conflicto entre proyectos

Nombre único por proyecto, sin puerto en la URL

HTTP plano

HTTPS de confianza (cookie Secure, service worker, API de portapapeles funcionan)

El Secure DNS del navegador desactiva los dominios locales

Bridge DoH: .test local, el resto permanece cifrado a la nube

Related MCP server: DDEV MCP Server

Instalación

Requiere: macOS + uv + Homebrew.

git clone https://github.com/apiep/devns && cd devns
uv tool install --editable .
devns init          # sekali saja — minta sudo interaktif 2-3x
devns doh install   # opsional: bridge DoH utk browser secure-DNS

devns init prepara:

  1. brew install dnsmasq caddy si aún no existen

  2. /etc/resolver/test → macOS enruta el TLD .test a 127.0.0.1

  3. Bloque address=/.test/127.0.0.1 en dnsmasq.conf + servicio root en :53

  4. Caddyfile principal (import ~/.config/devns/sites/*.caddy) + servicio root 80/443

  5. CA interna de Caddy al almacén de confianza del sistema (sudo caddy trust)

  6. Bridge DoH (dnsproxy de AdGuard — binario de descarga automática según SO/arquitectura)

En el día a día sin sudo en absoluto: add/rm/ls/open/doctor/doh/log.

Uso

devns add pueue 7337          # daftarkan domain + reload Caddy + cek port
devns add api 3000 --open     # sekalian buka browser
devns ls                      # ● https://pueue.test → 127.0.0.1:7337
devns open pueue              # buka di browser default
devns rm pueue                # hapus (konfirmasi; -y skip)
devns doctor                  # kesehatan: resolver/DNS/Caddy/HTTPS/DoH

devns doh install             # bridge DoH (LaunchAgent user-level)
devns doh status
devns doh log -f              # ikuti log dnsproxy live

Navegadores con Secure DNS

Después de devns doh install, configura Secure DNS en Custom: https://dns.test:8443/dns-query. Las consultas .test se responden localmente; todas las demás se reenvían cifradas al upstream DoH que elijas (por defecto OpenDNS).

Arquitectura

Browser ──DoH──> dns.test:8443 (dnsproxy, launchd io.devns.doh)
                   ├─ [/test/] ──> dnsmasq :53 ──> 127.0.0.1
                   └─ lainnya  ──> https://doh.opendns.com/dns-query

Browser ──HTTPS──> Caddy :443 ──reverse_proxy──> 127.0.0.1:<port-app>
        ──HTTP───> Caddy :80  ──308──> HTTPS
                     cert: Caddy Local Authority (tls internal), per-hostname on-demand
  • Registry: ~/.config/devns/registry.yaml = única fuente de verdad

  • Site files: ~/.config/devns/sites/<nombre>.caddy (artefactos generados; la plantilla usa flush_interval -1 para que SSE no se almacene en búfer)

  • Recarga diaria: endpoint de administración de Caddy localhost:2019 con cabecera Content-Type: text/caddyfile

Servidor MCP

devns incluye un servidor MCP stdio sin dependencias adicionales:

hermes mcp add devns --command devns-mcp    # Hermes Agent
# atau konfigurasi MCP client lain (Claude Desktop dsb) dengan command "devns-mcp"

Tools: list_domains, add_domain, remove_domain, check_health, doh_status.

Skill para agentes de IA

Este repositorio incluye una skill portátil en skills/devns/SKILL.md (formato agentskills.io / Claude skills). Cópiala o haz un symlink al directorio de skills de tu agente.

Notas de diseño (lecciones reales)

  • El comodín *.test es rechazado por los verificadores modernos — Chrome y curl rechazan un certificado comodín que se adhiere directamente al TLD aunque el SAN sea válido según RFC. Por eso el certificado se crea por hostname bajo demanda con la CA interna de Caddy.

  • El puerto 5353 ya lo usa mDNSResponder (Bonjour) → el bridge DoH usa 5335.

  • /etc/resolver/test hace que la resolución se cuelgue (no que falle rápido) cuando dnsmasq está caído — es señal de que el resolver está activo, no un bug.

Licencia

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables comprehensive DNS operations including lookups for various record types, reverse DNS queries, batch processing, and DNS resolution tracing. Supports multiple DNS servers with configurable caching and robust error handling.
    4
    21
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to interact with DDEV local development environments by querying databases, managing project states, and executing container commands. It provides comprehensive control over local services with a security-first approach using whitelisted operations.
    5
    49
    3
    GPL 2.0

View all related MCP servers

Related MCP Connectors

  • Look up DNS information for any domain to troubleshoot issues and gather insights. Get fast, relia…

  • DNS lookups, health reports, SSL certs, security scans, GEO scoring, uptime checks

  • Domain search, registration, DNS, marketplace, and checkout with your AI agent.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/apiep/devns'

If you have feedback or need assistance with the MCP directory API, please join our Discord server