
विश्वसनीय localhost HTTPS — स्थानीय CA, /etc/hosts, mDNS LAN साझाकरण, रिवर्स प्रॉक्सी. मैप करता है https://name.local → localhost:port
स्थानीय डेवलपमेंट के लिए वास्तविक HTTPS — TUI और LAN शेयरिंग के साथ।
mkdev *.local पर विश्वसनीय HTTPS चलाता है। एक ही Go बाइनरी: सर्टिफिकेट अथॉरिटी + रिवर्स प्रॉक्सी + /etc/hosts + mDNS ब्रॉडकास्ट + एक पूर्ण TUI।
क्या चीज़ इसे अलग बनाती है:
https://app.local खोलें।mkdev चलाने पर सीधे TUI में पहुँचते हैं।internal/safeexec)। कोई PATH-आधारित शैडोइंग नहीं, कोई ग्रुप-राइटेबल शॉर्टकट नहीं।knownHost अनुमति-सूची द्वारा नियंत्रित होते हैं। न वाइल्डकार्ड, न पहले से बनाए गए।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 एक-शॉट है: CA जनरेट करता है, सिस्टम स्टोर में उसे विश्वसनीय बनाता है, डेमन यूज़र-सर्विस (launchd / systemd) इंस्टॉल और सक्षम करता है, लॉगिन पर लॉन्च होने के लिए मेन्यू बार पंजीकृत करता है, और GUI सत्र मौजूद होने पर बार को तुरंत स्पॉन करता है। डेमन प्रॉक्सी का मालिक है; TUI (mkdev बिना तर्क) और mkdev add | remove | list उससे ~/.mkdev/daemon.sock के ज़रिए संवाद करते हैं।

mkdev की मुख्य विशेषता। असली TLS के साथ उसी Wi-Fi पर किसी भी डिवाइस के साथ रूट साझा करें — कोई चेतावनी नहीं, कोई टनल सेवा नहीं।
LAN पर बदलने के लिए s दबाएँ।<name>.local → इस मशीन के LAN IP के रूप में विज्ञापित होता है।https://<name>.local पर जाएँ। एक बार डिवाइस mkdev CA पर भरोसा कर ले (एक-बार), तो कोई चेतावनी नहीं।.local रूट mDNS पर ब्रॉडकास्ट होते हैं। अन्य TLD अभी भी प्रॉक्सी किए जाते हैं लेकिन नाम से LAN पर पहुँच योग्य नहीं होते।s टॉगल करना लाइव है — mDNS विज्ञापन और LAN-साइड ACL अगली रिक्वेस्ट पर अपडेट होते हैं। कोई रीस्टार्ट नहीं।brew install venkatkrishna07/tap/mkdev
बाद में अपग्रेड करें:
brew update
brew upgrade mkdev
go install github.com/venkatkrishna07/mkdev/cmd/mkdev@latest
किसी विशिष्ट संस्करण में अपग्रेड करें:
go install github.com/venkatkrishna07/mkdev/cmd/[email protected]
macOS (Intel + Apple Silicon), Linux (amd64 + arm64) और Windows (amd64) के लिए पहले से निर्मित बाइनरीज़ Releases पेज पर प्रकाशित होती हैं। हर रिलीज़ में checksums.txt के साथ-साथ एक cosign कीलेस सिग्नेचर (checksums.txt.sig + .pem) शामिल होता है — वेरिफाई कमांड के लिए SECURITY.md#verifying-releases देखें।
macOS पर, यदि Gatekeeper सीधे डाउनलोड की गई बाइनरी को ब्लॉक करता है:
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
आवश्यकता: Go 1.25+।
mkdev install # CA, trust, daemon service, bar autostart — one command
mkdev # launch TUI
install के बाद, डेमन पृष्ठभूमि में चलता है और मेन्यू बार प्रकट होता है (macOS, Linux GNOME/KDE, Windows)। बार डेमन स्थिति, रूट सूची और प्रति-रूट सक्षम / LAN-शेयर टॉगल दिखाता है; Quit डेमन को रोके बिना बार से बाहर निकलता है।
बार हमेशा-चालू UI है। यह सिस्टम ट्रे में रहता है और ~/.mkdev/daemon.sock के ज़रिए डेमन से संवाद करता है। लॉगिन पर लॉन्च होता है (install द्वारा पंजीकृत ऑटोस्टार्ट); mkdev bar के साथ फोरग्राउंड में भी चलाया जा सकता है।
यह क्या दिखाता है:
mkdev v0.4.0 + डेमन PID + अपटाइम + सुन रहा प्रॉक्सी पोर्ट।name.tld → target के साथ सफ़िक्स बैज दिखाती है ( · disabled, · LAN)।यह क्या करता है (रूट पर क्लिक करने पर):
https://name.tld खोलता है।pbcopy / wl-copy / xclip / clip.exe)।Enabled फ़्लैग बदलता है। अक्षम रूट स्टोर में रहते हैं लेकिन प्रॉक्सी होना बंद कर देते हैं।बार-स्तरीय क्रियाएँ:
DisableUnit कॉल करता है ताकि launchd / systemd KeepAlive उसे तुरंत पुनः स्पॉन न करे, फिर सॉकेट पर शटडाउन भेजता है।नोट:
mkdev daemon stop) पर्यवेक्षित डेमन को साफ़ तरीके से रोक सकते हैं — डेमन प्रोसेस को सीधे मारने पर launchd / systemd उसे पुनः स्पॉन कर देगा।बाइनरी बदलें (brew upgrade / go install ...@latest / नया डाउनलोड)। अगली बार जब आप कोई mkdev सबकमांड चलाएँगे, तो बाइनरी उन हिस्सों को समेटती है जो इसके बाहर रहते हैं: डेमन plist / systemd यूनिट और बार ऑटोस्टार्ट प्रविष्टि को नई बाइनरी की ओर इंगित करने के लिए फिर से लिखती है, सक्षम रूट्स के लिए /etc/hosts को फिर से स्थापित करती है और यदि CA हटा दिया गया हो तो उसे फिर से विश्वसनीय बनाती है। Sudo प्रॉम्प्ट इनलाइन चलते हैं। यदि आपके पास केवल डेमन चल रहा है और CLI को कभी नहीं छूते, तो डेमन अपने स्टार्टअप पर सुरक्षित (बिना-sudo) काम करता है और बाकी को अगले CLI कमांड तक कतार में रखता है।
mkdev install को दोबारा चलाना यही काम स्पष्ट रूप से करता है और हमेशा सुरक्षित है — हर चरण इडेम्पोटेंट है।
| प्लेटफ़ॉर्म | ट्रस्ट स्टोर | एलिवेशन |
|---|---|---|
| macOS | System Keychain (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) |
पहचाने जाने वाले Linux डिस्ट्रो: Debian/Ubuntu (/usr/local/share/ca-certificates), RHEL/Fedora (/etc/pki/ca-trust/source/anchors), Arch (/etc/ca-certificates/trust-source/anchors), openSUSE (/usr/share/pki/trust/anchors)।
Firefox अपना खुद का NSS स्टोर उपयोग करता है और अभी तक कवर नहीं है — सिस्टम Chrome/Safari/Edge/curl/wget सभी काम करते हैं।