macOS · Go · Open Source

Real HTTPS
on localhost. No more certificate warnings. No config. Just works.

http://localhost:3000 https://myapp.test
zsh — 80×24
<60s Setup time
0 Config files needed
825d Cert validity
Domains

Everything local HTTPS needs.

A single Go binary. No daemons to babysit, no Docker, no reverse proxy config files.

01

Trusted Certificates

Generates a local CA, installs it into your system keychain once. Every domain gets a signed cert. Green lock, always.

ECDSA P-256
02

Zero Configuration

One command to start. proxysh manages /etc/hosts, cert generation, and the LaunchAgent. Nothing to hand-edit.

Auto-start on login
03

WebSocket & HMR

Raw TCP hijacking means WS connections work without any special proxy config. Next.js, Vite, Remix — all fine.

Full duplex
04

Public URL Sharing

One flag and your local port is live at a public URL. Password protection and TTL expiry included.

--port 3000
05

Hot Reload

Add and remove domains without restarting anything. The daemon swaps its route table atomically.

Zero downtime
06

Team Config

Commit a .proxysh.yaml to your repo. Every developer gets the same HTTPS setup without any manual steps.

YAML

Set up in under a minute.

01

Install & start

Run the install script and then proxysh start. A local CA is generated, trusted by your system, and the daemon is registered as a LaunchAgent. One sudo prompt. Done forever.

02

Add a domain

Run proxysh up myapp 3000. A TLS cert is issued for myapp.test, /etc/hosts is updated, and the route is live. The daemon hot-reloads — no restart needed.

03

Open in browser

Visit https://myapp.test. Green padlock. No warnings. Port 443 → 8443 via a pf rule so the daemon never needs root after setup.

04

Share publicly (optional)

Run proxysh share --port 3000. A tunnel connects to the relay server and you get a unique public URL like swift-river-4271.proxysh.show.

$ proxysh start
Generating local CA certificate...
Installing CA into system trust store...
✓ CA installed and trusted.
✓ proxysh daemon started!

Commands

proxysh start Generate CA, install trust, start daemon
proxysh up <name> <port> Add https://<name>.test → localhost:<port>
proxysh down <name> Remove a .test domain mapping
proxysh list List all active domains and their status
proxysh share --port 3000 Create a public URL for a local port
proxysh logs -f Follow the proxy daemon log in real time
proxysh stop Stop the daemon
proxysh doctor Run health checks on your setup

One line to start.

Installs to ~/.local/bin — no sudo required.

$ curl -sL https://proxysh.zerostate.my/install.sh | sh

Start building with HTTPS today.

Free forever. Open source. No account, no cloud dependency, no telemetry.

Install now Star on GitHub