@maxiviper117/devproxy
v0.27.1
Published
Cross-platform CLI for stable HTTPS local domains that proxy to local development services.
Maintainers
Readme

DevProxy
Stable HTTPS .local domains for local development
DevProxy is a cross-platform CLI for stable HTTPS .local domains that proxy to local development services on Windows, macOS, and Linux. On Windows, it also works well with apps running in WSL, Docker, or native Windows processes as long as the service is reachable through loopback.
Documentation
Full documentation is hosted at https://maxiviper117.github.io/dev-proxy/.
Quick Start
Install Caddy and trust its CA:
scoop install caddy caddy trustOn macOS,
brew install caddyis the common install path. On Linux, use the official packages for your distribution. See the docs for the full Windows, macOS, and Linux setup guide.Install DevProxy:
npm install -g @maxiviper117/devproxyRun your local project on a port (for example,
8000).
[!IMPORTANT] Elevated permissions required: This next step (4) modifies your system hosts file, so you must run it in an administrator / elevated terminal session (Windows: run Terminal/PowerShell as Administrator; macOS/Linux: use
sudo). 4. Register the service:
Option A — Quick registration (can be run from anywhere):
devproxy add api.myapp --port 8000Option B — Project-scoped registration (run inside your project directory):
devproxy init --name api.myapp --port 8000init does two things:
- Registers the service globally (same as
add) — adds the domain to DevProxy's registry, updates your hosts file, and reloads Caddy. - Creates
.devproxy/config.jsonin your current directory, saving the servicenameandport.
Because the config lives in your project, you can re-run devproxy init later without remembering the original flags. Commit .devproxy/config.json to version control so your team can run the same command to set up the project locally.
Open your domain:
https://api.myapp.local
[!TIP] If you registered with
init, you can also rundevproxy openfrom your project root (where.devproxy/config.jsonexists) and it will open the domain directly in your browser.
Optionally open the local dashboard:
devproxy uiThe dashboard opens in your default browser on
127.0.0.1:3579by default. Usedevproxy ui --port <port>to choose another preferred port, ordevproxy ui --no-opento start the dashboard without launching a browser.
Commands
| Command | Description |
| --- | --- |
| devproxy init --name <name> --port <port> | Register a service and create project config in one step |
| devproxy add <name> --port <port> | Register a new service |
| devproxy update <name> [--name <name>] [--port <port>] | Rename a service or change its port |
| devproxy open [name] | Open a service in your browser |
| devproxy ui [--port <port>] [--no-open] | Open the local browser dashboard |
| devproxy list | List all registered services |
| devproxy status | Report Caddy state and upstream health |
| devproxy remove <name> | Remove a registered service |
| devproxy doctor | Check setup and diagnostics |
| devproxy sync-hosts | Align DevProxy hosts entries with the registry |
| devproxy certs | Print Caddy root CA certificate information |
| devproxy trust | Trust the Caddy local root CA certificate |
| devproxy start | Start or reload Caddy |
| devproxy stop | Stop Caddy |
Requirements
- Windows, macOS, or Linux
- Node.js 22 or newer
- Caddy installed and available on
PATH - Local services reachable from the host running DevProxy
