Skip to content

Commit f52ff54

Browse files
docs: real README with usage examples
1 parent c340032 commit f52ff54

1 file changed

Lines changed: 94 additions & 1 deletion

File tree

README.md

Lines changed: 94 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,95 @@
11
# httpsdev
2-
Zero-config HTTPS for any local dev server. Wraps npm/yarn/pnpm/python/rails/etc with a browser-trusted TLS cert via mkcert.
2+
3+
**Zero-config HTTPS for any local dev server.**
4+
5+
```
6+
$ mkcert -install # one time, system-wide
7+
$ httpsdev 5173 # https://localhost:3443 → http://localhost:5173
8+
```
9+
10+
Real browser-trusted cert. Works with Vite, Next, Rails, Django, Flask — any HTTP dev server. WebSocket + SSE pass through untouched, so HMR keeps working.
11+
12+
## Why
13+
14+
Every framework has its own HTTPS story (`--https`, `HTTPS=true`, experimental configs) and most default to self-signed certs that trip browser warnings, break service workers, and blow up OAuth callbacks. `httpsdev` sits in front of your existing dev server and gives it real HTTPS in one command.
15+
16+
## Install
17+
18+
Requires [`mkcert`](https://github.com/FiloSottile/mkcert) for the local CA:
19+
20+
```bash
21+
brew install mkcert
22+
mkcert -install
23+
```
24+
25+
Then:
26+
27+
```bash
28+
# Homebrew (coming in v0.2)
29+
30+
# Go install
31+
go install github.com/ArpitRajputGithub/httpsdev@latest
32+
33+
# Or grab a binary from Releases:
34+
# https://github.com/ArpitRajputGithub/httpsdev/releases
35+
```
36+
37+
## Usage
38+
39+
```
40+
httpsdev <target-port> [flags]
41+
42+
--listen <port> HTTPS listen port (default 3443)
43+
--host <name> Additional SAN for cert (default: none)
44+
--lan Bind on 0.0.0.0 for LAN (default: 127.0.0.1)
45+
--tui Full-screen dashboard mode (default: false)
46+
--version Print version
47+
```
48+
49+
### Log mode (default)
50+
51+
```
52+
$ httpsdev 5173
53+
54+
▲ httpsdev v0.1.0
55+
56+
➜ Local: https://localhost:3443
57+
➜ Upstream: http://localhost:5173
58+
➜ Cert: mkcert · valid 30 days
59+
60+
press Ctrl+C to quit
61+
62+
GET / 200 12ms
63+
GET /@vite/client 200 3ms
64+
POST /api/login 401 45ms
65+
```
66+
67+
### Dashboard mode
68+
69+
```bash
70+
httpsdev --tui 5173
71+
```
72+
73+
Full-screen Catppuccin Mocha TUI with live request feed, latency stats, and cert info tab.
74+
75+
*(GIF placeholder — record with asciinema after v0.1 tag)*
76+
77+
### Test on your phone
78+
79+
```bash
80+
httpsdev --lan 5173
81+
```
82+
83+
Binds on `0.0.0.0`. Your phone (on the same wifi) can hit `https://<mac-ip>:3443` — install the mkcert root CA on the phone via `mkcert -CAROOT` to make the padlock green.
84+
85+
## What's out of scope for v0.1
86+
87+
- Wrapping the dev-server process (`httpsdev npm run dev`) — you run your dev server yourself.
88+
- Multi-service reverse proxy (`api.dev.local`, `web.dev.local`) — use [Caddy](https://caddyserver.com) for that.
89+
- Framework detection.
90+
91+
All tracked as issues for v0.2+.
92+
93+
## License
94+
95+
MIT.

0 commit comments

Comments
 (0)