nstudach / sugar

Automatic set up of DigitalOcean VM's and execution of pathspider with upload to MAMI PTO
0 stars 0 forks source link

sugar

This program is written to automate internet path transparency measurements for the MAMI project.

It creates virtual machines at different locations in the internet and sets them up to run pathspider on them. It can upload the measurements directly to the MAMI PTO and destroy each droplet after a succesfull or failed run.

https://github.com/nstudach/sugar

1. Installation

You can install sugar by:

  1. Cloning this git repository.
  2. In the folder sugar run sudo python3 setup.py install

2. Usage

Sugar can be run in the terminal with sugar -h Sugar will add a folder /opt/sugar/ for application data

The possible arguments are:

You can run multiple plugin measurements simultaniously as long as your Digital Ocean account supports the large amount of droplets.

The program will save the host names, ip addresses, and id's in the config.json file.

3. Configure Sugar

Enter all the required parameter in a config.json file. The config_example.json will help you here. The config consists of 4 parts:

"slack": - Configures slack

"provider" for Digital Ocean parameters

"droplet" - Configures your droplet

"install" for task install

The following packages and py_packages are currently required for PATHspider:

    "packages": [
        "libssl-dev",
        "libtrace-dev",
        "libldns-dev",
        "libcurl4-openssl-dev",
        "build-essential",
        "python3-dev",
        "tcpdump"
    ],
    "py_packages": [
        "straight.plugin",
        "pyroute2",
        "scapy-python3",
        "stem",
        "dnslib",
        "pycurl",
        "nose",
        "python-dateutil"
    ]

The following packages and py_packages are currently required for Sugar:

    "packages": [
        "git",
        "build-essential",
        "python3-dev",
        "python3-pip"
    ],
    "py_packages": [
        "slackClient",
        "slacker",
        "requests"
    ]

No packages and py_packages are currently required for Hellfire but it runs over Sugar so those are still needed.

"measure" for task measure

"upload" for task upload

"task" Defines task to execute

"setup" stores setup data

"hellfire" stores hellfire setup data