अपडेट पर वापस जाएँ
New releaseAug 3, 2026

nmlinux v1.7.11

लिनक्स के लिए एकीकृत नेटवर्क टूलकिट — Python 3 + PySide6

साझा करें

NMLinux · v1.7.11

Version Python License: GPL-2.0 Platform Languages Donate Bitcoin

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 पर भरोसा नहीं किया जा सकता। यह इसलिए मौजूद है क्योंकि बिना किसी जाँच प्रक्रिया के कुछ भी शिप नहीं किया जाना चाहिए — हाथ से लिखा कोड भी शामिल। आउटपुट और उसके सत्यापन के तरीके को आँकें, न कि उस टूल को जिसने इसे लिखने में मदद की।

फिर भी कोई बग मिला? यह उपयोगी है, शर्मनाक नहीं — एक 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)

डैशबोर्डटोपोलॉजी
डैशबोर्डटोपोलॉजी
ट्रेसरूटWi-Fi
ट्रेसरूटWi-Fi

macOS

डैशबोर्डट्रेसरूट
macOS डैशबोर्डmacOS ट्रेसरूट

चेंजलॉग

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.10 — 2026-08-03

  • SSH टर्मिनल — फिक्स: एक रेस कंडीशन ठीक की गई जहाँ PTY गलत (डिफ़ॉल्ट 24×80) आकार पर शुरू हो सकता था यदि सेशन लॉन्च होने पर टर्मिनल विजेट का वास्तविक आकार ज्ञात नहीं था, जिससे resize अनुरोध चुपचाप गिर जाता था। इससे दूरस्थ फुल-स्क्रीन ऐप्स (जैसे Claude Code CLI, htop, vim) वास्तविक विंडो आकार से डीसिंक हो जाते थे, जिससे स्क्रीन के नीचे पुराना/अवशेष टेक्स्ट रह जाता था जो केवल नए आउटपुट के स्क्रॉल होने पर साफ होता था। उपयोगकर्ता द्वारा रिपोर्ट किया गया; एक वास्तविक इंटरैक्टिव सेशन के साथ पुनरुत्पादित

v1.7.9 — 2026-08-02

  • SSH टर्मिनल — कॉपी/पेस्ट: माउस से टेक्स्ट चुनें (क्लिक-ड्रैग, हाइलाइटेड), Ctrl+Shift+C या राइट-क्लिक मेनू से कॉपी करें; Ctrl+Shift+V (मौजूदा) से पेस्ट करें। कॉपी करना पहले असंभव था — कोई टेक्स्ट चयन बिल्कुल मौजूद नहीं था
  • SSH टर्मिनल — एक साथ कई सेशन: SSH पेज अब एक साझा सेशन के बजाय प्रत्येक कनेक्शन को अपने स्वयं के टैब में खोलता है। किसी सहेजे गए कनेक्शन से पुनः कनेक्ट करना — यहाँ तक कि एक ही को दो बार — पहले सक्रिय सेशन को बिना काम करने वाले प्रतिस्थापन के खोले बिना मार देता था; अब प्रत्येक कनेक्ट क्रिया एक नया, स्वतंत्र टैब खोलती है

v1.7.8 — 2026-07-14

  • स्पीड टेस्ट — नया LAN (iperf3) टैब: मौजूदा इंटरनेट स्पीड टेस्ट के साथ, एक नया टैब बंडल किए गए सार्वजनिक सर्वर सूची (26 देश) या सहेजे गए कस्टम सर्वर (जैसे आंतरिक संगठन सर्वर) के विरुद्ध केवल-क्लाइंट iperf3 परीक्षण चलाता है। TCP/UDP, IPv4/IPv6/auto, और रिवर्स (डाउनलोड) दिशा का समर्थन करता है, UDP परीक्षणों के लिए jitter/loss दिखाता है। issue #6 द्वारा सुझाया गया
  • नई वैकल्पिक निर्भरता: iperf3 — LAN टैब सक्षम करने के लिए इंस्टॉल करें; टैब एक बैनर दिखाता है और अन्यथा अक्षम रहता है

v1.7.6 — 2026-07-05

  • एसेट इन्वेंटरी — राइट-क्लिक रीफ्रेश: एक या अधिक पहले से स्कैन की गई पंक्तियों पर राइट-क्लिक करें (मल्टी-सेलेक्ट समर्थित) और पूरे नेटवर्क स्कैन को फिर से चलाने के बजाय केवल उन होस्ट्स को स्थान पर पुनः स्कैन करने के लिए "Refresh selected" चुनें
  • एसेट इन्वेंटरी — SSH प्रमाणीकरण-विफलता फीडबैक: अस्वीकृत SSH लॉगिन अब चुपचाप विफल होने के बजाय "SSH auth failed" दिखाता है, बिना Nmap-पता लगाए गए होस्टनाम/OS आधार रेखा को खोए — एक वास्तविक Synology NAS के विरुद्ध पुष्टि की गई जहाँ DSM के Auto Block ने अन्य कॉन्फ़िगर किए गए क्रेडेंशियल सेट पहले आज़माए जाने के बाद एक सही पासवर्ड को अस्वीकार कर दिया

v1.7.5 — 2026-07-04

  • पिंग मॉनिटर — सहेजे गए लक्ष्य निर्देशिका: एक नया बायाँ पैनल आपको पिंग लक्ष्यों (नाम, होस्ट, अंतराल) को एक स्थायी सूची में सहेजने देता है, ताकि निगरानी किए जा रहे होस्ट ऐप पुनः आरंभ होने पर भी बने रहें, दोबारा टाइप करने की आवश्यकता नहीं। प्रत्येक सक्रिय रूप से निगरानी की गई पंक्ति पर एक ★ बटन उस होस्ट को सेशन के किसी भी समय निर्देशिका में सहेजता है — ऐप अप्रत्याशित रूप से बंद होने से पहले पहले से योजना बनाने की आवश्यकता नहीं
  • पिंग मॉनिटर — "Start monitoring": एक सहेजे गए लक्ष्य का चयन करें और उसके सहेजे गए अंतराल का पुनः उपयोग करते हुए एक क्लिक में निगरानी शुरू करें

v1.7.4 — 2026-07-04

  • एसेट इन्वेंटरी — असंगत स्कैन परिणाम ठीक किए: लाइवनेस जाँच बिना पुनः प्रयास के एक 1-सेकंड-टाइमआउट पिंग भेजती थी, जो स्कैनर के अपने समवर्ती लोड (एक साथ 40 होस्ट तक जाँचे जाते हैं) के तहत या जब कोई Wi-Fi होस्ट बीकन के बीच संक्षिप्त रूप से सो रहा था, एक वास्तविक डिवाइस को छोड़ सकती थी — एक वास्तविक सबनेट के विरुद्ध लाइव पुष्टि की गई जो एक ही रेंज के बार-बार चलाने पर अलग-अलग डिवाइस गणना लौटाता था। जाँच अब TCP पोर्ट प्रोब पर वापस गिरने से पहले पिंग का पुनः प्रयास करती है
  • एसेट इन्वेंटरी — नया "Refresh empty" बटन: स्कैन के बाद, पूरी रेंज को फिर से स्कैन करने के बजाय केवल उन IPs को पुनः स्कैन करें जिन्होंने कोई डेटा नहीं लौटाया; नए पाए गए होस्ट मौजूदा परिणामों में विलय कर दिए जाते हैं

v1.7.3 — 2026-07-03

  • SMB — राइट-क्लिक मेनू से शेयर माउंट करें: SMB टैब में किसी शेयर पर राइट-क्लिक करें और उसे एक स्थिर स्थानीय पथ (~/mnt/<host>_<share>) पर माउंट करने के लिए Mount/Unmount चुनें, जो टर्मिनल और किसी भी अन्य ऐप से उपयोग योग्य हो — क्षणिक ब्राउज़ दृश्य नहीं। केवल-सेशन (कोई fstab/systemd स्थिरता नहीं), क्रेडेंशियल मौजूदा उपयोगकर्ता/पासवर्ड फ़ील्ड से पुनः उपयोग किए जाते हैं। Linux pkexec mount -t cifs का उपयोग प्रतिबंधित-अनुमति क्रेडेंशियल फ़ाइल के साथ करता है (ps के माध्यम से कभी उजागर नहीं होती); macOS सीधे mount_smbfs का उपयोग करता है। जब सर्वर डिफ़ॉल्ट नेगोशिएशन को अस्वीकार करता है (पुराने NAS इकाइयों में सामान्य) तो स्वचालित रूप से पुराने SMB डायलेक्ट (vers=2.0) के साथ पुनः प्रयास करता है — दोनों प्रयास एक समर्पित हेल्पर प्रक्रिया के माध्यम से एक ही प्रमाणीकरण संकेत के तहत होते हैं
  • नई वैकल्पिक निर्भरता: SMB माउंटिंग के लिए cifs-utils (Linux); macOS में अंतर्निहित

v1.7.2 — 2026-07-03

  • macOS इंस्टॉल — एक बेयर Mac पर पाए गए दो बूटस्ट्रैप बग ठीक किए: bootstrap_macos.sh अब Homebrew इंस्टॉलर पर NONINTERACTIVE=1 बाध्य नहीं करता, जो sudo पासवर्ड माँगने के बजाय किसी भी नए व्यवस्थापक खाते पर तुरंत बंद हो जाता था; प्रलेखित वन-लाइनर अब स्क्रिप्ट को सीधे bash में पाइप करने के बजाय पहले डाउनलोड करता है, क्योंकि नेस्टेड इंटरैक्टिव चरण (Xcode CLT इंस्टॉलर, Homebrew का स्वयं का sudo संकेत) पाइप होने पर बाहरी स्क्रिप्ट के स्वयं के इनपुट स्ट्रीम में हस्तक्षेप कर सकते थे
  • यूनिवर्सल राइट-क्लिक मेनू — SMB जोड़ा गया: SmbNfsPage v1.7.0 में शिप किए गए इंटर-मॉड्यूल राइट-क्लिक सिस्टम से गायब एकमात्र लक्ष्य पेज था; किसी होस्ट पर राइट-क्लिक करना और SMB चुनना अब होस्ट फ़ील्ड को पहले से भर देता है और स्कैन तुरंत लॉन्च करता है, पोर्ट 445 खुला पाए जाने पर मेनू में बोल्ड
  • i18n — शेष डैशबोर्ड स्ट्रिंग्स का अनुवाद: गेटवे लेटेंसी लेबल, TLS वॉचलिस्ट कार्ड शीर्षक और उसकी स्थिति पंक्ति अभी भी हार्डकोडेड फ्रेंच में थीं; अब सभी 8 इंटरफ़ेस भाषाओं में अनुवादित हैं

v1.7.1 — 2026-07-02

  • macOS 26 (Tahoe) — Wi-Fi SSID फिक्स: लोकेशन सेवाओं के बिना <redacted> लौटाने वाले system_profiler से CoreWLAN को प्राथमिक डेटा स्रोत के रूप में स्विच किया गया; ऐप अब पहले लॉन्च पर लोकेशन सेवाओं की अनुमति माँगता है; अनुमति मिलने पर Wi-Fi पेज सभी नेटवर्क को वास्तविक नामों के साथ दिखाता है
  • macOS — कनेक्शन मैनेजर: कनेक्टेड SSID अब CoreWLAN के माध्यम से पढ़ा जाता है, सुरक्षा मोड के लिए system_profiler के साथ
  • macOS — SMB: NAS को क्रेडेंशियल की आवश्यकता होने पर स्पष्ट "authentication required" संदेश; Homebrew smbclient द्वारा उत्पन्न अनावश्यक smb.conf चेतावनी ठीक की गई
  • macOS — पहले लोकेशन सेवाओं की अनुमति संवाद के बाद बंद होने पर संभावित क्रैश ठीक किया गया

v1.7.0 — 2026-07-02

  • हर टेबल पर यूनिवर्सल राइट-क्लिक संदर्भ मेनू जिसमें IPs या होस्टनाम होते हैं — कॉपी-पेस्ट किए बिना सीधे मॉड्यूल के बीच नेविगेट करें: किसी भी खोजे गए होस्ट पर राइट-क्लिक करें और Ping, Scan ports, Whois, DNS, Traceroute, MTR, SSH, RDP, VNC, View in Topology, या Add to Inventory चुनें। संबंधित पोर्ट खुला पाए जाने पर मेनू आइटम SSH/RDP/VNC बोल्ड दिखाई देते हैं। लेबल सभी 8 इंटरफ़ेस भाषाओं में पूरी तरह अनुवादित हैं।
  • स्रोत पेज (राइट-क्लिक क्रियाएँ उत्सर्जित करते हैं): IP Scanner, Nmap, Ping, Port Scanner, Traceroute, MTR, Topology (नोड राइट-क्लिक)
  • लक्ष्य पेज (होस्ट प्राप्त करते हैं और पहले से भरते हैं): Whois (set_target + स्वतः क्वेरी), DNS (set_target केवल प्रीफिल), Ping (set_target + स्वतः प्रारंभ), Traceroute (set_target + स्वतः प्रारंभ), MTR (set_target + स्वतः प्रारंभ), Port Scanner (set_target + फोकस), SSH / RDP / VNC (set_target पहले से भरा नया-कनेक्शन फॉर्म खोलता है), Topology (load_hosts IP Scanner/Nmap स्कैन से नोड्स को दोबारा स्कैन किए बिना इंजेक्ट करता है — गेटवे स्वचालित रूप से पता लगाया जाता है, किनारे खींचे जाते हैं, मूल नोड लाल रंग में हाइलाइट होता है), Asset Inventory (prefill_hosts खोजे गए होस्ट्स पर सीधे क्रेडेंशियल स्कैन शुरू करता है, ICMP खोज चरण छोड़ देता है)
  • डैशबोर्ड — गेटवे पिंग ग्राफ: लाइव लेटेंसी स्पार्कलाइन हर 2 सेकंड में अपडेट होती है; रंग-कोडित (<20 ms हरा / 20–100 ms नारंगी / >100 ms लाल / टाइमआउट लाल)
  • डैशबोर्ड — TLS वॉचलिस्ट सारांश: डैशबोर्ड में स्थिति कार्ड दोबारा क्वेरी किए बिना स्वचालित रूप से TLS वॉचलिस्ट स्थिति (OK / समाप्त हो रही / अलर्ट) को दर्शाता है
  • डैशबोर्ड — जियो मैप रिसाइज़: विंडो रिसाइज़ होने पर विश्व मानचित्र अब क्षैतिज रूप से विस्तारित होता है

v1.6.4 — 2026-06-28

  • macOS: मेनू बार अब Python के बजाय NMLinux दिखाता है — मूल कारण: Python में exec() किए जाने के बाद, NSBundle.mainBundle() Python.framework बंडल (CFBundleName = "Python") को हल करता है जिसे Qt QApplication निर्माण के दौरान पढ़ता है; बंडल के infoDictionary() को पैच करके और एप्लिकेशन मेनू बनाने से पहले AppKit के माध्यम से मूल मेनू आइटम का नाम बदलकर ठीक किया गया

v1.6.3 — 2026-06-28

  • macOS: pyobjc-framework-Cocoa के माध्यम से NSProcessInfo.setProcessName_ का उपयोग करके मेनू बार को ठीक करने का पहला प्रयास (v1.6.4 द्वारा प्रतिस्थापित)

v1.6.2 — 2026-06-28

  • macOS: bash लॉन्चर स्क्रिप्ट को install_macos_app.sh में संकलित C स्टब से बदल दिया गया ताकि macOS .app बंडल को चल रही प्रक्रिया के साथ सही ढंग से संबद्ध करे; फॉलबैक के रूप में setprogname और sys.argv[0] ओवरराइड जोड़ा गया

v1.6.1 — 2026-06-25

  • SSH टर्मिनल — दूरस्थ इको ठीक किया गया: एम्बेडेड SSH टर्मिनल में टाइप किए गए कीस्ट्रोक्स दूरस्थ शेल को भेजे जाते थे लेकिन कभी इको नहीं होते थे (लॉगिन के बाद कीबोर्ड "मृत" दिखाई देता था)। nmlinux स्थानीय PTY इको को बंद कर देता था, और ssh अपने टर्मिनल मोड (pty-req) के माध्यम से उस "no echo" को दूरस्थ pty तक प्रसारित करता था, इसलिए दूरस्थ शेल इनपुट को इको करना बंद कर देता था। एक नए Ubuntu 26.04 VM (हाल का OpenSSH इन मोड्स को ईमानदारी से लागू करता है) पर पुनरुत्पादित। टर्मिनल अब PTY को सामान्य मोड में रखता है और ssh को इको प्रबंधित करने देता है, वास्तविक टर्मिनल एमुलेटर से मेल खाता है।

v1.6.0 — 2026-06-24

  • एसेट इन्वेंटरी — WinRM Windows (पूर्ण): ICMP विंडोज फ़ायरवॉल द्वारा अवरुद्ध होने पर TCP पोर्ट प्रोब के माध्यम से होस्ट का पता लगाना; PowerShell अब cmd.exe को पाइप | की व्याख्या करने से रोकने के लिए पूर्ण निरपेक्ष पथ + EncodedCommand (base64) का उपयोग करता है; व्यवस्थापक अधिकारों के बिना पूर्ण फॉलबैक श्रृंखला: OS ver के माध्यम से, CPU रजिस्ट्री के माध्यम से, RAM systeminfo के माध्यम से, डिस्क wmicfsutil (लोकेल-जागरूक EN अल्पविराम / FR स्थान) → dir /-C
  • एसेट इन्वेंटरी — मल्टी-क्रेडेंशियल SSH: कई SSH क्रेडेंशियल सेट समर्थित; macOS डिस्क ठीक (/System/Volumes/Data), Apple Silicon CPU फॉलबैक (hw.model), Synology (/volume1), Unraid (/mnt/user)
  • बग फिक्स: WinRM त्रुटियाँ अब मौन फॉलबैक के बजाय तालिका में दिखाई जाती हैं; WinRM/SNMP होस्ट का पता लगाना SSH क्रेडेंशियल की उपस्थिति से अवरुद्ध नहीं होता; pywinrm टाइमआउट सही किया गया

v1.5.3 — 2026-06-24

  • macOS .app — Homebrew टूल पहचान: Homebrew के माध्यम से इंस्टॉल किए गए sshpass, nmap और snmpget अब उनके निरपेक्ष पथ का उपयोग करके पाए और कॉल किए जाते हैं; macOS पर .app बंडल Homebrew PATH (/opt/homebrew/bin, /usr/local/bin) इनहेरिट नहीं करते, इसलिए पहले इंस्टॉल किए गए टूल चुपचाप अनदेखा कर दिए जाते थे
  • macOS अपडेट पथ: रिपॉजिटरी रूट से git pull && bash packaging/install_macos_app.sh चलाना अब प्रलेखित अपग्रेड विधि है; स्क्रिप्ट अपना स्वयं का venv (~/.local/share/nmlinux/venv) प्रबंधित करती है और किसी सिस्टम-स्तरीय pip या pipx की आवश्यकता नहीं होती

v1.5.2 — 2026-06-24

  • एसेट इन्वेंटरी — नया मॉड्यूल (29वाँ); CIDR रेंज स्कैन करता है और SSH, WinRM, SNMP या Nmap के माध्यम से प्रत्येक होस्ट से OS, CPU, RAM, डिस्क और अपटाइम एकत्र करता है; प्रति प्रोटोकॉल कई क्रेडेंशियल सेट का समर्थन करता है (प्रत्येक को क्रम में आज़माएँ); शून्य-प्रतिधारण नीति: क्रेडेंशियल कभी डिस्क पर नहीं लिखे जाते, स्कैन के बाद मेमोरी से साफ किए जाते हैं; परिणाम JSON, CSV या Markdown के रूप में निर्यात करें; डैशबोर्ड IP जियोलोकेशन अनुभाग में एनिमेटेड जियो मैप जोड़ा गया
  • SSH संग्रहण फिक्स: डिस्क कमांड awk कोटिंग त्रुटि ठीक की गई; free -h को BusyBox-संगत free से बदल दिया गया; macOS कोड पथ अब OS नाम के लिए sw_vers, Apple Silicon CPU के लिए hw.model फॉलबैक, APFS उपयोगकर्ता-डेटा वॉल्यूम के लिए /System/Volumes/Data का उपयोग करता है; Synology/Unraid वॉल्यूम (/volume1, /mnt/user) रूट से पहले पता लगाए जाते हैं; df | tail -1 || … गलत-सफलता पैटर्न test -d गार्ड के साथ ठीक किया गया; lsb_release आउटपुट से आसपास के उद्धरण हटाए गए; कई SSH/WinRM क्रेडेंशियल सेट समर्थित (प्रति होस्ट प्रत्येक को क्रम में आज़माता है)

v1.5.0 — 2026-06-17

  • फ़ाइल ट्रांसफर सर्वर — ऐप से सीधे हल्का TFTP या HTTP सर्वर शुरू/बंद करने के लिए नया मॉड्यूल; क्लासिक उपयोग मामला: राउटर, स्विच या प्रिंटर कॉन्फ़िगरेशन का बैकअप और पुनर्स्थापना; एक समय में एक सर्वर सक्रिय (TFTP या HTTP), कॉन्फ़िगर करने योग्य पोर्ट और रूट निर्देशिका, स्थानीय IPs क्लिप-टू-क्लिपबोर्ड बटन के रूप में प्रदर्शित; HTTP में निर्देशिका सूची (LAN पर किसी भी ब्राउज़र से ब्राउज़ करें), GET (डाउनलोड) और POST/PUT (अपलोड) शामिल है; TFTP GET और PUT (द्विदिशात्मक) का समर्थन करता है, पोर्ट 69 के लिए रूट की आवश्यकता होती है — ऐप अनुमति त्रुटि पर "Start as root (pkexec)" बटन दिखाता है; लाइव ट्रांसफर लॉग तालिका (टाइमस्टैम्प, फ़ाइलनाम, क्लाइंट IP, दिशा ↑/↓, आकार); पोर्ट ट्रैवर्सल सुरक्षा; 8 इंटरफ़ेस भाषाएँ; नई निर्भरता: tftpy

v1.4.3 — 2026-06-14

  • TLS वॉचलिस्ट फिक्स: स्व-हस्ताक्षरित और अविश्वसनीय प्रमाणपत्र अब सही ढंग से "⚠ Invalid / untrusted cert" (नारंगी) के रूप में दिखाए जाते हैं, हरे के बजाय; SSL अपवाद कैचिंग को सभी ssl.SSLError उपवर्गों को कवर करने के लिए व्यापक किया गया; एंट्री अब पृष्ठभूमि जाँच चलने के दौरान "… (checking)" और होस्ट तक नहीं पहुँचा जा सकने पर "— (unreachable)" दिखाती हैं

v1.4.2 — 2026-06-14

  • TLS वॉचलिस्ट — प्रमाणपत्र समाप्ति की निगरानी के लिए होस्टनामों की स्थायी सूची; + Watch के साथ होस्ट जोड़ें (वर्तमान होस्ट/पोर्ट का उपयोग करता है) या पैनल में मैन्युअल रूप से; पृष्ठभूमि जाँच लॉन्च के 2 सेकंड बाद स्वचालित रूप से चलती है; साइडबार "TLS Inspector" प्रविष्टि एक रंगीन बिंदु दिखाती है: यदि कोई प्रमाणपत्र समाप्त हो गया है तो लाल, यदि कोई प्रमाणपत्र 30 दिनों के भीतर समाप्त होता है तो नारंगी; पैनल में पुनः-जाँच बटन; सूची प्रति प्रविष्टि स्थिति दिखाती है (✓ / ⚠ / EXPIRED) रंग कोडिंग के साथ

v1.4.1 — 2026-06-14

  • macOS — IP स्कैनर: macOS पर MAC पता, विक्रेता और इंटरफ़ेस लुकअप ठीक किया गया; _arp_entry() अब macOS पर arp -n <ip> कॉल करता है और उसके आउटपुट प्रारूप (? (IP) at AA:BB:CC on en0) को पार्स करता है, /proc/net/arp (केवल Linux) पढ़ने के बजाय; स्कैनर के सभी चार कॉलम अब macOS पर सही ढंग से भरते हैं
  • VNC सहायता: सभी 8 भाषाओं में एक नोट जोड़ा गया जिसमें स्पष्ट किया गया कि Linux में डिफ़ॉल्ट रूप से कोई VNC सर्वर नहीं है और इंस्टॉल करने के लिए सामान्य विकल्प सूचीबद्ध किए गए (x11vnc, tigervnc-server, wayvnc)

v1.4.0 — 2026-06-14

  • macOS — IP स्कैनर: क्रॉस-प्लेटफ़ॉर्म रिवर्स DNS रिज़ॉल्यूशन के लिए getent (केवल Linux) को Python के socket.gethostbyaddr() से बदल दिया गया; होस्टनाम लुकअप अब बिना किसी अतिरिक्त टूल के macOS पर मूल रूप से काम करता है
  • macOS — SMB ब्राउज़र: smbclient (Homebrew samba की आवश्यकता) से smbutil view (अंतर्निहित macOS टूल) पर स्विच किया गया; SMB शेयर सूची अब बिना किसी इंस्टॉल के macOS पर काम करती है
  • macOS — NFS ब्राउज़र: showmount macOS पर अंतर्निहित है लेकिन --no-headers का समर्थन नहीं करता; macOS पर फ़्लैग हटा दिया गया, पार्सर में हेडर लाइन छोड़ दी गई; NFS एक्सपोर्ट सूची अब मूल रूप से काम करती है
  • macOS — RDP: जब xfreerdp नहीं मिलता है, तो open rdp:// URL योजना पर वापस गिरता है; यदि इंस्टॉल है तो Microsoft Remote Desktop (App Store) खोलता है, होस्ट, पोर्ट, उपयोगकर्ता नाम और डोमेन पहले से भरे हुए
  • macOS — VNC: जब vncviewer नहीं मिलता है, तो open vnc:// URL योजना पर वापस गिरता है; macOS स्क्रीन शेयरिंग (अंतर्निहित, शून्य इंस्टॉल आवश्यक) खोलता है

v1.3.9 — 2026-06-13

  • SSH एजेंट फ़ॉरवर्डिंग — SSH कनेक्शन फॉर्म में नया "Agent forwarding" चेकबॉक्स; ssh कमांड में -A जोड़ता है; अपनी निजी कुंजी कॉपी किए बिना सर्वरों के बीच कूदने की अनुमति देता है (PC → A → B); एक सक्रिय SSH एजेंट (SSH_AUTH_SOCK) की आवश्यकता होती है; प्रासंगिक सहायता सभी 8 भाषाओं में अपडेट की गई

v1.3.8 — 2026-06-13- Command Palette (Ctrl+P) — किसी भी 27 मॉड्यूल तक त्वरित कीबोर्ड नेविगेशन; नाम और कीवर्ड पर फ़ज़ी खोज (जैसे "फ़ायरवॉल", "tls", "ssh key", "scan"); ऊपर/नीचे तीर + Enter या एक क्लिक से नेविगेट करें; ऐप में कहीं से भी Ctrl+P से खुलता है

  • Export Manager — File → Export Network Report… से पूरा नेटवर्क स्नैपशॉट (इंटरफ़ेस, रूट, DNS रिज़ॉल्वर) JSON, Markdown, सादा टेक्स्ट या PDF में एक्सपोर्ट करें (वैकल्पिक: pip install reportlab)
  • मॉड्यूल-स्तरीय एक्सपोर्ट बटन — Interfaces, DNS, Firewall, SSH Connections और Connection Manager पेजों में एक्सपोर्ट बटन जोड़े गए; प्रत्येक पेज अपना वर्तमान डेटा चयनित फॉर्मेट में एक्सपोर्ट करता है, फॉर्मेट फ़िल्टर बदलने पर फ़ाइलनाम एक्सटेंशन लाइव अपडेट होता है

v1.3.6 — 2026-06-12

  • Topology — डिवाइस आइकन — अब प्रत्येक नोड अपने डिवाइस प्रकार (router/wifi, computer/laptop, printer, NAS/server, smartphone, network switch, Raspberry Pi) के अनुरूप एक Lucide SVG आइकन प्रदर्शित करता है, न कि एक सामान्य वृत्त; 5 नए बंडल किए गए SVG आइकन (printer, server, smartphone, cpu, laptop)
  • Topology — mDNS डिटेक्शन — डिवाइस प्रकार avahi-browse के माध्यम से पता लगाया जाता है (वैकल्पिक, nmap स्कैन के समानांतर चलता है); प्रिंटर (_ipp._tcp, PDL Printer), Android फ़ोन और टीवी (_googlecast._tcp, _androidtvremote2._tcp), Apple Mac (AirPlay TXT में am=Mac16,x मॉडल), NAS डिवाइस (Synology model=Xserve रिपोर्ट करता है), KDE Connect डेस्कटॉप की पहचान करता है; avahi उपलब्ध न होने पर MAC वेंडर OUI और होस्टनाम ह्यूरिस्टिक्स पर फ़ॉलबैक करता है
  • Topology — विवरण पैनल सामान्य "Host" लेबल के बजाय पता लगाया गया डिवाइस वर्ग (Printer, Smartphone, NAS…) दिखाता है; सभी 8 भाषाओं में i18n
  • Traceroute — ऑटो-ज़ूम — विश्व मानचित्र प्रत्येक रूट के अंत में भू-स्थानित हॉप्स के बाउंडिंग बॉक्स पर स्वचालित रूप से ज़ूम और केंद्रित होता है; उपयोगकर्ता द्वारा मैन्युअल रूप से पैन या ज़ूम करने पर अक्षम हो जाता है; अगले ट्रेसरूट पर पुनर्स्थापित होता है; राइट-क्लिक पूर्ण विश्व दृश्य पर रीसेट करता है

v1.3.5 — 2026-06-06

  • macOS संगतता — सभी 9 नेटवर्क मॉड्यूल अब Linux व्यवहार को तोड़े बिना macOS पर चलते हैं; प्रत्येक मॉड्यूल स्टार्टअप पर प्लेटफ़ॉर्म का पता लगाता है (_IS_MACOS) और मूल macOS कमांड पर शाखा करता है: route -n get default, ifconfig, scutil --dns, networksetup, system_profiler SPAirPortDataType, pfctl, netstat -ib; विशेषाधिकार वृद्धि pkexec के बजाय osascript + with administrator privileges का उपयोग करती है; मोनोस्पेस फ़ॉन्ट Monospace के बजाय Menlo का उपयोग करता है
  • दोहरे Linux/macOS पथ वाले मॉड्यूल: Dashboard, Interfaces, Wi-Fi, Topology, Bandwidth, Firewall (pf.conf + pfctl), Connection Manager, Hosts File, MTR
  • अपरिवर्तित मॉड्यूल (दोनों प्लेटफ़ॉर्म पर समान उपकरण): DNS, Nmap Scan, SNMP, Whois

v1.3.2 — 2026-06-06

  • i18n को 8 भाषाओं तक विस्तारित किया गया — Italiano, Português, 日本語 (जापानी) और 中文 (सरलीकृत चीनी) जोड़े गए; पूर्ण UI (सभी 27 मॉड्यूल, ~720 अनुवाद कुंजियाँ) अब FR / EN / ES / DE / IT / PT / JA / ZH में उपलब्ध है; Settings में भाषा बदलने के बाद पुनरारंभ संकेत दिखाई देता है
  • 8 भाषाओं में प्रासंगिक सहायता? बैज पैनल (विवरण, उपयोग उदाहरण और समतुल्य CLI कमांड) अब प्रत्येक मॉड्यूल के लिए सभी 8 भाषाओं को कवर करता है; पहले JA और ZH अंग्रेज़ी पर फ़ॉलबैक करते थे
  • बग फिक्स — SMB/NFS और Hosts File के लिए nav टूलटिप्स चयनित भाषा के बावजूद फ़्रेंच में प्रदर्शित हो रहे थे; सभी 7 गैर-फ़्रेंच भाषा ब्लॉकों में लापता nav_hint_smb_nfs और nav_hint_hosts कुंजियाँ जोड़ी गईं

v1.3.1 — 2026-06-05

  • SSH Key Manager~/.ssh/ में सभी कुंजी जोड़े सूचीबद्ध करें (फ़ाइल, प्रकार, बिट्स, टिप्पणी, SHA256 फ़िंगरप्रिंट); वैकल्पिक पासफ़्रेज़ के साथ Ed25519 या RSA 4096 कुंजियाँ जनरेट करें (बेमेल का पता लगाना, प्रकार के अनुसार स्वचालित फ़ाइलनाम); सार्वजनिक कुंजी को क्लिपबोर्ड पर कॉपी करें; पासवर्ड संकेतों के लिए stdin समर्थन वाले इनलाइन टर्मिनल में ssh-copy-id के माध्यम से दूरस्थ सर्वर पर तैनात करें; पुष्टि के साथ कुंजी जोड़े हटाएं; गायब होने पर स्वचालित रूप से ~/.ssh/ बनाता है; i18n: fr / en / es / de

v1.3.0 — 2026-06-03

  • TLS / SSL Inspector — किसी भी सर्वर के प्रमाणपत्र का निरीक्षण करें: subject CN, SAN, जारीकर्ता (issuer), वैधता तिथियाँ (रंग-कोडित: हरा / नारंगी < 30 दिन / लाल समाप्त), क्रमांक, TLS प्रोटोकॉल, सिफर सूट और प्रमाणपत्र श्रृंखला (openssl s_client के माध्यम से); मान्य, समाप्त और स्व-हस्ताक्षरित प्रमाणपत्रों के लिए काम करता है; अगम्य होस्टों के लिए अनुकूल त्रुटि संदेश
  • SMB / NFS Browser — किसी भी सर्वर से शेयर और एक्सपोर्ट सूचीबद्ध करें; SMB टैब: वैकल्पिक क्रेडेंशियल्स के साथ smbclient -L, शेयर नाम / प्रकार / टिप्पणी दिखाता है; NFS टैब: showmount -e, एक्सपोर्ट पथ और एक्सेस सूची दिखाता है; डिस्ट्रो-विशिष्ट इंस्टॉलेशन निर्देशों के साथ लापता टूल का पता लगाता है
  • Hosts File Editor/etc/hosts देखें और संपादित करें; सक्षम/अक्षम टॉगल वाली तालिका, डायलॉग के माध्यम से प्रविष्टियाँ जोड़ें/संपादित करें/हटाएं; IP या होस्टनाम द्वारा फ़िल्टर करें; pkexec cp (polkit प्रमाणीकरण डायलॉग) के माध्यम से सहेजता है
  • install.sh — Debian / Ubuntu / Linux Mint के लिए नई स्क्रिप्ट: ~/.local/share/nmlinux/venv में venv बनाता है, apt के माध्यम से सिस्टम निर्भरताएँ स्थापित करता है, लॉन्चर और .desktop प्रविष्टि बनाता है (PEP 668 externally-managed-environment त्रुटि ठीक करता है)

v1.2.9 — 2026-05-30

  • VNC — VNC कनेक्शन प्रोफ़ाइल प्रबंधित करने के लिए नया मॉड्यूल; SSH और RDP की तरह समूह/उपसमूह; vncviewer (TigerVNC) लॉन्च करता है; macOS ARD के साथ संगत (DH30 प्रमाणीकरण vncviewer द्वारा मूल रूप से संभाला जाता है); पासवर्ड कभी संग्रहीत नहीं होता; डिस्ट्रो-विशिष्ट इंस्टॉलेशन निर्देशों के साथ लापता vncviewer का पता लगाता है
  • About — उपकरण और सेवाएँ — ऐप के सभी तृतीय-पक्ष टूल और API सूचीबद्ध करने वाला नया अनुभाग
  • साइडबार i18n — सभी 23 nav टूलटिप्स अब FR/EN/ES/DE में अनुवादित (पहले हार्डकोडेड फ़्रेंच थे); लेबल सही किए गए: Topology, Connections, Subnet

v1.2.8 — 2026-05-30

  • Remote Desktop (RDP) — Windows RDP कनेक्शन प्रोफ़ाइल प्रबंधित करने के लिए नया मॉड्यूल; SSH की तरह समूह/उपसमूह; xfreerdp को बाहरी प्रक्रिया के रूप में लॉन्च करता है; कनेक्शन के समय पासवर्ड संकेत दिया जाता है, कभी संग्रहीत नहीं होता; फ़ील्ड: host, port, username, domain, resolution, fullscreen; डिस्ट्रो-विशिष्ट इंस्टॉलेशन निर्देशों (Arch / Debian / Fedora) के साथ लापता xfreerdp का पता लगाता है

v1.2.7 — 2026-05-26

  • बंडल किए गए Lucide आइकनLucide (MIT) के 21 SVG आइकन अब assets/icons/ में बंडल हैं; रनटाइम पर QSvgRenderer के माध्यम से प्रस्तुत; रंग #60a5fa; ऐप को अब किसी सिस्टम आइकन थीम (Breeze, Adwaita, Papirus…) की आवश्यकता नहीं है

v1.2.6 — 2026-05-24

  • GNOME / Adwaita संगतता — गैर-KDE डेस्कटॉप पर आइकन ठीक किए गए: main.py अब gsettings के माध्यम से GTK आइकन थीम का स्वतः पता लगाता है और इसे Qt पर लागू करता है; Wi-Fi, Traceroute, Speed Test, Interfaces, Port Scanner, Firewall, MTR के लिए विस्तारित फ़ॉलबैक श्रृंखलाएँ; themed_icon() अब थीम आइकन स्वीकार करने से पहले सत्यापित करता है कि वास्तविक pixmap मौजूद है
  • NixOS / KDE संगतता — NixOS पर सभी आइकन ठीक किए गए: Breeze 6.x केवल SVGZ आइकन भेजता है; Nix रैपर अब qt6.qtsvg को QT_PLUGIN_PATH में जोड़ता है ताकि Qt SVG आइकन प्रस्तुत कर सके; themed_icon() आकार 22/24/16/32/48 आज़माता है (Breeze 22 px का उपयोग करता है, 24 नहीं); Nix-बंडल आइकन सेट का पता चलने पर थीम को breeze पर बाध्य किया जाता है; सिस्टम-व्यापी KDE कॉन्फ़िग के लिए /etc/xdg/kdeglobals भी जाँचता है

v1.2.5 — 2026-05-23

  • MTR — एम्बेडेड My Traceroute: mtr --report चलाता है, टेक्स्ट आउटपुट पार्स करता है, प्रति हॉप Loss %, RTT Last/Avg/Best/Worst/Jitter के साथ लाइव तालिका प्रदर्शित करता है, हानि गंभीरता द्वारा रंग-कोडित; निरंतर मोड; CSV + TXT एक्सपोर्ट
  • Speed Testcurl + Cloudflare (speed.cloudflare.com) के माध्यम से निर्भरता-मुक्त स्पीड टेस्ट: डाउनलोड (25 MB), अपलोड (10 MB), 1.1.1.1 पर पिंग; 5 रन तक JSON में संग्रहीत; ऐतिहासिक लाइन ग्राफ़ (डाउनलोड/अपलोड)
  • Firewall Viewer — केवल-पठन नियमसेट व्यूअर: रूट के बिना /etc/nftables.conf और /etc/iptables/*.rules पार्स करता है; pkexec nft list ruleset के माध्यम से लाइव नियमसेट; कॉलम: Table / Chain / Rule / Port / Action / Comment; रंग-कोडित क्रियाएँ; लाइव फ़िल्टर
  • साइडबार संकेत — प्रत्येक nav प्रविष्टि अब एक सूक्ष्म ? बैज दिखाती है; होवर करने पर टूलटिप प्रदर्शित होता है जो बताता है कि मॉड्यूल क्या करता है; साइडबार और सामग्री क्षेत्र के बीच ऊर्ध्वाधर विभाजक जोड़ा गया
  • i18n — सभी नए मॉड्यूल फ़्रेंच, अंग्रेज़ी और स्पेनिश में अनुवादित

v1.2.0 — 2026-05-22

  • थीम अनुकूलन — सभी पेजों पर पूर्ण रनटाइम लाइट/डार्क स्विचिंग समर्थन; is_dark(), color_ok(), color_err() के साथ नया core/theme.py; कस्टम पेंटर विजेट (_Graph, _MapWidget) पेंट समय पर पैलेट पढ़ते हैं; सभी हार्डकोडेड Catppuccin Mocha रंगों को शब्दार्थ Qt पैलेट भूमिकाओं से बदल दिया गया
  • Subnet mask — Dashboard, Interfaces और Connexions पेज अब CIDR प्रीफ़िक्स से प्राप्त डॉटेड-दशमलव सबनेट मास्क (जैसे 255.255.255.0) प्रदर्शित करते हैं
  • Bandwidth Monitor — पेज लोड पर अविश्वसनीय ऑटो-स्टार्ट को बदलने के लिए स्पष्ट Start/Stop बटन
  • Export CSV/TXT — Nmap और Traceroute पेज अब Export CSV और Export TXT बटन प्रदान करते हैं (स्कैन/ट्रेस पूरा होने के बाद दिखाई देते हैं)
  • i18n — उपरोक्त सभी सुविधाओं के लिए नई अनुवाद कुंजियाँ (fr/en/es/de)

v1.1.1 — 2026-05-16

  • SSH टर्मिनलpyte (VT100/xterm एमुलेटर) + QPainter रेंडरर के साथ पूर्ण पुनर्लेखन; 2000-पंक्ति स्क्रॉलबैक, कर्सर ब्लिंक, 256-रंग समर्थन
  • Visual Traceroute — विश्व मानचित्र (Natural Earth 110m), प्रति हॉप लाइव भू-स्थान (ip-api.com), इंटरैक्टिव ज़ूम/पैन, दोहरा पार्सर (traceroute / tracepath फ़ॉलबैक)
  • Bandwidth Monitor — प्रति-इंटरफ़ेस वास्तविक समय थ्रूपुट, 60s स्लाइडिंग ग्राफ़, लाइव गति, सत्र कुल और शिखर
  • Wake on LAN — शुद्ध Python मैजिक पैकेट (UDP ब्रॉडकास्ट), स्थायी होस्ट बुक (JSON)
  • IP Scannergetent/avahi/nmblookup के माध्यम से होस्टनाम रिज़ॉल्यूशन; MAC पता, वेंडर (IEEE OUI 39K प्रविष्टियाँ), इंटरफ़ेस कॉलम; CSV/TXT एक्सपोर्ट अपडेट किया गया
  • i18n — सभी नए पेजों के लिए पूर्ण fr/en/es/de अनुवाद

v1.0.0 — 2026-05-14

प्रारंभिक सार्वजनिक रिलीज़ — 13 मॉड्यूल: Dashboard, Interfaces, Wi-Fi, Subnet Calculator, DNS Lookup, Ping Monitor, IP Scanner, Port Scanner, Nmap, Whois, SNMP, SNTP/NTP, SSH.


विशेषताएँ

मॉड्यूलविवरण
Dashboardस्थानीय मशीन जानकारी, गेटवे, सार्वजनिक IP, भू-स्थान, DNS रिज़ॉल्वर
Connection ManagerNetworkManager प्रोफ़ाइलें nmcli के माध्यम से: सूची, फ़िल्टर, कनेक्ट/डिस्कनेक्ट/संपादित/हटाएं
Interfacesप्रति-इंटरफ़ेस विवरण के साथ नेटवर्क इंटरफ़ेस तालिका (ip + nmcli)
Wi-Fiउपलब्ध नेटवर्क, सिग्नल बार, सुरक्षा, कनेक्टेड नेटवर्क हाइलाइट किया गया
Subnet CalculatorCIDR से नेटवर्क/ब्रॉडकास्ट/होस्ट रेंज, 4096 प्रविष्टियों तक होस्ट तालिका
DNS LookupA, AAAA, MX, TXT, NS, CNAME, PTR, SOA, ANY के लिए dig-आधारित लुकअप
Ping Monitorकई होस्टों के लिए निरंतर पिंग, RTT आँकड़े, पैकेट हानि %
IP ScannerCIDR/रेंज पिंग स्कैन, 50 थ्रेड, होस्टनाम (DNS/mDNS/NetBIOS), MAC पता, वेंडर (OUI), इंटरफ़ेस, CSV + TXT एक्सपोर्ट
Port ScannerTCP कनेक्ट स्कैन, 200 थ्रेड, सेवा प्रीसेट, CSV + TXT एक्सपोर्ट
Nmap7 स्कैन मोड, XML आउटपुट पार्सिंग, Host/Port/Protocol/State/Service तालिका, CSV + TXT एक्सपोर्ट
Whoisमोनोस्पेस में कच्चा whois आउटपुट
SNMPsnmpwalk/snmpget, v1/v2c, 10 OID प्रीसेट, परिणाम तालिका
SNTP / NTPशुद्ध Python RFC 4330 UDP क्लाइंट, ऑफसेट/विलंब/stratum/संदर्भ
SSHएम्बेडेड PTY टर्मिनल (pyte/VT100), सहेजे गए कनेक्शन (JSON), कुंजी प्रमाणीकरण, स्क्रॉलबैक
Remote DesktopRDP कनेक्शन प्रोफ़ाइल (समूह/उपसमूह); xfreerdp लॉन्च करता है; पासवर्ड कभी संग्रहीत नहीं होता
VNCVNC कनेक्शन प्रोफ़ाइल (समूह/उपसमूह); vncviewer (TigerVNC) लॉन्च करता है; macOS ARD संगत; पासवर्ड कभी संग्रहीत नहीं होता
SSH Key Manager~/.ssh/ कुंजी जोड़े सूचीबद्ध करें (प्रकार, बिट्स, फ़िंगरप्रिंट); Ed25519/RSA 4096 जनरेट करें; सार्वजनिक कुंजी कॉपी करें; ssh-copy-id के माध्यम से सर्वर पर तैनात करें; पुष्टि के साथ जोड़े हटाएं
TLS Inspectorप्रमाणपत्र विवरण: CN, SAN, जारीकर्ता, वैधता + समाप्ति काउंटडाउन, क्रमांक, प्रोटोकॉल, सिफर, श्रृंखला; पृष्ठभूमि समाप्ति मॉनिटर और साइडबार रंग बिंदु के साथ Watchlist
SMB / NFSकिसी भी सर्वर या NAS से SMB शेयर (smbclient) और NFS एक्सपोर्ट (showmount) सूचीबद्ध करें; SMB के लिए वैकल्पिक क्रेडेंशियल्स
Hosts File/etc/hosts देखें/संपादित करें: प्रविष्टियाँ जोड़ें, हटाएं, टॉगल करें; फ़िल्टर करें; pkexec के माध्यम से सहेजें
Visual Tracerouteविश्व मानचित्र पर हॉप-दर-हॉप रूट, लाइव भू-स्थान (ip-api.com), ज़ूम और पैन, CSV + TXT एक्सपोर्ट
MTRएम्बेडेड My Traceroute: प्रति हॉप हानि %, RTT Last/Avg/Best/Worst/Jitter, रंग-कोडित, CSV + TXT एक्सपोर्ट
Firewall Viewerकेवल-पठन nftables + iptables/ip6tables नियमसेट (रूट नहीं); pkexec के माध्यम से लाइव; तालिका/श्रृंखला/क्रिया द्वारा फ़िल्टर करें
Speed TestCloudflare के माध्यम से डाउनलोड/अपलोड/पिंग; curl के अलावा कोई बाहरी उपकरण नहीं; इतिहास ग्राफ़ (अंतिम 5 रन)
Bandwidthवास्तविक समय प्रति-इंटरफ़ेस थ्रूपुट: 60s स्लाइडिंग ग्राफ़, लाइव गति, सत्र कुल, शिखर
Wake on LANशुद्ध Python मैजिक पैकेट (UDP ब्रॉडकास्ट), स्थायी होस्ट बुक, कोई बाहरी उपकरण आवश्यक नहीं
Topology Mapnmap -sn के माध्यम से LAN डिवाइस स्वतः खोजता है; ड्रैग करने योग्य नोड्स के साथ इंटरैक्टिव ग्राफ़, ज़ूम/पैन, विवरण पैनल
Settingsभाषा चयन (FR / EN / ES / DE / IT / PT / JA / ZH), संग्रहीत; बदलने के बाद पुनरारंभ आवश्यक
Command PaletteCtrl+P ओवरले: नाम या कीवर्ड द्वारा सभी 29 मॉड्यूल में फ़ज़ी खोज
File Transferऑन-डिमांड TFTP या HTTP सर्वर; कॉन्फ़िगर करने योग्य पोर्ट और रूट डिर; कॉपी बटन के रूप में स्थानीय IP; लाइव लॉग तालिका (फ़ाइलनाम, क्लाइंट IP, दिशा ↑/↓, आकार); HTTP डायरेक्ट्री लिस्टिंग + GET/POST/PUT; TFTP GET + PUT; पोर्ट 69 pkexec संकेत देता है
ExportFile → Export Network Report (JSON/Markdown/Text/PDF); Interfaces, DNS, Firewall, SSH, Connections पर प्रति-मॉड्यूल एक्सपोर्ट

आवश्यकताएँ

सिस्टम उपकरण

Linux — अधिकांश एक मानक इंस्टॉलेशन पर पहले से मौजूद हैं:```bash

Arch / EndeavourOS

sudo pacman -S iproute2 networkmanager bind-tools nmap whois net-snmp iputils mtr curl

Debian / Ubuntu

sudo apt install iproute2 network-manager dnsutils nmap whois snmp mtr-tiny curl

Fedora

sudo dnf install iproute NetworkManager bind-utils nmap whois net-snmp-utils mtr curl

**macOS** — [Homebrew](https://brew.sh) के माध्यम से इंस्टॉल करें:```bash
# Required
brew install nmap mtr curl

# Optional — enable additional modules
brew install whois          # WHOIS page
brew install net-snmp       # SNMP page (snmpwalk / snmpget)
brew install samba          # SMB scan with credentials (smbclient)

macOS स्वयं ping, dig, traceroute, netstat, ifconfig, smbutil और route के साथ आता है। networksetup और scutil macOS के अंतर्निहित उपकरण हैं, इन्हें इंस्टॉल करने की आवश्यकता नहीं है। IP Scanner में OUI विक्रेता खोज के लिए भी कोई इंस्टॉल आवश्यक नहीं है — Wireshark manuf डेटाबेस पहली बार उपयोग पर पृष्ठभूमि में स्वचालित रूप से डाउनलोड होकर स्थानीय रूप से कैश हो जाता है।

वैकल्पिक उपकरण

उपकरणसुविधाLinuxmacOS
xfreerdp / xfreerdp3रिमोट डेस्कटॉप (RDP)Arch: freerdp · Ubuntu ≤24.04: freerdp2-x11 · Ubuntu 26.04+: freerdp3-x11वैकल्पिक — Microsoft Remote Desktop पर फ़ॉलबैक करता है (open rdp://)
vncviewerVNCArch: tigervnc · Debian: tigervnc-viewerवैकल्पिक — macOS स्क्रीन शेयरिंग पर फ़ॉलबैक करता है (open vnc://, अंतर्निहित)
nm-connection-editorकनेक्शन मैनेजर से कनेक्शन संपादित करेंArch: nm-connection-editor— (इसके बजाय System Preferences खुलता है)
tracerouteTraceroute का विकल्प (डिफ़ॉल्ट रूप से tracepath उपयोग होता है)Arch: tracerouteअंतर्निहित
mount.cifs (cifs-utils)राइट-क्लिक मेनू से SMB शेयर माउंट करेंArch/Debian: cifs-utilsअंतर्निहित (mount_smbfs)
iperf3स्पीड टेस्ट — LAN टैबArch: iperf3 · Debian/Ubuntu: iperf3brew install iperf3

Python

  • Python 3.11+
  • PySide6 6.6+
  • ptyprocess 0.7+
  • pyte 0.8+ (pip install pyte या sudo pacman -S python-pyte)
  • tftpy 0.8+ (pip install tftpy या sudo pacman -S python-tftpy) — फ़ाइल ट्रांसफ़र मॉड्यूल

स्थापना

विकल्प 1 — Arch Linux / Manjaro / EndeavourOS (AUR)```bash

yay -S nmlinux

सभी निर्भरताएँ (PySide6, ptyprocess, pyte, nmcli, …) स्वचालित रूप से संभाली जाती हैं।

### विकल्प 2 — NixOS / Nix

बंडल किए गए `flake.nix` के साथ सीधे चलाएँ — कोई सिस्टम-व्यापी इंस्टॉल आवश्यक नहीं:```bash
git clone https://github.com/thongor77/nmlinux.git
cd nmlinux
nix run .

या एक विकास शेल में प्रवेश करें:```bash nix develop python3 -m nmlinux.main

सभी Python निर्भरताएँ (PySide6, ptyprocess, pyte, tftpy) और सिस्टम टूल्स (nmcli, nmap, freerdp, vncviewer, mtr, avahi-browse…) Nix रैपर के माध्यम से स्वचालित रूप से प्रदान की जाती हैं।

### विकल्प 4 — AppImage (कोई भी Linux डिस्ट्रो, इंस्टॉल की आवश्यकता नहीं)

`NMLinux-x.y.z-x86_64.AppImage` को [नवीनतम रिलीज़](https://github.com/thongor77/nmlinux/releases/latest) से डाउनलोड करें:```bash
chmod +x NMLinux-*.AppImage
./NMLinux-*.AppImage

No installation required — Python, Qt and all NMLinux modules are bundled in a single file.
Works on any x86_64 Linux with glibc 2.17+ (Ubuntu 16.04+, Fedora 26+, Arch, Mint, etc.).

System network tools (nmap, whois, mtr…) are not bundled — install them via your package manager for the corresponding modules to work. See Requirements below.

विकल्प 5 — macOS

सबसे तेज़ तरीका — वन-लाइनर बूटस्ट्रैप। पूरी तरह से खाली Mac पर काम करता है: Xcode Command Line Tools, Homebrew, सभी सिस्टम टूल्स, और फिर NMLinux स्वयं इंस्टॉल करता है। पुनः चलाना सुरक्षित है (पुनः इंस्टॉल करने के बजाय अपडेट करता है):```bash curl -fsSL https://raw.githubusercontent.com/thongor77/nmlinux/main/packaging/bootstrap_macos.sh -o /tmp/bootstrap_macos.sh && bash /tmp/bootstrap_macos.sh

सिस्टम-व्यापी इंस्टॉल करें (`/Applications`) के बजाय `~/Applications`:```bash
curl -fsSL https://raw.githubusercontent.com/thongor77/nmlinux/main/packaging/bootstrap_macos.sh -o /tmp/bootstrap_macos.sh && bash /tmp/bootstrap_macos.sh --system

कोई Apple Developer खाता या सशुल्क notarization शामिल नहीं है — यह वही open-source install_macos_app.sh है जो पर्दे के पीछे काम करता है, बस आपके लिए लाया और चलाया जाता है। स्क्रिप्ट सादा, पठनीय bash है; चलाने से पहले /tmp/bootstrap_macos.sh खोलकर पढ़ने में संकोच न करें, या इसे सीधे यहाँ देखें: packaging/bootstrap_macos.sh

डाउनलोड-फिर-चलाना (सीधे bash में pipe करने के बजाय) जानबूझकर किया गया है: एक नए Mac पर, स्क्रिप्ट नेस्टेड इंटरैक्टिव चरणों को ट्रिगर करती है (Xcode Command Line Tools इंस्टॉलर, Homebrew का अपना इंस्टॉलर जो आपका sudo पासवर्ड पूछता है) जो टर्मिनल से पढ़ते हैं — स्क्रिप्ट को सीधे bash में pipe करने से वे नेस्टेड प्रॉम्प्ट स्क्रिप्ट के अपने इनपुट स्ट्रीम में हस्तक्षेप कर सकते हैं और उसे बीच में रोक सकते हैं। डाउनलोड की गई फ़ाइल से चलाने से यह पूरी तरह से टल जाता है।

मैन्युअल इंस्टॉल — यदि आप प्रत्येक चरण स्वयं चलाना पसंद करते हैं, या पहले से Homebrew रखते हैं:```bash

1. Install Homebrew system tools (see Requirements above)

brew install nmap mtr curl

2. Clone and install

git clone https://github.com/thongor77/nmlinux.git cd nmlinux bash packaging/install_macos_app.sh

अपडेट करने के लिए: `git pull && bash packaging/install_macos_app.sh`  
अनइंस्टॉल करने के लिए: `bash packaging/uninstall_macos.sh`  
सिस्टम-व्यापी (`/Applications`) इंस्टॉल करने के लिए: `bash packaging/install_macos_app.sh --system`

यह स्क्रिप्ट स्वचालित रूप से venv में निम्नलिखित Python पैकेज इंस्टॉल करती है:
- `PySide6`, `ptyprocess`, `pyte`, `tftpy`
- `pyobjc-framework-Cocoa` — macOS मेन्यू बार, नेटिव डायलॉग
- `pyobjc-framework-CoreWLAN` — Wi-Fi SSID स्कैनिंग
- `pyobjc-framework-CoreLocation` — Wi-Fi नामों के लिए Location Services अनुमति

**macOS 26 (Tahoe) पर Wi-Fi:** पहली बार लॉन्च करने पर, macOS आपसे Location Services की अनुमति माँगेगा — Wi-Fi नेटवर्क नाम दिखाने के लिए इसे अनुमति दें। यह अनुमति *System Settings › Privacy & Security › Location Services* के अंतर्गत दिखाई देती है।

> अधिकांश मॉड्यूल बिना किसी संशोधन के macOS पर काम करते हैं। RDP `open rdp://` (Microsoft Remote Desktop) पर फ़ॉलबैक करता है, VNC `open vnc://` (अंतर्निहित Screen Sharing) पर फ़ॉलबैक करता है। Connection Manager macOS पर सीमित कार्यक्षमता के साथ काम करता है (`nmcli` उपलब्ध नहीं है)।

### विकल्प 6 — Debian / Ubuntu / Linux Mint (इंस्टॉल स्क्रिप्ट)

> **Linux Mint / Ubuntu उपयोगकर्ताओं के लिए नोट:** Python 3.12+ पर `pip install` सिस्टम-व्यापी रूप से ब्लॉक है (PEP 668 — `externally-managed-environment`)। दी गई इंस्टॉल स्क्रिप्ट का उपयोग करें — यह स्वचालित रूप से एक वर्चुअल वातावरण बनाती है और एक `.desktop` प्रविष्टि इंस्टॉल करती है।```bash
git clone https://github.com/thongor77/nmlinux.git
cd nmlinux
bash install.sh

स्क्रिप्ट निम्न कार्य करेगी:

  • apt के माध्यम से सिस्टम डिपेंडेंसी स्थापित करें (libgl1, python3-venv, freerdp, tigervnc…)
  • ~/.local/share/nmlinux/venv में एक वर्चुअल वातावरण बनाएँ
  • venv के अंदर NMLinux और उसकी Python डिपेंडेंसी स्थापित करें
  • ~/.local/bin/nmlinux पर एक लॉन्चर बनाएँ
  • एक .desktop प्रविष्टि जोड़ें ताकि NMLinux आपके एप्लिकेशन मेनू में दिखाई दे

स्थापना के बाद, टर्मिनल से nmlinux चलाएँ या इसे एप्लिकेशन मेनू से लॉन्च करें।

विकल्प 7 — व्हील (सभी डिस्ट्रो / macOS)

नवीनतम रिलीज़ से .whl डाउनलोड करें और इसे स्थापित करें:```bash

Arch / Fedora / macOS — no pip restrictions

pip install nmlinux-1.5.3-py3-none-any.whl

Debian / Ubuntu / Mint — install system libs first, then use pipx

Ubuntu ≤24.04:

sudo apt install libgl1 libglib2.0-0 libdbus-1-3 freerdp2-x11 tigervnc-viewer

Ubuntu 26.04+:

sudo apt install libgl1 libglib2.0-0 libdbus-1-3 freerdp3-x11 tigervnc-viewer

pipx install nmlinux-1.5.3-py3-none-any.whl

> **Ubuntu 26.04+ के लिए नोट:** `pipx` के लिए सिस्टम लाइब्रेरीज़ (libGL, आदि) का पहले इंस्टॉल होना आवश्यक है — उपरोक्त कमांड उन्हें कवर करते हैं। यदि PySide6 बिल्ड त्रुटि के कारण `pipx install` विफल हो जाता है, तो इसके बजाय **Option 4** (इंस्टॉल स्क्रिप्ट) का उपयोग करें, जो सब कुछ स्वचालित रूप से संभालता है।

### Option 8 — स्रोत से (Arch / Fedora / macOS)```bash
git clone https://github.com/thongor77/nmlinux.git
cd nmlinux
pip install PySide6 ptyprocess pyte tftpy
python3 -m nmlinux.main

विकल्प 9 — डेस्कटॉप एंट्री (KDE / GNOME / आदि)

अपने एप्लिकेशन लॉन्चर में NMLinux को दिखाने के लिए .desktop फ़ाइल कॉपी करें:```bash cp data/nmlinux.desktop ~/.local/share/applications/ update-desktop-database ~/.local/share/applications/

फिर यदि आवश्यक हो तो फ़ाइल में `Exec=` पथ को संपादित करें।

---

## चलाना```bash
./nmlinux.sh
# or, after pip install:
nmlinux
# or directly:
python3 -m nmlinux.main

परियोजना संरचना```

nmlinux/ core/ i18n.py — Translation system (8 languages: fr/en/es/de/it/pt/ja/zh), tr(key) function icons.py — themed_icon(): 21 bundled Lucide SVG icons via QSvgRenderer theme.py — is_dark(), color_ok(), color_err(): runtime light/dark helpers settings.py — AppSettings dataclass, JSON persistence ssh.py — SshConnection dataclass, SshStore rdp.py — RdpConnection dataclass, RdpStore, find_xfreerdp() vnc.py — VncConnection dataclass, VncStore, find_vncviewer() terminal.py — SshWorker (QThread) + PTY via ptyprocess, emits raw bytes tls_watchlist.py — TlsWatchlist: background cert expiry checker, JSON persistence http_server.py — ThreadedHTTPServer: directory listing, GET/PUT/POST, port binding tftp_helper.py — TftpServerThread: tftpy wrapper, configurable port and root help_content.py — Module contextual help strings (all 8 languages) cli_bar.py — CliBar singleton: pedagogical CLI equivalent bar export_dialog.py — open_export_dialog(): QFileDialog with live extension update command_palette.py — CommandPalette (Ctrl+P): fuzzy search across 29 modules export_manager.py — collect_snapshot(), to_json/text/markdown/pdf, save_export() pages/ about.py — About page (credits, tools & services) bandwidth.py — Bandwidth Monitor: per-interface 60s graph, live stats connection_manager.py — Connection Manager: nmcli profiles, connect/disconnect/edit dashboard.py — Dashboard dns.py — DNS Lookup file_transfer.py — File Transfer: TFTP + HTTP server, live log, pkexec for port 69 firewall.py — Firewall Viewer: nftables + iptables parser, live via pkexec help_page.py — Contextual help overlay hosts.py — Hosts File: view/edit /etc/hosts, toggle entries, save via pkexec interfaces.py — Network Interfaces ip_scanner.py — IP Scanner mtr.py — MTR: mtr --report parser, live hop stats table, export nmap_scan.py — Nmap ping.py — Ping Monitor port_scanner.py — Port Scanner rdp.py — Remote Desktop: RDP profiles, launches xfreerdp settings.py — Settings page smb_nfs.py — SMB/NFS Browser: smbclient + showmount snmp.py — SNMP sntp.py — SNTP / NTP speedtest.py — Speed Test: curl + Cloudflare, history graph ssh.py — SSH page (connection manager + terminal) ssh_keys.py — SSH Key Manager: list/generate/deploy/delete key pairs subnet.py — Subnet Calculator terminal_view.py — TerminalView: pyte VT100 emulator + QPainter renderer tls.py — TLS Inspector + TLS Watchlist: cert details, background expiry monitor topology.py — Topology Map: nmap -sn, interactive graph, zoom/pan traceroute.py — Visual Traceroute: world map, geolocation, zoom/pan vnc.py — VNC: connection profiles, launches vncviewer whois.py — Whois wifi.py — Wi-Fi wol.py — Wake on LAN: magic packet, persistent host book assets/ icons/ — 21 bundled Lucide SVG icons (#60a5fa) world.geojson — Natural Earth 110m countries (map background) window.py — MainWindow (sidebar + QStackedWidget) main.py — Entry point

---

## डेस्कटॉप वातावरण संगतता

v1.2.7 से, NMLinux 21 बंडल किए गए [Lucide](https://lucide.dev) SVG आइकनों का उपयोग करता है जिन्हें रनटाइम पर `QSvgRenderer` के माध्यम से रेंडर किया जाता है। ऐप अब किसी भी सिस्टम आइकन थीम (Breeze, Adwaita, Papirus…) पर निर्भर नहीं करता और KDE, GNOME, XFCE तथा अन्य पर सही ढंग से प्रदर्शित होता है। Qt शैली चालू डेस्कटॉप के अनुसार स्वतः अनुकूलित हो जाती है।

---

## सीमाएँ

### Linux
पूर्ण समर्थन — सभी 29 मॉड्यूल उपलब्ध हैं।

### macOS
अधिकांश मॉड्यूल बिना किसी अतिरिक्त सेटअप के काम करते हैं क्योंकि वे दोनों प्लेटफ़ॉर्मों पर उपलब्ध टूल्स (`ssh`, `dig`, `ping`, `curl`, `nmap`, `openssl`…) पर निर्भर हैं।

**9 मॉड्यूलों को स्पष्ट macOS अनुकूलन की आवश्यकता है** (स्टार्टअप पर प्लेटफ़ॉर्म का पता लगाने वाले दोहरे कोड पथ): Dashboard, Interfaces, Wi-Fi, Topology, Bandwidth, Firewall, Connection Manager, Hosts File, MTR — ये अपने Linux समकक्षों के बजाय मूल macOS कमांड (`ifconfig`, `networksetup`, `scutil`, `pfctl`, `system_profiler`…) का उपयोग करते हैं।

**सीमित या बिना macOS समर्थन वाले मॉड्यूल:**

| मॉड्यूल | स्थिति | टिप्पणियाँ |
|--------|--------|-------|
| **RDP** | ✓ macOS | `open rdp://` पर फ़ॉलबैक करता है → Microsoft Remote Desktop (App Store) |
| **VNC** | ✓ macOS | `open vnc://` पर फ़ॉलबैक करता है → Screen Sharing (अंतर्निहित, शून्य इंस्टॉलेशन) |
| **IP Scanner** | ✓ macOS | `socket.gethostbyaddr()` का उपयोग करता है — मूल Python, कोई अतिरिक्त टूल नहीं |
| **SMB** | ✓ macOS | `smbclient` के बजाय `smbutil view` (अंतर्निहित) का उपयोग करता है |
| **NFS** | ✓ macOS | `showmount` अंतर्निहित; हेडर पार्सिंग अनुकूलित |
| **Connection Manager** | ⚠ कम | संपादन/हटाने के लिए `nmcli` (केवल Linux) आवश्यक है; सूची दृश्य काम करता है |

### सामान्य
- कोई root/polkit एकीकरण नहीं — उन्नत विशेषाधिकारों की आवश्यकता वाले टूल्स (कुछ Nmap मोड, raw sockets) को `sudo` के साथ चलाया जाना चाहिए; macOS पर, विशेषाधिकार वृद्धि `osascript` + `administrator privileges` का उपयोग करती है
- SSH agent फ़ॉरवर्डिंग के लिए सक्रिय SSH agent (`SSH_AUTH_SOCK`) आवश्यक है; macOS पर यह सिस्टम द्वारा स्वचालित रूप से संभाला जाता है, किसी मैन्युअल सेटअप की आवश्यकता नहीं है

---

## श्रेय और आभार

- **[Anthropic](https://www.anthropic.com)** — Claude Code, इस प्रोजेक्ट को बनाने के लिए उपयोग किया गया AI सहायक
- लेखक, दृष्टि, परीक्षण और दिशा के लिए

---

## परियोजना को समर्थन दें

यदि NMLinux आपके लिए उपयोगी है, तो इसके विकास में समर्थन देने पर विचार करें:

- **PayPal** — [PayPal के माध्यम से दान करें](https://www.paypal.com/donate/?business=JFQGY7NU3ANCN&no_recurring=0&item_name=Every+donation%2C+no+matter+how+small%2C+helps+me+keep+this+project+alive.+Thank+you%21%0A&currency_code=EUR)
- **Bitcoin** — `bc1qspe0tky7552qas72wgn8w9dswr0dxlv24w39t6ztjqk3nz6kc5tqv753a4`

---

## लाइसेंस

GPL-2.0 — [LICENSE](https://github.com/thongor77/nmlinux/blob/HEAD/LICENSE) देखें।

यह परियोजना एक स्वतंत्र पुनर्कार्यान्वयन है। NETworkManager से कोई कोड उपयोग या रूपांतरित नहीं किया गया है।

श्रेणियाँ