A local *.vaelth dev proxy. DNS, HTTP/HTTPS reverse proxy, management portal, and MCP server in one Go binary. Map any port or directory to a stable hostname under .vaelth — with a clean HTTPS padlock, no /etc/hosts edits, and no port in the URL.
$ curl -fsSL https://dl.velaintelligence.com/vaelth/latest/install.sh | sh
Then open: http://vaelth.vaelth/
vaelth setup prints a plan, prompts once, and does everything: creates a local CA, trusts it in your system trust store, installs the DNS resolver, drops a LaunchDaemon on :80 / :443, and bootstraps the daemon. Opt out with --no-* flags.
A built-in DNS server answers *.vaelth via /etc/resolver/vaelth. Wildcards work too: register *.demo.vaelth and every subdomain hits the same upstream. No /etc/hosts entries, no browser plug-ins.
Local CA auto-issued and trusted on first setup. Per-host leaf certs (and wildcard SANs) chain to it, so Chrome and Safari show a clean padlock. No "advanced → proceed anyway" dance.
http://demo.vaelth/ just works. macOS uses launchd socket activation so :80 / :443 bind as root and hand the FDs to a user-mode daemon — scoped to one LaunchDaemon plist, no pf rdr or system takeover.
An SPA served by the daemon itself at http://vaelth.vaelth/. Add, edit, and remove hosts and routes live; toggle no-cache, CORS, HTTPS, SPA fallback; install MCP into Claude Code / Desktop / Codex with one click.
Bundled MCP server over stdio. Claude Code, Claude Desktop, and OpenAI Codex can list, add, edit, route, and reload hosts directly. The portal has a one-click installer for each.
Vaelth classifies a target by its shape — no --static flag, no --proxy flag.
3000 Bare port — proxies to http://127.0.0.1:3000.localhost:5173 host:port — proxies as-is.https://api.staging.dev Full URL — proxies upstream and rewrites the Host header for CDN-fronted origins./Users/you/dist Absolute path — serves files from a directory.~/dist · ./dist Tilde and relative paths — resolved client-side before being sent to the daemon.*.demo.vaelth Wildcard host pattern — one entry, one wildcard cert, every one-label subdomain.Vaelth ships an MCP stdio server. Install with vaelth mcp install claude-code (or claude-desktop / codex), or one-click from the portal sidebar.
vaelth_status Daemon version, uptime, listener addresses, host count, HTTPS state.vaelth_host_list Every registered host with its routes and flags.vaelth_host_get One host's full state — useful for "where is this app served?" lookups.vaelth_host_add Register a host. Target shape decides proxy vs static; flags include https, no_cache, cors, spa.vaelth_host_set Toggle HTTPS, no-cache, or permissive CORS on an existing host. Omitted fields leave alone.vaelth_host_remove Unregister a host and all its routes.vaelth_host_route_add Attach a path-prefix route — SPA at /, API at /api/, all on one host via http.ServeMux.vaelth_host_route_set Edit a route in place: change target, flip SPA fallback, toggle prefix-strip. Target re-classified by shape.vaelth_host_route_remove Drop one route. Last route on a host requires host_remove instead.vaelth_reload Force a re-read of ~/.vaelth/state.json — equivalent to the automatic fsnotify reload, but synchronous.