devns
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 |
|
|
Puertos en conflicto entre proyectos | Nombre único por proyecto, sin puerto en la URL |
HTTP plano | HTTPS de confianza (cookie |
El Secure DNS del navegador desactiva los dominios locales | Bridge DoH: |
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-DNSdevns init prepara:
brew install dnsmasq caddysi aún no existen/etc/resolver/test→ macOS enruta el TLD.testa 127.0.0.1Bloque
address=/.test/127.0.0.1endnsmasq.conf+ servicio root en :53Caddyfile principal (
import ~/.config/devns/sites/*.caddy) + servicio root 80/443CA interna de Caddy al almacén de confianza del sistema (
sudo caddy trust)Bridge DoH (
dnsproxyde 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 liveNavegadores 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-demandRegistry:
~/.config/devns/registry.yaml= única fuente de verdadSite files:
~/.config/devns/sites/<nombre>.caddy(artefactos generados; la plantilla usaflush_interval -1para que SSE no se almacene en búfer)Recarga diaria: endpoint de administración de Caddy
localhost:2019con cabeceraContent-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
*.testes 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/testhace 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
Maintenance
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
- AlicenseAqualityDmaintenanceEnables 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.4212MIT
- AlicenseAqualityDmaintenanceEnables 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.5493GPL 2.0
- FlicenseNot gradedqualityDmaintenanceEnables checking domain availability using WHOIS and DNS resolution, with support for single and batch queries.28
- AlicenseBqualityDmaintenanceEnables domain name checking and related services through a standardized MCP interface.2MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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