← Back to GyulyVGC/sniffnet

How to Deploy & Use GyulyVGC/sniffnet

Sniffnet Deployment & Usage Guide

Prerequisites

Runtime Requirements

  • Operating System: Windows 10+, macOS 10.14+, or Linux (kernel 3.2+)
  • Network Access: Root/administrative privileges (required for raw packet capture via libpcap/Npcap)
  • Graphics: GPU supporting OpenGL 3.3+ or Vulkan (for the iced GUI framework)
  • MMDB Databases: MaxMind GeoLite2 Country and ASN databases (optional, for geolocation features)

Build Requirements (From Source)

  • Rust Toolchain: Version 1.74 or later (stable channel)
  • System Libraries:
    • libpcap (packet capture)
    • openssl (TLS/SSL support)
    • pkg-config (library detection)
  • Platform-Specific Tooling:
    • Linux: libpcap-dev, libssl-dev, build-essential, libfontconfig-dev
    • macOS: Xcode Command Line Tools (xcode-select --install)
    • Windows: Visual Studio Build Tools 2019+ and Npcap SDK

Installation

Option 1: Pre-built Binaries (Recommended)

Download the latest release from GitHub Releases:

Platformx64/AMD64ARM64x86
WindowsSniffnet_Windows_x64.msiSniffnet_Windows_arm64.msiSniffnet_Windows_x86.msi
macOSSniffnet_macOS_Intel.dmgSniffnet_macOS_AppleSilicon.dmg—
LinuxSniffnet_LinuxAppImage_amd64.AppImageSniffnet_LinuxAppImage_arm64.AppImage—

Linux AppImage Setup:

chmod +x Sniffnet_LinuxAppImage_*.AppImage
./Sniffnet_LinuxAppImage_*.AppImage

Option 2: Build from Source

# Clone repository
git clone https://github.com/GyulyVGC/sniffnet.git
cd sniffnet

# Install dependencies (Ubuntu/Debian example)
sudo apt-get update
sudo apt-get install -y libpcap-dev libssl-dev pkg-config build-essential

# Build optimized release
cargo build --release --locked

# Binary location: ./target/release/sniffnet

Option 3: Cargo Install

# Install specific version tag
cargo install --git https://github.com/GyulyVGC/sniffnet.git --tag v1.3.0

Configuration

MaxMind Database Setup (Optional)

For country flags and ASN identification, download GeoLite2 databases:

  1. Register at MaxMind (free)
  2. Download GeoLite2-Country.mmdb and GeoLite2-ASN.mmdb
  3. Place in one of these locations:
    • Same directory as the Sniffnet executable
    • $HOME/.config/sniffnet/ (Linux/macOS)
    • %APPDATA%\sniffnet\ (Windows)

Environment Variables:

  • SNIFFNET_MMDDB_PATH: Custom path to MMDB directory
  • ICED_BACKEND: Force graphics backend (wgpu, tiny-skia, glow) if display issues occur

Persistent Settings

Application preferences are stored in platform-standard config directories:

  • Linux: $XDG_CONFIG_HOME/sniffnet/ (falls back to ~/.config/sniffnet/)
  • macOS: ~/Library/Application Support/sniffnet/
  • Windows: %APPDATA%\sniffnet\

Build & Run

Development Mode

# Run with cargo (requires sudo for packet capture)
sudo cargo run

# Or build debug binary
cargo build
sudo ./target/debug/sniffnet

Production Build