Giter VIP home page Giter VIP logo

bwscanner's Introduction

BWScanner

image

image

BWScanner is a tool for measuring the bandwidth of Tor relays. Its aim is to replace the existing Torflow system.

This project is still under active development and is not ready for active use or production deployment yet.

Installation

The bandwidth scanner and its dependencies can be installed as follows:

git clone https://github.com/TheTorProject/bwscanner.git
cd bwscanner
python setup.py install

Running

After installation the bwscan tool should be available in your path. This tool has a number of subcommands for running scans and for aggregating the collected data for use by the bandwidth authorities.

Collecting bandwidth measurements

The --partitions option can be used to split the consensus into subsets of relays which can be scanned on different machines. The results can later be combined during the measurement aggregation step.

bwscan scan

Aggregating scan results

This command will aggregate the data for the latest five completed scans.

bwscan aggregate -n 5

The final aggregation script is not yet integrated with the CLI. It should be called with the path to the directory containing the most recent aggregated data:

python scripts/aggregate.py ~/.config/bwscanner/measurements/1474278776

Development

Unit and integration tests are run automatically for each pull request. The tests must pass before code will be merged. Tox is used to run the tests reproducibly in your development environment.

Tox can be used to create new Python virtual environments with a reproducible state and to run all the tests.

pip install tox
git clone https://github.com/TheTorProject/bwscanner.git
cd bwscanner

The integration tests are run against a local Tor network which is managed by chutney. You can start chutney as follows:

git clone https://git.torproject.org/chutney.git
cd chutney
./chutney stop networks/basic-025
./chutney configure networks/basic-025
./chutney start networks/basic-025
./chutney status networks/basic-025
cd ..

The bandwidth scanner needs to be able to connect to a Tor control port to interact with the network. If using chutney the port 8021 should work. Tests are run by simply calling tox.

cd bwscanner
export CHUTNEY_CONTROL_PORT=8021
tox

bwscanner's People

Contributors

aagbsn avatar david415 avatar donnchac avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.