Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
nmlinux — Einheitliches Netzwerk-Toolkit für Linux — Python 3 + PySide6 | Kitploit
Tools/GitHubGitHub/thongor77/nmlinux
NetzwerkkartierungPort-ScanningInformationsbeschaffungDNS-Analyse
GitHubthongor77/nmlinux

nmlinux

Einheitliches Netzwerk-Toolkit für Linux — Python 3 + PySide6

Repository anzeigen
92159vor 27 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
# NMLinux · v1.7.14

[![Version](https://img.shields.io/badge/version-1.7.14-brightgreen.svg)](https://github.com/thongor77/nmlinux/releases/latest)
[![Python](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/)
[![License: GPL-2.0](https://img.shields.io/badge/license-GPL--2.0-green.svg)](LICENSE)
[![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20macOS-orange.svg)](#installation)
[![Languages](https://img.shields.io/badge/languages-FR%20EN%20ES%20DE%20IT%20PT%20JA%20ZH-purple.svg)](#features)
[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](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](https://img.shields.io/badge/Donate-Bitcoin-orange.svg)](#support-the-project)

**Ein einheitliches Netzwerk-Toolkit für Linux und macOS — inspizieren, verbinden, diagnostizieren.**

NMLinux ist eine einzige, einheitliche GUI, die 29 Netzwerkmodule in einem Fenster vereint: Interface-Überwachung, Wi-Fi, DNS, SSH-Terminal, Firewall-Viewer, Topologie-Karte, Traceroute und mehr. Von Grund auf in Python und PySide6 (Qt 6) entwickelt, mit 8 Oberflächensprachen und keinen externen Abhängigkeiten außer Standard-Systemtools.

> [!NOTE]
> **NMLinux steht in keiner Verbindung zum Linux-Systemdaemon `/usr/bin/NetworkManager` (NetworkManager von Red Hat/GNOME).** NMLinux ist ein eigenständiges Projekt, das von Grund auf in Python und PySide6 entwickelt wurde.

> Entwickelt mit [Claude Code](https://claude.ai/code) (Anthropic) und der Mitwirkung seines Autors.

---

## Entwicklungsprozess

NMLinux wird mit KI-Unterstützung entwickelt — konkret mit [Claude Code](https://claude.ai/code) — und das wird in diesem Repo nirgends verheimlicht. Heutzutage nutzt fast jedes ernsthafte Softwareprojekt irgendwo in seiner Pipeline KI, ob es das zugibt oder nicht. Die Frage „war KI beteiligt" ist also nicht die interessante. Die interessante Frage ist: Fällt es auf, wenn die KI etwas falsch macht?

Hier ist, was das tut, falls Sie lieber nachprüfen möchten, statt mir einfach zu glauben:

- **162 Tests** — `pytest tests/ -v`. Reine Logik plus eine Handvoll echter Qt-Widget-Tests (Menüs, Tabellen), ohne die interessanten Teile wegzumocken.
- **[`docs/Decisions-Techniques.md`](https://github.com/thongor77/nmlinux/blob/main/docs/Decisions-Techniques.md)** — jede nicht offensichtliche technische Entscheidung, die verworfenen Alternativen und die gefundenen und behobenen Bugs (einschließlich der von KI eingeführten), mit schriftlich festgehaltener Begründung.
- **[`docs/Architecture.md`](https://github.com/thongor77/nmlinux/blob/main/docs/Architecture.md)** und **[`docs/Carte-des-Modules.md`](https://github.com/thongor77/nmlinux/blob/main/docs/Carte-des-Modules.md)** — die tatsächliche Struktur des Codes, synchron gehalten mit dem, was ausgeliefert wird.
- Eine **i18n-Konsistenzprüfung**, die vor jedem Release ausgeführt wird, um fehlende Übersetzungsschlüssel über die 8 unterstützten Sprachen hinweg aufzuspüren.

Nichts davon existiert, weil der KI nicht zu trauen wäre. Es existiert, weil nichts ausgeliefert werden sollte, ohne dass ein Prozess es prüft — handgeschriebener Code eingeschlossen. Beurteilen Sie das Ergebnis und wie es verifiziert wird, nicht das Tool, das beim Schreiben geholfen hat.

Trotzdem einen Bug gefunden? Das ist nützlich, nicht peinlich — [eröffnen Sie ein Issue](https://github.com/thongor77/nmlinux/issues).

---

## Community

**[GitHub Discussions](https://github.com/thongor77/nmlinux/discussions) sind offen** — teilen Sie Feedback, melden Sie Ideen, stellen Sie Fragen oder sagen Sie einfach Hallo. Der Autor hat über 30 Jahre Erfahrung in Infrastruktur und Betrieb und hat dieses Tool gebaut, weil es auch für Linux gute, freie und einfache Software geben sollte.

---

## Screenshots

> Linux-Screenshots aus v1.2.7 — macOS-Screenshots aus v1.3.5. Die App hat jetzt 29 Module und 8 Oberflächensprachen (FR/EN/ES/DE/IT/PT/JA/ZH).

**Linux (KDE)**

| Dashboard | Topologie |
|-----------|----------|
| ![Dashboard](https://assets.kitploit.com/production/public/readmes/7933/8c4d0041882b63913349c955a86e2f91ede403d8642162453eae1442292e850c.png) | ![Topologie](https://assets.kitploit.com/production/public/readmes/7933/54c953b3974b33d8284c134aef468d1f7c4370be41cce2142ee4445e9f176ce6.png) |

| Traceroute | Wi-Fi |
|------------|-------|
| ![Traceroute](https://assets.kitploit.com/production/public/readmes/7933/48ba34b1dae2a9287ad85466204d728bfa71f2752231fb3e560c74c8ad2a5c63.png) | ![Wi-Fi](https://assets.kitploit.com/production/public/readmes/7933/d271c0c8a07ce0a7fcfe6a936b95ecc2f0a75696a4e11fb5cab78900ae682b98.png) |

**macOS**

| Dashboard | Traceroute |
|-----------|------------|
| ![macOS Dashboard](https://assets.kitploit.com/production/public/readmes/7933/2c47bede13ac773aaedd774b25e8a4c7113dc191778bb6434f8582b191acaaf1.png) | ![macOS Traceroute](https://assets.kitploit.com/production/public/readmes/7933/9fbe381fe228ef64ebe1c8354ec9fdced669d7f6d6d7555db1c9418394ec65d0.png) |

---

## Changelog

### v1.7.14 — 2026-09-30

- **AppImage — Startabsturz behoben, zweiter Versuch**: Der Fix aus v1.7.13 (Entfernen gebündelter Systembibliotheken) reichte nicht aus — der eingebettete Python-Interpreter selbst (`libpython3.14.so.1.0`, gebaut gegen die glibc 2.44 der Arch-Linux-Entwicklungsmaschine) benötigte weiterhin glibc-Symbole, die neuer sind als die der Testmaschine des AppImageHub-Katalogs (Ubuntu 22.04, glibc 2.35), sodass die AppImage weiterhin direkt beim Start abstürzte. `build-appimage.sh` baut das PyInstaller-Bundle jetzt in einem `ubuntu:22.04`-Container (via `podman`) statt auf dem Host, sodass jede eingebettete Binärdatei gegen genau die glibc-Version gelinkt ist, die die AppImage unterstützen muss.

### v1.7.13 — 2026-09-30

- **AppImage — Startabsturz behoben (unvollständig, siehe v1.7.14)**: `build-appimage.sh` bündelte Shared Libraries (`libz.so.1`, `libstdc++.so.6`, `libX11.so.6`, `libfontconfig.so.1` und andere) direkt aus der sehr aktuellen glibc der Arch-Linux-Build-Maschine. Auf älteren Distributionen stürzte die AppImage sofort beim Start ab (`GLIBC_ABI_DT_RELR' not found`), erkannt durch den automatisierten Test des AppImageHub-Katalogs. Diese Bibliotheken werden jetzt aus dem Bundle entfernt, sodass die AppImage auf die eigenen Kopien des Host-Systems zurückgreift — der Standardansatz für AppImages.

### v1.7.12 — 2026-08-12

- **Traceroute — Fix**: Unter Flatpak (v1.7.11, siehe unten — inzwischen entfernt) wurde `traceroute` immer über den Host-Shim auf dem `PATH` aufgelöst, selbst wenn der Host keine echte `traceroute`-Binärdatei installiert hatte, sodass der Worker nie auf `tracepath` zurückfiel und der Trace sofort ohne Hops und ohne angezeigten Fehler endete. Jetzt wird auf `tracepath` zurückgefallen, wann immer `traceroute` überhaupt keine parsebare Ausgabe liefert, unabhängig davon, *warum* es fehlgeschlagen ist.
- **SSH-Terminal — askpass-Fix**: Wenn `DISPLAY`/`WAYLAND_DISPLAY` gesetzt sind (jede GUI-Sitzung) und ssh kein sauberes tty hat, kann es für die Passwortabfrage `$SSH_ASKPASS` statt des eingebetteten Terminals versuchen — was die Authentifizierung stillschweigend fehlschlagen lässt, wenn kein askpass-Helfer installiert ist. `SSH_ASKPASS_REQUIRE=never` erzwingt jetzt, dass Passwortabfragen immer über das Terminal selbst laufen.
- **Flatpak-Paketierung entfernt**: Das in v1.7.11 ausgelieferte lokale KDE-Linux-Manifest wird eingestellt. Die Untersuchung des obigen SSH-Passwortabfrage-Bugs brachte eine Einschränkung auf Kernel-Ebene zutage: Ein über `flatpak-spawn --host` weitergeleiteter Prozess kann niemals der Eigentümer des steuernden Terminals des weitergeleiteten pty werden (`TIOCSCTTY` wird mit `EPERM` verweigert — eine andere, unabhängige Sitzung besitzt es bereits; dies ist eine beabsichtigte Sicherheitsgrenze des Kernels, kein Bug). Der einzige funktionierende Workaround (`script`, das ein frisches pty zuweist) behebt die Passwortabfrage, bricht aber die Live-Übertragung von Terminal-Größenänderungen für diese Sitzung — als schlechterer Kompromiss bewertet, als Flatpak gar nicht auszuliefern. AUR und die AppImage sind künftig die unterstützten Linux-Installationswege.

### v1.7.11 — 2026-08-03

- **Flatpak-Paketierung (KDE Linux)**: Ein lokales Build-Manifest unter `packaging/flatpak/` zielt auf KDE Linux und andere reine Flatpak-Distributionen ab. Host-CLI-Tools, die nmlinux aufruft (`nmcli`, `pkexec`, `mount.cifs`, `ssh`, `nmap`, …), werden über `flatpak-spawn --host`-Shims auf dem `PATH` angebunden, statt jedes einzeln zu sandboxen; PySide6 stammt aus Flathubs `io.qt.PySide.BaseApp` statt aus dem PyPI-Wheel. Nicht auf Flathub veröffentlicht — stattdessen wird ein einzelnes `.flatpak`-Bundle mit `packaging/flatpak/build-bundle.sh` gebaut und an jedes Release angehängt, so wie es bei der AppImage bereits der Fall ist. **Eingestellt in v1.7.12 — siehe oben.**

### v1.7.10 — 2026-08-03

- **SSH-Terminal — Fix**: Eine Race Condition wurde behoben, bei der das PTY mit der falschen (Standard-24×80-)Größe starten konnte, wenn die tatsächliche Größe des Terminal-Widgets beim Start der Sitzung noch nicht bekannt war, wodurch die Größenänderungsanfrage stillschweigend verworfen wurde. Dadurch gerieten entfernte Vollbild-Anwendungen (z. B. Claude Code CLI, htop, vim) gegenüber der echten Fenstergröße aus dem Takt, was zu veraltetem/übrig gebliebenem Text am unteren Bildschirmrand führte, der erst verschwand, als neuer Output darüber scrollte. Vom Nutzer gemeldet; mit einer echten interaktiven Sitzung reproduziert

### v1.7.9 — 2026-08-02

- **SSH-Terminal — Kopieren/Einfügen**: Text mit der Maus auswählen (Klicken-Ziehen, hervorgehoben), kopieren mit `Ctrl+Shift+C` oder dem Rechtsklick-Menü; einfügen mit `Ctrl+Shift+V` (bereits vorhanden). Kopieren war zuvor unmöglich — es gab überhaupt keine Textauswahl
- **SSH-Terminal — mehrere gleichzeitige Sitzungen**: Die SSH-Seite öffnet jede Verbindung jetzt in einem eigenen Tab statt in einer einzigen gemeinsamen Sitzung. Das erneute Verbinden mit einer gespeicherten Verbindung — selbst zweimal mit derselben — beendete früher die aktive Sitzung, ohne einen funktionierenden Ersatz zu öffnen; jetzt öffnet jede Verbindungsaktion einen neuen, unabhängigen Tab

### v1.7.8 — 2026-07-14

- **Speed Test — neuer LAN-Tab (iperf3)**: Neben dem bestehenden Internet-Geschwindigkeitstest führt ein neuer Tab reine Client-`iperf3`-Tests gegen entweder eine mitgelieferte öffentliche Serverliste (26 Länder) oder einen gespeicherten benutzerdefinierten Server (z. B. einen internen Org-Server) aus. Unterstützt TCP/UDP, IPv4/IPv6/auto und die Reverse-Richtung (Download), mit Jitter/Verlust-Anzeige für UDP-Tests. Vorgeschlagen in [Issue #6](https://github.com/thongor77/nmlinux/issues/6)
- **Neue optionale Abhängigkeit**: `iperf3` — installieren, um den LAN-Tab zu aktivieren; andernfalls zeigt der Tab ein Banner und bleibt deaktiviert

### v1.7.6 — 2026-07-05

- **Asset Inventory — Aktualisierung per Rechtsklick**: Rechtsklick auf eine oder mehrere bereits gescannte Zeilen (Mehrfachauswahl unterstützt) und „Ausgewählte aktualisieren" wählen, um nur diese Hosts direkt neu zu scannen, statt einen vollständigen Netzwerkscan erneut auszuführen
- **Asset Inventory — SSH-Authentifizierungsfehler-Feedback**: Eine abgelehnte SSH-Anmeldung zeigt jetzt „SSH auth failed" statt stillschweigend fehlzuschlagen, ohne die von Nmap erkannte Hostname/OS-Basis zu verlieren — bestätigt an einem echten Synology NAS, bei dem DSMs Auto Block ein korrektes Passwort ablehnte, nachdem zuvor andere konfigurierte Anmeldedatensätze versucht worden waren

### v1.7.5 — 2026-07-04

- **Ping Monitor — Verzeichnis gespeicherter Ziele**: Ein neues linkes Panel ermöglicht das Speichern von Ping-Zielen (Name, Host, Intervall) in einer persistenten Liste, sodass überwachte Hosts einen App-Neustart überleben, statt neu eingegeben werden zu müssen. Ein ★-Button auf jeder aktiv überwachten Zeile speichert diesen Host jederzeit während der Sitzung im Verzeichnis — kein Vorausplanen nötig, bevor die App unerwartet geschlossen wird
- **Ping Monitor — „Überwachung starten"**: Ein gespeichertes Ziel auswählen und mit einem Klick überwachen, wobei dessen gespeichertes Intervall wiederverwendet wird

### v1.7.4 — 2026-07-04

- **Asset Inventory — inkonsistente Scan-Ergebnisse behoben**: Die Liveness-Prüfung sendete einen einzelnen Ping mit 1-Sekunden-Timeout ohne Wiederholung, was ein echtes Gerät unter der eigenen Nebenläufigkeitslast des Scanners (bis zu 40 gleichzeitig geprüfte Hosts) oder bei einem Wi-Fi-Host, der zwischen Beacons kurz schlief, verlieren konnte — live bestätigt an einem echten Subnetz, das bei wiederholten Läufen desselben Bereichs unterschiedliche Gerätezahlen zurückgab. Die Prüfung wiederholt den Ping jetzt, bevor sie auf die TCP-Port-Sonde zurückfällt
- **Asset Inventory — neuer Button „Leere aktualisieren"**: Nach einem Scan nur die IPs erneut scannen, die keine Daten geliefert haben, statt den gesamten Bereich erneut; neu gefundene Hosts werden in die bestehenden Ergebnisse eingefügt

### v1.7.3 — 2026-07-03

- **SMB — Shares über das Rechtsklick-Menü einbinden**: Rechtsklick auf einen Share im SMB-Tab und Mount/Unmount wählen, um ihn an einem stabilen lokalen Pfad (`~/mnt/<host>_<share>`) einzubinden, nutzbar vom Terminal und jeder anderen App — keine flüchtige Browse-Ansicht. Nur für die Sitzung (keine fstab/systemd-Persistenz), Anmeldedaten werden aus den bestehenden Benutzer-/Passwortfeldern wiederverwendet. Linux verwendet `pkexec mount -t cifs` mit einer Credentials-Datei mit eingeschränkten Berechtigungen (nie über `ps` sichtbar); macOS verwendet direkt `mount_smbfs`. Automatischer erneuter Versuch mit einem älteren SMB-Dialekt (`vers=2.0`), wenn ein Server die Standardaushandlung ablehnt (häufig bei älteren NAS-Geräten) — beide Versuche erfolgen unter einer einzigen Authentifizierungsabfrage über einen dedizierten Helferprozess
- **Neue optionale Abhängigkeit**: `cifs-utils` (Linux) für SMB-Mounting; in macOS integriert

### v1.7.2 — 2026-07-03

- **macOS-Installation — zwei auf einem nackten Mac gefundene Bootstrap-Bugs behoben**: `bootstrap_macos.sh` erzwingt nicht mehr `NONINTERACTIVE=1` beim Homebrew-Installer, was auf jedem frischen Admin-Konto sofort abbrach, statt nach dem sudo-Passwort zu fragen; der dokumentierte Einzeiler lädt das Skript jetzt zuerst herunter, statt es direkt in `bash` zu pipen, da verschachtelte interaktive Schritte (Xcode-CLT-Installer, Homebrews eigener sudo-Prompt) den eigenen Eingabestream des äußeren Skripts beim Piping stören konnten
- **Universelles Rechtsklick-Menü — SMB hinzugefügt**: `SmbNfsPage` war die einzige Zielseite, die im mit v1.7.0 ausgelieferten modulübergreifenden Rechtsklick-System fehlte; ein Rechtsklick auf einen Host und die Wahl von SMB füllt jetzt das Host-Feld vor und startet den Scan sofort, fett im Menü, wenn Port 445 als offen erkannt wird
- **i18n — verbleibende Dashboard-Strings übersetzt**: Das Gateway-Latenz-Label, der Titel der TLS-Watchlist-Karte und deren Statuszeile waren noch fest auf Französisch; jetzt über alle 8 Oberflächensprachen übersetzt

### v1.7.1 — 2026-07-02

- **macOS 26 (Tahoe)** — Wi-Fi-SSID-Fixes: Umstellung von `system_profiler` (liefert `<redacted>` ohne Standortdienste) auf **CoreWLAN** als primäre Datenquelle; die App fordert jetzt beim ersten Start die Berechtigung für Standortdienste an; die Wi-Fi-Seite zeigt nach Erteilung alle Netzwerke mit echten Namen
- **macOS** — Connection Manager: Verbundene SSID wird jetzt über CoreWLAN gelesen, mit `system_profiler` für den Sicherheitsmodus
- **macOS** — SMB: klare Meldung „authentication required", wenn das NAS Anmeldedaten verlangt; falsche smb.conf-Warnung von Homebrew smbclient behoben
- **macOS** — potenzieller Absturz beim Beenden nach dem ersten Standortdienste-Berechtigungsdialog behoben

### v1.7.0 — 2026-07-02

- **Universelles Rechtsklick-Kontextmenü** auf jeder Tabelle, die IPs oder Hostnamen enthält — direkt zwischen Modulen navigieren, ohne Copy-Paste: Rechtsklick auf einen beliebigen entdeckten Host und Ping, Scan ports, Whois, DNS, Traceroute, MTR, SSH, RDP, VNC, View in Topology oder Add to Inventory wählen. Menüeinträge SSH/RDP/VNC erscheinen **fett**, wenn der entsprechende Port als offen erkannt wird. Die Beschriftungen sind in allen 8 Oberflächensprachen vollständig übersetzt.
- **Quellseiten** (senden Rechtsklick-Aktionen): IP Scanner, Nmap, Ping, Port Scanner, Traceroute, MTR, Topology (Rechtsklick auf Knoten)
- **Zielseiten** (empfangen Host und füllen vor): Whois (`set_target` + Auto-Abfrage), DNS (nur `set_target`-Vorbelegung), Ping (`set_target` + Auto-Start), Traceroute (`set_target` + Auto-Start), MTR (`set_target` + Auto-Start), Port Scanner (`set_target` + Fokus), SSH / RDP / VNC (`set_target` öffnet das Formular für neue Verbindungen vorbefüllt), Topology (`load_hosts` fügt Knoten aus dem IP-Scanner-/Nmap-Scan ein, ohne erneut zu scannen — Gateway automatisch erkannt, Kanten gezeichnet, Ursprungsknoten rot hervorgehoben), Asset Inventory (`prefill_hosts` startet den Credential-Scan direkt auf entdeckten Hosts, überspringt die ICMP-Discovery-Phase)
- **Dashboard — Gateway-Ping-Graph**: Live-Latenz-Sparkline, alle 2 Sekunden aktualisiert; farbcodiert (<20 ms grün / 20–100 ms orange / >100 ms rot / Timeout rot)
- **Dashboard — TLS-Watchlist-Zusammenfassung**: Die Statuskarte im Dashboard spiegelt automatisch den Zustand der TLS-Watchlist wider (OK / läuft ab / Alarm), ohne erneut abzufragen
- **Dashboard — Geo-Karten-Größenanpassung**: Die Weltkarte dehnt sich jetzt horizontal aus, wenn das Fenster in der Größe geändert wird

### v1.6.4 — 2026-06-28

- **macOS**: Die Menüleiste zeigt jetzt **NMLinux** statt **Python** — Ursache: Nach `exec()` in Python löst `NSBundle.mainBundle()` auf das `Python.framework`-Bundle auf (CFBundleName = "Python"), das Qt während der QApplication-Konstruktion liest; behoben durch Patchen der `infoDictionary()` des Bundles und Umbenennen der nativen Menüeinträge über AppKit, bevor das Anwendungsmenü erstellt wird

### v1.6.3 — 2026-06-28

- **macOS**: Erster Versuch, die Menüleiste mit `NSProcessInfo.setProcessName_` über `pyobjc-framework-Cocoa` zu korrigieren (abgelöst durch v1.6.4)

### v1.6.2 — 2026-06-28

- **macOS**: Bash-Launcher-Skript durch einen kompilierten C-Stub in `install_macos_app.sh` ersetzt, damit macOS das `.app`-Bundle korrekt dem laufenden Prozess zuordnet; `setprogname` und `sys.argv[0]`-Override als Fallbacks hinzugefügt

### v1.6.1 — 2026-06-25

- **SSH-Terminal — Remote-Echo behoben**: Im eingebetteten SSH-Terminal getippte Tastenanschläge wurden an die Remote-Shell gesendet, aber nie zurückgegeben (die Tastatur wirkte nach der Anmeldung „tot"). nmlinux erzwang das lokale PTY-Echo aus, und ssh übertrug dieses „kein Echo" über seine Terminal-Modi (pty-req) auf das entfernte pty, sodass die Remote-Shell aufhörte, Eingaben zu echoen. Reproduziert auf einer frischen Ubuntu-26.04-VM (aktuelles OpenSSH wendet diese Modi getreu an). Das Terminal hält das PTY jetzt im Normalmodus und lässt ssh das Echo verwalten, wie es echte Terminalemulatoren tun.

### v1.6.0 — 2026-06-24

- **Asset Inventory — WinRM Windows (vollständig)**: Host-Erkennung über TCP-Port-Sonde, wenn ICMP von der Windows-Firewall blockiert wird; PowerShell verwendet jetzt vollständigen absoluten Pfad + **EncodedCommand (base64)**, um zu verhindern, dass cmd.exe Pipes `|` interpretiert; vollständige Fallback-Kette ohne Admin-Rechte: OS über `ver`, CPU über Registry, RAM über `systeminfo`, Disk über `wmic` → `fsutil` (locale-aware EN-Komma / FR-Leerzeichen) → `dir /-C`
- **Asset Inventory — Multi-Credentials-SSH**: Mehrere SSH-Anmeldedatensätze unterstützt; macOS-Disk korrigiert (`/System/Volumes/Data`), Apple-Silicon-CPU-Fallback (`hw.model`), Synology (`/volume1`), Unraid (`/mnt/user`)
- **Bugfixes**: WinRM-Fehler werden jetzt in der Tabelle angezeigt statt stillschweigendem Fallback; WinRM/SNMP-Host-Erkennung wird nicht mehr durch das Vorhandensein von SSH-Anmeldedaten blockiert; pywinrm-Timeout korrigiert

### v1.5.3 — 2026-06-24

- **macOS .app — Homebrew-Tool-Erkennung**: Über Homebrew installierte `sshpass`, `nmap` und `snmpget` werden jetzt gefunden und über ihren absoluten Pfad aufgerufen; `.app`-Bundles erben unter macOS nicht den Homebrew-PATH (`/opt/homebrew/bin`, `/usr/local/bin`), sodass zuvor installierte Tools stillschweigend ignoriert wurden
- **macOS-Aktualisierungspfad**: `git pull && bash packaging/install_macos_app.sh` aus dem Repo-Stamm auszuführen ist jetzt die dokumentierte Upgrade-Methode; das Skript verwaltet sein eigenes venv (`~/.local/share/nmlinux/venv`) und benötigt kein systemweites `pip` oder `pipx`

### v1.5.2 — 2026-06-24

- **Asset Inventory** — neues Modul (29.); scannt einen CIDR-Bereich und sammelt OS, CPU, RAM, Disk und Uptime von jedem Host über SSH, WinRM, SNMP oder Nmap; unterstützt mehrere Anmeldedatensätze pro Protokoll (jeden der Reihe nach versuchen); Zero-Retention-Policy: Anmeldedaten werden nie auf die Festplatte geschrieben, nach dem Scan aus dem Speicher gelöscht; Ergebnisse als JSON, CSV oder Markdown exportieren; animierte Geo-Karte zum Dashboard-Abschnitt IP-Geolokalisierung hinzugefügt
- **SSH-Sammlungs-Fixes**: awk-Quoting-Fehler im Disk-Befehl behoben; `free -h` durch BusyBox-kompatibles `free` ersetzt; macOS-Codepfad verwendet jetzt `sw_vers` für den OS-Namen, `hw.model`-Fallback für Apple-Silicon-CPU, `/System/Volumes/Data` für das APFS-Benutzerdaten-Volume; Synology/Unraid-Volumes (`/volume1`, `/mnt/user`) werden vor root erkannt; das Falsch-Erfolgs-Muster `df | tail -1 || …` mit `test -d`-Guards behoben; `lsb_release`-Ausgabe von umgebenden Anführungszeichen befreit; mehrere SSH/WinRM-Anmeldedatensätze unterstützt (versucht jeden der Reihe nach pro Host)

### v1.5.0 — 2026-06-17

- **File Transfer Server** — neues Modul zum Starten/Stoppen eines leichtgewichtigen TFTP- oder HTTP-Servers direkt aus der App; klassischer Anwendungsfall: Sichern und Wiederherstellen von Router-, Switch- oder Druckerkonfigurationen; jeweils ein Server aktiv (TFTP oder HTTP), konfigurierbarer Port und Root-Verzeichnis, lokale IPs als Copy-to-Clipboard-Buttons angezeigt; HTTP enthält Verzeichnislisting (aus jedem Browser im LAN durchsuchbar), GET (Download) und POST/PUT (Upload); TFTP unterstützt GET und PUT (bidirektional), Port 69 erfordert root — die App zeigt bei Berechtigungsfehler einen Button „Als root starten (pkexec)"; Live-Transfer-Log-Tabelle (Zeitstempel, Dateiname, Client-IP, Richtung ↑/↓, Größe); Port-Traversal-Schutz; 8 Oberflächensprachen; neue Abhängigkeit: `tftpy`

### v1.4.3 — 2026-06-14- **TLS-Watchlist-Korrekturen**: selbstsignierte und nicht vertrauenswürdige Zertifikate werden jetzt korrekt als „⚠ Invalid / untrusted cert" (orange) statt grün angezeigt; die SSL-Ausnahmenbehandlung wurde erweitert, um alle `ssl.SSLError`-Unterklassen abzudecken; Einträge zeigen jetzt „… (checking)" während die Hintergrundprüfung läuft und „— (unreachable)", wenn der Host nicht erreichbar ist

### v1.4.2 — 2026-06-14

- **TLS-Watchlist** — persistente Liste von Hostnamen zur Überwachung des Zertifikatsablaufs; Hosts hinzufügen mit `+ Watch` (verwendet aktuellen Host/Port) oder manuell im Panel; Hintergrundprüfung läuft automatisch 2 Sekunden nach dem Start; der Sidebar-Eintrag „TLS Inspector" zeigt einen farbigen Punkt: rot, wenn ein Zertifikat abgelaufen ist, orange, wenn ein Zertifikat innerhalb von 30 Tagen abläuft; Re-Check-Button im Panel; die Liste zeigt den Status pro Eintrag (✓ / ⚠ / EXPIRED) mit Farbcodierung

### v1.4.1 — 2026-06-14

- **macOS — IP Scanner**: MAC-Adresse, Hersteller und Interface-Lookup unter macOS korrigiert; `_arp_entry()` ruft unter macOS jetzt `arp -n <ip>` auf und parst dessen Ausgabeformat (`? (IP) at AA:BB:CC on en0`) statt `/proc/net/arp` zu lesen (nur Linux); alle vier Scanner-Spalten werden unter macOS jetzt korrekt befüllt
- **VNC-Hilfe**: ein Hinweis in allen 8 Sprachen hinzugefügt, der klarstellt, dass Linux standardmäßig keinen VNC-Server hat, und gängige Installationsoptionen auflistet (x11vnc, tigervnc-server, wayvnc)

### v1.4.0 — 2026-06-14

- **macOS — IP Scanner**: `getent` (nur Linux) durch Pythons `socket.gethostbyaddr()` für plattformübergreifende Reverse-DNS-Auflösung ersetzt; Hostname-Lookup funktioniert jetzt nativ unter macOS ohne zusätzliches Tool
- **macOS — SMB Browser**: von `smbclient` (erfordert Homebrew samba) auf `smbutil view` (in macOS integriertes Tool) umgestellt; SMB-Freigabenauflistung funktioniert jetzt unter macOS ohne Installation
- **macOS — NFS Browser**: `showmount` ist in macOS integriert, unterstützt aber kein `--no-headers`; das Flag wurde unter macOS entfernt, die Header-Zeile wird im Parser übersprungen; NFS-Export-Auflistung funktioniert jetzt nativ
- **macOS — RDP**: wenn `xfreerdp` nicht gefunden wird, erfolgt ein Fallback auf das `open rdp://`-URL-Schema; öffnet Microsoft Remote Desktop (App Store), falls installiert, mit vorausgefülltem Host, Port, Benutzername und Domäne
- **macOS — VNC**: wenn `vncviewer` nicht gefunden wird, erfolgt ein Fallback auf das `open vnc://`-URL-Schema; öffnet macOS Screen Sharing (integriert, keine Installation erforderlich)

### v1.3.9 — 2026-06-13

- **SSH-Agent-Weiterleitung** — neue Kontrollkästchen „Agent forwarding" im SSH-Verbindungsformular; fügt `-A` zum `ssh`-Befehl hinzu; ermöglicht das Springen zwischen Servern ohne Kopieren des privaten Schlüssels (PC → A → B); erfordert einen aktiven SSH-Agent (`SSH_AUTH_SOCK`); kontextbezogene Hilfe in allen 8 Sprachen aktualisiert

### v1.3.8 — 2026-06-13

- **Befehlspalette (Strg+P)** — sofortige Tastaturnavigation zu jedem der 27 Module; Fuzzy-Suche nach Name und Schlüsselwörtern (z. B. „firewall", „tls", „ssh key", „scan"); Pfeiltasten Auf/Ab + Enter oder einzelner Klick zur Navigation; öffnet sich mit Strg+P von überall in der App
- **Export-Manager** — Exportieren Sie einen vollständigen Netzwerk-Snapshot (Interfaces, Routen, DNS-Resolver) über Datei → Export Network Report… in JSON, Markdown, Klartext oder PDF (optional: `pip install reportlab`)
- **Export-Buttons auf Modulebene** — Export-Buttons zu den Seiten Interfaces, DNS, Firewall, SSH Connections und Connection Manager hinzugefügt; jede Seite exportiert ihre aktuellen Daten im gewählten Format mit Live-Aktualisierung der Dateinamenserweiterung, wenn sich der Formatfilter ändert

### v1.3.6 — 2026-06-12

- **Topologie — Gerätesymbole** — jeder Knoten zeigt jetzt ein Lucide-SVG-Symbol passend zu seinem Gerätetyp (Router/WLAN, Computer/Laptop, Drucker, NAS/Server, Smartphone, Netzwerk-Switch, Raspberry Pi) statt eines generischen Kreises; 5 neue mitgelieferte SVG-Symbole (`printer`, `server`, `smartphone`, `cpu`, `laptop`)
- **Topologie — mDNS-Erkennung** — der Gerätetyp wird über `avahi-browse` erkannt (optional, läuft parallel zum nmap-Scan); identifiziert Drucker (`_ipp._tcp`, `PDL Printer`), Android-Telefone und -TVs (`_googlecast._tcp`, `_androidtvremote2._tcp`), Apple Macs (`am=Mac16,x`-Modell in AirPlay TXT), NAS-Geräte (Synology meldet `model=Xserve`), KDE-Connect-Desktops; fällt auf MAC-Hersteller-OUI und Hostname-Heuristiken zurück, wenn avahi nicht verfügbar ist
- **Topologie — Detailpanel** zeigt die erkannte Geräteklasse (Printer, Smartphone, NAS…) statt des generischen Labels „Host"; i18n in allen 8 Sprachen
- **Traceroute — Auto-Zoom** — die Weltkarte zoomt und zentriert am Ende jeder Route automatisch auf die Bounding-Box der geolokalisierten Hops; wird deaktiviert, wenn der Benutzer manuell schwenkt oder zoomt; wird beim nächsten Traceroute wiederhergestellt; Rechtsklick setzt auf die vollständige Weltansicht zurück

### v1.3.5 — 2026-06-06

- **macOS-Kompatibilität** — alle 9 Netzwerkmodule laufen jetzt unter macOS, ohne das Linux-Verhalten zu beeinträchtigen; jedes Modul erkennt die Plattform beim Start (`_IS_MACOS`) und verzweigt zu nativen macOS-Befehlen: `route -n get default`, `ifconfig`, `scutil --dns`, `networksetup`, `system_profiler SPAirPortDataType`, `pfctl`, `netstat -ib`; die Rechteerhöhung verwendet `osascript` + `with administrator privileges` statt `pkexec`; die Monospace-Schriftart verwendet `Menlo` statt `Monospace`
- **Module mit dualen Linux/macOS-Pfaden**: Dashboard, Interfaces, Wi-Fi, Topology, Bandwidth, Firewall (pf.conf + pfctl), Connection Manager, Hosts File, MTR
- **Unveränderte Module** (Tools auf beiden Plattformen identisch): DNS, Nmap Scan, SNMP, Whois

### v1.3.2 — 2026-06-06

- **i18n auf 8 Sprachen erweitert** — Italiano, Português, 日本語 (Japanisch) und 中文 (Chinesisch vereinfacht) hinzugefügt; die vollständige UI (alle 27 Module, ~720 Übersetzungsschlüssel) ist jetzt in FR / EN / ES / DE / IT / PT / JA / ZH verfügbar; nach dem Ändern der Sprache in den Einstellungen erscheint eine Aufforderung zum Neustart
- **Kontextbezogene Hilfe in 8 Sprachen** — das `?`-Badge-Panel (Beschreibung, Anwendungsbeispiele und äquivalente CLI-Befehle) deckt jetzt alle 8 Sprachen für jedes Modul ab; zuvor fielen JA und ZH auf Englisch zurück
- **Fehlerbehebung** — Nav-Tooltips für SMB/NFS und Hosts File wurden unabhängig von der ausgewählten Sprache auf Französisch angezeigt; fehlende Schlüssel `nav_hint_smb_nfs` und `nav_hint_hosts` zu allen 7 nicht-französischen Sprachblöcken hinzugefügt

### v1.3.1 — 2026-06-05

- **SSH Key Manager** — alle Schlüsselpaare in `~/.ssh/` auflisten (Datei, Typ, Bits, Kommentar, SHA256-Fingerabdruck); Ed25519- oder RSA-4096-Schlüssel mit optionaler Passphrase generieren (Mismatch-Erkennung, automatischer Dateiname nach Typ); öffentlichen Schlüssel in die Zwischenablage kopieren; auf einen Remote-Server über `ssh-copy-id` in einem Inline-Terminal mit stdin-Unterstützung für Passwortabfragen bereitstellen; Schlüsselpaare mit Bestätigung löschen; erstellt `~/.ssh/` automatisch, falls nicht vorhanden; i18n: fr / en / es / de

### v1.3.0 — 2026-06-03

- **TLS / SSL Inspector** — Zertifikat eines beliebigen Servers inspizieren: Subject-CN, SANs, Aussteller, Gültigkeitsdaten (farbcodiert: grün / orange < 30 Tage / rot abgelaufen), Seriennummer, TLS-Protokoll, Cipher-Suite und Zertifikatskette (über `openssl s_client`); funktioniert für gültige, abgelaufene und selbstsignierte Zertifikate; benutzerfreundliche Fehlermeldungen für nicht erreichbare Hosts
- **SMB / NFS Browser** — Freigaben und Exporte von jedem Server auflisten; SMB-Tab: `smbclient -L` mit optionalen Anmeldedaten, zeigt Freigabename / Typ / Kommentar; NFS-Tab: `showmount -e`, zeigt Exportpfad und Zugriffsliste; erkennt fehlende Tools mit distributionsspezifischen Installationsanweisungen
- **Hosts File Editor** — `/etc/hosts` anzeigen und bearbeiten; Tabelle mit Aktivieren/Deaktivieren-Umschalter, Einträge über Dialog hinzufügen/bearbeiten/löschen; nach IP oder Hostname filtern; speichert über `pkexec cp` (polkit-Authentifizierungsdialog)
- **install.sh** — neues Skript für Debian / Ubuntu / Linux Mint: erstellt ein venv in `~/.local/share/nmlinux/venv`, installiert Systemabhängigkeiten über apt, erstellt Launcher und `.desktop`-Eintrag (behebt den PEP 668-Fehler `externally-managed-environment`)

### v1.2.9 — 2026-05-30

- **VNC** — neues Modul zur Verwaltung von VNC-Verbindungsprofilen; Gruppen/Untergruppen wie bei SSH und RDP; startet `vncviewer` (TigerVNC); kompatibel mit macOS ARD (DH30-Authentifizierung wird nativ von vncviewer behandelt); Passwort wird nie gespeichert; erkennt fehlendes `vncviewer` mit distributionsspezifischen Installationsanweisungen
- **About — Tools & services** — neuer Abschnitt, der alle Drittanbieter-Tools und APIs auflistet, von denen die App abhängt
- **Sidebar-i18n** — alle 23 Nav-Tooltips jetzt in FR/EN/ES/DE übersetzt (waren fest auf Französisch codiert); Labels korrigiert: Topology, Connections, Subnet

---

[Read more](https://github.com/thongor77/nmlinux)
Tool herunterladen