Local reverse proxy with TLS termination, custom DNS, and a terminal UI for inspecting, intercepting, and replaying HTTP traffic.
$ curl -fsSL https://raw.githubusercontent.com/vandot/zlodev/main/install.sh | sh
TLS termination with auto-generated CA and domain certificates. Your browser sees a trusted green lock.
Resolves *.lo to localhost automatically. No /etc/hosts editing needed.
Live request list with method, path, status, timing, and body size. Detail view for headers and body.
Hold requests before they reach your server. Inspect, edit, accept, or drop them in real time.
Re-send any captured request. Edit method, path, headers, and body before replaying.
Export captured traffic as HTTP Archive files for sharing, analysis, or import into other tools.
Copy any request as a ready-to-run curl command with a single keystroke.
Transparent proxying of WebSocket upgrades. HMR and live-reload just work.
Reads .env and framework configs to find your dev server port. Zero config for most setups.
$ curl -fsSL https://raw.githubusercontent.com/vandot/zlodev/main/install.sh | sh
$ zlodev install
$ npm run dev # or whatever starts your app
$ zlodev start
Your app is now at https://dev.lo
A lightweight UDP server resolves *.lo queries to 127.0.0.1. Registers via /etc/resolver/ on macOS, systemd-resolved on Linux, and NRPT rules on Windows.
On install, zlodev generates a local CA and domain certificate using OpenSSL. The CA is added to your system trust store, unique to your machine.
An HTTPS reverse proxy on port 443 terminates TLS, forwards plain HTTP to your dev server, and relays responses back over the encrypted connection.
A plain HTTP server on port 80 serves the CA certificate download page for mobile devices and redirects other traffic to HTTPS.
Use -l to bind to .local via mDNS. Access your dev server from mobile devices on the same network.
Run with --no-tui for script and CI usage. Logs go to stderr instead of the terminal UI.
Set --max-body=50M to control how large a request body the proxy will accept. Supports K, M, G suffixes.
Works on macOS, Linux, and Windows. Written in Zig with OpenSSL 3 for TLS. Single binary, no runtime dependencies.