[tor-commits] [research-web/staging] Creates a research tools page

irl at torproject.org irl at torproject.org
Wed Jun 26 08:45:26 UTC 2019


commit 5ae2fde9908f5d880b497d0297f13856141d6ae8
Author: Iain R. Learmonth <irl at fsfe.org>
Date:   Thu May 2 20:55:53 2019 +0100

    Creates a research tools page
    
    Fixes: #29560
---
 config.toml      | 10 +++++++--
 content/tools.md | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 73 insertions(+), 2 deletions(-)

diff --git a/config.toml b/config.toml
index eca81cf..3aa7979 100644
--- a/config.toml
+++ b/config.toml
@@ -22,12 +22,18 @@ theme = "torproject"
   weight = -180
 
 [[menu.main]]
-  name = "Research Ideas"
-  title = "Research Ideas with Tor"
+  name = "Ideas"
+  title = "Tor Research Ideas"
   url = "/ideas"
   weight = -170
 
 [[menu.main]]
+  name = "Tools"
+  title = "Tor Research Tools"
+  url = "/tools"
+  weight = -165
+
+[[menu.main]]
   name = "Tech Reports"
   title = "Tor Project Technical Reports"
   url = "/techreports"
diff --git a/content/tools.md b/content/tools.md
new file mode 100644
index 0000000..90dc5bc
--- /dev/null
+++ b/content/tools.md
@@ -0,0 +1,65 @@
+---
+title: Research Tools
+---
+
+If you're interested in performing research relating to Tor, you might find
+the following tools useful. Always ensure that the research you are performing
+is [safe](/safetyboard).
+
+## Test Networks
+
+New design proposals and attacks on Tor are challenging to test in the live
+network due to deployment issues and the risk of invading users’ privacy. The
+following tools allow you to easily run a test Tor network, isolated from the
+live public network, that you can safely perform experimentation on.
+
+* [Chutney](https://trac.torproject.org/projects/tor/wiki/doc/TorChutneyGuide)
+  is a Tor test network configuration tool that can launch Tor processes and
+  estabilsh connectivity between them. It can also be used for CPU-limited
+  bandwidth testing.
+* [Shadow](https://shadow.github.io/) is a network simulator/emulator hybrid
+  that uses archived Tor directory data to generate realistic network
+  topologies.
+
+You might also choose to build a testing network manually, or using your
+preferred configuration management tool. See the [testing network
+options](https://manpages.debian.org/stretch/tor/torrc.5.en.html#TESTING_NETWORK_OPTIONS)
+of the tor configuration file for more details.
+
+## Path Selection
+
+The relays chosen for a path through the Tor network require tradeoffs to be
+made between anonymity, performance, and other properties.
+
+* [TorPS](https://torps.github.io/) simulates changes to Tor's path selection
+  algorithm using archived data.
+
+## Controllers
+
+A controller allows applications to interact with Tor. This happens via the
+[Tor Control Protocol](https://spec.torproject.org/control-spec). Various
+events such as circuit creation and bandwidth counts will be able to be read
+from the Tor process. Commands can also be given to change the configuration of
+the Tor process or to instruct it to perform tasks.
+
+* [Stem](https://stem.torproject.org/) is a Python controller library for Tor,
+  used in the [Nyx](https://nyx.torproject.org/) monitor application.
+* [jtorctl](https://github.com/guardianproject/jtorctl) is a Java controller
+  library for Tor, used in the
+  [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
+  Android app.
+
+## Parsing Libraries
+
+The following libraries help you with parsing Tor network data, either from a
+directory authority or the
+[CollecTor](https://metrics.torproject.org/collector.html) service:
+
+* [Tor Metrics Library](https://metrics.torproject.org/metrics-lib.html) is a
+  Java library, used by [Tor Metrics](https://metrics.torproject.org/) to
+  produce analysis and visualisations, including parsers for Tor-specific data
+  formats.
+* [Stem](https://stem.torproject.org/) is a Python library that includes
+  parsers for Tor-specific data formats.
+* [Zoossh](https://github.com/NullHypothesis/zoossh) is a parser written in Go
+  for Tor-specific data formats.





More information about the tor-commits mailing list