
HTTPS localhost de confiance — CA locale, /etc/hosts, partage LAN mDNS, proxy inverse. Mappe https://name.local → localhost:port
Vrai HTTPS pour le développement local — avec une TUI et le partage LAN.
mkdev fait tourner du HTTPS de confiance sur *.local. Un seul binaire Go : autorité de certification + proxy inverse + /etc/hosts + diffusion mDNS + une TUI complète.
Ce qui le distingue :
https://app.local depuis votre téléphone ou tout appareil sur le même Wi-Fi.mkdev sans argument vous y plonge directement.internal/safeexec). Pas d'ombrage basé sur PATH, pas de raccourcis accessibles en écriture au groupe.knownHost. Pas de wildcard, pas de pré-génération.mkdev install # CA + trust + daemon service + menu bar autostart
mkdev add myapp localhost:3000 # routes https://myapp.local → localhost:3000
curl https://myapp.local # 200 from your local app
install est une opération unique : il génère l'AC, la fait approuver dans le magasin de certificats du système, installe et active le service utilisateur du démon (launchd / systemd), enregistre le lancement de la barre de menu à la connexion, et lance la barre immédiatement lorsqu'une session graphique est présente. Le démon possède le proxy ; la TUI (mkdev sans argument) et mkdev add | remove | list communiquent avec lui via ~/.mkdev/daemon.sock.

La fonctionnalité phare de mkdev. Partagez une route vers tout appareil sur le même Wi-Fi avec un vrai TLS — sans avertissements, sans service de tunnel.
s pour faire passer la colonne SHARE à LAN.<name>.local → l'IP LAN de cette machine.https://<name>.local. Une fois que l'appareil approuve l'AC de mkdev (une seule fois), plus aucun avertissement..local sont diffusées sur mDNS. Les autres TLD continuent de passer par le proxy mais ne sont pas accessibles par nom sur le LAN.s est immédiate — la diffusion mDNS et l'ACL côté LAN sont mises à jour à la prochaine requête. Pas de redémarrage.brew install venkatkrishna07/tap/mkdev
Mise à niveau ultérieure :
brew update
brew upgrade mkdev
go install github.com/venkatkrishna07/mkdev/cmd/mkdev@latest
Mise à niveau vers une version spécifique :
go install github.com/venkatkrishna07/mkdev/cmd/[email protected]
Des binaires pré-compilés pour macOS (Intel + Apple Silicon), Linux (amd64 + arm64) et Windows (amd64) sont publiés sur la page des versions. Chaque version inclut checksums.txt ainsi qu'une signature cosign sans clé (checksums.txt.sig + .pem) — consultez SECURITY.md#verifying-releases pour la commande de vérification.
Sous macOS, si Gatekeeper bloque un binaire téléchargé directement :
xattr -d com.apple.quarantine ./mkdev
git clone https://github.com/venkatkrishna07/mkdev.git
cd mkdev
task build
cp bin/mkdev ~/bin/ # or /usr/local/bin
Nécessite Go 1.25+.
mkdev install # CA, trust, daemon service, bar autostart — one command
mkdev # launch TUI
Après install, le démon s'exécute en arrière-plan et la barre de menu apparaît (macOS, Linux GNOME/KDE, Windows). La barre affiche l'état du démon, la liste des routes et des bascules d'activation / de partage LAN par route ; Quit ferme la barre sans arrêter le démon.
La barre est l'interface toujours active. Elle se trouve dans la zone de notification et communique avec le démon via ~/.mkdev/daemon.sock. Elle se lance à la connexion (démarrage automatique enregistré par install) ; elle peut également être exécutée au premier plan avec mkdev bar.
Ce qu'elle affiche :
mkdev v0.4.0 + PID du démon + durée de fonctionnement + port d'écoute du proxy.name.tld → target ainsi que des badges de suffixe ( · disabled, · LAN).Ce qu'elle fait (clic sur une route) :
https://name.tld avec le gestionnaire par défaut du système.pbcopy / wl-copy / xclip / clip.exe).Enabled de la route. Les routes désactivées restent dans le registre mais ne sont plus proxifiées.Actions au niveau de la barre :
DisableUnit pour que KeepAlive de launchd / systemd ne le relance pas immédiatement, puis envoie un arrêt via la socket.Remarques :
mkdev daemon stop) arrêtent proprement le démon supervisé — tuer directement le processus du démon le fera relancer par launchd / systemd.Remplacez le binaire (brew upgrade / go install ...@latest / nouveau téléchargement). À la prochaine exécution d'une sous-commande mkdev, le binaire réconcilie les éléments qui vivent en dehors de lui : il réécrit la plist du démon / l'unité systemd et l'entrée de démarrage automatique de la barre pour pointer vers le nouveau binaire, ré-applique les entrées /etc/hosts pour les routes activées, et ré-approuve l'AC si elle a été retirée. Les invites sudo s'affichent immédiatement. Si seul le démon est en cours d'exécution et que vous ne touchez jamais à la CLI, le démon effectue les opérations sûres (sans sudo) à son propre démarrage et met le reste en file d'attente jusqu'à la prochaine commande CLI.
Ré-exécuter mkdev install fait explicitement la même chose et est toujours sans danger — chaque étape est idempotente.