Skip to main content
Glama

devns

Локальный домен https://<имя>.test без порта для macOS.

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

Один CLI, который настраивает всё: dnsmasq (wildcard *.test → 127.0.0.1), Caddy (единственный владелец портов 80/443, автоматический HTTPS через внутренний CA) и опциональный локальный мост DoH, чтобы браузеры с Secure DNS могли открывать домены .test.

Зачем это нужно?

Без devns

С devns

http://localhost:7337

https://pueue.test

Конфликты портов между проектами

Уникальное имя для каждого проекта, без порта в URL

Обычный HTTP

Доверенный HTTPS (cookie Secure, service worker, Clipboard API работают)

Secure DNS браузера блокирует локальные домены

Мост DoH: .test локально, остальное остаётся зашифрованным в облако

Related MCP server: DDEV MCP Server

Установка

Требуется: 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 настраивает:

  1. brew install dnsmasq caddy, если ещё не установлены

  2. /etc/resolver/test → macOS направляет TLD .test на 127.0.0.1

  3. Блок address=/.test/127.0.0.1 в dnsmasq.conf + служба от root на :53

  4. Основной Caddyfile (import ~/.config/devns/sites/*.caddy) + служба от root на 80/443

  5. Внутренний CA Caddy в системное хранилище доверия (sudo caddy trust)

  6. Мост DoH (dnsproxy от AdGuard — бинарник автоматически загружается под ОС/архитектуру)

В повседневной работе вообще без sudo: add/rm/ls/open/doctor/doh/log.

Использование

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

Браузеры с Secure DNS

После devns doh install установите Secure DNS на Custom: https://dns.test:8443/dns-query. Запросы .test обрабатываются локально, все остальные запросы пересылаются зашифрованно к выбранному вышестоящему DoH (по умолчанию OpenDNS).

Архитектура

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
  • Реестр: ~/.config/devns/registry.yaml — единственный источник истины

  • Файлы сайтов: ~/.config/devns/sites/<имя>.caddy (сгенерированные артефакты; шаблон использует flush_interval -1, чтобы SSE не буферизировался)

  • Ежедневная перезагрузка: admin endpoint Caddy localhost:2019 с заголовком Content-Type: text/caddyfile

MCP-сервер

devns включает MCP-сервер stdio без дополнительных зависимостей:

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

Инструменты: list_domains, add_domain, remove_domain, check_health, doh_status.

Навык для AI-агентов

Репозиторий включает переносимый навык в skills/devns/SKILL.md (формат agentskills.io / Claude skills). Скопируйте или сделайте симлинк в каталог навыков вашего агента.

Заметки по дизайну (реальные уроки)

  • Wildcard *.test отклоняется современными верификаторами — Chrome и curl отклоняют wildcard-сертификат, привязанный напрямую к TLD, даже если SAN валиден по RFC. Поэтому сертификаты создаются по каждому хосту по запросу внутренним CA Caddy.

  • Порт 5353 уже занят mDNSResponder (Bonjour) → мост DoH использует 5335.

  • /etc/resolver/test заставляет резолвер зависать (а не быстро падать), когда dnsmasq не работает — это признак активного резолвера, а не баг.

Лицензия

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