Skip to content

Releases: thongor77/nmlinux

v1.4.3 — TLS Watchlist fixes

14 Jun 11:50

Choose a tag to compare

Fixes in v1.4.3

TLS Watchlist — self-signed / untrusted cert detection

Self-signed and certs with untrusted CA were incorrectly shown as valid (green). Fixed:

  • SSL exception catching now covers all ssl.SSLError subclasses (not just SSLCertVerificationError)
  • Such certs now display as "⚠ Invalid / untrusted cert" in orange
  • Sidebar dot turns orange when an untrusted cert is detected

TLS Watchlist — clearer status text

  • Entries show "… (checking)" while the background worker is running
  • Unreachable hosts show "— (unreachable)" instead of the ambiguous "not checked"

v1.4.2 — TLS Watchlist

14 Jun 10:42

Choose a tag to compare

What's new in v1.4.2

TLS Watchlist — monitor certificate expiry at startup

A new TLS Watchlist panel appears at the bottom of the TLS Inspector page:

  • + Watch button in the toolbar: adds the current host:port to the watchlist with one click
  • Persistent list stored in ~/.config/nmlinux/tls_watchlist.json
  • Automatic background check runs 2 seconds after launch (non-blocking)
  • Sidebar alert dot on the "TLS Inspector" entry:
    • 🔴 Red dot = at least one certificate expired
    • 🟠 Orange dot = at least one certificate expires within 30 days
    • No dot = all certificates valid
  • Per-entry status in the panel: ✓ / ⚠ / EXPIRED with color coding and days remaining
  • Re-check button to manually refresh all entries
  • Unreachable hosts are silently ignored (no false alert when offline)

v1.4.1 — macOS IP Scanner ARP fix

14 Jun 10:22

Choose a tag to compare

What's new in v1.4.1

macOS — IP Scanner: MAC/vendor/interface now populated

The ARP lookup previously read from /proc/net/arp (Linux-only), leaving MAC address, vendor and network interface empty on macOS. It now calls arp -n <ip> on macOS and parses the native output format. All four scanner columns now work correctly on macOS.

VNC module: Linux server note added

A note has been added to the VNC help badge (all 8 languages) clarifying that Linux desktops do not run a VNC server by default. To expose a Linux desktop via VNC, install: x11vnc, tigervnc-server, or wayvnc (Wayland).

v1.4.0 — macOS module improvements

14 Jun 09:50

Choose a tag to compare

What's new — macOS compatibility extended

Five modules that previously had limited or no macOS support now work natively:

Module Before After
IP Scanner hostname lookup broken (getent missing) uses socket.gethostbyaddr() — Python native
SMB Browser required Homebrew samba uses smbutil view (built-in macOS)
NFS Browser --no-headers flag unsupported flag removed, header line skipped
RDP error "xfreerdp not found" falls back to open rdp:// → Microsoft Remote Desktop (App Store)
VNC error "vncviewer not found" falls back to open vnc:// → Screen Sharing (built-in, zero install)

Linux behaviour is unchanged.

Install / upgrade

Arch Linux (AUR):

yay -S nmlinux

All platforms (wheel):

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

SHA256: fa0119329b0dcad66566f247f7927edc93526d4d5dc18264168cccdb57c16c03

v1.3.9 — SSH Agent Forwarding

13 Jun 18:36

Choose a tag to compare

What's new

SSH Agent Forwarding

  • New "Agent forwarding" checkbox in the SSH connection form
  • Adds -A to the generated ssh command when enabled
  • Allows jumping between servers without copying your private key: PC → server A → server B
  • Requires an active SSH agent (SSH_AUTH_SOCK) — if no agent is running, SSH ignores -A silently
  • Detail panel shows "Oui (-A)" / "Non"
  • Help content updated in all 8 languages (FR/EN/ES/DE/IT/PT/JA/ZH)

How to use:

  1. Make sure your SSH agent is running: ssh-add -l should list your keys
  2. Edit a connection in the SSH page → check "Agent forwarding" → Save
  3. Once connected on server A, you can ssh user@server-B directly

Install / upgrade

Arch Linux (AUR):

yay -S nmlinux

All platforms (wheel):

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

SHA256: 0d73d323ce1f89ae1cf47644e47a83fe254a6476246b8135582e35a67e865e0e

v1.3.8 — Command Palette & Export Manager

13 Jun 10:30

Choose a tag to compare

What's new

Command Palette (Ctrl+P)

  • Press Ctrl+P from anywhere to open a quick-navigation overlay
  • Fuzzy search across all 27 modules by name or keywords (e.g. "firewall", "tls", "ssh key", "scan")
  • Navigate with Up/Down arrows + Enter, or single click

Export Manager

  • File → Export Network Report… — export a live snapshot (interfaces, routes, DNS resolvers) in JSON, Markdown, plain text or PDF
  • PDF export is optional: pip install reportlab
  • Module export buttons — Export button added to: Interfaces, DNS Lookup, Firewall, SSH Connections, Connection Manager
  • Filename extension updates live when you change the format filter in the save dialog

Install / upgrade

Arch Linux (AUR):
```bash
yay -S nmlinux
```

All platforms (wheel):
```bash
pip install nmlinux-1.3.8-py3-none-any.whl
```

Debian / Ubuntu / Mint:
```bash
git pull && bash install.sh
```

SHA256: `505f360a0235a119c4e06354be9b77727d3ea9959d8e87841ac1017d4d866396`

v1.3.6

12 Jun 18:38

Choose a tag to compare

What's new

Topology — device icons

Each node now displays a Lucide SVG icon matching its device type (router, laptop, printer, NAS, smartphone, switch, Raspberry Pi) instead of a generic circle.

Topology — mDNS device detection

Device type is detected via avahi-browse (optional, runs in parallel with nmap). Identifies printers, Android TV / Chromecast, Apple Macs (via model in AirPlay TXT), NAS (Synology reports model=Xserve), KDE Connect desktops. Falls back to MAC vendor OUI and hostname heuristics when avahi is unavailable.

Topology — detail panel

Shows the detected device class (Printer, Smartphone, NAS…) instead of "Host". i18n in all 8 languages.

Traceroute — auto-zoom

The world map automatically zooms and centres on the bounding box of geolocated hops. Disables on manual zoom/pan; restores on next traceroute. Right-click resets to full world view.


Optional new dependency: avahi (for mDNS topology detection)

v1.3.5 — Compatibilité macOS

06 Jun 19:53

Choose a tag to compare

Nouveautés

Compatibilité macOS : 9 modules fonctionnent maintenant en dual Linux/macOS sans casser les fonctionnalités Linux existantes.

Principe : _IS_MACOS = platform.system() == 'Darwin' dans chaque module — les branches macOS s'ajoutent à côté du code Linux, jamais en remplacement.

Modules couverts

Module macOS
Dashboard route -n get default, ifconfig, scutil --dns, masque hex → CIDR
Interfaces networksetup -listallhardwareports + ifconfig -a
Wi-Fi system_profiler SPAirPortDataType -json (airport retiré macOS 15+)
Topology route -n get default + ifconfig, police Menlo
Bandwidth netstat -ib, filtre lo0
Firewall parser parse_pf(), LiveRulesetWorkerMacos via pfctl + osascript
Connection Manager _ListWorkerMacos, _DetailWorkerMacos, actions osascript
Hosts osascript au lieu de pkexec pour écrire /etc/hosts
MTR Police Menlo/Monospace

Modules inchangés (outils identiques Linux/macOS)

dns.py, nmap_scan.py, snmp.py, whois.py


Note : Le projet reste prioritairement Linux/KDE. Le support macOS est une compatibilité additionnelle, non testée en CI.

v1.3.2 — 8-language UI & contextual help

06 Jun 12:34

Choose a tag to compare

What's new

i18n extended to 8 languages

The full UI (~720 translation keys across all 27 modules) is now available in:

FR · EN · ES · DE · IT · PT · JA · ZH

Language can be changed at runtime in Settings without restarting the app.

Contextual help in 8 languages

The ? badge panel (description, usage examples and equivalent CLI commands) now covers all 8 languages × 27 modules. Previously Japanese and Chinese fell back to English.

Bug fix

Nav tooltips for SMB/NFS and Hosts File were displaying in French regardless of the selected language (nav_hint_smb_nfs / nav_hint_hosts missing from 7 non-French language blocks).


Installation

Arch Linux (AUR)

yay -S nmlinux

Debian / Ubuntu / Linux Mint

curl -fsSL https://raw.githubusercontent.com/thongor77/nmlinux/main/install.sh | bash

From wheel

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

NMLinux v1.3.1

05 Jun 16:16

Choose a tag to compare

SSH Key Manager

  • Liste les paires de clés dans ~/.ssh/ (fichier, type, bits, commentaire, empreinte SHA256)
  • Génération Ed25519 ou RSA 4096 avec passphrase optionnelle
  • Copie de la clé publique dans le presse-papiers
  • Déploiement via ssh-copy-id dans un terminal inline
  • Suppression de paire avec confirmation
  • i18n : fr, en, es, de