tor-commits
Threads by month
- ----- 2025 -----
- 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
May 2017
- 16 participants
- 1135 discussions

[torspec/master] Merge remote-tracking branch 'chelseakomlo/glossary-term-additions'
by nickm@torproject.org 09 May '17
by nickm@torproject.org 09 May '17
09 May '17
commit b9f3520ace8be96e63ad1e1cd1ce8ec71faa0d61
Merge: 2ffe30f f6149b3
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Tue May 9 08:25:55 2017 -0400
Merge remote-tracking branch 'chelseakomlo/glossary-term-additions'
glossary.txt | 105 +++++++++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 88 insertions(+), 17 deletions(-)
1
0
commit 21caa46a1f2064d60755df3aebf4447edf2189fb
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Tue May 9 08:39:01 2017 -0400
small edits and tweaks
---
glossary.txt | 68 +++++++++++++++++++++++++++++++++++-------------------------
1 file changed, 40 insertions(+), 28 deletions(-)
diff --git a/glossary.txt b/glossary.txt
index 9f1bdc0..e1a0f0a 100644
--- a/glossary.txt
+++ b/glossary.txt
@@ -3,11 +3,14 @@
The Tor Project
-Note: This document aims to specify terms, notations or phrases related
-to Tor and The Tor Project.
+This document aims to specify terms, notations, and phrases related
+to Tor, as used in the Tor specification documents and other documentation.
This glossary is not a design document; it is only a reference.
+This glossary is a work-in-progress; double-check its definitions before
+citing them authoritatively. ;)
+
0. Preliminaries
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
@@ -22,54 +25,59 @@ This glossary is not a design document; it is only a reference.
2.0 Tor network components
- 2.1 Relay, aka OR (onion router)
+ 2.1 Relays, aka OR (onion router)
+
+ [Style guide: prefer the term "Relay"]
2.1.1 Specific roles
Exit relay: The final hop in an exit circuit before traffic leaves
the Tor network to connect to external servers.
- Non-exit relay: Relays which send and receive traffic only to
- other Tor relays.
+ Non-exit relay: Relays that send and receive traffic only to
+ other Tor relays and Tor clients.
Entry relay: The first hop in a Tor circuit. Can be either a guard
- relay or a bridge, with bridges taking precedant.
+ relay or a bridge, depending on the client's configuration.
- Guard relay: Currently only used as entry relays. Guard relays
- are rotated more slowly to prevent enumeration attacks.
+ Guard relay: A relay that a client uses as its entry for a longer
+ period of time. Guard relays are rotated more slowly to prevent
+ enumeration attacks.
Bridge: A relay intentionally not listed in the public Tor
consensus, with the purpose of circumventing entities (such as
governments or ISPs) seeking to block clients from using Tor.
Currently, bridges are used only as entry relays.
- Directory cache: On bootstrap, clients will query a directory
- authority for the latest consensus. However, later consensus
- fetches can be made to directory caches, which can be any relay in
- the network.
+ Directory cache: A relay that downloads cached directory information
+ from the directory authorities and serves it to clients on demand.
+ Any relay will act as a directory cache, if its bandwidth is high enough.
Rendezvous point: A relay connecting a client to a hidden service.
- Each party will build a three-hop circuit, meeting at the
+ Each party will builds a three-hop circuit, meeting at the
rendezvous point.
2.2 Client, aka OP (onion proxy)
+ [Style: the "OP" and "onion proxy" terms are deprecated.]
+
2.3 Authorities:
Directory Authority: Nine total in the Tor network, operated by
trusted individuals. Directory authorities define and serve the
- consensus document, i.e, the "state of the network," which contains
- router statuses for all relays currently in the network. Directory
- authorities also serve server descriptors, extra info documents,
- microdescriptors, and the microdescriptor consensus,
+ consensus document, defining the "state of the network." This document
+ contains a "router status" section for every relays currently
+ in the network. Directory authorities also serve router descriptors,
+ extra info documents, microdescriptors, and the microdescriptor consensus,
Bridge Authority: One total. Similar in responsibility to directory
authorities, but for bridges.
- Fallback Directory Mirror: On bootstrap, a client will first attempt
- to fetch the consensus document from fallback directory mirrors,
- a relay selected for this role due to its stability and longevity
- on the network.
+ Fallback directory mirror: One of a list of directory caches distributed
+ with the Tor software. (When a client first connects to the network, and
+ has no directory information, it asks a fallback directory. From then on,
+ the client can ask any directory cache that's listed in the directory
+ information it has.)
2.4 Hidden Service:
@@ -118,12 +126,16 @@ This glossary is not a design document; it is only a reference.
4.0 General network definitions
- Leaky Pipe Topology: The ability for packets to be addressed to any
- hop in the path of a circuit. In Tor, the destination hop is
- determined by using the recognized field of relay cells.
+ Leaky Pipe Topology: The ability for the origin of a circuit to address
+ relay cells to be addressed to any hop in the path of a circuit. In Tor,
+ the destination hop is determined by using the 'recognized' field of relay
+ cells.
+
+ Stream: A single application-level connection or request, multiplexed over
+ a Tor circuit. A 'Stream' can currently carry the contents of a TCP
+ connection, a DNS request, or a Tor directory request.
- Stream: In the Tor network specifically, TCP streams are multiplexed
- over circuits.
+ Channel: A pairwise connection between two Tor relays, or between a
+ client and a relay. Circuits are multiplexed over Channels. All
+ channels are currently implemented as TLS connections.
- TLS connection: All pairwise connections in the Tor network are made
- over TLS.
1
0

09 May '17
commit 4273a39ac2bf981056031d127506ba8a8ce0efc7
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Tue May 9 08:25:06 2017 -0400
Whoops! Give Daniel Martí credit for prop140 work.
---
changes/prop140 | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/changes/prop140 b/changes/prop140
index 04a30dc..661028c 100644
--- a/changes/prop140
+++ b/changes/prop140
@@ -5,5 +5,6 @@
the client holds. Clients now request these documents when
available. When this new protocol is in use by both client and server,
they will use far less bandwidth (up to 94% less) to keep an up-to-date
- consensus. Implements proposal 140; closes ticket 13339.
+ consensus. Implements proposal 140; closes ticket 13339. Based
+ on work by by Daniel Martí.
1
0

09 May '17
commit ef2248d09bf8dbe7f8213d5580b2a21d56fdcbef
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Tue May 9 07:25:34 2017 -0400
Fix a warning about an extraneous semicolon
---
src/or/channel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/or/channel.c b/src/or/channel.c
index 0b99dc9..df6d7d3 100644
--- a/src/or/channel.c
+++ b/src/or/channel.c
@@ -106,7 +106,7 @@ HT_GENERATE2(channel_gid_map, channel_s, gidmap_node,
channel_id_hash, channel_id_eq,
0.6, tor_reallocarray_, tor_free_)
-HANDLE_IMPL(channel, channel_s,);
+HANDLE_IMPL(channel, channel_s,)
/* Counter for ID numbers */
static uint64_t n_channels_allocated = 0;
1
0
commit 7751df61ca25a964f20d90e0cb4578e86e1714c9
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Tue May 9 07:25:52 2017 -0400
Fix a warning about a shadowed global
---
src/or/channelpadding.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/or/channelpadding.c b/src/or/channelpadding.c
index 481d937..4121651 100644
--- a/src/or/channelpadding.c
+++ b/src/or/channelpadding.c
@@ -402,10 +402,10 @@ channelpadding_send_padding_cell_for_callback(channel_t *chan)
*/
static void
channelpadding_send_padding_callback(tor_timer_t *timer, void *args,
- const struct monotime_t *time)
+ const struct monotime_t *when)
{
channel_t *chan = channel_handle_get((struct channel_handle_t*)args);
- (void)timer; (void)time;
+ (void)timer; (void)when;
if (chan && CHANNEL_CAN_HANDLE_CELLS(chan)) {
/* Hrmm.. It might be nice to have an equivalent to assert_connection_ok
1
0
commit 674c1d259488d79882c705f891db01059fa2b855
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Tue May 9 07:26:14 2017 -0400
Fix an implicit conversion warning
---
src/test/test_channelpadding.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/test/test_channelpadding.c b/src/test/test_channelpadding.c
index 5d11842..cffc8d0 100644
--- a/src/test/test_channelpadding.c
+++ b/src/test/test_channelpadding.c
@@ -669,8 +669,9 @@ test_channelpadding_negotiation(void *arg)
val = channelpadding_get_netflow_inactive_timeout_ms(client_relay3);
tt_int_op(val, OP_GE, 9000);
tt_int_op(val, OP_LE, 14000);
- val = channelpadding_compute_time_until_pad_for_netflow(client_relay3);
- tt_int_op(val, OP_LE, 14000);
+ int64_t val64 =
+ channelpadding_compute_time_until_pad_for_netflow(client_relay3);
+ tt_i64_op(val64, OP_LE, 14000);
done:
free_mock_network();
1
0
commit 7de9999de2097abd7e33254f4e9f39ed7d8eb310
Author: Roger Dingledine <arma(a)torproject.org>
Date: Tue May 9 03:10:52 2017 -0400
another mirror run
including new mirror entries from samdney based on #22192
---
include/mirrors-table.wmi | 572 ++++++++++++++++++++++++++--------------------
include/tor-mirrors.csv | 217 +++++++++---------
2 files changed, 433 insertions(+), 356 deletions(-)
diff --git a/include/mirrors-table.wmi b/include/mirrors-table.wmi
index 8af5bd2..0a326f3 100644
--- a/include/mirrors-table.wmi
+++ b/include/mirrors-table.wmi
@@ -1,153 +1,85 @@
<tr>
- <td>IS</td>
-
- <td>torproject.is</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> - </td>
- <td> - </td>
- <td> - </td>
- <td> - </td>
-</tr>
-
-<tr>
-
- <td>AT</td>
+ <td>UA</td>
- <td>Tor Supporter</td>
+ <td>IP-Connect LLC</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> - </td>
- <td> - </td>
+ <td><a href="ftp://torproject.ip-connect.vn.ua/mirror/torproject/">ftp</a></td>
+ <td><a href="http://torproject.ip-connect.vn.ua/dist">http</a></td>
+ <td><a href="http://torproject.ip-connect.vn.ua">http</a></td>
<td> - </td>
<td> - </td>
+ <td><a href="rsync://torproject.ip-connect.vn.ua/torproject/dist">rsync</a></td>
+ <td><a href="rsync://torproject.ip-connect.vn.ua/torproject">rsync</a></td>
</tr>
<tr>
<td>DE</td>
- <td>Tor Supporter</td>
+ <td>TB-ITF</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://tor.ybti.net/dist/">http</a></td>
- <td><a href="http://tor.ybti.net/">http</a></td>
- <td><a href="https://tor.ybti.net/dist/">https</a></td>
- <td><a href="https://tor.ybti.net/">https</a></td>
+ <td><a href="http://tormirror.tb-itf-tor.de/dist/">http</a></td>
+ <td><a href="http://tormirror.tb-itf-tor.de">http</a></td>
+ <td><a href="https://tormirror.tb-itf-tor.de/dist/">https</a></td>
+ <td><a href="https://tormirror.tb-itf-tor.de">https</a></td>
<td> - </td>
<td> - </td>
</tr>
<tr>
- <td>DE</td>
+ <td>IS</td>
- <td>Netzkonstrukt Berlin</td>
+ <td>Frenn vun der Enn A.S.B.L.</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://mirror.ntzk.de/torproject.org/dist/">http</a></td>
- <td><a href="http://mirror.ntzk.de/torproject.org/">http</a></td>
- <td><a href="https://mirror.ntzk.de/torproject.org/dist/">https</a></td>
- <td><a href="https://mirror.ntzk.de/torproject.org/">https</a></td>
+ <td><a href="http://torproject.lu/dist/">http</a></td>
+ <td><a href="http://torproject.lu/">http</a></td>
<td> - </td>
<td> - </td>
-</tr>
-
-<tr>
-
- <td>US</td>
-
- <td>EPRCI</td>
-
- <td>Up to date</td>
-
- <td> - </td>
- <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> - </td>
<td> - </td>
</tr>
<tr>
- <td>FR</td>
+ <td>NO</td>
- <td>wardsback.org</td>
+ <td>MultiNet AS</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://alliumcepa.wardsback.org/dist/">http</a></td>
- <td><a href="http://alliumcepa.wardsback.org/">http</a></td>
- <td> - </td>
- <td> - </td>
+ <td><a href="http://tor.multinet.no/dist/">http</a></td>
+ <td><a href="http://tor.multinet.no/">http</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><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>
-
-<tr>
-
- <td>TW</td>
-
- <td>Department of CSE. Yuan Ze University</td>
-
- <td>Up to date</td>
-
- <td><a href="ftp://ftp.yzu.edu.tw/torproject.org/">ftp</a></td>
- <td><a href="http://ftp.yzu.edu.tw/torproject.org/dist/">http</a></td>
- <td><a href="http://ftp.yzu.edu.tw/torproject.org/">http</a></td>
- <td><a href="https://ftp.yzu.edu.tw/torproject.org/dist/">https</a></td>
- <td><a href="https://ftp.yzu.edu.tw/torproject.org/">https</a></td>
- <td><a href="rsync://ftp.yzu.edu.tw/pub/torproject.org/dist/">rsync</a></td>
- <td><a href="rsync://ftp.yzu.edu.tw/pub/torproject.org/">rsync</a></td>
</tr>
<tr>
- <td>XX</td>
+ <td>ES</td>
- <td>TvdW</td>
+ <td>Tor Supporter</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://tor-exit.network/dist">http</a></td>
- <td><a href="http://tor-exit.network">http</a></td>
- <td> - </td>
- <td> - </td>
+ <td><a href="http://tor.zilog.es/dist/">http</a></td>
+ <td><a href="http://tor.zilog.es/">http</a></td>
+ <td><a href="https://tor.zilog.es/dist/">https</a></td>
+ <td><a href="https://tor.zilog.es/">https</a></td>
<td> - </td>
<td> - </td>
</tr>
@@ -156,132 +88,30 @@
<td>US</td>
- <td>The Calyx Institute</td>
-
- <td>Up to date</td>
-
- <td> - </td>
- <td><a href="http://tor.calyxinstitute.org/dist/">http</a></td>
- <td><a href="http://tor.calyxinstitute.org">http</a></td>
- <td><a href="https://tor.calyxinstitute.org/dist/">https</a></td>
- <td><a href="https://tor.calyxinstitute.org">https</a></td>
- <td> - </td>
- <td> - </td>
-</tr>
-
-<tr>
-
- <td>NL</td>
-
- <td>Babylon Network</td>
-
- <td>Up to date</td>
-
- <td><a href="ftp://nl.mirror.babylon.network/torproject/">ftp</a></td>
- <td><a href="http://nl.mirror.babylon.network/torproject/dist/">http</a></td>
- <td><a href="http://nl.mirror.babylon.network/torproject/">http</a></td>
- <td><a href="https://nl.mirror.babylon.network/torproject/dist/">https</a></td>
- <td><a href="https://nl.mirror.babylon.network/torproject/">https</a></td>
- <td><a href="rsync://nl.mirror.babylon.network/torproject/dist/">rsync</a></td>
- <td><a href="rsync://nl.mirror.babylon.network/torproject/">rsync</a></td>
-</tr>
-
-<tr>
-
- <td>FR</td>
-
- <td>Babylon Network</td>
-
- <td>Up to date</td>
-
- <td><a href="ftp://fr.mirror.babylon.network/torproject/">ftp</a></td>
- <td><a href="http://fr.mirror.babylon.network/torproject/dist/">http</a></td>
- <td><a href="http://fr.mirror.babylon.network/torproject/">http</a></td>
- <td><a href="https://fr.mirror.babylon.network/torproject/dist/">https</a></td>
- <td><a href="https://fr.mirror.babylon.network/torproject/">https</a></td>
- <td><a href="rsync://fr.mirror.babylon.network/torproject/dist/">rsync</a></td>
- <td><a href="rsync://fr.mirror.babylon.network/torproject/">rsync</a></td>
-</tr>
-
-<tr>
-
- <td>UA</td>
-
- <td>IP-Connect LLC</td>
-
- <td>Up to date</td>
-
- <td><a href="ftp://torproject.ip-connect.vn.ua/mirror/torproject/">ftp</a></td>
- <td><a href="http://torproject.ip-connect.vn.ua/dist">http</a></td>
- <td><a href="http://torproject.ip-connect.vn.ua">http</a></td>
- <td> - </td>
- <td> - </td>
- <td><a href="rsync://torproject.ip-connect.vn.ua/torproject/dist">rsync</a></td>
- <td><a href="rsync://torproject.ip-connect.vn.ua/torproject">rsync</a></td>
-</tr>
-
-<tr>
-
- <td>DE</td>
-
- <td>TB-ITF</td>
-
- <td>Up to date</td>
-
- <td> - </td>
- <td><a href="http://tormirror.tb-itf-tor.de/dist/">http</a></td>
- <td><a href="http://tormirror.tb-itf-tor.de">http</a></td>
- <td><a href="https://tormirror.tb-itf-tor.de/dist/">https</a></td>
- <td><a href="https://tormirror.tb-itf-tor.de">https</a></td>
- <td> - </td>
- <td> - </td>
-</tr>
-
-<tr>
-
- <td>IS</td>
-
- <td>Frenn vun der Enn A.S.B.L.</td>
-
- <td>Up to date</td>
-
- <td> - </td>
- <td><a href="http://torproject.lu/dist/">http</a></td>
- <td><a href="http://torproject.lu/">http</a></td>
- <td> - </td>
- <td> - </td>
- <td> - </td>
- <td> - </td>
-</tr>
-
-<tr>
-
- <td>DE</td>
-
<td>Tor Supporter</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://tor.hoi-polloi.org/dist/">http</a></td>
- <td><a href="http://tor.hoi-polloi.org">http</a></td>
- <td><a href="https://tor.hoi-polloi.org/dist/">https</a></td>
- <td><a href="https://tor.hoi-polloi.org/">https</a></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="https://199.175.55.215/dist/">https</a></td>
+ <td><a href="https://199.175.55.215/">https</a></td>
<td> - </td>
<td> - </td>
</tr>
<tr>
- <td>NO</td>
+ <td>IS</td>
- <td>MultiNet AS</td>
+ <td>torproject.is</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://tor.multinet.no/dist/">http</a></td>
- <td><a href="http://tor.multinet.no/">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>
@@ -290,34 +120,34 @@
<tr>
- <td>ES</td>
+ <td>AT</td>
- <td>Tor Supporter</td>
+ <td>ph3x</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://tor.zilog.es/dist/">http</a></td>
- <td><a href="http://tor.zilog.es/">http</a></td>
- <td><a href="https://tor.zilog.es/dist/">https</a></td>
- <td><a href="https://tor.zilog.es/">https</a></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="https://torproject.ph3x.at/dist/">https</a></td>
+ <td><a href="https://torproject.ph3x.at">https</a></td>
<td> - </td>
<td> - </td>
</tr>
<tr>
- <td>US</td>
+ <td>MX</td>
<td>Tor Supporter</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="https://199.175.55.215/dist/">https</a></td>
- <td><a href="https://199.175.55.215/">https</a></td>
+ <td><a href="http://fbnaia.homelinux.net/torproject/dist/">http</a></td>
+ <td><a href="http://fbnaia.homelinux.net/torproject/">http</a></td>
+ <td><a href="https://fbnaia.homelinux.net/torproject/dist/">https</a></td>
+ <td><a href="https://fbnaia.homelinux.net/torproject/">https</a></td>
<td> - </td>
<td> - </td>
</tr>
@@ -409,6 +239,40 @@
<tr>
+ <td>RU</td>
+
+ <td>Soviet Anonymous</td>
+
+ <td>Up to date</td>
+
+ <td><a href="ftp://creep.im/mirrors/tor">ftp</a></td>
+ <td><a href="http://creep.im/tor/dist/">http</a></td>
+ <td><a href="http://creep.im/tor">http</a></td>
+ <td><a href="https://creep.im/tor/dist/">https</a></td>
+ <td><a href="https://creep.im/tor">https</a></td>
+ <td><a href="rsync://creep.im/tor-dist">rsync</a></td>
+ <td><a href="rsync://creep.im/tor">rsync</a></td>
+</tr>
+
+<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>
@@ -445,32 +309,49 @@
<td>DE</td>
- <td>cYbergueRrilLa AnonyMous NeXus</td>
+ <td>Tor Supporter</td>
+
+ <td>Up to date</td>
+
+ <td> - </td>
+ <td><a href="http://mirror.velcommuta.de/tor/dist/">http</a></td>
+ <td><a href="http://mirror.velcommuta.de/tor/">http</a></td>
+ <td><a href="https://mirror.velcommuta.de/tor/dist/">https</a></td>
+ <td><a href="https://mirror.velcommuta.de/tor/">https</a></td>
+ <td> - </td>
+ <td> - </td>
+</tr>
+
+<tr>
+
+ <td>US</td>
+
+ <td>EFF</td>
<td>Up to date</td>
<td> - </td>
<td> - </td>
<td> - </td>
- <td><a href="https://tor-mirror.cyberguerrilla.org/dist/">https</a></td>
- <td><a href="https://tor-mirror.cyberguerrilla.org">https</a></td>
+ <td><a href="https://tor.eff.org/dist/">https</a></td>
+ <td><a href="https://tor.eff.org">https</a></td>
<td> - </td>
<td> - </td>
</tr>
<tr>
- <td>DE</td>
+ <td>GR</td>
<td>Tor Supporter</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://mirror.velcommuta.de/tor/dist/">http</a></td>
- <td><a href="http://mirror.velcommuta.de/tor/">http</a></td>
- <td><a href="https://mirror.velcommuta.de/tor/dist/">https</a></td>
- <td><a href="https://mirror.velcommuta.de/tor/">https</a></td>
+ <td><a href="http://tor.void.gr/dist/">http</a></td>
+ <td><a href="http://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>
@@ -598,6 +479,23 @@
<td>DE</td>
+ <td>Tor Supporter</td>
+
+ <td>Up to date</td>
+
+ <td> - </td>
+ <td><a href="http://tor.ybti.net/dist/">http</a></td>
+ <td><a href="http://tor.ybti.net/">http</a></td>
+ <td><a href="https://tor.ybti.net/dist/">https</a></td>
+ <td><a href="https://tor.ybti.net/">https</a></td>
+ <td> - </td>
+ <td> - </td>
+</tr>
+
+<tr>
+
+ <td>DE</td>
+
<td>0x3d.lu</td>
<td>Up to date</td>
@@ -647,6 +545,108 @@
<tr>
+ <td>DE</td>
+
+ <td>Netzkonstrukt Berlin</td>
+
+ <td>Up to date</td>
+
+ <td> - </td>
+ <td><a href="http://mirror.ntzk.de/torproject.org/dist/">http</a></td>
+ <td><a href="http://mirror.ntzk.de/torproject.org/">http</a></td>
+ <td><a href="https://mirror.ntzk.de/torproject.org/dist/">https</a></td>
+ <td><a href="https://mirror.ntzk.de/torproject.org/">https</a></td>
+ <td> - </td>
+ <td> - </td>
+</tr>
+
+<tr>
+
+ <td>US</td>
+
+ <td>EPRCI</td>
+
+ <td>Up to date</td>
+
+ <td> - </td>
+ <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> - </td>
+ <td> - </td>
+</tr>
+
+<tr>
+
+ <td>FR</td>
+
+ <td>wardsback.org</td>
+
+ <td>Up to date</td>
+
+ <td> - </td>
+ <td><a href="http://alliumcepa.wardsback.org/dist/">http</a></td>
+ <td><a href="http://alliumcepa.wardsback.org/">http</a></td>
+ <td> - </td>
+ <td> - </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><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>
+
+<tr>
+
+ <td>TW</td>
+
+ <td>Department of CSE. Yuan Ze University</td>
+
+ <td>Up to date</td>
+
+ <td><a href="ftp://ftp.yzu.edu.tw/torproject.org/">ftp</a></td>
+ <td><a href="http://ftp.yzu.edu.tw/torproject.org/dist/">http</a></td>
+ <td><a href="http://ftp.yzu.edu.tw/torproject.org/">http</a></td>
+ <td><a href="https://ftp.yzu.edu.tw/torproject.org/dist/">https</a></td>
+ <td><a href="https://ftp.yzu.edu.tw/torproject.org/">https</a></td>
+ <td><a href="rsync://ftp.yzu.edu.tw/pub/torproject.org/dist/">rsync</a></td>
+ <td><a href="rsync://ftp.yzu.edu.tw/pub/torproject.org/">rsync</a></td>
+</tr>
+
+<tr>
+
+ <td>XX</td>
+
+ <td>TvdW</td>
+
+ <td>Up to date</td>
+
+ <td> - </td>
+ <td><a href="http://tor-exit.network/dist">http</a></td>
+ <td><a href="http://tor-exit.network">http</a></td>
+ <td> - </td>
+ <td> - </td>
+ <td> - </td>
+ <td> - </td>
+</tr>
+
+<tr>
+
<td>CH</td>
<td>urown.net</td>
@@ -715,6 +715,23 @@
<tr>
+ <td>US</td>
+
+ <td>The Calyx Institute</td>
+
+ <td>Up to date</td>
+
+ <td> - </td>
+ <td><a href="http://tor.calyxinstitute.org/dist/">http</a></td>
+ <td><a href="http://tor.calyxinstitute.org">http</a></td>
+ <td><a href="https://tor.calyxinstitute.org/dist/">https</a></td>
+ <td><a href="https://tor.calyxinstitute.org">https</a></td>
+ <td> - </td>
+ <td> - </td>
+</tr>
+
+<tr>
+
<td>FR</td>
<td>Michael Armbruster</td>
@@ -766,68 +783,119 @@
<tr>
- <td>RU</td>
+ <td>NL</td>
- <td>Soviet Anonymous</td>
+ <td>Babylon Network</td>
<td>Up to date</td>
- <td><a href="ftp://creep.im/mirrors/tor">ftp</a></td>
- <td><a href="http://creep.im/tor/dist/">http</a></td>
- <td><a href="http://creep.im/tor">http</a></td>
- <td><a href="https://creep.im/tor/dist/">https</a></td>
- <td><a href="https://creep.im/tor">https</a></td>
- <td><a href="rsync://creep.im/tor-dist">rsync</a></td>
- <td><a href="rsync://creep.im/tor">rsync</a></td>
+ <td><a href="ftp://nl.mirror.babylon.network/torproject/">ftp</a></td>
+ <td><a href="http://nl.mirror.babylon.network/torproject/dist/">http</a></td>
+ <td><a href="http://nl.mirror.babylon.network/torproject/">http</a></td>
+ <td><a href="https://nl.mirror.babylon.network/torproject/dist/">https</a></td>
+ <td><a href="https://nl.mirror.babylon.network/torproject/">https</a></td>
+ <td><a href="rsync://nl.mirror.babylon.network/torproject/dist/">rsync</a></td>
+ <td><a href="rsync://nl.mirror.babylon.network/torproject/">rsync</a></td>
</tr>
<tr>
- <td>US</td>
+ <td>FR</td>
- <td>EFF</td>
+ <td>Babylon Network</td>
+
+ <td>Up to date</td>
+
+ <td><a href="ftp://fr.mirror.babylon.network/torproject/">ftp</a></td>
+ <td><a href="http://fr.mirror.babylon.network/torproject/dist/">http</a></td>
+ <td><a href="http://fr.mirror.babylon.network/torproject/">http</a></td>
+ <td><a href="https://fr.mirror.babylon.network/torproject/dist/">https</a></td>
+ <td><a href="https://fr.mirror.babylon.network/torproject/">https</a></td>
+ <td><a href="rsync://fr.mirror.babylon.network/torproject/dist/">rsync</a></td>
+ <td><a href="rsync://fr.mirror.babylon.network/torproject/">rsync</a></td>
+</tr>
+
+<tr>
+
+ <td>EE</td>
+
+ <td>CyberSiDE</td>
<td>Up to date</td>
<td> - </td>
+ <td><a href="http://cyberside.net.ee/sibul/dist/">http</a></td>
+ <td><a href="http://cyberside.net.ee/sibul/">http</a></td>
+ <td><a href="https://cyberside.net.ee/sibul/dist/">https</a></td>
+ <td><a href="https://cyberside.net.ee/sibul/">https</a></td>
<td> - </td>
<td> - </td>
- <td><a href="https://tor.eff.org/dist/">https</a></td>
- <td><a href="https://tor.eff.org">https</a></td>
+</tr>
+
+<tr>
+
+ <td>DE</td>
+
+ <td>TB-ITF</td>
+
+ <td>Up to date</td>
+
+ <td><a href="ftp://tormirror.tb-itf-tor.de/">ftp</a></td>
+ <td><a href="http://tormirror.tb-itf-tor.de/dist/">http</a></td>
+ <td><a href="http://tormirror.tb-itf-tor.de">http</a></td>
+ <td><a href="https://tormirror.tb-itf-tor.de/dist/">https</a></td>
+ <td><a href="https://tormirror.tb-itf-tor.de">https</a></td>
<td> - </td>
<td> - </td>
</tr>
<tr>
- <td>GR</td>
+ <td>FR</td>
- <td>Tor Supporter</td>
+ <td>Standalone Installer Software</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://tor.void.gr/dist/">http</a></td>
- <td><a href="http://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://mirrors.standaloneinstaller.com/torproject/dist">http</a></td>
+ <td><a href="http://mirrors.standaloneinstaller.com/torproject/">http</a></td>
<td> - </td>
<td> - </td>
+ <td><a href="rsync://mirrors.standaloneinstaller.com/torproject/dist">rsync</a></td>
+ <td><a href="rsync://mirrors.standaloneinstaller.com/torproject/">rsync</a></td>
</tr>
<tr>
- <td>MX</td>
+ <td>VN</td>
+
+ <td>Freedif</td>
+
+ <td>Up to date</td>
+
+ <td> - </td>
+ <td><a href="http://mirror.freedif.org/TorProject/dist">http</a></td>
+ <td><a href="http://mirror.freedif.org/TorProject/">http</a></td>
+ <td><a href="https://mirror.freedif.org/TorProject/dist">https</a></td>
+ <td><a href="https://mirror.freedif.org/TorProject/">https</a></td>
+ <td> - </td>
+ <td> - </td>
+</tr>
+
+<tr>
+
+ <td>FR</td>
<td>Tor Supporter</td>
<td>Up to date</td>
<td> - </td>
- <td><a href="http://fbnaia.homelinux.net/torproject/dist/">http</a></td>
- <td><a href="http://fbnaia.homelinux.net/torproject/">http</a></td>
- <td><a href="https://fbnaia.homelinux.net/torproject/dist/">https</a></td>
- <td><a href="https://fbnaia.homelinux.net/torproject/">https</a></td>
+ <td><a href="http://torproject.xj1.fr/dist/">http</a></td>
+ <td><a href="http://torproject.xj1.fr/">http</a></td>
+ <td> - </td>
+ <td> - </td>
<td> - </td>
<td> - </td>
</tr>
@@ -836,15 +904,15 @@
<td>DE</td>
- <td>torservers</td>
+ <td>Funkfreunde Landshut e.V.</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><a href="http://stwo.biz:8084/torproject.org/dist/">http</a></td>
+ <td><a href="http://stwo.biz:8084/torproject.org">http</a></td>
+ <td> - </td>
+ <td> - </td>
<td> - </td>
<td> - </td>
</tr>
diff --git a/include/tor-mirrors.csv b/include/tor-mirrors.csv
index 15c9630..157ee97 100644
--- a/include/tor-mirrors.csv
+++ b/include/tor-mirrors.csv
@@ -12,120 +12,129 @@ Tor Fan, Tor Supporter, NL, The Netherlands, NL, TRUE, FALSE, No, , , , , , http
Tor Fan, LazyTiger, FR, France, FR, TRUE, FALSE, No, http://tor.taiga-san.net/, , , , http://tor.taiga-san.net/dist/, , , ,
Tor Fan, Tor Supporter, EE, Estonia, EE, TRUE, FALSE, No, http://tor.li/, https://tor.li/, , , http://tor.li/dist/, https://tor.li/dist/, , ,
Tor Fan, Tor Supporter, DE, Germany, DE, TRUE, FALSE, NO, http://tor.externenprüfung-nichtschüler.de/, , , , http://tor.externenprüfung-nichtschüler.de/dist/, , , ,
-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, , Wed May 3 15:12:25 2017
+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, , Mon May 8 19:41:04 2017
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, , Wed May 3 15:12:25 2017
-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/, , , Wed May 3 15:12:25 2017
+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, , Mon May 8 19:41:04 2017
+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 May 8 19:41:04 2017
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 05: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 08: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, Wed May 3 15:12:25 2017
-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/, https://tormirror.piratenpartei-bayern.de/dist/, , , Wed Sep 7 22:46:02 2016
-Tor Fan, Tor Supporter, DE, Germany, DE, TRUE, TRUE, NO, http://tor.hoi-polloi.org, https://tor.hoi-polloi.org/, , , http://tor.hoi-polloi.org/dist/, https://tor.hoi-polloi.org/dist/, , , Wed May 3 15:12:25 2017
-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 07:19:07 2014
-http://www.multinet.no, MultiNet AS, NO, Trondheim, Trondheim, TRUE, TRUE, No, http://tor.multinet.no/, , , , http://tor.multinet.no/dist/, , , , Wed May 3 15:12:25 2017
-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/, , , Wed May 3 15:12:25 2017
-Tor Fan, Tor Supporter, US, United States, US, TRUE, FALSE, No, http://199.175.55.215/, https://199.175.55.215/, , , http://199.175.55.215/dist/, https://199.175.55.215/dist/, , , Wed May 3 15:12:25 2017
-Tor Fan, Tor Supporter, US, United States, US, FALSE, TRUE, No, http://2607:8b00:2::6258:5c9/, https://2607:8b00:2::6258:5c9/, , , http://2607:8b00:2::6258:5c9/dist/, https://2607:8b00:2::6258:5c9/dist/, , , Tue Jan 20 21: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 May 1 15:15:16 2017
-Tor Fan, torproject.is, IS, Iceland, IS, TRUE, FALSE, No, http://www.torproject.is/, , , , http://www.torproject.is/dist/, , , , Wed May 3 18:00:17 2017
-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, , Wed May 3 15:12:25 2017
-Tor Fan, me0w.cc, RO, Romania, RO, TRUE, FALSE, No, http://tor.me0w.cc/, , , , http://tor.me0w.cc/dist/, , , , Thu Jan 1 21:17:56 2015
-Tor Fan, borgmann.tv, DE, Germany, DE, TRUE, FALSE, No, http://tor.borgmann.tv/, , , , http://tor.borgmann.tv/dist/, , , , Sun Jul 12 16:04:44 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 21: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 07:01:06 2015
-Tor Fan, Tor Supporter, AT, Austria, AT, TRUE, FALSE, No, http://torproject.ph3x.at/, , , , http://torproject.ph3x.at/dist/, , , , Wed May 3 18:00:17 2017
-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/, , , Wed May 3 00:44:39 2017
-webmaster AT askapache DOT com, AskApache, US, California, US, TRUE, FALSE, No, http://tor.askapache.com/, , , , http://tor.askapache.com/dist/, , , , Wed May 3 15:12:25 2017
-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
-kontakt AT unicorncloud DOT org, UnicornCloud.org, DE, Germany, Falkenstein, TRUE, FALSE, No, http://mirror.unicorncloud.org/torproject.org/, https://mirror.unicorncloud.org/torproject.org/, , , http://mirror.unicorncloud.org/torproject.org/dist, https://mirror.unicorncloud.org/torproject.org/dist, , , Wed May 3 15:12:25 2017
-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
+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 09: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 12: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, Mon May 8 19:41:04 2017
+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/, https://tormirror.piratenpartei-bayern.de/dist/, , , Thu Sep 8 02:46:02 2016
+Tor Fan, Tor Supporter, DE, Germany, DE, TRUE, TRUE, NO, http://tor.hoi-polloi.org, https://tor.hoi-polloi.org/, , , http://tor.hoi-polloi.org/dist/, https://tor.hoi-polloi.org/dist/, , , Wed May 3 19:12:25 2017
+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 11:19:07 2014
+http://www.multinet.no, MultiNet AS, NO, Trondheim, Trondheim, TRUE, TRUE, No, http://tor.multinet.no/, , , , http://tor.multinet.no/dist/, , , , Mon May 8 19:41:04 2017
+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 May 8 19:41:04 2017
+Tor Fan, Tor Supporter, US, United States, US, TRUE, FALSE, No, http://199.175.55.215/, https://199.175.55.215/, , , http://199.175.55.215/dist/, https://199.175.55.215/dist/, , , Mon May 8 19:41:04 2017
+Tor Fan, Tor Supporter, US, United States, US, FALSE, TRUE, No, http://2607:8b00:2::6258:5c9/, https://2607:8b00:2::6258:5c9/, , , http://2607:8b00:2::6258:5c9/dist/, https://2607:8b00:2::6258:5c9/dist/, , , Wed Jan 21 02: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 May 8 19:41:04 2017
+Tor Fan, torproject.is, IS, Iceland, IS, TRUE, FALSE, No, http://www.torproject.is/, , , , http://www.torproject.is/dist/, , , , Mon May 8 19:41:04 2017
+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 May 8 19:41:04 2017
+Tor Fan, me0w.cc, RO, Romania, RO, TRUE, FALSE, No, http://tor.me0w.cc/, , , , http://tor.me0w.cc/dist/, , , , Fri Jan 2 02:17:56 2015
+Tor Fan, borgmann.tv, DE, Germany, DE, TRUE, FALSE, No, http://tor.borgmann.tv/, , , , http://tor.borgmann.tv/dist/, , , , Sun Jul 12 20:04:44 2015
+Tor Fan, Tor Supporter, AT, Austria, AT, TRUE, TRUE, No, http://tor.dont-know-me.at/, , , , http://tor.dont-know-me.at/dist/, , , , Wed Jan 21 02: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 12:01:06 2015
+hosting AT ph3x DOT at, ph3x, AT, Austria, Europe, TRUE, FALSE, No, http://torproject.ph3x.at, https://torproject.ph3x.at, , , http://torproject.ph3x.at/dist/, https://torproject.ph3x.at/dist/, , , Mon May 8 19:41:04 2017
+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 May 8 19:41:04 2017
+webmaster AT askapache DOT com, AskApache, US, California, US, TRUE, FALSE, No, http://tor.askapache.com/, , , , http://tor.askapache.com/dist/, , , , Mon May 8 19:41:04 2017
+Tor Fan, Tor Supporter, FR, France, FR, TRUE, FALSE, No, http://tor.mirror.chekanov.net/, , , , http://tor.mirror.chekanov.net/dist/, , , , Mon Mar 16 22:53:03 2015
+kontakt AT unicorncloud DOT org, UnicornCloud.org, DE, Germany, Falkenstein, TRUE, FALSE, No, http://mirror.unicorncloud.org/torproject.org/, https://mirror.unicorncloud.org/torproject.org/, , , http://mirror.unicorncloud.org/torproject.org/dist, https://mirror.unicorncloud.org/torproject.org/dist, , , Mon May 8 19:41:04 2017
+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 22: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, , , Wed May 25 21:09:20 2016
-paul at coffswifi.net, CoffsWiFi, AU, Australia and New Zealand, APNIC, TRUE, FALSE, No, http://torproject.coffswifi.net, , , , http://torproject.coffswifi.net/dist, , , , Wed May 3 15:12:25 2017
-Tor Fan, cyberarmy, AT, Austria, AT, TRUE, FALSE, No, http://tor.cyberarmy.at/, , , , , , , , Thu Jan 14 00:17:09 2016
-hostmaster AT example DOT com, TheOnionRouter, IS, Iceland, Iceland, TRUE, FALSE, No, http://www.theonionrouter.com/, , , , http://www.theonionrouter.com/dist/, , , , Wed May 3 15:12:25 2017
-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/, , , Wed May 3 15:12:25 2017
-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/, , , , Sat Sep 12 14:14:19 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, , Wed May 3 13:38:10 2017
-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/, Wed May 3 00:44:39 2017
-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 Apr 27 08:34:18 2016
-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/, , , Wed May 3 15:12:25 2017
-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 21: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, , , , Wed May 3 15:12:25 2017
-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/, , , Wed May 3 15:12:25 2017
-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, Wed May 3 15:12:25 2017
-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/, , Wed Sep 7 22:46:02 2016
-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, , , Wed Jul 15 15:49:12 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/, , , Wed May 3 15:12:25 2017
-EFF, EFF, US, United States, US, TRUE, FALSE, NO, , https://tor.eff.org, , , , https://tor.eff.org/dist/, , , Wed May 3 13:38:10 2017
-Tor Fan, Tor Supporter, GR, Greece, GR, TRUE, TRUE, NO, http://tor.void.gr, https://tor.void.gr, , , http://tor.void.gr/dist/, https://tor.void.gr/dist/, , , Wed May 3 13:38:10 2017
-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/, , , Wed May 3 15:12:25 2017
-jlgaddis AT gnu DOT org, Evil Routers, US, United States, US, TRUE, FALSE, No, http://tor1.evilrouters.net/, , , , http://tor1.evilrouters.net/dist/, , , , Wed May 3 15:12:25 2017
-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/, , , Wed Sep 7 22:46:02 2016
-tor TA ninurta TOD name, TorNinurtaName, AT, Austria, AT, TRUE, TRUE, no, http://tor.ninurta.name/, , , , http://tor.ninurta.name/dist/, , , , Wed Oct 22 12: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/, , , Wed May 3 15:12:25 2017
-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/, , , Sat Sep 12 14:14:19 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/, , , Wed Sep 7 22:46:02 2016
-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/, , , Wed May 3 15:12:25 2017
-Sebastian, Maxanoo, NL, The Netherlands, Amsterdam, TRUE, FALSE, NO, http://tor.maxanoo.com/, , , , http://tor.maxanoo.com/dist/, , , , Sun May 31 19:13:53 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 21: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, , , , Wed Sep 7 22:46:02 2016
-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, , , , Wed Jul 15 15:49:12 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/, , , , Wed Sep 7 22:46:02 2016
-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, Wed May 3 15:12:25 2017
-peter AT ludikovsky DOT name, Tor Supporter, AT, Austria, Europe, TRUE, TRUE, No, http://tor.ludikovsky.name/, https://tor.ludikovsky.name/, rsync://tor.ludikovsky.name/tor, , http://tor.ludikovsky.name/dist, https://tor.ludikovsky.name/dist, rsync://tor.ludikovsky.name/tor-dist, http://54lnbzjo6xlr4f4j.onion/, Wed May 3 15:12:25 2017
-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, , , Wed May 3 15:12:25 2017
-0x43DE8191, Tor Supporter, DE, Germany, Europe, TRUE, TRUE, No, http://torproject.hactar.bz, , , , http://torproject.hactar.bz/dist/, , , , Wed Sep 7 22:46:02 2016
-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 17:15:20 2014
-alexander AT dietrich DOT cx, Tor Supporter, DE, Germany, Europe, TRUE, TRUE, No, http://tor.ybti.net/, https://tor.ybti.net/, , , http://tor.ybti.net/dist/, https://tor.ybti.net/dist/, , , Wed May 3 18:00:17 2017
-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/, , , Wed May 3 15:12:25 2017
-kraai(a)ftbfs.org 0xADCE6065, , SE, Sweden, Europe, TRUE, TRUE, No, http://tor.ftbfs.org/, , , , http://tor.ftbfs.org/dist/, , , , Fri Oct 24 05: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, , , 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/, , , Wed May 3 15:12:25 2017
-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, , Wed Jul 15 15:49:12 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
-Jacob Henner, Anatomical Networks, US, United States, US, TRUE, TRUE, TRUE, http://tor.ventricle.us/, , , , http://tor.ventricle.us/dist/, , , , Tue Jan 20 21: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, , Wed May 3 15:12:25 2017
-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/, , , Wed May 3 18:00:17 2017
-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/, , , , Wed Apr 27 02:44:33 2016
-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/, , , Wed May 3 18:00:17 2017
-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 21: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/, , , , Wed May 3 18:00:17 2017
-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/, , , Wed May 3 18:00:17 2017
-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/, , , Thu Jan 14 00:17:09 2016
-hsu AT peterdavehellor DOT org, Department of CSE. Yuan Ze University, TW, Taiwan, Asia, TRUE, FALSE, No, http://ftp.yzu.edu.tw/torproject.org/, https://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/, https://ftp.yzu.edu.tw/torproject.org/dist/, rsync://ftp.yzu.edu.tw/pub/torproject.org/dist/, , Wed May 3 18:00:17 2017
+paul at coffswifi.net, CoffsWiFi, AU, Australia and New Zealand, APNIC, TRUE, FALSE, No, http://torproject.coffswifi.net, , , , http://torproject.coffswifi.net/dist, , , , Mon May 8 19:41:04 2017
+Tor Fan, cyberarmy, AT, Austria, AT, TRUE, FALSE, No, http://tor.cyberarmy.at/, , , , , , , , Thu Jan 14 05:17:09 2016
+hostmaster AT example DOT com, TheOnionRouter, IS, Iceland, Iceland, TRUE, FALSE, No, http://www.theonionrouter.com/, , , , http://www.theonionrouter.com/dist/, , , , Mon May 8 19:41:04 2017
+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/, , , Mon May 8 19:41:04 2017
+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/, , , , Sat Sep 12 18:14:19 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 May 8 19:41:04 2017
+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/, Mon May 8 19:41:04 2017
+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 Apr 27 12:34:18 2016
+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 22: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 May 8 19:41:04 2017
+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/, , , Wed Jan 21 02: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, , , , Mon May 8 19:41:04 2017
+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 May 8 19:41:04 2017
+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, Mon May 8 19:41:04 2017
+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/, , Thu Sep 8 02:46:02 2016
+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, , , Wed Jul 15 19:49:12 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 May 8 19:41:04 2017
+EFF, EFF, US, United States, US, TRUE, FALSE, NO, , https://tor.eff.org, , , , https://tor.eff.org/dist/, , , Mon May 8 19:41:04 2017
+Tor Fan, Tor Supporter, GR, Greece, GR, TRUE, TRUE, NO, http://tor.void.gr, https://tor.void.gr, , , http://tor.void.gr/dist/, https://tor.void.gr/dist/, , , Mon May 8 19:41:04 2017
+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 May 8 19:41:04 2017
+jlgaddis AT gnu DOT org, Evil Routers, US, United States, US, TRUE, FALSE, No, http://tor1.evilrouters.net/, , , , http://tor1.evilrouters.net/dist/, , , , Mon May 8 19:41:04 2017
+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/, , , Thu Sep 8 02:46:02 2016
+tor TA ninurta TOD name, TorNinurtaName, AT, Austria, AT, TRUE, TRUE, no, http://tor.ninurta.name/, , , , http://tor.ninurta.name/dist/, , , , Wed Oct 22 16: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/, , , Mon May 8 19:41:04 2017
+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/, , , Sat Sep 12 18:14:19 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/, , , Thu Sep 8 02:46:02 2016
+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 May 8 19:41:04 2017
+Sebastian, Maxanoo, NL, The Netherlands, Amsterdam, TRUE, FALSE, NO, http://tor.maxanoo.com/, , , , http://tor.maxanoo.com/dist/, , , , Sun May 31 23:13:53 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/, , , Wed Jan 21 02: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, , , , Thu Sep 8 02:46:02 2016
+Tor Fan, Ramos Research, US, United States, US, TRUE, TRUE, No, http://tor.ramosresearch.com/, , , , http://tor.ramosresearch.com/dist/, , , , Mon Mar 16 22:53:03 2015
+Tor Fan, Tor Supporter, DE, Germany, Europe, TRUE, FALSE, No, http://tor.euve33747.vserver.de/, , , , http://tor.euve33747.vserver.de/dist, , , , Wed Jul 15 19:49:12 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/, , , , Thu Sep 8 02:46:02 2016
+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 May 8 19:41:04 2017
+peter AT ludikovsky DOT name, Tor Supporter, AT, Austria, Europe, TRUE, TRUE, No, http://tor.ludikovsky.name/, https://tor.ludikovsky.name/, rsync://tor.ludikovsky.name/tor, , http://tor.ludikovsky.name/dist, https://tor.ludikovsky.name/dist, rsync://tor.ludikovsky.name/tor-dist, http://54lnbzjo6xlr4f4j.onion/, Mon May 8 19:41:04 2017
+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, , , Mon May 8 19:41:04 2017
+0x43DE8191, Tor Supporter, DE, Germany, Europe, TRUE, TRUE, No, http://torproject.hactar.bz, , , , http://torproject.hactar.bz/dist/, , , , Thu Sep 8 02:46:02 2016
+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 22:15:20 2014
+alexander AT dietrich DOT cx, Tor Supporter, DE, Germany, Europe, TRUE, TRUE, No, http://tor.ybti.net/, https://tor.ybti.net/, , , http://tor.ybti.net/dist/, https://tor.ybti.net/dist/, , , Mon May 8 19:41:04 2017
+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 May 8 19:41:04 2017
+kraai(a)ftbfs.org 0xADCE6065, , SE, Sweden, Europe, TRUE, TRUE, No, http://tor.ftbfs.org/, , , , http://tor.ftbfs.org/dist/, , , , Fri Oct 24 09: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, , , Mon Mar 16 22: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 May 8 19:41:04 2017
+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, , Wed Jul 15 19:49:12 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 22:53:03 2015
+Jacob Henner, Anatomical Networks, US, United States, US, TRUE, TRUE, TRUE, http://tor.ventricle.us/, , , , http://tor.ventricle.us/dist/, , , , Wed Jan 21 02: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 May 8 19:41:04 2017
+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 May 8 19:41:04 2017
+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/, , , , Wed Apr 27 06:44:33 2016
+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 May 8 19:41:04 2017
+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, , Fri Jan 23 02: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 May 8 19:41:04 2017
+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/, , , Mon May 8 19:41:04 2017
+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/, , , Thu Jan 14 05:17:09 2016
+hsu AT peterdavehellor DOT org, Department of CSE. Yuan Ze University, TW, Taiwan, Asia, TRUE, FALSE, No, http://ftp.yzu.edu.tw/torproject.org/, https://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/, https://ftp.yzu.edu.tw/torproject.org/dist/, rsync://ftp.yzu.edu.tw/pub/torproject.org/dist/, , Mon May 8 19:41:04 2017
tormirror at sybec.net <mailto:tormirror at sybec.net>, Sybec Services Ltd., DE, Germany, DE, TRUE, FALSE, FALSE, http://tormirror.sybec.net:8080/ <http://tormirror.sybec.net:8080/>, , , , http://tormirror.sybec.net:8080/dist/ <http://tormirror.sybec.net:8080/dist/>, , , ,
-tor at tvdw dot eu, TvdW, XX, Around the world, XX, TRUE, TRUE, Yes, http://tor-exit.network, , , , http://tor-exit.network/dist, , , , Wed May 3 18:00:17 2017
-spiderfly AT protonmail DOT com, Tor Supporter, FR, France, FR, TRUE, FALSE, No, http://onionphysics.com, , , , http://onionphysics.com/dist/, , , , Sat Sep 12 14:14:19 2015
-tormaster AT urown DOT net, urown.net, CH, Switzerland, Europe, TRUE, TRUE, No, http://torproject.urown.net/, https://torproject.urown.net/, , , http://torproject.urown.net/dist/, https://torproject.urown.net/dist/, , http://torprowdd64ytmyk.onion, Wed May 3 15:12:25 2017
-Stefan, sela Internet, DE, Germany, DE, TRUE, TRUE, No, http://sela.io/mirrors/torproject.org/, https://sela.io/mirrors/torproject.org/, , , http://sela.io/mirrors/torproject.org/dist/, https://sela.io/mirrors/torproject.org/dist/, , , Wed May 3 15:12:25 2017
-thomaswhite AT riseup DOT net, TheCthulhu, NL, The Netherlands, NL, True, False, No, http://tor.thecthulhu.com/, https://tor.thecthulhu.com/, , , http://tor.thecthulhu.com/dist/, https://tor.thecthulhu.com/dist/, , , Wed Sep 7 22:46:02 2016
-rush23 AT gmx DOT net, Tor Supporter, DE, Germany, Europe, TRUE, FALSE, No, http://tor-proxy.euve59946.serverprofi24.de/, , , , http://tor-proxy.euve59946.serverprofi24.de/dist/, , , , Thu Jun 4 16:06:42 2015
-webmaster AT ccc DOT de, Chaos Computer Club, DE, Germany, Europe, TRUE, FALSE, No, http://tor.ccc.de/, https://tor.ccc.de, , , http://tor.ccc.de/dist/, https://tor.ccc.de/dist/, , , Wed May 3 15:12:25 2017
-Tor AT goodeid DOT com, Tor Supporter, CA, Canada, CA, TRUE, FALSE, No, http://goodeid.com/mirrors/tor-project.org/, , , , http://goodeid.com/mirrors/tor-project.org/dist/, , , , Wed Sep 7 22:46:02 2016
-tor(a)alenan.org, Alenan e.V., FR, France, Europe, TRUE, FALSE, No, http://tormirror.xyz, https://tormirror.xyz, , , http://tormirror.xyz/dist, https://tormirror.xyz/dist, , , Thu Jan 14 00:17:09 2016
-tor(a)datensicherhe.it, datensicherhe.it, AT, Austria, Europe, TRUE, FALSE, No, http://datensicherhe.it/torproject, https://datensicherhe.it/torproject, , , http://datensicherhe.it/torproject/dist/, https://datensicherhe.it/torproject/dist/, , , Wed Sep 7 22:46:02 2016
+tor at tvdw dot eu, TvdW, XX, Around the world, XX, TRUE, TRUE, Yes, http://tor-exit.network, , , , http://tor-exit.network/dist, , , , Mon May 8 19:41:04 2017
+spiderfly AT protonmail DOT com, Tor Supporter, FR, France, FR, TRUE, FALSE, No, http://onionphysics.com, , , , http://onionphysics.com/dist/, , , , Sat Sep 12 18:14:19 2015
+tormaster AT urown DOT net, urown.net, CH, Switzerland, Europe, TRUE, TRUE, No, http://torproject.urown.net/, https://torproject.urown.net/, , , http://torproject.urown.net/dist/, https://torproject.urown.net/dist/, , http://torprowdd64ytmyk.onion, Mon May 8 19:41:04 2017
+Stefan, sela Internet, DE, Germany, DE, TRUE, TRUE, No, http://sela.io/mirrors/torproject.org/, https://sela.io/mirrors/torproject.org/, , , http://sela.io/mirrors/torproject.org/dist/, https://sela.io/mirrors/torproject.org/dist/, , , Mon May 8 19:41:04 2017
+thomaswhite AT riseup DOT net, TheCthulhu, NL, The Netherlands, NL, True, False, No, http://tor.thecthulhu.com/, https://tor.thecthulhu.com/, , , http://tor.thecthulhu.com/dist/, https://tor.thecthulhu.com/dist/, , , Thu Sep 8 02:46:02 2016
+rush23 AT gmx DOT net, Tor Supporter, DE, Germany, Europe, TRUE, FALSE, No, http://tor-proxy.euve59946.serverprofi24.de/, , , , http://tor-proxy.euve59946.serverprofi24.de/dist/, , , , Thu Jun 4 20:06:42 2015
+webmaster AT ccc DOT de, Chaos Computer Club, DE, Germany, Europe, TRUE, FALSE, No, http://tor.ccc.de/, https://tor.ccc.de, , , http://tor.ccc.de/dist/, https://tor.ccc.de/dist/, , , Mon May 8 19:41:04 2017
+Tor AT goodeid DOT com, Tor Supporter, CA, Canada, CA, TRUE, FALSE, No, http://goodeid.com/mirrors/tor-project.org/, , , , http://goodeid.com/mirrors/tor-project.org/dist/, , , , Thu Sep 8 02:46:02 2016
+tor(a)alenan.org, Alenan e.V., FR, France, Europe, TRUE, FALSE, No, http://tormirror.xyz, https://tormirror.xyz, , , http://tormirror.xyz/dist, https://tormirror.xyz/dist, , , Thu Jan 14 05:17:09 2016
+tor(a)datensicherhe.it, datensicherhe.it, AT, Austria, Europe, TRUE, FALSE, No, http://datensicherhe.it/torproject, https://datensicherhe.it/torproject, , , http://datensicherhe.it/torproject/dist/, https://datensicherhe.it/torproject/dist/, , , Thu Sep 8 02:46:02 2016
NocturnalFilth, Disciples of Disorder, NL, Netherlands, NL, TRUE, FALSE, NO, http://torproject.mirror.disciplesofdisorder.com, https://torproject.mirror.disciplesofdisorder.com, , , http://torproject.mirror.disciplesofdisorder.com/dist/, https://torproject.mirror.disciplesofdisorder.com/dist/, , , Wed Apr 19 18:52:55 2017
-tormirror0121.10.swsnyder(a)spamgourmet.com, tormirror, DE, Germany, TRUE, FALSE, NO, http://tormirror.snydernet.net/, https://tormirror.snydernet.net/, , , http://tormirror.snydernet.net/dist/, https://tormirror.snydernet.net/dist/, , , Mon Dec 28 17:11:31 2015, Wed May 3 15:12:25 2017
-justaguy(a)riseup.net, Justaguy, FR, France, FR, TRUE, FALSE, No, http://tormirror.justaguy.pw/, https://tormirror.justaguy.pw, , , http://tormirror.justaguy.pw/dist/, https://tormirror.justaguy.pw/dist/, , , Thu Jan 14 00:17:09 2016
-Tor Fan, Tor Supporter, FR, France, FR, TRUE, FALSE, No, http://tor.hermes.bendellar.com, https://tor.hermes.bendellar.com, , , http://tor.hermes.bendellar.com/dist, https://tor.hermes.bendellar.com/dist, , , Wed Apr 27 08:34:18 2016
-Disciples of Disorder, Vargr, NL, Netherlands, NL, TRUE, FALSE, NO, http://tor.mirror.disciplesofdisorder.eu, https://tor.mirror.disciplesofdisorder.eu, , , http://tor.mirror.disciplesofdisorder.eu/dist/, https://tor.mirror.disciplesofdisorder.eu/dist/, , http://vargrevir52vkbte.onion, Mon Dec 21 20:50:00 2015
+tormirror0121.10.swsnyder(a)spamgourmet.com, tormirror, DE, Germany, TRUE, FALSE, NO, http://tormirror.snydernet.net/, https://tormirror.snydernet.net/, , , http://tormirror.snydernet.net/dist/, https://tormirror.snydernet.net/dist/, , , Mon Dec 28 17:11:31 2015, Mon May 8 19:41:04 2017
+justaguy(a)riseup.net, Justaguy, FR, France, FR, TRUE, FALSE, No, http://tormirror.justaguy.pw/, https://tormirror.justaguy.pw, , , http://tormirror.justaguy.pw/dist/, https://tormirror.justaguy.pw/dist/, , , Thu Jan 14 05:17:09 2016
+Tor Fan, Tor Supporter, FR, France, FR, TRUE, FALSE, No, http://tor.hermes.bendellar.com, https://tor.hermes.bendellar.com, , , http://tor.hermes.bendellar.com/dist, https://tor.hermes.bendellar.com/dist, , , Wed Apr 27 12:34:18 2016
+Disciples of Disorder, Vargr, NL, Netherlands, NL, TRUE, FALSE, NO, http://tor.mirror.disciplesofdisorder.eu, https://tor.mirror.disciplesofdisorder.eu, , , http://tor.mirror.disciplesofdisorder.eu/dist/, https://tor.mirror.disciplesofdisorder.eu/dist/, , http://vargrevir52vkbte.onion, Tue Dec 22 01:50:00 2015
torrelay anonymized io, Anonymized.io, CA, Canada, CA, TRUE, FALSE, FALSE, http://http://torproject.anonymized.io/, https://http://torproject.anonymized.io/, , , http://torproject.anonymized.io/dist/, https://torproject.anonymized.io/dist/, , ,
tor(a)alenan.org, Alenan e.V., FR, France, Europe, TRUE, FALSE, No, http://tormirror.top, https://tormirror.top, , , http://tormirror.top/dist, https://tormirror.top/dist, , ,
tor(a)alenan.org, Alenan e.V., FR, France, Europe, TRUE, FALSE, No, , https://mirrors.alenan.org/torproject.org/index.html.en, , , , https://mirrors.alenan.org/torproject.org/dist, , ,
Unixcorn staff, unixcorn.org, FR, France, Europe, TRUE, FALSE, No, http://tor.unixcorn.org/, https://tor.unixcorn.org/, , , http://tor.unixcorn.org/dist/, https://tor.unixcorn.org/dist/, , ,
-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 May 3 18:00:17 2017
-tor(a)armbrust.me, Michael Armbruster, FR, France, FR, TRUE, TRUE, No, http://tor.armbrust.me/, https://tor.armbrust.me/, rsync://tor.armbrust.me/tor, , http://tor.armbrust.me/dist/, https://tor.armbrust.me/dist, rsync://tor.armbrust.me/tor-dist, , Wed May 3 15:12:25 2017
-HdO Tor, HdO Tor Supporter, DE, Germany, US, TRUE, TRUE, No, http://tor.hdoev.de/, , , , http://tor.hdoev.de/dist/, , , , Wed Sep 7 22:46:02 2016
-Tor Fan, Tor Supporter, DE, Germany, Germany, TRUE, TRUE, No, http://torproject.mirror.metalgamer.eu/, https://torproject.mirror.metalgamer.eu/, , , http://torproject.mirror.metalgamer.eu/dist/, https://torproject.mirror.metalgamer.eu/dist/, , , Wed May 3 15:12:25 2017
-john AT quintex.com, Quintex Alliance Consulting, US, TX, US, TRUE, FALSE, No, http://torproject.quintex.com/, https://torproject.quintex.com, rsync://mirror.quintex.com/torprojectwebsite, ftp://mirror.quintex.com/torproject.org, http://torproject.quintex.com/dist, https://torproject.quintex.com/dist, rsync://mirror.quintex.com/torprojectdist, , Wed Sep 7 22:46:02 2016
-aldousa at riseup.net, michael ball (https://anarchism.me) US, United States, North America, TRUE, TRUE, No, http://mirrors.anarchism.me, https://mirrors.anarchism.me, , , http://mirrors.anarchism.me/dist, https://mirrors.anarchism.me/dist, , http://gaobjvqqrlotey4d.onion/, Sun Aug 7 02:40:00 2016
-noc AT babylon DOT network, Babylon Network, CA, Canada, CA, TRUE, TRUE, No, http://ca.mirror.babylon.network/torproject/, https://ca.mirror.babylon.network/torproject/, rsync://ca.mirror.babylon.network/torproject/, ftp://ca.mirror.babylon.network/torproject/, http://ca.mirror.babylon.network/torproject/dist/, https://ca.mirror.babylon.network/torproject/dist/, rsync://ca.mirror.babylon.network/torproject/dist/, , Wed May 3 15:12:25 2017
-noc AT babylon DOT network, Babylon Network, NL, The Netherlands, Europe, TRUE, TRUE, No, http://nl.mirror.babylon.network/torproject/, https://nl.mirror.babylon.network/torproject/, rsync://nl.mirror.babylon.network/torproject/, ftp://nl.mirror.babylon.network/torproject/, http://nl.mirror.babylon.network/torproject/dist/, https://nl.mirror.babylon.network/torproject/dist/, rsync://nl.mirror.babylon.network/torproject/dist/, , Wed May 3 18:00:17 2017
-noc AT babylon DOT network, Babylon Network, FR, France, Europe, TRUE, TRUE, No, http://fr.mirror.babylon.network/torproject/, https://fr.mirror.babylon.network/torproject/, rsync://fr.mirror.babylon.network/torproject/, ftp://fr.mirror.babylon.network/torproject/, http://fr.mirror.babylon.network/torproject/dist/, https://fr.mirror.babylon.network/torproject/dist/, rsync://fr.mirror.babylon.network/torproject/dist/, , Wed May 3 18:00:17 2017
+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, Mon May 8 19:41:04 2017
+tor(a)armbrust.me, Michael Armbruster, FR, France, FR, TRUE, TRUE, No, http://tor.armbrust.me/, https://tor.armbrust.me/, rsync://tor.armbrust.me/tor, , http://tor.armbrust.me/dist/, https://tor.armbrust.me/dist, rsync://tor.armbrust.me/tor-dist, , Mon May 8 19:41:04 2017
+HdO Tor, HdO Tor Supporter, DE, Germany, US, TRUE, TRUE, No, http://tor.hdoev.de/, , , , http://tor.hdoev.de/dist/, , , , Thu Sep 8 02:46:02 2016
+Tor Fan, Tor Supporter, DE, Germany, Germany, TRUE, TRUE, No, http://torproject.mirror.metalgamer.eu/, https://torproject.mirror.metalgamer.eu/, , , http://torproject.mirror.metalgamer.eu/dist/, https://torproject.mirror.metalgamer.eu/dist/, , , Mon May 8 19:41:04 2017
+john AT quintex.com, Quintex Alliance Consulting, US, TX, US, TRUE, FALSE, No, http://torproject.quintex.com/, https://torproject.quintex.com, rsync://mirror.quintex.com/torprojectwebsite, ftp://mirror.quintex.com/torproject.org, http://torproject.quintex.com/dist, https://torproject.quintex.com/dist, rsync://mirror.quintex.com/torprojectdist, , Thu Sep 8 02:46:02 2016
+aldousa at riseup.net, michael ball (https://anarchism.me) US, United States, North America, TRUE, TRUE, No, http://mirrors.anarchism.me, https://mirrors.anarchism.me, , , http://mirrors.anarchism.me/dist, https://mirrors.anarchism.me/dist, , http://gaobjvqqrlotey4d.onion/, Sun Aug 7 06:40:00 2016
+noc AT babylon DOT network, Babylon Network, CA, Canada, CA, TRUE, TRUE, No, http://ca.mirror.babylon.network/torproject/, https://ca.mirror.babylon.network/torproject/, rsync://ca.mirror.babylon.network/torproject/, ftp://ca.mirror.babylon.network/torproject/, http://ca.mirror.babylon.network/torproject/dist/, https://ca.mirror.babylon.network/torproject/dist/, rsync://ca.mirror.babylon.network/torproject/dist/, , Mon May 8 19:41:04 2017
+noc AT babylon DOT network, Babylon Network, NL, The Netherlands, Europe, TRUE, TRUE, No, http://nl.mirror.babylon.network/torproject/, https://nl.mirror.babylon.network/torproject/, rsync://nl.mirror.babylon.network/torproject/, ftp://nl.mirror.babylon.network/torproject/, http://nl.mirror.babylon.network/torproject/dist/, https://nl.mirror.babylon.network/torproject/dist/, rsync://nl.mirror.babylon.network/torproject/dist/, , Mon May 8 19:41:04 2017
+noc AT babylon DOT network, Babylon Network, FR, France, Europe, TRUE, TRUE, No, http://fr.mirror.babylon.network/torproject/, https://fr.mirror.babylon.network/torproject/, rsync://fr.mirror.babylon.network/torproject/, ftp://fr.mirror.babylon.network/torproject/, http://fr.mirror.babylon.network/torproject/dist/, https://fr.mirror.babylon.network/torproject/dist/, rsync://fr.mirror.babylon.network/torproject/dist/, , Mon May 8 19:41:04 2017
Pool Toys, Pool Toys, SGP, Singapore, SGP, TRUE, TRUE, No, http://mirrors-sg.pooltoys.com/tor/, , rsync://mirrors-sg.pooltoys.com/tor/, ftp://mirrors-sg.pooltoys.com/tor/, http://mirrors-sg.pooltoys.com/tor/, , , ,
+cyberrax at yahoo.com, CyberSiDE, EE, Estonia, Europe, TRUE, FALSE, No, http://cyberside.net.ee/sibul/, https://cyberside.net.ee/sibul/, , , http://cyberside.net.ee/sibul/dist/, https://cyberside.net.ee/sibul/dist/, , , Mon May 8 19:41:04 2017
+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, , ftp://tormirror.tb-itf-tor.de/, http://tormirror.tb-itf-tor.de/dist/, https://tormirror.tb-itf-tor.de/dist/, , , Mon May 8 19:41:04 2017
+Disciples of Disorder, Vargr, NL, Netherlands, NL, TRUE, FALSE, NO, http://tor.mirror.disciplesofdisorder.eu, https://tor.mirror.disciplesofdisorder.eu, , , http://tor.mirror.disciplesofdisorder.eu/dist/, https://tor.mirror.disciplesofdisorder.eu/dist/, , http://vargrevir52vkbte.onion,
+admin @T standaloneinstaler.com, Standalone Installer Software, FR, France, FR, TRUE, TRUE, No, http://mirrors.standaloneinstaller.com/torproject/, , rsync://mirrors.standaloneinstaller.com/torproject/, , http://mirrors.standaloneinstaller.com/torproject/dist, , rsync://mirrors.standaloneinstaller.com/torproject/dist, , Mon May 8 19:41:04 2017
+lutz.horn(a)posteo.de, , DE, Germany, DE, TRUE, FALSE, No, , https://tor.lhorn.de/, , , , https://tor.lhorn.de/dist/, , , Mon Feb 6 05:00:00 2017
+karibu(a)freedif.org, Freedif, VN, Vietnam, VN, TRUE, FALSE, No, http://mirror.freedif.org/TorProject/, https://mirror.freedif.org/TorProject/, , , http://mirror.freedif.org/TorProject/dist, https://mirror.freedif.org/TorProject/dist, , , Mon May 8 19:41:04 2017
+Tor Fan, Tor Supporter, FR, France, FR, TRUE, FALSE, No, http://torproject.xj1.fr/, , , , http://torproject.xj1.fr/dist/, , , javkk6746z7wvigk.onion, Mon May 8 19:41:04 2017
+tienhn(a)vinahost.vn, VinaHost, VN, Viet Nam, VN, TRUE, FALSE, No, , https://mirror.vinahost.vn/torproject.org, rsync://mirror.vinahost.vn/torproject.org, , , https://mirror.vinahost.vn/torproject.org/dist/, rsync://mirror.vinahost.vn/torproject.org/dist, , Wed Apr 19 18:52:55 2017
+mirror AT funkfreundelandshut DOT de, Funkfreunde Landshut e.V., DE, BY, DE, TRUE, FALSE, No, http://stwo.biz:8084/torproject.org, , , , http://stwo.biz:8084/torproject.org/dist/, , , http://44.225.40.254/torproject.org/dist, Mon May 8 19:41:04 2017
, , , , , , , , , , , , , , , ,
, , , , , , , , , , , , , , , ,
1
0
commit 4d6c79d1de5e242c000f28a71c706734d1a2da0b
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Mon May 8 15:34:37 2017 -0400
Fix some clang-i386 warnings in master.
---
src/or/channel.c | 6 ++---
src/or/channel.h | 2 +-
src/or/channelpadding.c | 5 +++-
src/test/test_channelpadding.c | 54 +++++++++++++++++++++---------------------
4 files changed, 35 insertions(+), 32 deletions(-)
diff --git a/src/or/channel.c b/src/or/channel.c
index 5b184f1..0b99dc9 100644
--- a/src/or/channel.c
+++ b/src/or/channel.c
@@ -88,7 +88,7 @@ static smartlist_t *finished_listeners = NULL;
/** Map from channel->global_identifier to channel. Contains the same
* elements as all_channels. */
-HT_HEAD(channel_gid_map, channel_s) channel_gid_map = HT_INITIALIZER();
+static HT_HEAD(channel_gid_map, channel_s) channel_gid_map = HT_INITIALIZER();
static unsigned
channel_id_hash(const channel_t *chan)
@@ -101,10 +101,10 @@ channel_id_eq(const channel_t *a, const channel_t *b)
return a->global_identifier == b->global_identifier;
}
HT_PROTOTYPE(channel_gid_map, channel_s, gidmap_node,
- channel_id_hash, channel_id_eq);
+ channel_id_hash, channel_id_eq)
HT_GENERATE2(channel_gid_map, channel_s, gidmap_node,
channel_id_hash, channel_id_eq,
- 0.6, tor_reallocarray_, tor_free_);
+ 0.6, tor_reallocarray_, tor_free_)
HANDLE_IMPL(channel, channel_s,);
diff --git a/src/or/channel.h b/src/or/channel.h
index bfcdafb..ea280f2 100644
--- a/src/or/channel.h
+++ b/src/or/channel.h
@@ -716,7 +716,7 @@ int packed_cell_is_destroy(channel_t *chan,
circid_t *circid_out);
/* Declare the handle helpers */
-HANDLE_DECL(channel, channel_s,);
+HANDLE_DECL(channel, channel_s,)
#endif
diff --git a/src/or/channelpadding.c b/src/or/channelpadding.c
index e57408a..481d937 100644
--- a/src/or/channelpadding.c
+++ b/src/or/channelpadding.c
@@ -727,13 +727,16 @@ channelpadding_decide_to_pad_channel(channel_t *chan)
chan->currently_padding = 1;
return CHANNELPADDING_PADLATER;
} else {
+ if (BUG(pad_time_ms > INT_MAX)) {
+ pad_time_ms = INT_MAX;
+ }
/* We have to schedule a callback because we're called exactly once per
* second, but we don't want padding packets to go out exactly on an
* integer multiple of seconds. This callback will only be scheduled
* if we're within 1.1 seconds of the padding time.
*/
chan->currently_padding = 1;
- return channelpadding_schedule_padding(chan, pad_time_ms);
+ return channelpadding_schedule_padding(chan, (int)pad_time_ms);
}
} else {
chan->currently_padding = 0;
diff --git a/src/test/test_channelpadding.c b/src/test/test_channelpadding.c
index 8ea0f17..68d5c58 100644
--- a/src/test/test_channelpadding.c
+++ b/src/test/test_channelpadding.c
@@ -409,9 +409,9 @@ test_channelpadding_consensus(void *arg)
tt_int_op(decision, OP_EQ, CHANNELPADDING_WONTPAD);
tt_assert(!chan->pending_padding_callback);
val = channelpadding_get_netflow_inactive_timeout_ms(chan);
- tt_int_op(val, OP_EQ, 0);
+ tt_i64_op(val, OP_EQ, 0);
val = channelpadding_compute_time_until_pad_for_netflow(chan);
- tt_int_op(val, OP_EQ, -2);
+ tt_i64_op(val, OP_EQ, -2);
/* Test 2: Negotiation can't re-enable consensus-disabled padding */
channelpadding_send_enable_command(chan, 100, 200);
@@ -420,9 +420,9 @@ test_channelpadding_consensus(void *arg)
tt_int_op(decision, OP_EQ, CHANNELPADDING_WONTPAD);
tt_assert(!chan->pending_padding_callback);
val = channelpadding_get_netflow_inactive_timeout_ms(chan);
- tt_int_op(val, OP_EQ, 0);
+ tt_i64_op(val, OP_EQ, 0);
val = channelpadding_compute_time_until_pad_for_netflow(chan);
- tt_int_op(val, OP_EQ, -2);
+ tt_i64_op(val, OP_EQ, -2);
tt_assert(!chan->next_padding_time_ms);
smartlist_clear(current_md_consensus->net_params);
@@ -441,10 +441,10 @@ test_channelpadding_consensus(void *arg)
tt_assert(chan->pending_padding_callback);
tt_int_op(tried_to_write_cell, OP_EQ, 0);
val = channelpadding_get_netflow_inactive_timeout_ms(chan);
- tt_int_op(val, OP_GE, 100);
- tt_int_op(val, OP_LE, 200);
+ tt_i64_op(val, OP_GE, 100);
+ tt_i64_op(val, OP_LE, 200);
val = channelpadding_compute_time_until_pad_for_netflow(chan);
- tt_int_op(val, OP_LE, 200);
+ tt_i64_op(val, OP_LE, 200);
// Wait for the timer
event_base_loop(tor_libevent_get_base(), 0);
@@ -464,10 +464,10 @@ test_channelpadding_consensus(void *arg)
tt_int_op(decision, OP_EQ, CHANNELPADDING_PADLATER);
tt_assert(!chan->pending_padding_callback);
val = channelpadding_get_netflow_inactive_timeout_ms(chan);
- tt_int_op(val, OP_GE, 1500);
- tt_int_op(val, OP_LE, 4500);
+ tt_i64_op(val, OP_GE, 1500);
+ tt_i64_op(val, OP_LE, 4500);
val = channelpadding_compute_time_until_pad_for_netflow(chan);
- tt_int_op(val, OP_LE, 4500);
+ tt_i64_op(val, OP_LE, 4500);
/* Test 4: Relay-to-relay padding can be enabled/disabled in consensus */
/* Make this channel a relay's channel */
@@ -488,10 +488,10 @@ test_channelpadding_consensus(void *arg)
tt_int_op(decision, OP_EQ, CHANNELPADDING_PADLATER);
tt_assert(!chan->pending_padding_callback);
val = channelpadding_get_netflow_inactive_timeout_ms(chan);
- tt_int_op(val, OP_GE, 1500);
- tt_int_op(val, OP_LE, 4500);
+ tt_i64_op(val, OP_GE, 1500);
+ tt_i64_op(val, OP_LE, 4500);
val = channelpadding_compute_time_until_pad_for_netflow(chan);
- tt_int_op(val, OP_LE, 4500);
+ tt_i64_op(val, OP_LE, 4500);
/* Test 5: If we disable padding before channel usage, does that work? */
smartlist_add(current_md_consensus->net_params,
@@ -504,15 +504,15 @@ test_channelpadding_consensus(void *arg)
/* Test 6: Can we control circ and TLS conn lifetime from the consensus? */
val = channelpadding_get_channel_idle_timeout(NULL, 0);
- tt_int_op(val, OP_GE, 180);
- tt_int_op(val, OP_LE, 180+90);
+ tt_i64_op(val, OP_GE, 180);
+ tt_i64_op(val, OP_LE, 180+90);
val = channelpadding_get_channel_idle_timeout(chan, 0);
- tt_int_op(val, OP_GE, 180);
- tt_int_op(val, OP_LE, 180+90);
+ tt_i64_op(val, OP_GE, 180);
+ tt_i64_op(val, OP_LE, 180+90);
options->ReducedConnectionPadding = 1;
val = channelpadding_get_channel_idle_timeout(chan, 0);
- tt_int_op(val, OP_GE, 180/2);
- tt_int_op(val, OP_LE, (180+90)/2);
+ tt_i64_op(val, OP_GE, 180/2);
+ tt_i64_op(val, OP_LE, (180+90)/2);
options->ReducedConnectionPadding = 0;
options->ORPort_set = 1;
@@ -520,26 +520,26 @@ test_channelpadding_consensus(void *arg)
(void*)"nf_conntimeout_relays=600");
channelpadding_new_consensus_params(current_md_consensus);
val = channelpadding_get_channel_idle_timeout(chan, 1);
- tt_int_op(val, OP_GE, 450);
- tt_int_op(val, OP_LE, 750);
+ tt_i64_op(val, OP_GE, 450);
+ tt_i64_op(val, OP_LE, 750);
val = channelpadding_get_circuits_available_timeout();
- tt_int_op(val, OP_GE, 30*60);
- tt_int_op(val, OP_LE, 30*60*2);
+ tt_i64_op(val, OP_GE, 30*60);
+ tt_i64_op(val, OP_LE, 30*60*2);
options->ReducedConnectionPadding = 1;
smartlist_add(current_md_consensus->net_params,
(void*)"nf_conntimeout_clients=600");
channelpadding_new_consensus_params(current_md_consensus);
val = channelpadding_get_circuits_available_timeout();
- tt_int_op(val, OP_GE, 600/2);
- tt_int_op(val, OP_LE, 600*2/2);
+ tt_i64_op(val, OP_GE, 600/2);
+ tt_i64_op(val, OP_LE, 600*2/2);
options->ReducedConnectionPadding = 0;
options->CircuitsAvailableTimeout = 24*60*60;
val = channelpadding_get_circuits_available_timeout();
- tt_int_op(val, OP_GE, 24*60*60);
- tt_int_op(val, OP_LE, 24*60*60*2);
+ tt_i64_op(val, OP_GE, 24*60*60);
+ tt_i64_op(val, OP_LE, 24*60*60*2);
done:
free_fake_channeltls((channel_tls_t*)chan);
1
0

[tor/master] clang-i386: use house style for public-when-testing variables
by nickm@torproject.org 08 May '17
by nickm@torproject.org 08 May '17
08 May '17
commit 2e4f3b36bdfd5118a523b3fdbfadc0415daa0635
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Mon May 8 15:38:05 2017 -0400
clang-i386: use house style for public-when-testing variables
This fixes a warning from jenkins.
---
src/or/main.h | 3 +++
src/or/networkstatus.h | 4 +++-
src/test/test_channelpadding.c | 8 ++++----
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/or/main.h b/src/or/main.h
index 915d82b..57aa372 100644
--- a/src/or/main.h
+++ b/src/or/main.h
@@ -92,6 +92,9 @@ STATIC void init_connection_lists(void);
STATIC void close_closeable_connections(void);
STATIC void initialize_periodic_events(void);
STATIC void teardown_periodic_events(void);
+#ifdef TOR_UNIT_TESTS
+extern smartlist_t *connection_array;
+#endif
#endif
#endif
diff --git a/src/or/networkstatus.h b/src/or/networkstatus.h
index 6a90d70..7d148b4 100644
--- a/src/or/networkstatus.h
+++ b/src/or/networkstatus.h
@@ -139,7 +139,9 @@ void vote_routerstatus_free(vote_routerstatus_t *rs);
#ifdef TOR_UNIT_TESTS
STATIC int networkstatus_set_current_consensus_from_ns(networkstatus_t *c,
const char *flavor);
-#endif // TOR_UNIT_TESTS
+extern networkstatus_t *current_ns_consensus;
+extern networkstatus_t *current_md_consensus;
+#endif
#endif
#endif
diff --git a/src/test/test_channelpadding.c b/src/test/test_channelpadding.c
index 68d5c58..5d11842 100644
--- a/src/test/test_channelpadding.c
+++ b/src/test/test_channelpadding.c
@@ -1,4 +1,6 @@
#define TOR_CHANNEL_INTERNAL_
+#define MAIN_PRIVATE
+#define NETWORKSTATUS_PRIVATE
#include "or.h"
#include "test.h"
#include "testsupport.h"
@@ -11,12 +13,10 @@
#include "config.h"
#include <event.h>
#include "compat_time.h"
+#include "main.h"
+#include "networkstatus.h"
#include "log_test_helpers.h"
-extern smartlist_t *connection_array;
-extern networkstatus_t *current_ns_consensus;
-extern networkstatus_t *current_md_consensus;
-
int channelpadding_get_netflow_inactive_timeout_ms(channel_t *chan);
int64_t channelpadding_compute_time_until_pad_for_netflow(channel_t *chan);
int channelpadding_send_disable_command(channel_t*);
1
0

[metrics-lib/master] Add support for six new key-value pairs added by OnionPerf.
by karsten@torproject.org 08 May '17
by karsten@torproject.org 08 May '17
08 May '17
commit ee696b09f02ae59e7dccf8a5eb68ca484051040e
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Mon May 1 20:38:55 2017 +0200
Add support for six new key-value pairs added by OnionPerf.
OnionPerf adds six new key-value pairs to the .tpf format that
Torperf/CollecTor did not produce: ENDPOINTLOCAL, ENDPOINTPROXY,
ENDPOINTREMOTE, HOSTNAMELOCAL, HOSTNAMEREMOTE, and SOURCEADDRESS.
We should add support for these keys to metrics-lib, so that we can
start using their values.
Implements #22122.
---
CHANGELOG.md | 1 +
.../org/torproject/descriptor/TorperfResult.java | 62 ++++++++++++++++
.../descriptor/impl/TorperfResultImpl.java | 84 ++++++++++++++++++++++
.../descriptor/impl/TorperfResultImplTest.java | 42 +++++++++++
4 files changed, 189 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0cb2acd..da9cb37 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@
# Medium changes
- Fix a bug where unrecognized lines in extra-info descriptors
below crypto blocks were silently skipped.
+ - Add support for six new key-value pairs added by OnionPerf.
# Changes in version 1.6.0 - 2017-02-17
diff --git a/src/main/java/org/torproject/descriptor/TorperfResult.java b/src/main/java/org/torproject/descriptor/TorperfResult.java
index 1f4e50c..1958ed2 100644
--- a/src/main/java/org/torproject/descriptor/TorperfResult.java
+++ b/src/main/java/org/torproject/descriptor/TorperfResult.java
@@ -211,5 +211,67 @@ public interface TorperfResult extends Descriptor {
* @since 1.0.0
*/
public int getUsedBy();
+
+ /**
+ * Return the hostname, IP address, and port that the TGen client used to
+ * connect to the local tor SOCKS port, formatted as
+ * <code>hostname:ip:port</code>, which may be <code>"NULL:0.0.0.0:0"</code>
+ * if TGen was not able to find this information or <code>null</code> if the
+ * OnionPerf line didn't contain this information.
+ *
+ * @since 1.7.0
+ */
+ public String getEndpointLocal();
+
+ /**
+ * Return the hostname, IP address, and port that the TGen client used to
+ * connect to the SOCKS proxy server that tor runs, formatted as
+ * <code>hostname:ip:port</code>, which may be <code>"NULL:0.0.0.0:0"</code>
+ * if TGen was not able to find this information or <code>null</code> if the
+ * OnionPerf line didn't contain this information.
+ *
+ * @since 1.7.0
+ */
+ public String getEndpointProxy();
+
+ /**
+ * Return the hostname, IP address, and port that the TGen client used to
+ * connect to the remote server, formatted as <code>hostname:ip:port</code>,
+ * which may be <code>"NULL:0.0.0.0:0"</code> if TGen was not able to find
+ * this information or <code>null</code> if the OnionPerf line didn't contain
+ * this information.
+ *
+ * @since 1.7.0
+ */
+ public String getEndpointRemote();
+
+ /**
+ * Return the client machine hostname, which may be <code>"(NULL)"</code> if
+ * the TGen client was not able to find this information or <code>null</code>
+ * if the OnionPerf line didn't contain this information.
+ *
+ * @since 1.7.0
+ */
+ public String getHostnameLocal();
+
+ /**
+ * Return the server machine hostname, which may be <code>"(NULL)"</code> if
+ * the TGen server was not able to find this information or <code>null</code>
+ * if the OnionPerf line didn't contain this information.
+ *
+ * @since 1.7.0
+ */
+ public String getHostnameRemote();
+
+ /**
+ * Return the public IP address of the OnionPerf host obtained by connecting
+ * to well-known servers and finding the IP address in the result, which may
+ * be <code>"unknown"</code> if OnionPerf was not able to find this
+ * information or <code>null</code> if the OnionPerf line didn't contain this
+ * information.
+ *
+ * @since 1.7.0
+ */
+ public String getSourceAddress();
}
diff --git a/src/main/java/org/torproject/descriptor/impl/TorperfResultImpl.java b/src/main/java/org/torproject/descriptor/impl/TorperfResultImpl.java
index f5fe892..16274c7 100644
--- a/src/main/java/org/torproject/descriptor/impl/TorperfResultImpl.java
+++ b/src/main/java/org/torproject/descriptor/impl/TorperfResultImpl.java
@@ -147,6 +147,24 @@ public class TorperfResultImpl extends DescriptorImpl
case "USED_BY":
this.parseUsedBy(value, keyValue, line);
break;
+ case "ENDPOINTLOCAL":
+ this.parseEndpointLocal(value, keyValue, line);
+ break;
+ case "ENDPOINTPROXY":
+ this.parseEndpointProxy(value, keyValue, line);
+ break;
+ case "ENDPOINTREMOTE":
+ this.parseEndpointRemote(value, keyValue, line);
+ break;
+ case "HOSTNAMELOCAL":
+ this.parseHostnameLocal(value, keyValue, line);
+ break;
+ case "HOSTNAMEREMOTE":
+ this.parseHostnameRemote(value, keyValue, line);
+ break;
+ case "SOURCEADDRESS":
+ this.parseSourceAddress(value, keyValue, line);
+ break;
default:
if (key.startsWith("DATAPERC")) {
this.parseDataPercentile(value, keyValue, line);
@@ -359,6 +377,30 @@ public class TorperfResultImpl extends DescriptorImpl
this.usedBy = this.parseInt(value, keyValue, line);
}
+ private void parseEndpointLocal(String value, String keyValue, String line) {
+ this.endpointLocal = value;
+ }
+
+ private void parseEndpointProxy(String value, String keyValue, String line) {
+ this.endpointProxy = value;
+ }
+
+ private void parseEndpointRemote(String value, String keyValue, String line) {
+ this.endpointRemote = value;
+ }
+
+ private void parseHostnameLocal(String value, String keyValue, String line) {
+ this.hostnameLocal = value;
+ }
+
+ private void parseHostnameRemote(String value, String keyValue, String line) {
+ this.hostnameRemote = value;
+ }
+
+ private void parseSourceAddress(String value, String keyValue, String line) {
+ this.sourceAddress = value;
+ }
+
private long parseTimestamp(String value, String keyValue, String line)
throws DescriptorParseException {
long timestamp = -1L;
@@ -570,5 +612,47 @@ public class TorperfResultImpl extends DescriptorImpl
public int getUsedBy() {
return this.usedBy;
}
+
+ private String endpointLocal;
+
+ @Override
+ public String getEndpointLocal() {
+ return this.endpointLocal;
+ }
+
+ private String endpointProxy;
+
+ @Override
+ public String getEndpointProxy() {
+ return this.endpointProxy;
+ }
+
+ private String endpointRemote;
+
+ @Override
+ public String getEndpointRemote() {
+ return this.endpointRemote;
+ }
+
+ private String hostnameLocal;
+
+ @Override
+ public String getHostnameLocal() {
+ return this.hostnameLocal;
+ }
+
+ private String hostnameRemote;
+
+ @Override
+ public String getHostnameRemote() {
+ return this.hostnameRemote;
+ }
+
+ private String sourceAddress;
+
+ @Override
+ public String getSourceAddress() {
+ return this.sourceAddress;
+ }
}
diff --git a/src/test/java/org/torproject/descriptor/impl/TorperfResultImplTest.java b/src/test/java/org/torproject/descriptor/impl/TorperfResultImplTest.java
index 080d16d..640b8a3 100644
--- a/src/test/java/org/torproject/descriptor/impl/TorperfResultImplTest.java
+++ b/src/test/java/org/torproject/descriptor/impl/TorperfResultImplTest.java
@@ -5,8 +5,10 @@ package org.torproject.descriptor.impl;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import org.torproject.descriptor.Descriptor;
+import org.torproject.descriptor.DescriptorParseException;
import org.junit.Test;
@@ -95,5 +97,45 @@ public class TorperfResultImplTest {
assertEquals("DATAPERMILLE",
torperfResult.getUnrecognizedKeys().firstKey());
}
+
+ private static final String input2 =
+ "BUILDTIMES=0.490000009537,0.610000133514,0.75 CIRC_ID=8522 "
+ + "CONNECT=1493397365.14 DATACOMPLETE=1493397368.13 "
+ + "DATAPERC0=1493397367.67 DATAPERC10=1493397367.81 "
+ + "DATAPERC100=1493397368.13 DATAPERC20=1493397367.87 "
+ + "DATAPERC30=1493397367.87 DATAPERC40=1493397367.90 "
+ + "DATAPERC50=1493397367.91 DATAPERC60=1493397367.97 "
+ + "DATAPERC70=1493397367.97 DATAPERC80=1493397367.99 "
+ + "DATAPERC90=1493397367.99 DATAREQUEST=1493397367.33 "
+ + "DATARESPONSE=1493397367.67 DIDTIMEOUT=0 "
+ + "ENDPOINTLOCAL=localhost:127.0.0.1:42436 "
+ + "ENDPOINTPROXY=localhost:127.0.0.1:52265 "
+ + "ENDPOINTREMOTE=4jocm7xwo4ltrvzp.onion:0.0.0.0:80 FILESIZE=51200 "
+ + "HOSTNAMELOCAL=op-us HOSTNAMEREMOTE=op-us LAUNCH=1493396168.1 "
+ + "NEGOTIATE=1493397365.14 "
+ + "PATH=$F69BED36177ED727706512BA6A97755025EEA0FB,"
+ + "$91D23D8A539B83D2FB56AA67ECD4D75CC093AC55,"
+ + "$4DD902046E7155BBE79C34EE6D53BF7408B98CE4 QUANTILE=0.8 "
+ + "READBYTES=51269 REQUEST=1493397365.14 RESPONSE=1493397367.32 "
+ + "SOCKET=1493397365.14 SOURCE=op-us SOURCEADDRESS=199.119.112.144 "
+ + "START=1493397365.14 TIMEOUT=1500 USED_AT=1493397368.14 "
+ + "USED_BY=17429 WRITEBYTES=54";
+
+ @Test()
+ public void testEndpointsHostnamesSourceAddress()
+ throws DescriptorParseException {
+ List<Descriptor> result = TorperfResultImpl.parseTorperfResults(
+ input2.getBytes(), true);
+ assertEquals(1, result.size());
+ TorperfResultImpl torperfResult = (TorperfResultImpl) result.get(0);
+ assertNull(torperfResult.getUnrecognizedKeys());
+ assertEquals("localhost:127.0.0.1:42436", torperfResult.getEndpointLocal());
+ assertEquals("localhost:127.0.0.1:52265", torperfResult.getEndpointProxy());
+ assertEquals("4jocm7xwo4ltrvzp.onion:0.0.0.0:80",
+ torperfResult.getEndpointRemote());
+ assertEquals("op-us", torperfResult.getHostnameLocal());
+ assertEquals("op-us", torperfResult.getHostnameRemote());
+ assertEquals("199.119.112.144", torperfResult.getSourceAddress());
+ }
}
1
0