tor-commits
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
March 2015
- 23 participants
- 1889 discussions

[bridgedb/develop] Merge branch 'hotfix/0.2.4-14797-4405-missing-proxylistfile' into develop
by isis@torproject.org 18 Mar '15
by isis@torproject.org 18 Mar '15
18 Mar '15
commit 90bf6d967e636f544945497db3616c06895ba2a3
Merge: a845176 e831ea0
Author: Isis Lovecruft <isis(a)torproject.org>
Date: Wed Mar 18 01:04:16 2015 +0000
Merge branch 'hotfix/0.2.4-14797-4405-missing-proxylistfile' into develop
lib/bridgedb/proxy.py | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
1
0

[bridgedb/develop] Handle bridgedb.proxy.loadProxiesFromFile() errors when missing files.
by isis@torproject.org 18 Mar '15
by isis@torproject.org 18 Mar '15
18 Mar '15
commit e831ea05fd833d1490e71edb7565720b6f51a5ff
Author: Isis Lovecruft <isis(a)torproject.org>
Date: Wed Mar 18 00:24:44 2015 +0000
Handle bridgedb.proxy.loadProxiesFromFile() errors when missing files.
* FIXES a problem found during #14797, introduced during #4405 (but actually
present before that in the legacy code, see branch
https://gitweb.torproject.org/user/isis/bridgedb.git/log/?h=hotfix/0.2.4-14…)
---
lib/bridgedb/proxy.py | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/lib/bridgedb/proxy.py b/lib/bridgedb/proxy.py
index 6b6f6ac..fe575b3 100644
--- a/lib/bridgedb/proxy.py
+++ b/lib/bridgedb/proxy.py
@@ -82,18 +82,21 @@ def loadProxiesFromFile(filename, proxySet=None, removeStale=False):
if proxySet:
oldProxySet = proxySet.copy()
- with open(filename, 'r') as proxyFile:
- for line in proxyFile.readlines():
- line = line.strip()
- if proxySet:
- # ProxySet.add() will validate the IP address
- if proxySet.add(line, tag=filename):
- logging.info("Added %s to the proxy list." % line)
- addresses.append(line)
- else:
- ip = isIPAddress(line)
- if ip:
- addresses.append(ip)
+ try:
+ with open(filename, 'r') as proxyFile:
+ for line in proxyFile.readlines():
+ line = line.strip()
+ if proxySet:
+ # ProxySet.add() will validate the IP address
+ if proxySet.add(line, tag=filename):
+ logging.info("Added %s to the proxy list." % line)
+ addresses.append(line)
+ else:
+ ip = isIPAddress(line)
+ if ip:
+ addresses.append(ip)
+ except Exception as error:
+ logging.warn("Error while reading a proxy list file: %s" % str(error))
if proxySet:
stale = list(oldProxySet.difference(addresses))
1
0

17 Mar '15
commit 70d1636d266ef05acdefcfff257774d2a8625f23
Author: Philipp Winter <phw(a)torproject.org>
Date: Wed Mar 18 00:52:36 2015 +0100
Show better error message for search errors.
If Atlas cannot get a response from Onionoo, it's not always the user's
fault. This fix changes the error message to make that clear.
Hopefully, this will result in less bug reports when Onionoo is offline.
---
templates/search/do.html | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/templates/search/do.html b/templates/search/do.html
index ddbd21d..dfb0fc1 100644
--- a/templates/search/do.html
+++ b/templates/search/do.html
@@ -14,11 +14,13 @@
</div>
<% } else if (error == 2) {%>
<div class="alert alert-error">
- <strong>Backend error!</strong><p>The backend server replied with an error
-to your query. This probably means that you did not properly format your query.
-If your query was properly formatted it may mean that there is an issue with your browser/add-ons.
-Please report which browser/addons/etc. you're using to <a href="https://trac.torproject.org/projects/tor/newticket?component=Atlas">the bug tracker.</a>
- </p>
+ <strong>Backend error!</strong>
+ <p>Atlas is unable to get a response from its backend server. This
+ probably means that the backend server is unavailable right now. This
+ can also happen, however, if you did not format your query correctly.
+ Please have a look at <a href="https://atlas.torproject.org/#about">this
+ page</a> that explains what type of search queries are supported by
+ Atlas.</p>
</div>
<% } else if (error == 3) {%>
<div class="alert alert-error">
1
0

[metrics-web/master] fixup! Add graph for unique .onion addresses.
by karsten@torproject.org 17 Mar '15
by karsten@torproject.org 17 Mar '15
17 Mar '15
commit a9c43bceb39c57cb213aa100704c9105839c9b5c
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Tue Mar 17 09:59:17 2015 +0100
fixup! Add graph for unique .onion addresses.
---
website/web/WEB-INF/hidserv-dir-onions-seen.jsp | 66 +++++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/website/web/WEB-INF/hidserv-dir-onions-seen.jsp b/website/web/WEB-INF/hidserv-dir-onions-seen.jsp
new file mode 100644
index 0000000..ebab737
--- /dev/null
+++ b/website/web/WEB-INF/hidserv-dir-onions-seen.jsp
@@ -0,0 +1,66 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+ <title>Tor Metrics — Unique .onion addresses</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="/images/favicon.ico" type="image/x-icon" rel="shortcut icon">
+</head>
+<body>
+ <div class="center">
+ <%@ include file="banner.jsp"%>
+ <div class="main-column">
+
+<h2><a href="/">Tor Metrics</a> — Unique .onion addresses</h2>
+<br>
+<p>The following graph shows the number of unique .onion addresses in
+the network per day.
+These numbers are extrapolated from aggregated statistics on unique
+.onion addresses reported by single <a href="about.html#relay">relays</a>
+acting as <a href="about.html#hidden-service">hidden-service</a>
+directories, if at least 1% of relays reported these statistics.
+For more details on the extrapolation algorithm, see <a
+href="https://blog.torproject.org/blog/some-statistics-about-onions">this
+blog post</a> and <a
+href="https://research.torproject.org/techreports/extrapolating-hidserv-stats-201…">this
+technical report</a>.</p>
+
+<img src="hidserv-dir-onions-seen.png${hidserv_dir_onions_seen_url}"
+ width="576" height="360" alt="Unique .onion addresses graph">
+<form action="hidserv-dir-onions-seen.html">
+ <div class="formrow">
+ <input type="hidden" name="graph" value="hidserv-dir-onions-seen">
+ <p>
+ <label>Start date (yyyy-mm-dd):</label>
+ <input type="text" name="start" size="10"
+ value="<c:choose><c:when test="${fn:length(hidserv_dir_onions_seen_start) == 0}">${default_start_date}</c:when><c:otherwise>${hidserv_dir_onions_seen_start[0]}</c:otherwise></c:choose>">
+ <label>End date (yyyy-mm-dd):</label>
+ <input type="text" name="end" size="10"
+ value="<c:choose><c:when test="${fn:length(hidserv_dir_onions_seen_end) == 0}">${default_end_date}</c:when><c:otherwise>${hidserv_dir_onions_seen_end[0]}</c:otherwise></c:choose>">
+ </p><p>
+ <input class="submit" type="submit" value="Update graph">
+ </p>
+ </div>
+</form>
+<p>Download graph as
+<a href="hidserv-dir-onions-seen.pdf${hidserv_dir_onions_seen_url}">PDF</a> or
+<a href="hidserv-dir-onions-seen.svg${hidserv_dir_onions_seen_url}">SVG</a>.</p>
+<br>
+
+<h4>Related metrics</h4>
+<ul>
+<li><a href="relayflags.html">Graph: Relays with Exit, Fast, Guard, Stable, and HSDir flags</a></li>
+<li><a href="hidserv-data.html">Data: Hidden-service statistics</a></li>
+</ul>
+
+ </div>
+ </div>
+ <div class="bottom" id="bottom">
+ <%@ include file="footer.jsp"%>
+ </div>
+</body>
+</html>
+
1
0
commit 4ea56ba80d54d8a34a994181ecb715c544654162
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Tue Mar 17 10:28:56 2015 +0100
Add two hidserv-stats graphs.
Implements (part of?) #15273.
---
website/etc/web.xml | 8 +++
website/rserve/graphs.R | 51 +++++++++++++++
.../org/torproject/metrics/web/IndexServlet.java | 6 ++
.../metrics/web/graphs/GraphsSubpagesServlet.java | 4 ++
.../metrics/web/graphs/RObjectGenerator.java | 4 ++
website/web/WEB-INF/hidserv-data.jsp | 3 +-
website/web/WEB-INF/hidserv-dir-onions-seen.jsp | 3 +-
website/web/WEB-INF/hidserv-frac-reporting.jsp | 66 +++++++++++++++++++
website/web/WEB-INF/hidserv-rend-relayed-cells.jsp | 68 ++++++++++++++++++++
9 files changed, 211 insertions(+), 2 deletions(-)
diff --git a/website/etc/web.xml b/website/etc/web.xml
index 09c0a8b..1cb3381 100644
--- a/website/etc/web.xml
+++ b/website/etc/web.xml
@@ -66,6 +66,8 @@
<url-pattern>/connbidirect-data.html</url-pattern>
<url-pattern>/hidserv-data.html</url-pattern>
<url-pattern>/hidserv-dir-onions-seen.html</url-pattern>
+ <url-pattern>/hidserv-rend-relayed-cells.html</url-pattern>
+ <url-pattern>/hidserv-frac-reporting.html</url-pattern>
</servlet-mapping>
<servlet>
@@ -250,6 +252,12 @@
<url-pattern>/hidserv-dir-onions-seen.png</url-pattern>
<url-pattern>/hidserv-dir-onions-seen.pdf</url-pattern>
<url-pattern>/hidserv-dir-onions-seen.svg</url-pattern>
+ <url-pattern>/hidserv-rend-relayed-cells.png</url-pattern>
+ <url-pattern>/hidserv-rend-relayed-cells.pdf</url-pattern>
+ <url-pattern>/hidserv-rend-relayed-cells.svg</url-pattern>
+ <url-pattern>/hidserv-frac-reporting.png</url-pattern>
+ <url-pattern>/hidserv-frac-reporting.pdf</url-pattern>
+ <url-pattern>/hidserv-frac-reporting.svg</url-pattern>
</servlet-mapping>
<servlet>
diff --git a/website/rserve/graphs.R b/website/rserve/graphs.R
index 7f68854..63946fe 100644
--- a/website/rserve/graphs.R
+++ b/website/rserve/graphs.R
@@ -1010,3 +1010,54 @@ plot_hidserv_dir_onions_seen <- function(start, end, path) {
ggsave(filename = path, width = 8, height = 5, dpi = 72)
}
+plot_hidserv_rend_relayed_cells <- function(start, end, path) {
+ end <- min(end, as.character(Sys.Date() - 2))
+ h <- read.csv(paste("/srv/metrics.torproject.org/web/shared/stats/",
+ "hidserv.csv", sep = ""), stringsAsFactors = FALSE)
+ h <- h[h$date >= start & h$date <= end &
+ h$type == "rend-relayed-cells", ]
+ h <- rbind(data.frame(date = NA, wiqm = 0),
+ data.frame(date = as.Date(h$date, "%Y-%m-%d"),
+ wiqm = ifelse(h$frac >= 0.01, h$wiqm, NA)))
+ date_breaks <- date_breaks(as.numeric(max(h$date, na.rm = TRUE)
+ - min(h$date, na.rm = TRUE)))
+ ggplot(h, aes(x = date, y = wiqm * 8 * 512 / (86400 * 1e6))) +
+ geom_line(size = 0.75) +
+ scale_x_date(name = paste("\nThe Tor Project - ",
+ "https://metrics.torproject.org/", sep = ""),
+ format = date_breaks$format, major = date_breaks$major,
+ minor = date_breaks$minor) +
+ scale_y_continuous(name = "") +
+ opts(title = "Hidden-service traffic in Mbit/s\n")
+ ggsave(filename = path, width = 8, height = 5, dpi = 72)
+}
+
+plot_hidserv_frac_reporting <- function(start, end, path) {
+ end <- min(end, as.character(Sys.Date() - 2))
+ h <- read.csv(paste("/srv/metrics.torproject.org/web/shared/stats/",
+ "hidserv.csv", sep = ""), stringsAsFactors = FALSE)
+ h <- h[h$date >= start & h$date <= end, ]
+ h <- rbind(data.frame(date = NA, frac = 0,
+ type = c("rend-relayed-cells",
+ "dir-onions-seen")),
+ data.frame(date = as.Date(h$date, "%Y-%m-%d"),
+ frac = h$frac, type = h$type))
+ date_breaks <- date_breaks(as.numeric(max(h$date, na.rm = TRUE)
+ - min(h$date, na.rm = TRUE)))
+ ggplot(h, aes(x = date, y = frac, colour = type)) +
+ geom_line(size = 0.75) +
+ geom_hline(yintercept = 0.01, linetype = 2) +
+ scale_x_date(name = paste("\nThe Tor Project - ",
+ "https://metrics.torproject.org/", sep = ""),
+ format = date_breaks$format, major = date_breaks$major,
+ minor = date_breaks$minor) +
+ scale_y_continuous(name = "", formatter = "percent") +
+ scale_colour_hue(name = "",
+ breaks = c("rend-relayed-cells", "dir-onions-seen"),
+ labels = c("Hidden-service traffic",
+ "Unique .onion addresses")) +
+ opts(title = paste("Fraction of relays reporting hidden-service",
+ "statistics"), legend.position = "top")
+ ggsave(filename = path, width = 8, height = 5, dpi = 72)
+}
+
diff --git a/website/src/org/torproject/metrics/web/IndexServlet.java b/website/src/org/torproject/metrics/web/IndexServlet.java
index 7b2c91c..4a3e47c 100644
--- a/website/src/org/torproject/metrics/web/IndexServlet.java
+++ b/website/src/org/torproject/metrics/web/IndexServlet.java
@@ -154,6 +154,12 @@ public class IndexServlet extends HttpServlet {
availableMetrics.add(new Metric("hidserv-dir-onions-seen.html",
"Unique .onion addresses", new String[] { "Hidden services" },
"Graph", "Basic"));
+ availableMetrics.add(new Metric("hidserv-rend-relayed-cells.html",
+ "Hidden-service traffic", new String[] { "Hidden services" },
+ "Graph", "Basic"));
+ availableMetrics.add(new Metric("hidserv-frac-reporting.html",
+ "Fraction of relays reporting hidden-service statistics",
+ new String[] { "Hidden services" }, "Graph", "Advanced"));
availableMetrics.add(new Metric("hidserv-data.html",
"Hidden-service statistics", new String[] { "Hidden services" },
"Data", "Advanced"));
diff --git a/website/src/org/torproject/metrics/web/graphs/GraphsSubpagesServlet.java b/website/src/org/torproject/metrics/web/graphs/GraphsSubpagesServlet.java
index 0333f4d..c2033d5 100644
--- a/website/src/org/torproject/metrics/web/graphs/GraphsSubpagesServlet.java
+++ b/website/src/org/torproject/metrics/web/graphs/GraphsSubpagesServlet.java
@@ -94,6 +94,10 @@ public class GraphsSubpagesServlet extends HttpServlet {
"WEB-INF/hidserv-data.jsp");
this.availableGraphsSubpages.put("hidserv-dir-onions-seen.html",
"WEB-INF/hidserv-dir-onions-seen.jsp");
+ this.availableGraphsSubpages.put("hidserv-rend-relayed-cells.html",
+ "WEB-INF/hidserv-rend-relayed-cells.jsp");
+ this.availableGraphsSubpages.put("hidserv-frac-reporting.html",
+ "WEB-INF/hidserv-frac-reporting.jsp");
this.availableGraphsSubpageTables = new HashMap<String, String>();
this.availableGraphsSubpageTables.put("userstats-relay-table.html",
diff --git a/website/src/org/torproject/metrics/web/graphs/RObjectGenerator.java b/website/src/org/torproject/metrics/web/graphs/RObjectGenerator.java
index b598192..f0fb0f5 100644
--- a/website/src/org/torproject/metrics/web/graphs/RObjectGenerator.java
+++ b/website/src/org/torproject/metrics/web/graphs/RObjectGenerator.java
@@ -88,6 +88,10 @@ public class RObjectGenerator implements ServletContextListener {
this.availableGraphs.put("advbwdist-relay", "start,end,n,filename");
this.availableGraphs.put("hidserv-dir-onions-seen",
"start,end,filename");
+ this.availableGraphs.put("hidserv-rend-relayed-cells",
+ "start,end,filename");
+ this.availableGraphs.put("hidserv-frac-reporting",
+ "start,end,filename");
this.availableGraphFileTypes = new HashSet<String>(Arrays.asList(
"png,pdf,svg".split(",")));
diff --git a/website/web/WEB-INF/hidserv-data.jsp b/website/web/WEB-INF/hidserv-data.jsp
index ef31f86..f8ccdf2 100644
--- a/website/web/WEB-INF/hidserv-data.jsp
+++ b/website/web/WEB-INF/hidserv-data.jsp
@@ -52,7 +52,8 @@ network fraction.</li>
<h4>Related metrics</h4>
<ul>
<li><a href="hidserv-dir-onions-seen.html">Graph: Unique .onion addresses</a></li>
-<li><a href="relayflags.html">Graph: Relays with Exit, Fast, Guard, Stable, and HSDir flags</a></li>
+<li><a href="hidserv-rend-relayed-cells.html">Graph: Hidden-service traffic</a></li>
+<li><a href="hidserv-frac-reporting.html">Graph: Fraction of relays reporting hidden-service statistics</a></li>
</ul>
</div>
diff --git a/website/web/WEB-INF/hidserv-dir-onions-seen.jsp b/website/web/WEB-INF/hidserv-dir-onions-seen.jsp
index ebab737..6983538 100644
--- a/website/web/WEB-INF/hidserv-dir-onions-seen.jsp
+++ b/website/web/WEB-INF/hidserv-dir-onions-seen.jsp
@@ -52,7 +52,8 @@ technical report</a>.</p>
<h4>Related metrics</h4>
<ul>
-<li><a href="relayflags.html">Graph: Relays with Exit, Fast, Guard, Stable, and HSDir flags</a></li>
+<li><a href="hidserv-rend-relayed-cells.html">Graph: Hidden-service traffic</a></li>
+<li><a href="hidserv-frac-reporting.html">Graph: Fraction of relays reporting hidden-service statistics</a></li>
<li><a href="hidserv-data.html">Data: Hidden-service statistics</a></li>
</ul>
diff --git a/website/web/WEB-INF/hidserv-frac-reporting.jsp b/website/web/WEB-INF/hidserv-frac-reporting.jsp
new file mode 100644
index 0000000..d1cc30d
--- /dev/null
+++ b/website/web/WEB-INF/hidserv-frac-reporting.jsp
@@ -0,0 +1,66 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+ <title>Tor Metrics — Fraction of relays reporting hidden-service statistics</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="/images/favicon.ico" type="image/x-icon" rel="shortcut icon">
+</head>
+<body>
+ <div class="center">
+ <%@ include file="banner.jsp"%>
+ <div class="main-column">
+
+<h2><a href="/">Tor Metrics</a> — Fraction of relays reporting hidden-service statistics</h2>
+<br>
+<p>The following graph shows the fraction of
+<a href="about.html#relay">relays</a> that report statistics on
+<a href="about.html#hidden-service">hidden service</a> usage.
+If at least 1% of relays report a statistic, it gets extrapolated towards
+a network total, where higher fractions are produce more accurate results.
+For more details on the extrapolation algorithm, see <a
+href="https://blog.torproject.org/blog/some-statistics-about-onions">this
+blog post</a> and <a
+href="https://research.torproject.org/techreports/extrapolating-hidserv-stats-201…">this
+technical report</a>.</p>
+
+<img src="hidserv-frac-reporting.png${hidserv_frac_reporting_url}"
+ width="576" height="360" alt="Fraction of relays reporting hidden-service statistics graph">
+<form action="hidserv-frac-reporting.html">
+ <div class="formrow">
+ <input type="hidden" name="graph" value="hidserv-frac-reporting">
+ <p>
+ <label>Start date (yyyy-mm-dd):</label>
+ <input type="text" name="start" size="10"
+ value="<c:choose><c:when test="${fn:length(hidserv_frac_reporting_start) == 0}">${default_start_date}</c:when><c:otherwise>${hidserv_frac_reporting_start[0]}</c:otherwise></c:choose>">
+ <label>End date (yyyy-mm-dd):</label>
+ <input type="text" name="end" size="10"
+ value="<c:choose><c:when test="${fn:length(hidserv_frac_reporting_end) == 0}">${default_end_date}</c:when><c:otherwise>${hidserv_frac_reporting_end[0]}</c:otherwise></c:choose>">
+ </p><p>
+ <input class="submit" type="submit" value="Update graph">
+ </p>
+ </div>
+</form>
+<p>Download graph as
+<a href="hidserv-frac-reporting.pdf${hidserv_frac_reporting_url}">PDF</a> or
+<a href="hidserv-frac-reporting.svg${hidserv_frac_reporting_url}">SVG</a>.</p>
+<br>
+
+<h4>Related metrics</h4>
+<ul>
+<li><a href="hidserv-dir-onions-seen.html">Graph: Unique .onion addresses</a></li>
+<li><a href="hidserv-rend-relayed-cells.html">Graph: Hidden-service traffic</a></li>
+<li><a href="hidserv-data.html">Data: Hidden-service statistics</a></li>
+</ul>
+
+ </div>
+ </div>
+ <div class="bottom" id="bottom">
+ <%@ include file="footer.jsp"%>
+ </div>
+</body>
+</html>
+
diff --git a/website/web/WEB-INF/hidserv-rend-relayed-cells.jsp b/website/web/WEB-INF/hidserv-rend-relayed-cells.jsp
new file mode 100644
index 0000000..7c7f89a
--- /dev/null
+++ b/website/web/WEB-INF/hidserv-rend-relayed-cells.jsp
@@ -0,0 +1,68 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+ <title>Tor Metrics — Hidden-service traffic</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="/images/favicon.ico" type="image/x-icon" rel="shortcut icon">
+</head>
+<body>
+ <div class="center">
+ <%@ include file="banner.jsp"%>
+ <div class="main-column">
+
+<h2><a href="/">Tor Metrics</a> — Hidden-service traffic</h2>
+<br>
+<p>The following graph shows the amount of hidden-service traffic in the
+network per day.
+This number is extrapolated from aggregated statistics on hidden-service
+traffic reported by single <a href="about.html#relay">relays</a>
+acting as rendezvous points for
+<a href="about.html#hidden-service">hidden services</a>, if at least 1% of
+relays reported these statistics.
+For more details on the extrapolation algorithm, see <a
+href="https://blog.torproject.org/blog/some-statistics-about-onions">this
+blog post</a> and <a
+href="https://research.torproject.org/techreports/extrapolating-hidserv-stats-201…">this
+technical report</a>.</p>
+
+<img src="hidserv-rend-relayed-cells.png${hidserv_rend_relayed_cells_url}"
+ width="576" height="360" alt="Hidden-service traffic graph">
+<form action="hidserv-rend-relayed-cells.html">
+ <div class="formrow">
+ <input type="hidden" name="graph" value="hidserv-rend-relayed-cells">
+ <p>
+ <label>Start date (yyyy-mm-dd):</label>
+ <input type="text" name="start" size="10"
+ value="<c:choose><c:when test="${fn:length(hidserv_rend_relayed_cells_start) == 0}">${default_start_date}</c:when><c:otherwise>${hidserv_rend_relayed_cells_start[0]}</c:otherwise></c:choose>">
+ <label>End date (yyyy-mm-dd):</label>
+ <input type="text" name="end" size="10"
+ value="<c:choose><c:when test="${fn:length(hidserv_rend_relayed_cells_end) == 0}">${default_end_date}</c:when><c:otherwise>${hidserv_rend_relayed_cells_end[0]}</c:otherwise></c:choose>">
+ </p><p>
+ <input class="submit" type="submit" value="Update graph">
+ </p>
+ </div>
+</form>
+<p>Download graph as
+<a href="hidserv-rend-relayed-cells.pdf${hidserv_rend_relayed_cells_url}">PDF</a> or
+<a href="hidserv-rend-relayed-cells.svg${hidserv_rend_relayed_cells_url}">SVG</a>.</p>
+<br>
+
+<h4>Related metrics</h4>
+<ul>
+<li><a href="hidserv-dir-onions-seen.html">Graph: Unique .onion addresses</a></li>
+<li><a href="hidserv-frac-reporting.html">Graph: Fraction of relays reporting hidden-service statistics</a></li>
+<li><a href="hidserv-data.html">Data: Hidden-service statistics</a></li>
+</ul>
+
+ </div>
+ </div>
+ <div class="bottom" id="bottom">
+ <%@ include file="footer.jsp"%>
+ </div>
+</body>
+</html>
+
1
0

17 Mar '15
commit a364fca14475272be7b9572f900fe3fb8264521d
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Mon Mar 16 16:46:10 2015 +0100
Turn home page into table of metrics.
---
.../org/torproject/metrics/web/IndexServlet.java | 326 +++++++++++++++++++-
website/web/WEB-INF/index.jsp | 133 ++++----
2 files changed, 384 insertions(+), 75 deletions(-)
diff --git a/website/src/org/torproject/metrics/web/IndexServlet.java b/website/src/org/torproject/metrics/web/IndexServlet.java
index c42b0e9..7b2c91c 100644
--- a/website/src/org/torproject/metrics/web/IndexServlet.java
+++ b/website/src/org/torproject/metrics/web/IndexServlet.java
@@ -1,24 +1,340 @@
-/* Copyright 2011, 2012 The Tor Project
+/* Copyright 2011--2015 The Tor Project
* See LICENSE for licensing information */
package org.torproject.metrics.web;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.BitSet;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+@SuppressWarnings("serial")
public class IndexServlet extends HttpServlet {
- private static final long serialVersionUID = 7871368999788994664L;
+ private static final String[][] knownTags = new String[][] {
+ { "cl", "Clients" },
+ { "rl", "Relays" },
+ { "br", "Bridges" },
+ { "pt", "Pluggable transports" },
+ { "hs", "Hidden services" },
+ { "bw", "Bandwidth" },
+ { "pf", "Performance" },
+ { "dv", "Diversity" }
+ };
+ private static final String[] defaultTags =
+ new String[] { "cl", "rl", "br", "pt", "hs", "bw", "pf", "dv" };
+
+ private static final String[][] knownTypes = new String[][] {
+ { "gr", "Graph" },
+ { "tb", "Table" },
+ { "ln", "Link" },
+ { "dt", "Data" }
+ };
+ private static final String[] defaultTypes =
+ new String[] { "gr", "tb", "ln", "dt" };
+
+ private static final String[][] knownLevels = new String[][] {
+ { "bs", "Basic" },
+ { "ad", "Advanced" }
+ };
+ private static final String[] defaultLevels = new String[] { "bs" };
+
+ private static final String[][] knownOrders = new String[][] {
+ { "name", "Name" },
+ { "tags", "Tags" },
+ { "type", "Type" },
+ { "level", "Level" },
+ { "shuffle", "None (shuffle)" }
+ };
+ private static final String[] defaultOrders = new String[] { "type" };
+
+ private final static List<Metric> availableMetrics;
+ static {
+ availableMetrics = new ArrayList<Metric>();
+ availableMetrics.add(new Metric("networksize.html",
+ "Relays and bridges in the network",
+ new String[] { "Relays", "Bridges" }, "Graph", "Basic"));
+ availableMetrics.add(new Metric("relayflags.html",
+ "Relays with Exit, Fast, Guard, Stable, and HSDir flags",
+ new String[] { "Relays" }, "Graph", "Basic"));
+ availableMetrics.add(new Metric("versions.html",
+ "Relays by version", new String[] { "Relays", "Diversity" },
+ "Graph", "Basic"));
+ availableMetrics.add(new Metric("platforms.html",
+ "Relays by platform", new String[] { "Relays", "Diversity" },
+ "Graph", "Basic"));
+ availableMetrics.add(new Metric("cloudbridges.html",
+ "Tor Cloud bridges", new String[] { "Bridges" }, "Graph",
+ "Basic"));
+ availableMetrics.add(new Metric("servers-data.html",
+ "Number of relays and bridges",
+ new String[] { "Relays", "Bridges", "Diversity" }, "Data",
+ "Advanced"));
+ availableMetrics.add(new Metric("bandwidth.html",
+ "Total relay bandwidth in the network",
+ new String[] { "Relays", "Bandwidth" }, "Graph", "Basic"));
+ availableMetrics.add(new Metric("bwhist-flags.html",
+ "Relay bandwidth by Exit and/or Guard flags",
+ new String[] { "Relays", "Bandwidth" }, "Graph", "Basic"));
+ availableMetrics.add(new Metric("bandwidth-flags.html",
+ "Advertised bandwidth and bandwidth history by relay flags",
+ new String[] { "Relays", "Bandwidth" }, "Graph", "Basic"));
+ availableMetrics.add(new Metric("dirbytes.html",
+ "Number of bytes spent on answering directory requests",
+ new String[] { "Relays", "Bandwidth" }, "Graph", "Basic"));
+ availableMetrics.add(new Metric("advbwdist-perc.html",
+ "Advertised bandwidth distribution",
+ new String[] { "Relays", "Bandwidth" }, "Graph", "Basic"));
+ availableMetrics.add(new Metric("advbwdist-relay.html",
+ "Advertised bandwidth of n-th fastest relays",
+ new String[] { "Relays", "Bandwidth" }, "Graph", "Basic"));
+ availableMetrics.add(new Metric("bandwidth-data.html",
+ "Bandwidth provided and consumed by relays",
+ new String[] { "Relays", "Bandwidth" }, "Data", "Advanced"));
+ availableMetrics.add(new Metric("advbwdist-data.html",
+ "Advertised bandwidth distribution and n-th fastest relays",
+ new String[] { "Relays", "Bandwidth" }, "Data", "Advanced"));
+ availableMetrics.add(new Metric("bubbles.html",
+ "Network bubble graphs", new String[] { "Relays", "Diversity" },
+ "Graph", "Basic"));
+ availableMetrics.add(new Metric("userstats-relay-country.html",
+ "Direct users by country", new String[] { "Clients" }, "Graph",
+ "Basic"));
+ availableMetrics.add(new Metric("userstats-relay-table.html",
+ "Top-10 countries by directly connecting users",
+ new String[] { "Clients" }, "Table", "Basic"));
+ availableMetrics.add(new Metric("userstats-censorship-events.html",
+ "Top-10 countries by possible censorship events",
+ new String[] { "Clients" }, "Table", "Basic"));
+ availableMetrics.add(new Metric("userstats-bridge-country.html",
+ "Bridge users by country", new String[] { "Clients" }, "Graph",
+ "Basic"));
+ availableMetrics.add(new Metric("userstats-bridge-table.html",
+ "Top-10 countries by bridge users", new String[] { "Clients" },
+ "Table", "Basic"));
+ availableMetrics.add(new Metric("userstats-bridge-transport.html",
+ "Bridge users by transport",
+ new String[] { "Clients", "Pluggable transports" }, "Graph",
+ "Basic"));
+ availableMetrics.add(new Metric("userstats-bridge-version.html",
+ "Bridge users by IP version", new String[] { "Clients" }, "Graph",
+ "Basic"));
+ availableMetrics.add(new Metric("oxford-anonymous-internet.html",
+ "Tor users as percentage of larger Internet population",
+ new String[] { "Clients" }, "Link", "Basic"));
+ availableMetrics.add(new Metric("clients-data.html",
+ "Estimated number of clients in the Tor network",
+ new String[] { "Clients", "Pluggable transports" }, "Data",
+ "Advanced"));
+ availableMetrics.add(new Metric("torperf.html",
+ "Time to download files over Tor", new String[] { "Performance" },
+ "Graph", "Basic"));
+ availableMetrics.add(new Metric("torperf-failures.html",
+ "Timeouts and failures of downloading files over Tor",
+ new String[] { "Performance" }, "Graph", "Advanced"));
+ availableMetrics.add(new Metric("connbidirect.html",
+ "Fraction of connections used uni-/bidirectionally",
+ new String[] { "Performance" }, "Graph", "Advanced"));
+ availableMetrics.add(new Metric("torperf-data.html",
+ "Performance of downloading static files over Tor",
+ new String[] { "Performance" }, "Data", "Advanced"));
+ availableMetrics.add(new Metric("connbidirect-data.html",
+ "Fraction of connections used uni-/bidirectionally",
+ new String[] { "Performance" }, "Data", "Advanced"));
+ availableMetrics.add(new Metric("hidserv-dir-onions-seen.html",
+ "Unique .onion addresses", new String[] { "Hidden services" },
+ "Graph", "Basic"));
+ availableMetrics.add(new Metric("hidserv-data.html",
+ "Hidden-service statistics", new String[] { "Hidden services" },
+ "Data", "Advanced"));
+ }
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
-
- /* Forward the request to the JSP that does all the hard work. */
+ @SuppressWarnings("rawtypes")
+ Map parameterMap = request.getParameterMap();
+ BitSet requestedTags = this.parseParameter(
+ (String[]) parameterMap.get("tag"), knownTags, defaultTags);
+ BitSet requestedTypes = this.parseParameter(
+ (String[]) parameterMap.get("type"), knownTypes, defaultTypes);
+ BitSet requestedLevels = this.parseParameter(
+ (String[]) parameterMap.get("level"), knownLevels, defaultLevels);
+ BitSet requestedOrder = this.parseParameter(
+ (String[]) parameterMap.get("order"), knownOrders, defaultOrders);
+ request.setAttribute("tags", this.formatParameter(knownTags,
+ requestedTags));
+ request.setAttribute("types", this.formatParameter(knownTypes,
+ requestedTypes));
+ request.setAttribute("levels", this.formatParameter(knownLevels,
+ requestedLevels));
+ request.setAttribute("order", this.formatParameter(knownOrders,
+ requestedOrder));
+ List<Metric> filteredAndOrderedMetrics = this.filterMetrics(
+ requestedTags, requestedTypes, requestedLevels);
+ this.orderMetrics(filteredAndOrderedMetrics, requestedOrder);
+ request.setAttribute("results", this.formatMetrics(
+ filteredAndOrderedMetrics));
request.getRequestDispatcher("WEB-INF/index.jsp").forward(request,
response);
}
-}
+ private BitSet parseParameter(String[] unparsedValues,
+ String[][] knownValues, String[] defaultValues) {
+ BitSet result = new BitSet();
+ if (unparsedValues == null || unparsedValues.length == 0 ||
+ unparsedValues.length > knownValues.length) {
+ unparsedValues = defaultValues;
+ }
+ Set<String> requestedValues =
+ new HashSet<String>(Arrays.asList(unparsedValues));
+ for (int i = 0; i < knownValues.length; i++) {
+ if (requestedValues.contains(knownValues[i][0])) {
+ result.set(i);
+ }
+ }
+ return result;
+ }
+
+ private String[][] formatParameter(String[][] strings, BitSet bitSet) {
+ String[][] formattedParameter = new String[strings.length][];
+ for (int i = 0; i < formattedParameter.length; i++) {
+ String[] formatted = new String[] { strings[i][0], strings[i][1],
+ "" };
+ if (bitSet.get(i)) {
+ formatted[2] = " checked";
+ }
+ formattedParameter[i] = formatted;
+ }
+ return formattedParameter;
+ }
+
+ private static class Metric {
+ private String url;
+ private String name;
+ private BitSet tags;
+ private BitSet type;
+ private BitSet level;
+ private Metric(String url, String name, String[] tagStrings,
+ String typeString, String levelString) {
+ this.url = url;
+ this.name = name;
+ this.tags = this.convertStringsToBitSet(knownTags, tagStrings);
+ this.type = this.convertStringToBitSet(knownTypes, typeString);
+ this.level = this.convertStringToBitSet(knownLevels, levelString);
+ }
+ private BitSet convertStringsToBitSet(String[][] knownKeysAndValues,
+ String[] givenKeyStrings) {
+ BitSet result = new BitSet(knownKeysAndValues.length);
+ Set<String> keys = new HashSet<String>(Arrays.asList(
+ givenKeyStrings));
+ for (int i = 0; i < knownKeysAndValues.length; i++) {
+ if (keys.contains(knownKeysAndValues[i][1])) {
+ result.set(i);
+ }
+ }
+ if (result.cardinality() != givenKeyStrings.length) {
+ throw new RuntimeException("Unknown key(s): " + keys);
+ }
+ return result;
+ }
+ private BitSet convertStringToBitSet(String[][] knownKeysAndValues,
+ String givenKeyString) {
+ return this.convertStringsToBitSet(knownKeysAndValues,
+ new String[] { givenKeyString });
+ }
+ private String[] toStrings() {
+ return new String[] { this.url, this.name,
+ this.convertBitSetToString(knownTags, this.tags),
+ this.convertBitSetToString(knownTypes, this.type),
+ this.convertBitSetToString(knownLevels, this.level) };
+ }
+ private String convertBitSetToString(String[][] knownKeysAndValues,
+ BitSet bitSet) {
+ StringBuilder sb = new StringBuilder();
+ int i = -1;
+ while ((i = bitSet.nextSetBit(i + 1)) >= 0) {
+ sb.append(", " + knownKeysAndValues[i][1]);
+ }
+ return sb.substring(Math.min(sb.length(), 2));
+ }
+ }
+
+ private List<Metric> filterMetrics(BitSet requestedTags,
+ BitSet requestedTypes, BitSet requestedLevels) {
+ List<Metric> filteredMetrics = new ArrayList<Metric>();
+ for (Metric metric : availableMetrics) {
+ if (requestedTags.intersects(metric.tags) &&
+ requestedTypes.intersects(metric.type) &&
+ requestedLevels.intersects(metric.level)) {
+ filteredMetrics.add(metric);
+ }
+ }
+ return filteredMetrics;
+ }
+
+ private void orderMetrics(List<Metric> resultMetrics,
+ BitSet requestedOrder) {
+ switch (requestedOrder.nextSetBit(0)) {
+ case 0:
+ Collections.sort(resultMetrics, new Comparator<Metric>() {
+ public int compare(Metric a, Metric b) {
+ return a.name.compareTo(b.name);
+ }
+ });
+ break;
+ case 1:
+ Collections.sort(resultMetrics, new Comparator<Metric>() {
+ public int compare(Metric a, Metric b) {
+ return compareTwoBitSets(a.tags, b.tags);
+ }
+ });
+ break;
+ case 2:
+ Collections.sort(resultMetrics, new Comparator<Metric>() {
+ public int compare(Metric a, Metric b) {
+ return compareTwoBitSets(a.type, b.type);
+ }
+ });
+ break;
+ case 3:
+ Collections.sort(resultMetrics, new Comparator<Metric>() {
+ public int compare(Metric a, Metric b) {
+ return compareTwoBitSets(a.level, b.level);
+ }
+ });
+ break;
+ default:
+ Collections.shuffle(resultMetrics);
+ break;
+ }
+ }
+
+ private int compareTwoBitSets(BitSet a, BitSet b) {
+ if (a.equals(b)) {
+ return 0;
+ }
+ BitSet xor = (BitSet) a.clone();
+ xor.xor(b);
+ return xor.length() == b.length() ? -1 : 1;
+ }
+
+ private String[][] formatMetrics(
+ List<Metric> filteredAndOrderedMetrics) {
+ String[][] formattedMetrics =
+ new String[filteredAndOrderedMetrics.size()][];
+ for (int i = 0; i < formattedMetrics.length; i++) {
+ formattedMetrics[i] = filteredAndOrderedMetrics.get(i).toStrings();
+ }
+ return formattedMetrics;
+ }
+}
diff --git a/website/web/WEB-INF/index.jsp b/website/web/WEB-INF/index.jsp
index 182935b..9ea7e00 100644
--- a/website/web/WEB-INF/index.jsp
+++ b/website/web/WEB-INF/index.jsp
@@ -1,3 +1,5 @@
+<%@ 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>
@@ -21,77 +23,68 @@
<a href="https://www.torproject.org/about/contact.html.en">let us
know</a>.</small></p>
- <h3>Servers</h3>
- <p>How many relays and bridges are in the network?
- How many of them permit exiting?</p>
-<ul>
-<li><a href="networksize.html">Graph: Relays and bridges in the network</a></li>
-<li><a href="relayflags.html">Graph: Relays with Exit, Fast, Guard, Stable, and HSDir flags</a></li>
-<li><a href="versions.html">Graph: Relays by version</a></li>
-<li><a href="platforms.html">Graph: Relays by platform</a></li>
-<li><a href="cloudbridges.html">Graph: Tor Cloud bridges</a></li>
-<li><a href="servers-data.html">Data: Number of relays and bridges</a></li>
-</ul>
+<div>
+<div style="border:1px solid gray;border-radius:10px;padding:10px;float:left;overflow:hidden;margin-right:20px;">
+<form action="/">
+<p>
+<label for="tag"><b>Tags</b></label><br>
+<c:forEach var="row" items="${tags}">
+<input name="tag" type="checkbox" value="${row[0]}" <c:if test="${fn:length(row[2]) > 0}"> checked</c:if>> ${row[1]}</br>
+</c:forEach>
+</p>
+<p>
+<label for="type"><b>Type</b></label></br>
+<c:forEach var="row" items="${types}">
+<input name="type" type="checkbox" value="${row[0]}" <c:if test="${fn:length(row[2]) > 0}"> checked</c:if>> ${row[1]}</br>
+</c:forEach>
+</p>
+<p>
+<label for="level"><b>Level</b></label></br>
+<c:forEach var="row" items="${levels}">
+<input name="level" type="checkbox" value="${row[0]}" <c:if test="${fn:length(row[2]) > 0}"> checked</c:if>> ${row[1]}</br>
+</c:forEach>
+</p>
+<p>
+<label for="sort"><b>Order</b></label></br>
+<c:forEach var="row" items="${order}">
+<input name="order" type="radio" value="${row[0]}" <c:if test="${fn:length(row[2]) > 0}"> checked</c:if>> ${row[1]}</br>
+</c:forEach>
+</p>
+<p>
+<input type="reset" value="Reset">
+<input type="submit" value="Update">
+</p>
+</form>
+</div>
- <h3>Bandwidth</h3>
- <p>How much bandwidth do relays advertise?
- And how much of that is actually consumed?</p>
-
-<ul>
-<li><a href="bandwidth.html">Graph: Total relay bandwidth in the network</a></li>
-<li><a href="bwhist-flags.html">Graph: Relay bandwidth by Exit and/or Guard flags</a></li>
-<li><a href="bandwidth-flags.html">Graph: Advertised bandwidth and bandwidth history by relay flags</a></li>
-<li><a href="dirbytes.html">Graph: Number of bytes spent on answering directory requests</a></li>
-<li><a href="advbwdist-perc.html">Graph: Advertised bandwidth distribution</a></li>
-<li><a href="advbwdist-relay.html">Graph: Advertised bandwidth of n-th fastest relays</a></li>
-<li><a href="bandwidth-data.html">Data: Bandwidth provided and consumed by relays</a></li>
-<li><a href="advbwdist-data.html">Data: Advertised bandwidth distribution and n-th fastest relays</a></li>
-</ul>
-
- <h3>Diversity</h3>
- <p>How diverse is the network?
- In which countries are relays located?</p>
-
-<ul>
-<li><a href="bubbles.html">Graph: Network bubble graphs</a></li>
-</ul>
-
- <h3>Users</h3>
- <p>Where do users come from?
- What transports and IP versions are they using?</p>
-
-<ul>
-<li><a href="userstats-relay-country.html">Graph: Direct users by country</a></li>
-<li><a href="userstats-relay-table.html">Table: Top-10 countries by directly connecting users</a></li>
-<li><a href="userstats-censorship-events.html">Table: Top-10 countries by possible censorship events</a></li>
-<li><a href="userstats-bridge-country.html">Graph: Bridge users by country</a></li>
-<li><a href="userstats-bridge-table.html">Table: Top-10 countries by bridge users</a></li>
-<li><a href="userstats-bridge-transport.html">Graph: Bridge users by transport</a></li>
-<li><a href="userstats-bridge-version.html">Graph: Bridge users by IP version</a></li>
-<li><a href="oxford-anonymous-internet.html">Link: Tor users as percentage of larger Internet population</a></li>
-<li><a href="clients-data.html">Data: Estimated number of clients in the Tor network</a></li>
-</ul>
-
- <h3>Performance</h3>
- <p>How long does it take to download a megabyte of data over Tor?
- How about five?</p>
-
-<ul>
-<li><a href="torperf.html">Graph: Time to download files over Tor</a></li>
-<li><a href="torperf-failures.html">Graph: Timeouts and failures of downloading files over Tor</a></li>
-<li><a href="connbidirect.html">Graph: Fraction of connections used uni-/bidirectionally</a></li>
-<li><a href="torperf-data.html">Data: Performance of downloading static files over Tor</a></li>
-<li><a href="connbidirect-data.html">Data: Fraction of connections used uni-/bidirectionally</a></li>
-</ul>
-
- <h3>Hidden services</h3>
- <p>How many hidden services are there in the network, and how much
- traffic do they handle?</p>
-
-<ul>
-<li><a href="hidserv-dir-onions-seen.html">Graph: Unique .onion addresses</a></li>
-<li><a href="hidserv-data.html">Data: Hidden-service statistics</a></li>
-</ul>
+<div style="overflow:hidden;">
+<style>
+table {
+ border-spacing: 10px;
+}
+</style>
+<table>
+<thead>
+<tr>
+<th>Name</th>
+<th>Tags</th>
+<th>Type</th>
+<th>Level</th>
+</tr>
+</thead>
+<tbody>
+<c:forEach var="row" items="${results}">
+<tr>
+<td><a href="${row[0]}">${row[1]}</a></td>
+<td>${row[2]}</td>
+<td>${row[3]}</td>
+<td>${row[4]}</td>
+</tr>
+</c:forEach>
+</tbody>
+</table>
+</div>
+</div>
</div>
</div>
1
0

[torbutton/master] Add a extensions.torbutton.test_enabled boolean pref.
by mikeperry@torproject.org 17 Mar '15
by mikeperry@torproject.org 17 Mar '15
17 Mar '15
commit bc8f182fa3a5b13dbccc08ee1a21a3f8398d7851
Author: intrigeri <intrigeri(a)boum.org>
Date: Fri Nov 22 14:01:08 2013 +0000
Add a extensions.torbutton.test_enabled boolean pref.
Defaults to true. When disabled, no attempt is made to test if Tor is enabled.
---
src/chrome/content/torbutton.js | 3 ++-
src/defaults/preferences/preferences.js | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 69891c8..a14a097 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -1912,7 +1912,8 @@ function torbutton_do_tor_check()
{
let checkSvc = Cc["@torproject.org/torbutton-torCheckService;1"]
.getService(Ci.nsISupports).wrappedJSObject;
- if (checkSvc.kCheckNotInitiated != checkSvc.statusOfTorCheck)
+ if (checkSvc.kCheckNotInitiated != checkSvc.statusOfTorCheck ||
+ !m.tb_prefs.getBoolPref("extensions.torbutton.test_enabled"))
return; // Only do the check once.
// If we have a tor control port and transparent torification is off,
diff --git a/src/defaults/preferences/preferences.js b/src/defaults/preferences/preferences.js
index 3584581..fb1a702 100644
--- a/src/defaults/preferences/preferences.js
+++ b/src/defaults/preferences/preferences.js
@@ -25,6 +25,7 @@ pref("extensions.torbutton.socks_host","");
pref("extensions.torbutton.socks_port",0);
pref("extensions.torbutton.socks_version",5);
pref("extensions.torbutton.locked_mode",true);
+pref("extensions.torbutton.test_enabled",true);
pref("extensions.torbutton.test_url","https://check.torproject.org/?TorButton=true");
pref("extensions.torbutton.test_url_interactive", "https://check.torproject.org/?lang=__LANG__");
pref("extensions.torbutton.local_tor_check",true);
1
0

[webwml/master] Merge branch 'master' of ssh://git-rw.torproject.org/project/web/webwml
by andrew@torproject.org 17 Mar '15
by andrew@torproject.org 17 Mar '15
17 Mar '15
commit baa57e39a0bb020d7db1bd7b9bb43d0510c620cb
Merge: 91d79dd 4ac2940
Author: Andrew Lewman <andrew(a)torproject.is>
Date: Tue Mar 17 13:17:18 2015 -0400
Merge branch 'master' of ssh://git-rw.torproject.org/project/web/webwml
Makefile | 2 +-
include/versions.wmi | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
1
0
commit 91d79dd215d026edfb5ef39014c5442c5bab7e7d
Author: Andrew Lewman <andrew(a)torproject.is>
Date: Tue Mar 17 13:16:41 2015 -0400
update mirrors table
---
include/mirrors-table.wmi | 302 ++++++++++++++++++++-------------------------
include/tor-mirrors.csv | 152 +++++++++++------------
2 files changed, 210 insertions(+), 244 deletions(-)
diff --git a/include/mirrors-table.wmi b/include/mirrors-table.wmi
index 551927d..16817a0 100644
--- a/include/mirrors-table.wmi
+++ b/include/mirrors-table.wmi
@@ -3,13 +3,13 @@
<td>IS</td>
- <td>torproject.is</td>
+ <td>TheOnionRouter</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://www.torproject.is/dist/">http</a></td>
- <td><a href="http://www.torproject.is/">http</a></td>
+ <td><a href="http://www.theonionrouter.com/dist/">http</a></td>
+ <td><a href="http://www.theonionrouter.com/">http</a></td>
<td> - </td>
<td> - </td>
<td> - </td>
@@ -18,15 +18,32 @@
<tr>
- <td>AT</td>
+ <td>DE</td>
- <td>Tor Supporter</td>
+ <td>torservers</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://torproject.ph3x.at/dist/">http</a></td>
- <td><a href="http://torproject.ph3x.at/">http</a></td>
+ <td><a href="http://www.torservers.net/mirrors/torproject.org/dist/">http</a></td>
+ <td><a href="http://www.torservers.net/mirrors/torproject.org/">http</a></td>
+ <td><a href="https://www.torservers.net/mirrors/torproject.org/dist/">https</a></td>
+ <td><a href="https://www.torservers.net/mirrors/torproject.org/">https</a></td>
+ <td> - </td>
+ <td> - </td>
+</tr>
+
+<tr>
+
+ <td>DE</td>
+
+ <td>PW</td>
+
+ <td>Up to date</td>
+
+ <td> - </td>
+ <td><a href="http://tor.pw.is/dist/">http</a></td>
+ <td><a href="http://tor.pw.is/">http</a></td>
<td> - </td>
<td> - </td>
<td> - </td>
@@ -35,15 +52,15 @@
<tr>
- <td>IS</td>
+ <td>DE</td>
- <td>TheOnionRouter</td>
+ <td>cYbergueRrilLa AnonyMous NeXus</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://www.theonionrouter.com/dist/">http</a></td>
- <td><a href="http://www.theonionrouter.com/">http</a></td>
+ <td><a href="https://tor-mirror.cyberguerrilla.org/dist/">http</a></td>
+ <td><a href="https://tor-mirror.cyberguerrilla.org">http</a></td>
<td> - </td>
<td> - </td>
<td> - </td>
@@ -52,35 +69,35 @@
<tr>
- <td>GR</td>
+ <td>US</td>
- <td>Tor Supporter</td>
+ <td>Evil Routers</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="https://tor.void.gr/dist/">http</a></td>
- <td><a href="https://tor.void.gr">http</a></td>
- <td><a href="https://tor.void.gr/dist/">https</a></td>
- <td><a href="https://tor.void.gr">https</a></td>
+ <td><a href="http://tor1.evilrouters.net/dist/">http</a></td>
+ <td><a href="http://tor1.evilrouters.net/">http</a></td>
+ <td> - </td>
+ <td> - </td>
<td> - </td>
<td> - </td>
</tr>
<tr>
- <td>PL</td>
+ <td>US</td>
- <td>Sebastian M. Bobrecki</td>
+ <td>Setec Administrator</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://tor.iv.net.pl/dist/">http</a></td>
- <td><a href="http://tor.iv.net.pl">http</a></td>
- <td><a href="https://tor.iv.net.pl/dist/">https</a></td>
- <td><a href="https://tor.iv.net.pl">https</a></td>
+ <td><a href="http://tor.nuclear-weapons.net/dist">http</a></td>
+ <td><a href="http://tor.nuclear-weapons.net">http</a></td>
<td> - </td>
+ <td><a href="https://tor.nuclear-weapons.net">https</a></td>
+ <td><a href="https://tor.nuclear-weapons.net/dist">rsync</a></td>
<td> - </td>
</tr>
@@ -120,17 +137,34 @@
<tr>
- <td>SG</td>
+ <td>FR</td>
- <td>NTUOSS</td>
+ <td>BBLN</td>
+
+ <td>Up to date</td>
+
+ <td><a href="ftp://mirror-fr2.bbln.org/torproject/">ftp</a></td>
+ <td><a href="http://mirror-fr2.bbln.org/torproject/dist/">http</a></td>
+ <td><a href="http://mirror-fr2.bbln.org/torproject/">http</a></td>
+ <td><a href="https://mirror-fr2.bbln.org/torproject/dist/">https</a></td>
+ <td><a href="https://mirror-fr2.bbln.org/torproject/">https</a></td>
+ <td><a href="rsync://mirror-fr2.bbln.org/torproject/dist/">rsync</a></td>
+ <td><a href="rsync://mirror-fr2.bbln.org/torproject/">rsync</a></td>
+</tr>
+
+<tr>
+
+ <td>DE</td>
+
+ <td>PW</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://torproject.ntuoss.com/dist/">http</a></td>
- <td><a href="http://torproject.ntuoss.com/">http</a></td>
- <td> - </td>
- <td> - </td>
+ <td><a href="http://tor.pw.is/dist/">http</a></td>
+ <td><a href="http://tor.pw.is/">http</a></td>
+ <td><a href="https://www.it-sicherheitschannel.de/dist/">https</a></td>
+ <td><a href="https://www.it-sicherheitschannel.de/">https</a></td>
<td> - </td>
<td> - </td>
</tr>
@@ -222,15 +256,15 @@
<tr>
- <td>US</td>
+ <td>EE</td>
- <td>Tor Supporter</td>
+ <td>CyberSIDE</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://199.175.55.215/dist/">http</a></td>
- <td><a href="http://199.175.55.215/">http</a></td>
+ <td><a href="http://cyberside.net.ee/tor/">http</a></td>
+ <td><a href="http://cyberside.planet.ee/tor/">http</a></td>
<td> - </td>
<td> - </td>
<td> - </td>
@@ -239,15 +273,15 @@
<tr>
- <td>EE</td>
+ <td>IS</td>
- <td>CyberSIDE</td>
+ <td>torproject.is</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://cyberside.net.ee/tor/">http</a></td>
- <td><a href="http://cyberside.planet.ee/tor/">http</a></td>
+ <td><a href="http://www.torproject.is/dist/">http</a></td>
+ <td><a href="http://www.torproject.is/">http</a></td>
<td> - </td>
<td> - </td>
<td> - </td>
@@ -263,8 +297,8 @@
<td>Up to date</td>
<td> - </td>
- <td><a href="http://tor.dont-know-me.at/dist/">http</a></td>
- <td><a href="http://tor.dont-know-me.at/">http</a></td>
+ <td><a href="http://torproject.ph3x.at/dist/">http</a></td>
+ <td><a href="http://torproject.ph3x.at/">http</a></td>
<td> - </td>
<td> - </td>
<td> - </td>
@@ -375,23 +409,6 @@
<tr>
- <td>DE</td>
-
- <td>torservers</td>
-
- <td>Up to date</td>
-
- <td> - </td>
- <td><a href="http://www.torservers.net/mirrors/torproject.org/dist/">http</a></td>
- <td><a href="http://www.torservers.net/mirrors/torproject.org/">http</a></td>
- <td><a href="https://www.torservers.net/mirrors/torproject.org/dist/">https</a></td>
- <td><a href="https://www.torservers.net/mirrors/torproject.org/">https</a></td>
- <td> - </td>
- <td> - </td>
-</tr>
-
-<tr>
-
<td>IS</td>
<td>myRL.net</td>
@@ -426,23 +443,6 @@
<tr>
- <td>DE</td>
-
- <td>PW</td>
-
- <td>Up to date</td>
-
- <td> - </td>
- <td><a href="http://tor.pw.is/dist/">http</a></td>
- <td><a href="http://tor.pw.is/">http</a></td>
- <td> - </td>
- <td> - </td>
- <td> - </td>
- <td> - </td>
-</tr>
-
-<tr>
-
<td>FR</td>
<td>stalkr.net</td>
@@ -462,23 +462,6 @@
<td>DE</td>
- <td>cYbergueRrilLa AnonyMous NeXus</td>
-
- <td>Up to date</td>
-
- <td> - </td>
- <td><a href="https://tor-mirror.cyberguerrilla.org/dist/">http</a></td>
- <td><a href="https://tor-mirror.cyberguerrilla.org">http</a></td>
- <td> - </td>
- <td> - </td>
- <td> - </td>
- <td> - </td>
-</tr>
-
-<tr>
-
- <td>DE</td>
-
<td>Gtor</td>
<td>Up to date</td>
@@ -511,34 +494,34 @@
<tr>
- <td>DE</td>
+ <td>GR</td>
<td>Tor Supporter</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://reichster.de/mirrors/torproject.org/dist/">http</a></td>
- <td><a href="http://reichster.de/mirrors/torproject.org/">http</a></td>
- <td><a href="https://reichster.de/mirrors/torproject.org/dist/">https</a></td>
- <td><a href="https://reichster.de/mirrors/torproject.org">https</a></td>
+ <td><a href="https://tor.void.gr/dist/">http</a></td>
+ <td><a href="https://tor.void.gr">http</a></td>
+ <td><a href="https://tor.void.gr/dist/">https</a></td>
+ <td><a href="https://tor.void.gr">https</a></td>
<td> - </td>
<td> - </td>
</tr>
<tr>
- <td>US</td>
+ <td>DE</td>
- <td>Evil Routers</td>
+ <td>Tor Supporter</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://tor1.evilrouters.net/dist/">http</a></td>
- <td><a href="http://tor1.evilrouters.net/">http</a></td>
- <td> - </td>
- <td> - </td>
+ <td><a href="http://reichster.de/mirrors/torproject.org/dist/">http</a></td>
+ <td><a href="http://reichster.de/mirrors/torproject.org/">http</a></td>
+ <td><a href="https://reichster.de/mirrors/torproject.org/dist/">https</a></td>
+ <td><a href="https://reichster.de/mirrors/torproject.org">https</a></td>
<td> - </td>
<td> - </td>
</tr>
@@ -562,17 +545,34 @@
<tr>
- <td>IS</td>
+ <td>PL</td>
- <td>Tor Supporter</td>
+ <td>Sebastian M. Bobrecki</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://ayo.tl/tor/dist/">http</a></td>
- <td><a href="http://ayo.tl/tor/">http</a></td>
- <td><a href="https://ayo.tl/tor/dist/">https</a></td>
- <td><a href="https://ayo.tl/tor/">https</a></td>
+ <td><a href="http://tor.iv.net.pl/dist/">http</a></td>
+ <td><a href="http://tor.iv.net.pl">http</a></td>
+ <td><a href="https://tor.iv.net.pl/dist/">https</a></td>
+ <td><a href="https://tor.iv.net.pl">https</a></td>
+ <td> - </td>
+ <td> - </td>
+</tr>
+
+<tr>
+
+ <td>NL</td>
+
+ <td>Hackabit.nl</td>
+
+ <td>Up to date</td>
+
+ <td> - </td>
+ <td><a href="http://hackabit.nl/tor/dist/">http</a></td>
+ <td><a href="http://hackabit.nl/tor/">http</a></td>
+ <td><a href="https://hackabit.nl/tor/dist/">https</a></td>
+ <td><a href="https://hackabit.nl/tor/">https</a></td>
<td> - </td>
<td> - </td>
</tr>
@@ -630,19 +630,19 @@
<tr>
- <td>US</td>
+ <td>NL</td>
- <td>Setec Administrator</td>
+ <td>BBLN</td>
<td>Up to date</td>
- <td> - </td>
- <td><a href="http://tor.nuclear-weapons.net/dist">http</a></td>
- <td><a href="http://tor.nuclear-weapons.net">http</a></td>
- <td> - </td>
- <td><a href="https://tor.nuclear-weapons.net">https</a></td>
- <td><a href="https://tor.nuclear-weapons.net/dist">rsync</a></td>
- <td> - </td>
+ <td><a href="ftp://mirror-nl1.bbln.org/torproject/">ftp</a></td>
+ <td><a href="http://mirror-nl1.bbln.org/torproject/dist/">http</a></td>
+ <td><a href="http://mirror-nl1.bbln.org/torproject/">http</a></td>
+ <td><a href="https://mirror-nl1.bbln.org/torproject/dist/">https</a></td>
+ <td><a href="https://mirror-nl1.bbln.org/torproject/">https</a></td>
+ <td><a href="rsync://mirror-nl1.bbln.org/torproject/dist/">rsync</a></td>
+ <td><a href="rsync://mirror-nl1.bbln.org/torproject/">rsync</a></td>
</tr>
<tr>
@@ -664,23 +664,6 @@
<tr>
- <td>FR</td>
-
- <td>BBLN</td>
-
- <td>Up to date</td>
-
- <td><a href="ftp://mirror-fr2.bbln.org/torproject/">ftp</a></td>
- <td><a href="http://mirror-fr2.bbln.org/torproject/dist/">http</a></td>
- <td><a href="http://mirror-fr2.bbln.org/torproject/">http</a></td>
- <td><a href="https://mirror-fr2.bbln.org/torproject/dist/">https</a></td>
- <td><a href="https://mirror-fr2.bbln.org/torproject/">https</a></td>
- <td><a href="rsync://mirror-fr2.bbln.org/torproject/dist/">rsync</a></td>
- <td><a href="rsync://mirror-fr2.bbln.org/torproject/">rsync</a></td>
-</tr>
-
-<tr>
-
<td>DE</td>
<td>Tor Supporter</td>
@@ -766,17 +749,17 @@
<tr>
- <td>US</td>
+ <td>SG</td>
- <td>Department of CS at USU</td>
+ <td>NTUOSS</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://tor-relay.cs.usu.edu/mirrors/torproject.org/dist/">http</a></td>
- <td><a href="http://tor-relay.cs.usu.edu/mirrors/torproject.org/">http</a></td>
- <td><a href="https://www.jessevictors.com/secureMirrors/torproject.org/dist/">https</a></td>
- <td><a href="https://www.jessevictors.com/secureMirrors/torproject.org/">https</a></td>
+ <td><a href="http://torproject.ntuoss.com/dist/">http</a></td>
+ <td><a href="http://torproject.ntuoss.com/">http</a></td>
+ <td> - </td>
+ <td> - </td>
<td> - </td>
<td> - </td>
</tr>
@@ -785,34 +768,34 @@
<td>US</td>
- <td>Lucid Networks</td>
+ <td>Department of CS at USU</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://tor.mirrors.lucidnetworks.net/dist">http</a></td>
- <td><a href="http://tor.mirrors.lucidnetworks.net">http</a></td>
+ <td><a href="http://tor-relay.cs.usu.edu/mirrors/torproject.org/dist/">http</a></td>
+ <td><a href="http://tor-relay.cs.usu.edu/mirrors/torproject.org/">http</a></td>
+ <td><a href="https://www.jessevictors.com/secureMirrors/torproject.org/dist/">https</a></td>
+ <td><a href="https://www.jessevictors.com/secureMirrors/torproject.org/">https</a></td>
<td> - </td>
<td> - </td>
- <td><a href="rsync://tor.mirrors.lucidnetworks.net::tor-dist">rsync</a></td>
- <td><a href="rsync://tor.mirrors.lucidnetworks.net::tor">rsync</a></td>
</tr>
<tr>
- <td>DE</td>
+ <td>US</td>
- <td>mirror-server.de</td>
+ <td>Lucid Networks</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://tor.mirror-server.de/dist/">http</a></td>
- <td><a href="http://tor.mirror-server.de/">http</a></td>
- <td> - </td>
- <td> - </td>
+ <td><a href="http://tor.mirrors.lucidnetworks.net/dist">http</a></td>
+ <td><a href="http://tor.mirrors.lucidnetworks.net">http</a></td>
<td> - </td>
<td> - </td>
+ <td><a href="rsync://tor.mirrors.lucidnetworks.net::tor-dist">rsync</a></td>
+ <td><a href="rsync://tor.mirrors.lucidnetworks.net::tor">rsync</a></td>
</tr>
<tr>
@@ -861,7 +844,7 @@
<td><a href="http://tor.eprci.net/dist/">http</a></td>
<td><a href="http://tor.eprci.net/">http</a></td>
<td><a href="https://www.eprci.com/tor/dist/">https</a></td>
- <td><a href="https:/www.eprci.com/tor/">https</a></td>
+ <td><a href="https://www.eprci.com/tor/">https</a></td>
<td> - </td>
<td> - </td>
</tr>
@@ -899,20 +882,3 @@
<td> - </td>
<td> - </td>
</tr>
-
-<tr>
-
- <td>DE</td>
-
- <td>PW</td>
-
- <td>Up to date</td>
-
- <td> - </td>
- <td><a href="http://tor.pw.is/dist/">http</a></td>
- <td><a href="http://tor.pw.is/">http</a></td>
- <td><a href="https://www.it-sicherheitschannel.de/dist/">https</a></td>
- <td><a href="https://www.it-sicherheitschannel.de/">https</a></td>
- <td> - </td>
- <td> - </td>
-</tr>
diff --git a/include/tor-mirrors.csv b/include/tor-mirrors.csv
index 7035d5d..226fe36 100644
--- a/include/tor-mirrors.csv
+++ b/include/tor-mirrors.csv
@@ -16,97 +16,97 @@ Tor Fan, Tor Supporter, DE, Germany, DE, TRUE, FALSE, NO, http://tor.externenpr
mirror-service(a)netcologne.de, NetCologne GmbH, DE, NRW, TRUE, TRUE, No, http://mirror.netcologne.de/torproject.org, , rsync://mirror.netcologne.de/torproject.org, ftp://mirror.netcologne.de/torproject.org/, http://mirror.netcologne.de/torproject.org/dist, , rsync://mirror.netcologne.de/torproject.org/dist, , ,
admin AT netgull DOT com, NetGull, US, United States, North America, TRUE, TRUE, No, , , , , http://www.netgull.com/torproject/, , , ,
mirrors[at]ip-connect[dot]vn[dot]ua, IP-Connect LLC, UA, VN, TRUE, TRUE, Yes, http://torproject.ip-connect.vn.ua, , rsync://torproject.ip-connect.vn.ua/torproject, ftp://torproject.ip-connect.vn.ua/mirror/torproject/, http://torproject.ip-connect.vn.ua/dist, , rsync://torproject.ip-connect.vn.ua/torproject/dist, , ,
-torsupport AT tb-itf DOT de, TB-ITF, DE, Germany, Europe, TRUE, TRUE, No, http://tormirror.tb-itf-tor.de, https://tormirror.tb-itf-tor.de, , , http://tormirror.tb-itf-tor.de/dist/, https://tormirror.tb-itf-tor.de/dist/, , , Tue Jan 20 19:17:52 2015
+torsupport AT tb-itf DOT de, TB-ITF, DE, Germany, Europe, TRUE, TRUE, No, http://tormirror.tb-itf-tor.de, https://tormirror.tb-itf-tor.de, , , http://tormirror.tb-itf-tor.de/dist/, https://tormirror.tb-itf-tor.de/dist/, , , Mon Mar 16 18:53:03 2015
admin at koreswatanabe dottnet, Tor Supporter, RO, Romania, RO, TRUE, TRUE, No, http://tor-relay.koreswatanabe.net, , , , http://tor-relay.koreswatanabe.net/dist/, , , ,
calebcenter(a)live.com, calebxu.tk, US, United States, US, TRUE, FALSE, NO, http://tor.calebxu.tk, , rsync://calebxu.tk/tor, ftp://ftp.calebxu.tk, http://tor.calebxu.tk/dist, , , ,
maki(a)maki-chan.de, Maki Hoshisawa, DE, Germany, DE, TRUE, FALSE, NO, http://tor.mirrors.maki-chan.de/, , , , http://tor.mirrors.maki-chan.de/dist/, , , , Sat Aug 23 14:09:07 2014
info AT zentrum-der-gesundheit DOT de, Zentrum der Gesundheit, DK, Denmark, Europe, TRUE, FALSE, No, http://tor.idnr.ws/, , , , http://tor.idnr.ws/dist/, , , , Tue Sep 2 17:16:00 2014
-info /AT enn /DOT lu, Frenn vun der Enn A.S.B.L., IS, Iceland, Europe, TRUE, FALSE, No, http://torproject.lu/, , , , http://torproject.lu/dist/, , , http://btn6gqzqevlhoryd.onion, Tue Jan 20 19:17:52 2015
-Piratenpartei Bayern, Piratenpartei Bayern, DE, Germany, DE, TRUE, FALSE, NO, http://tormirror.piratenpartei-bayern.de, https://tormirror.piratenpartei-bayern.de, , , http://tormirror.piratenpartei-bayern.de/dist/, http://tormirror.piratenpartei-bayern.de/dist/, , , Tue Jan 20 19:17:52 2015
-Tor Fan, Tor Supporter, DE, Germany, DE, TRUE, TRUE, NO, http://tor.hoi-polloi.org, http://tor.hossi-polloiorg, , , http://tor.hoi-polloi.org/dist/, http://tor.hosi-polloi.org/dist/, , , Tue Jan 20 19:17:52 2015
+info /AT enn /DOT lu, Frenn vun der Enn A.S.B.L., IS, Iceland, Europe, TRUE, FALSE, No, http://torproject.lu/, , , , http://torproject.lu/dist/, , , http://btn6gqzqevlhoryd.onion, Mon Mar 16 18:53:03 2015
+Piratenpartei Bayern, Piratenpartei Bayern, DE, Germany, DE, TRUE, FALSE, NO, http://tormirror.piratenpartei-bayern.de, https://tormirror.piratenpartei-bayern.de, , , http://tormirror.piratenpartei-bayern.de/dist/, http://tormirror.piratenpartei-bayern.de/dist/, , , Mon Mar 16 18:53:03 2015
+Tor Fan, Tor Supporter, DE, Germany, DE, TRUE, TRUE, NO, http://tor.hoi-polloi.org, http://tor.hossi-polloiorg, , , http://tor.hoi-polloi.org/dist/, http://tor.hosi-polloi.org/dist/, , , Mon Mar 16 18:53:03 2015
tor(a)fodt.it // FoDT.it Webteam, FoDT.it, AT, Austria, Europe, TRUE, FALSE, No, http://tor.fodt.it, https://tor.fodt.it, , ftp://ftp.fodt.it/pub/mirrors/torproject.org/, http://tor.fodt.it/dist/, https://tor.fodt.it/dist/, , , Mon Aug 25 16:19:07 2014
-http://www.multinet.no, MultiNet AS, NO, Trondheim, Trondheim, TRUE, TRUE, No, http://tor.multinet.no/, , , , http://tor.multinet.no/dist/, , , , Tue Jan 20 19:17:52 2015
-haskell at gmx.es, Tor Supporter, ES, Spain, Europe, TRUE, TRUE, No, http://tor.zilog.es/, https://tor.zilog.es/, , , http://tor.zilog.es/dist/, https://tor.zilog.es/dist/, , , Tue Jan 20 19:17:52 2015
+http://www.multinet.no, MultiNet AS, NO, Trondheim, Trondheim, TRUE, TRUE, No, http://tor.multinet.no/, , , , http://tor.multinet.no/dist/, , , , Mon Mar 16 18:53:03 2015
+haskell at gmx.es, Tor Supporter, ES, Spain, Europe, TRUE, TRUE, No, http://tor.zilog.es/, https://tor.zilog.es/, , , http://tor.zilog.es/dist/, https://tor.zilog.es/dist/, , , Mon Mar 16 18:53:03 2015
Tor Fan, Tor Supporter, US, United States, US, TRUE, FALSE, No, http://199.175.55.215/, , , , http://199.175.55.215/dist/, , , , Tue Jan 20 19:17:52 2015
-margus.random at mail.ee, CyberSIDE, EE, Estonia, EE, TRUE, FALSE, No, http://cyberside.planet.ee/tor/, , , , http://cyberside.net.ee/tor/, , , , Tue Jan 20 19:17:52 2015
-Tor Fan, torproject.is, IS, Iceland, IS, TRUE, FALSE, No, http://www.torproject.is/, , , , http://www.torproject.is/dist/, , , , Wed Jan 21 15:15:41 2015
-Tor Fan, spline, DE, Germany, DE, TRUE, FALSE, No, http://tor.spline.de/, https://tor.spline.inf.fu-berlin.de/, rsync://ftp.spline.de/tor, ftp://ftp.spline.de/pub/tor, http://tor.spline.de/dist/, https://tor.spline.inf.fu-berlin.de/dist/, rsync://ftp.spline.de/tor/dist, , Tue Jan 20 19:17:52 2015
+margus.random at mail.ee, CyberSIDE, EE, Estonia, EE, TRUE, FALSE, No, http://cyberside.planet.ee/tor/, , , , http://cyberside.net.ee/tor/, , , , Mon Mar 16 18:53:03 2015
+Tor Fan, torproject.is, IS, Iceland, IS, TRUE, FALSE, No, http://www.torproject.is/, , , , http://www.torproject.is/dist/, , , , Mon Mar 16 18:53:03 2015
+Tor Fan, spline, DE, Germany, DE, TRUE, FALSE, No, http://tor.spline.de/, https://tor.spline.inf.fu-berlin.de/, rsync://ftp.spline.de/tor, ftp://ftp.spline.de/pub/tor, http://tor.spline.de/dist/, https://tor.spline.inf.fu-berlin.de/dist/, rsync://ftp.spline.de/tor/dist, , Mon Mar 16 18:53:03 2015
Tor Fan, me0w.cc, RO, Romania, RO, TRUE, FALSE, No, http://tor.me0w.cc/, , , , http://tor.me0w.cc/dist/, , , , Thu Jan 1 19:17:56 2015
-Tor Fan, borgmann.tv, DE, Germany, DE, TRUE, FALSE, No, http://tor.borgmann.tv/, , , , http://tor.borgmann.tv/dist/, , , , Tue Jan 20 19:17:52 2015
+Tor Fan, borgmann.tv, DE, Germany, DE, TRUE, FALSE, No, http://tor.borgmann.tv/, , , , http://tor.borgmann.tv/dist/, , , , Mon Mar 16 18:53:03 2015
Tor Fan, Tor Supporter, AT, Austria, AT, TRUE, TRUE, No, http://tor.dont-know-me.at/, , , , http://tor.dont-know-me.at/dist/, , , , Tue Jan 20 19:17:52 2015
coralcdn.org, CoralCDN, INT, International, INT, TRUE, FALSE, Yes, http://www.torproject.org.nyud.net/, , , , http://www.torproject.org.nyud.net/dist/, , , , Thu Jan 8 05:01:06 2015
-Tor Fan, Tor Supporter, AT, Austria, AT, TRUE, FALSE, No, http://torproject.ph3x.at/, , , , http://torproject.ph3x.at/dist/, , , , Wed Jan 21 15:15:41 2015
-Tor Fan, Tor Supporter, MX, Mexico, MX, TRUE, FALSE, No, http://fbnaia.homelinux.net/torproject/, https://fbnaia.homelinux.net/torproject/, , , http://fbnaia.homelinux.net/torproject/dist/, https://fbnaia.homelinux.net/torproject/dist/, , , Tue Jan 20 19:17:52 2015
-webmaster AT askapache DOT com, AskApache, US, California, US, TRUE, FALSE, No, http://tor.askapache.com/, , , , http://tor.askapache.com/dist/, , , , Tue Jan 20 19:17:52 2015
-Tor Fan, Tor Supporter, FR, France, FR, TRUE, FALSE, No, http://tor.mirror.chekanov.net/, , , , http://tor.mirror.chekanov.net/dist/, , , , Tue Jan 20 19:17:52 2015
-http://sebastian.pfeifer.or.at/, TechAsk.IT, AT, Favoriten, Wien, TRUE, TRUE, No, http://www.unicorncloud.org/public/torproject.org/, https://www.unicorncloud.org/public/torproject.org/, , , http://www.unicorncloud.org/public/torproject.org/dist, https://www.unicorncloud.org/public/torproject.org/dist, , , Tue Jan 20 19:17:52 2015
-root AT amorphis DOT eu, Amorphis, NL, The Netherlands, Europe, TRUE, FALSE, No, http://tor.amorphis.eu/, , , , http://tor.amorphis.eu/dist/, , , , Tue Jan 20 19:17:52 2015
-hackthissite.org, HackThisSite.org, US, United States, US, TRUE, TRUE, No, http://tor.hackthissite.org/, https://tor.hackthissite.org/, , , http://mirror.hackthissite.org/tor, https://mirror.hackthissite.org/tor, , , Tue Jan 20 19:17:52 2015
-Tor Fan, Tor Supporter, DE, Germany, DE, TRUE, FALSE, No, http://tor.linuxlounge.net/, https://tor.linuxlounge.net/, , , http://tor.linuxlounge.net/dist/, https://tor.linuxlounge.net/dist/, , , Tue Jan 20 19:17:52 2015
-paul at coffswifi.net, CoffsWiFi, AU, Australia and New Zealand, APNIC, TRUE, FALSE, No, http://torproject.coffswifi.net, , , , http://torproject.coffswifi.net/dist, , , , Tue Jan 20 19:17:52 2015
-Tor Fan, cyberarmy, AT, Austria, AT, TRUE, FALSE, No, http://tor.cyberarmy.at/, , , , , , , , Tue Jan 20 19:17:52 2015
-hostmaster AT example DOT com, TheOnionRouter, IS, Iceland, Iceland, TRUE, FALSE, No, http://www.theonionrouter.com/, , , , http://www.theonionrouter.com/dist/, , , , Wed Jan 21 15:15:41 2015
+Tor Fan, Tor Supporter, AT, Austria, AT, TRUE, FALSE, No, http://torproject.ph3x.at/, , , , http://torproject.ph3x.at/dist/, , , , Mon Mar 16 18:53:03 2015
+Tor Fan, Tor Supporter, MX, Mexico, MX, TRUE, FALSE, No, http://fbnaia.homelinux.net/torproject/, https://fbnaia.homelinux.net/torproject/, , , http://fbnaia.homelinux.net/torproject/dist/, https://fbnaia.homelinux.net/torproject/dist/, , , Mon Mar 16 18:53:03 2015
+webmaster AT askapache DOT com, AskApache, US, California, US, TRUE, FALSE, No, http://tor.askapache.com/, , , , http://tor.askapache.com/dist/, , , , Mon Mar 16 18:53:03 2015
+Tor Fan, Tor Supporter, FR, France, FR, TRUE, FALSE, No, http://tor.mirror.chekanov.net/, , , , http://tor.mirror.chekanov.net/dist/, , , , Mon Mar 16 18:53:03 2015
+http://sebastian.pfeifer.or.at/, TechAsk.IT, AT, Favoriten, Wien, TRUE, TRUE, No, http://www.unicorncloud.org/public/torproject.org/, https://www.unicorncloud.org/public/torproject.org/, , , http://www.unicorncloud.org/public/torproject.org/dist, https://www.unicorncloud.org/public/torproject.org/dist, , , Mon Mar 16 18:53:03 2015
+root AT amorphis DOT eu, Amorphis, NL, The Netherlands, Europe, TRUE, FALSE, No, http://tor.amorphis.eu/, , , , http://tor.amorphis.eu/dist/, , , , Mon Mar 16 18:53:03 2015
+hackthissite.org, HackThisSite.org, US, United States, US, TRUE, TRUE, No, http://tor.hackthissite.org/, https://tor.hackthissite.org/, , , http://mirror.hackthissite.org/tor, https://mirror.hackthissite.org/tor, , , Mon Mar 16 18:53:03 2015
+Tor Fan, Tor Supporter, DE, Germany, DE, TRUE, FALSE, No, http://tor.linuxlounge.net/, https://tor.linuxlounge.net/, , , http://tor.linuxlounge.net/dist/, https://tor.linuxlounge.net/dist/, , , Mon Mar 16 18:53:03 2015
+paul at coffswifi.net, CoffsWiFi, AU, Australia and New Zealand, APNIC, TRUE, FALSE, No, http://torproject.coffswifi.net, , , , http://torproject.coffswifi.net/dist, , , , Mon Mar 16 18:53:03 2015
+Tor Fan, cyberarmy, AT, Austria, AT, TRUE, FALSE, No, http://tor.cyberarmy.at/, , , , , , , , Mon Mar 16 18:53:03 2015
+hostmaster AT example DOT com, TheOnionRouter, IS, Iceland, Iceland, TRUE, FALSE, No, http://www.theonionrouter.com/, , , , http://www.theonionrouter.com/dist/, , , , Tue Mar 17 12:21:21 2015
Tor Fan, crazyhaze.de, DE, Germany, DE, TRUE, FALSE, No, http://tor.crazyhaze.de/, https://tor.crazyhaze.de/, , , http://tor.crazyhaze.de/dist/, https://tor.crazyhaze.de/dist/, , , Tue Oct 21 06:55:00 2014
-Tor Fan, chaos darmstadt, DE, Germany, Europe, TRUE, FALSE, No, http://mirrors.chaos-darmstadt.de/tor-mirror/, , , , http://mirrors.chaos-darmstadt.de/tor-mirror/dist/, , , , Tue Jan 20 19:17:52 2015
-Tor Fan, Soviet Anonymous, RU, Russia, RU, TRUE, FALSE, No, http://creep.im/tor, https://creep.im/tor, rsync://creep.im/tor, ftp://creep.im/mirrors/tor, http://creep.im/tor/dist/, https://creep.im/tor/dist/, rsync://creep.im/tor-dist, , Tue Jan 20 19:17:52 2015
-Tor Fan, torservers, DE, Germany, DE, TRUE, FALSE, No, http://www.torservers.net/mirrors/torproject.org/, https://www.torservers.net/mirrors/torproject.org/, , , http://www.torservers.net/mirrors/torproject.org/dist/, https://www.torservers.net/mirrors/torproject.org/dist/, , http://hbpvnydyyjbmhx6b.onion/mirrors/torproject.org/, Tue Jan 20 19:17:52 2015
-Tor Fan, torland, GB, United Kingdom, GB, TRUE, FALSE, No, http://mirror.torland.me/torproject.org/, https://mirror.torland.me/torproject.org/, , , http://mirror.torland.me/torproject.org/dist/, https://mirror.torland.me/torproject.org/dist/, , , Wed Jan 21 15:15:41 2015
-Tor Fan, Lightning-bolt.net, CZ, Czech Republic, CZ, TRUE, FALSE, No, http://torproject.lightning-bolt.net/, , , , http://torproject.lightning-bolt.net/dist/, , , , Tue Jan 20 19:17:52 2015
-IceBear, myRL.net, IS, Iceland, IS, TRUE, FALSE, No, http://tor.myrl.net/, https://tor.myrl.net/, , , http://tor.myrl.net/dist/, https://tor.myrl.net/dist/, , , Tue Jan 20 19:17:52 2015
+Tor Fan, chaos darmstadt, DE, Germany, Europe, TRUE, FALSE, No, http://mirrors.chaos-darmstadt.de/tor-mirror/, , , , http://mirrors.chaos-darmstadt.de/tor-mirror/dist/, , , , Mon Mar 16 18:53:03 2015
+Tor Fan, Soviet Anonymous, RU, Russia, RU, TRUE, FALSE, No, http://creep.im/tor, https://creep.im/tor, rsync://creep.im/tor, ftp://creep.im/mirrors/tor, http://creep.im/tor/dist/, https://creep.im/tor/dist/, rsync://creep.im/tor-dist, , Mon Mar 16 18:53:03 2015
+Tor Fan, torservers, DE, Germany, DE, TRUE, FALSE, No, http://www.torservers.net/mirrors/torproject.org/, https://www.torservers.net/mirrors/torproject.org/, , , http://www.torservers.net/mirrors/torproject.org/dist/, https://www.torservers.net/mirrors/torproject.org/dist/, , http://hbpvnydyyjbmhx6b.onion/mirrors/torproject.org/, Tue Mar 17 12:21:21 2015
+Tor Fan, torland, GB, United Kingdom, GB, TRUE, FALSE, No, http://mirror.torland.me/torproject.org/, https://mirror.torland.me/torproject.org/, , , http://mirror.torland.me/torproject.org/dist/, https://mirror.torland.me/torproject.org/dist/, , , Tue Mar 17 12:21:21 2015
+Tor Fan, Lightning-bolt.net, CZ, Czech Republic, CZ, TRUE, FALSE, No, http://torproject.lightning-bolt.net/, , , , http://torproject.lightning-bolt.net/dist/, , , , Mon Mar 16 18:53:03 2015
+IceBear, myRL.net, IS, Iceland, IS, TRUE, FALSE, No, http://tor.myrl.net/, https://tor.myrl.net/, , , http://tor.myrl.net/dist/, https://tor.myrl.net/dist/, , , Mon Mar 16 18:53:03 2015
kiro AT userzap DOT de, Userzap, DE, Germany, DE, TRUE, FALSE, No, http://torprojekt.userzap.de, https://torprojekt.userzap.de, , , http://torprojekt.userzap.de/dist/, https://torprojekt.userzap.de/dist/, , , Tue Jan 20 19:17:52 2015
-tor(a)eprci.net, EPRCI, US, United States, US, TRUE, FALSE, NO, http://tor.eprci.net/, https://www.eprci.com/tor/, , , http://tor.eprci.net/dist/, https://www.eprci.com/tor/dist/, , , Tue Jan 20 19:17:52 2015
-tor(a)les.net, tor(a)les.net, CA, Canada, CA, TRUE, FALSE, NO, http://tor.les.net/, , , , http://tor.les.net/dist, , , , Tue Jan 20 19:17:52 2015
-Tor Fan, PW, DE, Germany, DE, TRUE, TRUE, NO, http://tor.pw.is/, , , , http://tor.pw.is/dist/, , , , Tue Jan 20 19:17:52 2015
-tor(a)stalkr.net, stalkr.net, FR, France, FR, TRUE, TRUE, NO, http://tor.stalkr.net/, https://tor.stalkr.net/, , , http://tor.stalkr.net/dist/, https://tor.stalkr.net/dist/, , , Tue Jan 20 19:17:52 2015
-doemela[AT]cyberguerrilla[DOT]org, cYbergueRrilLa AnonyMous NeXus, DE, Germany, DE, TRUE, FALSE, NO, https://tor-mirror.cyberguerrilla.org, , , , https://tor-mirror.cyberguerrilla.org/dist/, , , http://6dvj6v5imhny3anf.onion, Tue Jan 20 19:17:52 2015
-contact(a)gtor.org, Gtor, DE, Germany, DE, TRUE, TRUE, NO, http://torproject.gtor.org/, https://torproject.gtor.org/, rsync://torproject.gtor.org/website-mirror/, , http://torproject.gtor.org/dist/, https://torproject.gtor.org/dist/, rsync://torproject.gtor.org/website-mirror/dist/, , Tue Jan 20 19:17:52 2015
-SDL, SDL, US, United States, US, TRUE, TRUE, NO, http://torproject.nexiom.net, https://torproject.nexiom.net, , , http://torproject.nexiom.net, https://torproject.nexiom.net/dist, , , Tue Jan 20 19:17:52 2015
-Tor Fan, Tor Supporter, DE, Germany, DE, TRUE, TRUE, NO, http://mirror.velcommuta.de/tor/, https://mirror.velcommuta.de/tor/, , , http://mirror.velcommuta.de/tor/dist/, https://mirror.velcommuta.de/tor/dist/, , , Tue Jan 20 19:17:52 2015
-EFF, EFF, US, United States, US, TRUE, FALSE, NO, https://tor.eff.org, https://tor.eff.org, , , https://tor.eff.org/dist/, https://tor.eff.org/dist/, , , Tue Jan 20 19:17:52 2015
-Tor Fan, Tor Supporter, GR, Greece, GR, TRUE, TRUE, NO, https://tor.void.gr, https://tor.void.gr, , , https://tor.void.gr/dist/, https://tor.void.gr/dist/, , , Wed Jan 21 15:15:41 2015
-Ich Eben, Tor Supporter, DE, Germany, DE, TRUE, TRUE, No, http://reichster.de/mirrors/torproject.org/, https://reichster.de/mirrors/torproject.org, , , http://reichster.de/mirrors/torproject.org/dist/, https://reichster.de/mirrors/torproject.org/dist/, , , Tue Jan 20 19:17:52 2015
-jlgaddis AT gnu DOT org, Evil Routers, US, United States, US, TRUE, FALSE, No, http://tor1.evilrouters.net/, , , , http://tor1.evilrouters.net/dist/, , , , Tue Jan 20 19:17:52 2015
-tor AT miglix DOT eu, Tor Supporter, DE, Germany, Europe, TRUE, TRUE, NO, http://tor.miglix.eu, https://tor.miglix.eu, , , http://tor.miglix.eu/dist/, https://tor.miglix.eu/dist/, , , Tue Jan 20 19:17:52 2015
+tor(a)eprci.net, EPRCI, US, United States, US, TRUE, FALSE, NO, http://tor.eprci.net/, https://www.eprci.com/tor/, , , http://tor.eprci.net/dist/, https://www.eprci.com/tor/dist/, , , Mon Mar 16 18:53:03 2015
+tor(a)les.net, tor(a)les.net, CA, Canada, CA, TRUE, FALSE, NO, http://tor.les.net/, , , , http://tor.les.net/dist, , , , Tue Mar 17 12:21:21 2015
+Tor Fan, PW, DE, Germany, DE, TRUE, TRUE, NO, http://tor.pw.is/, , , , http://tor.pw.is/dist/, , , , Tue Mar 17 12:21:21 2015
+tor(a)stalkr.net, stalkr.net, FR, France, FR, TRUE, TRUE, NO, http://tor.stalkr.net/, https://tor.stalkr.net/, , , http://tor.stalkr.net/dist/, https://tor.stalkr.net/dist/, , , Mon Mar 16 18:53:03 2015
+doemela[AT]cyberguerrilla[DOT]org, cYbergueRrilLa AnonyMous NeXus, DE, Germany, DE, TRUE, FALSE, NO, https://tor-mirror.cyberguerrilla.org, , , , https://tor-mirror.cyberguerrilla.org/dist/, , , http://6dvj6v5imhny3anf.onion, Tue Mar 17 12:21:21 2015
+contact(a)gtor.org, Gtor, DE, Germany, DE, TRUE, TRUE, NO, http://torproject.gtor.org/, https://torproject.gtor.org/, rsync://torproject.gtor.org/website-mirror/, , http://torproject.gtor.org/dist/, https://torproject.gtor.org/dist/, rsync://torproject.gtor.org/website-mirror/dist/, , Mon Mar 16 18:53:03 2015
+SDL, SDL, US, United States, US, TRUE, TRUE, NO, http://torproject.nexiom.net, https://torproject.nexiom.net, , , http://torproject.nexiom.net, https://torproject.nexiom.net/dist, , , Tue Mar 17 12:21:21 2015
+Tor Fan, Tor Supporter, DE, Germany, DE, TRUE, TRUE, NO, http://mirror.velcommuta.de/tor/, https://mirror.velcommuta.de/tor/, , , http://mirror.velcommuta.de/tor/dist/, https://mirror.velcommuta.de/tor/dist/, , , Mon Mar 16 18:53:03 2015
+EFF, EFF, US, United States, US, TRUE, FALSE, NO, https://tor.eff.org, https://tor.eff.org, , , https://tor.eff.org/dist/, https://tor.eff.org/dist/, , , Mon Mar 16 18:53:03 2015
+Tor Fan, Tor Supporter, GR, Greece, GR, TRUE, TRUE, NO, https://tor.void.gr, https://tor.void.gr, , , https://tor.void.gr/dist/, https://tor.void.gr/dist/, , , Mon Mar 16 18:53:03 2015
+Ich Eben, Tor Supporter, DE, Germany, DE, TRUE, TRUE, No, http://reichster.de/mirrors/torproject.org/, https://reichster.de/mirrors/torproject.org, , , http://reichster.de/mirrors/torproject.org/dist/, https://reichster.de/mirrors/torproject.org/dist/, , , Mon Mar 16 18:53:03 2015
+jlgaddis AT gnu DOT org, Evil Routers, US, United States, US, TRUE, FALSE, No, http://tor1.evilrouters.net/, , , , http://tor1.evilrouters.net/dist/, , , , Tue Mar 17 12:21:21 2015
+tor AT miglix DOT eu, Tor Supporter, DE, Germany, Europe, TRUE, TRUE, NO, http://tor.miglix.eu, https://tor.miglix.eu, , , http://tor.miglix.eu/dist/, https://tor.miglix.eu/dist/, , , Mon Mar 16 18:53:03 2015
tor TA ninurta TOD name, TorNinurtaName, AT, Austria, AT, TRUE, TRUE, no, http://tor.ninurta.name/, , , , http://tor.ninurta.name/dist/, , , , Wed Oct 22 21:02:17 2014
-fr33tux <AT> general-changelog-team.fr, Tor Supporter, FR, France, FR, TRUE, TRUE, No, http://tor.fr33tux.org, https://tor.fr33tux.org, , , http://tor.fr33tux.org/dist/, https://tor.fr33tux.org/dist/, , , Tue Jan 20 19:17:52 2015
-sebastian(at)bobrecki(dot)pl, Sebastian M. Bobrecki, PL, Poland, Europe, TRUE, FALSE, No, http://tor.iv.net.pl, https://tor.iv.net.pl, , , http://tor.iv.net.pl/dist/, https://tor.iv.net.pl/dist/, , , Wed Jan 21 15:15:41 2015
-tor-mirror AT rdns DOT cc, d0wn.biz, FR, France, Europe, TRUE, FALSE, No, http://tor.static.lu, https://tor.static.lu, , , http://tor.static.lu/dist/, https://tor.static.lu/dist/, , , Tue Jan 20 19:17:52 2015
-tor(a)moparisthebest.com, moparisthebest.com, DE, Germany, Europe, TRUE, TRUE, No, http://www.moparisthebest.com/tor/, https://www.moparisthebest.com/tor/, , , http://www.moparisthebest.com/tor/dist/, https://www.moparisthebest.com/tor/dist/, , , Tue Jan 20 19:17:52 2015
-Sebastian, Maxanoo, NL, The Netherlands, Amsterdam, TRUE, FALSE, NO, http://tor.maxanoo.com/, , , , http://tor.maxanoo.com/dist/, , , , Tue Jan 20 19:17:52 2015
+fr33tux <AT> general-changelog-team.fr, Tor Supporter, FR, France, FR, TRUE, TRUE, No, http://tor.fr33tux.org, https://tor.fr33tux.org, , , http://tor.fr33tux.org/dist/, https://tor.fr33tux.org/dist/, , , Mon Mar 16 18:53:03 2015
+sebastian(at)bobrecki(dot)pl, Sebastian M. Bobrecki, PL, Poland, Europe, TRUE, FALSE, No, http://tor.iv.net.pl, https://tor.iv.net.pl, , , http://tor.iv.net.pl/dist/, https://tor.iv.net.pl/dist/, , , Mon Mar 16 18:53:03 2015
+tor-mirror AT rdns DOT cc, d0wn.biz, FR, France, Europe, TRUE, FALSE, No, http://tor.static.lu, https://tor.static.lu, , , http://tor.static.lu/dist/, https://tor.static.lu/dist/, , , Mon Mar 16 18:53:03 2015
+tor(a)moparisthebest.com, moparisthebest.com, DE, Germany, Europe, TRUE, TRUE, No, http://www.moparisthebest.com/tor/, https://www.moparisthebest.com/tor/, , , http://www.moparisthebest.com/tor/dist/, https://www.moparisthebest.com/tor/dist/, , , Mon Mar 16 18:53:03 2015
+Sebastian, Maxanoo, NL, The Netherlands, Amsterdam, TRUE, FALSE, NO, http://tor.maxanoo.com/, , , , http://tor.maxanoo.com/dist/, , , , Tue Mar 17 12:21:21 2015
rorrim AT ayo DOT tl, Tor Supporter, IS, Iceland, Europe, TRUE, TRUE, No, http://ayo.tl/tor/, https://ayo.tl/tor/, , , http://ayo.tl/tor/dist/, https://ayo.tl/tor/dist/, , , Tue Jan 20 19:17:52 2015
-stefano.fenoglio AT gmail DOT com, Tor Supporter, IT, Italy, Europe, TRUE, FALSE, No, http://tor.stefanof.com, , , , , , http://tor.stefanof.com/dist, , Tue Jan 20 19:17:52 2015
+stefano.fenoglio AT gmail DOT com, Tor Supporter, IT, Italy, Europe, TRUE, FALSE, No, http://tor.stefanof.com, , , , , , http://tor.stefanof.com/dist, , Mon Mar 16 18:53:03 2015
Jacob Henner, Anatomical Networks, US, United States, US, TRUE, TRUE, TRUE, http://tor.ventricle.us/, , , , http://tor.ventricle.us/dist/, , , , Tue Jan 20 19:17:52 2015
-webmaster[at]hackabit.nl, Hackabit.nl, NL, The Netherlands, Europe, TRUE, FALSE, No, http://hackabit.nl/tor/, https://hackabit.nl/tor/, , , http://hackabit.nl/tor/dist/, https://hackabit.nl/tor/dist/, , , Thu Jan 8 02:14:18 2015
-Tor Fan, Ramos Research, US, United States, US, TRUE, TRUE, No, http://tor.ramosresearch.com/, , , , http://tor.ramosresearch.com/dist/, , , , Wed Jan 21 15:15:41 2015
-Tor Fan, Tor Supporter, DE, Germany, Europe, TRUE, FALSE, No, http://tor.euve33747.vserver.de/, , , , http://tor.euve33747.vserver.de/dist, , , , Tue Jan 20 19:17:52 2015
-s7r[at]sky-ip[d0t]org, sky-ip.org, NL, Netherlands, NL, TRUE, FALSE, No, http://beautiful-mind.sky-ip.org/, , , , http://beautiful-mind.sky-ip.org/dist/, , , , Tue Jan 20 19:17:52 2015
-tor#pajonzeck#de, ITsn, DE, Germany, Europe, TRUE, FALSE, No, http://tor.pajonzeck.de/, https://tor.pajonzeck.de/, rsync://tor.pajonzeck.de/tor, http://tor.pajonzeck.de/dist/, https://tor.pajonzeck.de/dist/, , rsync://tor.pajonzeck.de/tor/dist, http://zgfgvob256pffy62.onion, Tue Jan 20 19:17:52 2015
-peter AT ludikovsky DOT name, Tor Supporter, AT, Austria, Europe, TRUE, TRUE, No, http://tor.ludikovsky.name/, , , , http://tor.ludikovsky.name/dist, , , http://54lnbzjo6xlr4f4j.onion/, Tue Jan 20 19:17:52 2015
-admin AT nuclear DASH weapons DOT net, Setec Administrator, US, Texas, Austin, TRUE, FALSE, No, http://tor.nuclear-weapons.net, https://tor.nuclear-weapons.net, , , http://tor.nuclear-weapons.net/dist, , https://tor.nuclear-weapons.net/dist, , Tue Jan 20 19:17:52 2015
-0x43DE8191, Tor Supporter, DE, Germany, Europe, TRUE, TRUE, No, http://torproject.hactar.bz, , , , http://torproject.hactar.bz/dist/, , , , Wed Jan 21 15:15:41 2015
--nick at calyx dot com, The Calyx Institute, US, United States, North America, TRUE, FALSE, No, http://tor.calyxinstitute.org, https://tor.calyxinstitute.org, , , http://tor.calyxinstitute.org/dist/, https://tor.calyxinstitute.org/dist/, , http://tmdrhl4e4anhsjc5.onion, Wed Jan 21 15:15:41 2015
+webmaster[at]hackabit.nl, Hackabit.nl, NL, The Netherlands, Europe, TRUE, FALSE, No, http://hackabit.nl/tor/, https://hackabit.nl/tor/, , , http://hackabit.nl/tor/dist/, https://hackabit.nl/tor/dist/, , , Mon Mar 16 18:53:03 2015
+Tor Fan, Ramos Research, US, United States, US, TRUE, TRUE, No, http://tor.ramosresearch.com/, , , , http://tor.ramosresearch.com/dist/, , , , Mon Mar 16 18:53:03 2015
+Tor Fan, Tor Supporter, DE, Germany, Europe, TRUE, FALSE, No, http://tor.euve33747.vserver.de/, , , , http://tor.euve33747.vserver.de/dist, , , , Mon Mar 16 18:53:03 2015
+s7r[at]sky-ip[d0t]org, sky-ip.org, NL, Netherlands, NL, TRUE, FALSE, No, http://beautiful-mind.sky-ip.org/, , , , http://beautiful-mind.sky-ip.org/dist/, , , , Mon Mar 16 18:53:03 2015
+tor#pajonzeck#de, ITsn, DE, Germany, Europe, TRUE, FALSE, No, http://tor.pajonzeck.de/, https://tor.pajonzeck.de/, rsync://tor.pajonzeck.de/tor, http://tor.pajonzeck.de/dist/, https://tor.pajonzeck.de/dist/, , rsync://tor.pajonzeck.de/tor/dist, http://zgfgvob256pffy62.onion, Mon Mar 16 18:53:03 2015
+peter AT ludikovsky DOT name, Tor Supporter, AT, Austria, Europe, TRUE, TRUE, No, http://tor.ludikovsky.name/, , , , http://tor.ludikovsky.name/dist, , , http://54lnbzjo6xlr4f4j.onion/, Mon Mar 16 18:53:03 2015
+admin AT nuclear DASH weapons DOT net, Setec Administrator, US, Texas, Austin, TRUE, FALSE, No, http://tor.nuclear-weapons.net, https://tor.nuclear-weapons.net, , , http://tor.nuclear-weapons.net/dist, , https://tor.nuclear-weapons.net/dist, , Tue Mar 17 12:21:21 2015
+0x43DE8191, Tor Supporter, DE, Germany, Europe, TRUE, TRUE, No, http://torproject.hactar.bz, , , , http://torproject.hactar.bz/dist/, , , , Tue Mar 17 12:21:21 2015
+-nick at calyx dot com, The Calyx Institute, US, United States, North America, TRUE, FALSE, No, http://tor.calyxinstitute.org, https://tor.calyxinstitute.org, , , http://tor.calyxinstitute.org/dist/, https://tor.calyxinstitute.org/dist/, , http://tmdrhl4e4anhsjc5.onion, Tue Mar 17 12:21:21 2015
opi(a)zeropi.net, Tor Supporter, FR, France, FR, TRUE, TRUE, No, http://tor-mirror.zeropi.net/, , , , http://tor-mirror.zeropi.net/dist/, , , , Mon Dec 1 15:15:20 2014
-noc AT bbln DOT org, BBLN, NL, The Netherlands, Europe, TRUE, TRUE, No, http://mirror-nl1.bbln.org/torproject/, https://mirror-nl1.bbln.org/torproject/, rsync://mirror-nl1.bbln.org/torproject/, ftp://mirror-nl1.bbln.org/torproject/, http://mirror-nl1.bbln.org/torproject/dist/, https://mirror-nl1.bbln.org/torproject/dist/, rsync://mirror-nl1.bbln.org/torproject/dist/, , Fri Jan 2 19:33:28 2015
-noc AT bbln DOT org, BBLN, FR, France, Europe, TRUE, TRUE, No, http://mirror-fr1.bbln.org/torproject/, https://mirror-fr1.bbln.org/torproject/, rsync://mirror-fr1.bbln.org/torproject/, ftp://mirror-fr1.bbln.org/torproject/, http://mirror-fr1.bbln.org/torproject/dist/, https://mirror-fr1.bbln.org/torproject/dist/, rsync://mirror-fr1.bbln.org/torproject/dist/, , Tue Jan 20 19:17:52 2015
-noc AT bbln DOT org, BBLN, FR, France, Europe, TRUE, TRUE, No, http://mirror-fr2.bbln.org/torproject/, https://mirror-fr2.bbln.org/torproject/, rsync://mirror-fr2.bbln.org/torproject/, ftp://mirror-fr2.bbln.org/torproject/, http://mirror-fr2.bbln.org/torproject/dist/, https://mirror-fr2.bbln.org/torproject/dist/, rsync://mirror-fr2.bbln.org/torproject/dist/, , Tue Jan 20 19:17:52 2015
-alexander AT dietrich DOT cx, Tor Supporter, DE, Germany, Europe, TRUE, TRUE, No, http://neuland.dietrich.cx/, https://neuland.dietrich.cx/, , , http://neuland.dietrich.cx/dist/, https://neuland.dietrich.cx/dist/, , , Tue Jan 20 19:17:52 2015
-tor(a)0x3d.lu, 0x3d.lu, DE, Germany, Europe, TRUE, FALSE, No, http://tor.0x3d.lu/, https://tor.0x3d.lu/, , , http://tor.0x3d.lu/dist/, https://tor.0x3d.lu/dist/, , , Tue Jan 20 19:17:52 2015
+noc AT bbln DOT org, BBLN, NL, The Netherlands, Europe, TRUE, TRUE, No, http://mirror-nl1.bbln.org/torproject/, https://mirror-nl1.bbln.org/torproject/, rsync://mirror-nl1.bbln.org/torproject/, ftp://mirror-nl1.bbln.org/torproject/, http://mirror-nl1.bbln.org/torproject/dist/, https://mirror-nl1.bbln.org/torproject/dist/, rsync://mirror-nl1.bbln.org/torproject/dist/, , Mon Mar 16 18:53:03 2015
+noc AT bbln DOT org, BBLN, FR, France, Europe, TRUE, TRUE, No, http://mirror-fr1.bbln.org/torproject/, https://mirror-fr1.bbln.org/torproject/, rsync://mirror-fr1.bbln.org/torproject/, ftp://mirror-fr1.bbln.org/torproject/, http://mirror-fr1.bbln.org/torproject/dist/, https://mirror-fr1.bbln.org/torproject/dist/, rsync://mirror-fr1.bbln.org/torproject/dist/, , Mon Mar 16 18:53:03 2015
+noc AT bbln DOT org, BBLN, FR, France, Europe, TRUE, TRUE, No, http://mirror-fr2.bbln.org/torproject/, https://mirror-fr2.bbln.org/torproject/, rsync://mirror-fr2.bbln.org/torproject/, ftp://mirror-fr2.bbln.org/torproject/, http://mirror-fr2.bbln.org/torproject/dist/, https://mirror-fr2.bbln.org/torproject/dist/, rsync://mirror-fr2.bbln.org/torproject/dist/, , Tue Mar 17 12:21:21 2015
+alexander AT dietrich DOT cx, Tor Supporter, DE, Germany, Europe, TRUE, TRUE, No, http://neuland.dietrich.cx/, https://neuland.dietrich.cx/, , , http://neuland.dietrich.cx/dist/, https://neuland.dietrich.cx/dist/, , , Mon Mar 16 18:53:03 2015
+tor(a)0x3d.lu, 0x3d.lu, DE, Germany, Europe, TRUE, FALSE, No, http://tor.0x3d.lu/, https://tor.0x3d.lu/, , , http://tor.0x3d.lu/dist/, https://tor.0x3d.lu/dist/, , , Mon Mar 16 18:53:03 2015
kraai(a)ftbfs.org 0xADCE6065, , SE, Sweden, Europe, TRUE, TRUE, No, http://tor.ftbfs.org/, , , , http://tor.ftbfs.org/dist/, , , , Fri Oct 24 14:28:32 2014
-kontakt(a)unicorncloud.org, UnicornCloud.org, AT, Favoriten, Wien, TRUE, TRUE, No, http://www.unicorncloud.org/public/torproject.org/, https://www.unicorncloud.org/public/torproject.org/, , , http://www.unicorncloud.org/public/torproject.org/dist, https://www.unicorncloud.org/public/torproject.org/dist, , , Tue Jan 20 19:17:52 2015
-James Murphy, intfxdx.com, US, United States, US, TRUE, TRUE, No, http://108.248.87.242/, https://108.248.87.242/, , , http://108.248.87.242/dist/, https://108.248.87.242/dist/, , , Tue Jan 20 19:17:52 2015
-Sam Whited 4096R/54083AE104EA7AD3 <sam(a)samwhited.com>, SamWhited.com, US, GA, United States, TRUE, TRUE, FALSE, http://mirrors.samwhited.net/tor, https://mirrors.samwhited.net/tor, rsync://mirrors.samwhited.net/tor, , http://mirrors.samwhited.net/tor/dist, https://mirrors.samwhited.net/tor/dist, rsync://mirrors.samwhited.net/tor-dist, , Tue Jan 20 19:17:52 2015
-rohit008 AT e DOT ntu DOT edu DOT sg, NTUOSS, SG, Singapore, Asia, TRUE, FALSE, No, http://torproject.ntuoss.com/, , , , http://torproject.ntuoss.com/dist/, , , , Wed Jan 21 15:15:41 2015
-jvictors at jessevictors dot com, Department of CS at USU, US, United States, North America, TRUE, FALSE, No, http://tor-relay.cs.usu.edu/mirrors/torproject.org/, https://www.jessevictors.com/secureMirrors/torproject.org/, , , http://tor-relay.cs.usu.edu/mirrors/torproject.org/dist/, https://www.jessevictors.com/secureMirrors/torproject.org/dist/, , , Tue Jan 20 19:17:52 2015
+kontakt(a)unicorncloud.org, UnicornCloud.org, AT, Favoriten, Wien, TRUE, TRUE, No, http://www.unicorncloud.org/public/torproject.org/, https://www.unicorncloud.org/public/torproject.org/, , , http://www.unicorncloud.org/public/torproject.org/dist, https://www.unicorncloud.org/public/torproject.org/dist, , , Mon Mar 16 18:53:03 2015
+James Murphy, intfxdx.com, US, United States, US, TRUE, TRUE, No, http://108.248.87.242/, https://108.248.87.242/, , , http://108.248.87.242/dist/, https://108.248.87.242/dist/, , , Mon Mar 16 18:53:03 2015
+Sam Whited 4096R/54083AE104EA7AD3 <sam(a)samwhited.com>, SamWhited.com, US, GA, United States, TRUE, TRUE, FALSE, http://mirrors.samwhited.net/tor, https://mirrors.samwhited.net/tor, rsync://mirrors.samwhited.net/tor, , http://mirrors.samwhited.net/tor/dist, https://mirrors.samwhited.net/tor/dist, rsync://mirrors.samwhited.net/tor-dist, , Mon Mar 16 18:53:03 2015
+rohit008 AT e DOT ntu DOT edu DOT sg, NTUOSS, SG, Singapore, Asia, TRUE, FALSE, No, http://torproject.ntuoss.com/, , , , http://torproject.ntuoss.com/dist/, , , , Mon Mar 16 18:53:03 2015
+jvictors at jessevictors dot com, Department of CS at USU, US, United States, North America, TRUE, FALSE, No, http://tor-relay.cs.usu.edu/mirrors/torproject.org/, https://www.jessevictors.com/secureMirrors/torproject.org/, , , http://tor-relay.cs.usu.edu/mirrors/torproject.org/dist/, https://www.jessevictors.com/secureMirrors/torproject.org/dist/, , , Mon Mar 16 18:53:03 2015
Jacob Henner, Anatomical Networks, US, United States, US, TRUE, TRUE, TRUE, http://tor.ventricle.us/, , , , http://tor.ventricle.us/dist/, , , , Tue Jan 20 19:17:52 2015
-hostmaster(a)lucidnetworks.net, Lucid Networks, US, United States, US, TRUE, FALSE, No, http://tor.mirrors.lucidnetworks.net, , rsync://tor.mirrors.lucidnetworks.net::tor, , http://tor.mirrors.lucidnetworks.net/dist, , rsync://tor.mirrors.lucidnetworks.net::tor-dist, , Tue Jan 20 19:17:52 2015
+hostmaster(a)lucidnetworks.net, Lucid Networks, US, United States, US, TRUE, FALSE, No, http://tor.mirrors.lucidnetworks.net, , rsync://tor.mirrors.lucidnetworks.net::tor, , http://tor.mirrors.lucidnetworks.net/dist, , rsync://tor.mirrors.lucidnetworks.net::tor-dist, , Mon Mar 16 18:53:03 2015
hostmaster(a)vieth-server.de, mirror-server.de, DE, Germany, DE, TRUE, TRUE, No, http://tor.mirror-server.de/, , , , http://tor.mirror-server.de/dist/, , , , Tue Jan 20 19:17:52 2015
-mirror ntzk de, Netzkonstrukt Berlin, DE, Germany, Europe, TRUE, FALSE, No, http://mirror.ntzk.de/torproject.org/, https://mirror.ntzk.de/torproject.org/, , , http://mirror.ntzk.de/torproject.org/dist/, https://mirror.ntzk.de/torproject.org/dist/, , , Tue Jan 20 19:17:52 2015
-mirror(a)xfree.com.ar, Xfree.com.ar, AR, Argentina, South America, TRUE, FALSE, No, http://tor.xfree.com.ar/, , , , http://tor.xfree.com.ar/dist/, , , , Tue Jan 20 19:17:52 2015
-tor AT eprci NET, EPRCI, US, NH, US, TRUE, FALSE, No, http://tor.eprci.net/, https://www.eprci.com/tor/, , , http://tor.eprci.net/dist/, https://www.eprci.com/tor/dist/, , ,
-contact(a)mrtino.eu, Tor Supporter, FR, France, FR, TRUE, FALSE, No, http://tor.mrtino.eu, , , , http://tor.mrtino.eu/dist, , , , Tue Jan 20 19:17:52 2015
-tor(a)kura.io, KURA IO LIMITED, NL, Netherlands, Europe, TRUE, TRUE, TRUE, http://tor-mirror.kura.io/, https://tor-mirror.kura.io/, rsync://tor-mirror.kura.io/torproject.org, ftp://tor-mirror.kura.io, http://tor-mirror.kura.io/dist/, https://tor-mirror.kura.io/dist/, rsync://tor-mirror.kura.io/torproject.org/dist, , Sat Dec 27 00:21:38 2014
-tor-admin AT wardsback DOT org, wardsback.org, FR, France, FR, TRUE, FALSE, No, http://alliumcepa.wardsback.org/, , , , http://alliumcepa.wardsback.org/dist/, , , , Tue Jan 20 19:17:52 2015
-PW, PW, DE, Germany, DE, TRUE, TRUE, NO, http://tor.pw.is/, https://www.it-sicherheitschannel.de/, , , http://tor.pw.is/dist/, https://www.it-sicherheitschannel.de/dist/, , , Tue Jan 20 19:17:52 2015
-kevin(a)freedom.press, Freedom of the Press Foundation, ,US, US, True, False, No, http://tor.freedom.press,https://tor.freedom.press, , ,http://tor.freedom.press/dist/,https://tor.freedom.press/dist/, , ,
-hsu AT peterdavehellor DOT org,"Department of CSE, Yuan Ze University",TW,Taiwan,Asia, TRUE,FALSE,No,http://ftp.yzu.edu.tw/torproject.org/,,rsync://ftp.yzu.edu.tw…,,
-
+mirror ntzk de, Netzkonstrukt Berlin, DE, Germany, Europe, TRUE, FALSE, No, http://mirror.ntzk.de/torproject.org/, https://mirror.ntzk.de/torproject.org/, , , http://mirror.ntzk.de/torproject.org/dist/, https://mirror.ntzk.de/torproject.org/dist/, , , Mon Mar 16 18:53:03 2015
+mirror(a)xfree.com.ar, Xfree.com.ar, AR, Argentina, South America, TRUE, FALSE, No, http://tor.xfree.com.ar/, , , , http://tor.xfree.com.ar/dist/, , , , Mon Mar 16 18:53:03 2015
+tor AT eprci NET, EPRCI, US, NH, US, TRUE, FALSE, No, http://tor.eprci.net/, https://www.eprci.com/tor/, , , http://tor.eprci.net/dist/, https://www.eprci.com/tor/dist/, , , Mon Mar 16 18:53:03 2015
+contact(a)mrtino.eu, Tor Supporter, FR, France, FR, TRUE, FALSE, No, http://tor.mrtino.eu, , , , http://tor.mrtino.eu/dist, , , , Mon Mar 16 18:53:03 2015
+tor(a)kura.io, KURA IO LIMITED, NL, Netherlands, Europe, TRUE, TRUE, TRUE, http://tor-mirror.kura.io/, https://tor-mirror.kura.io/, rsync://tor-mirror.kura.io/torproject.org, ftp://tor-mirror.kura.io, http://tor-mirror.kura.io/dist/, https://tor-mirror.kura.io/dist/, rsync://tor-mirror.kura.io/torproject.org/dist, , Thu Jan 22 19:27:59 2015
+tor-admin AT wardsback DOT org, wardsback.org, FR, France, FR, TRUE, FALSE, No, http://alliumcepa.wardsback.org/, , , , http://alliumcepa.wardsback.org/dist/, , , , Mon Mar 16 18:53:03 2015
+PW, PW, DE, Germany, DE, TRUE, TRUE, NO, http://tor.pw.is/, https://www.it-sicherheitschannel.de/, , , http://tor.pw.is/dist/, https://www.it-sicherheitschannel.de/dist/, , , Tue Mar 17 12:21:21 2015
+kevin(a)freedom.press, Freedom of the Press Foundation, , US, US, True, False, No, http://tor.freedom.press, https://tor.freedom.press, , , http://tor.freedom.press/dist/, https://tor.freedom.press/dist/, , ,
+hsu AT peterdavehellor DOT org, "Department of CSE, Yuan Ze University", TW, Taiwan, Asia, TRUE, FALSE, No, http://ftp.yzu.edu.tw/torproject.org/, , rsync://ftp.yzu.edu.tw/pub/torproject.org/, ftp://ftp.yzu.edu.tw/torproject.org/, http://ftp.yzu.edu.tw/torproject.org/dist/, , rsync://ftp.yzu.edu.tw/pub/torproject.org/dist/,
+, , , , , , , , , , , , , , , ,
1
0

17 Mar '15
commit 91f7771fe5cf1c299a4281391963757f7d1dc801
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Tue Mar 17 10:58:12 2015 -0400
Start work on 0.2.6.5-?? changelog
---
ChangeLog | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 2fec11b..d1009be 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,29 @@
Changes in version 0.2.6.5-?? - 2015-03-??
+ Tor 0.2.6.5-?? is the second and (hopefully) last release candidate in
+ the 0.2.6. It fixes a small number of bugs found in 0.2.6.4-rc.
+
+ o Major bugfixes (client):
+ - Avoid crashing when making certain configuration option changes on
+ clients. Fixes bug 15245; bugfix on 0.2.6.3-alpha. Reported
+ by "anonym".
+
+ o Major bugfixes (pluggable transports):
+ - Initialize the extended OR Port authentication cookie before
+ launching pluggable transports. This prevents a race condition
+ that occured when server-side pluggable transports would cache the
+ authentication cookie before it has been (re)generated. Fixes bug
+ 15240; bugfix on 0.2.5.1-alpha.
+
+ o Major bugfixes (portability):
+ - Do not crash on startup when running on Solaris. Fixes a bug
+ related to our fix for 9495; bugfix on 0.2.6.1-alpha. Reported
+ by "ruebezahl".
+
+ o Minor features (heartbeat):
+ - On relays, report how many connections we negotiated using each
+ version of the Tor link protocols. This information will let us
+ know if removing support for very old versions of the Tor
+ protocols is harming the network. Closes ticket 15212.
Changes in version 0.2.5.11 - 2015-03-17
1
0