[tor-commits] [metrics-web/master] Apply new design to operation and development pages.

karsten at torproject.org karsten at torproject.org
Mon Jan 9 17:03:42 UTC 2017


commit a6b8d8d6f4909d51cc171cd48c1925ef15909f5b
Author: Karsten Loesing <karsten.loesing at gmx.net>
Date:   Wed Dec 21 14:02:00 2016 +0100

    Apply new design to operation and development pages.
---
 website/etc/web.xml                                |  26 ++--
 .../torproject/metrics/web/DevelopmentServlet.java |  31 +++++
 .../torproject/metrics/web/OperationServlet.java   |  31 +++++
 .../org/torproject/metrics/web/ToolsServlet.java   |  26 ----
 website/web/WEB-INF/development.jsp                |  39 ++++++
 website/web/WEB-INF/operation.jsp                  |  33 +++++
 website/web/WEB-INF/research.jsp                   |   8 ++
 website/web/WEB-INF/tools.jsp                      | 136 ---------------------
 8 files changed, 160 insertions(+), 170 deletions(-)

diff --git a/website/etc/web.xml b/website/etc/web.xml
index b6f2015..7436906 100644
--- a/website/etc/web.xml
+++ b/website/etc/web.xml
@@ -213,26 +213,36 @@
   </servlet-mapping>
 
   <servlet>
-    <servlet-name>ToolsServlet</servlet-name>
+    <servlet-name>StatsServlet</servlet-name>
     <servlet-class>
-      org.torproject.metrics.web.ToolsServlet
+      org.torproject.metrics.web.StatsServlet
     </servlet-class>
   </servlet>
   <servlet-mapping>
-    <servlet-name>ToolsServlet</servlet-name>
+    <servlet-name>StatsServlet</servlet-name>
+    <url-pattern>/stats.html</url-pattern>
+  </servlet-mapping>
+
+  <servlet>
+    <servlet-name>OperationServlet</servlet-name>
+    <servlet-class>
+      org.torproject.metrics.web.OperationServlet
+    </servlet-class>
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>OperationServlet</servlet-name>
     <url-pattern>/operation.html</url-pattern>
-    <url-pattern>/development.html</url-pattern>
   </servlet-mapping>
 
   <servlet>
-    <servlet-name>StatsServlet</servlet-name>
+    <servlet-name>DevelopmentServlet</servlet-name>
     <servlet-class>
-      org.torproject.metrics.web.StatsServlet
+      org.torproject.metrics.web.DevelopmentServlet
     </servlet-class>
   </servlet>
   <servlet-mapping>
-    <servlet-name>StatsServlet</servlet-name>
-    <url-pattern>/stats.html</url-pattern>
+    <servlet-name>DevelopmentServlet</servlet-name>
+    <url-pattern>/development.html</url-pattern>
   </servlet-mapping>
 
   <servlet>
diff --git a/website/src/org/torproject/metrics/web/DevelopmentServlet.java b/website/src/org/torproject/metrics/web/DevelopmentServlet.java
new file mode 100644
index 0000000..bd09cd9
--- /dev/null
+++ b/website/src/org/torproject/metrics/web/DevelopmentServlet.java
@@ -0,0 +1,31 @@
+/* Copyright 2016 The Tor Project
+ * See LICENSE for licensing information */
+
+package org.torproject.metrics.web;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class DevelopmentServlet extends AnyServlet {
+
+  private static final long serialVersionUID = 6850919895248020945L;
+
+  @Override
+  public void init() throws ServletException {
+    super.init();
+  }
+
+  @Override
+  public void doGet(HttpServletRequest request,
+      HttpServletResponse response) throws IOException, ServletException {
+
+    /* Forward the request to the JSP that does all the hard work. */
+    request.setAttribute("categories", this.categories);
+    request.getRequestDispatcher("WEB-INF/development.jsp").forward(request,
+        response);
+  }
+}
+
diff --git a/website/src/org/torproject/metrics/web/OperationServlet.java b/website/src/org/torproject/metrics/web/OperationServlet.java
new file mode 100644
index 0000000..029383d
--- /dev/null
+++ b/website/src/org/torproject/metrics/web/OperationServlet.java
@@ -0,0 +1,31 @@
+/* Copyright 2016 The Tor Project
+ * See LICENSE for licensing information */
+
+package org.torproject.metrics.web;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class OperationServlet extends AnyServlet {
+
+  private static final long serialVersionUID = 6850919895248020945L;
+
+  @Override
+  public void init() throws ServletException {
+    super.init();
+  }
+
+  @Override
+  public void doGet(HttpServletRequest request,
+      HttpServletResponse response) throws IOException, ServletException {
+
+    /* Forward the request to the JSP that does all the hard work. */
+    request.setAttribute("categories", this.categories);
+    request.getRequestDispatcher("WEB-INF/operation.jsp").forward(request,
+        response);
+  }
+}
+
diff --git a/website/src/org/torproject/metrics/web/ToolsServlet.java b/website/src/org/torproject/metrics/web/ToolsServlet.java
deleted file mode 100644
index d538512..0000000
--- a/website/src/org/torproject/metrics/web/ToolsServlet.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2016 The Tor Project
- * See LICENSE for licensing information */
-
-package org.torproject.metrics.web;
-
-import java.io.IOException;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-public class ToolsServlet extends HttpServlet {
-
-  private static final long serialVersionUID = -7868806710366794044L;
-
-  @Override
-  public void doGet(HttpServletRequest request,
-      HttpServletResponse response) throws IOException, ServletException {
-
-    /* Forward the request to the JSP that does all the hard work. */
-    request.getRequestDispatcher("WEB-INF/tools.jsp").forward(request,
-        response);
-  }
-}
-
diff --git a/website/web/WEB-INF/development.jsp b/website/web/WEB-INF/development.jsp
new file mode 100644
index 0000000..183df9c
--- /dev/null
+++ b/website/web/WEB-INF/development.jsp
@@ -0,0 +1,39 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+<jsp:include page="top.jsp">
+  <jsp:param name="pageTitle" value="Development – Tor Metrics"/>
+  <jsp:param name="navActive" value="Development"/>
+</jsp:include>
+
+    <div class="container">
+      <ul class="breadcrumb">
+        <li><a href="index.html">Home</a></li>
+        <li class="active">Development</li>
+      </ul>
+    </div>
+
+    <div class="container">
+      <h1>Development</h1>
+<ul>
+<li><a href="https://play.google.com/store/apps/details?id=com.networksaremadeofstring.anonionooid">AnOnionooid</a> is an Android app that helps find and explore Tor relays and bridges.</li>
+<li>Tor's <a href="https://gitweb.torproject.org/tor.git/tree/scripts/maint/updateFallbackDirs.py">fallback directories script</a> generates a list of stable directories.</li>
+<li><a href="https://github.com/duk3luk3/onion-py">OnionPy</a> provides memcached support to cache queried data.</li>
+<li><a href="https://nos-oignons.net/Services/index.en.html">Nos oignons</a> visualizes bandwidth histories of their relays.</li>
+<li><a href="https://metrics.torproject.org/uncharted-data-flow.html">metrics-lib</a> is a Java library to fetch and pars
+e Tor descriptors.</li>
+<li><a href="https://stem.torproject.org/">Stem</a> is a Python library that parses Tor descriptors.</li>
+<li><a href="https://github.com/meejah/txtorcon">Txtorcon</a> is an asynchronous Tor controller library written in Twiste
+d Python.</li>
+<li><a href="https://github.com/NullHypothesis/zoossh">Zoossh</a> is a parser written in Go for Tor-specific data formats
+.</li>
+<li><a href="https://savannah.nongnu.org/projects/koninoo/">koninoo</a> is a simple Java command line interface for query
+ing Onionoo data.</li>
+<li><a href="https://gitweb.torproject.org/user/phw/exitmap.git">Exitmap</a> is a fast and extensible scanner for Tor exi
+t relays.</li>
+<li><a href="https://gitweb.torproject.org/user/phw/sybilhunter.git/">Sybilhunter</a> attempts to detect Sybil attacks on
+ the Tor network.</li>
+</ul>
+    </div>
+
+<jsp:include page="bottom.jsp"/>
+
diff --git a/website/web/WEB-INF/operation.jsp b/website/web/WEB-INF/operation.jsp
new file mode 100644
index 0000000..8888183
--- /dev/null
+++ b/website/web/WEB-INF/operation.jsp
@@ -0,0 +1,33 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+<jsp:include page="top.jsp">
+  <jsp:param name="pageTitle" value="Operation – Tor Metrics"/>
+  <jsp:param name="navActive" value="Operation"/>
+</jsp:include>
+
+    <div class="container">
+      <ul class="breadcrumb">
+        <li><a href="index.html">Home</a></li>
+        <li class="active">Operation</li>
+      </ul>
+    </div>
+
+    <div class="container">
+      <h1>Operation</h1>
+<ul>
+<li><a href="https://exonerator.torproject.org/">ExoneraTor</a> tells you if an IP was used by a Tor relay on a given date.</li>
+<li><a href="https://atlas.torproject.org/">Atlas</a> displays data about single relays and bridges in the Tor network.</li>
+<li><a href="https://compass.torproject.org/">Compass</a> groups current relays in different ways to measure Tor's network diversity.</li>
+<li><a href="https://oniontip.com/">OnionTip</a> distributes bitcoin donations to relays that can receive them.</li>
+<li><a href="https://consensus-health.torproject.org/">Consensus Health</a> displays information about the current directory consensus and votes.</li>
+<li><a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-consensus-health">Consensus Issues</a> emails directory authority operators about consensus problems.</li>
+<li><a href="https://onionview.codeplex.com/">Check</a> uses<a href="https://www.torproject.org/projects/tordnsel.html.en">TorDNSEL</a> data to tell users whether they are using Tor or not.</li>
+<li><a href="http://lists.infolabe.net/lists/listinfo/infolabe-anomalies">OII's anomaly detection system</a> ranks countries by how anomalous their Tor usage is.</li>
+<li><a href="https://tor-explorer-10kapart2016.azurewebsites.net/">Tor Explorer</a> displays data on each individual Tor node.</li>
+<li>A <a href="https://duckduckgo.com/">DuckDuckGo</a> search with "tor node" keywords displays Tor node details.</li>
+<li><a href="https://onionview.codeplex.com/">OnionView</a> plots the location of active Tor nodes on an interactive map of the world.</li>
+</ul>
+    </div>
+
+<jsp:include page="bottom.jsp"/>
+
diff --git a/website/web/WEB-INF/research.jsp b/website/web/WEB-INF/research.jsp
index 3ec2e21..d58cff3 100644
--- a/website/web/WEB-INF/research.jsp
+++ b/website/web/WEB-INF/research.jsp
@@ -58,5 +58,13 @@
 
     </div>
 
+    <div class="container">
+<ul>
+<li><a href="https://torps.github.io/">TorPS</a> simulates changes to Tor's path selection algorithm using archived data.</li>
+<li><a href="https://shadow.github.io/">Shadow</a> uses archived Tor directory data to generate realistic network topolog
+ies.</li>
+</ul>
+    </div>
+
 <jsp:include page="bottom.jsp"/>
 
diff --git a/website/web/WEB-INF/tools.jsp b/website/web/WEB-INF/tools.jsp
deleted file mode 100644
index b68d6ba..0000000
--- a/website/web/WEB-INF/tools.jsp
+++ /dev/null
@@ -1,136 +0,0 @@
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-  <title>Tor Metrics</title>
-  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
-  <link href="css/stylesheet-ltr.css" type="text/css" rel="stylesheet">
-  <link href="css/bootstrap.min.css" type="text/css" rel="stylesheet">
-  <link href="images/favicon.ico" type="image/x-icon" rel="shortcut icon">
-</head>
-<body>
-  <div class="center">
-    <div class="main-column">
-        <h2><a href="/"><img src="images/metrics-logo.png" width="153" height="200" alt="Metrics logo"><img src="images/metrics-wordmark.png" width="384" height="50" alt="Metrics wordmark"></a></h2>
-        <br>
-
-<p>"Tor metrics are the ammunition that lets Tor and other security
-advocates argue for a more private and secure Internet from a position
-of data, rather than just dogma or perspective."
-<i>- Bruce Schneier (June 1, 2016)</i></p>
-
-        <!-- Navigation start -->
-        <a href="index.html">Metrics</a> |
-        <a href="about.html">About</a> |
-        <a href="news.html">News</a> |
-        Tools |
-        <a href="research.html">Research</a>
-        <br>
-        <br>
-        <!-- Navigation end -->
-
-<h1>Tools</h1>
-<br>
-
-<p>We list some tools that you can use to collect data about Tor. We don't use
-all of the tools listed here. We use CollecTor to collect (relay data, bridge
-data, etc), OONI to collect (data, data, data), and Onionoo to collect (data,
-data, data).</p>
-
-<p>With these other tools, you can measure different things about Tor that we
-currently do not! We encourage you to do so if you are curious, want check up on
-your relays, or conduct some research.</p>
-
-<h2>Our sources</h2>
-
-<ul>
-<li><a href="https://collector.torproject.org/">CollecTor</a> collects data from
-various nodes and services in the public Tor network.</li>
-<li><a href="https://ooni.torproject.org/">OONI</a>, detects censorship,
-surveillance and traffic manipulation on the internet.</li>
-<li><a href="https://onionoo.torproject.org/">Onionoo</a> provides current and
-past data on relays and bridges to other services.</li>
-</ul>
-
-<h2>Others</h2>
-
-<ul>
-<li><a href="https://gitweb.torproject.org/user/phw/exitmap.git">Exitmap</a> is
-a fast and extensible scanner for Tor exit relays.</li>
-<li><a href="https://github.com/robgjansen/onionperf">OnionPerf</a> measures the
-performance of onion services.</li>
-<li><a href="https://gitweb.torproject.org/torperf.git">Torperf</a> measures Tor
-performance with a set of utilities and Python scripts.</li>
-<li><a href="https://www.torproject.org/projects/tordnsel.html.en">TorDNSEL</a>
-publishes lists of IP addresses of multi-homed Tor exits.</li>
-<li><a
-href="https://gitweb.torproject.org/user/phw/sybilhunter.git/">Sybilhunter</a>
-attempts to detect Sybil attacks on the Tor network.</li>
-<li><a href="https://exonerator.torproject.org/">ExoneraTor</a> tells you if an
-IP was used by a Tor relay on a given date.</li>
-<li><a href="https://torps.github.io/">TorPS</a> simulates changes to Tor's path
-selection algorithm using archived data.</li>
-<li><a
-href="https://play.google.com/store/apps/details?id=com.networksaremadeofstring.anonionooid">AnOnionooid</a>
-is an Android app that helps find and explore Tor relays and bridges.</li>
-<li><a href="https://atlas.torproject.org/">Atlas</a> displays data about single
-relays and bridges in the Tor network.</li>
-<li><a href="https://compass.torproject.org/">Compass</a> groups current relays in
-different ways to measure Tor's network diversity.</li>
-<li><a href="https://oniontip.com/">OnionTip</a> distributes bitcoin donations
-to relays that can receive them.</li>
-<li><a href="https://onionview.codeplex.com/">OnionView</a> plots the location
-of active Tor nodes on an interactive map of the world.</li>
-<li><a href="https://consensus-health.torproject.org/">Consensus Health</a>
-displays information about the current directory consensus and votes.</li>
-<li><a
-href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-consensus-health">Consensus
-Issues</a> emails directory authority operators about consensus problems.</li>
-<li><a href="https://onionview.codeplex.com/">Check</a> uses<a
-href="https://www.torproject.org/projects/tordnsel.html.en">TorDNSEL</a> data to
-tell users whether they are using Tor or not.</li>
-<li><a href="https://shadow.github.io/">Shadow</a> uses archived Tor directory
-data to generate realistic network topologies.</li>
-<li><a href="http://lists.infolabe.net/lists/listinfo/infolabe-anomalies">OII's
-anomaly detection system</a> ranks countries by how anomalous their Tor usage
-is.</li>
-<li>Tor's <a
-href="https://gitweb.torproject.org/tor.git/tree/scripts/maint/updateFallbackDirs.py">fallback
-directories script</a> generates a list of stable directories.</li>
-<li><a href="https://github.com/duk3luk3/onion-py">OnionPy</a> provides memcached support to cache queried data.</li>
-</ul>
-
-<h2>Things we took out for now</h2>
-
-<ul>
-<li><a href="http://tor2web.org/">Tor2web</a> is a web proxy for Tor Hidden
-Services.</li>
-<li><a href="https://tor-explorer-10kapart2016.azurewebsites.net/">Tor
-Explorer</a> displays data on each individual Tor node.</li>
-<li><a href="https://nos-oignons.net/Services/index.en.html">Nos oignons</a>
-visualizes bandwidth histories of their relays.</li>
-<li><a href="https://github.com/kloesing/challenger">challenger</a> aggregates
-data from relays participating in EFF's 2014 Tor Challenge.</li>
-<li>A <a href="https://duckduckgo.com/">DuckDuckGo</a> search with "tor node"
-keywords displays Tor node details.</li>
-<li><a
-href="https://metrics.torproject.org/uncharted-data-flow.html">metrics-lib</a>
-is a Java library to fetch and parse Tor descriptors.</li>
-<li><a href="https://stem.torproject.org/">Stem</a> is a Python library that
-parses Tor descriptors.</li>
-<li><a href="https://github.com/meejah/txtorcon">Txtorcon</a> is an asynchronous
-Tor controller library written in Twisted Python.</li>
-<li><a href="https://github.com/NullHypothesis/zoossh">Zoossh</a> is a parser written in Go for Tor-specific data formats.</li>
-<li><a href="https://savannah.nongnu.org/projects/koninoo/">koninoo</a> is a
-simple Java command line interface for querying Onionoo data.</li>
-</ul>
-
-    </div>
-  </div>
-  <div class="bottom" id="bottom">
-    <%@ include file="footer.jsp"%>
-  </div>
-</body>
-</html>
-





More information about the tor-commits mailing list