fix merge conflicts

This commit is contained in:
GyulyVGC 2025-05-03 10:40:20 +02:00
commit e3f8aadc71
10 changed files with 128 additions and 120 deletions

View file

@ -630,6 +630,15 @@
"design",
"a11y"
]
},
{
"login": "domcyrus",
"name": "Marco Cadetg",
"avatar_url": "https://avatars.githubusercontent.com/u/884083?v=4",
"profile": "https://github.com/domcyrus",
"contributions": [
"platform"
]
}
],
"contributorsPerLine": 7,

16
.dockerignore Normal file
View file

@ -0,0 +1,16 @@
# Ignore everything
*
# Explicitly allow files
!src/**/*.rs
!build.rs
!Cargo.toml
!Cargo.lock
!Dockerfile
!services.txt
!resources/countries_flags/**/*.svg
!resources/DB/*.mmdb
!resources/fonts/subset/*.ttf
!resources/logos/raw/icon.png
!resources/packaging/windows/graphics/sniffnet.ico
!resources/sounds/*.mp3

42
.github/workflows/docker.yml vendored Normal file
View file

@ -0,0 +1,42 @@
name: Docker
on:
workflow_dispatch:
jobs:
docker:
name: Docker Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Extract version from Cargo.toml
id: cargo-version
run: |
VERSION=v$(grep -m1 "^version" Cargo.toml | cut -d'"' -f2)
echo "VERSION=$VERSION" >> $GITHUB_ENV
echo "version=$VERSION" >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: GyulyVGC
password: ${{ secrets.GHCR_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/gyulyvgc/sniffnet:latest
ghcr.io/gyulyvgc/sniffnet:${{ env.VERSION }}

3
.gitignore vendored
View file

@ -55,6 +55,5 @@ $RECYCLE.BIN/
*.lnk
### Custom... ###
Dockerfile
lcov.info
*.pcap
*.pcap

View file

@ -9,6 +9,7 @@ All Sniffnet releases with the relative changes are documented in this file.
- Show data agglomerates in _Inspect_ page table ([#684](https://github.com/GyulyVGC/sniffnet/pull/684) — fixes [#601](https://github.com/GyulyVGC/sniffnet/issues/601))
- Added Traditional Chinese (Taiwan) translation 🇹🇼 ([#774](https://github.com/GyulyVGC/sniffnet/pull/774))
- Added Indonesian translation 🇮🇩 ([#611](https://github.com/GyulyVGC/sniffnet/pull/611))
- A Docker image of Sniffnet is now available ([#735](https://github.com/GyulyVGC/sniffnet/pull/735))
- Updated some of the existing translations to v1.3:
- Portuguese ([#690](https://github.com/GyulyVGC/sniffnet/pull/690))
- Ukrainian ([#692](https://github.com/GyulyVGC/sniffnet/pull/692))

View file

@ -51,42 +51,43 @@ A big shout-out to all the contributors of Sniffnet ([emoji key](https://allcont
<td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/marcgavilangil/"><img src="https://avatars.githubusercontent.com/u/45849876?v=4?s=100" width="100px;" alt="Marc Gavilán"/><br /><sub><b>Marc Gavilán</b></sub></a><br /><a href="#translation-marc-gav" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/domcyrus"><img src="https://avatars.githubusercontent.com/u/884083?v=4?s=100" width="100px;" alt="Marco Cadetg"/><br /><sub><b>Marco Cadetg</b></sub></a><br /><a href="#platform-domcyrus" title="Packaging/porting to new platform">📦</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mb720"><img src="https://avatars.githubusercontent.com/u/4164548?v=4?s=100" width="100px;" alt="Matthias Braun"/><br /><sub><b>Matthias Braun</b></sub></a><br /><a href="https://github.com/GyulyVGC/sniffnet/commits?author=mb720" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mhansma96"><img src="https://avatars.githubusercontent.com/u/84068842?v=4?s=100" width="100px;" alt="Michel Hansma"/><br /><sub><b>Michel Hansma</b></sub></a><br /><a href="#design-mhansma96" title="Design">🎨</a> <a href="#a11y-mhansma96" title="Accessibility">️️️️♿️</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://pcwizz.net"><img src="https://avatars.githubusercontent.com/u/1645637?v=4?s=100" width="100px;" alt="Morgan Hill"/><br /><sub><b>Morgan Hill</b></sub></a><br /><a href="#security-pcwizz" title="Security">🛡️</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Mkadir"><img src="https://avatars.githubusercontent.com/u/69618539?v=4?s=100" width="100px;" alt="Muhammadali Hakimov"/><br /><sub><b>Muhammadali Hakimov</b></sub></a><br /><a href="#translation-Mkadir" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://blog.brightone.cloud"><img src="https://avatars.githubusercontent.com/u/12615679?v=4?s=100" width="100px;" alt="Oleksii Filonenko"/><br /><sub><b>Oleksii Filonenko</b></sub></a><br /><a href="#translation-Br1ght0ne" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://orhun.dev"><img src="https://avatars.githubusercontent.com/u/24392180?v=4?s=100" width="100px;" alt="Orhun Parmaksız"/><br /><sub><b>Orhun Parmaksız</b></sub></a><br /><a href="https://github.com/GyulyVGC/sniffnet/commits?author=orhun" title="Documentation">📖</a> <a href="#platform-orhun" title="Packaging/porting to new platform">📦</a> <a href="#financial-orhun" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.peterdavehello.org/"><img src="https://avatars.githubusercontent.com/u/3691490?v=4?s=100" width="100px;" alt="Peter Dave Hello"/><br /><sub><b>Peter Dave Hello</b></sub></a><br /><a href="#translation-PeterDaveHello" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://www.peterdavehello.org/"><img src="https://avatars.githubusercontent.com/u/3691490?v=4?s=100" width="100px;" alt="Peter Dave Hello"/><br /><sub><b>Peter Dave Hello</b></sub></a><br /><a href="#translation-PeterDaveHello" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://hachyderm.io/@phil8o"><img src="https://avatars.githubusercontent.com/u/8797027?v=4?s=100" width="100px;" alt="Phil Clifford"/><br /><sub><b>Phil Clifford</b></sub></a><br /><a href="#platform-philclifford" title="Packaging/porting to new platform">📦</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Quetzal-coalt"><img src="https://avatars.githubusercontent.com/u/62941885?v=4?s=100" width="100px;" alt="Quetzal-coalt"/><br /><sub><b>Quetzal-coalt</b></sub></a><br /><a href="#translation-Quetzal-coalt" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/msaf94"><img src="https://avatars.githubusercontent.com/u/27451267?v=4?s=100" width="100px;" alt="Safaraliev Maxim"/><br /><sub><b>Safaraliev Maxim</b></sub></a><br /><a href="#translation-msaf94" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://shawnyeager.com"><img src="https://avatars.githubusercontent.com/u/980297?v=4?s=100" width="100px;" alt="Shawn Yeager"/><br /><sub><b>Shawn Yeager</b></sub></a><br /><a href="#financial-shawnyeager" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/4r7if3x"><img src="https://avatars.githubusercontent.com/u/8606282?v=4?s=100" width="100px;" alt="The Artifex"/><br /><sub><b>The Artifex</b></sub></a><br /><a href="#translation-4r7if3x" title="Translation">🌍</a> <a href="#platform-4r7if3x" title="Packaging/porting to new platform">📦</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/HUNG-rushb"><img src="https://avatars.githubusercontent.com/u/57101685?v=4?s=100" width="100px;" alt="Trịnh Duy Hưng"/><br /><sub><b>Trịnh Duy Hưng</b></sub></a><br /><a href="#translation-HUNG-rushb" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/TyseEX"><img src="https://avatars.githubusercontent.com/u/102823177?v=4?s=100" width="100px;" alt="TyseEX"/><br /><sub><b>TyseEX</b></sub></a><br /><a href="https://github.com/GyulyVGC/sniffnet/issues?q=author%3ATyseEX" title="Bug reports">🐛</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/TyseEX"><img src="https://avatars.githubusercontent.com/u/102823177?v=4?s=100" width="100px;" alt="TyseEX"/><br /><sub><b>TyseEX</b></sub></a><br /><a href="https://github.com/GyulyVGC/sniffnet/issues?q=author%3ATyseEX" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://index45.com"><img src="https://avatars.githubusercontent.com/u/79985743?v=4?s=100" width="100px;" alt="Victor Nilsson"/><br /><sub><b>Victor Nilsson</b></sub></a><br /><a href="#translation-vcrn" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wangzishi"><img src="https://avatars.githubusercontent.com/u/8288105?v=4?s=100" width="100px;" alt="Wang Zishi"/><br /><sub><b>Wang Zishi</b></sub></a><br /><a href="#translation-wangzishi" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Kapelianovych"><img src="https://avatars.githubusercontent.com/u/28602579?v=4?s=100" width="100px;" alt="Yevhen"/><br /><sub><b>Yevhen</b></sub></a><br /><a href="#translation-Kapelianovych" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.backbox.org"><img src="https://avatars.githubusercontent.com/u/2687905?v=4?s=100" width="100px;" alt="ZEROF"/><br /><sub><b>ZEROF</b></sub></a><br /><a href="#financial-ZEROF" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://bit.ly/cBWeb"><img src="https://avatars.githubusercontent.com/u/28985171?v=4?s=100" width="100px;" alt="ZeroDot1"/><br /><sub><b>ZeroDot1</b></sub></a><br /><a href="#design-ZeroDot1" title="Design">🎨</a> <a href="#a11y-ZeroDot1" title="Accessibility">️️️️♿️</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/clr-cera"><img src="https://avatars.githubusercontent.com/u/93736542?v=4?s=100" width="100px;" alt="clr"/><br /><sub><b>clr</b></sub></a><br /><a href="https://github.com/GyulyVGC/sniffnet/commits?author=clr-cera" title="Documentation">📖</a> <a href="#translation-clr-cera" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ervinpopescu"><img src="https://avatars.githubusercontent.com/u/84532402?v=4?s=100" width="100px;" alt="ervinpopescu"/><br /><sub><b>ervinpopescu</b></sub></a><br /><a href="#translation-ervinpopescu" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ervinpopescu"><img src="https://avatars.githubusercontent.com/u/84532402?v=4?s=100" width="100px;" alt="ervinpopescu"/><br /><sub><b>ervinpopescu</b></sub></a><br /><a href="#translation-ervinpopescu" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/glitsj16"><img src="https://avatars.githubusercontent.com/u/959378?v=4?s=100" width="100px;" alt="glitsj16"/><br /><sub><b>glitsj16</b></sub></a><br /><a href="#platform-glitsj16" title="Packaging/porting to new platform">📦</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/guilherme-demarchi"><img src="https://avatars.githubusercontent.com/u/196574579?v=4?s=100" width="100px;" alt="guilherme-demarchi"/><br /><sub><b>guilherme-demarchi</b></sub></a><br /><a href="#translation-guilherme-demarchi" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/hirotake111"><img src="https://avatars.githubusercontent.com/u/6666092?v=4?s=100" width="100px;" alt="hirotake111"/><br /><sub><b>hirotake111</b></sub></a><br /><a href="#translation-hirotake111" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/luca3s"><img src="https://avatars.githubusercontent.com/u/41015240?v=4?s=100" width="100px;" alt="luca3s"/><br /><sub><b>luca3s</b></sub></a><br /><a href="#translation-luca3s" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://piapark.me"><img src="https://avatars.githubusercontent.com/u/76558220?v=4?s=100" width="100px;" alt="pia"/><br /><sub><b>pia</b></sub></a><br /><a href="#translation-rkdud007" title="Translation">🌍</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/0323pin"><img src="https://avatars.githubusercontent.com/u/90570748?v=4?s=100" width="100px;" alt="pin"/><br /><sub><b>pin</b></sub></a><br /><a href="#platform-0323pin" title="Packaging/porting to new platform">📦</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/shu-kitamura"><img src="https://avatars.githubusercontent.com/u/171437458?v=4?s=100" width="100px;" alt="shu-kitamura"/><br /><sub><b>shu-kitamura</b></sub></a><br /><a href="https://github.com/GyulyVGC/sniffnet/commits?author=shu-kitamura" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/shu-kitamura"><img src="https://avatars.githubusercontent.com/u/171437458?v=4?s=100" width="100px;" alt="shu-kitamura"/><br /><sub><b>shu-kitamura</b></sub></a><br /><a href="https://github.com/GyulyVGC/sniffnet/commits?author=shu-kitamura" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/starccy"><img src="https://avatars.githubusercontent.com/u/17541742?v=4?s=100" width="100px;" alt="starccy"/><br /><sub><b>starccy</b></sub></a><br /><a href="https://github.com/GyulyVGC/sniffnet/commits?author=starccy" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/0x0177b11f"><img src="https://avatars.githubusercontent.com/u/2305166?v=4?s=100" width="100px;" alt="tiansheng li"/><br /><sub><b>tiansheng li</b></sub></a><br /><a href="#financial-0x0177b11f" title="Financial">💵</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/vtiinanen"><img src="https://avatars.githubusercontent.com/u/49340148?v=4?s=100" width="100px;" alt="vtiinanen"/><br /><sub><b>vtiinanen</b></sub></a><br /><a href="#translation-vtiinanen" title="Translation">🌍</a></td>

27
Cargo.lock generated
View file

@ -647,9 +647,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
[[package]]
name = "chrono"
version = "0.4.40"
version = "0.4.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c"
checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
dependencies = [
"android-tzdata",
"iana-time-zone",
@ -828,7 +828,7 @@ dependencies = [
"directories",
"serde",
"thiserror 1.0.69",
"toml 0.8.20",
"toml 0.8.22",
]
[[package]]
@ -4715,7 +4715,7 @@ dependencies = [
"serde_test",
"serial_test",
"splines",
"toml 0.8.20",
"toml 0.8.22",
"winres",
]
@ -5153,9 +5153,9 @@ dependencies = [
[[package]]
name = "toml"
version = "0.8.20"
version = "0.8.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148"
checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae"
dependencies = [
"serde",
"serde_spanned",
@ -5165,26 +5165,33 @@ dependencies = [
[[package]]
name = "toml_datetime"
version = "0.6.8"
version = "0.6.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
version = "0.22.24"
version = "0.22.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474"
checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e"
dependencies = [
"indexmap",
"serde",
"serde_spanned",
"toml_datetime",
"toml_write",
"winnow",
]
[[package]]
name = "toml_write"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076"
[[package]]
name = "tower"
version = "0.5.2"

View file

@ -39,7 +39,7 @@ strip = true
[dependencies]
pcap = "2.2.0"
etherparse = "0.18.0"
chrono = { version = "0.4.40", default-features = false, features = ["clock"] }
chrono = { version = "0.4.41", default-features = false, features = ["clock"] }
plotters = { version = "0.3.7", default-features = false, features = ["area_series", "line_series"] }
iced = { version = "0.13.1", features = ["tokio", "svg", "advanced", "lazy", "image"] }
plotters-iced = "0.11.0"
@ -48,7 +48,7 @@ confy = "0.6.1"
serde = { version = "1.0.219", default-features = false, features = ["derive"] }
rodio = { version = "0.20.1", default-features = false, features = ["mp3"] }
dns-lookup = "2.0.4"
toml = "0.8.20"
toml = "0.8.22"
ctrlc = { version = "3.4.6", features = ["termination"] }
rfd = "0.15.3"
phf = "0.11.3"

34
Dockerfile Normal file
View file

@ -0,0 +1,34 @@
FROM rust:1.85-slim AS builder
# Install build dependencies for both X11 and Wayland
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libexpat1-dev \
libpcap-dev \
libasound2-dev \
libfontconfig1-dev \
libgtk-3-dev \
pkg-config \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/sniffnet
COPY . .
RUN cargo build --release
# Runtime stage
FROM debian:bookworm-slim
# Install runtime dependencies for both X11 and Wayland
RUN apt-get update && apt-get install -y \
libfreetype6 \
libexpat1 \
libpcap0.8 \
libasound2 \
libfontconfig1 \
libgtk-3-0 \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/sniffnet/target/release/sniffnet /usr/local/bin/sniffnet
ENTRYPOINT ["sniffnet"]

103
README.md
View file

@ -64,113 +64,12 @@ Do you want to help the project in an alternative way? You can also head to the
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[64&#8209;bit](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_Windows_64-bit.msi)&nbsp;\|&nbsp;[32&#8209;bit](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_Windows_32-bit.msi)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | [Intel](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_macOS_Intel.dmg)&nbsp;\|&nbsp;[Apple&nbsp;silicon](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_macOS_AppleSilicon.dmg) | [amd64](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxDEB_amd64.deb)&nbsp;\|&nbsp;[arm64](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxDEB_arm64.deb)&nbsp;\|&nbsp;[i386](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxDEB_i386.deb)&nbsp;\|&nbsp;[armhf](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxDEB_armhf.deb) | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[x86_64](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxRPM_x86_64.rpm)&nbsp;\|&nbsp;[aarch64](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxRPM_aarch64.rpm)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
Links in the table above will download the latest version of Sniffnet directly from [GitHub releases](https://github.com/GyulyVGC/sniffnet/releases). <br>
Not what you're looking for? Check out [alternative installation methods](https://github.com/GyulyVGC/sniffnet/wiki/Alternative-installation-methods).
> [!NOTE]
>
> Remember to also install the [required dependencies](https://github.com/GyulyVGC/sniffnet/wiki/Required-dependencies) for your operating system.
**Alternative installation methods** are reported in the following:
<details>
<summary>from Crates.io</summary>
Follow this method only if you have [Rust installed](https://www.rust-lang.org/tools/install) on your machine. <br>
In this case, the application binary can be built and installed with:
```sh
cargo install sniffnet --locked
```
</details>
<details>
<summary>from Homebrew</summary>
You can install [Sniffnet Homebrew package](https://github.com/Homebrew/homebrew-core/pkgs/container/core%2Fsniffnet) with:
```sh
brew install sniffnet
```
</details>
<details>
<summary>from Nixpkgs</summary>
You can install [Sniffnet Nix package](https://search.nixos.org/packages?channel=23.05&show=sniffnet&from=0&size=50&sort=relevance&type=packages&query=sniffnet) adding the following Nix code to your NixOS Configuration, usually located in `/etc/nixos/configuration.nix`:
```nix
environment.systemPackages = [
pkgs.sniffnet
];
```
Alternatively, you can install it in your home using [Home Manager](https://github.com/nix-community/home-manager) with:
```nix
home.packages = [
pkgs.sniffnet
];
```
Alternatively, you can try it in a shell with:
```sh
nix-shell -p sniffnet
```
</details>
<details>
<summary>on Arch Linux</summary>
You can install Sniffnet community package via [pacman](https://wiki.archlinux.org/title/Pacman):
```sh
pacman -S sniffnet
```
</details>
<details>
<summary>on FreeBSD</summary>
You can install Sniffnet port with:
```sh
pkg install sniffnet
```
</details>
<details>
<summary>on NetBSD</summary>
You can install Sniffnet from the official repositories via [pkgin](https://pkgin.net):
```sh
pkgin install sniffnet
```
</details>
<details>
<summary>on Tiny Core Linux</summary>
You can install Sniffnet from the official repository with:
```
tce-load -wi sniffnet
```
</details>
## Features
- 💻 choose a **network adapter** of your PC to inspect