#LinNetLim
This is a program to show how which TCP ports are using data, and limit it - similar to "NetLimiter" for Windows
Currently downstream limiting is disabled - if you have the time and skill to fix this, please send a PR!
GUI is in Kivy
chains is used to read current net usage
bash, tc and iptables are used to impose port limits
Do not use if you have a custom iptables setup! This will wipe any custom rules (from the mangle table, and probably others too)
##Running
first intall libpcap-dev
sudo apt install libpcap-dev
Create a python env, install requirements (using requirements.txt for py2 and requirements3.txt for py3) then run the UI as root
virtualenv env
. env/bin/activate
pip install -r requirements.txt
sudo env/bin/python kivy_ui.py
toggle the button next to ports you want to limit, type in an up/down limit in kb and press apply
To clear limits - uncheck all limits and press apply - closing the program will not stop limiting
##TODO
- group by process (perhaps with lsof?)
- separate up/down data measurements
- tidy up
- system tray icon
- curses CLI (like iftop, nethogs)