gitwtfhub

wtf is netwatch?

04amanrajj/netwatch — explained in plain English

Analysis updated 2026-05-18

0RustAudience · ops devopsComplexity · 3/5Setup · moderate

TL;DR

A Rust command line tool for Linux that logs your network traffic to a local SQLite database and shows usage history through a terminal dashboard.

Mindmap

mindmap
  root((NetWatch))
    What it does
      Monitors Linux network traffic
      Stores history in SQLite
      Shows a terminal dashboard
    Architecture
      Background daemon netwatchd
      Viewer command netwatch
      Tiered data aggregation
    Install options
      Debian package via cargo-deb
      Prebuilt .deb release
      Build from source with Cargo
    Configuration
      Sample interval settings
      Interface ignore list
      Data retention days

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Run the netwatchd daemon as a systemd service to continuously log your Linux network usage in the background.

REASON 2

Open the netwatch terminal dashboard to see live and historical network traffic without touching the database directly.

REASON 3

Use netwatch doctor to check that your configuration and database are set up correctly after installing.

What's in the stack?

RustSQLitesystemd

How it stacks up

04amanrajj/netwatch0xr10t/pulsefi404-agent/codes-miner
Stars000
LanguageRustRustRust
Setup difficultymoderatehardmoderate
Complexity3/54/53/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires Rust and SQLite development libraries, or a prebuilt Debian package for Ubuntu/Debian systems.

Wtf does this do

NetWatch is a tool for Linux that keeps track of how much network data your computer sends and receives, and lets you view that history through a terminal interface. It is built in Rust and stores everything in a small local SQLite database rather than a cloud service, so all your traffic history stays on your own machine. The tool is split into two parts: a background daemon called netwatchd that quietly collects traffic statistics from your network interfaces, and a separate command called netwatch that displays those statistics, either as a live terminal dashboard or through simple command line queries. Because the daemon and the viewer are separate programs, you can check your stats at any time without the viewer needing to hold a lock on the running collector. Older data is automatically compressed over time: NetWatch downsamples raw per second readings into minute, hourly, and daily summaries, so long term history does not keep growing the database indefinitely. A history_days setting controls how long raw samples are kept before being pruned. A built in netwatch doctor command checks that your configuration, database, and network interface detection are all working correctly. Installation options include building and installing a Debian package with cargo-deb, downloading a prebuilt .deb file from GitHub Releases, or building from source with Cargo after cloning the repository. The project also ships ready made systemd service files so the background daemon can be set to start automatically, either just for your own user account or system wide at boot. Settings live in a single configuration file where you can adjust how often the daemon samples your interfaces, which interfaces to ignore such as virtual Docker or VPN adapters, how traffic units are displayed, and how often data is written to disk. The README also documents full uninstall steps for removing the binaries, configuration, and stored database when you are done with the tool.

Yoink these prompts

Prompt 1
Walk me through installing NetWatch on Ubuntu using the .deb package and starting the netwatchd daemon.
Prompt 2
Help me build NetWatch from source with Cargo and run it inside a Docker Ubuntu container.
Prompt 3
Explain the config.toml options in NetWatch, including sample_interval, ignore, and history_days.
Prompt 4
Show me how to set up NetWatch's netwatchd as a user-level systemd service that starts at login.

Frequently asked questions

wtf is netwatch?

A Rust command line tool for Linux that logs your network traffic to a local SQLite database and shows usage history through a terminal dashboard.

What language is netwatch written in?

Mainly Rust. The stack also includes Rust, SQLite, systemd.

How hard is netwatch to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is netwatch for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.