
nmlinux v1.7.11
लिनक्स के लिए एकीकृत नेटवर्क टूलकिट — Python 3 + PySide6
NMLinux · v1.7.14
Linux और macOS के लिए एक एकीकृत नेटवर्क टूलकिट — निरीक्षण करें, कनेक्ट करें, निदान करें।
NMLinux एक एकल, एकीकृत GUI है जो 29 नेटवर्क मॉड्यूल को एक ही विंडो में एक साथ लाता है: इंटरफ़ेस मॉनिटरिंग, Wi-Fi, 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 पर भरोसा नहीं किया जा सकता। यह इसलिए मौजूद है क्योंकि किसी भी चीज़ को बिना जाँचने वाली प्रक्रिया के शिप नहीं किया जाना चाहिए — हाथ से लिखे कोड सहित। आउटपुट और उसके सत्यापन के तरीके को परखें, न कि उस टूल को जिसने इसे लिखने में मदद की।
फिर भी कोई बग मिला? यह उपयोगी है, शर्मिंदगी की बात नहीं — एक इश्यू खोलें।
समुदाय
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.14 — 2026-09-30
- AppImage — स्टार्टअप क्रैश ठीक करें, दूसरा प्रयास: v1.7.13 का फिक्स (बंडल की गई सिस्टम लाइब्रेरीज़ को हटाना) पर्याप्त नहीं था — एम्बेडेड Python इंटरप्रेटर स्वयं (
libpython3.14.so.1.0, जो Arch Linux डेव मशीन की glibc 2.44 के विरुद्ध बनाया गया था) को अभी भी AppImageHub कैटलॉग की टेस्ट मशीन (Ubuntu 22.04, glibc 2.35) में मौजूद से नए glibc सिंबल्स की आवश्यकता थी, इसलिए AppImage लॉन्च होते ही क्रैश होता रहा।build-appimage.shअब PyInstaller बंडल को होस्ट पर बनाने के बजाय एकubuntu:22.04कंटेनर के अंदर (podmanके माध्यम से) बनाता है, ताकि हर एम्बेडेड बाइनरी ठीक उसी glibc संस्करण के विरुद्ध लिंक हो जिसे AppImage को समर्थन देना है।
v1.7.13 — 2026-09-30
- AppImage — स्टार्टअप क्रैश ठीक करें (अपूर्ण, v1.7.14 देखें):
build-appimage.shसाझा लाइब्रेरीज़ (libz.so.1,libstdc++.so.6,libX11.so.6,libfontconfig.so.1, और अन्य) को सीधे Arch Linux बिल्ड मशीन की बहुत हाल की glibc से बंडल कर रहा था। पुराने डिस्ट्रोज़ पर AppImage लॉन्च होते ही तुरंत क्रैश हो जाता था (GLIBC_ABI_DT_RELR' not found), जिसे AppImageHub कैटलॉग के स्वचालित टेस्ट ने पकड़ा। अब इन लाइब्रेरीज़ को बंडल से हटा दिया गया है ताकि AppImage होस्ट सिस्टम की अपनी प्रतियों पर वापस आ जाए, जो AppImages के लिए मानक दृष्टिकोण है।
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 इंस्टॉल पथ हैं।





