[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83383":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":12,"subscribersCount":12,"size":12,"stars1d":14,"stars7d":15,"stars30d":15,"stars90d":12,"forks30d":12,"starsTrendScore":16,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":9,"trendingCount":12,"starSnapshotCount":12,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},83383,"nmlinux","thongor77\u002Fnmlinux","thongor77","A free Linux adaptation of NETworkManager (BornToBeRoot) — Python 3 + PySide6",null,"Python",75,0,53,1,17,9,52.2,"Other",false,"main",true,[],"2026-06-12 04:01:41","# NMLinux · v1.3.5\n\n[![Donate](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDonate-PayPal-blue.svg)](https:\u002F\u002Fwww.paypal.com\u002Fdonate\u002F?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)\n\n**A free Linux adaptation of [NETworkManager](https:\u002F\u002Fgithub.com\u002FBornToBeRoot\u002FNETworkManager) by BornToBeRoot.**\n\nNMLinux brings the spirit of NETworkManager to Linux desktops, reimplemented from scratch in Python and PySide6 (Qt 6). It is not a port of the original C# code, but an independent project inspired by the same idea: a single, unified GUI for the most common network tools a sysadmin or power user needs.\n\n> [!NOTE]\n> **NMLinux is not related to the Linux system daemon `\u002Fusr\u002Fbin\u002FNetworkManager` (NetworkManager by Red Hat\u002FGNOME).** The name comes from [NETworkManager](https:\u002F\u002Fgithub.com\u002FBornToBeRoot\u002FNETworkManager) by BornToBeRoot, a similar tool for Windows that served as the original inspiration.\n\n> Built with [Claude Code](https:\u002F\u002Fclaude.ai\u002Fcode) (Anthropic) and the contribution of its author.\n\n---\n\n## Screenshots\n\n> Linux screenshots from v1.2.7 — macOS screenshots from v1.3.5. The app has 27 modules and 8 interface languages (FR\u002FEN\u002FES\u002FDE\u002FIT\u002FPT\u002FJA\u002FZH).\n\n**Linux (KDE)**\n\n| Dashboard | Topology |\n|-----------|----------|\n| ![Dashboard](screenshots\u002Fmain_v1.2.7.png) | ![Topology](screenshots\u002Ftopology_v1.2.7.png) |\n\n| Traceroute | Wi-Fi |\n|------------|-------|\n| ![Traceroute](screenshots\u002Ftraceroute_v1.2.7.png) | ![Wi-Fi](screenshots\u002FWi-Fi_v1.2.7.png) |\n\n**macOS**\n\n| Dashboard | Traceroute |\n|-----------|------------|\n| ![macOS Dashboard](screenshots\u002FMacOS_Dashboard.png) | ![macOS Traceroute](screenshots\u002FMacOS_Traceroute.png) |\n\n---\n\n## Changelog\n\n### v1.3.5 — 2026-06-06\n\n- **macOS compatibility** — all 9 network modules now run on macOS without breaking Linux behaviour; each module detects the platform at startup (`_IS_MACOS`) and branches to native macOS commands: `route -n get default`, `ifconfig`, `scutil --dns`, `networksetup`, `system_profiler SPAirPortDataType`, `pfctl`, `netstat -ib`; privilege escalation uses `osascript` + `with administrator privileges` instead of `pkexec`; monospace font uses `Menlo` instead of `Monospace`\n- **Modules with dual Linux\u002FmacOS paths**: Dashboard, Interfaces, Wi-Fi, Topology, Bandwidth, Firewall (pf.conf + pfctl), Connection Manager, Hosts File, MTR\n- **Modules unchanged** (tools identical on both platforms): DNS, Nmap Scan, SNMP, Whois\n\n### v1.3.2 — 2026-06-06\n\n- **i18n extended to 8 languages** — added Italiano, Português, 日本語 (Japanese) and 中文 (Chinese Simplified); the full UI (all 27 modules, ~720 translation keys) is now available in FR \u002F EN \u002F ES \u002F DE \u002F IT \u002F PT \u002F JA \u002F ZH; a restart prompt appears after changing the language in Settings\n- **Contextual help in 8 languages** — the `?` badge panel (description, usage examples and equivalent CLI commands) now covers all 8 languages for every module; previously JA and ZH fell back to English\n- **Bug fix** — nav tooltips for SMB\u002FNFS and Hosts File were displaying in French regardless of the selected language; missing `nav_hint_smb_nfs` and `nav_hint_hosts` keys added to all 7 non-French language blocks\n\n### v1.3.1 — 2026-06-05\n\n- **SSH Key Manager** — list all key pairs in `~\u002F.ssh\u002F` (file, type, bits, comment, SHA256 fingerprint); generate Ed25519 or RSA 4096 keys with optional passphrase (mismatch detection, auto-filename by type); copy public key to clipboard; deploy to a remote server via `ssh-copy-id` in an inline terminal with stdin support for password prompts; delete key pairs with confirmation; auto-creates `~\u002F.ssh\u002F` if missing; i18n: fr \u002F en \u002F es \u002F de\n\n### v1.3.0 — 2026-06-03\n\n- **TLS \u002F SSL Inspector** — inspect any server's certificate: subject CN, SANs, issuer, validity dates (color-coded: green \u002F orange \u003C 30 days \u002F red expired), serial number, TLS protocol, cipher suite and certificate chain (via `openssl s_client`); works for valid, expired and self-signed certs; friendly error messages for unreachable hosts\n- **SMB \u002F NFS Browser** — list shares and exports from any server; SMB tab: `smbclient -L` with optional credentials, shows share name \u002F type \u002F comment; NFS tab: `showmount -e`, shows export path and access list; detects missing tools with distro-specific install instructions\n- **Hosts File Editor** — view and edit `\u002Fetc\u002Fhosts`; table with enable\u002Fdisable toggle, add\u002Fedit\u002Fdelete entries via dialog; filter by IP or hostname; saves via `pkexec cp` (polkit authentication dialog)\n- **install.sh** — new script for Debian \u002F Ubuntu \u002F Linux Mint: creates a venv in `~\u002F.local\u002Fshare\u002Fnmlinux\u002Fvenv`, installs system deps via apt, creates launcher and `.desktop` entry (fixes PEP 668 `externally-managed-environment` error)\n\n### v1.2.9 — 2026-05-30\n\n- **VNC** — new module for managing VNC connection profiles; groups\u002Fsubgroups like SSH and RDP; launches `vncviewer` (TigerVNC); compatible with macOS ARD (DH30 auth handled natively by vncviewer); password never stored; detects missing `vncviewer` with distro-specific install instructions\n- **About — Tools & services** — new section listing all third-party tools and APIs the app depends on\n- **Sidebar i18n** — all 23 nav tooltips now translated into FR\u002FEN\u002FES\u002FDE (were hardcoded French); labels corrected: Topology, Connections, Subnet\n\n### v1.2.8 — 2026-05-30\n\n- **Remote Desktop (RDP)** — new module for managing Windows RDP connection profiles; groups\u002Fsubgroups like SSH; launches `xfreerdp` as an external process; password prompted at connect time, never stored; fields: host, port, username, domain, resolution, fullscreen; detects missing `xfreerdp` with distro-specific install instructions (Arch \u002F Debian \u002F Fedora)\n\n### v1.2.7 — 2026-05-26\n\n- **Bundled Lucide icons** — 21 SVG icons from [Lucide](https:\u002F\u002Flucide.dev) (MIT) are now bundled in `assets\u002Ficons\u002F`; rendered at runtime via `QSvgRenderer`; coloured `#60a5fa`; app no longer requires any system icon theme (Breeze, Adwaita, Papirus…)\n\n### v1.2.6 — 2026-05-24\n\n- **GNOME \u002F Adwaita compatibility** — fixed icons on non-KDE desktops: `main.py` now auto-detects the GTK icon theme via `gsettings` and applies it to Qt; extended fallback chains for Wi-Fi, Traceroute, Speed Test, Interfaces, Port Scanner, Firewall, MTR; `themed_icon()` now validates that a real pixmap exists before accepting a theme icon\n- **NixOS \u002F KDE compatibility** — fixed all icons on NixOS: Breeze 6.x ships SVGZ-only icons; the Nix wrapper now adds `qt6.qtsvg` to `QT_PLUGIN_PATH` so Qt can render SVG icons; `themed_icon()` tries sizes 22\u002F24\u002F16\u002F32\u002F48 (Breeze uses 22 px, not 24); theme forced to `breeze` when the Nix-bundled icon set is detected; also checks `\u002Fetc\u002Fxdg\u002Fkdeglobals` for system-wide KDE config\n\n### v1.2.5 — 2026-05-23\n\n- **MTR** — embedded My Traceroute: runs `mtr --report`, parses text output, displays a live table with Loss %, RTT Last\u002FAvg\u002FBest\u002FWorst\u002FJitter per hop, colour-coded by loss severity; continuous mode; CSV + TXT export\n- **Speed Test** — dependency-free speed test via `curl` + Cloudflare (`speed.cloudflare.com`): download (25 MB), upload (10 MB), ping to `1.1.1.1`; up to 5 runs persisted in JSON; historical line graph (Download\u002FUpload)\n- **Firewall Viewer** — read-only ruleset viewer: parses `\u002Fetc\u002Fnftables.conf` and `\u002Fetc\u002Fiptables\u002F*.rules` without root; live ruleset via `pkexec nft list ruleset`; columns: Table \u002F Chain \u002F Rule \u002F Port \u002F Action \u002F Comment; colour-coded actions; live filter\n- **Sidebar hints** — each nav entry now shows a subtle `?` badge; hovering displays a tooltip describing what the module does; vertical separator added between sidebar and content area\n- **i18n** — all new modules translated in French, English, and Spanish\n\n### v1.2.0 — 2026-05-22\n\n- **Theme adaptation** — full runtime light\u002Fdark switching support across all pages; new `core\u002Ftheme.py` with `is_dark()`, `color_ok()`, `color_err()`; custom painter widgets (`_Graph`, `_MapWidget`) read palette at paint time; all hardcoded Catppuccin Mocha colours replaced with semantic Qt palette roles\n- **Subnet mask** — Dashboard, Interfaces, and Connexions pages now display dotted-decimal subnet mask (e.g. `255.255.255.0`) derived from CIDR prefix\n- **Bandwidth Monitor** — explicit Start\u002FStop button replaces unreliable auto-start on page load\n- **Export CSV\u002FTXT** — Nmap and Traceroute pages now offer Export CSV and Export TXT buttons (appear after scan\u002Ftrace completes)\n- **i18n** — new translation keys for all above features (fr\u002Fen\u002Fes\u002Fde)\n\n### v1.1.1 — 2026-05-16\n\n- **SSH terminal** — complete rewrite with [pyte](https:\u002F\u002Fgithub.com\u002Fselectel\u002Fpyte) (VT100\u002Fxterm emulator) + QPainter renderer; 2000-line scrollback, cursor blink, 256-colour support\n- **Visual Traceroute** — world map (Natural Earth 110m), live geolocation per hop (ip-api.com), interactive zoom\u002Fpan, dual parser (`traceroute` \u002F `tracepath` fallback)\n- **Bandwidth Monitor** — real-time per-interface throughput, 60s sliding graph, live speeds, session totals and peaks\n- **Wake on LAN** — pure Python magic packet (UDP broadcast), persistent host book (JSON)\n- **IP Scanner** — hostname resolution via `getent`\u002F`avahi`\u002F`nmblookup`; MAC address, vendor (IEEE OUI 39K entries), interface columns; CSV\u002FTXT export updated\n- **i18n** — full fr\u002Fen\u002Fes\u002Fde translation for all new pages\n\n### v1.0.0 — 2026-05-14\n\nInitial public release — 13 modules: Dashboard, Interfaces, Wi-Fi, Subnet Calculator, DNS Lookup, Ping Monitor, IP Scanner, Port Scanner, Nmap, Whois, SNMP, SNTP\u002FNTP, SSH.\n\n---\n\n## Features\n\n| Module | Description |\n|--------|-------------|\n| **Dashboard** | Local machine info, gateway, public IP, geolocation, DNS resolvers |\n| **Connection Manager** | NetworkManager profiles via `nmcli`: list, filter, connect\u002Fdisconnect\u002Fedit\u002Fdelete |\n| **Interfaces** | Network interfaces table with per-interface detail (`ip` + `nmcli`) |\n| **Wi-Fi** | Available networks, signal bars, security, connected network highlighted |\n| **Subnet Calculator** | Network\u002Fbroadcast\u002Fhost range from CIDR, host table up to 4096 entries |\n| **DNS Lookup** | `dig`-based lookup for A, AAAA, MX, TXT, NS, CNAME, PTR, SOA, ANY |\n| **Ping Monitor** | Continuous ping to multiple hosts, RTT stats, packet loss % |\n| **IP Scanner** | CIDR\u002Frange ping scan, 50 threads, hostname (DNS\u002FmDNS\u002FNetBIOS), MAC address, vendor (OUI), interface, CSV + TXT export |\n| **Port Scanner** | TCP connect scan, 200 threads, service presets, CSV + TXT export |\n| **Nmap** | 7 scan modes, XML output parsing, Host\u002FPort\u002FProtocol\u002FState\u002FService table, CSV + TXT export |\n| **Whois** | Raw whois output in monospace |\n| **SNMP** | `snmpwalk`\u002F`snmpget`, v1\u002Fv2c, 10 OID presets, results table |\n| **SNTP \u002F NTP** | Pure Python RFC 4330 UDP client, offset\u002Fdelay\u002Fstratum\u002Freference |\n| **SSH** | Embedded PTY terminal (pyte\u002FVT100), saved connections (JSON), key auth, scrollback |\n| **Remote Desktop** | RDP connection profiles (groups\u002Fsubgroups); launches `xfreerdp`; password never stored |\n| **VNC** | VNC connection profiles (groups\u002Fsubgroups); launches `vncviewer` (TigerVNC); macOS ARD compatible; password never stored |\n| **TLS Inspector** | Certificate details: CN, SANs, issuer, validity + expiry countdown, serial, protocol, cipher, chain |\n| **SMB \u002F NFS** | List SMB shares (`smbclient`) and NFS exports (`showmount`) from any server or NAS; optional credentials for SMB |\n| **Hosts File** | View\u002Fedit `\u002Fetc\u002Fhosts`: add, delete, toggle entries; filter; save via pkexec |\n| **Visual Traceroute** | Hop-by-hop route on a world map, live geolocation (ip-api.com), zoom & pan, CSV + TXT export |\n| **MTR** | Embedded My Traceroute: loss %, RTT Last\u002FAvg\u002FBest\u002FWorst\u002FJitter per hop, colour-coded, CSV + TXT export |\n| **Firewall Viewer** | Read-only nftables + iptables\u002Fip6tables ruleset (no root); live via pkexec; filter by table\u002Fchain\u002Faction |\n| **Speed Test** | Download\u002Fupload\u002Fping via Cloudflare; no external tool beyond `curl`; history graph (last 5 runs) |\n| **Bandwidth** | Real-time per-interface throughput: 60s sliding graph, live speeds, session totals, peak |\n| **Wake on LAN** | Pure Python magic packet (UDP broadcast), persistent host book, no external tool required |\n| **Topology Map** | Auto-discovers LAN devices via `nmap -sn`; interactive graph with draggable nodes, zoom\u002Fpan, detail panel |\n| **Settings** | Language selection (FR \u002F EN \u002F ES \u002F DE \u002F IT \u002F PT \u002F JA \u002F ZH), persisted; restart required after change |\n\n---\n\n## Requirements\n\n### System tools\n\n**Linux** — most are already present on a standard install:\n\n```bash\n# Arch \u002F EndeavourOS\nsudo pacman -S iproute2 networkmanager bind-tools nmap whois net-snmp iputils mtr curl\n\n# Debian \u002F Ubuntu\nsudo apt install iproute2 network-manager dnsutils nmap whois snmp mtr-tiny curl\n\n# Fedora\nsudo dnf install iproute NetworkManager bind-utils nmap whois net-snmp-utils mtr curl\n```\n\n**macOS** — install via [Homebrew](https:\u002F\u002Fbrew.sh):\n\n```bash\nbrew install nmap whois net-snmp mtr curl\n```\n\n> macOS ships `ping`, `dig`, `traceroute`, `netstat`, `ifconfig` and `route` natively. `networksetup` and `scutil` are built-in macOS tools, no install needed.\n\n### Optional tools\n\n| Tool | Feature | Linux | macOS |\n|------|---------|-------|-------|\n| `xfreerdp` \u002F `xfreerdp3` | Remote Desktop (RDP) | Arch: `freerdp` · Debian: `freerdp2-x11` | `brew install freerdp` |\n| `vncviewer` | VNC | Arch: `tigervnc` · Debian: `tigervnc-viewer` | `brew install tiger-vnc` |\n| `nm-connection-editor` | Edit connections from Connection Manager | Arch: `nm-connection-editor` | — (System Preferences opens instead) |\n| `traceroute` | Traceroute alternative (tracepath used by default) | Arch: `traceroute` | built-in |\n\n### Python\n\n- Python 3.11+\n- PySide6 6.6+\n- ptyprocess 0.7+\n- pyte 0.8+ (`pip install pyte` or `sudo pacman -S python-pyte`)\n\n---\n\n## Installation\n\n### Option 1 — Arch Linux \u002F Manjaro \u002F EndeavourOS (AUR)\n\n```bash\nyay -S nmlinux\n```\n\nAll dependencies (PySide6, ptyprocess, pyte, nmcli, …) are handled automatically.\n\n### Option 2 — macOS\n\n```bash\n# 1. Install system tools (if not already present)\nbrew install nmap whois net-snmp mtr curl\n\n# 2. Install NMLinux and its Python dependencies\npip install PySide6 ptyprocess pyte\npip install nmlinux-1.3.5-py3-none-any.whl   # download from Releases, or use the line below\n\n# Alternative: run directly from source (no install)\ngit clone https:\u002F\u002Fgithub.com\u002Fthongor77\u002Fnmlinux.git\ncd nmlinux\npip install PySide6 ptyprocess pyte\npython3 -m nmlinux.main\n\n# Update an existing clone\ngit pull && python3 -m nmlinux.main\n```\n\nDownload the `.whl` from the [latest release](https:\u002F\u002Fgithub.com\u002Fthongor77\u002Fnmlinux\u002Freleases\u002Flatest).\n\n> **Note:** NMLinux uses native macOS commands (`networksetup`, `scutil`, `ifconfig`, `pfctl`, `system_profiler`…) on 9 modules. Some features requiring `nmcli` (Linux NetworkManager) are not available on macOS.\n\n### Option 3 — Debian \u002F Ubuntu \u002F Linux Mint (install script)\n\n> **Note for Linux Mint \u002F Ubuntu users:** `pip install` is blocked system-wide on Python 3.12+ (PEP 668 — `externally-managed-environment`). Use the provided install script — it creates a virtual environment automatically and installs a `.desktop` entry.\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fthongor77\u002Fnmlinux.git\ncd nmlinux\nbash install.sh\n```\n\nThe script will:\n- Install system dependencies via `apt` (libgl1, python3-venv, freerdp, tigervnc…)\n- Create a virtual environment in `~\u002F.local\u002Fshare\u002Fnmlinux\u002Fvenv`\n- Install NMLinux and its Python dependencies inside the venv\n- Create a launcher at `~\u002F.local\u002Fbin\u002Fnmlinux`\n- Add a `.desktop` entry so NMLinux appears in your application menu\n\nAfter install, run `nmlinux` from a terminal or launch it from the application menu.\n\n### Option 4 — Wheel (all distros \u002F macOS)\n\nDownload the `.whl` from the [latest release](https:\u002F\u002Fgithub.com\u002Fthongor77\u002Fnmlinux\u002Freleases\u002Flatest) and install it:\n\n```bash\n# Arch \u002F Fedora \u002F macOS — no pip restrictions\npip install nmlinux-1.3.5-py3-none-any.whl\n\n# Debian \u002F Ubuntu \u002F Mint — use pipx or a venv instead\npipx install nmlinux-1.3.5-py3-none-any.whl\n```\n\n### Option 5 — From source (Arch \u002F Fedora \u002F macOS)\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fthongor77\u002Fnmlinux.git\ncd nmlinux\npip install PySide6 ptyprocess pyte\npython3 -m nmlinux.main\n```\n\n### Option 6 — Desktop entry (KDE \u002F GNOME \u002F etc.)\n\nCopy the `.desktop` file to make NMLinux appear in your application launcher:\n\n```bash\ncp data\u002Fnmlinux.desktop ~\u002F.local\u002Fshare\u002Fapplications\u002F\nupdate-desktop-database ~\u002F.local\u002Fshare\u002Fapplications\u002F\n```\n\nThen edit the `Exec=` path in the file if needed.\n\n---\n\n## Running\n\n```bash\n.\u002Fnmlinux.sh\n# or, after pip install:\nnmlinux\n# or directly:\npython3 -m nmlinux.main\n```\n\n---\n\n## Project structure\n\n```\nnmlinux\u002F\n  core\u002F\n    i18n.py         — Translation system (8 languages: fr\u002Fen\u002Fes\u002Fde\u002Fit\u002Fpt\u002Fja\u002Fzh), tr(key) function\n    icons.py        — themed_icon(): 21 bundled Lucide SVG icons via QSvgRenderer\n    settings.py     — AppSettings dataclass, JSON persistence\n    ssh.py          — SshConnection dataclass, SshStore\n    rdp.py          — RdpConnection dataclass, RdpStore, find_xfreerdp()\n    vnc.py          — VncConnection dataclass, VncStore, find_vncviewer()\n    terminal.py     — SshWorker (QThread) + PTY via ptyprocess, emits raw bytes\n    cli_bar.py      — CliBar singleton: pedagogical CLI equivalent bar\n  pages\u002F\n    about.py        — About page (credits, tools & services)\n    bandwidth.py    — Bandwidth Monitor: per-interface 60s graph, live stats\n    connection_manager.py — Connection Manager: nmcli profiles, connect\u002Fdisconnect\u002Fedit\n    dashboard.py    — Dashboard\n    dns.py          — DNS Lookup\n    firewall.py     — Firewall Viewer: nftables + iptables parser, live via pkexec\n    interfaces.py   — Network Interfaces\n    ip_scanner.py   — IP Scanner\n    mtr.py          — MTR: mtr --report parser, live hop stats table, export\n    nmap_scan.py    — Nmap\n    ping.py         — Ping Monitor\n    port_scanner.py — Port Scanner\n    rdp.py          — Remote Desktop: RDP profiles, launches xfreerdp\n    settings.py     — Settings page\n    snmp.py         — SNMP\n    sntp.py         — SNTP \u002F NTP\n    speedtest.py    — Speed Test: curl + Cloudflare, history graph\n    ssh.py          — SSH page (connection manager + terminal)\n    subnet.py       — Subnet Calculator\n    terminal_view.py — TerminalView: pyte VT100 emulator + QPainter renderer\n    topology.py     — Topology Map: nmap -sn, interactive graph, zoom\u002Fpan\n    traceroute.py   — Visual Traceroute: world map, geolocation, zoom\u002Fpan\n    vnc.py          — VNC: connection profiles, launches vncviewer\n    whois.py        — Whois\n    wifi.py         — Wi-Fi\n    wol.py          — Wake on LAN: magic packet, persistent host book\n  assets\u002F\n    icons\u002F          — 21 bundled Lucide SVG icons (#60a5fa)\n    world.geojson   — Natural Earth 110m countries (map background)\n  window.py         — MainWindow (sidebar + QStackedWidget)\n  main.py           — Entry point\n```\n\n---\n\n## Desktop environment compatibility\n\nSince v1.2.7, NMLinux uses 21 bundled [Lucide](https:\u002F\u002Flucide.dev) SVG icons rendered at runtime via `QSvgRenderer`. The app no longer depends on any system icon theme (Breeze, Adwaita, Papirus…) and displays correctly on KDE, GNOME, XFCE, and others. The Qt style adapts to the running desktop automatically.\n\n---\n\n## Limitations\n\n- **Linux** — full support: all 27 modules available\n- **macOS** — partial support (since v1.3.5): 9 modules use native macOS commands; modules that depend on `nmcli` or Linux-specific tools (Connection Manager full edit\u002Fdelete, Bandwidth full stats, etc.) have reduced functionality\n- No root\u002Fpolkit integration — tools requiring elevated privileges (some Nmap modes, raw sockets) must be run manually with `sudo`; on macOS, privilege escalation uses `osascript` + `administrator privileges`\n- SSH supports password and key-based auth; agent forwarding not yet implemented\n\n---\n\n## Credits and acknowledgements\n\n- **[BornToBeRoot](https:\u002F\u002Fgithub.com\u002FBornToBeRoot)** — for [NETworkManager](https:\u002F\u002Fgithub.com\u002FBornToBeRoot\u002FNETworkManager), the original inspiration and reference for features and UX\n- **[Anthropic](https:\u002F\u002Fwww.anthropic.com)** — Claude Code, the AI assistant used to build this project\n- The author, for the vision, testing, and direction\n\n---\n\n## License\n\nGPL-2.0 — see [LICENSE](LICENSE).\n\nThis project is an independent reimplementation. No code from NETworkManager was used or translated.\n",2,"2026-06-11 04:11:03","CREATED_QUERY"]