
Vertrauenswürdiges lokales HTTPS — lokale CA, /etc/hosts, mDNS-LAN-Freigabe, Reverse-Proxy. Mappt https://name.local → localhost:port
Echtes HTTPS für lokale Entwicklung – mit TUI und LAN-Freigabe.
mkdev führt vertrauenswürdiges HTTPS auf *.local aus. Ein einzelnes Go-Binary: Zertifizierungsstelle + Reverse Proxy + /etc/hosts + mDNS-Broadcast + eine vollständige TUI.
Was es anders macht:
https://app.local von Ihrem Telefon oder einem anderen Gerät im selben Wi-Fi auf.mkdev ohne Argumente startet die TUI.internal/safeexec). Keine PATH-basierte Verschleierung, keine gruppenschreibbaren Abkürzungen.knownHost-Zulassungsliste abgesichert. Kein Wildcard, nicht vorgefertigt.mkdev install # CA + Vertrauen + Daemon-Dienst + Menüleisten-Autostart
mkdev add myapp localhost:3000 # leitet https://myapp.local → localhost:3000 weiter
curl https://myapp.local # 200 von Ihrer lokalen App
install ist einmalig: generiert die CA, vertraut ihr im System-Trust-Store, installiert und aktiviert den Daemon-Benutzerdienst (launchd / systemd), registriert die Menüleiste für den Start beim Login und startet die Leiste sofort, wenn eine GUI-Sitzung vorhanden ist. Der Daemon verwaltet den Proxy; die TUI (mkdev ohne Argumente) und mkdev add | remove | list kommunizieren mit ihm über ~/.mkdev/daemon.sock.

Das Hauptmerkmal von mkdev. Teilen Sie eine Route mit jedem Gerät im selben Wi-Fi mit echtem TLS – keine Warnungen, kein Tunneldienst.
s, um die Spalte SHARE auf LAN zu setzen.<name>.local → LAN-IP dieses Rechners bekanntgegeben.https://<name>.local auf. Sobald das Gerät der mkdev-CA einmal vertraut, erscheinen keine Warnungen..local-Routen werden per mDNS gesendet. Andere TLDs werden weiterhin proxied, sind aber nicht über den LAN-Namen erreichbar.s erfolgt live – mDNS-Werbung und die LAN-seitige ACL werden bei der nächsten Anfrage aktualisiert. Kein Neustart.brew install venkatkrishna07/tap/mkdev
Später aktualisieren:
brew update
brew upgrade mkdev
go install github.com/venkatkrishna07/mkdev/cmd/mkdev@latest
Auf eine bestimmte Version aktualisieren:
go install github.com/venkatkrishna07/mkdev/cmd/[email protected]
Vorkompilierte Binärdateien für macOS (Intel + Apple Silicon), Linux (amd64 + arm64) und Windows (amd64) werden auf der Releases-Seite veröffentlicht. Jede Version enthält checksums.txt sowie eine Cosign-schlüssellose Signatur (checksums.txt.sig + .pem) – siehe SECURITY.md#verifying-releases für den Befehl zur Überprüfung.
Unter macOS, wenn Gatekeeper einen direkt heruntergeladenen Binärdatei blockiert:
xattr -d com.apple.quarantine ./mkdev
git clone https://github.com/venkatkrishna07/mkdev.git
cd mkdev
task build
cp bin/mkdev ~/bin/ # oder /usr/local/bin
Erfordert Go 1.25+.
mkdev install # CA, Vertrauen, Daemon-Dienst, Leisten-Autostart – ein Befehl
mkdev # TUI starten
Nach install läuft der Daemon im Hintergrund und die Menüleiste erscheint (macOS, Linux GNOME/KDE, Windows). Die Leiste zeigt Daemon-Status, Routenliste und pro Route Aktivierungs-/LAN-Freigabe-Umschalter; Quit beendet die Leiste, ohne den Daemon zu stoppen.
Die Leiste ist die ständig sichtbare Benutzeroberfläche. Sie befindet sich im System-Tray und kommuniziert mit dem Daemon über ~/.mkdev/daemon.sock. Wird beim Login gestartet (Autostart von install registriert); auch im Vordergrund mit mkdev bar ausführbar.
Was sie anzeigt:
mkdev v0.4.0 + Daemon-PID + Betriebszeit + lauschender Proxy-Port.name.tld → target plus Suffix-Abzeichen ( · deaktiviert, · LAN).Was sie tut (Klick auf eine Route):
https://name.tld mit dem System-Standard-Handler.pbcopy / wl-copy / xclip / clip.exe).Enabled-Flag der Route um. Deaktivierte Routen bleiben im Store, werden aber nicht mehr proxied.Aktionen auf Leistenebene:
DisableUnit auf, damit launchd/systemd KeepAlive nicht sofort neu startet, sendet dann Shutdown über den Socket.Hinweise:
mkdev daemon stop) beenden den überwachten Daemon sauber – das direkte Killen des Daemon-Prozesses führt dazu, dass er von launchd/systemd neu gestartet wird.Ersetzen Sie das Binary (brew upgrade / go install ...@latest / neuer Download). Beim nächsten Ausführen eines beliebigen mkdev-Unterbefehls gleicht das Binary die außerhalb liegenden Teile ab: es schreibt die Daemon-Plist/systemd-Unit und den Leisten-Autostart-Eintrag neu, um auf das neue Binary zu verweisen, setzt /etc/hosts für aktivierte Routen zurück und vertraut der CA erneut, falls sie entfernt wurde. Sudo-Eingabeaufforderungen laufen inline. Wenn nur der Daemon läuft und Sie die CLI nie verwenden, erledigt der Daemon die sicheren (kein Sudo) Teile beim eigenen Start und stellt den Rest bis zum nächsten CLI-Befehl zurück.
Ein erneutes Ausführen von mkdev install macht dasselbe explizit und ist immer sicher – jeder Schritt ist idempotent.