
लिनक्स के लिए एकीकृत नेटवर्क टूलकिट — Python 3 + PySide6
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 कुछ गलत करता है तो क्या कोई चीज़ उसे पकड़ती है?
अगर आप मेरी बात मानने के बजाय खुद जाँचना पसंद करें, तो यहाँ बताया गया है कि क्या करता है:
pytest tests/ -v। शुद्ध लॉजिक के साथ-साथ कुछ वास्तविक Qt विजेट टेस्ट (मेनू, टेबल), दिलचस्प हिस्सों को मॉक करके छिपाया नहीं गया।docs/Decisions-Techniques.md — हर गैर-स्पष्ट तकनीकी निर्णय, अस्वीकार किए गए विकल्प, और पाए गए और ठीक किए गए बग (AI द्वारा पेश किए गए बग सहित), तर्क के साथ लिखा हुआ।docs/Architecture.md और docs/Carte-des-Modules.md — कोड की वास्तविक संरचना, जो शिप होने वाली चीज़ के साथ सिंक में रखी जाती है।इनमें से कुछ भी इसलिए मौजूद नहीं है क्योंकि 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 |
|---|---|
![]() | ![]() |
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 को समर्थन देना है।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 के लिए मानक दृष्टिकोण है।traceroute हमेशा होस्ट शिम के माध्यम से PATH पर हल हो जाता था, भले ही होस्ट पर कोई वास्तविक traceroute बाइनरी इंस्टॉल न हो, इसलिए वर्कर कभी tracepath पर वापस नहीं आता था और ट्रेस बिना किसी हॉप और बिना कोई त्रुटि दिखाए तुरंत समाप्त हो जाता था। अब यह जब भी traceroute कोई पार्स करने योग्य आउटपुट उत्पन्न नहीं करता, तो tracepath पर वापस आ जाता है, चाहे वह किसी भी कारण से विफल हुआ हो।DISPLAY/WAYLAND_DISPLAY सेट होते हैं (कोई भी GUI सेशन) और ssh के पास साफ़ tty नहीं होता, तो यह एम्बेडेड टर्मिनल के बजाय पासवर्ड प्रॉम्प्ट के लिए $SSH_ASKPASS आज़मा सकता है — अगर कोई askpass हेल्पर इंस्टॉल नहीं है तो चुपचाप ऑथ विफल हो जाता है। SSH_ASKPASS_REQUIRE=never अब पासवर्ड प्रॉम्प्ट को हमेशा टर्मिनल के माध्यम से जाने के लिए बाध्य करता है।flatpak-spawn --host के माध्यम से रिले किया गया प्रोसेस कभी भी फ़ॉरवर्ड किए गए pty का कंट्रोलिंग-टर्मिनल स्वामी नहीं बन सकता (TIOCSCTTY को EPERM के साथ अस्वीकार कर दिया गया — एक अलग, असंबंधित सेशन पहले से ही इसका स्वामी है; यह एक जानबूझकर बनाई गई कर्नेल सुरक्षा सीमा है, बग नहीं)। एकमात्र काम करने वाला वर्कअराउंड (script, एक नया pty आवंटित करना) पासवर्ड प्रॉम्प्ट को ठीक करता है लेकिन उस सेशन के लिए लाइव टर्मिनल-रीसाइज़ प्रसार को तोड़ देता है — इसे Flatpak को बिल्कुल भी शिप न करने से बदतर समझौता माना गया। आगे बढ़ते हुए AUR और AppImage समर्थित Linux इंस्टॉल पथ हैं।