devns
devns
Lokale Domain https://<name>.test ohne Port für macOS.
devns add webui 8080
# ✓ https://webui.test → 127.0.0.1:8080 (caddy admin load HTTP 200)Ein einziges CLI, das alles einrichtet: dnsmasq (Wildcard *.test → 127.0.0.1), Caddy (einziger Inhaber von Port 80/443, automatisches HTTPS über interne CA) und optional eine lokale DoH-Brücke, damit Browser mit Secure DNS weiterhin .test-Domains öffnen können.
Warum wird es benötigt?
Ohne devns | Mit devns |
|
|
Portkonflikte zwischen Projekten | Eindeutige Namen pro Projekt, ohne Port in der URL |
Reines HTTP | Vertrauenswürdiges HTTPS (Secure-Cookies, Service Worker, Clipboard-API funktionieren) |
Secure DNS des Browsers blockiert lokale Domains | DoH-Brücke: |
Related MCP server: DDEV MCP Server
Installation
Erforderlich: 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 richtet Folgendes ein:
brew install dnsmasq caddy, falls noch nicht vorhanden/etc/resolver/test→ macOS leitet die TLD.testan 127.0.0.1 weiterBlock
address=/.test/127.0.0.1indnsmasq.conf+ Service-Root auf :53Haupt-Caddyfile (
import ~/.config/devns/sites/*.caddy) + Service-Root auf 80/443Interne Caddy-CA im System-Trust-Store (
sudo caddy trust)DoH-Brücke (
dnsproxyvon AdGuard — Binary wird automatisch je nach OS/arch heruntergeladen)
Im Alltag ganz ohne sudo: add/rm/ls/open/doctor/doh/log.
Verwendung
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 liveBrowser mit Secure DNS
Nach devns doh install Secure DNS auf Custom setzen: https://dns.test:8443/dns-query.
.test-Anfragen werden lokal beantwortet, alle anderen Anfragen werden verschlüsselt an den gewählten DoH-Upstream weitergeleitet (Standard: OpenDNS).
Architektur
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= einzige Quelle der WahrheitSite-Dateien:
~/.config/devns/sites/<name>.caddy(generierte Artefakte; Vorlage verwendetflush_interval -1, damit SSE nicht gepuffert wird)Tägliches Reload: Caddy-Admin-Endpunkt
localhost:2019mit HeaderContent-Type: text/caddyfile
MCP-Server
devns enthält einen stdio-MCP-Server ohne zusätzliche Abhängigkeiten:
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 für KI-Agenten
Dieses Repository enthält einen portablen Skill unter skills/devns/SKILL.md (Format agentskills.io / Claude skills). Kopiere ihn oder verlinke ihn per Symlink in das Skill-Verzeichnis deines Agenten.
Design-Notizen (praktische Erkenntnisse)
Wildcard
*.testwird von modernen Verifiern abgelehnt — Chrome und curl lehnen Wildcard-Zertifikate ab, die direkt an der TLD hängen, selbst wenn die SANs RFC-konform sind. Deshalb werden Zertifikate pro Hostname on-demand von der internen Caddy-CA erstellt.Port 5353 ist bereits von mDNSResponder (Bonjour) belegt → die DoH-Brücke verwendet 5335.
/etc/resolver/testlässt die Auflösung hängen (kein schneller Fehlschlag), wenn dnsmasq aus ist — das ist ein Zeichen für einen aktiven Resolver, kein Bug.
Lizenz
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