An open API service indexing awesome lists of open source software.

https://github.com/gcclinux/broadband


https://github.com/gcclinux/broadband

Last synced: 12 months ago
JSON representation

Awesome Lists containing this project

README

          

# Broadband (go)
----------------------------------------------------------------
#### The go Broadband app / code was writen to satisfy my own requirements to monitor my internet speed regularly

You can run this app/code as is and it will return the output on the screen or you have an option to store the data into a PostgreSQL database, with minor changes you can use other DBs like MySQL & SQLite but I have only included a config and tested on PostgreSQL

Output Example:

```
WanIP: 123.123.123.123, Latency: 0.013298, Download: 22.330900, Upload: 6.632200, (Manchester (United Kingdom) by Vodafone UK)
```

PostgreSQL Table:
```
CREATE TABLE IF NOT EXISTS public.broadband
(
id SERIAL PRIMARY KEY,
created timestamp without time zone NOT NULL DEFAULT now(),
address character varying(32),
latency DOUBLE PRECISION,
downloadspeed DOUBLE PRECISION,
uploadspeed DOUBLE PRECISION,
isp character varying(256)
)
```
To be able to store the data into your database you will need to create the above tables, add the details in the config and set SaveToDB to true!

Config Example:
```
{
"DB_HOST": [""],
"DB_PORT": [""],
"DB_USER": [""],
"DB_PASS": [""],
"DB_NAME": [""],
"TB_NAME": [""],
"Verbose": [true],
"SaveToDB": [false]
}
```
You can run by downloading the source code and execute the ```$./run.sh``` script you can also run it like this ```$ go run main.go``` or you can compile the source code into a binary like this ``` $ go build -o broadband-$(uname)-$(uname -m) *.go```

INFO: Rename / copy the ```conf-template.json``` into ```conf.json``` in the same folder.

In the future I may add to run this as a service, add a graphic representation of the collected data, but this is just an initial idea for my current requirements.