12. Analysis (Mar 2018)

12.1. Existing software

  1. torflow: Torflow in detail
  2. bwscanner: bwscanner
  3. peerflow: [PeerflowPaper]
  4. bridge bw scanner: [BridgeBwScanner]
  5. OnionPerf [OnionperfCode]

12.2. Possible approaches

Based on the discussions in [mlBwProgressDec1] and [BwAuthRome]:

  1. Develop peerflow and deploy it in place of torflow
  2. Finalize bwscanner and deploy in place of torflow
  3. Adapt the bridge bw scanner that is currently being developed
  4. Adapt OnionPerf
  5. Path torflow
  6. Something simple from scratch


  1. Peerflow can be developed in parallel, it does not implement the simple algorithm needed in a short term
  2. bwscanner can be fixed and finished but seems hard to mantain
  3. The bridge scanner is considered not suitable for converting into a bandwith scanner
  4. OnionPerf uses Stem, it would be better to use Stem directly because OnionPerf implements other stuff not needed for the bandwith scanner
  5. Patching torflow is not considered acceptable because is hard to run and maintain
  6. Something simple from scratch can be implemented reusing bwscanner and txtorcon new features