gitwtfhub

wtf is netmon?

role1776/netmon — explained in plain English

Analysis updated 2026-05-18

76PythonAudience · ops devopsComplexity · 3/5Setup · moderate

TL;DR

A self-hosted bot that monitors your internet speed and counts devices on your home network, then sends you Telegram reports with AI-written commentary and graphs.

Mindmap

mindmap
  root((repo))
    What it does
      Hourly speed tests
      Scans network devices
      Sends Telegram reports
    Tech stack
      Python
      nmap
      speedtest-cli
      uv package manager
    Use cases
      Home network monitoring
      Raspberry Pi dashboard
      Internet speed tracking
    Audience
      Self-hosters
      Privacy-focused users
    Setup
      macOS and Linux only
      Requires nmap sudo config
      Needs Telegram bot token

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

Monitor your home internet speed and get alerts in Telegram every four hours.

REASON 2

Track how many devices are connected to your home network over time.

REASON 3

Run a privacy-friendly network monitor on a Raspberry Pi with no external data services.

REASON 4

Get sarcastic AI commentary about your network performance alongside graph reports.

What's in the stack?

Pythonnmapspeedtest-cliuvOpenAI-compatible LLM

How it stacks up

role1776/netmonnalltama/raivtencent-hunyuan/hy-mt2
Stars767676
LanguagePythonPythonPython
Setup difficultymoderateeasyhard
Complexity3/52/54/5
Audienceops devopsgeneralresearcher

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

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires installing nmap and speedtest-cli as system dependencies and configuring sudo permissions for nmap, plus a Telegram bot token and AI provider credentials.

No license information was provided in the README, so the default terms of copyright apply, you can read and fork the code but may not have permission to use, modify, or distribute it.

Wtf does this do

Netmon is a self-hosted network monitoring bot that runs on your local machine or a Raspberry Pi. Every hour it runs a speed test on your internet connection, scans your local network to count how many devices are online, and saves all of that information to a small local database. Every four hours it sends a more detailed report to Telegram, complete with a graph showing the last 24 hours of activity and a sarcastic AI-written commentary about how your network is performing. The project is built in Python and designed to keep everything private. No data gets sent to external metric services. Only the text reports and graph images are delivered to your Telegram chat. The speed tests use a tool called speedtest-cli, and the device scanning uses nmap, a standard network utility. The AI commentary comes from an OpenAI-compatible language model, which means you can use OpenAI's cloud service or run a local model on your own hardware. Setting it up requires a few system-level dependencies. You need nmap and speedtest-cli installed on your machine, and nmap needs special permission to run without a password prompt since it scans the network at a low level. The project uses a Python tool called uv to manage its environment and dependencies, which handles downloading the right Python version and installing locked library versions automatically. You fill in a configuration file with your Telegram bot token, your chat ID, and your AI provider details, then run a single command to start the bot. The README is thorough, covering installation on macOS and Linux, the one-time sudo configuration for nmap, and tips for running the bot in the background with tools like tmux or as a system service. It also includes example output showing what the hourly status updates and four-hour reports look like. Windows is not supported. The project structure section was cut off in the provided documentation. The full README is longer than what was shown.

Yoink these prompts

Prompt 1
I want to build a self-hosted network monitoring bot like netmon. Write a Python script that runs an hourly speed test using speedtest-cli, scans my local network with nmap to count connected devices, and stores results in a SQLite database.
Prompt 2
Help me configure a Telegram bot that sends periodic network reports with matplotlib graphs. I need a Python script that generates a 24-hour activity chart and sends it as an image to a Telegram chat every four hours.
Prompt 3
I have nmap installed on my Mac and need to configure it to run without a sudo password prompt so a background script can scan my local network automatically. Show me the sudoers configuration and the exact nmap command to use.
Prompt 4
Create a Python function that takes 24 hours of network speed test data from a database and generates a sarcastic AI commentary about the connection quality using an OpenAI-compatible API.

Frequently asked questions

wtf is netmon?

A self-hosted bot that monitors your internet speed and counts devices on your home network, then sends you Telegram reports with AI-written commentary and graphs.

What language is netmon written in?

Mainly Python. The stack also includes Python, nmap, speedtest-cli.

What license does netmon use?

No license information was provided in the README, so the default terms of copyright apply, you can read and fork the code but may not have permission to use, modify, or distribute it.

How hard is netmon to set up?

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

Who is netmon for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

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