Eclectic Media Git auto_bandwidth_test / master
master

Tree @master (Download .tar.gz)

This software provides a simple, unix friendly bandwidth tester. It has been developed to test bandwidth and upload/download rates to the Eclectic Media Website

Installation

Client Side Install and Usage

First, clone the repository from git://eclecticmedia.space/public/auto_bandwidth_test.git.

Second, obtain a JWT key from the server administrator, and place it in the base directory at path ./mykey

Finally, execute ./bin/test.sh.

---

WARNING: The test script will fail if it does not find a JWT key at './mykey'

This script will automatically handle all dependencies (under 1MB of packages), automatically determine the host IP, perform the bandwidth test, and report it back to the server via a secured REST api.

Server Side Install

All project dependencies can be easily installed with pip. Use pip install -r requirements.txt to ensure all dependencies are met.

Once the python dependencies have been installed, install iperf with:

sudo apt-get install iperf

After iperf has finished installing, configure it to run on port 8028 (package default) and daemonize it (typically via cron/supervisord).

Second, generate a JWT key for authorization.

$ python3  # call the interpreter
>>> from app import generate_token  # import generation function from app.py
>>> generate_token()  # run the function
>>> exit()  # exit the interpreter

By default, this will generate a key at ./mykey. The API looks for this file from its current working directory.

NOTE: This is the file you should distribute to end users!

Finally, daemonize the API bound to host 0.0.0.0 and port 8029! Typically, you would use a service or software like supervisord to achieve this.