Eclectic Media Git auto_bandwidth_test / master
Updated the readme to be more readable Ariana Giroux 7 months ago
2 changed file(s) with 49 addition(s) and 23 deletion(s). Raw diff Collapse all Expand all
0 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`_
1
2 Installation
3 ============
4
5 Client Side Install and Usage
6 -----------------------------
7
8 First, clone the repository from ``git://eclecticmedia.space/public/auto_bandwidth_test.git``.
9
10 Second, obtain a JWT key from the server administrator, and place it in the base directory at path ``./mykey``
11
12 Finally, execute ``./bin/test.sh``.
13
14 ---
15
16 **WARNING: The test script will fail if it does not find a JWT key at './mykey'**
17
18 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.
19
20
21
22 Server Side Install
23 -------------------
24
25 All project dependencies can be easily installed with pip_. Use ``pip install -r requirements.txt`` to ensure all dependencies are met.
26
27 Once the python dependencies have been installed, install ``iperf`` with: ::
28
29 sudo apt-get install iperf
30
31 After ``iperf`` has finished installing, configure it to run on port 8028 (package default) and daemonize it (typically via cron/supervisord).
32
33 Second, generate a JWT key for authorization. ::
34
35 $ python3 # call the interpreter
36 >>> from app import generate_token # import generation function from app.py
37 >>> generate_token() # run the function
38 >>> exit() # exit the interpreter
39
40 By default, this will generate a key at ``./mykey``. The API looks for this file from its current working directory.
41
42 *NOTE: This is the file you should distribute to end users!*
43
44 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.
45
46 .. _`Eclectic Media Website`: https://eclecticmedia.space/
47 .. _pip: https://pypi.org/
48 .. _supervisord: http://supervisord.org/
+0
-23
Readme.txt less more
0 On the client side:
1
2 First, obtain a JWT key from the server administrator, and place it in the base directory at path './mykey'
3
4 Second, execute './bin/test.sh'.
5
6 WARNING: The test script will fail if it does not find a JWT key at './mykey'
7
8 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.
9
10
11
12 On the server side:
13
14 After installing all requirements (w/ 'pip install -r requirements.txt'), follow these steps from the base path of this repository.
15
16 First, configure iperf to run on port 8028 (package default) and daemonize it (typically via cron/supervisord).
17
18 Second, generate a JWT key for authorization. By default, it will generate a key at './mykey'. The API looks for this file from its current working directory.
19
20 NOTE: This is the file you should distribute to end users!
21
22 Third, daemonize the API bound to host 0.0.0.0 and port 8029! Typically, you would use a service or supervisord to achieve this.