Skip to content

Alternative installation methods

Giuliano Bellini edited this page May 3, 2025 · 3 revisions

The recommended way to install Sniffnet is via the official download page, which provides packages featuring the latest version directly from GitHub releases.

However, depending on your operating system and configuration, you can also take advantage of one of the following methods to install the application.

Docker (only for Linux)

Sniffnet can be run in a Docker container.
This is especially useful for quickly testing the application without installing all dependencies directly on your system.

Pull the image from GitHub Container Registry:

# Pull the latest version
docker pull ghcr.io/gyulyvgc/sniffnet:latest

To run Sniffnet in a Docker container, you need to grant the appropriate network permissions and configure display access.

For Wayland:

docker run -it \
  --net=host \
  -v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:/tmp/$WAYLAND_DISPLAY \
  -e WAYLAND_DISPLAY=$WAYLAND_DISPLAY \
  -e XDG_RUNTIME_DIR=/tmp \
  -e RUST_BACKTRACE=full \
  -e ICED_BACKEND=tiny-skia \
  --cap-add=NET_ADMIN \
  --cap-add=NET_RAW \
  ghcr.io/gyulyvgc/sniffnet:latest

For X11:

docker run -it \
  --net=host \
  -e DISPLAY=$DISPLAY \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e RUST_BACKTRACE=full \
  -e ICED_BACKEND=tiny-skia \
  --cap-add=NET_ADMIN \
  --cap-add=NET_RAW \
  ghcr.io/gyulyvgc/sniffnet:latest

Troubleshooting Docker setup

If you encounter issues:

  1. Make sure you have the necessary permissions to run Docker commands (or use sudo)
  2. For GUI issues, ensure your host display server allows connections from Docker
  3. If you're using SELinux, you might need to adjust policies or temporarily set it to permissive mode

For X11, you may need to allow Docker to connect to your X server:

xhost +local:docker

Remember to revert this change when done:

xhost -local:docker

For ARM64/aarch64 systems (like Apple Silicon Macs or Raspberry Pi)

When running on ARM64 architecture, you may encounter X11 library errors such as:

  • OsError XNotSupported libraryopenerror libX11-xcb.so.1 cannot open shared object file no such file or directory
  • libxkbcommon-x11.so could not be loaded

To resolve these issues, mount the host system's ARM64 libraries into the container:

sudo docker run -d \
  --net=host \
  --cap-add=NET_ADMIN \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -v $HOME/.Xauthority:/root/.Xauthority \
  -v /lib/aarch64-linux-gnu:/lib/aarch64-linux-gnu \
  -e DISPLAY=$DISPLAY \
  --name sniffnet \
  ghcr.io/gyulyvgc/sniffnet:latest
Crates.io

Follow this method only if you have Rust installed on your machine.
In this case, the application binary can be built and installed with:

cargo install sniffnet --locked
Homebrew

You can install Sniffnet Homebrew package with:

brew install sniffnet
Nixpkgs

You can install Sniffnet Nix package adding the following Nix code to your NixOS Configuration, usually located in /etc/nixos/configuration.nix:

environment.systemPackages = [
  pkgs.sniffnet
];

Alternatively, you can install it in your home using Home Manager with:

home.packages = [
  pkgs.sniffnet
];

Alternatively, you can try it in a shell with:

nix-shell -p sniffnet
Arch Linux

You can install Sniffnet community package via pacman:

pacman -S sniffnet
FreeBSD

You can install Sniffnet port with:

pkg install sniffnet
NetBSD

You can install Sniffnet from the official repositories via pkgin:

pkgin install sniffnet
Tiny Core Linux

You can install Sniffnet from the official repository with:

tce-load -wi sniffnet
Clone this wiki locally