Skip to content

Releases: perplext/nsd

NSD v0.8.0 - Universal Platform Support

21 Jun 02:30
f36652c

Choose a tag to compare

🌍 NSD v0.8.0 - Universal Platform Support

This release brings comprehensive multi-platform support to NSD, expanding from 5 to 26 different platform/architecture combinations!

🎉 New Platform Support

Linux Architectures

  • 32-bit x86 (386) - For older systems
  • ARM Family - Complete Raspberry Pi support:
    • ARMv6 (Pi Zero/1)
    • ARMv7 (Pi 2/3)
    • ARM64 (Pi 4, ARM servers)
  • MIPS/MIPSLE - Router and embedded devices (OpenWrt)
  • PowerPC (ppc64le) - IBM POWER systems
  • s390x - IBM Z mainframes

BSD Systems

  • FreeBSD (amd64, arm64, 386)
  • OpenBSD (amd64, arm64, 386)
  • NetBSD (amd64, arm64, 386)
  • DragonFlyBSD (amd64)

Windows

  • 32-bit (386)
  • ARM64 - Windows on ARM devices

🛠️ New Tools

Platform Detection

  • Shell Script: curl -sSL https://raw.githubusercontent.com/perplext/nsd/main/scripts/detect-platform.sh | bash
  • Web Tool: Visit the Platform Detector in your browser
  • Both tools automatically detect your platform and recommend the correct build

Documentation

📦 Available Builds

This release includes pre-built binaries for:

  • Linux: amd64, 386, arm64, armv7, armv6, mips, mipsle, ppc64le, s390x
  • macOS: Intel (amd64), Apple Silicon (arm64), Universal
  • Windows: amd64, 386, arm64
  • BSD: FreeBSD, OpenBSD, NetBSD, DragonFlyBSD (multiple architectures)

⚠️ Important Notes

  • Native builds (Linux amd64/386, macOS, Windows amd64/386) have full packet capture functionality
  • Cross-compiled builds require building from source on the target platform for full pcap support
  • See the platform guide for details on each platform's capabilities

🐛 Bug Fixes

  • Fixed integer overflow issues on 32-bit platforms
  • Improved Windows ARM64 support
  • Enhanced cross-platform compatibility

📥 Installation

Quick Install (Linux/macOS)

# Detect your platform and get the download link
curl -sSL https://raw.githubusercontent.com/perplext/nsd/main/scripts/detect-platform.sh | bash

Raspberry Pi Users

  • Pi 4 (64-bit OS): Use nsd-linux-arm64
  • Pi 2/3: Use nsd-linux-armv7
  • Pi Zero/1: Use nsd-linux-armv6

BSD Users

Pre-built binaries are available but have limited functionality. For full features, build from source:

# FreeBSD
pkg install libpcap go
git clone https://github.com/perplext/nsd.git
cd nsd && go build -o nsd ./cmd/nsd

📊 Platform Support Matrix

See the full platform support matrix for details on each platform's capabilities.

🙏 Acknowledgments

Thanks to the Go team for excellent cross-compilation support, and to all the platform maintainers who keep their systems compatible with modern tooling.

Full Changelog

Full Changelog: v0.7.1...v0.8.0

NSD v0.7.1 - Windows Support

21 Jun 02:13
b762fe1

Choose a tag to compare

What's New in v0.7.1

🎉 Windows Support

NSD is now fully cross-platform with comprehensive Windows support! Windows users can now monitor network traffic using Npcap.

New Features

  • Full Windows Compatibility: Native Windows builds with Npcap support for packet capture
  • Windows Installer: PowerShell installation script with automatic PATH configuration and desktop shortcut creation
  • Cross-Platform Interface Listing: New --list-interfaces flag shows user-friendly interface names on all platforms
  • Platform-Specific Error Handling: Clear, helpful error messages for missing dependencies (especially Npcap on Windows)

Technical Improvements

  • Cross-platform privilege checking (Administrator on Windows, root on Unix/Linux)
  • Platform-specific build configurations using Go build tags
  • Windows-specific network capture implementation with better error handling
  • Updated CI/CD workflows to build and test on Windows

Documentation

  • Comprehensive Windows installation guide (docs/WINDOWS.md)
  • Updated README to reflect Windows support
  • Installation instructions for all supported platforms

Installation

Windows

  1. Install Npcap (required for packet capture)
  2. Download nsd-v0.7.1-windows-amd64.zip from the assets below
  3. Extract and run install.ps1 as Administrator

macOS

# Intel Macs
curl -L https://github.com/perplext/nsd/releases/download/v0.7.1/nsd-v0.7.1-darwin-amd64.tar.gz | tar xz

# Apple Silicon (M1/M2)
curl -L https://github.com/perplext/nsd/releases/download/v0.7.1/nsd-v0.7.1-darwin-arm64.tar.gz | tar xz

# Universal Binary
curl -L https://github.com/perplext/nsd/releases/download/v0.7.1/nsd-v0.7.1-darwin-universal.tar.gz | tar xz

Linux

# AMD64
curl -L https://github.com/perplext/nsd/releases/download/v0.7.1/nsd-v0.7.1-linux-amd64.tar.gz | tar xz

# Debian/Ubuntu
wget https://github.com/perplext/nsd/releases/download/v0.7.1/nsd_0.7.1_amd64.deb
sudo dpkg -i nsd_0.7.1_amd64.deb

Checksums

See SHA256SUMS in the release assets for all package checksums.

Full Changelog

Full Changelog: v0.7...v0.7.1

v0.7 - CI/CD Fixes and Security Improvements

21 Jun 00:58
8529818

Choose a tag to compare

Summary

This release focuses on fixing CI/CD pipeline issues and implementing important security improvements.

Key Changes

  • Fixed all CI/CD test failures - All tests now pass on Linux and macOS
  • 🔒 Security improvements - Fixed path traversal vulnerabilities and file permissions
  • 🏗️ Build system improvements - Resolved compilation errors and missing imports
  • 🧪 Test stability - Fixed race conditions and assertion failures
  • 📦 Package management - Updated Go modules and dependencies

Security Fixes

  • Added path validation for file operations to prevent directory traversal attacks
  • Secured file permissions (now using 0600/0700 instead of 0644/0755)
  • Added HTTP server timeout configurations
  • Implemented integer overflow protection with bounds checking

CI/CD Improvements

  • Fixed Windows test compatibility issues
  • Resolved golangci-lint configuration problems
  • Fixed tcell interface compatibility
  • Eliminated race conditions in test suite
  • Updated security test assertions to match actual behavior

Technical Details

  • Fixed missing path/filepath import in security package
  • Resolved test assertion failures in TLS, UI, and graph packages
  • Fixed duplicate method definitions and interface compatibility issues
  • Updated error handling patterns throughout codebase

This release establishes a stable foundation for future development with a robust CI/CD pipeline and enhanced security posture.

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com