
nmlinux v1.7.11
लिनक्स के लिए एकीकृत नेटवर्क टूलकिट — Python 3 + PySide6
NMLinux · v1.7.12
Linux और macOS के लिए एक एकीकृत नेटवर्क टूलकिट — निरीक्षण करें, कनेक्ट करें, निदान करें।
NMLinux एक एकल, एकीकृत GUI है जो 29 नेटवर्क मॉड्यूल को एक ही विंडो में एक साथ लाता है: इंटरफ़ेस मॉनिटरिंग, वाई-फाई, DNS, SSH टर्मिनल, फ़ायरवॉल व्यूअर, टोपोलॉजी मैप, ट्रेसरूट, और बहुत कुछ। इसे Python और PySide6 (Qt 6) में शुरू से बनाया गया है, जिसमें 8 इंटरफ़ेस भाषाएँ हैं और मानक सिस्टम टूल्स के अलावा कोई बाहरी निर्भरता नहीं है।
[!NOTE] NMLinux का Linux सिस्टम डेमॉन
/usr/bin/NetworkManager(Red Hat/GNOME द्वारा NetworkManager) से कोई संबंध नहीं है। NMLinux एक स्टैंडअलोन प्रोजेक्ट है जिसे Python और PySide6 में शुरू से बनाया गया है।
Claude Code (Anthropic) के साथ और इसके लेखक के योगदान से निर्मित।
विकास प्रक्रिया
NMLinux AI सहायता से बनाया गया है — विशेष रूप से Claude Code — और यह इस रेपो में कहीं छिपा नहीं है। आज लगभग हर गंभीर सॉफ़्टवेयर प्रोजेक्ट अपनी पाइपलाइन में कहीं न कहीं AI का उपयोग करता है, चाहे वह कहे या न कहे। इसलिए "क्या AI शामिल था" दिलचस्प सवाल नहीं है। दिलचस्प सवाल यह है: जब AI कुछ गलत करता है, तो क्या उसे पकड़ने वाला कुछ मौजूद है?
यदि आप मेरी बात मानने के बजाय जाँचना चाहें, तो यही इसे पकड़ता है:
- 162 टेस्ट —
pytest tests/ -v. शुद्ध लॉजिक के साथ कुछ वास्तविक Qt विजेट टेस्ट (मेनू, टेबल) भी; दिलचस्प हिस्सों को मॉक करके नहीं हटाया गया। docs/Decisions-Techniques.md— हर गैर-स्पष्ट तकनीकी निर्णय, जिन विकल्पों को अस्वीकार किया गया, और वे बग (AI द्वारा लाए गए बग सहित) जो पाए गए और ठीक किए गए, तर्क सहित लिखे गए।docs/Architecture.mdऔरdocs/Carte-des-Modules.md— कोड की वास्तविक संरचना, जो रिलीज़ होने वाले कोड के साथ समकालिक रखी जाती है।- i18n स्थिरता जाँच जो हर रिलीज़ से पहले 8 समर्थित भाषाओं में लापता अनुवाद कुंजियों को पकड़ने के लिए चलाई जाती है।
यह सब इसलिए मौजूद नहीं है कि AI पर भरोसा नहीं किया जा सकता। यह इसलिए मौजूद है क्योंकि बिना जाँच प्रक्रिया के कुछ भी रिलीज़ नहीं होना चाहिए — हाथ से लिखा कोड भी शामिल है। आउटपुट और उसके सत्यापन के तरीके को परखें, न कि उस टूल को जिसने इसे लिखने में मदद की।
फिर भी कोई बग मिला? यह उपयोगी है, शर्मनाक नहीं — एक issue खोलें।
समुदाय
GitHub Discussions खुले हैं — प्रतिक्रिया साझा करें, विचार रिपोर्ट करें, प्रश्न पूछें, या बस नमस्ते कहें। लेखक के पास इंफ्रास्ट्रक्चर और ऑपरेशंस में 30+ वर्षों का अनुभव है, और उन्होंने यह टूल इसलिए बनाया क्योंकि अच्छा, मुफ्त और सरल सॉफ़्टवेयर Linux के लिए भी होना चाहिए।
स्क्रीनशॉट
Linux स्क्रीनशॉट v1.2.7 से — macOS स्क्रीनशॉट v1.3.5 से। ऐप में अब 29 मॉड्यूल और 8 इंटरफ़ेस भाषाएँ (FR/EN/ES/DE/IT/PT/JA/ZH) हैं।
Linux (KDE)
| Dashboard | Topology |
|---|---|
![]() | ![]() |
| Traceroute | Wi-Fi |
|---|---|
![]() | ![]() |
macOS
| Dashboard | Traceroute |
|---|---|
![]() | ![]() |
चेंजलॉग
v1.7.12 — 2026-08-12
- Traceroute — फिक्स: Flatpak (v1.7.11, नीचे देखें — अब हटा दिया गया) के तहत,
tracerouteहमेशा होस्ट शिम के माध्यम सेPATHपर हल होता था, भले ही होस्ट पर कोई वास्तविकtracerouteबाइनरी स्थापित न हो, इसलिए वर्कर कभीtracepathपर फॉलबैक नहीं करता था और ट्रेस बिना किसी हॉप और बिना किसी त्रुटि संदेश के तुरंत समाप्त हो जाता था। अब जब भीtracerouteकोई पार्स करने योग्य आउटपुट नहीं देता है, तो यहtracepathपर फॉलबैक करता है, चाहे वह किसी भी कारण से विफल हुआ हो। - SSH टर्मिनल — askpass फिक्स: जब
DISPLAY/WAYLAND_DISPLAYसेट होते हैं (किसी भी GUI सत्र में) और ssh के पास साफ tty नहीं होती, तो यह एम्बेडेड टर्मिनल के बजाय पासवर्ड प्रॉम्प्ट के लिए$SSH_ASKPASSका उपयोग कर सकता है — यदि कोई askpass हेल्पर स्थापित न हो तो साइलेंट रूप से प्रमाणीकरण विफल हो जाता है।SSH_ASKPASS_REQUIRE=neverअब पासवर्ड प्रॉम्प्ट को हमेशा टर्मिनल के माध्यम से ही जाने के लिए बाध्य करता है। - Flatpak पैकेजिंग हटाई गई: v1.7.11 में शामिल स्थानीय KDE Linux मेनिफेस्ट बंद कर दिया गया है। ऊपर दिए गए SSH पासवर्ड-प्रॉम्प्ट बग की जाँच में एक कर्नेल-स्तरीय सीमा सामने आई:
flatpak-spawn --hostके माध्यम से रिले किया गया प्रोसेस कभी भी फॉरवर्ड की गई pty का नियंत्रण-टर्मिनल स्वामी नहीं बन सकता (TIOCSCTTYकोEPERMके साथ अस्वीकार कर दिया जाता है — एक अलग, असंबंधित सत्र इसका स्वामी है; यह एक जानबूझकर बनाई गई कर्नेल सुरक्षा सीमा है, कोई बग नहीं)। केवल काम करने वाला वर्कअराउंड (script, एक नई pty आवंटित करना) पासवर्ड प्रॉम्प्ट तो ठीक करता है, लेकिन उस सत्र के लिए लाइव टर्मिनल-रीसाइज़ प्रसारण को तोड़ देता है — जिसे Flatpak को बिल्कुल न भेजने की तुलना में बदतर व्यापार-विनिमय माना गया। आगे जाने के लिए AUR और AppImage ही समर्थित Linux इंस्टॉल पथ हैं।
v1.7.11 — 2026-08-03
- Flatpak पैकेजिंग (KDE Linux):
packaging/flatpak/के अंतर्गत एक स्थानीय बिल्ड मेनिफेस्ट KDE Linux और अन्य केवल-Flatpak डिस्ट्रो को लक्षित करता है। nmlinux जिन होस्ट CLI टूल्स को कॉल करता है (nmcli,pkexec,mount.cifs,ssh,nmap, …), उन्हें प्रत्येक को अलग-अलग सैंडबॉक्स करने के बजायPATHपरflatpak-spawn --hostशिम के माध्यम से ब्रिज किया जाता है; PySide6 PyPI व्हील के बजाय Flathub केio.qt.PySide.BaseAppसे आता है। Flathub पर प्रकाशित नहीं किया गया — इसके बजायpackaging/flatpak/build-bundle.shके साथ एक एकल.flatpakबंडल बनाया जाता है और हर रिलीज़ के साथ संलग्न किया जाता है, ठीक उसी तरह जैसे AppImage पहले से है। v1.7.12 में बंद कर दिया गया — ऊपर देखें।
v1.7.10 — 2026-08-03
- SSH टर्मिनल — फिक्स: एक रेस कंडीशन ठीक की गई जिसमें PTY गलत (डिफ़ॉल्ट 24×80) आकार पर शुरू हो सकती थी, यदि सत्र लॉन्च होने के समय टर्मिनल विजेट का वास्तविक आकार ज्ञात नहीं था, जिससे रीसाइज़ अनुरोध चुपचाप छूट जाता था। इससे दूरस्थ फुल-स्क्रीन ऐप्स (जैसे Claude Code CLI, htop, vim) वास्तविक विंडो आकार से बेमेल हो जाते थे, जिससे स्क्रीन के नीचे पुराना/अवशिष्ट टेक्स्ट रह जाता था जो केवल नए आउटपुट के स्क्रॉल होने पर साफ़ होता था। उपयोगकर्ता द्वारा रिपोर्ट किया गया; एक वास्तविक इंटरैक्टिव सत्र के साथ पुनरुत्पादित किया गया।





