| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| NMLinux-1.5.3-x86_64.AppImage | 2026-06-24 | 96.9 MB | |
| README.md | 2026-06-24 | 2.4 kB | |
| v1.5.3 -- macOS fixes (Homebrew PATH, sshpass, install script) source code.tar.gz | 2026-06-24 | 4.0 MB | |
| v1.5.3 -- macOS fixes (Homebrew PATH, sshpass, install script) source code.zip | 2026-06-24 | 4.1 MB | |
| Totals: 4 Items | 105.0 MB | 0 | |
macOS fixes
Tool detection in .app bundles
sshpass, nmap and snmpget installed via Homebrew were silently ignored when running NMLinux as a .app bundle. macOS app bundles do not inherit the Homebrew PATH (/opt/homebrew/bin on Apple Silicon, /usr/local/bin on Intel). The fix: probe those directories explicitly at startup and use the absolute path when calling these tools as subprocesses.
Install via Homebrew if not already done:
:::bash
brew install hudochenkov/sshpass/sshpass # or: brew install esolitos/ipa/sshpass
brew install nmap
brew install net-snmp # provides snmpget
Update procedure on macOS (no pip / pipx required)
:::bash
cd ~/path/to/nmlinux
git pull
bash packaging/install_macos_app.sh
The script manages its own isolated venv at ~/.local/share/nmlinux/venv — no system-level pip or pipx needed.
What was fixed in v1.5.2 (included here)
Asset Inventory (new 29th module)
- Scans a CIDR range and collects OS, CPU, RAM, disk, uptime via SSH / WinRM / SNMP / Nmap
- Multiple credential sets per protocol — scanner tries each in order per host
- Zero-retention: credentials never written to disk, cleared from memory after scan
- Export: JSON / CSV / Markdown
- Dashboard: animated world map in the IP Geolocation section
SSH collection fixes (Linux, macOS, NAS)
| Issue | Fix |
|---|---|
| Disk empty on Linux | awk quoting error → now parses df output in Python |
| RAM empty on Synology | free -h unsupported on BusyBox → use plain free, parse KB in Python |
| Synology shows system partition | Try /volume1 before / |
| Unraid shows USB boot stick | Try /mnt/user, /mnt/disk1 before / |
| macOS: OS field empty | cat /etc/os-release \| tr exits 0 on empty input, blocking sw_vers → dedicated macOS branch using sw_vers \| awk |
| macOS: CPU empty on Apple Silicon | machdep.cpu.brand_string absent → fallback to sysctl hw.model |
| macOS: Disk shows system partition | APFS: / is a snapshot → use /System/Volumes/Data |
df \| tail -1 \|\| … false-success |
tail exits 0 on empty input → replaced with test -d <path> && df … |
lsb_release output has quotes |
Some distros wrap output in "…" → strip with tr -d '"' |
| Multiple passwords per network | SSH and WinRM now support multiple credential sets in the UI |