
HTTPS locale attendibile — CA locale, /etc/hosts, condivisione LAN mDNS, proxy inverso. Mappa https://name.local → localhost:port
HTTPS reale per sviluppo locale — con una TUI e condivisione LAN.
mkdev esegue HTTPS fidato su *.local. Un singolo binario Go: autorità di certificazione + proxy inverso + /etc/hosts + broadcast mDNS + una TUI completa.
Cosa lo rende diverso:
https://app.local dal tuo telefono o qualsiasi dispositivo sulla stessa Wi-Fi.mkdev senza argomenti ti apre la TUI.internal/safeexec). Nessun shadowing basato su PATH, nessuna scorciatoia scrivibile da gruppo.knownHost esplicito. Non wildcard, non pre-generati.mkdev install # CA + trust + servizio daemon + avvio automatico barra menu
mkdev add myapp localhost:3000 # route https://myapp.local → localhost:3000
curl https://myapp.local # 200 dalla tua app locale
install è unico: genera la CA, la rende fidata nel sistema, installa e abilita il servizio utente del daemon (launchd / systemd), registra la barra menu per l'avvio al login e avvia immediatamente la barra quando una sessione GUI è presente. Il daemon possiede il proxy; la TUI (mkdev senza argomenti) e mkdev add | remove | list comunicano con esso tramite ~/.mkdev/daemon.sock.

La funzionalità principale di mkdev. Condividi una route a qualsiasi dispositivo sulla stessa Wi-Fi con TLS reale — nessun avviso, nessun servizio tunnel.
s per cambiare la colonna SHARE a LAN.<name>.local → indirizzo IP LAN di questa macchina.https://<name>.local. Una volta che il dispositivo ha fiducia nella CA di mkdev (una tantum), nessun avviso..local vengono trasmesse su mDNS. Altre TLD fanno ancora da proxy ma non sono raggiungibili in LAN per nome.s è live — la pubblicità mDNS e l'ACL lato LAN vengono aggiornate alla prossima richiesta. Nessun riavvio.brew install venkatkrishna07/tap/mkdev
Aggiorna successivamente:
brew update
brew upgrade mkdev
go install github.com/venkatkrishna07/mkdev/cmd/mkdev@latest
Aggiorna a una versione specifica:
go install github.com/venkatkrishna07/mkdev/cmd/[email protected]
Binari precompilati per macOS (Intel + Apple Silicon), Linux (amd64 + arm64) e Windows (amd64) sono pubblicati sulla pagina Releases. Ogni release include checksums.txt più una firma cosign keyless (checksums.txt.sig + .pem) — consulta SECURITY.md#verifying-releases per il comando di verifica.
Su macOS, se Gatekeeper blocca un binario scaricato direttamente:
xattr -d com.apple.quarantine ./mkdev
git clone https://github.com/venkatkrishna07/mkdev.git
cd mkdev
task build
cp bin/mkdev ~/bin/ # o /usr/local/bin
Richiede Go 1.25+.
mkdev install # CA, trust, servizio daemon, avvio automatico barra — un comando
mkdev # avvia TUI
Dopo install, il daemon viene eseguito in background e appare la barra menu (macOS, Linux GNOME/KDE, Windows). La barra mostra lo stato del daemon, l'elenco delle route e gli switch per abilitare/condividere LAN per singola route; Quit esce dalla barra senza fermare il daemon.
La barra è l'interfaccia sempre attiva. Vive nella tray di sistema e comunica con il daemon tramite ~/.mkdev/daemon.sock. Si avvia al login (avvio automatico registrato da install); eseguibile anche in primo piano con mkdev bar.
Cosa mostra:
mkdev v0.4.0 + PID del daemon + uptime + porta del proxy in ascolto.name.tld → target più badge di suffisso ( · disabilitato, · LAN).Cosa fa (clicca su una route):
https://name.tld con il gestore predefinito del sistema.pbcopy / wl-copy / xclip / clip.exe).Enabled della route. Le route disabilitate rimangono nel repository ma smettono di essere proxate.Azioni a livello di barra:
DisableUnit così launchd / systemd KeepAlive non lo riavvia immediatamente, poi invia shutdown via socket.Note:
mkdev daemon stop) fermano pulitamente il daemon supervisionato — uccidere direttamente il processo daemon lo farà riavviare da launchd / systemd.Sostituisci il binario (brew upgrade / go install ...@latest / nuovo download). La prossima volta che esegui un qualsiasi sottocomando mkdev, il binario riconcilia le parti che vivono fuori di esso: riscrive il plist del daemon / unità systemd e la voce di avvio automatico della barra per puntare al nuovo binario, riafferma /etc/hosts per le route abilitate e riaffida la CA se è stata rimossa. Le richieste sudo vengono eseguite inline. Se hai solo il daemon in esecuzione e non tocchi mai la CLI, il daemon fa le parti sicure (senza sudo) all'avvio e accoda il resto fino al prossimo comando CLI.
Rieseguire mkdev install fa la stessa cosa in modo esplicito ed è sempre sicuro — ogni passo è idempotente.
| Piattaforma | Trust store | Elevazione |
|---|---|---|
| macOS | Keychain di sistema (security add-trusted-cert) | sudo / osascript |
| Linux | update-ca-trust / update-ca-certificates / trust extract-compat | sudo / pkexec |
| Windows | ROOT system store via crypt32.dll | UAC (PowerShell RunAs) |