|
6 months ago | |
---|---|---|
log | 7 months ago | |
.gitignore | 7 months ago | |
.gitmodules | 7 months ago | |
LICENSE | 7 months ago | |
README.md | 6 months ago | |
config.example.json | 7 months ago | |
uplink | 6 months ago | |
uplink.mysql.sql | 7 months ago | |
uplink.sqlite3.sql | 7 months ago |
THIS CODE IS AT A VERY EARLY STAGE OF DEVELOPMENT! USE AT YOUR OWN RISK!
SINCE THIS CODE CHANGES EVERY DAY THE DOCUMENTATION MAY NOT BE CORRECT!
uplink is a tool to monitor the uplink status of AVM FRITZ!Box Cable and DSL based routers. It uses the TR-064 protocol over UPnP.
For now I can say that uplink can monitor the status of you FRITZ!Box uplinks. It can log to a file and writes results to a MariaDB/MySQL database. With some editing of the code you can you use SQLite too but this feature is not active at the moment. This will change in the future. I switched to MariaDB because I run uplink on a RaspberryPi and are evaluating results on my workstation. I am working on a Gtk+ frontend to generate statistics…
Just install the 3rd party dependencies using pip install $PACKAGE
or your OS package manager
git clone https://git.unixpeople.org/hanez/uplink.git
cd uplink
cp config.example.json config.json
Edit config.json to your needs.
{
"interval": 60,
"database_type": "mysql",
"database": "uplink",
"database_host": "127.0.0.1",
"database_user": "USER",
"database_password": "PASSWORD",
"cron": false,
"daemon": false,
"uplinks": [
{ "provider": "Cable Provider", "ip": "192.168.0.1", "password": "1234" },
{ "provider": "DSL Provider", "ip": "192.168.1.1", "password": "1234" }
]
}
sqlite3 uplink.sqlite3 < uplink.sql
./uplink ./config.json
./uplink --help
I actually use “DBeaver” for taking a look at the data uplink is collecting.
There will be a Gtk+ frontend to uplink at some time but this project is at a very early stage of development, so I want to write the collector first. Even support for other SQL databases is in planning in conjunction with the Gtk+ frontend. I use MariaDB only because I can move fast-forward.