Skip to content

univrsal/waechter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

header

Demo

Dev time spent Build (Ubuntu)

A Linux traffic monitoring and shaping tool.

Wächter uses eBPF to monitor network traffic and enforce rules to block or throttle connections. It is divided up into three parts:

  • An eBPF program that hooks into the Linux kernel to gather traffic data and enforce rules
  • A daemon that loads the eBPF program, reads data from it and keeps track of network usage statistics and rules
  • A client GUI to edit and view rules and traffic statistics

Build requirements:

  • libbpf
  • CMake
  • A recent Linux kernel with eBPF support
  • bpftool to create vmlinux.h
  • clang and llvm to compile eBPF programs

If you have questions, you can use discussions, the IRC channel #waechter on irc.rizon.net or the discord server.

Roadmap

Wächter is still in early development. Currently implemented features are:

  • Monitor per-connection network traffic (upload and download)
  • View connection information (local/remote endpoints, hostname)
  • Block upload/download per connection
  • Throttle upload/download per connection

Planned features:

  • Connection history to log what connections are made by which application
  • Persistent rules that are saved and loaded on startup
  • Long-term traffic statistics and graphs

Potential future features:

  • Priority-based traffic shaping
  • Traffic quotas
  • Global rules per ip/port etc.