[tor-commits] [torspec/master] stick an nsf funder ack on proposal 289

2018-09-26 Thread arma
commit 8cf90bb7bfa3fc4799186d93b615be85b7828ed4
Author: Roger Dingledine 
Date:   Wed Sep 26 23:51:22 2018 -0400

stick an nsf funder ack on proposal 289
---
 proposals/289-authenticated-sendmes.txt | 5 +
 1 file changed, 5 insertions(+)

diff --git a/proposals/289-authenticated-sendmes.txt 
b/proposals/289-authenticated-sendmes.txt
index 316bd75..e7605dc 100644
--- a/proposals/289-authenticated-sendmes.txt
+++ b/proposals/289-authenticated-sendmes.txt
@@ -395,3 +395,8 @@ Status: Open
[1] https://www.freehaven.net/anonbib/#sniper14
[2] https://www.freehaven.net/anonbib/#torta05
[3] https://www.freehaven.net/anonbib/#congestion-longpaths
+
+8. Acknowledgements
+
+  This research was supported in part by NSF grants CNS-539,
+  CNS-1314637, CNS-1526306, CNS-1619454, and CNS-1640548.

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/bridgedb] Update translations for bridgedb

2018-09-26 Thread translation
commit 4c7aa7d9781f9ad5569c828d5c5c2bb68b6dce58
Author: Translation commit bot 
Date:   Thu Sep 27 03:45:11 2018 +

Update translations for bridgedb
---
 pt_BR/LC_MESSAGES/bridgedb.po | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/pt_BR/LC_MESSAGES/bridgedb.po b/pt_BR/LC_MESSAGES/bridgedb.po
index 9ddc39cb7..995da6ca7 100644
--- a/pt_BR/LC_MESSAGES/bridgedb.po
+++ b/pt_BR/LC_MESSAGES/bridgedb.po
@@ -4,6 +4,7 @@
 # 
 # Translators:
 # Communia , 2013-2017
+# André Almeida , 2018
 # anominino anomino , 2018
 # Cláudio Carvalho , 2018
 # Danton Medrado, 2015
@@ -23,8 +24,8 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB=bridgedb-reported,msgid=isis,sysrqb=isis'\n"
 "POT-Creation-Date: 2015-07-25 03:40+\n"
-"PO-Revision-Date: 2018-08-02 19:06+\n"
-"Last-Translator: Communia \n"
+"PO-Revision-Date: 2018-09-27 03:25+\n"
+"Last-Translator: André Almeida \n"
 "Language-Team: Portuguese (Brazil) 
(http://www.transifex.com/otf/torproject/language/pt_BR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -143,7 +144,7 @@ msgstr "Agora, %s inserir as pontes no Navegador Tor %s"
 #: bridgedb/https/templates/options.html:38
 #, python-format
 msgid "%sJ%sust give me bridges!"
-msgstr "%sA%spenas pontes"
+msgstr "%sA%spenas me dê pontes!"
 
 #: bridgedb/https/templates/options.html:51
 msgid "Advanced Options"
@@ -386,7 +387,7 @@ msgstr "Solicitar pontes IPv6."
 #. TRANSLATORS: Please DO NOT translate the word the word "TYPE".
 #: bridgedb/strings.py:174
 msgid "Request a Pluggable Transport by TYPE."
-msgstr "Solicitar um Transportador Plugável do TIPO."
+msgstr "Solicitar um Transportador Plugável do TYPE."
 
 #. TRANSLATORS: Please DO NOT translate "BridgeDB".
 #. TRANSLATORS: Please DO NOT translate "GnuPG".

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/bridgedb_completed] Update translations for bridgedb_completed

2018-09-26 Thread translation
commit fc5528d539d01346a7fef20ee4e3c9b9d1c6a15f
Author: Translation commit bot 
Date:   Thu Sep 27 03:45:17 2018 +

Update translations for bridgedb_completed
---
 pt_BR/LC_MESSAGES/bridgedb.po | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/pt_BR/LC_MESSAGES/bridgedb.po b/pt_BR/LC_MESSAGES/bridgedb.po
index 9ddc39cb7..995da6ca7 100644
--- a/pt_BR/LC_MESSAGES/bridgedb.po
+++ b/pt_BR/LC_MESSAGES/bridgedb.po
@@ -4,6 +4,7 @@
 # 
 # Translators:
 # Communia , 2013-2017
+# André Almeida , 2018
 # anominino anomino , 2018
 # Cláudio Carvalho , 2018
 # Danton Medrado, 2015
@@ -23,8 +24,8 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB=bridgedb-reported,msgid=isis,sysrqb=isis'\n"
 "POT-Creation-Date: 2015-07-25 03:40+\n"
-"PO-Revision-Date: 2018-08-02 19:06+\n"
-"Last-Translator: Communia \n"
+"PO-Revision-Date: 2018-09-27 03:25+\n"
+"Last-Translator: André Almeida \n"
 "Language-Team: Portuguese (Brazil) 
(http://www.transifex.com/otf/torproject/language/pt_BR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -143,7 +144,7 @@ msgstr "Agora, %s inserir as pontes no Navegador Tor %s"
 #: bridgedb/https/templates/options.html:38
 #, python-format
 msgid "%sJ%sust give me bridges!"
-msgstr "%sA%spenas pontes"
+msgstr "%sA%spenas me dê pontes!"
 
 #: bridgedb/https/templates/options.html:51
 msgid "Advanced Options"
@@ -386,7 +387,7 @@ msgstr "Solicitar pontes IPv6."
 #. TRANSLATORS: Please DO NOT translate the word the word "TYPE".
 #: bridgedb/strings.py:174
 msgid "Request a Pluggable Transport by TYPE."
-msgstr "Solicitar um Transportador Plugável do TIPO."
+msgstr "Solicitar um Transportador Plugável do TYPE."
 
 #. TRANSLATORS: Please DO NOT translate "BridgeDB".
 #. TRANSLATORS: Please DO NOT translate "GnuPG".

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-openpgp-applet_completed] Update translations for tails-openpgp-applet_completed

2018-09-26 Thread translation
commit c6d8bda75d43adebec92fa553e97ec9ef58c8401
Author: Translation commit bot 
Date:   Wed Sep 26 21:46:47 2018 +

Update translations for tails-openpgp-applet_completed
---
 he/openpgp-applet.pot | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/he/openpgp-applet.pot b/he/openpgp-applet.pot
index c1eb163ac..ac96a1b3f 100644
--- a/he/openpgp-applet.pot
+++ b/he/openpgp-applet.pot
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: ta...@boum.org\n"
 "POT-Creation-Date: 2017-08-05 15:07-0400\n"
-"PO-Revision-Date: 2018-09-25 21:48+\n"
+"PO-Revision-Date: 2018-09-26 21:26+\n"
 "Last-Translator: ION\n"
 "Language-Team: Hebrew 
(http://www.transifex.com/otf/torproject/language/he/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-openpgp-applet] Update translations for tails-openpgp-applet

2018-09-26 Thread translation
commit 9929971a9211716bb58f9002fce69f8b23e6464b
Author: Translation commit bot 
Date:   Wed Sep 26 21:46:40 2018 +

Update translations for tails-openpgp-applet
---
 he/openpgp-applet.pot | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/he/openpgp-applet.pot b/he/openpgp-applet.pot
index c1eb163ac..ac96a1b3f 100644
--- a/he/openpgp-applet.pot
+++ b/he/openpgp-applet.pot
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: ta...@boum.org\n"
 "POT-Creation-Date: 2017-08-05 15:07-0400\n"
-"PO-Revision-Date: 2018-09-25 21:48+\n"
+"PO-Revision-Date: 2018-09-26 21:26+\n"
 "Last-Translator: ION\n"
 "Language-Team: Hebrew 
(http://www.transifex.com/otf/torproject/language/he/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-misc_completed] Update translations for tails-misc_completed

2018-09-26 Thread translation
commit a72581dbff013c2207b12bf5015e5418b4781f36
Author: Translation commit bot 
Date:   Wed Sep 26 21:46:08 2018 +

Update translations for tails-misc_completed
---
 he.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/he.po b/he.po
index 4a2afe285..6d0141ad3 100644
--- a/he.po
+++ b/he.po
@@ -14,7 +14,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-09-04 11:37+0200\n"
-"PO-Revision-Date: 2018-09-24 22:25+\n"
+"PO-Revision-Date: 2018-09-26 21:37+\n"
 "Last-Translator: ION\n"
 "Language-Team: Hebrew 
(http://www.transifex.com/otf/torproject/language/he/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-misc] Update translations for tails-misc

2018-09-26 Thread translation
commit cf9b963bd0651741e97746a5d94c5aa5337a8cbe
Author: Translation commit bot 
Date:   Wed Sep 26 21:46:01 2018 +

Update translations for tails-misc
---
 he.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/he.po b/he.po
index 4a2afe285..6d0141ad3 100644
--- a/he.po
+++ b/he.po
@@ -14,7 +14,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-09-04 11:37+0200\n"
-"PO-Revision-Date: 2018-09-24 22:25+\n"
+"PO-Revision-Date: 2018-09-26 21:37+\n"
 "Last-Translator: ION\n"
 "Language-Team: Hebrew 
(http://www.transifex.com/otf/torproject/language/he/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [newsletter/master] Add October newsletter

2018-09-26 Thread hiro
commit ec9aca9b583b35739578eaf14280d0af81982d9e
Author: hiro 
Date:   Wed Sep 26 19:41:05 2018 +0200

Add October newsletter
---
 .../contents.lr| 164 +
 .../text/contents.lr   |  86 +++
 2 files changed, 250 insertions(+)

diff --git 
a/content/archive/tor-browser-android-we-are-hiring-share-tor-story-open-days/contents.lr
 
b/content/archive/tor-browser-android-we-are-hiring-share-tor-story-open-days/contents.lr
new file mode 100644
index 000..b21af9b
--- /dev/null
+++ 
b/content/archive/tor-browser-android-we-are-hiring-share-tor-story-open-days/contents.lr
@@ -0,0 +1,164 @@
+_model: post
+---
+_template: newsletter.html
+---
+author: st...@torproject.org
+---
+pub_date: 2018-09-27
+---
+title: Tor Browser for Android (alpha), We're Hiring, Share Your Tor Story, 
Open Days
+
+---
+html_body:
+
+
+   
+   
+   
+   
+   
+   
+   https://newsletter.torproject.org;>https://blog.torproject.org/sites/default/files/inline-images/tor-news-logo-560.png;
 style="width: 250px; height: 75px;" />
+   
+   
+   
+   
+   
+   
+   
+   
+   

+   

+   

+   

+   

+   

+   

+   

+   
New 
Release: Tor Browser for Android (Alpha)
+
+   
https://blog.torproject.org/new-alpha-release-tor-browser-android;>https://blog.torproject.org/sites/default/files/styles/full_width/public/image/tor-browser-android.png?itok=FpmHK4h-;
 style="width: 560px; height: 280px;" />
+
+   
Mobile browsing is https://www.theguardian.com/technology/2016/nov/02/mobile-web-browsing-desktop-smartphones-tablets;>on
 the rise around the world, and in some parts, it is commonly the only way 
people access the internet. In these same areas, there is often heavy 
surveillance and censorship online, so in the past year, https://blog.torproject.org/blog/upping-support-mobile-browsing;>weve
 focused on better supporting these users.
+
+   
Theres never been an official Tor Browser on mobile. 
Until now.
+
+   
https://blog.torproject.org/new-alpha-release-tor-browser-android;>https://blog.torproject.org/sites/default/files/inline-images/tba2%401x.png;
 style="width: 560px; height: 280px;" />
+
+   
Introducing Tor Browser for Android (alpha), the mobile 
browser with the highest privacy protections ever available and on par with Tor 
Browser for desktop. You can download the alpha release on https://play.google.com/store/apps/details?id=org.torproject.torbrowser_alpha;>GooglePlay,
 or you can get the apk directly from our https://www.torproject.org/projects/torbrowser.html.en#downloads-alpha;>download
 page. The stable release is slated for early 2019.
+
+   
Note: For this release, you also need to install https://guardianproject.info/apps/orbot/;>Orbot, a proxy application 
that will connect Tor Browser for Android with the Tor network. For the 
upcoming Tor Browser for Android stable release, our goal is for Orbot not to 
be necessary to connect to Tor.
+
+   

[tor-commits] [webwml/master] signing-keys: fix key for boklm

2018-09-26 Thread boklm
commit c14cc6e77333e8536574d4b09bfbbeb9996290a2
Author: Nicolas Vigier 
Date:   Wed Sep 26 18:53:40 2018 +0200

signing-keys: fix key for boklm

Re-apply the changes for #25847 (previously done by commits
c1074e32a8d216feae7 and 5462c6d64523557f4c83).
---
 include/keys.txt |  2 +-
 include/keys.wmi | 15 +++
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/include/keys.txt b/include/keys.txt
index ea3cf4d4..826467a5 100644
--- a/include/keys.txt
+++ b/include/keys.txt
@@ -2,7 +2,7 @@
 The Tor Browser Developers: 0x4E2C6E8793298290
 Mike Perry: 0x29846B3C683686CC
 Georg Koppen: 0xD1483FA6C3C07136
-Nicolas Vigier: 0xE5B81856D0220E4B
+Nicolas Vigier: 0x3E39CEABFC69F6F7
 Arthur Edelstein: 0xD752F538C0D38C3A
 
 [Tor source tarballs]
diff --git a/include/keys.wmi b/include/keys.wmi
index f68197ed..c163717a 100644
--- a/include/keys.wmi
+++ b/include/keys.wmi
@@ -10,7 +10,7 @@ As of 8/118 the signing keys we use are:
 
 
 
-The Tor Browser Developers (0x4E2C6E8793298290),
 Mike Perry (0x29846B3C683686CC),
 Georg Koppen (0xD1483FA6C3C07136),
 Nicolas Vigier (0xE5B81856D0220E4B),
 Arthur Edelstein (0xD752F538C0D38C3A)
 sign Tor Browser releases
+The Tor Browser Developers (0x4E2C6E8793298290),
 Mike Perry (0x29846B3C683686CC),
 Georg Koppen (0xD1483FA6C3C07136),
 Nicolas Vigier (0x3E39CEABFC69F6F7),
 Arthur Edelstein (0xD752F538C0D38C3A)
 sign Tor Browser releases
 Roger Dingledine (0x28988BF5
 and 0x19F78451),
 Nick Mathewson (0x165733EA)
 sign Tor source tarballs
 Nick Mathewson (0x165733EA)
 signed older Tor tarballs
 Tor Project Archive (0xEE8CBC9E886DDD89)
 signs deb.torproject.org repositories and archives
@@ -48,9 +48,16 @@ uid   [ unknown] Tor Browser Developers 
(signing key) torbro
 sub   rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
   Key fingerprint = 1107 75B5 D101 FB36 BC6C  911B EB77 4491 D9FF 06E2
 
-pub   rsa4096/0xE5B81856D0220E4B 2014-03-19 [SC]
-  Key fingerprint = 4A90 646C 0BAE D9D4 56AB  3111 E5B8 1856 D022 0E4B
-uid   [ unknown] Nicolas Vigier (TBB Builds Signing Key) 
boklm#torproject.org
+pub   rsa4096/0x3E39CEABFC69F6F7 2015-09-24 [SC]
+  Key fingerprint = 6AB6 AEE9 776E 7827 23C8  ACE8 3E39 CEAB FC69 F6F7
+uid   [ unknown] Nicolas Vigier (boklm) 
boklm#torproject.org
+uid   [ unknown] Nicolas Vigier (boklm) 
boklm#mars-attacks.org
+sub   rsa4096/0xA0312B06D9535729 2016-04-23 [A]
+  Key fingerprint = 1315 2F30 FFFE 0EC8 DF58  94FB A031 2B06 D953 5729
+sub   rsa4096/0x07B7CFD7A0FBA062 2017-01-25 [S] [expires: 2019-01-22]
+  Key fingerprint = 5B09 BD89 3213 7126 BCDB  F77D 07B7 CFD7 A0FB A062
+sub   rsa4096/0x6DB4024DAA111CE4 2017-01-25 [E] [expires: 2019-01-22]
+  Key fingerprint = B995 3CFA C0C7 A2ED C780  24ED 6DB4 024D AA11 1CE4
 
 pub   rsa2048/0xD752F538C0D38C3A 2014-12-10 [SC]
   Key fingerprint = 20B2 4CEF E6AF D615 0B6A  6F18 D752 F538 C0D3 8C3A

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor_animation_completed] Update translations for tor_animation_completed

2018-09-26 Thread translation
commit 75f5f3cce7f31a772468f82a85e87c715e40de37
Author: Translation commit bot 
Date:   Wed Sep 26 16:17:05 2018 +

Update translations for tor_animation_completed
---
 el.srt | 48 ++--
 1 file changed, 26 insertions(+), 22 deletions(-)

diff --git a/el.srt b/el.srt
index 5dbc81349..fe61f2c93 100644
--- a/el.srt
+++ b/el.srt
@@ -26,31 +26,32 @@
 
 7
 00:00:18,060 --> 00:00:22,480
-θα δει την πραγματική σου ταυτότητα, την 
ακριβή 
-τοποθεσία σου, το λειτουργικό σου σύστημα,
+θα δει την πραγματική σας ταυτότητα, την 
ακριβή 
+τοποθεσία σας, το λειτουργικό σας σύστημα,
 
 8
 00:00:22,800 --> 00:00:26,500
-ολα τα sites που επισκέυτεστε,
- στον εξυπηρετητή που χρησιμοποιείται για 
περιήγηση στο διαδύκτιο
+ολα τις σελίδες που επισκέπτεστε,
+ στον browser που χρησιμοποιείτε για το 
διαδύκτιο
 
 9
 00:00:26,700 --> 00:00:29,140
 και τόσες πολλές ακόμη πληροφορίες 
-για σένα και την ζωή σου
+για σας και τη ζωή σας
 
 10
 00:00:29,200 --> 00:00:31,500
-που μάλλον δεν ήθελες να μοιραστείς με 
αγνώστους
+που μάλλον δεν θα θέλατε 
+να μοιραστείτε με αγνώστους
 
 11
 00:00:31,700 --> 00:00:34,000
-οι οποίοι μπορούν εύκολα να χρησιμοποιήσου
ν 
-αυτές τις πληροφορίες για να σε εκμεταλλευ
τούν.
+με τη χρήση των οποίων 
+θα μπορούσαν να σας εκμεταλλευτούν.
 
 12
 00:00:34,500 --> 00:00:37,000
-Αλλά όχι αν χρησιμοποιείς το Tor!
+Αλλά όχι αν χρησιμοποιείτε το Tor!
 
 13
 00:00:37,140 --> 00:00:40,840
@@ -64,13 +65,13 @@
 
 15
 00:00:44,940 --> 00:00:49,760
-και περνάει απο τρείς εξυπηρετητές 
-που τρέχουν εθελοντικά ανα τον κόσμο,
+και περνάει απο τρείς server
+που τρέχουν εθελοντικά ανά τον κόσμο,
 
 16
 00:00:50,280 --> 00:00:53,520
 το οποίο μας επιτρέπει να επικοινωνούμε
-ανώνυμα στο Διαδίκτυο.
+ανώνυμα στο διαδίκτυο.
 
 17
 00:00:56,560 --> 00:00:58,280
@@ -78,8 +79,8 @@
 
 18
 00:00:58,400 --> 00:01:01,900
-ενάντια σε εταιρική ή κυβερνητική, 
-στοχευμένη και μαζική παρακολούθηση.
+από εταιρική ή κυβερνητική, στοχευμένη
+ και μαζική παρακολούθηση.
 
 19
 00:01:02,880 --> 00:01:07,340
@@ -103,17 +104,17 @@
 
 23
 00:01:19,500 --> 00:01:22,980
-Οπότε, όσο περισσότεροι/ες χρησιμοποιούν 
+Οπότε, όσο περισσότεροι χρησιμοποιούν 
 το δίκτυο Tor, τόσο πιο δυνατό γίνεται
 
 24
 00:01:23,140 --> 00:01:27,800
-καθώς είναι πιο εύκολο να κρυφτείς μέσα σε 
+καθώς είναι πιο εύκολο να κρυφτείτε μέσα 
σε 
 ένα πλήθος από άτομα που φαίνονται εντελώς 
ίδια.
 
 25
 00:01:28,700 --> 00:01:31,240
-Μπορείτε να παρακάμψετε την
+Μπορείτε να παρακάμψετε τη
 λογοκρισία, χωρίς να ανησυχείτε για το
 
 26
@@ -128,13 +129,13 @@
 
 28
 00:01:39,640 --> 00:01:41,300
-με αρχή την στιγμή που 
+από την στιγμή που 
 πρωτοπατάτε ένα προϊόν.
 
 29
 00:01:43,880 --> 00:01:47,380
 Χρησιμοποιώντας το Tor, οι ιστοσελίδες που 
-επισκέπτεστε δεν θα γνωρίζουν ποιός/α 
είστε,
+επισκέπτεστε δεν θα γνωρίζουν ποιός είστε,
 
 30
 00:01:47,540 --> 00:01:49,760
@@ -143,7 +144,8 @@
 
 31
 00:01:49,920 --> 00:01:51,920
-εκτός και αν συνδεθείτε και να τους το 
πείτε.
+εκτός και αν συνδεθείτε 
+και τους το πείτε.
 
 32
 00:01:54,200 --> 00:01:55,840
@@ -156,9 +158,11 @@
 
 34
 00:01:58,880 --> 00:02:01,640
-οπως ακτιβιστές, δημοσιογράφοι και 
μπλόγκερς.
+οπως ακτιβιστές, δημοσιογράφοι 
+και μπλόγκερς.
 
 35
 00:02:02,000 --> 00:02:07,000
-Κατεβάστε και χρησιμοποιήστε το Tor! Ή 
τρέξτε ένα relay!
+Κατεβάστε και χρησιμοποιήστε το Tor! 
+Ή τρέξτε ένα relay!
 


[tor-commits] [translation/tba-android_stringsdtd] Update translations for tba-android_stringsdtd

2018-09-26 Thread translation
commit 1532e5519dfe681864fee1abf19a171d6292088a
Author: Translation commit bot 
Date:   Wed Sep 26 16:16:45 2018 +

Update translations for tba-android_stringsdtd
---
 lg/android_strings.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lg/android_strings.dtd b/lg/android_strings.dtd
index 7a5d8962f..159cf79bd 100644
--- a/lg/android_strings.dtd
+++ b/lg/android_strings.dtd
@@ -102,7 +102,7 @@
  "switch" to the bookmarks (saved items) panel. -->
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor_animation] Update translations for tor_animation

2018-09-26 Thread translation
commit b866cc340673885d486287e5319acfe5b0696d62
Author: Translation commit bot 
Date:   Wed Sep 26 16:17:01 2018 +

Update translations for tor_animation
---
 el.srt | 48 ++--
 1 file changed, 26 insertions(+), 22 deletions(-)

diff --git a/el.srt b/el.srt
index 5dbc81349..fe61f2c93 100644
--- a/el.srt
+++ b/el.srt
@@ -26,31 +26,32 @@
 
 7
 00:00:18,060 --> 00:00:22,480
-θα δει την πραγματική σου ταυτότητα, την 
ακριβή 
-τοποθεσία σου, το λειτουργικό σου σύστημα,
+θα δει την πραγματική σας ταυτότητα, την 
ακριβή 
+τοποθεσία σας, το λειτουργικό σας σύστημα,
 
 8
 00:00:22,800 --> 00:00:26,500
-ολα τα sites που επισκέυτεστε,
- στον εξυπηρετητή που χρησιμοποιείται για 
περιήγηση στο διαδύκτιο
+ολα τις σελίδες που επισκέπτεστε,
+ στον browser που χρησιμοποιείτε για το 
διαδύκτιο
 
 9
 00:00:26,700 --> 00:00:29,140
 και τόσες πολλές ακόμη πληροφορίες 
-για σένα και την ζωή σου
+για σας και τη ζωή σας
 
 10
 00:00:29,200 --> 00:00:31,500
-που μάλλον δεν ήθελες να μοιραστείς με 
αγνώστους
+που μάλλον δεν θα θέλατε 
+να μοιραστείτε με αγνώστους
 
 11
 00:00:31,700 --> 00:00:34,000
-οι οποίοι μπορούν εύκολα να χρησιμοποιήσου
ν 
-αυτές τις πληροφορίες για να σε εκμεταλλευ
τούν.
+με τη χρήση των οποίων 
+θα μπορούσαν να σας εκμεταλλευτούν.
 
 12
 00:00:34,500 --> 00:00:37,000
-Αλλά όχι αν χρησιμοποιείς το Tor!
+Αλλά όχι αν χρησιμοποιείτε το Tor!
 
 13
 00:00:37,140 --> 00:00:40,840
@@ -64,13 +65,13 @@
 
 15
 00:00:44,940 --> 00:00:49,760
-και περνάει απο τρείς εξυπηρετητές 
-που τρέχουν εθελοντικά ανα τον κόσμο,
+και περνάει απο τρείς server
+που τρέχουν εθελοντικά ανά τον κόσμο,
 
 16
 00:00:50,280 --> 00:00:53,520
 το οποίο μας επιτρέπει να επικοινωνούμε
-ανώνυμα στο Διαδίκτυο.
+ανώνυμα στο διαδίκτυο.
 
 17
 00:00:56,560 --> 00:00:58,280
@@ -78,8 +79,8 @@
 
 18
 00:00:58,400 --> 00:01:01,900
-ενάντια σε εταιρική ή κυβερνητική, 
-στοχευμένη και μαζική παρακολούθηση.
+από εταιρική ή κυβερνητική, στοχευμένη
+ και μαζική παρακολούθηση.
 
 19
 00:01:02,880 --> 00:01:07,340
@@ -103,17 +104,17 @@
 
 23
 00:01:19,500 --> 00:01:22,980
-Οπότε, όσο περισσότεροι/ες χρησιμοποιούν 
+Οπότε, όσο περισσότεροι χρησιμοποιούν 
 το δίκτυο Tor, τόσο πιο δυνατό γίνεται
 
 24
 00:01:23,140 --> 00:01:27,800
-καθώς είναι πιο εύκολο να κρυφτείς μέσα σε 
+καθώς είναι πιο εύκολο να κρυφτείτε μέσα 
σε 
 ένα πλήθος από άτομα που φαίνονται εντελώς 
ίδια.
 
 25
 00:01:28,700 --> 00:01:31,240
-Μπορείτε να παρακάμψετε την
+Μπορείτε να παρακάμψετε τη
 λογοκρισία, χωρίς να ανησυχείτε για το
 
 26
@@ -128,13 +129,13 @@
 
 28
 00:01:39,640 --> 00:01:41,300
-με αρχή την στιγμή που 
+από την στιγμή που 
 πρωτοπατάτε ένα προϊόν.
 
 29
 00:01:43,880 --> 00:01:47,380
 Χρησιμοποιώντας το Tor, οι ιστοσελίδες που 
-επισκέπτεστε δεν θα γνωρίζουν ποιός/α 
είστε,
+επισκέπτεστε δεν θα γνωρίζουν ποιός είστε,
 
 30
 00:01:47,540 --> 00:01:49,760
@@ -143,7 +144,8 @@
 
 31
 00:01:49,920 --> 00:01:51,920
-εκτός και αν συνδεθείτε και να τους το 
πείτε.
+εκτός και αν συνδεθείτε 
+και τους το πείτε.
 
 32
 00:01:54,200 --> 00:01:55,840
@@ -156,9 +158,11 @@
 
 34
 00:01:58,880 --> 00:02:01,640
-οπως ακτιβιστές, δημοσιογράφοι και 
μπλόγκερς.
+οπως ακτιβιστές, δημοσιογράφοι 
+και μπλόγκερς.
 
 35
 00:02:02,000 --> 00:02:07,000
-Κατεβάστε και χρησιμοποιήστε το Tor! Ή 
τρέξτε ένα relay!
+Κατεβάστε και χρησιμοποιήστε το Tor! 
+Ή τρέξτε ένα relay!
 


[tor-commits] [translation/tor-launcher-network-settings] Update translations for tor-launcher-network-settings

2018-09-26 Thread translation
commit b12a2f9911c8702ac59eb831b2cf9fd1e08aef70
Author: Translation commit bot 
Date:   Wed Sep 26 15:48:45 2018 +

Update translations for tor-launcher-network-settings
---
 el/network-settings.dtd | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/el/network-settings.dtd b/el/network-settings.dtd
index 116550e5e..eacb51504 100644
--- a/el/network-settings.dtd
+++ b/el/network-settings.dtd
@@ -1,16 +1,16 @@
-
+
 
-
+
 
 
 
 
-
+
 
 
 
 
-
+
 
 
 
@@ -38,7 +38,7 @@
 
 
 
-
+
 
 
 
@@ -55,8 +55,8 @@
 
 
 
-
+
 
 
 
-
+

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-launcher-network-settings_completed] Update translations for tor-launcher-network-settings_completed

2018-09-26 Thread translation
commit 88e464d1cdb7749b20350c3e71f82f7eb779ccc6
Author: Translation commit bot 
Date:   Wed Sep 26 15:48:52 2018 +

Update translations for tor-launcher-network-settings_completed
---
 el/network-settings.dtd | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/el/network-settings.dtd b/el/network-settings.dtd
index 116550e5e..eacb51504 100644
--- a/el/network-settings.dtd
+++ b/el/network-settings.dtd
@@ -1,16 +1,16 @@
-
+
 
-
+
 
 
 
 
-
+
 
 
 
 
-
+
 
 
 
@@ -38,7 +38,7 @@
 
 
 
-
+
 
 
 
@@ -55,8 +55,8 @@
 
 
 
-
+
 
 
 
-
+

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-browseronboardingproperties_completed] Update translations for torbutton-browseronboardingproperties_completed

2018-09-26 Thread translation
commit 522bce63808ee8b7b10f5870d10e3eeb5ad60c2c
Author: Translation commit bot 
Date:   Wed Sep 26 15:48:24 2018 +

Update translations for torbutton-browseronboardingproperties_completed
---
 el/browserOnboarding.properties | 28 ++--
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/el/browserOnboarding.properties b/el/browserOnboarding.properties
index d8bfaa0e2..766e982a9 100644
--- a/el/browserOnboarding.properties
+++ b/el/browserOnboarding.properties
@@ -4,11 +4,11 @@
 
 onboarding.tour-tor-welcome=Καλώς ήλθατε
 onboarding.tour-tor-welcome.title=Είστε έτοιμος.
-onboarding.tour-tor-welcome.description=Ο περιηγητής Tor 
προσφέρει τα υψηλότερα στάνταρ στην 
ιδιωτικότητα και την ασφάλεια κατά την 
περιήγηση στο διαδίκτυο. Τώ ρα είστε 
προστατευμένος από τον εντοπισμό, την 
κατασκοπία και τη λογοκρισία. Μία γρήγορη 
δοκιμή θα σας δείξει πώς.
+onboarding.tour-tor-welcome.description=Ο Tor Browser προσφέρει τα 
υψηλότερα στάνταρ στην ιδιωτικότητα και 
την ασφάλεια κατά την περιήγηση στο 
διαδίκτυο. Τώρα είστε προστατευμένος από 
τον εντοπισμό, την κατασκοπία και τη 
λογοκρισία. Μία γρήγορη δοκιμή θα σας 
δείξει πώς.
 onboarding.tour-tor-welcome.button=Ξεκινήστε Τώρα
 
 onboarding.tour-tor-privacy=Απόρρητο
-onboarding.tour-tor-privacy.title=Αγνόηστε εντοπιστές και 
αδιάκριτους.
+onboarding.tour-tor-privacy.title=Αποφύγετε εντοπιστές 
και αδιάκριτους.
 onboarding.tour-tor-privacy.description=Ο Tor Browser απομονώνει 
τα cookies και διαγράφει το ιστορικό 
περιήγησης μόλις κλείσετε την καρτέλα σας. 
Αυτές οι ρυθμίσεις που εξασφαλίζουν την 
ιδιωτικότητά σας και την ασφάλειά σας 
είναι αποθηκευμένες στον περιηγητή. 
Επιλέξτε "Δίκτυο Tor" για να μάθετε πώς σας 
προστατεύουμε σε επίπεδο δικτύου.
 onboarding.tour-tor-privacy.button=Πάμε στο Δίκτυο Tor
 
@@ -19,23 +19,23 @@ onboarding.tour-tor-network.button=Πάμε στην 
προεπισκόπηση
 
 onboarding.tour-tor-circuit-display=Προεπισκόπηση κυ
κλώματος
 onboarding.tour-tor-circuit-display.title=Δείτε το μονοπάτι 
σας.
-onboarding.tour-tor-circuit-display.description=Για κάθε 
ιστοσελίδα που επισκέπτεστε η κίνησή σας συ
νδέεται και κρυπτογραφείται σε ένα κύκλωμα 
εντός τριών συνδέσεων του Tor σε όλο τον 
κόσμο. Μπορείτε να αιτηθείται κανούριου κυ
κλώματος επιλέγοντας "Νέο κύκλωμα για αυ
τήν τη σελίδα" στην προεπισκόπηση κυ
κλώματός μας.
+onboarding.tour-tor-circuit-display.description=Για κάθε 
ιστοσελίδα που επισκέπτεστε η κίνησή σας συ
νδέεται και κρυπτογραφείται σε ένα κύκλωμα 
εντός τριών συνδέσεων του Tor σε όλο τον 
κόσμο. Μπορείτε να αιτηθείτε κανούριου κυ
κλώματος επιλέγοντας "Νέο κύκλωμα για αυ
τήν τη σελίδα" στην προεπισκόπηση κυ
κλώματός μας.
 onboarding.tour-tor-circuit-display.button=Βλέπω το μονοπάτι 
μου
 
 onboarding.tour-tor-security=Ασφάλεια
-onboarding.tour-tor-security.title=Επίλεξε την εμπειρία 
σου.
-onboarding.tour-tor-security.description=Μπορούμε να 
προσφέρουμε επιπρόσθετες ρυθμίσεις για να 
ενισχύσουμε την ασφάλεια του περιηγητή σου
. Οι Ρυθμίσεις Ασφάλειας σου επιτρέπουν να 
μπλοκάρεις στοιχεία που θα μπορούσαν να 
χρηστιμοποιηθούν για επιθέσεις στον υ
πολογιστή σου. Επίλεξε παρακάτω για να δεις 
τι κάνουν οι διαφορετικές ρυθμίσεις.
+onboarding.tour-tor-security.title=Επιλέξτε την εμπειρία 
σας.
+onboarding.tour-tor-security.description=Μπορούμε να 
προσφέρουμε επιπρόσθετες ρυθμίσεις για να 
ενισχύσουμε την 

[tor-commits] [translation/torbutton-browseronboardingproperties] Update translations for torbutton-browseronboardingproperties

2018-09-26 Thread translation
commit 4a1a4816e013817499ff650802358638b436afd9
Author: Translation commit bot 
Date:   Wed Sep 26 15:48:20 2018 +

Update translations for torbutton-browseronboardingproperties
---
 el/browserOnboarding.properties | 28 ++--
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/el/browserOnboarding.properties b/el/browserOnboarding.properties
index d8bfaa0e2..766e982a9 100644
--- a/el/browserOnboarding.properties
+++ b/el/browserOnboarding.properties
@@ -4,11 +4,11 @@
 
 onboarding.tour-tor-welcome=Καλώς ήλθατε
 onboarding.tour-tor-welcome.title=Είστε έτοιμος.
-onboarding.tour-tor-welcome.description=Ο περιηγητής Tor 
προσφέρει τα υψηλότερα στάνταρ στην 
ιδιωτικότητα και την ασφάλεια κατά την 
περιήγηση στο διαδίκτυο. Τώ ρα είστε 
προστατευμένος από τον εντοπισμό, την 
κατασκοπία και τη λογοκρισία. Μία γρήγορη 
δοκιμή θα σας δείξει πώς.
+onboarding.tour-tor-welcome.description=Ο Tor Browser προσφέρει τα 
υψηλότερα στάνταρ στην ιδιωτικότητα και 
την ασφάλεια κατά την περιήγηση στο 
διαδίκτυο. Τώρα είστε προστατευμένος από 
τον εντοπισμό, την κατασκοπία και τη 
λογοκρισία. Μία γρήγορη δοκιμή θα σας 
δείξει πώς.
 onboarding.tour-tor-welcome.button=Ξεκινήστε Τώρα
 
 onboarding.tour-tor-privacy=Απόρρητο
-onboarding.tour-tor-privacy.title=Αγνόηστε εντοπιστές και 
αδιάκριτους.
+onboarding.tour-tor-privacy.title=Αποφύγετε εντοπιστές 
και αδιάκριτους.
 onboarding.tour-tor-privacy.description=Ο Tor Browser απομονώνει 
τα cookies και διαγράφει το ιστορικό 
περιήγησης μόλις κλείσετε την καρτέλα σας. 
Αυτές οι ρυθμίσεις που εξασφαλίζουν την 
ιδιωτικότητά σας και την ασφάλειά σας 
είναι αποθηκευμένες στον περιηγητή. 
Επιλέξτε "Δίκτυο Tor" για να μάθετε πώς σας 
προστατεύουμε σε επίπεδο δικτύου.
 onboarding.tour-tor-privacy.button=Πάμε στο Δίκτυο Tor
 
@@ -19,23 +19,23 @@ onboarding.tour-tor-network.button=Πάμε στην 
προεπισκόπηση
 
 onboarding.tour-tor-circuit-display=Προεπισκόπηση κυ
κλώματος
 onboarding.tour-tor-circuit-display.title=Δείτε το μονοπάτι 
σας.
-onboarding.tour-tor-circuit-display.description=Για κάθε 
ιστοσελίδα που επισκέπτεστε η κίνησή σας συ
νδέεται και κρυπτογραφείται σε ένα κύκλωμα 
εντός τριών συνδέσεων του Tor σε όλο τον 
κόσμο. Μπορείτε να αιτηθείται κανούριου κυ
κλώματος επιλέγοντας "Νέο κύκλωμα για αυ
τήν τη σελίδα" στην προεπισκόπηση κυ
κλώματός μας.
+onboarding.tour-tor-circuit-display.description=Για κάθε 
ιστοσελίδα που επισκέπτεστε η κίνησή σας συ
νδέεται και κρυπτογραφείται σε ένα κύκλωμα 
εντός τριών συνδέσεων του Tor σε όλο τον 
κόσμο. Μπορείτε να αιτηθείτε κανούριου κυ
κλώματος επιλέγοντας "Νέο κύκλωμα για αυ
τήν τη σελίδα" στην προεπισκόπηση κυ
κλώματός μας.
 onboarding.tour-tor-circuit-display.button=Βλέπω το μονοπάτι 
μου
 
 onboarding.tour-tor-security=Ασφάλεια
-onboarding.tour-tor-security.title=Επίλεξε την εμπειρία 
σου.
-onboarding.tour-tor-security.description=Μπορούμε να 
προσφέρουμε επιπρόσθετες ρυθμίσεις για να 
ενισχύσουμε την ασφάλεια του περιηγητή σου
. Οι Ρυθμίσεις Ασφάλειας σου επιτρέπουν να 
μπλοκάρεις στοιχεία που θα μπορούσαν να 
χρηστιμοποιηθούν για επιθέσεις στον υ
πολογιστή σου. Επίλεξε παρακάτω για να δεις 
τι κάνουν οι διαφορετικές ρυθμίσεις.
+onboarding.tour-tor-security.title=Επιλέξτε την εμπειρία 
σας.
+onboarding.tour-tor-security.description=Μπορούμε να 
προσφέρουμε επιπρόσθετες ρυθμίσεις για να 
ενισχύσουμε την ασφάλεια 

[tor-commits] [translation/tor_animation_completed] Update translations for tor_animation_completed

2018-09-26 Thread translation
commit 5dcb459ce18dcd9166710bce6b5299ac2acdd615
Author: Translation commit bot 
Date:   Wed Sep 26 15:47:11 2018 +

Update translations for tor_animation_completed
---
 el.srt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/el.srt b/el.srt
index 6f9416403..5dbc81349 100644
--- a/el.srt
+++ b/el.srt
@@ -1,11 +1,11 @@
 1
 00:00:00,660 --> 00:00:02,780
-Είμαστε πλέον πολύ συνηθισμένοι με το 
διαδίκτυο.
+Έχουμε πλέον συνηθίσει το διαδίκτυο.
 
 2
 00:00:03,120 --> 00:00:07,700
-Μοιραζόμαστε συνεχως πληροφορίες 
-για εμας και για την προσωπική μας ζωή:
+Μοιραζόμαστε συνεχώς πληροφορίες 
+για εμας και την προσωπική μας ζωή:
 
 3
 00:00:08,000 --> 00:00:09,960

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor_animation] Update translations for tor_animation

2018-09-26 Thread translation
commit e99f79b9389dc94c222c8a8e4ff7df1ae5c033dc
Author: Translation commit bot 
Date:   Wed Sep 26 15:47:06 2018 +

Update translations for tor_animation
---
 el.srt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/el.srt b/el.srt
index 6f9416403..5dbc81349 100644
--- a/el.srt
+++ b/el.srt
@@ -1,11 +1,11 @@
 1
 00:00:00,660 --> 00:00:02,780
-Είμαστε πλέον πολύ συνηθισμένοι με το 
διαδίκτυο.
+Έχουμε πλέον συνηθίσει το διαδίκτυο.
 
 2
 00:00:03,120 --> 00:00:07,700
-Μοιραζόμαστε συνεχως πληροφορίες 
-για εμας και για την προσωπική μας ζωή:
+Μοιραζόμαστε συνεχώς πληροφορίες 
+για εμας και την προσωπική μας ζωή:
 
 3
 00:00:08,000 --> 00:00:09,960

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-openpgp-applet] Update translations for tails-openpgp-applet

2018-09-26 Thread translation
commit d8fd3448205ed179f39fab3a57e5832f191c3378
Author: Translation commit bot 
Date:   Wed Sep 26 15:46:27 2018 +

Update translations for tails-openpgp-applet
---
 lg/openpgp-applet.pot | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lg/openpgp-applet.pot b/lg/openpgp-applet.pot
index 2b337fce3..4f9880968 100644
--- a/lg/openpgp-applet.pot
+++ b/lg/openpgp-applet.pot
@@ -8,8 +8,8 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: ta...@boum.org\n"
 "POT-Creation-Date: 2017-08-05 15:07-0400\n"
-"PO-Revision-Date: 2018-04-12 19:13+\n"
-"Last-Translator: Daniel Kigonya \n"
+"PO-Revision-Date: 2018-09-26 15:44+\n"
+"Last-Translator: Brian Byaruhanga \n"
 "Language-Team: Ganda (http://www.transifex.com/otf/torproject/language/lg/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -31,7 +31,7 @@ msgstr ""
 
 #: bin/openpgp-applet:177
 msgid "About"
-msgstr ""
+msgstr "Ku"
 
 #: bin/openpgp-applet:232
 msgid "Encrypt Clipboard with _Passphrase"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/abouttor-homepage_completed] Update translations for abouttor-homepage_completed

2018-09-26 Thread translation
commit a7a7f35655c459bcf4a1826054fd06b72809e40f
Author: Translation commit bot 
Date:   Wed Sep 26 15:45:09 2018 +

Update translations for abouttor-homepage_completed
---
 el/aboutTor.dtd | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/el/aboutTor.dtd b/el/aboutTor.dtd
index df084273e..e7d95bce3 100644
--- a/el/aboutTor.dtd
+++ b/el/aboutTor.dtd
@@ -6,7 +6,7 @@
 
 
 
-
+
 
 
 
@@ -14,15 +14,15 @@
 
 https://duckduckgo.com;>
 
-
-
+
+
 
 
-
+
 
-
-
+
+
 https://www.torproject.org/getinvolved/volunteer.html.en;>
 
-
+
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/abouttor-homepage] Update translations for abouttor-homepage

2018-09-26 Thread translation
commit 9aeb4befd87d404bc11a9f8f5e123f441f266ac5
Author: Translation commit bot 
Date:   Wed Sep 26 15:45:03 2018 +

Update translations for abouttor-homepage
---
 el/aboutTor.dtd | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/el/aboutTor.dtd b/el/aboutTor.dtd
index df084273e..e7d95bce3 100644
--- a/el/aboutTor.dtd
+++ b/el/aboutTor.dtd
@@ -6,7 +6,7 @@
 
 
 
-
+
 
 
 
@@ -14,15 +14,15 @@
 
 https://duckduckgo.com;>
 
-
-
+
+
 
 
-
+
 
-
-
+
+
 https://www.torproject.org/getinvolved/volunteer.html.en;>
 
-
+
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/master] Bump version to 1.2.0-dev.

2018-09-26 Thread karsten
commit 0f30892d8e07f3fe4796b7fdc532664ed6fad403
Author: Karsten Loesing 
Date:   Wed Sep 26 17:21:00 2018 +0200

Bump version to 1.2.0-dev.
---
 build.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index 759901e..e5a9794 100644
--- a/build.xml
+++ b/build.xml
@@ -8,7 +8,7 @@
 
   
   
-  
+  
   
   
   

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Add missing double quote.

2018-09-26 Thread karsten
commit c3afbfcd03330b69898ed3877a2cdfc4e7f1766b
Author: Karsten Loesing 
Date:   Tue Sep 11 15:57:46 2018 +0200

Add missing double quote.
---
 src/main/resources/web/jsps/stats.jsp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/resources/web/jsps/stats.jsp 
b/src/main/resources/web/jsps/stats.jsp
index 4736309..9c8d158 100644
--- a/src/main/resources/web/jsps/stats.jsp
+++ b/src/main/resources/web/jsps/stats.jsp
@@ -112,7 +112,7 @@ Users #
 
 start: First UTC date (-MM-DD) to include in the file.
 end: Last UTC date (-MM-DD) to include in the file.
-transport: Lower-case transport name to include in the file. 
Possible values include "obfs4", "websocket" for Flash 
proxy/websocket, "fte" for FTE, "!%3COR%3E" (percent encoding of 
"!OR") for any pluggable transport, "%3C??%3E (percent 
encoding of "??") for unknown pluggable transport(s), or 
"%3COR%3E" (percent encoding of "OR") for the default OR 
protocol. Can be given multiple times.
+transport: Lower-case transport name to include in the file. 
Possible values include "obfs4", "websocket" for Flash 
proxy/websocket, "fte" for FTE, "!%3COR%3E" (percent encoding of 
"!OR") for any pluggable transport, "%3C??%3E" (percent 
encoding of "??") for unknown pluggable transport(s), or 
"%3COR%3E" (percent encoding of "OR") for the default OR 
protocol. Can be given multiple times.
 
 
 Columns



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Fix broken anchor.

2018-09-26 Thread karsten
commit 5a208ea67e06deb214152b75c0001dec4ec18a8b
Author: Karsten Loesing 
Date:   Tue Sep 11 15:59:51 2018 +0200

Fix broken anchor.
---
 src/main/resources/web/jsps/reproducible-metrics.jsp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/resources/web/jsps/reproducible-metrics.jsp 
b/src/main/resources/web/jsps/reproducible-metrics.jsp
index 8c72ffc..c590142 100644
--- a/src/main/resources/web/jsps/reproducible-metrics.jsp
+++ b/src/main/resources/web/jsps/reproducible-metrics.jsp
@@ -661,7 +661,7 @@ Again, we compute the 25th, 50th, and 75th percentiles of 
these build times in t
 
 
 
-Onion Services #
+Onion Services #
 
 Our onion services statistics 
are based on two statistics reported by relays that have been added in 2014 to 
give some first insights into onion-service usage.
 For further background on the following steps, refer to the technical report 
titled https://research.torproject.org/techreports/extrapolating-hidserv-stats-2015-01-31.pdf;>"Extrapolating
 network totals from hidden-service statistics" that this description is 
based on (which was written before hidden services were renamed to onion 
services).



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Stop providing pre-aggregated CSV files.

2018-09-26 Thread karsten
commit e503aa40b1f4528e2baec4f8ca7b56cfce3b6ec0
Author: Karsten Loesing 
Date:   Sat Sep 15 20:29:07 2018 +0200

Stop providing pre-aggregated CSV files.

Implements #27000.
---
 .../metrics/web/ResearchStatsServlet.java  | 105 
 src/main/resources/web.xml |  17 -
 src/main/resources/web/jsps/stats.jsp  | 589 +
 3 files changed, 3 insertions(+), 708 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/web/ResearchStatsServlet.java 
b/src/main/java/org/torproject/metrics/web/ResearchStatsServlet.java
deleted file mode 100644
index e4d665c..000
--- a/src/main/java/org/torproject/metrics/web/ResearchStatsServlet.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright 2013--2018 The Tor Project
- * See LICENSE for licensing information */
-
-package org.torproject.metrics.web;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-public class ResearchStatsServlet extends HttpServlet {
-
-  private static final long serialVersionUID = 3346710354297653810L;
-
-  private File statsDir;
-
-  private SortedSet availableStatisticsFiles;
-
-  @Override
-  public void init(ServletConfig config) throws ServletException {
-super.init(config);
-this.statsDir = new File(config.getInitParameter("statsDir"));
-this.availableStatisticsFiles = new TreeSet<>();
-this.availableStatisticsFiles.add("servers");
-this.availableStatisticsFiles.add("ipv6servers");
-this.availableStatisticsFiles.add("bandwidth");
-this.availableStatisticsFiles.add("clients");
-this.availableStatisticsFiles.add("userstats-combined");
-this.availableStatisticsFiles.add("torperf");
-this.availableStatisticsFiles.add("torperf-1.1");
-this.availableStatisticsFiles.add("connbidirect2");
-this.availableStatisticsFiles.add("advbwdist");
-this.availableStatisticsFiles.add("hidserv");
-this.availableStatisticsFiles.add("webstats");
-  }
-
-  @Override
-  public long getLastModified(HttpServletRequest request) {
-File statsFile = this.determineStatsFile(request);
-if (statsFile == null || !statsFile.exists()) {
-  return -1L;
-} else {
-  return statsFile.lastModified();
-}
-  }
-
-  @Override
-  public void doGet(HttpServletRequest request,
-  HttpServletResponse response) throws IOException {
-File statsFile = this.determineStatsFile(request);
-if (statsFile == null) {
-  response.sendError(HttpServletResponse.SC_NOT_FOUND);
-} else if (!statsFile.exists()) {
-  response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-} else {
-  this.writeStatsFile(statsFile, response);
-}
-  }
-
-  private File determineStatsFile(HttpServletRequest request) {
-String requestedStatsFile = request.getRequestURI();
-if (requestedStatsFile.endsWith(".csv")) {
-  requestedStatsFile = requestedStatsFile.substring(0,
-  requestedStatsFile.length() - ".csv".length());
-}
-if (requestedStatsFile.contains("/")) {
-  requestedStatsFile = requestedStatsFile.substring(
-  requestedStatsFile.lastIndexOf("/") + 1);
-}
-if (!availableStatisticsFiles.contains(requestedStatsFile)) {
-  return null;
-} else {
-  return new File(this.statsDir, requestedStatsFile + ".csv");
-}
-  }
-
-  private void writeStatsFile(File statsFile,
-  HttpServletResponse response) throws IOException {
-response.setContentType("text/csv");
-response.setHeader("Content-Length", String.valueOf(
-statsFile.length()));
-response.setHeader("Content-Disposition",
-"inline; filename=\"" + statsFile.getName() + "\"");
-try (BufferedInputStream bis = new BufferedInputStream(
-new FileInputStream(statsFile), 8192);
-BufferedOutputStream bos = new BufferedOutputStream(
-response.getOutputStream())) {
-  byte[] buffer = new byte[8192];
-  int length;
-  while ((length = bis.read(buffer)) > 0) {
-bos.write(buffer, 0, length);
-  }
-}
-  }
-}
-
diff --git a/src/main/resources/web.xml b/src/main/resources/web.xml
index 5c88564..0c79916 100644
--- a/src/main/resources/web.xml
+++ b/src/main/resources/web.xml
@@ -96,23 +96,6 @@
   
 
   
-ResearchStats
-
-  org.torproject.metrics.web.ResearchStatsServlet
-
-
-  statsDir
-  
-/srv/metrics.torproject.org/metrics/shared/stats/
-  
-
-  
-  
-ResearchStats
-/stats/*
-  
-
-  
 GraphImage
 
   org.torproject.metrics.web.GraphImageServlet
diff --git a/src/main/resources/web/jsps/stats.jsp 

[tor-commits] [metrics-web/release] Link to Statistics and Reproducible Metrics from more places.

2018-09-26 Thread karsten
commit 2fc1f3c757a44d1f15efbda1883429fee23437a7
Author: Karsten Loesing 
Date:   Tue Sep 11 16:09:05 2018 +0200

Link to Statistics and Reproducible Metrics from more places.

Still part of #26857.
---
 src/main/java/org/torproject/metrics/web/GraphServlet.java | 1 +
 src/main/resources/web/json/categories.json| 2 +-
 src/main/resources/web/jsps/graph.jsp  | 2 ++
 src/main/resources/web/jsps/sources.jsp| 1 +
 4 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/torproject/metrics/web/GraphServlet.java 
b/src/main/java/org/torproject/metrics/web/GraphServlet.java
index 73aaec7..2f35320 100644
--- a/src/main/java/org/torproject/metrics/web/GraphServlet.java
+++ b/src/main/java/org/torproject/metrics/web/GraphServlet.java
@@ -141,6 +141,7 @@ public class GraphServlet extends MetricServlet {
 request.setAttribute("title", this.titles.get(requestedId));
 if (this.categoriesById.containsKey(requestedId)) {
   Category category = this.categoriesById.get(requestedId);
+  request.setAttribute("categoryId", category.getId());
   request.setAttribute("categoryHeader", category.getHeader());
   request.setAttribute("categoryDescription", category.getDescription());
   List categoryTabs = new ArrayList<>();
diff --git a/src/main/resources/web/json/categories.json 
b/src/main/resources/web/json/categories.json
index a5a4fcf..af05085 100644
--- a/src/main/resources/web/json/categories.json
+++ b/src/main/resources/web/json/categories.json
@@ -1,6 +1,6 @@
 [
   {
-"id": "clients",
+"id": "users",
 "icon": "fa-users",
 "header": "Users",
 "summary": "Where Tor users are from and how they connect to Tor.",
diff --git a/src/main/resources/web/jsps/graph.jsp 
b/src/main/resources/web/jsps/graph.jsp
index 06582ab..c30481f 100644
--- a/src/main/resources/web/jsps/graph.jsp
+++ b/src/main/resources/web/jsps/graph.jsp
@@ -161,6 +161,8 @@
 Download data as
 CSV.
 
+Learn more about the CSV data format or how 
to reproduce the graph 
data.
+
 
   
 
diff --git a/src/main/resources/web/jsps/sources.jsp 
b/src/main/resources/web/jsps/sources.jsp
index f8f9e07..a43d681 100644
--- a/src/main/resources/web/jsps/sources.jsp
+++ b/src/main/resources/web/jsps/sources.jsp
@@ -24,6 +24,7 @@
 CollecTor collects and archives data 
from various nodes and services in the public Tor network.
 Statistics used for visualizations on 
this site are available in the CSV format.
 Onionoo provides current and historical 
data about relays and bridges via a web-based API.
+Reproducible Metrics 
specifies how to reproduce the data behind the graphs on this site.
   
 
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Use "as" in place of "as_number" field for RS

2018-09-26 Thread karsten
commit 9e49336e2cc3c4f94824157aa19754598e2123b5
Author: Iain R. Learmonth 
Date:   Wed Sep 12 10:22:11 2018 +0100

Use "as" in place of "as_number" field for RS

Fixes: #27652
---
 src/main/resources/web/js/rs/collections/aggregates.js  | 14 +++---
 src/main/resources/web/js/rs/models/relay.js|  2 +-
 src/main/resources/web/templates/rs/details/router.html |  2 +-
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/main/resources/web/js/rs/collections/aggregates.js 
b/src/main/resources/web/js/rs/collections/aggregates.js
index 75c5e22..bbf5a45 100644
--- a/src/main/resources/web/js/rs/collections/aggregates.js
+++ b/src/main/resources/web/js/rs/collections/aggregates.js
@@ -7,7 +7,7 @@ define([
 ], function($, _, Backbone, aggregateModel){
   var aggregatesCollection = Backbone.Collection.extend({
 model: aggregateModel,
-baseurl: 
'https://onionoo.torproject.org/details?running=true=relay=country,guard_probability,middle_probability,exit_probability,consensus_weight,consensus_weight_fraction,advertised_bandwidth,flags,as_number,as_name,measured,version',
+baseurl: 
'https://onionoo.torproject.org/details?running=true=relay=country,guard_probability,middle_probability,exit_probability,consensus_weight,consensus_weight_fraction,advertised_bandwidth,flags,as,as_name,measured,version',
 url: '',
 aType: 'cc',
 lookup: function(options) {
@@ -32,8 +32,8 @@ define([
  This code will never be assigned for use with ISO 3166-1 and is 
"user-assigned".
  Fun fact: UN/LOCODE assigns XZ to represent installations in 
international waters. */
   relay.country = ((typeof relay.country) == "undefined") ? "xz" : 
relay.country;
-  relay.as_number = ((typeof relay.as_number) == "undefined") ? "AS0" 
: relay.as_number;
-  if (relay.as_number == "AS0") relay.as_name = "Unknown";
+  relay.as = ((typeof relay.as) == "undefined") ? "AS0" : relay.as;
+  if (relay.as == "AS0") relay.as_name = "Unknown";
 
   var ccAggregate = false;
   var asAggregate = false;
@@ -45,13 +45,13 @@ define([
 aggregateKey = relay.country;
 ccAggregate = true;
   } else if (collection.aType == "as") {
-aggregateKey = relay.as_number;
+aggregateKey = relay.as;
 asAggregate = true;
   } else if (collection.aType == "version") {
 aggregateKey = relay.version.split(".").slice(0, 3).join(".") + 
".";
 versionAggregate = true;
   } else {
-aggregateKey = relay.country + "/" + relay.as_number;
+aggregateKey = relay.country + "/" + relay.as;
 ccAggregate = asAggregate = true;
   }
 
@@ -63,7 +63,7 @@ define([
   aggregates[aggregateKey].country = new Set();
 }
 if (asAggregate) {
-  aggregates[aggregateKey].as = relay.as_number;
+  aggregates[aggregateKey].as = relay.as;
 } else {
   aggregates[aggregateKey].as = new Set();
 }
@@ -77,7 +77,7 @@ define([
 if (relay.country !== "xz") 
aggregates[aggregateKey].country.add(relay.country);
   }
   if (!asAggregate) {
-if (relay.as_number !== "AS0") 
aggregates[aggregateKey].as.add(relay.as_number);
+if (relay.as !== "AS0") aggregates[aggregateKey].as.add(relay.as);
   }
   aggregates[aggregateKey].relays++;
   if ((typeof relay.guard_probability) !== "undefined") 
aggregates[aggregateKey].guard_probability += relay.guard_probability;
diff --git a/src/main/resources/web/js/rs/models/relay.js 
b/src/main/resources/web/js/rs/models/relay.js
index b5a6b8e..eeb0569 100644
--- a/src/main/resources/web/js/rs/models/relay.js
+++ b/src/main/resources/web/js/rs/models/relay.js
@@ -234,7 +234,7 @@ define([
 relay.uptime = relay.last_restarted ? 
relay.uptime.millisecs : null;
 relay.last_restarted = relay.last_restarted ? 
relay.last_restarted : null;
 relay.downtime = relay.last_seen ? 
model.parsedate(relay.last_seen).hrfull : null;
-relay.as_number = relay.as_number ? relay.as_number : null;
+relay.as = relay.as ? relay.as : null;
 relay.as_name = relay.as_name ? relay.as_name : null;
 relay.transports = relay.transports ? relay.transports : 
null;
 relay.fingerprint = relay.hashed_fingerprint ? 
relay.hashed_fingerprint : relay.fingerprint;
diff --git a/src/main/resources/web/templates/rs/details/router.html 
b/src/main/resources/web/templates/rs/details/router.html
index c746269..d7596ca 100644
--- a/src/main/resources/web/templates/rs/details/router.html
+++ b/src/main/resources/web/templates/rs/details/router.html
@@ -153,7 +153,7 @@ should update it as soon as possible.
 <% if 

[tor-commits] [metrics-web/release] Prepare for 1.2.0 release.

2018-09-26 Thread karsten
commit 581c62e94b5b983193764aa39d917be89821bc67
Author: Karsten Loesing 
Date:   Tue Sep 25 09:30:45 2018 +0200

Prepare for 1.2.0 release.
---
 CERT | 18 +-
 CHANGELOG.md |  6 ++
 build.xml|  4 ++--
 3 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/CERT b/CERT
index 61fa7c6..b90b397 100644
--- a/CERT
+++ b/CERT
@@ -1,8 +1,8 @@
 -BEGIN CERTIFICATE-
-MIIDaTCCAlGgAwIBAgIENNGkczANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV
+MIIDaTCCAlGgAwIBAgIELle0dTANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV
 UzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBU
 b3IgUHJvamVjdCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwHhcNMTgw
-NTIzMTUxNDU2WhcNMTgwODIxMTUxNDU2WjBlMQswCQYDVQQGEwJVUzELMAkGA1UE
+ODI4MDcwNjM2WhcNMTgxMTI2MDcwNjM2WjBlMQswCQYDVQQGEwJVUzELMAkGA1UE
 CBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBUb3IgUHJvamVj
 dCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwggEiMA0GCSqGSIb3DQEB
 AQUAA4IBDwAwggEKAoIBAQChXn+IUp+o6G+k4ffxk3TkxZb3iXfiG7byNsG63olU
@@ -11,11 +11,11 @@ 
Qw+VAhKTcEIv4yiR0BWapQyR07pgmKirYVjN6s6ef8NJzUptpxLlaYJ3ZfQfc4aE
 MXzScgaccwDFIWQ661lzLGCfeSxxa3Xy4wWsGwzNzLITYrrABcbg7yogLo2btNvD
 oEwGL3/baQdhl0dra6biVCZr9ydn3Hg57S55pUU0rBY25id78zUO8xrfNHw54wwX
 lOblGt75OOkahP/ZZSBxxoiknJ6y5VQV8y+noA4vigXFAgMBAAGjITAfMB0GA1Ud
-DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAJtEQ
-B2AVpVtjTGU7uujUtEjSn1ICv7QLW/37TmHn+m1SWvXOVlSG81eb5JwX449Pn3w5
-K1Bx0JJmJ6Kec2kHtoR1r5/DUlTMtRqKQ5ZHQbvYMx+Ifq8TRALHjcw8p5Vw+gep
-0zYbSQycklzFaFqLB8Cus0ICb+UY54HTddpezQ3IXS/vc4Vy07ocm8rUCz1s8L/r
-ehTOxSym7G7+kcRzNplFOLL5iO8o6uHPyLR1TIAIXa0XZ41ogNl2q+6CvXG+UI/j
-qkzSXD6FJK1Px2nxNFIe/w9NL+chSytIGnV3CImyiORuV+1OxMglyQspSGEbl1XP
-OfiTEYHnp12BYMeRyw==
+DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAkXZs
+3T3GTkZ+EGvZG5puzKdgZiSsLgIy25xdWsIx147AIZEJFKjEAtbu0osMpkTa96B6
+a+BHf7PTjQUuH3YOEmeW9ab8pwu5SRijCq2qkuvjjSLBcJzWnalcKDYYvoQte1//
+Di8JqpRXCw20WY2bldTiafyG80E0RGfiX2I8vbDiPIhjwz9Wox8Q1rw1c9T/vRn9
+pI8FrHgTnDO6R54yD25QSpsj+hC+IDkFKO17vGCIaJrPG5o6th438ijEwJsG+LRB
+4zKKKsFTby7UJI3Ag8xolIhsBkRZO2j4Na35i15SZ7QJNj9J5g171z8RyOmyIQbg
+q7OXN2iiRIxiIJwoQw==
 -END CERTIFICATE-
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a4fee6f..7890d2d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# Changes in version 1.2.0 - 2018-08-25
+
+ * Medium changes
+   - Add ExoneraTor 4.0.0 thin jar as dependency.
+
+
 # Changes in version 1.1.0 - 2018-05-29
 
  * Medium changes
diff --git a/build.xml b/build.xml
index a97cb01..759901e 100644
--- a/build.xml
+++ b/build.xml
@@ -8,9 +8,9 @@
 
   
   
-  
+  
   
-  
+  
   
   

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Fix graph anchors on stats.html.

2018-09-26 Thread karsten
commit c155e355f06ab8ab8296e9e3993fd7ec19034568
Author: Karsten Loesing 
Date:   Tue Sep 11 15:53:49 2018 +0200

Fix graph anchors on stats.html.
---
 src/main/resources/web/jsps/stats.jsp | 58 +--
 1 file changed, 29 insertions(+), 29 deletions(-)

diff --git a/src/main/resources/web/jsps/stats.jsp 
b/src/main/resources/web/jsps/stats.jsp
index 52e0bb5..4736309 100644
--- a/src/main/resources/web/jsps/stats.jsp
+++ b/src/main/resources/web/jsps/stats.jsp
@@ -58,7 +58,7 @@ Users #
 Relay users
  graph
  data
-#
+#
 
 Parameters
 
@@ -83,7 +83,7 @@ Users #
 Bridge users by country
  graph
  data
-#
+#
 
 Parameters
 
@@ -105,7 +105,7 @@ Users #
 Bridge users by transport
  graph
  data
-#
+#
 
 Parameters
 
@@ -127,7 +127,7 @@ Users #
 Bridge users by country and transport
  graph
  data
-#
+#
 
 Parameters
 
@@ -151,7 +151,7 @@ Users #
 Bridge users by IP version
  graph
  data
-#
+#
 
 Parameters
 
@@ -180,7 +180,7 @@ Servers #
 Relays and bridges
  graph
  data
-#
+#
 
 Parameters
 
@@ -200,7 +200,7 @@ Servers #
 Relays by relay flag
  graph
  data
-#
+#
 
 Parameters
 
@@ -221,7 +221,7 @@ Servers #
 Relays by tor version
  graph
  data
-#
+#
 
 Parameters
 
@@ -241,7 +241,7 @@ Servers #
 Relays by platform
  graph
  data
-#
+#
 
 Parameters
 
@@ -264,7 +264,7 @@ Servers #
 Relays by IP version
  graph
  data
-#
+#
 
 Parameters
 
@@ -286,7 +286,7 @@ Servers #
 Bridges by IP version
  graph
  data
-#
+#
 
 Parameters
 
@@ -312,7 +312,7 @@ Traffic #
 Total relay bandwidth
  graph
  data
-#
+#
 
 Parameters
 
@@ -332,7 +332,7 @@ Traffic #
 Advertised and consumed bandwidth by relay flag
  graph
  data
-#
+#
 
 Parameters
 
@@ -354,7 +354,7 @@ Traffic #
 Advertised bandwidth by IP version
  graph
  data
-#
+#
 
 Parameters
 
@@ -378,7 +378,7 @@ Traffic #
 Advertised bandwidth distribution
  graph
  data
-#
+#
 
 Parameters
 
@@ -400,7 +400,7 @@ Traffic #
 Advertised bandwidth of n-th fastest relays
  graph
  data
-#
+#
 
 Parameters
 
@@ -422,7 +422,7 @@ Traffic #
 Consumed bandwidth by Exit/Guard flag combination
  graph
  data
-#
+#
 
 Parameters
 
@@ -444,7 +444,7 @@ Traffic #
 Bandwidth spent on answering directory requests
  graph
  data
-#
+#
 
 Parameters
 
@@ -464,7 +464,7 @@ Traffic #
 Fraction of connections used uni-/bidirectionally
  graph
  data
-#
+#
 
 Parameters
 
@@ -492,7 +492,7 @@ Performance #
 Time to download files over Tor
  graph
  data
-#
+#
 
 Parameters
 
@@ -519,7 +519,7 @@ Performance #
 Timeouts and failures of downloading files over Tor
  graph
  data
-#
+#
 
 Parameters
 
@@ -545,7 +545,7 @@ Performance #
 Circuit build times
  graph
  data
-#
+#
 
 Parameters
 
@@ -569,7 +569,7 @@ Performance #
 Circuit round-trip latencies
  graph
  data
-#
+#
 
 Parameters
 
@@ -599,7 +599,7 @@ Onion Services #Unique .onion addresses (version 2 only)
  graph
  data
-#
+#
 
 Parameters
 
@@ -619,7 +619,7 @@ Onion Services #Onion-service traffic (versions 2 and 3)
  graph
  data
-#
+#
 
 Parameters
 
@@ -645,7 +645,7 @@ Applications #Tor Browser downloads and updates
  graph
  data
-#
+#
 
 Parameters
 
@@ -667,7 +667,7 @@ Applications #Tor Browser downloads by platform
  graph
  data
-#
+#
 
 Parameters
 
@@ -688,7 +688,7 @@ Applications #Tor Browser downloads by locale
  graph
  data
-#
+#
 
 Parameters
 
@@ -708,7 +708,7 @@ Applications #Tor Messenger downloads and updates
  graph
  data
-#
+#
 
 Parameters
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Use "as" field for bubble graphs

2018-09-26 Thread karsten
commit b74b569361ca3b9bc4b0c96dcd8632c11c58dd61
Author: Iain R. Learmonth 
Date:   Wed Sep 12 10:23:10 2018 +0100

Use "as" field for bubble graphs
---
 src/main/resources/web/js/bubbles.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/web/js/bubbles.js 
b/src/main/resources/web/js/bubbles.js
index b8c7194..ca88505 100644
--- a/src/main/resources/web/js/bubbles.js
+++ b/src/main/resources/web/js/bubbles.js
@@ -7,9 +7,9 @@ var graphs = {
  group_id_func: function(relay) { return undefined; },
  group_name_func: function(relay) { return 'Relays'; },
   }, 'as': {
- extra_fields: ['as_number', 'as_name'],
+ extra_fields: ['as', 'as_name'],
  group: "autonomous systems",
- group_id_func: function(relay) { return relay.as_number; },
+ group_id_func: function(relay) { return relay.as; },
  group_name_func: function(relay) { return relay.as_name; },
   }, 'contact': {
  extra_fields: ['contact'],



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Fix a couple HTML issues.

2018-09-26 Thread karsten
commit 74f7e3d736815a0966fab482538315e2b8a6c740
Author: Karsten Loesing 
Date:   Tue Sep 11 15:00:11 2018 +0200

Fix a couple HTML issues.
---
 src/main/resources/web/jsps/reproducible-metrics.jsp | 4 ++--
 src/main/resources/web/jsps/stats.jsp| 7 ++-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/main/resources/web/jsps/reproducible-metrics.jsp 
b/src/main/resources/web/jsps/reproducible-metrics.jsp
index 87f692e..8c72ffc 100644
--- a/src/main/resources/web/jsps/reproducible-metrics.jsp
+++ b/src/main/resources/web/jsps/reproducible-metrics.jsp
@@ -304,7 +304,7 @@ If the "platform" line contains neither of 
these substrings, memori
 If the platform line is missing, we skip this descriptor, which later leads to 
not counting this relay at all rather than including it in the "Other" group, 
which is slightly wrong.
 IPv6 announced OR: Parse any "or-address" lines and memorize 
whether at least one of them contains an IPv6 address. This indicates that the 
relay announced an IPv6 address.
 IPv6 exiting: Parse the "ipv6-policy" line, if present, and 
memorize whether it's different from "reject 1-65535". This indicates whether 
the relay permitted exiting to IPv6 targets. If the line is not present, 
memorize that the relay does not permit exiting to IPv6 targets.
-Server descriptor digest: Compute the SHA-1 digest, or determine it from 
the file name in case of archived descriptor tarballs.
+Server descriptor digest: Compute the SHA-1 digest, or determine it from 
the file name in case of archived descriptor tarballs.
 
 
 Step 3: Compute daily averages
@@ -429,7 +429,7 @@ Refer to the https://gitweb.torproject.org/torspec.git/tree/dir-spec.tx
 
 
 Advertised bandwidth: Parse the three values (or just two in very old 
descriptors) from the "bandwidth" line. These values stand for the 
average bandwidth, burst bandwidth, and observed bandwidth. The advertised 
bandwidth is the minimum of these values.
-Server descriptor digest: Compute the SHA-1 digest, or determine it from 
the file name in case of archived descriptor tarballs.
+Server descriptor digest: Compute the SHA-1 digest, or determine it from 
the file name in case of archived descriptor tarballs.
 
 
 
diff --git a/src/main/resources/web/jsps/stats.jsp 
b/src/main/resources/web/jsps/stats.jsp
index 565f235..52e0bb5 100644
--- a/src/main/resources/web/jsps/stats.jsp
+++ b/src/main/resources/web/jsps/stats.jsp
@@ -171,6 +171,8 @@ using bridges, which can be either "v4" or 
"v6".
 frac: Fraction of bridges in percent that the estimate is based 
on.
 
 
+
+
 
 
 Servers #
@@ -393,6 +395,7 @@ Traffic #
 p: Percentile as value between 0 and 100.
 all: Advertised bandwidth in Gbit/s of the p-th percentile of all 
relays.
 exits: Advertised bandwidth in Gbit/s of the p-th percentile of 
relays with the "Exit" relay flag.
+
 
 Advertised bandwidth of n-th fastest relays
  graph
@@ -696,7 +699,7 @@ Applications #Columns
 
-
+
 date: UTC date (-MM-DD) when requests to 
torproject.org web servers have been logged.
 locale: Locale, like "en-US" for English (United States), "de" for 
German, etc., and "??" for unrecognized locales.
 initial_downloads: Number of Tor Browser initial downloads.
@@ -731,6 +734,8 @@ Applications #
 
+
+
 
 Number of relays and bridges (deprecated) #
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Remove unnecessary return statements.

2018-09-26 Thread karsten
commit 79994eb3e1a4e89f6904a33a1591b375ab8f104e
Author: Karsten Loesing 
Date:   Tue Aug 21 11:47:07 2018 +0200

Remove unnecessary return statements.
---
 .../java/org/torproject/metrics/stats/hidserv/Parser.java | 15 ---
 .../java/org/torproject/metrics/web/RObjectGenerator.java |  2 +-
 2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java
index 4f7ac6c..5970e32 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java
@@ -199,19 +199,10 @@ public class Parser {
 /* Extract the fingerprint from the parsed descriptor. */
 String fingerprint = extraInfoDescriptor.getFingerprint();
 
-/* If the descriptor did not contain any of the expected hidserv-*
- * lines, don't do anything.  This applies to the majority of
- * descriptors, at least as long as only a minority of relays reports
- * these statistics. */
-if (extraInfoDescriptor.getHidservStatsEndMillis() < 0L
-&& extraInfoDescriptor.getHidservRendRelayedCells() == null
-&& extraInfoDescriptor.getHidservDirOnionsSeen() == null) {
-  return;
-
 /* If the descriptor contained all expected hidserv-* lines, create a
  * new stats object and put it in the local map, so that it will later
  * be written to a document file. */
-} else if (extraInfoDescriptor.getHidservStatsEndMillis() >= 0L
+if (extraInfoDescriptor.getHidservStatsEndMillis() >= 0L
 && extraInfoDescriptor.getHidservStatsIntervalLength() >= 0L
 && extraInfoDescriptor.getHidservRendRelayedCells() != null
 && extraInfoDescriptor.getHidservRendRelayedCellsParameters() != null
@@ -237,7 +228,9 @@ public class Parser {
  * out a warning.  This case does not warrant any further action,
  * because relays can in theory write anything in their extra-info
  * descriptors.  But maybe we'll want to know. */
-} else {
+} else if (extraInfoDescriptor.getHidservStatsEndMillis() >= 0L
+|| extraInfoDescriptor.getHidservRendRelayedCells() != null
+|| extraInfoDescriptor.getHidservDirOnionsSeen() != null) {
   log.warn("Relay {} published incomplete hidserv-stats. Ignoring.",
   fingerprint);
 }
diff --git a/src/main/java/org/torproject/metrics/web/RObjectGenerator.java 
b/src/main/java/org/torproject/metrics/web/RObjectGenerator.java
index 8490eef..a529830 100644
--- a/src/main/java/org/torproject/metrics/web/RObjectGenerator.java
+++ b/src/main/java/org/torproject/metrics/web/RObjectGenerator.java
@@ -345,7 +345,7 @@ public class RObjectGenerator implements 
ServletContextListener {
 this.result = new RObject(baos.toByteArray(), this.fileName,
 lastModified);
   } catch (IOException e) {
-return;
+/* Nothing to do here. */
   }
 }
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Replace Java logging with slf4j.

2018-09-26 Thread karsten
commit 406d0e93210d1839390d58205b05fb5748531b2a
Author: Karsten Loesing 
Date:   Tue Aug 21 20:47:33 2018 +0200

Replace Java logging with slf4j.

Fixes the last part of #26190.
---
 .../metrics/stats/servers/Configuration.java   | 37 
 .../stats/servers/ConsensusStatsFileHandler.java   | 81 --
 .../torproject/metrics/stats/servers/LockFile.java | 18 ++--
 .../stats/servers/LoggingConfiguration.java| 98 --
 .../org/torproject/metrics/stats/servers/Main.java | 16 ++--
 .../servers/RelayDescriptorDatabaseImporter.java   | 86 ---
 6 files changed, 108 insertions(+), 228 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/stats/servers/Configuration.java 
b/src/main/java/org/torproject/metrics/stats/servers/Configuration.java
index 5be8d88..8435b90 100644
--- a/src/main/java/org/torproject/metrics/stats/servers/Configuration.java
+++ b/src/main/java/org/torproject/metrics/stats/servers/Configuration.java
@@ -3,6 +3,9 @@
 
 package org.torproject.metrics.stats.servers;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
@@ -11,8 +14,6 @@ import java.net.MalformedURLException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 /**
  * Initialize configuration with hard-coded defaults, overwrite with
@@ -21,6 +22,8 @@ import java.util.logging.Logger;
  */
 public class Configuration {
 
+  private static Logger log = LoggerFactory.getLogger(Configuration.class);
+
   private boolean importDirectoryArchives = false;
 
   private List directoryArchivesDirectories = new ArrayList<>();
@@ -47,21 +50,16 @@ public class Configuration {
   /** Initializes this configuration class. */
   public Configuration() {
 
-/* Initialize logger. */
-Logger logger = Logger.getLogger(Configuration.class.getName());
-
 /* Read config file, if present. */
 File configFile = new File("config");
 if (!configFile.exists()) {
-  logger.warning("Could not find config file.");
+  log.warn("Could not find config file.");
   return;
 }
 String line = null;
 try (BufferedReader br = new BufferedReader(new FileReader(configFile))) {
   while ((line = br.readLine()) != null) {
-if (line.startsWith("#") || line.length() < 1) {
-  continue;
-} else if (line.startsWith("ImportDirectoryArchives")) {
+if (line.startsWith("ImportDirectoryArchives")) {
   this.importDirectoryArchives = Integer.parseInt(
   line.split(" ")[1]) != 0;
 } else if (line.startsWith("DirectoryArchivesDirectory")) {
@@ -90,27 +88,26 @@ public class Configuration {
 } else if (line.startsWith("WriteBridgeStats")) {
   this.writeBridgeStats = Integer.parseInt(
   line.split(" ")[1]) != 0;
-} else {
-  logger.severe("Configuration file contains unrecognized "
-  + "configuration key in line '" + line + "'! Exiting!");
+} else if (!line.startsWith("#") && line.length() > 0) {
+  log.error("Configuration file contains unrecognized "
+  + "configuration key in line '{}'! Exiting!", line);
   System.exit(1);
 }
   }
 } catch (ArrayIndexOutOfBoundsException e) {
-  logger.severe("Configuration file contains configuration key "
-  + "without value in line '" + line + "'. Exiting!");
+  log.warn("Configuration file contains configuration key without value in 
"
+  + "line '{}'. Exiting!", line);
   System.exit(1);
 } catch (MalformedURLException e) {
-  logger.severe("Configuration file contains illegal URL or IP:port "
-  + "pair in line '" + line + "'. Exiting!");
+  log.warn("Configuration file contains illegal URL or IP:port pair in "
+  + "line '{}'. Exiting!", line);
   System.exit(1);
 } catch (NumberFormatException e) {
-  logger.severe("Configuration file contains illegal value in line '"
-  + line + "' with legal values being 0 or 1. Exiting!");
+  log.warn("Configuration file contains illegal value in line '{}' with "
+  + "legal values being 0 or 1. Exiting!", line);
   System.exit(1);
 } catch (IOException e) {
-  logger.log(Level.SEVERE, "Unknown problem while reading config "
-  + "file! Exiting!", e);
+  log.error("Unknown problem while reading config file! Exiting!", e);
   System.exit(1);
 }
   }
diff --git 
a/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
 
b/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
index 491170e..960069c 100644
--- 
a/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
+++ 

[tor-commits] [metrics-web/release] Inline redundant local variables.

2018-09-26 Thread karsten
commit e04eec7cb742efb5348925524d9a37d5d0a66a7a
Author: Karsten Loesing 
Date:   Tue Aug 21 14:09:58 2018 +0200

Inline redundant local variables.
---
 src/main/java/org/torproject/metrics/stats/hidserv/Parser.java | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java
index 5970e32..558ce39 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java
@@ -241,9 +241,7 @@ public class Parser {
   private long removeNoise(long reportedNumber, long binSize) {
 long roundedToNearestRightSideOfTheBin =
 Math.floorDiv((reportedNumber + binSize / 2), binSize) * binSize;
-long subtractedHalfOfBinSize =
-roundedToNearestRightSideOfTheBin - binSize / 2;
-return subtractedHalfOfBinSize;
+return roundedToNearestRightSideOfTheBin - binSize / 2;
   }
 
   /** Parses the given consensus. */



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update to latest metrics-lib.

2018-09-26 Thread karsten
commit 0f3d958166a14b4b71fecd801e45515f7a0c2aed
Author: Karsten Loesing 
Date:   Fri Aug 31 16:12:04 2018 +0200

Update to latest metrics-lib.
---
 src/submods/metrics-lib | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/submods/metrics-lib b/src/submods/metrics-lib
index f6c7e0e..7c26323 16
--- a/src/submods/metrics-lib
+++ b/src/submods/metrics-lib
@@ -1 +1 @@
-Subproject commit f6c7e0e4d9c69f889206687f23ca7dadd23a4e99
+Subproject commit 7c26323811d733643f9042611c55cdaeec4e3cc4



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Document Onionoo version 7.0.

2018-09-26 Thread karsten
commit 59045f54485d16726e979ffa7d0c9a3a63e81788
Author: Karsten Loesing 
Date:   Wed Sep 5 12:12:19 2018 +0200

Document Onionoo version 7.0.
---
 src/main/resources/web/jsps/onionoo.jsp | 53 +++--
 1 file changed, 24 insertions(+), 29 deletions(-)

diff --git a/src/main/resources/web/jsps/onionoo.jsp 
b/src/main/resources/web/jsps/onionoo.jsp
index b6c7313..0448b6f 100644
--- a/src/main/resources/web/jsps/onionoo.jsp
+++ b/src/main/resources/web/jsps/onionoo.jsp
@@ -322,12 +322,11 @@ an "as_name" parameter to search for relays by AS name, 
and added support for
 comma-separated lists in the "as" and the "lookup" parameters on August 3, 
2018.
 #
 7.0:
-(scheduled, but not deployed yet!): Extend the "version" parameter to support
-lists and ranges, remove redundant "1_week" and "1_month" graphs from clients
-documents, change "3_months" graphs to "6_months" graphs in all documents
-containing history objects, remove the "fingerprint" parameter, and remove the
-previously deprecated "as_number" field from details documents, to be deployed
-after September 3, 2018.
+Extended the "version" parameter to support lists and ranges, removed redundant
+"1_week" and "1_month" graphs from clients documents, changed "3_months" graphs
+to "6_months" graphs in all documents containing history objects, removed the
+"fingerprint" parameter, and removed the previously deprecated "as_number" 
field
+from details documents on September 10, 2018.
 #
 
 
@@ -485,7 +484,7 @@ Lookups are case-insensitive.
 
 
 
-fingerprint deprecated
+fingerprint removed
 #
 
 Return only the relay with the parameter value matching the fingerprint
@@ -497,7 +496,7 @@ with two exceptions:
 not be hashed (again) using SHA-1;
 (2) the response will contain any matching relay or bridge regardless of
 whether they have been running in the past week.
-Scheduled to be removed after September 3, 2018.
+Removed on September 10, 2018.
 
 
 
@@ -633,11 +632,6 @@ a family.
 version updated
 #
 
-Return only relays or bridges running a Tor version that starts with the
-parameter value without leading "Tor".
-Searches are case-insensitive.
-Scheduled to support lists and ranges after September 3,
-2018:
 Return only relays or bridges running either Tor version from a list or range
 given in the parameter value.
 Tor versions must be provided without the leading "Tor"
@@ -645,7 +639,9 @@ part.
 Multiple versions can either be provided as a comma-separated list (","), as a
 range separated by two dots (".."), or as a list of ranges.
 Provided versions are parsed and matched by parsed dotted numbers, rather than
-by string prefix.
+by string prefix.
+Extended to support lists and ranges on September 10,
+2018.
 
 
 
@@ -1332,7 +1328,7 @@ database.
 
 
 
-as_number deprecated
+as_number removed
 string
 optional
 #
@@ -1342,7 +1338,7 @@ resolving the relay's first onion-routing IP address.
 AS number strings start with "AS", followed directly by the AS number.
 Omitted if the relay IP address could not be found in the AS
 database.
-Scheduled to be removed after September 3, 2018.
+Removed on September 10, 2018.
 
 
 
@@ -2166,7 +2162,7 @@ Keys are string representation of the time period covered 
by the graph
 history object.
 Keys are fixed strings "3_days",
 "1_week", "1_month",
-"3_months", "1_year", and
+"6_months", "1_year", and
 "5_years".
 Keys refer to the last known bandwidth history of a relay, not to the time
 when the bandwidth document was published.
@@ -2179,8 +2175,8 @@ The unit is bytes per second.
 Contained graph history objects may contain null values if the relay did
 not provide any bandwidth data or only data for less than 20% of a given
 time period.
-Scheduled to no longer contain a "3_months" graph and 
instead
-a "6_months" graph after September 3, 2018.
+Updated to no longer contain a "3_months" graph and instead 
a
+"6_months" graph on September 10, 2018.
 
 
 
@@ -2304,7 +2300,7 @@ relay to be selected by clients.
 Keys are string representation of the time period covered by the graph
 history object.
 Keys are fixed strings "1_week",
-"1_month", "3_months",
+"1_month", "6_months",
 "1_year", and "5_years".
 Keys refer to the last known weights history of a relay, not to the time
 when the weights document was published.
@@ -2314,8 +2310,8 @@ period and higher data resolution.
 The unit is path-selection probability.
 Contained graph history objects may contain null values if the relay was
 running less than 20% of a given time period.
-Scheduled to no longer contain a "3_months" graph and 
instead
-a "6_months" graph after September 3, 2018.
+Updated to no longer contain a "3_months" graph and instead 
a
+"6_months" graph on September 10, 2018.
 
 
 
@@ -2437,8 +2433,7 @@ Object containing graph history objects with the average 
number of clients
 connecting to this bridge.
 Keys are string representation of the time period covered by the graph
 history object.
-Keys are fixed strings "1_week",

[tor-commits] [metrics-web/release] Update news.json to version 286 of doc/MetricsTimeline.

2018-09-26 Thread karsten
commit 12d2b69bef43d80ca0eb7c111b12d3f09db205d7
Author: Karsten Loesing 
Date:   Wed Sep 5 11:54:45 2018 +0200

Update news.json to version 286 of doc/MetricsTimeline.
---
 src/main/resources/web/json/news.json | 22 +++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/main/resources/web/json/news.json 
b/src/main/resources/web/json/news.json
index 8e5b86a..9810770 100644
--- a/src/main/resources/web/json/news.json
+++ b/src/main/resources/web/json/news.json
@@ -3939,19 +3939,35 @@
   "unknown" : true
 }, {
   "start" : "2018-06-10",
+  "end" : "2018-07-11",
   "places" : [ "tr" ],
   "protocols" : [ "relay" ],
   "short_description" : "Jump of relay users in Turkey, from 5k to about 30k",
-  "description" : "Jump of relay users in Turkey, from 5k to about 30k. The 
timing corresponds to the release of Tor Browser 7.5.5 and 8.0a8.",
+  "description" : "Jump of relay users in Turkey, from 5k to about 30k. The 
timing of the beginning corresponds to the release of Tor Browser 7.5.5 and 
8.0a8.",
   "links" : [ {
 "label" : "relay graph",
-"target" : 
"https://metrics.torproject.org/userstats-relay-country.html?start=2018-04-01=2018-07-15=tr;
+"target" : 
"https://metrics.torproject.org/userstats-relay-country.html?start=2018-05-01=2018-09-15=tr;
   }, {
 "label" : "bridge graph",
-"target" : 
"https://metrics.torproject.org/userstats-bridge-country.html?start=2018-04-01=2018-07-15=tr;
+"target" : 
"https://metrics.torproject.org/userstats-bridge-country.html?start=2018-05-01=2018-09-15=tr;
   }, {
 "label" : "comment",
 "target" : "https://bugs.torproject.org/21014#comment:19;
   } ],
   "unknown" : true
+}, {
+  "start" : "2018-07-28",
+  "ongoing" : true,
+  "places" : [ "tr" ],
+  "protocols" : [ "relay" ],
+  "short_description" : "Another jump of relay users in Turkey, from 5k to 
about 30k.",
+  "description" : "Another jump of relay users in Turkey, from 5k to about 
30k.",
+  "links" : [ {
+"label" : "relay graph",
+"target" : 
"https://metrics.torproject.org/userstats-relay-country.html?start=2018-05-01=2018-09-15=tr;
+  }, {
+"label" : "bridge graph",
+"target" : 
"https://metrics.torproject.org/userstats-bridge-country.html?start=2018-05-01=2018-09-15=tr;
+  } ],
+  "unknown" : true
 } ]
\ No newline at end of file



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Change graphs label from 3 Months to 6

2018-09-26 Thread karsten
commit b21c2cb666da2eab1286fe66636d057ccfb289e4
Author: Iain R. Learmonth 
Date:   Tue Aug 7 14:05:49 2018 +0100

Change graphs label from 3 Months to 6

Fixes: #26983
---
 src/main/resources/web/templates/rs/details/bridge.html | 8 
 src/main/resources/web/templates/rs/details/router.html | 8 
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/main/resources/web/templates/rs/details/bridge.html 
b/src/main/resources/web/templates/rs/details/bridge.html
index 69a1cd1..d4bf602 100644
--- a/src/main/resources/web/templates/rs/details/bridge.html
+++ b/src/main/resources/web/templates/rs/details/bridge.html
@@ -88,7 +88,7 @@
 
 
   1
 Month
-  3
 Months
+  6
 Months
   1
 Year
   5
 Years
 
@@ -120,7 +120,7 @@
 
  
   
-  
+  
 
 
   
@@ -129,7 +129,7 @@
 
 
 
-  3 Months graph
+  6 Months graph
   Save Graph
 
   
@@ -140,7 +140,7 @@
 
 
 
-  3 Months graph
+  6 Months graph
   Save Graph
 
   
diff --git a/src/main/resources/web/templates/rs/details/router.html 
b/src/main/resources/web/templates/rs/details/router.html
index db5ec03..c746269 100644
--- a/src/main/resources/web/templates/rs/details/router.html
+++ b/src/main/resources/web/templates/rs/details/router.html
@@ -179,7 +179,7 @@ should update it as soon as possible.
 
 
   1
 Month
-  3
 Months
+  6
 Months
   1
 Year
   5
 Years
 
@@ -211,7 +211,7 @@ should update it as soon as possible.
 
 
   
-  
+  
 
 
   
@@ -219,7 +219,7 @@ should update it as soon as possible.
 
 
 
-  3 Months graph
+  6 Months graph
   Save Graph
 
   
@@ -230,7 +230,7 @@ should update it as soon as possible.
 
 

-  3 Months graph
+  6 Months graph
   Save Graph
 
   



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Adds link for tor-relays@ to contact information

2018-09-26 Thread karsten
commit 3040394be33d9bd1f318643fee529e1a52c9c580
Author: Iain R. Learmonth 
Date:   Tue Sep 11 12:13:03 2018 +0100

Adds link for tor-relays@ to contact information

Some relay operators find this section from Relay Search and use it to
request help for their relay on the metrics-team@ list which is
suboptimal. This should help to reduce that.

Fixes: #27635
---
 src/main/resources/web/jsps/about.jsp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/main/resources/web/jsps/about.jsp 
b/src/main/resources/web/jsps/about.jsp
index dbd1be9..b78b089 100644
--- a/src/main/resources/web/jsps/about.jsp
+++ b/src/main/resources/web/jsps/about.jsp
@@ -119,6 +119,8 @@
   Contact #
   If you have any questions or suggestions, contact us at mailto:metrics-t...@lists.torproject.org;>metrics-t...@lists.torproject.org,
 which is a https://lists.torproject.org/cgi-bin/mailman/listinfo/metrics-team; 
target="_blank">public mailing list.
 
+  If you have a question about a relay or operating a relay, please 
contact mailto:tor-rel...@lists.torproject.org;>tor-rel...@lists.torproject.org,
 which is a https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays; 
target="_blank">public mailing list or https://lists.torproject.org/pipermail/tor-relays/; 
target="_blank">search the list archives for answers.
+
   Tor Metrics is a project of:
 The Tor Project, Inc.
 217 1st Ave South #4903



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Use StringBuilder's append rather than string concatenation.

2018-09-26 Thread karsten
commit 21277083a87fe409fb9bcdb4e676984f9856fcd1
Author: Karsten Loesing 
Date:   Tue Aug 21 12:09:45 2018 +0200

Use StringBuilder's append rather than string concatenation.
---
 src/main/java/org/torproject/metrics/stats/connbidirect/Main.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java 
b/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java
index 426a7cf..a069d84 100644
--- a/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java
+++ b/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java
@@ -180,8 +180,8 @@ public class Main {
   DateFormat dateFormat = new SimpleDateFormat("-MM-dd");
   dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
   for (long conflictingDate : conflictingDates) {
-sb.append("\n "
-+ dateFormat.format(conflictingDate * ONE_DAY_IN_MILLIS));
+sb.append("\n ")
+.append(dateFormat.format(conflictingDate * ONE_DAY_IN_MILLIS));
   }
   log.warn(sb.toString());
   return;



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Fix another broken anchor.

2018-09-26 Thread karsten
commit 0547e1a4a46c27450518acdd49ec0a5d1229574f
Author: Karsten Loesing 
Date:   Tue Sep 11 16:15:57 2018 +0200

Fix another broken anchor.
---
 src/main/resources/web/jsps/stats.jsp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/resources/web/jsps/stats.jsp 
b/src/main/resources/web/jsps/stats.jsp
index 9c8d158..b737bf7 100644
--- a/src/main/resources/web/jsps/stats.jsp
+++ b/src/main/resources/web/jsps/stats.jsp
@@ -594,7 +594,7 @@ Performance #
 
 
 
-Onion Services #
+Onion Services #
 
 Unique .onion addresses (version 2 only)
  graph



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Use Map.putIfAbsent and Map.getOrDefault where possible.

2018-09-26 Thread karsten
commit 5e4ef944eccf18b5276647828162fa2bc76a2f8f
Author: Karsten Loesing 
Date:   Tue Aug 21 15:12:01 2018 +0200

Use Map.putIfAbsent and Map.getOrDefault where possible.
---
 src/main/java/org/torproject/metrics/stats/connbidirect/Main.java | 7 ++-
 .../java/org/torproject/metrics/stats/hidserv/Aggregator.java | 8 ++--
 .../java/org/torproject/metrics/stats/hidserv/DocumentStore.java  | 4 +---
 .../java/org/torproject/metrics/stats/hidserv/Extrapolator.java   | 4 +---
 .../metrics/stats/servers/ConsensusStatsFileHandler.java  | 8 ++--
 src/main/java/org/torproject/metrics/web/MetricServlet.java   | 4 +---
 6 files changed, 9 insertions(+), 26 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java 
b/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java
index a069d84..b2dc1b6 100644
--- a/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java
+++ b/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java
@@ -447,11 +447,8 @@ public class Main {
 rawStat.fractionWrite, rawStat.fractionBoth };
 for (int i = 0; i < directions.length; i++) {
   String dateAndDirection = date + "," + directions[i];
-  if (!fractionsByDateAndDirection.containsKey(
-  dateAndDirection)) {
-fractionsByDateAndDirection.put(dateAndDirection,
-new ArrayList<>());
-  }
+  fractionsByDateAndDirection.putIfAbsent(dateAndDirection,
+  new ArrayList<>());
   fractionsByDateAndDirection.get(dateAndDirection).add(
   fractions[i]);
 }
diff --git a/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java
index 14fc31f..36e7967 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java
@@ -88,17 +88,13 @@ public class Aggregator {
 continue;
   }
   if (extrapolated.getFractionRendRelayedCells() > 0.0) {
-if (!extrapolatedCells.containsKey(date)) {
-  extrapolatedCells.put(date, new ArrayList<>());
-}
+extrapolatedCells.putIfAbsent(date, new ArrayList<>());
 extrapolatedCells.get(date).add(new double[] {
 extrapolated.getExtrapolatedRendRelayedCells(),
 extrapolated.getFractionRendRelayedCells() });
   }
   if (extrapolated.getFractionDirOnionsSeen() > 0.0) {
-if (!extrapolatedOnions.containsKey(date)) {
-  extrapolatedOnions.put(date, new ArrayList<>());
-}
+extrapolatedOnions.putIfAbsent(date, new ArrayList<>());
 extrapolatedOnions.get(date).add(new double[] {
 extrapolated.getExtrapolatedDirOnionsSeen(),
 extrapolated.getFractionDirOnionsSeen() });
diff --git 
a/src/main/java/org/torproject/metrics/stats/hidserv/DocumentStore.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/DocumentStore.java
index f73812a..61b9fa8 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/DocumentStore.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/DocumentStore.java
@@ -58,9 +58,7 @@ public class DocumentStore {
 SortedMap> formattedDocuments = new TreeMap<>();
 for (T retrieveDocument : retrievedDocuments) {
   String[] formattedDocument = retrieveDocument.format();
-  if (!formattedDocuments.containsKey(formattedDocument[0])) {
-formattedDocuments.put(formattedDocument[0], new TreeSet<>());
-  }
+  formattedDocuments.putIfAbsent(formattedDocument[0], new TreeSet<>());
   formattedDocuments.get(formattedDocument[0]).add(
   formattedDocument[1]);
 }
diff --git 
a/src/main/java/org/torproject/metrics/stats/hidserv/Extrapolator.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/Extrapolator.java
index 2c4a8f8..0dcc638 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/Extrapolator.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/Extrapolator.java
@@ -99,9 +99,7 @@ public class Extrapolator {
 new TreeMap<>();
 for (ReportedHidServStats stat : reportedStats) {
   String fingerprint = stat.getFingerprint();
-  if (!parsedStatsByFingerprint.containsKey(fingerprint)) {
-parsedStatsByFingerprint.put(fingerprint, new HashSet<>());
-  }
+  parsedStatsByFingerprint.putIfAbsent(fingerprint, new HashSet<>());
   parsedStatsByFingerprint.get(fingerprint).add(stat);
 }
 
diff --git 
a/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
 
b/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
index f4f99cd..491170e 100644
--- 
a/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
+++ 
b/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
@@ -257,13 

[tor-commits] [metrics-web/release] Use parameterized log statements.

2018-09-26 Thread karsten
commit 9f0d510a28c376af1533f46cd3afddb691662f97
Author: Karsten Loesing 
Date:   Tue Aug 21 10:03:30 2018 +0200

Use parameterized log statements.
---
 src/main/java/org/torproject/metrics/stats/connbidirect/Main.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java 
b/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java
index c4f1b34..426a7cf 100644
--- a/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java
+++ b/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java
@@ -78,8 +78,8 @@ public class Main {
   return new RawStat(dateDays, fingerprint, fractionRead,
   fractionWrite, fractionBoth);
 } else {
-  log.warn("Could not deserialize raw statistic from string '" + string
-  + "'.");
+  log.warn("Could not deserialize raw statistic from string '{}'.",
+  string);
   return null;
 }
   } catch (NumberFormatException e) {



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update to ExoneraTor 3.0.1.

2018-09-26 Thread karsten
commit 87d159ca6893cd3a9c99b9bb0a9912bed14b9f7e
Author: Karsten Loesing 
Date:   Tue Aug 28 12:33:04 2018 +0200

Update to ExoneraTor 3.0.1.
---
 build.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index 423bfe3..a97cb01 100644
--- a/build.xml
+++ b/build.xml
@@ -10,7 +10,7 @@
   
   
   
-  
+  
   
   



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Remove unnecessary continue statements.

2018-09-26 Thread karsten
commit 482a8dd7ebd0e7df3a54eb535baa8c079ae412b0
Author: Karsten Loesing 
Date:   Tue Aug 21 15:19:47 2018 +0200

Remove unnecessary continue statements.
---
 src/main/java/org/torproject/metrics/stats/hidserv/DocumentStore.java | 2 --
 1 file changed, 2 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/stats/hidserv/DocumentStore.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/DocumentStore.java
index 61b9fa8..f3163e1 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/DocumentStore.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/DocumentStore.java
@@ -132,11 +132,9 @@ public class DocumentStore {
 && !(formattedString0 + line.substring(1))
 .startsWith(prefix)) {
   /* Skip combined line not starting with prefix. */
-  continue;
 } else if (prefix.length() > 0
 && !formattedString0.startsWith(prefix)) {
   /* Skip line not starting with prefix. */
-  continue;
 } else {
   T document = this.clazz.newInstance();
   if (!document.parse(new String[] { formattedString0,



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Use empty parameterized Map when generating tables.

2018-09-26 Thread karsten
commit 175d4c8aeb49db5907fa6591a9513c22dd1486e0
Author: Karsten Loesing 
Date:   Tue Aug 21 09:46:30 2018 +0200

Use empty parameterized Map when generating tables.
---
 src/main/java/org/torproject/metrics/web/RObjectGenerator.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/java/org/torproject/metrics/web/RObjectGenerator.java 
b/src/main/java/org/torproject/metrics/web/RObjectGenerator.java
index 196e834..8490eef 100644
--- a/src/main/java/org/torproject/metrics/web/RObjectGenerator.java
+++ b/src/main/java/org/torproject/metrics/web/RObjectGenerator.java
@@ -89,7 +89,7 @@ public class RObjectGenerator implements 
ServletContextListener {
   }
 }
 for (String tableId : availableTables.keySet()) {
-  generateTable(tableId, new HashMap(), false);
+  generateTable(tableId, new HashMap<>(), false);
 }
 for (String graphId : availableGraphs.keySet()) {
   generateGraph(graphId, "png", new HashMap<>(), false);



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Make a couple JavaDoc fixes.

2018-09-26 Thread karsten
commit d81c8400af3127841d3c798f73b40ae5d83455d2
Author: Karsten Loesing 
Date:   Tue Aug 21 09:51:56 2018 +0200

Make a couple JavaDoc fixes.
---
 .../stats/servers/ConsensusStatsFileHandler.java | 20 ++--
 .../metrics/stats/servers/LoggingConfiguration.java  |  2 --
 .../servers/RelayDescriptorDatabaseImporter.java |  2 +-
 3 files changed, 11 insertions(+), 13 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
 
b/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
index ebbce60..f4f99cd 100644
--- 
a/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
+++ 
b/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
@@ -33,11 +33,11 @@ import java.util.logging.Logger;
 
 /**
  * Generates statistics on the average number of relays and bridges per
- * day. Accepts parse results from RelayDescriptorParser and
- * BridgeDescriptorParser and stores them in intermediate
- * result files stats/consensus-stats-raw and
- * stats/bridge-consensus-stats-raw. Writes final results to
- * stats/consensus-stats for all days for which at least half
+ * day. Accepts parse results from {@code RelayDescriptorParser} and
+ * {@code BridgeDescriptorParser} and stores them in intermediate
+ * result files {@code stats/consensus-stats-raw} and
+ * {@code stats/bridge-consensus-stats-raw}. Writes final results to
+ * {@code stats/consensus-stats} for all days for which at least half
  * of the expected consensuses or statuses are known.
  */
 public class ConsensusStatsFileHandler {
@@ -52,14 +52,14 @@ public class ConsensusStatsFileHandler {
* Number of running bridges in a given bridge status. Map keys are the 
bridge
* status time formatted as "-MM-dd HH:mm:ss", a comma, and the bridge
* authority nickname, map values are lines as read from
-   * stats/bridge-consensus-stats-raw.
+   * {@code stats/bridge-consensus-stats-raw}.
*/
   private SortedMap bridgesRaw;
 
   /**
* Average number of running bridges per day. Map keys are dates
* formatted as "-MM-dd", map values are the remaining columns as written
-   * to stats/consensus-stats.
+   * to {@code stats/consensus-stats}.
*/
   private SortedMap bridgesPerDay;
 
@@ -83,9 +83,9 @@ public class ConsensusStatsFileHandler {
 
   /**
* Initializes this class, including reading in intermediate results
-   * files stats/consensus-stats-raw and
-   * stats/bridge-consensus-stats-raw and final results file
-   * stats/consensus-stats.
+   * files {@code stats/consensus-stats-raw} and
+   * {@code stats/bridge-consensus-stats-raw} and final results file
+   * {@code stats/consensus-stats}.
*/
   public ConsensusStatsFileHandler(String connectionUrl,
   File bridgesDir, File statsDirectory,
diff --git 
a/src/main/java/org/torproject/metrics/stats/servers/LoggingConfiguration.java 
b/src/main/java/org/torproject/metrics/stats/servers/LoggingConfiguration.java
index f14241b..a11c6c4 100644
--- 
a/src/main/java/org/torproject/metrics/stats/servers/LoggingConfiguration.java
+++ 
b/src/main/java/org/torproject/metrics/stats/servers/LoggingConfiguration.java
@@ -20,7 +20,6 @@ import java.util.logging.Logger;
  *
  * Log levels used by ERNIE:
  *
- * 
  * 
  * SEVERE: An event made it impossible to continue program execution.
  * WARNING: A potential problem occurred that requires the operator to
@@ -34,7 +33,6 @@ import java.util.logging.Logger;
  * using FINER.
  * FINEST: Most detailed debug messages. Not used.
  * 
- * 
  */
 public class LoggingConfiguration {
 
diff --git 
a/src/main/java/org/torproject/metrics/stats/servers/RelayDescriptorDatabaseImporter.java
 
b/src/main/java/org/torproject/metrics/stats/servers/RelayDescriptorDatabaseImporter.java
index 38afeec..750e231 100644
--- 
a/src/main/java/org/torproject/metrics/stats/servers/RelayDescriptorDatabaseImporter.java
+++ 
b/src/main/java/org/torproject/metrics/stats/servers/RelayDescriptorDatabaseImporter.java
@@ -173,7 +173,7 @@ public final class RelayDescriptorDatabaseImporter {
 
   /**
* Set of fingerprints that we imported for the valid-after time in
-   * lastCheckedStatusEntries.
+   * {@code lastCheckedStatusEntries}.
*/
   private Set insertedStatusEntries = new HashSet<>();
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Remove redundant initializers.

2018-09-26 Thread karsten
commit 9e505746e5cc6495a0d9687d300d09cdee1e2bda
Author: Karsten Loesing 
Date:   Mon Aug 20 16:30:04 2018 +0200

Remove redundant initializers.
---
 .../metrics/stats/hidserv/ExtrapolatedHidServStats.java   | 8 
 .../torproject/metrics/stats/hidserv/ReportedHidServStats.java| 6 +++---
 .../metrics/stats/servers/ConsensusStatsFileHandler.java  | 2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/stats/hidserv/ExtrapolatedHidServStats.java
 
b/src/main/java/org/torproject/metrics/stats/hidserv/ExtrapolatedHidServStats.java
index d4a741d..9379d87 100644
--- 
a/src/main/java/org/torproject/metrics/stats/hidserv/ExtrapolatedHidServStats.java
+++ 
b/src/main/java/org/torproject/metrics/stats/hidserv/ExtrapolatedHidServStats.java
@@ -142,10 +142,10 @@ public class ExtrapolatedHidServStats implements Document 
{
   return false;
 }
 String fingerprint = secondParts[0];
-double extrapolatedRendRelayedCells = 0.0;
-double fractionRendRelayedCells = 0.0;
-double extrapolatedDirOnionsSeen = 0.0;
-double fractionDirOnionsSeen = 0.0;
+double extrapolatedRendRelayedCells;
+double fractionRendRelayedCells;
+double extrapolatedDirOnionsSeen;
+double fractionDirOnionsSeen;
 try {
   extrapolatedRendRelayedCells = secondParts[1].equals("") ? 0.0
   : Double.parseDouble(secondParts[1]);
diff --git 
a/src/main/java/org/torproject/metrics/stats/hidserv/ReportedHidServStats.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/ReportedHidServStats.java
index 0ff5fd4..08ab024 100644
--- 
a/src/main/java/org/torproject/metrics/stats/hidserv/ReportedHidServStats.java
+++ 
b/src/main/java/org/torproject/metrics/stats/hidserv/ReportedHidServStats.java
@@ -120,9 +120,9 @@ public class ReportedHidServStats implements Document {
 if (statsEndMillis == DateTimeHelper.NO_TIME_AVAILABLE) {
   return false;
 }
-long statsIntervalSeconds = -1L;
-long rendRelayedCells = -1L;
-long dirOnionsSeen = -1L;
+long statsIntervalSeconds;
+long rendRelayedCells;
+long dirOnionsSeen;
 try {
   statsIntervalSeconds = Long.parseLong(secondParts[1]);
   rendRelayedCells = Long.parseLong(secondParts[2]);
diff --git 
a/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
 
b/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
index c1c1e8b..ebbce60 100644
--- 
a/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
+++ 
b/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
@@ -71,7 +71,7 @@ public class ConsensusStatsFileHandler {
   private int bridgeResultsAdded = 0;
 
   /* Database connection string. */
-  private String connectionUrl = null;
+  private String connectionUrl;
 
   private SimpleDateFormat dateTimeFormat;
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Use parameterized map for parameters.

2018-09-26 Thread karsten
commit a695f2ff928ea8593fe268d4c883e07920c67865
Author: Karsten Loesing 
Date:   Mon Aug 20 16:01:54 2018 +0200

Use parameterized map for parameters.
---
 src/main/java/org/torproject/metrics/web/RObjectGenerator.java  | 6 +++---
 src/main/java/org/torproject/metrics/web/TableParameterChecker.java | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/web/RObjectGenerator.java 
b/src/main/java/org/torproject/metrics/web/RObjectGenerator.java
index 9943f17..196e834 100644
--- a/src/main/java/org/torproject/metrics/web/RObjectGenerator.java
+++ b/src/main/java/org/torproject/metrics/web/RObjectGenerator.java
@@ -92,7 +92,7 @@ public class RObjectGenerator implements 
ServletContextListener {
   generateTable(tableId, new HashMap(), false);
 }
 for (String graphId : availableGraphs.keySet()) {
-  generateGraph(graphId, "png", new HashMap(), false);
+  generateGraph(graphId, "png", new HashMap<>(), false);
 }
 lastUpdated = System.currentTimeMillis();
   }
@@ -108,7 +108,7 @@ public class RObjectGenerator implements 
ServletContextListener {
* the given parameters, possibly after checking whether the cache
* already contains that graph. */
   public RObject generateGraph(String requestedGraph, String fileType,
-  Map parameterMap, boolean checkCache) {
+  Map parameterMap, boolean checkCache) {
 if (!this.availableGraphs.containsKey(requestedGraph)
 || this.availableGraphs.get(requestedGraph).getFunction()
 == null) {
@@ -168,7 +168,7 @@ public class RObjectGenerator implements 
ServletContextListener {
* possibly after checking whether the cache already contains that
* table. */
   public List> generateTable(String requestedTable,
-  Map parameterMap, boolean checkCache) {
+  Map parameterMap, boolean checkCache) {
 if (!this.availableTables.containsKey(requestedTable)
 || this.availableTables.get(requestedTable).getFunction()
 == null) {
diff --git 
a/src/main/java/org/torproject/metrics/web/TableParameterChecker.java 
b/src/main/java/org/torproject/metrics/web/TableParameterChecker.java
index 02e9acb..a919097 100644
--- a/src/main/java/org/torproject/metrics/web/TableParameterChecker.java
+++ b/src/main/java/org/torproject/metrics/web/TableParameterChecker.java
@@ -57,7 +57,7 @@ public class TableParameterChecker {
* the parameters are invalid.
*/
   public Map checkParameters(String tableType,
-  Map requestParameters) {
+  Map requestParameters) {
 
 /* Check if the table type exists. */
 if (tableType == null
@@ -80,8 +80,8 @@ public class TableParameterChecker {
   String[] startParameter = null;
   String[] endParameter = null;
   if (requestParameters != null) {
-startParameter = (String[]) requestParameters.get("start");
-endParameter = (String[]) requestParameters.get("end");
+startParameter = requestParameters.get("start");
+endParameter = requestParameters.get("end");
   }
   long endTimestamp = System.currentTimeMillis();
   if (endParameter != null && endParameter.length > 0



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Replace System.{out|err} calls with proper logging.

2018-09-26 Thread karsten
commit 344f7a5da0436ded44eb49fd0874473aa6b18b1a
Author: Karsten Loesing 
Date:   Mon Aug 20 21:51:29 2018 +0200

Replace System.{out|err} calls with proper logging.
---
 .../org/torproject/metrics/stats/clients/Main.java |  9 ++-
 .../metrics/stats/connbidirect/Main.java   | 80 +++---
 .../metrics/stats/hidserv/Aggregator.java  | 11 ++-
 .../stats/hidserv/ComputedNetworkFractions.java| 19 ++---
 .../metrics/stats/hidserv/DocumentStore.java   | 40 ++-
 .../stats/hidserv/ExtrapolatedHidServStats.java| 13 +++-
 .../metrics/stats/hidserv/Extrapolator.java|  9 ++-
 .../org/torproject/metrics/stats/hidserv/Main.java | 21 +++---
 .../torproject/metrics/stats/hidserv/Parser.java   | 30 
 .../stats/hidserv/ReportedHidServStats.java|  9 ++-
 .../torproject/metrics/stats/hidserv/Simulate.java | 16 +++--
 .../org/torproject/metrics/web/UpdateNews.java |  9 ++-
 12 files changed, 160 insertions(+), 106 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/clients/Main.java 
b/src/main/java/org/torproject/metrics/stats/clients/Main.java
index 4f083b9..3ccfe96 100644
--- a/src/main/java/org/torproject/metrics/stats/clients/Main.java
+++ b/src/main/java/org/torproject/metrics/stats/clients/Main.java
@@ -12,6 +12,9 @@ import org.torproject.descriptor.ExtraInfoDescriptor;
 import org.torproject.descriptor.NetworkStatusEntry;
 import org.torproject.descriptor.RelayNetworkStatusConsensus;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileWriter;
@@ -25,6 +28,8 @@ import java.util.TreeMap;
 
 public class Main {
 
+  private static Logger log = LoggerFactory.getLogger(Main.class);
+
   /** Executes this data-processing module. */
   public static void main(String[] args) throws Exception {
 parseArgs(args);
@@ -46,8 +51,8 @@ public class Main {
   writeToSingleFile = false;
   byStatsDateNotByDescHour = false;
 } else {
-  System.err.println("Usage: java " + Main.class.getName()
-  + " [ --stats-date | --desc-hour ]");
+  log.warn("Usage: java {} [ --stats-date | --desc-hour ]",
+  Main.class.getName());
   System.exit(1);
 }
   }
diff --git a/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java 
b/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java
index 4474966..c4f1b34 100644
--- a/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java
+++ b/src/main/java/org/torproject/metrics/stats/connbidirect/Main.java
@@ -8,6 +8,9 @@ import org.torproject.descriptor.DescriptorReader;
 import org.torproject.descriptor.DescriptorSourceFactory;
 import org.torproject.descriptor.ExtraInfoDescriptor;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.File;
@@ -30,6 +33,8 @@ import java.util.TreeSet;
 
 public class Main {
 
+  private static Logger log = LoggerFactory.getLogger(Main.class);
+
   static class RawStat implements Comparable {
 
 /* Date when the statistics interval ended in days since the epoch. */
@@ -73,13 +78,13 @@ public class Main {
   return new RawStat(dateDays, fingerprint, fractionRead,
   fractionWrite, fractionBoth);
 } else {
-  System.err.println("Could not deserialize raw statistic from "
-  + "string '" + string + "'.");
+  log.warn("Could not deserialize raw statistic from string '" + string
+  + "'.");
   return null;
 }
   } catch (NumberFormatException e) {
-System.err.println("Could not deserialize raw statistic from "
-+ "string '" + string + "'.");
+log.warn("Could not deserialize raw statistic from string '{}'.",
+string, e);
 return null;
   }
 }
@@ -133,14 +138,13 @@ public class Main {
 SortedMap parseHistory = parseParseHistory(
 readStringFromFile(parseHistoryFile));
 if (parseHistory == null) {
-  System.err.println("Could not parse "
-  + parseHistoryFile.getAbsolutePath() + ".  Proceeding without "
-  + "parse history.");
+  log.warn("Could not parse {}. Proceeding without parse history.",
+  parseHistoryFile.getAbsolutePath());
 }
 SortedMap aggregateStats = parseAggregateStats(
 readStringFromFile(aggregateStatsFile));
 if (aggregateStats == null) {
-  System.err.println("Could not parse previously aggregated "
+  log.warn("Could not parse previously aggregated "
   + "statistics.  Not proceeding, because we would otherwise "
   + "lose previously aggregated values for which we don't have "
   + "raw statistics anymore.");
@@ -150,7 +154,7 @@ public class Main {
 parseHistory = addRawStatsFromDescriptors(newRawStats,
 descriptorsDirectories, parseHistory);
 if (parseHistory == 

[tor-commits] [metrics-web/release] Delete methods that only call their super.

2018-09-26 Thread karsten
commit af0900d18c1461db90a9512231e9342ad4c57a64
Author: Karsten Loesing 
Date:   Mon Aug 20 20:16:06 2018 +0200

Delete methods that only call their super.
---
 .../metrics/stats/hidserv/DateTimeHelper.java | 19 +--
 .../java/org/torproject/metrics/web/AboutServlet.java |  5 -
 .../org/torproject/metrics/web/BubblesServlet.java|  5 -
 .../torproject/metrics/web/DevelopmentServlet.java|  5 -
 .../java/org/torproject/metrics/web/ErrorServlet.java |  5 -
 .../org/torproject/metrics/web/GlossaryServlet.java   |  5 -
 .../java/org/torproject/metrics/web/IndexServlet.java |  5 -
 .../java/org/torproject/metrics/web/LinkServlet.java  |  5 -
 .../org/torproject/metrics/web/MetricsLibServlet.java |  5 -
 .../org/torproject/metrics/web/OnionooServlet.java|  5 -
 .../org/torproject/metrics/web/OperationServlet.java  |  5 -
 .../torproject/metrics/web/RelaySearchServlet.java|  5 -
 .../metrics/web/ReproducibleMetricsServlet.java   |  5 -
 .../org/torproject/metrics/web/ResearchServlet.java   |  5 -
 .../org/torproject/metrics/web/ServicesServlet.java   |  5 -
 .../org/torproject/metrics/web/SourcesServlet.java|  5 -
 .../java/org/torproject/metrics/web/StatsServlet.java |  5 -
 17 files changed, 1 insertion(+), 98 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/stats/hidserv/DateTimeHelper.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/DateTimeHelper.java
index 58a785e..ade7024 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/DateTimeHelper.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/DateTimeHelper.java
@@ -40,24 +40,7 @@ public class DateTimeHelper {
* timestamps, protected using ThreadLocal to ensure that each thread
* uses its own instances. */
   private static ThreadLocal> dateFormats =
-  new ThreadLocal>() {
-
-public Map get() {
-  return super.get();
-}
-
-protected Map initialValue() {
-  return new HashMap<>();
-}
-
-public void remove() {
-  super.remove();
-}
-
-public void set(Map value) {
-  super.set(value);
-}
-  };
+  ThreadLocal.withInitial(HashMap::new);
 
   /** Returns an instance of DateFormat for the given format, and if no
* such instance exists, creates one and puts it in the map. */
diff --git a/src/main/java/org/torproject/metrics/web/AboutServlet.java 
b/src/main/java/org/torproject/metrics/web/AboutServlet.java
index 30cb606..db39120 100644
--- a/src/main/java/org/torproject/metrics/web/AboutServlet.java
+++ b/src/main/java/org/torproject/metrics/web/AboutServlet.java
@@ -14,11 +14,6 @@ public class AboutServlet extends AnyServlet {
   private static final long serialVersionUID = 97168997894664L;
 
   @Override
-  public void init() throws ServletException {
-super.init();
-  }
-
-  @Override
   public void doGet(HttpServletRequest request,
   HttpServletResponse response) throws IOException, ServletException {
 
diff --git a/src/main/java/org/torproject/metrics/web/BubblesServlet.java 
b/src/main/java/org/torproject/metrics/web/BubblesServlet.java
index 8f83184..d59c0f5 100644
--- a/src/main/java/org/torproject/metrics/web/BubblesServlet.java
+++ b/src/main/java/org/torproject/metrics/web/BubblesServlet.java
@@ -16,11 +16,6 @@ public class BubblesServlet extends MetricServlet {
   private static final long serialVersionUID = -6011833075497881033L;
 
   @Override
-  public void init() throws ServletException {
-super.init();
-  }
-
-  @Override
   public void doGet(HttpServletRequest request,
   HttpServletResponse response) throws IOException, ServletException {
 String requestUri = request.getRequestURI();
diff --git a/src/main/java/org/torproject/metrics/web/DevelopmentServlet.java 
b/src/main/java/org/torproject/metrics/web/DevelopmentServlet.java
index a330ab1..540273d 100644
--- a/src/main/java/org/torproject/metrics/web/DevelopmentServlet.java
+++ b/src/main/java/org/torproject/metrics/web/DevelopmentServlet.java
@@ -14,11 +14,6 @@ public class DevelopmentServlet extends AnyServlet {
   private static final long serialVersionUID = 6850919895248020945L;
 
   @Override
-  public void init() throws ServletException {
-super.init();
-  }
-
-  @Override
   public void doGet(HttpServletRequest request,
   HttpServletResponse response) throws IOException, ServletException {
 
diff --git a/src/main/java/org/torproject/metrics/web/ErrorServlet.java 
b/src/main/java/org/torproject/metrics/web/ErrorServlet.java
index f3d6974..49fbd68 100644
--- a/src/main/java/org/torproject/metrics/web/ErrorServlet.java
+++ b/src/main/java/org/torproject/metrics/web/ErrorServlet.java
@@ -14,11 +14,6 @@ public class ErrorServlet extends AnyServlet {
   private static final long serialVersionUID = 6850919895248020945L;
 
   @Override
-  public void init() throws ServletException {
-super.init();
-  }
-
-  @Override
   public void 

[tor-commits] [metrics-web/release] Replace String.indexOf with .contains.

2018-09-26 Thread karsten
commit 3323843202d5151b32cb2a84ac1d09a64825d9d1
Author: Karsten Loesing 
Date:   Mon Aug 20 15:33:52 2018 +0200

Replace String.indexOf with .contains.
---
 src/main/java/org/torproject/metrics/web/UpdateNews.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/web/UpdateNews.java 
b/src/main/java/org/torproject/metrics/web/UpdateNews.java
index a1b9249..4de7952 100644
--- a/src/main/java/org/torproject/metrics/web/UpdateNews.java
+++ b/src/main/java/org/torproject/metrics/web/UpdateNews.java
@@ -101,10 +101,10 @@ public class UpdateNews {
 String shortDesc = desc
 .replaceAll("\\<.*?\\>", "")
 .replaceAll("&.*;", "");
-if (shortDesc.indexOf(". ") != -1) {
+if (shortDesc.contains(". ")) {
   shortDesc = shortDesc.substring(0, shortDesc.indexOf(". "));
 }
-if (shortDesc.indexOf(" (") != -1) {
+if (shortDesc.contains(" (")) {
   shortDesc = shortDesc.substring(0, shortDesc.indexOf(" ("));
 }
 entry.shortDescription = shortDesc;



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Remove some more redundant modifiers.

2018-09-26 Thread karsten
commit 9892034b2d9df696c618e11cc0bd8d563128e79f
Author: Karsten Loesing 
Date:   Tue Aug 21 09:45:59 2018 +0200

Remove some more redundant modifiers.
---
 src/main/java/org/torproject/metrics/stats/hidserv/Document.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/hidserv/Document.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/Document.java
index 7c915a1..5711a53 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/Document.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/Document.java
@@ -15,12 +15,12 @@ public interface Document {
* group.  Ideally, the first string is equivalent for many documents
* stored in the same file, and the second string is different for those
* documents. */
-  public String[] format();
+  String[] format();
 
   /** Initializes an object using the given array of two strings.
*
* These are the same two strings that the format method
* provides. */
-  public boolean parse(String[] formattedStrings);
+  boolean parse(String[] formattedStrings);
 }
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Remove now redundant mapping.

2018-09-26 Thread karsten
commit e75bc297c2d4728946dffd369a2a8fb6c914d52a
Author: Karsten Loesing 
Date:   Mon Aug 20 15:54:31 2018 +0200

Remove now redundant mapping.
---
 src/main/java/org/torproject/metrics/stats/webstats/Main.java | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/webstats/Main.java 
b/src/main/java/org/torproject/metrics/stats/webstats/Main.java
index 5d4..a154e64 100644
--- a/src/main/java/org/torproject/metrics/stats/webstats/Main.java
+++ b/src/main/java/org/torproject/metrics/stats/webstats/Main.java
@@ -122,9 +122,6 @@ public class Main {
   }
   try {
 Map parsedLogLines = logFile.logLines().parallel()
-/* The following mapping can be removed with metrics-lib
-   version > 2.2.0 */
-.map(line -> (WebServerAccessLog.Line) line)
 .collect(groupingByConcurrent(line
 -> String.format("%s %s %d", line.getMethod().name(),
 truncateString(line.getRequest(), 2048), line.getResponse()),



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Replace addAll with parameterized constructor call.

2018-09-26 Thread karsten
commit e57ed27ed3d5b043769699ee78cfca3453d4dca9
Author: Karsten Loesing 
Date:   Mon Aug 20 16:26:07 2018 +0200

Replace addAll with parameterized constructor call.
---
 .../torproject/metrics/stats/servers/ConsensusStatsFileHandler.java| 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
 
b/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
index c736496..c1c1e8b 100644
--- 
a/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
+++ 
b/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
@@ -321,9 +321,8 @@ public class ConsensusStatsFileHandler {
 /* Add average number of bridges per day to the database. */
 if (connectionUrl != null) {
   try {
-Map insertRows = new HashMap<>();
 Map updateRows = new HashMap<>();
-insertRows.putAll(this.bridgesPerDay);
+Map insertRows = new HashMap<>(this.bridgesPerDay);
 Connection conn = DriverManager.getConnection(connectionUrl);
 conn.setAutoCommit(false);
 Statement statement = conn.createStatement();



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Remove redundant escape in regular expression.

2018-09-26 Thread karsten
commit ab164e7a4b5228d9b7dc53d72f36d9ab070bf934
Author: Karsten Loesing 
Date:   Mon Aug 20 20:50:53 2018 +0200

Remove redundant escape in regular expression.
---
 src/main/java/org/torproject/metrics/web/UpdateNews.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/java/org/torproject/metrics/web/UpdateNews.java 
b/src/main/java/org/torproject/metrics/web/UpdateNews.java
index 4de7952..2865516 100644
--- a/src/main/java/org/torproject/metrics/web/UpdateNews.java
+++ b/src/main/java/org/torproject/metrics/web/UpdateNews.java
@@ -99,7 +99,7 @@ public class UpdateNews {
 .replaceAll("“", "")
 .replaceAll("”", "");
 String shortDesc = desc
-.replaceAll("\\<.*?\\>", "")
+.replaceAll("<.*?>", "")
 .replaceAll("&.*;", "");
 if (shortDesc.contains(". ")) {
   shortDesc = shortDesc.substring(0, shortDesc.indexOf(". "));



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Assume relays have recommended versions if unknown

2018-09-26 Thread karsten
commit e60d669690c85677321fdd41398864294679a860
Author: Iain R. Learmonth 
Date:   Tue Aug 7 13:54:29 2018 +0100

Assume relays have recommended versions if unknown

Fixes: #27042
---
 src/main/resources/web/js/rs/models/relay.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/resources/web/js/rs/models/relay.js 
b/src/main/resources/web/js/rs/models/relay.js
index ad23b15..a3b0d42 100644
--- a/src/main/resources/web/js/rs/models/relay.js
+++ b/src/main/resources/web/js/rs/models/relay.js
@@ -239,7 +239,7 @@ define([
 
 /* Synthetic Additional Flags */
 var additional_flags = []
-if (!((typeof relay.recommended_version !== 'undefined') ? 
relay.recommended_version : false) && relay.version_consistent) 
additional_flags.push("Not Recommended");
+if (!((typeof relay.recommended_version !== 'undefined') ? 
relay.recommended_version : true) && relay.version_consistent) 
additional_flags.push("Not Recommended");
 if (!((typeof relay.measured !== 'undefined') ? 
relay.measured : true)) additional_flags.push("Unmeasured");
 if (((typeof relay.hibernating !== 'undefined') ? 
relay.hibernating : false)) additional_flags.push("Hibernating");
 if (IsFallbackDir(relay.fingerprint)) 
additional_flags.push("FallbackDir");



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Integrate ExoneraTor as its own web page.

2018-09-26 Thread karsten
commit b60cf28654a880bd0bc68288d0af36d4a460e857
Author: Karsten Loesing 
Date:   Fri Aug 10 09:35:50 2018 +0200

Integrate ExoneraTor as its own web page.

Implements #23549.
---
 build.xml  |  5 ++
 .../metrics/web/ExoneraTorWrapperServlet.java  | 35 ++
 src/main/resources/web.xml | 11 +
 src/main/resources/web/jsps/exonerator.jsp | 23 +
 src/main/resources/web/jsps/services.jsp   |  2 +-
 .../resources/web/properties/ExoneraTor.properties | 54 ++
 .../web/properties/ExoneraTor_de.properties| 52 +
 .../web/properties/ExoneraTor_fr.properties| 52 +
 .../web/properties/ExoneraTor_ro.properties| 52 +
 .../web/properties/ExoneraTor_sv.properties| 52 +
 10 files changed, 337 insertions(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index 2f06209..423bfe3 100644
--- a/build.xml
+++ b/build.xml
@@ -10,6 +10,7 @@
   
   
   
+  
   
   
@@ -64,6 +65,7 @@
   
 
   
+
 
 
 
@@ -194,6 +196,9 @@
   prefix="WEB-INF/json"
   includes="metrics.json categories.json news.json"/>
 
+  
+
   
   
diff --git 
a/src/main/java/org/torproject/metrics/web/ExoneraTorWrapperServlet.java 
b/src/main/java/org/torproject/metrics/web/ExoneraTorWrapperServlet.java
new file mode 100644
index 000..fc817e2
--- /dev/null
+++ b/src/main/java/org/torproject/metrics/web/ExoneraTorWrapperServlet.java
@@ -0,0 +1,35 @@
+/* Copyright 2018 The Tor Project
+ * See LICENSE for licensing information */
+
+package org.torproject.metrics.web;
+
+import org.torproject.metrics.exonerator.ExoneraTorServlet;
+
+import java.io.IOException;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class ExoneraTorWrapperServlet extends AnyServlet {
+
+  private ExoneraTorServlet exoneraTorServlet;
+
+  public ExoneraTorWrapperServlet() {
+this.exoneraTorServlet = new ExoneraTorServlet();
+  }
+
+  @Override
+  public void init(ServletConfig config) throws ServletException {
+super.init(config);
+this.exoneraTorServlet.init(config);
+  }
+
+  @Override
+  public void doGet(HttpServletRequest request, HttpServletResponse response)
+  throws IOException, ServletException {
+request.setAttribute("categories", this.categories);
+this.exoneraTorServlet.doGet(request, response);
+  }
+}
diff --git a/src/main/resources/web.xml b/src/main/resources/web.xml
index 154a64e..ae252da 100644
--- a/src/main/resources/web.xml
+++ b/src/main/resources/web.xml
@@ -384,6 +384,17 @@
 /rs.html
   
 
+  
+ExoneraTor
+
+  org.torproject.metrics.web.ExoneraTorWrapperServlet
+
+  
+  
+ExoneraTor
+/exonerator.html
+  
+
   
 index.html
   
diff --git a/src/main/resources/web/jsps/exonerator.jsp 
b/src/main/resources/web/jsps/exonerator.jsp
new file mode 100644
index 000..f8b9341
--- /dev/null
+++ b/src/main/resources/web/jsps/exonerator.jsp
@@ -0,0 +1,23 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core; %>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions; %>
+
+  
+  
+
+
+
+  
+Home
+Services
+ExoneraTor
+  
+
+
+
+  ExoneraTor
+
+
+${body}
+
+
+
diff --git a/src/main/resources/web/jsps/services.jsp 
b/src/main/resources/web/jsps/services.jsp
index 2283dbe..ead3b03 100644
--- a/src/main/resources/web/jsps/services.jsp
+++ b/src/main/resources/web/jsps/services.jsp
@@ -21,7 +21,7 @@
   Network archive #
   The following tool lets you browse the network archive for relays 
running in the past.
   
-https://exonerator.torproject.org/; 
target="_blank">ExoneraTor tells you if an IP was used by a Tor relay on a 
given date.
+ExoneraTor tells you if an IP was 
used by a Tor relay on a given date.
   
 
 
diff --git a/src/main/resources/web/properties/ExoneraTor.properties 
b/src/main/resources/web/properties/ExoneraTor.properties
new file mode 100644
index 000..936754a
--- /dev/null
+++ b/src/main/resources/web/properties/ExoneraTor.properties
@@ -0,0 +1,54 @@
+form.explanation=Enter an IP address and date to find out whether that address 
was used as a Tor relay:
+form.ip.label=IP address
+form.timestamp.label=Date
+form.search.label=Search
+summary.heading=Summary
+summary.serverproblem.dbnoconnect.title=Server problem
+summary.serverproblem.dbnoconnect.body.text=Unable to connect to the database. 
Please try again later. If this problem persists, please %s!
+summary.serverproblem.dbnoconnect.body.link=let us know
+summary.serverproblem.dbempty.title=Server problem
+summary.serverproblem.dbempty.body.text=The database appears to be empty. 
Please try again later. If this problem persists, please %s!

[tor-commits] [metrics-web/release] Remove unthrown exceptions.

2018-09-26 Thread karsten
commit 5560134c84a9113016f715a04cede6246eaeaf87
Author: Karsten Loesing 
Date:   Mon Aug 20 14:49:55 2018 +0200

Remove unthrown exceptions.
---
 src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java | 5 ++---
 src/main/java/org/torproject/metrics/web/GraphImageServlet.java| 4 +---
 src/main/java/org/torproject/metrics/web/ResearchStatsServlet.java | 4 ++--
 3 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java 
b/src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java
index cfbdd6c..95c495e 100644
--- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java
+++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java
@@ -51,13 +51,12 @@ class Parser {
   }
 
   Ipv6NetworkStatus parseRelayNetworkStatusConsensus(
-  RelayNetworkStatusConsensus consensus) throws Exception {
+  RelayNetworkStatusConsensus consensus) {
 return this.parseStatus(true, consensus.getValidAfterMillis(),
 consensus.getStatusEntries().values());
   }
 
-  Ipv6NetworkStatus parseBridgeNetworkStatus(BridgeNetworkStatus status)
-  throws Exception {
+  Ipv6NetworkStatus parseBridgeNetworkStatus(BridgeNetworkStatus status) {
 return this.parseStatus(false, status.getPublishedMillis(),
 status.getStatusEntries().values());
   }
diff --git a/src/main/java/org/torproject/metrics/web/GraphImageServlet.java 
b/src/main/java/org/torproject/metrics/web/GraphImageServlet.java
index 1c5a8ca..b8b2fbc 100644
--- a/src/main/java/org/torproject/metrics/web/GraphImageServlet.java
+++ b/src/main/java/org/torproject/metrics/web/GraphImageServlet.java
@@ -6,7 +6,6 @@ package org.torproject.metrics.web;
 import java.io.BufferedOutputStream;
 import java.io.IOException;
 
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -33,8 +32,7 @@ public class GraphImageServlet extends HttpServlet {
 
   @Override
   public void doGet(HttpServletRequest request,
-  HttpServletResponse response) throws IOException,
-  ServletException {
+  HttpServletResponse response) throws IOException {
 
 /* Find out which graph type was requested and make sure we know this
  * graph type and file type. */
diff --git a/src/main/java/org/torproject/metrics/web/ResearchStatsServlet.java 
b/src/main/java/org/torproject/metrics/web/ResearchStatsServlet.java
index 4d06241..e4d665c 100644
--- a/src/main/java/org/torproject/metrics/web/ResearchStatsServlet.java
+++ b/src/main/java/org/torproject/metrics/web/ResearchStatsServlet.java
@@ -55,7 +55,7 @@ public class ResearchStatsServlet extends HttpServlet {
 
   @Override
   public void doGet(HttpServletRequest request,
-  HttpServletResponse response) throws IOException, ServletException {
+  HttpServletResponse response) throws IOException {
 File statsFile = this.determineStatsFile(request);
 if (statsFile == null) {
   response.sendError(HttpServletResponse.SC_NOT_FOUND);
@@ -84,7 +84,7 @@ public class ResearchStatsServlet extends HttpServlet {
   }
 
   private void writeStatsFile(File statsFile,
-  HttpServletResponse response) throws IOException, ServletException {
+  HttpServletResponse response) throws IOException {
 response.setContentType("text/csv");
 response.setHeader("Content-Length", String.valueOf(
 statsFile.length()));



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Display Onionoo protocol version and build rev

2018-09-26 Thread karsten
commit 0ac652aec6c9d42ceb29867ed49f2820ec1f4667
Author: Iain R. Learmonth 
Date:   Tue Aug 7 14:57:43 2018 +0100

Display Onionoo protocol version and build rev

Fixes: #26863
---
 src/main/resources/web/js/rs/collections/aggregates.js  |  5 -
 src/main/resources/web/js/rs/collections/results.js |  5 -
 src/main/resources/web/js/rs/models/relay.js|  2 ++
 src/main/resources/web/js/rs/router.js  | 17 +
 src/main/resources/web/js/rs/views/aggregate/map.js |  2 ++
 src/main/resources/web/js/rs/views/aggregate/search.js  |  2 ++
 src/main/resources/web/js/rs/views/search/do.js |  2 ++
 src/main/resources/web/templates/rs/aggregate/map.html  |  2 ++
 .../resources/web/templates/rs/aggregate/search.html|  1 +
 src/main/resources/web/templates/rs/details/bridge.html |  1 +
 src/main/resources/web/templates/rs/details/router.html |  1 +
 src/main/resources/web/templates/rs/search/do.html  |  1 +
 12 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/src/main/resources/web/js/rs/collections/aggregates.js 
b/src/main/resources/web/js/rs/collections/aggregates.js
index dbf65ea..75c5e22 100644
--- a/src/main/resources/web/js/rs/collections/aggregates.js
+++ b/src/main/resources/web/js/rs/collections/aggregates.js
@@ -20,6 +20,8 @@ define([
 this.fresh_until = response.fresh_until;
 this.valid_after = response.valid_after;
 var aggregates = {};
+var onionooVersion = response.version;
+var buildRevision = response.build_revision;
 var relaysPublished = response.relays_published;
 var bridgesPublished = response.bridges_published;
 options.error = function(options) {
@@ -122,7 +124,8 @@ define([
   aggregatesArr.push(aggregate);
 });
 collection[options.add ? 'add' : 'reset'](aggregatesArr, options);
-success(err, relaysPublished, bridgesPublished);
+success(err, onionooVersion, buildRevision, relaysPublished,
+bridgesPublished);
   }).fail(function(jqXHR, textStatus, errorThrown) {
 if(jqXHR.statusText == "error") {
   error(2);
diff --git a/src/main/resources/web/js/rs/collections/results.js 
b/src/main/resources/web/js/rs/collections/results.js
index 73ef819..0110b7b 100644
--- a/src/main/resources/web/js/rs/collections/results.js
+++ b/src/main/resources/web/js/rs/collections/results.js
@@ -19,6 +19,8 @@ define([
 this.fresh_until = response.fresh_until;
 this.valid_after = response.valid_after;
 var relays = [];
+var onionooVersion = response.version;
+var buildRevision = response.build_revision;
 var relaysPublished = response.relays_published;
 var bridgesPublished = response.bridges_published;
 options.error = function(options) {
@@ -64,7 +66,8 @@ define([
 $('.progress-bar').html("Rendering results...");
 setTimeout(function() {
   collection[options.add ? 'add' : 'reset'](relays, 
options);
-  success(err, relaysPublished, bridgesPublished);
+  success(err, onionooVersion, buildRevision,
+  relaysPublished, bridgesPublished);
 }, 500);
   } else {
 $('.progress-bar').width((lookedUpRelays / relays.length * 
100) + "%");
diff --git a/src/main/resources/web/js/rs/models/relay.js 
b/src/main/resources/web/js/rs/models/relay.js
index a3b0d42..cdbe3a3 100644
--- a/src/main/resources/web/js/rs/models/relay.js
+++ b/src/main/resources/web/js/rs/models/relay.js
@@ -273,6 +273,8 @@ define([
 relay.is_bridge = true;
 }
 if (relay) {
+relay.onionooVersion = data.version;
+relay.buildRevision = data.build_revision;
 relay.bridgesPublished = data.bridges_published;
 relay.relaysPublished = data.relays_published;
 model.processRelay(options, model, relay);
diff --git a/src/main/resources/web/js/rs/router.js 
b/src/main/resources/web/js/rs/router.js
index 1f65c9f..c67c4a1 100644
--- a/src/main/resources/web/js/rs/router.js
+++ b/src/main/resources/web/js/rs/router.js
@@ -96,8 +96,11 @@ define([
   query = "";
 }
 aggregateSearchView.collection.lookup({
-  success: function(err, relaysPublished, bridgesPublished){
+  success: function(err, onionooVersion, buildRevision, 
relaysPublished,
+bridgesPublished){
   aggregateSearchView.error = err;
+  aggregateSearchView.onionooVersion = onionooVersion;
+  aggregateSearchView.buildRevision = buildRevision;
   aggregateSearchView.relaysPublished = relaysPublished;

[tor-commits] [metrics-web/release] Make suggested changes to per-graph CSV files.

2018-09-26 Thread karsten
commit 0e6936003d0b9b4cc8d9388ea8a56eadcfdce1f9
Author: Karsten Loesing 
Date:   Thu Aug 9 16:08:17 2018 +0200

Make suggested changes to per-graph CSV files.

Implements #26998.
---
 src/main/R/clients/split-clients.R|   6 +-
 src/main/R/rserver/graphs.R   |  70 ++--
 src/main/resources/web/jsps/stats.jsp | 153 --
 3 files changed, 64 insertions(+), 165 deletions(-)

diff --git a/src/main/R/clients/split-clients.R 
b/src/main/R/clients/split-clients.R
index 50b03d4..9f80902 100644
--- a/src/main/R/clients/split-clients.R
+++ b/src/main/R/clients/split-clients.R
@@ -1,12 +1,12 @@
 dir.create("RData", showWarnings = FALSE)
 
 c <- read.csv("clients.csv", stringsAsFactors = FALSE)
-data <- c[c$node == 'relay', !(names(c) %in% c("node", "frac"))]
+data <- c[c$node == 'relay', !(names(c) %in% c("node"))]
 save(data, file = "RData/clients-relay.RData")
-data <- c[c$node == 'bridge', !(names(c) %in% c("node", "frac"))]
+data <- c[c$node == 'bridge', !(names(c) %in% c("node"))]
 save(data, file = "RData/clients-bridge.RData")
 
 u <- read.csv("userstats-combined.csv", stringsAsFactors = FALSE)
-data <- u[, !(names(u) %in% c("node", "version", "frac"))]
+data <- u[, !(names(u) %in% c("node", "version"))]
 save(data, file = "RData/userstats-bridge-combined.RData")
 
diff --git a/src/main/R/rserver/graphs.R b/src/main/R/rserver/graphs.R
index 12a80e9..ab37a32 100644
--- a/src/main/R/rserver/graphs.R
+++ b/src/main/R/rserver/graphs.R
@@ -423,7 +423,6 @@ plot_versions <- function(start_p, end_p, path_p) {
 
 write_versions <- function(start_p = NULL, end_p = NULL, path_p) {
   prepare_versions(start_p, end_p) %>%
-spread(key = "version", value = "relays", fill = 0) %>%
 write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
 }
 
@@ -459,6 +458,7 @@ plot_platforms <- function(start_p, end_p, path_p) {
 
 write_platforms <- function(start_p = NULL, end_p = NULL, path_p) {
   prepare_platforms(start_p, end_p) %>%
+mutate(platform = tolower(platform)) %>%
 spread(platform, relays) %>%
 write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
 }
@@ -607,8 +607,6 @@ plot_relayflags <- function(start_p, end_p, flag_p, path_p) 
{
 write_relayflags <- function(start_p = NULL, end_p = NULL, flag_p = NULL,
 path_p) {
   prepare_relayflags(start_p, end_p, flag_p) %>%
-mutate(flag = tolower(flag)) %>%
-spread(flag, relays) %>%
 write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
 }
 
@@ -832,9 +830,6 @@ plot_connbidirect <- function(start_p, end_p, path_p) {
 write_connbidirect <- function(start_p = NULL, end_p = NULL, path_p) {
   prepare_connbidirect(start_p, end_p) %>%
 rename(q1 = X0.25, md = X0.5, q3 = X0.75) %>%
-gather(variable, value, -(date:direction)) %>%
-unite(temp, direction, variable) %>%
-spread(temp, value) %>%
 write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
 }
 
@@ -900,7 +895,8 @@ plot_userstats <- function(start_p, end_p, node_p, 
variable_p, value_p,
 events_p, path_p) {
   load(paste(rdata_dir, "clients-", node_p, ".RData", sep = ""))
   c <- data
-  u <- c[c$date >= start_p & c$date <= end_p, ]
+  u <- c[c$date >= start_p & c$date <= end_p, c("date", "country", "transport",
+  "version", "lower", "upper", "clients")]
   u <- rbind(u, data.frame(date = start_p,
   country = ifelse(variable_p == "country" & value_p != "all", value_p, 
""),
   transport = ifelse(variable_p == "transport", value_p, ""),
@@ -1053,8 +1049,7 @@ write_userstats_relay_country <- function(start_p = NULL, 
end_p = NULL,
   country == ifelse(country_p == "all", "", country_p) else TRUE) %>%
 filter(transport == "") %>%
 filter(version == "") %>%
-mutate(downturns = clients < lower, upturns = clients > upper) %>%
-select(date, country, clients, downturns, upturns, lower, upper) %>%
+select(date, country, clients, lower, upper, frac) %>%
 rename(users = clients) %>%
 write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
 }
@@ -1069,7 +1064,7 @@ write_userstats_bridge_country <- function(start_p = 
NULL, end_p = NULL,
   country == ifelse(country_p == "all", "", country_p) else TRUE) %>%
 filter(transport == "") %>%
 filter(version == "") %>%
-select(date, country, clients) %>%
+select(date, country, clients, frac) %>%
 rename(users = clients) %>%
 write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
 }
@@ -1083,24 +1078,21 @@ write_userstats_bridge_transport <- function(start_p = 
NULL, end_p = NULL,
 filter(country == "") %>%
 filter(version == "") %>%
 filter(transport != "") %>%
-select(date, transport, clients)
+select(date, transport, clients, frac)
   if (is.null(transport_p) || "!" %in% transport_p) {
 n <- u %>%
   filter(transport != "") %>%
-  group_by(date) %>%
+  group_by(date, frac) %>%
   summarize(clients = sum(clients))
 u <- rbind(u, 

[tor-commits] [metrics-web/release] Remove hidserv-frac-reporting graph and CSV file.

2018-09-26 Thread karsten
commit ec86ad02973963e9efad46b0ac21ae4f04c87fc6
Author: Karsten Loesing 
Date:   Thu Aug 9 16:13:45 2018 +0200

Remove hidserv-frac-reporting graph and CSV file.

This was the graph showing the "Fraction of relays reporting
onion-service statistics". Fraction values will still be available as
part of the other onion-service statistics' per-graph CSV files.

Implements #26950.
---
 src/main/R/rserver/graphs.R| 34 --
 src/main/resources/web.xml |  4 ---
 src/main/resources/web/json/categories.json|  3 +-
 src/main/resources/web/json/metrics.json   | 11 ---
 .../resources/web/jsps/reproducible-metrics.jsp|  1 -
 src/main/resources/web/jsps/stats.jsp  | 25 
 6 files changed, 1 insertion(+), 77 deletions(-)

diff --git a/src/main/R/rserver/graphs.R b/src/main/R/rserver/graphs.R
index ab37a32..66a1414 100644
--- a/src/main/R/rserver/graphs.R
+++ b/src/main/R/rserver/graphs.R
@@ -1287,40 +1287,6 @@ write_hidserv_rend_relayed_cells <- function(start_p = 
NULL, end_p = NULL,
 write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
 }
 
-prepare_hidserv_frac_reporting <- function(start_p, end_p) {
-  read.csv(paste(stats_dir, "hidserv.csv", sep = ""),
-colClasses = c("date" = "Date")) %>%
-filter(if (!is.null(start_p)) date >= as.Date(start_p) else TRUE) %>%
-filter(if (!is.null(end_p)) date <= as.Date(end_p) else TRUE) %>%
-select(date, frac, type)
-}
-
-plot_hidserv_frac_reporting <- function(start_p, end_p, path_p) {
-  prepare_hidserv_frac_reporting(start_p, end_p) %>%
-ggplot(aes(x = date, y = frac, colour = type)) +
-geom_line() +
-geom_hline(yintercept = 0.01, linetype = 2) +
-scale_x_date(name = "", breaks = custom_breaks,
-  labels = custom_labels, minor_breaks = custom_minor_breaks) +
-scale_y_continuous(name = "", labels = percent, limits = c(0, NA)) +
-scale_colour_hue(name = "",
- breaks = c("rend-relayed-cells", "dir-onions-seen"),
- labels = c("Onion-service traffic",
-"Unique .onion addresses")) +
-ggtitle(paste("Fraction of relays reporting onion-service",
-   "statistics")) +
-labs(caption = copyright_notice) +
-theme(legend.position = "top")
-  ggsave(filename = path_p, width = 8, height = 5, dpi = 150)
-}
-
-write_hidserv_frac_reporting <- function(start_p = NULL, end_p = NULL, path_p) 
{
-  prepare_hidserv_frac_reporting(start_p, end_p) %>%
-mutate(type = ifelse(type == "dir-onions-seen", "onions", "relayed")) %>%
-spread(type, frac) %>%
-write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
-}
-
 prepare_webstats_tb <- function(start_p, end_p) {
   load(paste(rdata_dir, "webstats-tb.RData", sep = ""))
   data %>%
diff --git a/src/main/resources/web.xml b/src/main/resources/web.xml
index ae252da..5c88564 100644
--- a/src/main/resources/web.xml
+++ b/src/main/resources/web.xml
@@ -48,7 +48,6 @@
 /connbidirect.html
 /hidserv-dir-onions-seen.html
 /hidserv-rend-relayed-cells.html
-/hidserv-frac-reporting.html
 /webstats-tb.html
 /webstats-tb-platform.html
 /webstats-tb-locale.html
@@ -190,9 +189,6 @@
 /hidserv-rend-relayed-cells.png
 /hidserv-rend-relayed-cells.pdf
 /hidserv-rend-relayed-cells.csv
-/hidserv-frac-reporting.png
-/hidserv-frac-reporting.pdf
-/hidserv-frac-reporting.csv
 /webstats-tb.png
 /webstats-tb.pdf
 /webstats-tb.csv
diff --git a/src/main/resources/web/json/categories.json 
b/src/main/resources/web/json/categories.json
index 23e6ee4..a5a4fcf 100644
--- a/src/main/resources/web/json/categories.json
+++ b/src/main/resources/web/json/categories.json
@@ -74,8 +74,7 @@
 "description": "Onion services are services that are only accessible via 
the Tor network.",
 "metrics": [
   "hidserv-dir-onions-seen",
-  "hidserv-rend-relayed-cells",
-  "hidserv-frac-reporting"
+  "hidserv-rend-relayed-cells"
 ]
   },
   {
diff --git a/src/main/resources/web/json/metrics.json 
b/src/main/resources/web/json/metrics.json
index 0f85a28..ab5d98d 100644
--- a/src/main/resources/web/json/metrics.json
+++ b/src/main/resources/web/json/metrics.json
@@ -367,17 +367,6 @@
 ]
   },
   {
-"id": "hidserv-frac-reporting",
-"title": "Fraction of relays reporting onion-service statistics",
-"type": "Graph",
-"description": "This graph shows the fraction of relays that report statistics on onion service usage.  If at least 1% 
of relays report a statistic, it gets extrapolated towards a network total, 
where higher fractions are produce more accurate results.  For more details on 
the extrapolation algorithm, see https://blog.torproject.org/blog/some-statistics-about-onions\;>this 
blog post and https://research.torproject.org/techreports/extrapolating-hidserv-stats-2015-01-31.pdf\;>this

[tor-commits] [metrics-web/release] Update news.json to version 285 of doc/MetricsTimeline.

2018-09-26 Thread karsten
commit 16e2fe06c0bb79676d4a268b3df1d22586752e46
Author: Karsten Loesing 
Date:   Mon Aug 13 09:15:46 2018 +0200

Update news.json to version 285 of doc/MetricsTimeline.
---
 src/main/resources/web/json/news.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/resources/web/json/news.json 
b/src/main/resources/web/json/news.json
index 03d7f6a..8e5b86a 100644
--- a/src/main/resources/web/json/news.json
+++ b/src/main/resources/web/json/news.json
@@ -3292,7 +3292,7 @@
   } ]
 }, {
   "start" : "2018-07-29",
-  "ongoing" : true,
+  "end" : "2018-08-08",
   "places" : [ "bd" ],
   "short_description" : "Protests over road safety in Dhaka, Bangladesh",
   "description" : "Protests over road safety in Dhaka, Bangladesh. Reports of 
mobile network throttling and blocking of Facebook.",



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Use more powerful Map methods.

2018-09-26 Thread karsten
commit c5f0530e1b2ffba49dc51155ca80d3d5104dfe15
Author: Karsten Loesing 
Date:   Mon Aug 20 15:20:36 2018 +0200

Use more powerful Map methods.
---
 src/main/java/org/torproject/metrics/web/News.java | 6 +-
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/web/News.java 
b/src/main/java/org/torproject/metrics/web/News.java
index deeddf2..bd80ad4 100644
--- a/src/main/java/org/torproject/metrics/web/News.java
+++ b/src/main/java/org/torproject/metrics/web/News.java
@@ -87,11 +87,7 @@ public class News {
 }
 List placeNames = new ArrayList<>();
 for (String place : this.places) {
-  if (countries.containsKey(place)) {
-placeNames.add(countries.get(place));
-  } else {
-placeNames.add("Unknown Country");
-  }
+  placeNames.add(countries.getOrDefault(place, "Unknown Country"));
 }
 return placeNames;
   }



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Replace anonymous types with lambdas.

2018-09-26 Thread karsten
commit cb966bc48ce30d4cef0195b713168e2020e412bf
Author: Karsten Loesing 
Date:   Mon Aug 20 15:10:15 2018 +0200

Replace anonymous types with lambdas.
---
 .../metrics/stats/hidserv/Aggregator.java  |  7 +---
 .../torproject/metrics/stats/hidserv/Simulate.java | 14 ++--
 .../org/torproject/metrics/web/NewsServlet.java|  8 ++---
 .../torproject/metrics/web/RObjectGenerator.java   | 39 ++
 4 files changed, 23 insertions(+), 45 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java
index 004bcf8..2420485 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java
@@ -125,12 +125,7 @@ public class Aggregator {
  * element.  (The second array element contains the computed
  * network fraction as weight.) */
 Collections.sort(weightedValues,
-new Comparator() {
-  public int compare(double[] first, double[] second) {
-return Double.compare(first[0], second[0]);
-  }
-}
-);
+Comparator.comparingDouble(doubles -> doubles[0]));
 
 /* For the weighted mean, sum up all previously extrapolated
  * values weighted with their network fractions (which happens to
diff --git a/src/main/java/org/torproject/metrics/stats/hidserv/Simulate.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/Simulate.java
index a7bc1c3..2c525d7 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/Simulate.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/Simulate.java
@@ -172,12 +172,7 @@ public class Simulate {
   } while (totalReportingProbability < fraction - 0.001
   || totalReportingProbability > fraction + 0.001);
   Collections.sort(singleRelayExtrapolations,
-  new Comparator() {
-public int compare(double[] o1, double[] o2) {
-  return o1[0] < o2[0] ? -1 : o1[0] > o2[0] ? 1 : 0;
-}
-  }
-  );
+  Comparator.comparingDouble(o -> o[0]));
   double totalProbability = 0.0;
   double totalValues = 0.0;
   double totalInterquartileProbability = 0.0;
@@ -332,12 +327,7 @@ public class Simulate {
   } while (totalReportingProbability < fraction - 0.001
   || totalReportingProbability > fraction + 0.001);
   Collections.sort(singleRelayExtrapolations,
-  new Comparator() {
-public int compare(double[] first, double[] second) {
-  return Double.compare(first[0], second[0]);
-}
-  }
-  );
+  Comparator.comparingDouble(doubles -> doubles[0]));
   double totalProbability = 0.0;
   double totalValues = 0.0;
   double totalInterquartileProbability = 0.0;
diff --git a/src/main/java/org/torproject/metrics/web/NewsServlet.java 
b/src/main/java/org/torproject/metrics/web/NewsServlet.java
index a5775dd..fc4d39f 100644
--- a/src/main/java/org/torproject/metrics/web/NewsServlet.java
+++ b/src/main/java/org/torproject/metrics/web/NewsServlet.java
@@ -7,7 +7,6 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Locale;
@@ -37,11 +36,8 @@ public class NewsServlet extends AnyServlet {
 sortedNews.add(news);
   }
 }
-Collections.sort(sortedNews, new Comparator() {
-  public int compare(News o1, News o2) {
-return o1.getStart().compareTo(o2.getStart()) * -1;
-  }
-});
+Collections.sort(sortedNews,
+(o1, o2) -> o1.getStart().compareTo(o2.getStart()) * -1);
 this.sortedNews = sortedNews;
 SortedMap countries = new TreeMap<>();
 for (String[] country : Countries.getInstance().getCountryList()) {
diff --git a/src/main/java/org/torproject/metrics/web/RObjectGenerator.java 
b/src/main/java/org/torproject/metrics/web/RObjectGenerator.java
index 49e24ec..9943f17 100644
--- a/src/main/java/org/torproject/metrics/web/RObjectGenerator.java
+++ b/src/main/java/org/torproject/metrics/web/RObjectGenerator.java
@@ -76,30 +76,27 @@ public class RObjectGenerator implements 
ServletContextListener {
 servletContext.setAttribute("RObjectGenerator", this);
 
 /* Periodically generate R objects with default parameters. */
-new Thread() {
-  @Override
-  public void run() {
-long lastUpdated = 0L;
-long sleep;
-while (true) {
-  while ((sleep = maxCacheAge * 1000L / 2L + lastUpdated
-  - System.currentTimeMillis()) > 0L) {
-try {
-  Thread.sleep(sleep);
-} catch (InterruptedException e) {
-  /* Nothing we can handle. */
-}
+new Thread(() -> {
+  long 

[tor-commits] [metrics-web/release] Replace Collections.sort with List.sort.

2018-09-26 Thread karsten
commit bbb15696ebf2259ae15fc4d94af372559e1a2b09
Author: Karsten Loesing 
Date:   Mon Aug 20 15:26:34 2018 +0200

Replace Collections.sort with List.sort.
---
 src/main/java/org/torproject/metrics/stats/advbwdist/Main.java | 6 ++
 src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java | 4 +---
 src/main/java/org/torproject/metrics/stats/hidserv/Simulate.java   | 5 ++---
 src/main/java/org/torproject/metrics/web/MetricServlet.java| 4 +---
 src/main/java/org/torproject/metrics/web/NewsServlet.java  | 4 +---
 5 files changed, 7 insertions(+), 16 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/advbwdist/Main.java 
b/src/main/java/org/torproject/metrics/stats/advbwdist/Main.java
index 6565961..a16e7b0 100644
--- a/src/main/java/org/torproject/metrics/stats/advbwdist/Main.java
+++ b/src/main/java/org/torproject/metrics/stats/advbwdist/Main.java
@@ -95,10 +95,8 @@ public class Main {
   }
 
   /* Write advertised bandwidths of n-th fastest relays/exits. */
-  Collections.sort(advertisedBandwidthsAllRelays,
-  Collections.reverseOrder());
-  Collections.sort(advertisedBandwidthsExitsOnly,
-  Collections.reverseOrder());
+  advertisedBandwidthsAllRelays.sort(Collections.reverseOrder());
+  advertisedBandwidthsExitsOnly.sort(Collections.reverseOrder());
   int[] fastestRelays = new int[] { 1, 2, 3, 5, 10, 20, 30, 50, 100,
   200, 300, 500, 1000, 2000, 3000, 5000 };
   for (int fastestRelay : fastestRelays) {
diff --git a/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java
index 2420485..9ef3ee8 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java
@@ -8,7 +8,6 @@ import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -124,8 +123,7 @@ public class Aggregator {
 /* Sort extrapolated network totals contained in the first array
  * element.  (The second array element contains the computed
  * network fraction as weight.) */
-Collections.sort(weightedValues,
-Comparator.comparingDouble(doubles -> doubles[0]));
+weightedValues.sort(Comparator.comparingDouble(doubles -> doubles[0]));
 
 /* For the weighted mean, sum up all previously extrapolated
  * values weighted with their network fractions (which happens to
diff --git a/src/main/java/org/torproject/metrics/stats/hidserv/Simulate.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/Simulate.java
index 2c525d7..7acf1e8 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/Simulate.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/Simulate.java
@@ -171,8 +171,7 @@ public class Simulate {
 }
   } while (totalReportingProbability < fraction - 0.001
   || totalReportingProbability > fraction + 0.001);
-  Collections.sort(singleRelayExtrapolations,
-  Comparator.comparingDouble(o -> o[0]));
+  singleRelayExtrapolations.sort(Comparator.comparingDouble(o -> o[0]));
   double totalProbability = 0.0;
   double totalValues = 0.0;
   double totalInterquartileProbability = 0.0;
@@ -326,7 +325,7 @@ public class Simulate {
 }
   } while (totalReportingProbability < fraction - 0.001
   || totalReportingProbability > fraction + 0.001);
-  Collections.sort(singleRelayExtrapolations,
+  singleRelayExtrapolations.sort(
   Comparator.comparingDouble(doubles -> doubles[0]));
   double totalProbability = 0.0;
   double totalValues = 0.0;
diff --git a/src/main/java/org/torproject/metrics/web/MetricServlet.java 
b/src/main/java/org/torproject/metrics/web/MetricServlet.java
index b3de046..3b279a9 100644
--- a/src/main/java/org/torproject/metrics/web/MetricServlet.java
+++ b/src/main/java/org/torproject/metrics/web/MetricServlet.java
@@ -5,7 +5,6 @@ package org.torproject.metrics.web;
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -71,8 +70,7 @@ public abstract class MetricServlet extends AnyServlet {
   }
 }
 this.sortedEvents.addAll(ContentProvider.getInstance().getNewsList());
-Collections.sort(this.sortedEvents,
-(o1, o2) -> o2.getStart().compareTo(o1.getStart()));
+this.sortedEvents.sort((o1, o2) -> o2.getStart().compareTo(o1.getStart()));
   }
 }
 
diff --git a/src/main/java/org/torproject/metrics/web/NewsServlet.java 
b/src/main/java/org/torproject/metrics/web/NewsServlet.java
index fc4d39f..f47f189 100644
--- a/src/main/java/org/torproject/metrics/web/NewsServlet.java
+++ 

[tor-commits] [metrics-web/release] Use diamond operator.

2018-09-26 Thread karsten
commit 429c9e01a5425ad6f39432adcea97f85d8d30813
Author: Karsten Loesing 
Date:   Mon Aug 20 15:06:18 2018 +0200

Use diamond operator.
---
 src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java| 2 +-
 .../torproject/metrics/stats/hidserv/ComputedNetworkFractions.java| 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java 
b/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java
index 5cafb1b..004bcf8 100644
--- a/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java
+++ b/src/main/java/org/torproject/metrics/stats/hidserv/Aggregator.java
@@ -93,7 +93,7 @@ public class Aggregator {
   }
   if (extrapolated.getFractionDirOnionsSeen() > 0.0) {
 if (!extrapolatedOnions.containsKey(date)) {
-  extrapolatedOnions.put(date, new ArrayList());
+  extrapolatedOnions.put(date, new ArrayList<>());
 }
 extrapolatedOnions.get(date).add(new double[] {
 extrapolated.getExtrapolatedDirOnionsSeen(),
diff --git 
a/src/main/java/org/torproject/metrics/stats/hidserv/ComputedNetworkFractions.java
 
b/src/main/java/org/torproject/metrics/stats/hidserv/ComputedNetworkFractions.java
index 48f3679..64547cc 100644
--- 
a/src/main/java/org/torproject/metrics/stats/hidserv/ComputedNetworkFractions.java
+++ 
b/src/main/java/org/torproject/metrics/stats/hidserv/ComputedNetworkFractions.java
@@ -84,7 +84,7 @@ public class ComputedNetworkFractions implements Document {
   }
 
   private static Map previouslyFormattedDates =
-  Collections.synchronizedMap(new HashMap());
+  Collections.synchronizedMap(new HashMap<>());
 
   /** Returns a string representation of this object, consisting of two
* strings: the first string contains fingerprint and valid-after date,
@@ -117,7 +117,7 @@ public class ComputedNetworkFractions implements Document {
   }
 
   private static Map previouslyParsedDates =
-  Collections.synchronizedMap(new HashMap());
+  Collections.synchronizedMap(new HashMap<>());
 
   /** Instantiates an empty fractions object that will be initialized more
* by the parse method.



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update ExoneraTor translations.

2018-09-26 Thread karsten
commit 9f0cc38f82aacdfea3b7af16104082f7e09802e8
Author: Karsten Loesing 
Date:   Mon Aug 20 10:28:59 2018 +0200

Update ExoneraTor translations.
---
 .../web/properties/ExoneraTor_de.properties| 18 ++
 .../web/properties/ExoneraTor_fr.properties| 22 --
 .../web/properties/ExoneraTor_ro.properties| 14 --
 .../web/properties/ExoneraTor_sv.properties| 18 ++
 4 files changed, 40 insertions(+), 32 deletions(-)

diff --git a/src/main/resources/web/properties/ExoneraTor_de.properties 
b/src/main/resources/web/properties/ExoneraTor_de.properties
index d830e31..fbe8464 100644
--- a/src/main/resources/web/properties/ExoneraTor_de.properties
+++ b/src/main/resources/web/properties/ExoneraTor_de.properties
@@ -4,14 +4,14 @@ form.timestamp.label=Datum
 form.search.label=Suchen
 summary.heading=Zusammenfassung
 summary.serverproblem.dbnoconnect.title=Server-Problem
-summary.serverproblem.dbnoconnect.body.text=Es kann keine Verbindung zur 
Datenbank hergestellt werden. Bitte versuchen Sie es sp\u00e4ter noch einmal. 
Sollte dieses Problem weiterhin bestehen %s.
+summary.serverproblem.dbnoconnect.body.text=Es kann keine Verbindung zur 
Datenbank hergestellt werden. Bitte versuchen Sie es sp\u00e4ter noch einmal. 
Sollte dieses Problem weiterhin bestehen %s!
 summary.serverproblem.dbnoconnect.body.link=lassen Sie es uns bitte wissen
 summary.serverproblem.dbempty.title=Server-Problem
-summary.serverproblem.dbempty.body.text=Die Datenbank scheint leer zu sein. 
Bitte versuchen Sie es sp\u00e4ter noch einmal. Sollte dieses Problem weiterhin 
bestehen %s.
+summary.serverproblem.dbempty.body.text=Die Datenbank scheint leer zu sein. 
Bitte versuchen Sie es sp\u00e4ter noch einmal. Sollte dieses Problem weiterhin 
bestehen %s!
 summary.serverproblem.dbempty.body.link=lassen Sie es uns bitte wissen
 summary.invalidparams.notimestamp.title=Kein Datum angegeben
 summary.invalidparams.notimestamp.body=Sie m\u00fcssen ein Datum angeben.
-summary.invalidparams.noip.title=Keine IP-Adresse angegeben.
+summary.invalidparams.noip.title=Keine IP-Adresse angegeben
 summary.invalidparams.noip.body=Sie m\u00fcssen eine IP-Adresse angeben.
 summary.invalidparams.timestamprange.title=Datum au\u00dferhalb des 
zul\u00e4ssigen Bereichs
 summary.invalidparams.timestamprange.body=Die Datenbank enth\u00e4lt keine 
Daten vom %s. Bitte w\u00e4hlen Sie ein Datum zwischen %s und %s aus.
@@ -19,8 +19,10 @@ summary.invalidparams.invalidip.title=Ung\u00fcltige 
IP-Adresse
 summary.invalidparams.invalidip.body=%s ist keine g\u00fcltige IP-Adresse. 
Zul\u00e4ssige IP-Adress-Formate sind %s oder %s.
 summary.invalidparams.invalidtimestamp.title=Ung\u00fcltiges Datum
 summary.invalidparams.invalidtimestamp.body=%s ist kein g\u00fcltiges Datum. 
Das zul\u00e4ssige Datumsformat ist %s.
+summary.invalidparams.timestamptoorecent.title=Datumsparameter zu neu
+summary.invalidparams.timestamptoorecent.body=M\u00f6glicherweise enth\u00e4lt 
die Datenbank noch nicht gen\u00fcgend Daten, um diese Anfrage korrekt zu 
beantworten. Das letzte g\u00fcltige Datum ist vorgestern. Bitte wiederholen 
Sie Ihre Suche an einem anderen Tag.
 summary.serverproblem.nodata.title=Server-Problem
-summary.serverproblem.nodata.body.text=Die Datenbank enth\u00e4lt keine Daten 
f\u00fcr das angegebene Datum. Bitte versuchen Sie es sp\u00e4ter noch einmal. 
Sollte dieses Problem weiterhin bestehen %s.
+summary.serverproblem.nodata.body.text=Die Datenbank enth\u00e4lt keine Daten 
f\u00fcr das angegebene Datum. Bitte versuchen Sie es sp\u00e4ter noch einmal. 
Sollte dieses Problem weiterhin bestehen %s!
 summary.serverproblem.nodata.body.link=lassen Sie es uns bitte wissen
 summary.negativesamenetwork.title=Keine \u00dcbereinstimmungen gefunden
 summary.negativesamenetwork.body=Es wurde kein Tor-Server mit der IP-Adresse 
%s am %s bzw. am Tag vorher oder nachher gefunden. Es wurden jedoch benachbarte 
IP-Adressen im selben /%d-Netzwerk an diesen Tagen gefunden:
@@ -41,12 +43,12 @@ technicaldetails.exit.yes=Ja
 technicaldetails.exit.no=Nein
 permanentlink.heading=Dauerhafter Link
 footer.abouttor.heading=\u00dcber Tor
-footer.abouttor.body.text=Tor ist ein internationales Softwareprojekt, um 
Internetverbindungen zu anonymisieren indem %s. Wenn Sie eine 
Internetverbindung sehen, die von einem Tor-Server kommt, stammt diese in der 
Regel von jemandem, der Tor benutzt, und nicht vom Betreiber des Tor-Servers 
selbst. Weder The Tor Project, Inc. noch die Tor-Server-Betreiber besitzen 
Aufzeichnungen \u00fcber die Internetverbindungen im Tor-Netzwerk und 
k\u00f6nnen daher keine Auskunft \u00fcber den Ursprung der Internetverbindung 
geben. Mehr Informationen \u00fcber Tor erhalten Sie %s. The Tor Project, Inc. 
steht Ihnen jederzeit f\u00fcr %s zur Verf\u00fcgung.
-footer.abouttor.body.link1=Datenpakete verschl\u00fcsselt und \u00fcber eine 
Reihe von Stationen geleitet werden, bevor diese ihr 

[tor-commits] [metrics-web/release] Mention that a DNSSEC validating resolver is used

2018-09-26 Thread karsten
commit 67201b9dd4e74950f980eed9d0fa98d3710b011d
Author: Iain R. Learmonth 
Date:   Wed Aug 8 14:19:13 2018 +0100

Mention that a DNSSEC validating resolver is used

Fixes: #26901
---
 src/main/resources/web/jsps/onionoo.jsp | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/web/jsps/onionoo.jsp 
b/src/main/resources/web/jsps/onionoo.jsp
index 7c78c7c..b6c7313 100644
--- a/src/main/resources/web/jsps/onionoo.jsp
+++ b/src/main/resources/web/jsps/onionoo.jsp
@@ -1406,7 +1406,10 @@ address changes.
 Omitted if the relay IP address was not looked up, if no lookup request
 was successful yet, or if no A records were found matching the PTR records
 (i.e. it was not possible to verify the value of any of the PTR records).
-Added on July 16, 2018.
+A DNSSEC validating resolver is used for these lookups. Failure to validate
+DNSSEC signatures will prevent those names from appearing in this field.
+Added on July 16, 2018. Updated to clarify that
+a DNSSEC validating resolver is used on August 17, 2018.
 
 
 
@@ -1424,7 +1427,10 @@ address changes.
 Omitted if the relay IP address was not looked up, if no lookup request
 was successful yet, or if A records were found matching all PTR records
 (i.e. it was possible to verify the value of each of the PTR records).
-Added on July 16, 2018.
+A DNSSEC validating resolver is used for these lookups. Failure to validate
+DNSSEC signatures will prevent those names from appearing in this field.
+Added on July 16, 2018. Updated to clarify that
+a DNSSEC validating resolver is used on August 17, 2018.
 
 
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Pass metadata through for top relays

2018-09-26 Thread karsten
commit 391cbf5aefb323445108ab71db3862f58c23b45e
Author: Iain R. Learmonth 
Date:   Wed Aug 8 14:14:19 2018 +0100

Pass metadata through for top relays

Fixes: #27077
---
 src/main/resources/web/js/rs/router.js | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/main/resources/web/js/rs/router.js 
b/src/main/resources/web/js/rs/router.js
index c67c4a1..213b01a 100644
--- a/src/main/resources/web/js/rs/router.js
+++ b/src/main/resources/web/js/rs/router.js
@@ -225,7 +225,12 @@ define([
 
 doSearchView.collection.url = 
"https://onionoo.torproject.org/details?type=relay=-consensus_weight=250=true;;
 doSearchView.collection.lookup({
-success: function(err){
+success: function(err, onionooVersion, buildRevision,
+  relaysPublished, bridgesPublished){
+doSearchView.onionooVersion = onionooVersion;
+doSearchView.buildRevision = buildRevision;
+doSearchView.relaysPublished = relaysPublished;
+doSearchView.bridgesPublished = bridgesPublished;
 doSearchView.relays = doSearchView.collection.models;
 doSearchView.error = err;
 doSearchView.render("");



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Fixes loading JSON for aggregated map plotting

2018-09-26 Thread karsten
commit 629a828e5296a999270edcecd8e8b2d7f0c81051
Author: Iain R. Learmonth 
Date:   Tue Aug 7 14:57:01 2018 +0100

Fixes loading JSON for aggregated map plotting
---
 build.xml   | 2 +-
 src/main/resources/web/js/rs/views/aggregate/map.js | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/build.xml b/build.xml
index 77ab672..2f06209 100644
--- a/build.xml
+++ b/build.xml
@@ -182,7 +182,7 @@
   includes="logback.xml" />
   
+  includes="css/* images/** js/** fonts/** templates/** 
json/countries.topo.json" />
   
diff --git a/src/main/resources/web/js/rs/views/aggregate/map.js 
b/src/main/resources/web/js/rs/views/aggregate/map.js
index c77ec10..fe69bc0 100644
--- a/src/main/resources/web/js/rs/views/aggregate/map.js
+++ b/src/main/resources/web/js/rs/views/aggregate/map.js
@@ -121,7 +121,7 @@ define([
 return text;
   }
 
-  d3.json("/rs/json/countries.topo.json", function(error, us) {
+  d3.json("/json/countries.topo.json", function(error, us) {
   g.append("g")
 .attr("id", "countries")
 .style("fill","#fff")



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Adds the experimental and outdated flags

2018-09-26 Thread karsten
commit a1c82166a89391d0a2a5dbfc22e777243c08cd31
Author: Iain R. Learmonth 
Date:   Tue Aug 7 17:45:21 2018 +0100

Adds the experimental and outdated flags

Fixes: #26667
---
 src/main/resources/web/images/flags/experimental.png | Bin 0 -> 346 bytes
 src/main/resources/web/images/flags/outdated.png | Bin 0 -> 304 bytes
 src/main/resources/web/js/rs/models/relay.js |  13 +
 3 files changed, 13 insertions(+)

diff --git a/src/main/resources/web/images/flags/experimental.png 
b/src/main/resources/web/images/flags/experimental.png
new file mode 100644
index 000..cc21254
Binary files /dev/null and 
b/src/main/resources/web/images/flags/experimental.png differ
diff --git a/src/main/resources/web/images/flags/outdated.png 
b/src/main/resources/web/images/flags/outdated.png
new file mode 100644
index 000..8509108
Binary files /dev/null and b/src/main/resources/web/images/flags/outdated.png 
differ
diff --git a/src/main/resources/web/js/rs/models/relay.js 
b/src/main/resources/web/js/rs/models/relay.js
index cdbe3a3..b5a6b8e 100644
--- a/src/main/resources/web/js/rs/models/relay.js
+++ b/src/main/resources/web/js/rs/models/relay.js
@@ -62,6 +62,12 @@ define([
 if (flag == "Not Recommended") {
 output.push([flag,"notrecommended", "This relay is running 
a Tor version that is not recommended by the directory authorities and may 
contain known issues. This includes both obsolete and experimental versions."]);
 }
+if (flag == "Outdated") {
+output.push([flag,"outdated", "This relay is running a Tor 
version that is considered obsolete. If this is your relay then you should 
upgrade at the earliest opportunity."]);
+}
+if (flag == "Experimental") {
+output.push([flag,"experimental", "This relay is running a 
Tor version that is considered experimental. Please report any bugs found. If 
this is not intentional, you may consider switching to the most recent release 
instead."]);
+}
 if (flag == "Unmeasured") {
 output.push([flag,"unmeasured", "This relay has not been 
measured by at least 3 bandwidth authorities and so its consensus weight is 
currently capped. This is expected for new relays."]);
 }
@@ -236,10 +242,17 @@ define([
 relay.flags = model.parseflags(relay.flags, 
relay.is_bridge);
 
 relay.version_consistent = relay.version == 
relay.platform.split(" ")[1];
+if (relay.version_consistent) {
+relay.version_status = relay.version_status ? 
relay.version_status : "recommended";
+} else {
+relay.version_status = "recommended";
+}
 
 /* Synthetic Additional Flags */
 var additional_flags = []
 if (!((typeof relay.recommended_version !== 'undefined') ? 
relay.recommended_version : true) && relay.version_consistent) 
additional_flags.push("Not Recommended");
+if (relay.version_status === 'obsolete') 
additional_flags.push("Obsolete");
+if (relay.version_status === 'experimental') 
additional_flags.push("Experimental");
 if (!((typeof relay.measured !== 'undefined') ? 
relay.measured : true)) additional_flags.push("Unmeasured");
 if (((typeof relay.hibernating !== 'undefined') ? 
relay.hibernating : false)) additional_flags.push("Hibernating");
 if (IsFallbackDir(relay.fingerprint)) 
additional_flags.push("FallbackDir");



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Remove stray console.log

2018-09-26 Thread karsten
commit 07520b1c3e07e0968162134d6297442acd034513
Author: Iain R. Learmonth 
Date:   Tue Aug 7 12:20:31 2018 +0100

Remove stray console.log
---
 src/main/resources/web/js/rs/views/search/do.js | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/main/resources/web/js/rs/views/search/do.js 
b/src/main/resources/web/js/rs/views/search/do.js
index 5383580..53c80e6 100644
--- a/src/main/resources/web/js/rs/views/search/do.js
+++ b/src/main/resources/web/js/rs/views/search/do.js
@@ -52,7 +52,6 @@ define([
   $(".tip").tooltip({'html':true});
 },
 "footerCallback": function( tfoot, data, start, end, display ) {
-  console.log(relays);
   var sumAdvertisedBandwidths = 0;
   for (var i = 0; i < relays.length; i++) {
 sumAdvertisedBandwidths += relays[i].get("advertised_bandwidth");



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update news.json to version 284 of doc/MetricsTimeline.

2018-09-26 Thread karsten
commit 33921ae7e07ad5ac34e4a7ba40b626f3eddcc6a2
Author: Karsten Loesing 
Date:   Tue Aug 7 14:37:48 2018 +0200

Update news.json to version 284 of doc/MetricsTimeline.
---
 src/main/resources/web/json/news.json | 25 +
 1 file changed, 25 insertions(+)

diff --git a/src/main/resources/web/json/news.json 
b/src/main/resources/web/json/news.json
index f0440a6..03d7f6a 100644
--- a/src/main/resources/web/json/news.json
+++ b/src/main/resources/web/json/news.json
@@ -3291,6 +3291,31 @@
 "target" : 
"https://metrics.torproject.org/userstats-bridge-country.html?start=2018-06-01=2018-09-01=all;
   } ]
 }, {
+  "start" : "2018-07-29",
+  "ongoing" : true,
+  "places" : [ "bd" ],
+  "short_description" : "Protests over road safety in Dhaka, Bangladesh",
+  "description" : "Protests over road safety in Dhaka, Bangladesh. Reports of 
mobile network throttling and blocking of Facebook.",
+  "links" : [ {
+"label" : "New York Times article",
+"target" : 
"https://www.nytimes.com/2018/08/05/world/asia/bangladesh-students-protests.html;
+  }, {
+"label" : "Daily Star article on throttling",
+"target" : 
"https://www.thedailystar.net/country/bangladesh-mobile-internet-speed-brought-down-across-for-24hrs-1615909;
+  } ]
+}, {
+  "start" : "2018-08-04",
+  "end" : "2018-08-05",
+  "short_description" : "Collector was missing consensuses",
+  "description" : "Collector was missing consensuses. They were recovered via 
recent relay consensus diffs.",
+  "links" : [ {
+"label" : "metrics-team thread",
+"target" : 
"https://lists.torproject.org/pipermail/metrics-team/2018-August/000869.html;
+  }, {
+"label" : "tor-relays thread",
+"target" : 
"https://lists.torproject.org/pipermail/tor-relays/2018-August/015850.html;
+  } ]
+}, {
   "start" : "2016-02-24",
   "places" : [ "tm" ],
   "protocols" : [ "" ],



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Document Onionoo versions 6.2 and 7.0.

2018-09-26 Thread karsten
commit 5618a8ff342f06a00ab2282b7e823993f099ad11
Author: Karsten Loesing 
Date:   Thu Aug 2 22:26:48 2018 +0200

Document Onionoo versions 6.2 and 7.0.
---
 src/main/resources/web/jsps/onionoo.jsp | 93 -
 1 file changed, 81 insertions(+), 12 deletions(-)

diff --git a/src/main/resources/web/jsps/onionoo.jsp 
b/src/main/resources/web/jsps/onionoo.jsp
index 84bc87c..7c78c7c 100644
--- a/src/main/resources/web/jsps/onionoo.jsp
+++ b/src/main/resources/web/jsps/onionoo.jsp
@@ -316,6 +316,19 @@ documents in favor of the new "verified_host_names" and
 "unverified_host_names" fields for more accurate DNS results on July
 16, 2018.
 #
+6.2:
+Added an "as" field to details document, deprecated the "as_number" field, 
added
+an "as_name" parameter to search for relays by AS name, and added support for
+comma-separated lists in the "as" and the "lookup" parameters on August 3, 
2018.
+#
+7.0:
+(scheduled, but not deployed yet!): Extend the "version" parameter to support
+lists and ranges, remove redundant "1_week" and "1_month" graphs from clients
+documents, change "3_months" graphs to "6_months" graphs in all documents
+containing history objects, remove the "fingerprint" parameter, and remove the
+previously deprecated "as_number" field from details documents, to be deployed
+after September 3, 2018.
+#
 
 
 
@@ -472,7 +485,7 @@ Lookups are case-insensitive.
 
 
 
-fingerprint
+fingerprint deprecated
 #
 
 Return only the relay with the parameter value matching the fingerprint
@@ -484,6 +497,7 @@ with two exceptions:
 not be hashed (again) using SHA-1;
 (2) the response will contain any matching relay or bridge regardless of
 whether they have been running in the past week.
+Scheduled to be removed after September 3, 2018.
 
 
 
@@ -507,12 +521,32 @@ the GeoIP database.
 as updated
 #
 
-Return only relays which are located in the given autonomous system (AS) as
-identified by the AS number (with or without preceding "AS" part).  Filtering
-by AS number is case-insensitive. The special AS number 0 can be used
-for relays that were not found in the GeoIP database.
+Return only relays which are located in either one of the given autonomous
+systems (AS) as identified by AS number (with or without preceding "AS" part).
+Multiple AS numbers can be provided separated by commas.
+Filtering by AS number is case-insensitive.
+The special AS number 0 can be used for relays that were not found in
+the GeoIP database.
 Updated to recognize special AS number 0
-on July 16, 2018.
+on July 16, 2018 and to support comma-separated lists of AS numbers on August 
3,
+2018.
+
+
+
+
+
+as_name new
+#
+
+Return only relays with the parameter value matching (part of) the autonomous
+system (AS) name they are located in.
+If the parameter value contains spaces, only relays are returned which
+contain all space-separated parts in their AS name.
+Only printable ASCII characters are permitted in the parameter value,
+some of which need to be percent-encoded (# as %23, % as %25,  as
+%26, + as %2B, and / as %2F).
+Comparisons are case-insensitive.
+Added on August 3, 2018.
 
 
 
@@ -596,12 +630,22 @@ a family.
 
 
 
-version
+version updated
 #
 
 Return only relays or bridges running a Tor version that starts with the
 parameter value without leading "Tor".
 Searches are case-insensitive.
+Scheduled to support lists and ranges after September 3,
+2018:
+Return only relays or bridges running either Tor version from a list or range
+given in the parameter value.
+Tor versions must be provided without the leading "Tor"
+part.
+Multiple versions can either be provided as a comma-separated list (","), as a
+range separated by two dots (".."), or as a list of ranges.
+Provided versions are parsed and matched by parsed dotted numbers, rather than
+by string prefix.
 
 
 
@@ -1271,8 +1315,24 @@ database.
 
 
 
+
+as new
+string
+optional
+#
+
+AS number as found in an AS database by
+resolving the relay's first onion-routing IP address.
+AS number strings start with "AS", followed directly by the AS number.
+Omitted if the relay IP address could not be found in the AS
+database.
+Added on August 3, 2018.
+
+
+
+
 
-as_number
+as_number deprecated
 string
 optional
 #
@@ -1282,6 +1342,7 @@ resolving the relay's first onion-routing IP address.
 AS number strings start with "AS", followed directly by the AS number.
 Omitted if the relay IP address could not be found in the AS
 database.
+Scheduled to be removed after September 3, 2018.
 
 
 
@@ -2088,7 +2149,7 @@ hexadecimal characters.
 
 
 
-write_history
+write_history updated
 object
 optional
 #
@@ -2112,6 +2173,8 @@ The unit is bytes per second.
 Contained graph history objects may contain null values if the relay did
 not provide any bandwidth data or only data for less than 20% of a given
 time period.
+Scheduled to no longer contain a "3_months" graph and 
instead
+a "6_months" graph after September 3, 2018.
 
 
 
@@ -,7 +2285,7 @@ hexadecimal 

[tor-commits] [metrics-web/release] Update news.json to version 280 of doc/MetricsTimeline.

2018-09-26 Thread karsten
commit c051138310e672b7ef2986a507f94c5421e3d2cb
Author: Karsten Loesing 
Date:   Mon Jul 23 12:12:27 2018 +0200

Update news.json to version 280 of doc/MetricsTimeline.
---
 src/main/resources/web/json/news.json | 21 ++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/main/resources/web/json/news.json 
b/src/main/resources/web/json/news.json
index e8c5c30..ea6e5a9 100644
--- a/src/main/resources/web/json/news.json
+++ b/src/main/resources/web/json/news.json
@@ -3102,6 +3102,18 @@
 "target" : "https://www.accessnow.org/venezuela-blocks-tor/;
   } ]
 }, {
+  "start" : "2018-06-27",
+  "protocols" : [ "meek" ],
+  "short_description" : "Release of Tor Browser 8.0a9 with non-working meek.",
+  "description" : "Release of Tor Browser 8.0a9 with non-working meek.",
+  "links" : [ {
+"label" : "blog post",
+"target" : "https://blog.torproject.org/new-release-tor-browser-80a9;
+  }, {
+"label" : "ticket",
+"target" : "https://bugs.torproject.org/26477;
+  } ]
+}, {
   "start" : "2018-07-01",
   "ongoing" : true,
   "places" : [ "ug" ],
@@ -3133,14 +3145,17 @@
 }, {
   "start" : "2018-07-14",
   "protocols" : [ "bridge" ],
-  "short_description" : "Release of Tor 0.3.3.9, switches bridge authority 
Bifroest to Serge.",
-  "description" : "Release of Tor 0.3.3.9, switches bridge authority Bifroest 
to https://metrics.torproject.org/rs.html#details/BA44A889E64B93FAA2B114E02C2A279A8555C533\;>Serge.",
+  "short_description" : "Release of Tor 0.2.9.16, 0.3.2.11, 0.3.3.9, and 
0.3.4.5-rc",
+  "description" : "Release of Tor 0.2.9.16, 0.3.2.11, 0.3.3.9, and 0.3.4.5-rc. 
Switches bridge authority from Bifroest to https://metrics.torproject.org/rs.html#details/BA44A889E64B93FAA2B114E02C2A279A8555C533\;>Serge.",
   "links" : [ {
 "label" : "announcement",
-"target" : 
"https://lists.torproject.org/pipermail/tor-announce/2018-July/000162.html;
+"target" : 
"https://lists.torproject.org/pipermail/tor-relays/2018-July/015681.html;
   }, {
 "label" : "ticket",
 "target" : "https://bugs.torproject.org/26771;
+  }, {
+"label" : "blog post",
+"target" : 
"https://blog.torproject.org/new-release-tor-0339-bridge-authority-update;
   } ]
 }, {
   "start" : "2018-07-15",



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update news.json to version 283 of doc/MetricsTimeline.

2018-09-26 Thread karsten
commit de445982e280103ffacc5f89f048f4106405e435
Author: Karsten Loesing 
Date:   Tue Jul 31 13:32:39 2018 +0200

Update news.json to version 283 of doc/MetricsTimeline.
---
 src/main/resources/web/json/news.json | 105 --
 1 file changed, 99 insertions(+), 6 deletions(-)

diff --git a/src/main/resources/web/json/news.json 
b/src/main/resources/web/json/news.json
index ac2acfc..f0440a6 100644
--- a/src/main/resources/web/json/news.json
+++ b/src/main/resources/web/json/news.json
@@ -935,6 +935,11 @@
   } ]
 }, {
   "start" : "2014-09-29",
+  "protocols" : [ "meek" ],
+  "short_description" : "Changed the bridge backing meek-amazon.",
+  "description" : "Changed the bridge backing meek-amazon."
+}, {
+  "start" : "2014-09-29",
   "places" : [ "cn" ],
   "short_description" : "China blocks Instagram in response to ongoing 
protests in Hong Kong",
   "description" : "China blocks Instagram in response to ongoing protests in 
Hong Kong. A research paper by Hobbs and Roberts shows evidence for an increase 
in circumvention, but the measurable effect on Tor is slight if anything.",
@@ -952,11 +957,6 @@
 "target" : 
"http://www.margaretroberts.net/wp-content/uploads/2016/08/selfiecensorship.pdf;
   } ]
 }, {
-  "start" : "2014-09-29",
-  "protocols" : [ "meek" ],
-  "short_description" : "Changed the bridge backing meek-amazon.",
-  "description" : "Changed the bridge backing meek-amazon."
-}, {
   "start" : "2014-10-14",
   "protocols" : [ "meek" ],
   "short_description" : "Enabled PublishServerDescriptor on the meek-amazon 
bridge",
@@ -2896,6 +2896,15 @@
 "target" : 
"https://www.reuters.com/article/us-sri-lanka-clashes-socialmedia/sri-lanka-lifts-ban-on-facebook-imposed-after-spasm-of-communal-violence-idUSKCN1GR31R;
   } ]
 }, {
+  "start" : "2018-03-12",
+  "protocols" : [ "ipv4", "ipv6" ],
+  "short_description" : "geoip and geoip6 databases updated to \"March 8 2018 
Maxmind GeoLite2 Country\"",
+  "description" : "geoip and geoip6 databases updated to \"March 8 2018 
Maxmind GeoLite2 Country\" (geoip-db-digest 
0FD75C42A32E82100361BD367CB13862806E6A13, geoip6-db-digest 
5AFA101C4A6AD4289CEE4575943D6BA851606245).",
+  "links" : [ {
+"label" : "commit",
+"target" : 
"https://gitweb.torproject.org/tor.git/commit/?id=3418a3a7f0199c0573213dfa586315ff2329f667;
+  } ]
+}, {
   "start" : "2018-03-14",
   "protocols" : [ "snowflake" ],
   "short_description" : "Deployed an attempt to fix frequent crashes of the 
fallback snowflake proxies.",
@@ -3002,6 +3011,15 @@
 "target" : "https://bugs.torproject.org/25688#comment:1;
   } ]
 }, {
+  "start" : "2018-04-05",
+  "protocols" : [ "ipv4", "ipv6" ],
+  "short_description" : "geoip and geoip6 databases updated to \"April 3 2018 
Maxmind GeoLite2 Country\"",
+  "description" : "geoip and geoip6 databases updated to \"April 3 2018 
Maxmind GeoLite2 Country\" (geoip-db-digest 
8A53650327E8D30E971DC90F564BA9BD1A513F19, geoip6-db-digest 
698852511F6BC27DFFC115805044C71FDCCF70AF).",
+  "links" : [ {
+"label" : "commit",
+"target" : 
"https://gitweb.torproject.org/tor.git/commit/?id=1fa396b0a49448103ad16cb411163e6f5d741cc0;
+  } ]
+}, {
   "start" : "2018-04-13",
   "protocols" : [ "snowflake" ],
   "short_description" : "Snowflake client registrations",
@@ -3099,6 +3117,15 @@
 "target" : "https://bugs.torproject.org/26111;
   } ]
 }, {
+  "start" : "2018-05-15",
+  "protocols" : [ "ipv4", "ipv6" ],
+  "short_description" : "geoip and geoip6 databases updated to \"May 1 2018 
Maxmind GeoLite2 Country\"",
+  "description" : "geoip and geoip6 databases updated to \"May 1 2018 Maxmind 
GeoLite2 Country\" (geoip-db-digest 
765D2F123DDA7DAEA9C9263975E2B4BAFBD2B908, geoip6-db-digest 
2AA568CC898BF9924FBACEA26946AA7ED10E7D87).",
+  "links" : [ {
+"label" : "commit",
+"target" : 
"https://gitweb.torproject.org/tor.git/commit/?id=033e4723f3651062779ff64a619ec526950857f5;
+  } ]
+}, {
   "start" : "2018-06-09",
   "protocols" : [ "meek" ],
   "short_description" : "Release of Tor Browser 7.5.5, removes meek-amazon 
option.",
@@ -3117,6 +3144,15 @@
 "target" : "https://blog.torproject.org/tor-browser-80a8-released;
   } ]
 }, {
+  "start" : "2018-06-11",
+  "protocols" : [ "ipv4", "ipv6" ],
+  "short_description" : "geoip and geoip6 databases updated to \"June 7 2018 
Maxmind GeoLite2 Country\"",
+  "description" : "geoip and geoip6 databases updated to \"June 7 2018 Maxmind 
GeoLite2 Country\" (geoip-db-digest 
93112125248AD2C11A2531B934FD4AC03999738D, geoip6-db-digest 
BFD2B453F2D9DC875B7B0C464A185E6C3202534F).",
+  "links" : [ {
+"label" : "commit",
+"target" : 
"https://gitweb.torproject.org/tor.git/commit/?id=ae540569ce25041db6e78119b2879a127906fbd5;
+  } ]
+}, {
   "start" : "2018-06-20",
   "ongoing" : true,
   "places" : [ "ve" ],
@@ -3174,10 +3210,52 @@
 "target" : "https://bugs.torproject.org/26661;
   } ]
 }, {
+  "start" : "2018-07-06",
+  "protocols" : [ "ipv4", "ipv6" ],
+  

[tor-commits] [metrics-web/release] Add reproducible-metrics page.

2018-09-26 Thread karsten
commit 9957b04b768176be58380d6d688023007dcd8696
Author: Karsten Loesing 
Date:   Fri Mar 30 16:16:48 2018 +0200

Add reproducible-metrics page.

Implements the first part of #26857.
---
 .../metrics/web/ReproducibleMetricsServlet.java|  30 +
 src/main/resources/web.xml |  11 +
 .../resources/web/jsps/reproducible-metrics.jsp| 906 +
 3 files changed, 947 insertions(+)

diff --git 
a/src/main/java/org/torproject/metrics/web/ReproducibleMetricsServlet.java 
b/src/main/java/org/torproject/metrics/web/ReproducibleMetricsServlet.java
new file mode 100644
index 000..3299cd2
--- /dev/null
+++ b/src/main/java/org/torproject/metrics/web/ReproducibleMetricsServlet.java
@@ -0,0 +1,30 @@
+/* Copyright 2018 The Tor Project
+ * See LICENSE for licensing information */
+
+package org.torproject.metrics.web;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class ReproducibleMetricsServlet extends AnyServlet {
+
+  private static final long serialVersionUID = 6099009779662419291L;
+
+  @Override
+  public void init() throws ServletException {
+super.init();
+  }
+
+  @Override
+  public void doGet(HttpServletRequest request,
+  HttpServletResponse response) throws IOException, ServletException {
+
+request.setAttribute("categories", this.categories);
+request.getRequestDispatcher("WEB-INF/reproducible-metrics.jsp")
+.forward(request, response);
+  }
+}
+
diff --git a/src/main/resources/web.xml b/src/main/resources/web.xml
index 1fe51b9..154a64e 100644
--- a/src/main/resources/web.xml
+++ b/src/main/resources/web.xml
@@ -273,6 +273,17 @@
   
 
   
+ReproducibleMetricsServlet
+
+  org.torproject.metrics.web.ReproducibleMetricsServlet
+
+  
+  
+ReproducibleMetricsServlet
+/reproducible-metrics.html
+  
+
+  
 OperationServlet
 
   org.torproject.metrics.web.OperationServlet
diff --git a/src/main/resources/web/jsps/reproducible-metrics.jsp 
b/src/main/resources/web/jsps/reproducible-metrics.jsp
new file mode 100644
index 000..f1b97f6
--- /dev/null
+++ b/src/main/resources/web/jsps/reproducible-metrics.jsp
@@ -0,0 +1,906 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core; %>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions; %>
+
+  
+  
+
+
+
+
+Home
+Sources
+Reproducible Metrics
+
+
+
+
+
+
+
+Work in progress notice
+
+
+As of July 2018, this page is still a work in progress. Handle with 
care!
+
+
+
+Reproducible Metrics
+#
+
+The graphs and tables on Tor Metrics are the result of aggregating data 
obtained from several points in the Tor network.
+Some of these aggregations are straightforward, but some are not.
+
+We want to make the graphs and tables on this site easier to access and 
reproduce, so on this page, we specify how you can reproduce the data behind 
them to create your own.
+We also provide background for some of the design decisions behind our 
aggregations and link to https://research.torproject.org/techreports.html;>technical reports 
and other additional information.
+
+This page is a living document that reflects the latest changes to graphs 
and tables on Tor Metrics.
+Whenever we create new aggregations or visualizations, we may write down our 
thoughts in technical reports; but, if we later expand or change a statistic, 
we don't update the original technical reports.
+Instead, we update the specification here.
+
+While we may refer to technical reports for additional details, we do not 
assume their knowledge in order to make sense of the specifications here.
+Knowledge of our source code is not needed, either.
+
+
+
+
+
+Users #
+
+The number of Tor users is one of our most important statistics. It is 
vital for us to know how many people use the Tor network on a daily basis, 
whether they connect via relays or bridges, from which countries they connect, 
what transports they use, and 
whether they connect via IPv4 or IPv6.
+
+Due to the nature of Tor being an anonymity network, we cannot collect 
identifying data to learn the number of users. That is why we actually don't 
count users, but we count requests to the directories or bridges that clients clients make periodically to update 
their list of relays and estimate user numbers indirectly from there.
+
+The result is an average number of concurrent users, estimated from data 
collected over a day.
+We can't say how many distinct users there are.
+That is, we can't say whether the same set of users stays connected over the 
whole day, or whether that set leaves after a few hours and a new set of users 
arrives.
+However, the main interest is finding out if usage changes, for which it is 
not critical to estimate exact absolute user numbers.
+
+
+
+
+
+
+Relay users
+#
+
+
+Relay users are users that connect directly to a relay in order to connect 
to the 

[tor-commits] [metrics-web/release] Make relays clickable when aggregating by version

2018-09-26 Thread karsten
commit 8bfe5b9697b5d6d45a2c6f6eb35aba81459586eb
Author: Iain R. Learmonth 
Date:   Tue Jul 10 22:46:41 2018 +0100

Make relays clickable when aggregating by version

Fixes: #25238
---
 src/main/resources/web/templates/rs/aggregate/search.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/resources/web/templates/rs/aggregate/search.html 
b/src/main/resources/web/templates/rs/aggregate/search.html
index 19e45e7..ea52d0f 100644
--- a/src/main/resources/web/templates/rs/aggregate/search.html
+++ b/src/main/resources/web/templates/rs/aggregate/search.html
@@ -111,7 +111,7 @@
 <%= 
(aggregate.middle_probability * 100).toFixed(4) %>%
 <%= 
(aggregate.exit_probability * 100).toFixed(4) %>%
 
-  <% if ((typeof aggregate.as) == "string" || (typeof aggregate.country) 
== "string") { %>
+  <% if ((typeof aggregate.as) == "string" || (typeof aggregate.country) 
== "string" || (typeof aggregate.version) == "string") { %>
 as:<%= aggregate.as %> <% } if ((typeof 
aggregate.country) == "string" && query.indexOf("country:") == -1) { 
%>country:<%= aggregate.country  %> <% } %><%= (query) ? query + " " : "" %><%= 
(aggregate.version) ? "version:" + aggregate.version + " " : "" %>"><%= 
aggregate.relays %>
   <% } else { %>
 <%= aggregate.relays %>



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Adds summary row to simple and aggregated search

2018-09-26 Thread karsten
commit cda3abd6fb91f4739d0ef8f350ba701bbc1782f5
Author: Iain R. Learmonth 
Date:   Tue Jul 10 22:33:01 2018 +0100

Adds summary row to simple and aggregated search

For the simple search, only the advertised bandwidth row is really
aggregatable. For aggregated search, all columns except version, country
and autonomous system are aggregated. All aggregations are just sums.

Fixes: #25050
---
 .../resources/web/js/rs/views/aggregate/search.js  | 33 --
 src/main/resources/web/js/rs/views/search/do.js| 13 +++--
 .../web/templates/rs/aggregate/search.html | 13 +
 src/main/resources/web/templates/rs/search/do.html | 16 +++
 4 files changed, 71 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/web/js/rs/views/aggregate/search.js 
b/src/main/resources/web/js/rs/views/aggregate/search.js
index 5cb8c82..3c656fc 100644
--- a/src/main/resources/web/js/rs/views/aggregate/search.js
+++ b/src/main/resources/web/js/rs/views/aggregate/search.js
@@ -18,9 +18,10 @@ define([
 },
 render: function(query){
   document.title = "Relay Search";
-  var compiledTemplate = _.template(aggregateSearchTemplate)
+  var compiledTemplate = _.template(aggregateSearchTemplate);
+  var aggregates = this.collection.models;
   this.$el.html(compiledTemplate({query: query,
- aggregates: this.collection.models,
+ aggregates: aggregates,
  aType: this.collection.aType,
  countries: CountryCodes,
  error: this.error,
@@ -34,6 +35,34 @@ define([
 "aaSorting": [[(this.collection.aType == "version") ? 3 : 2, "desc"]],
 "fnDrawCallback": function( oSettings ) {
   $(".tip").tooltip({'html': true});
+},
+"footerCallback": function( tfoot, data, start, end, display ) {
+  var sumConsensusWeight = 0;
+  var sumAdvertisedBandwidths = 0;
+  var sumGuardProbability = 0;
+  var sumMiddleProbability = 0;
+  var sumExitProbability = 0;
+  var sumRelays = 0;
+  var sumGuards = 0;
+  var sumExits = 0;
+  for (var i = 0; i < aggregates.length; i++) {
+sumConsensusWeight += aggregates[i]["consensus_weight_fraction"];
+sumAdvertisedBandwidths += aggregates[i]["advertised_bandwidth"];
+sumGuardProbability += aggregates[i]["guard_probability"];
+sumMiddleProbability += aggregates[i]["middle_probability"];
+sumExitProbability += aggregates[i]["exit_probability"];
+sumRelays += aggregates[i]["relays"];
+sumGuards += aggregates[i]["guards"];
+sumExits += aggregates[i]["exits"];
+  }
+  $(tfoot).find('th').eq(1).html((sumConsensusWeight * 100).toFixed(2) 
+ "%");
+  $(tfoot).find('th').eq(2).html(hrBandwidth(sumAdvertisedBandwidths));
+  $(tfoot).find('th').eq(3).html((sumGuardProbability * 
100).toFixed(2) + "%");
+  $(tfoot).find('th').eq(4).html((sumMiddleProbability * 
100).toFixed(2) + "%");
+  $(tfoot).find('th').eq(5).html((sumExitProbability * 100).toFixed(2) 
+ "%");
+  $(tfoot).find('th').eq(6).html(sumRelays);
+  $(tfoot).find('th').eq(7).html(sumGuards);
+  $(tfoot).find('th').eq(8).html(sumExits);
 }
   });
 },
diff --git a/src/main/resources/web/js/rs/views/search/do.js 
b/src/main/resources/web/js/rs/views/search/do.js
index 18b1f05..5383580 100644
--- a/src/main/resources/web/js/rs/views/search/do.js
+++ b/src/main/resources/web/js/rs/views/search/do.js
@@ -18,9 +18,10 @@ define([
 },
 render: function(query){
   document.title = "Relay Search";
-  var compiledTemplate = _.template(doSearchTemplate)
+  var compiledTemplate = _.template(doSearchTemplate);
+  var relays = this.relays;
   this.$el.html(compiledTemplate({query: query,
- relays: this.relays,
+ relays: relays,
  countries: CountryCodes,
  error: this.error,
  relaysPublished: this.relaysPublished,
@@ -49,6 +50,14 @@ define([
 "aaSorting": [[2, "desc"]],
 "fnDrawCallback": function( oSettings ) {
   $(".tip").tooltip({'html':true});
+},
+"footerCallback": function( tfoot, data, start, end, display ) {
+  console.log(relays);
+  var sumAdvertisedBandwidths = 0;
+  for (var i = 0; i < relays.length; i++) {
+sumAdvertisedBandwidths += relays[i].get("advertised_bandwidth");
+  }
+  $(tfoot).find('th').eq(2).html(hrBandwidth(sumAdvertisedBandwidths));
 }
   });
 },
diff --git 

[tor-commits] [metrics-web/release] Fix bug in generating Tor Messenger CSV file.

2018-09-26 Thread karsten
commit afc2fc4fa5f19b592dd8f09d6397fd244adfbe91
Author: Karsten Loesing 
Date:   Fri Aug 3 10:32:57 2018 +0200

Fix bug in generating Tor Messenger CSV file.
---
 src/main/R/rserver/graphs.R | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/main/R/rserver/graphs.R b/src/main/R/rserver/graphs.R
index 56c8a55..12a80e9 100644
--- a/src/main/R/rserver/graphs.R
+++ b/src/main/R/rserver/graphs.R
@@ -1489,7 +1489,8 @@ plot_webstats_tm <- function(start_p, end_p, path_p) {
 write_webstats_tm <- function(start_p = NULL, end_p = NULL, path_p) {
   prepare_webstats_tm(start_p, end_p) %>%
 rename(date = log_date) %>%
-spread(request_type, count) %>%
+mutate(request_type = factor(request_type, levels = c("tmid", "tmup"))) %>%
+spread(request_type, count, drop = FALSE) %>%
 rename(initial_downloads = tmid, update_pings = tmup) %>%
 write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
 }



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update to latest metrics-base.

2018-09-26 Thread karsten
commit 963da56fa8db87a993561bc187e63b64d4881b29
Author: Karsten Loesing 
Date:   Tue Jul 31 13:32:57 2018 +0200

Update to latest metrics-base.
---
 src/build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/build b/src/build
index 23c6e0b..08514a3 16
--- a/src/build
+++ b/src/build
@@ -1 +1 @@
-Subproject commit 23c6e0be5fab9463f137615053ef412e4da2315e
+Subproject commit 08514a32afefbeef848b80f9a338ee840c282604



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Add a handful of missing colons.

2018-09-26 Thread karsten
commit a354a8ef54b0f41115435ca95a3df32727502b67
Author: Karsten Loesing 
Date:   Mon Jul 30 21:05:16 2018 +0200

Add a handful of missing colons.
---
 src/main/resources/web/jsps/onionoo.jsp | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/main/resources/web/jsps/onionoo.jsp 
b/src/main/resources/web/jsps/onionoo.jsp
index 8221026..84bc87c 100644
--- a/src/main/resources/web/jsps/onionoo.jsp
+++ b/src/main/resources/web/jsps/onionoo.jsp
@@ -291,23 +291,23 @@ Extended the "version" parameter to bridges, added a
 "recommended_version" field to bridge details documents on November
 28, 2017.
 #
-5.0
+5.0:
 Removed the $ from fingerprints in fields "effective_family", "alleged_family",
 and "indirect_family" on December 20, 2017.
 #
-5.1
+5.1:
 Always added a relay's own fingerprint to its "effective_family" and made
 nickname fields "n" in summary documents and "nickname" in details documents
 required fields on March 14, 2018.
 #
-5.2
+5.2:
 Added "version_status" field to details documents on April 6, 2018.
 #
-6.0
+6.0:
 Included all exit addresses in "exit_addresses", regardless of whether they are
 used as onion-routing addresses or not on April 17, 2018.
 #
-6.1
+6.1:
 Added a new "os" parameter to filter relays and bridges by operating
 system, extended the "as" and "country" parameters by a special
 country code and AS number to return relays that were not found in the



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update news.json to version 281 of doc/MetricsTimeline.

2018-09-26 Thread karsten
commit f9c0a7f2f0a7e8b26656edc2a951f33db9de585e
Author: Karsten Loesing 
Date:   Thu Jul 26 11:45:16 2018 +0200

Update news.json to version 281 of doc/MetricsTimeline.
---
 src/main/resources/web/json/news.json | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/src/main/resources/web/json/news.json 
b/src/main/resources/web/json/news.json
index ea6e5a9..ac2acfc 100644
--- a/src/main/resources/web/json/news.json
+++ b/src/main/resources/web/json/news.json
@@ -921,6 +921,37 @@
 "target" : "https://bugs.torproject.org/13174;
   } ]
 }, {
+  "start" : "2014-09-26",
+  "end" : "2014-12-15",
+  "places" : [ "hk" ],
+  "short_description" : "\"Umbrella Revolution\" protests in Hong Kong.",
+  "description" : "\"Umbrella Revolution\" protests in Hong Kong.",
+  "links" : [ {
+"label" : "relay graph",
+"target" : 
"https://metrics.torproject.org/userstats-relay-country.html?start=2014-01-01=2015-02-01=hk;
+  }, {
+"label" : "bridge graph",
+"target" : 
"https://metrics.torproject.org/userstats-bridge-country.html?start=2014-01-01=2015-02-01=hk;
+  } ]
+}, {
+  "start" : "2014-09-29",
+  "places" : [ "cn" ],
+  "short_description" : "China blocks Instagram in response to ongoing 
protests in Hong Kong",
+  "description" : "China blocks Instagram in response to ongoing protests in 
Hong Kong. A research paper by Hobbs and Roberts shows evidence for an increase 
in circumvention, but the measurable effect on Tor is slight if anything.",
+  "links" : [ {
+"label" : "relay graph",
+"target" : 
"https://metrics.torproject.org/userstats-relay-country.html?start=2014-01-01=2015-02-01=cn;
+  }, {
+"label" : "bridge graph",
+"target" : 
"https://metrics.torproject.org/userstats-bridge-country.html?start=2014-01-01=2015-02-01=cn;
+  }, {
+"label" : "BBC article",
+"target" : "https://www.bbc.com/news/technology-29409533;
+  }, {
+"label" : "research paper",
+"target" : 
"http://www.margaretroberts.net/wp-content/uploads/2016/08/selfiecensorship.pdf;
+  } ]
+}, {
   "start" : "2014-09-29",
   "protocols" : [ "meek" ],
   "short_description" : "Changed the bridge backing meek-amazon.",



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update news.json to version 279 of doc/MetricsTimeline.

2018-09-26 Thread karsten
commit 7bf3f0c517922a9e51d4be375f0f4f93c6980291
Author: Karsten Loesing 
Date:   Mon Jul 16 21:07:46 2018 +0200

Update news.json to version 279 of doc/MetricsTimeline.
---
 src/main/resources/web/json/news.json | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/main/resources/web/json/news.json 
b/src/main/resources/web/json/news.json
index 198197a..e8c5c30 100644
--- a/src/main/resources/web/json/news.json
+++ b/src/main/resources/web/json/news.json
@@ -3092,6 +3092,9 @@
   "short_description" : "Venezuela's largest ISP, CANTV, blocks direct access 
to Tor and the IP addresses of default bridges",
   "description" : "Venezuela's largest ISP, CANTV, blocks direct access to Tor 
and the IP addresses of default bridges. meek and non-default bridges are 
reported to work.",
   "links" : [ {
+"label" : "ticket",
+"target" : "https://bugs.torproject.org/26807;
+  }, {
 "label" : "mailing list post",
 "target" : 
"https://lists.torproject.org/pipermail/tor-project/2018-June/001842.html;
   }, {



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Clarify that we're rounding down user numbers.

2018-09-26 Thread karsten
commit 2669b4d50985a25a51c17c63e2f4a7ce01e4078f
Author: Karsten Loesing 
Date:   Sun Jul 29 21:56:39 2018 +0200

Clarify that we're rounding down user numbers.

Technically, we're using integer truncation, but we're only using
non-negative numbers as input, so we can as well pretend we're using
the floor() function.

Sort of resolves #26868 which is where this question came up.
---
 src/main/resources/web/jsps/reproducible-metrics.jsp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/resources/web/jsps/reproducible-metrics.jsp 
b/src/main/resources/web/jsps/reproducible-metrics.jsp
index f1b97f6..dc00751 100644
--- a/src/main/resources/web/jsps/reproducible-metrics.jsp
+++ b/src/main/resources/web/jsps/reproducible-metrics.jsp
@@ -136,7 +136,7 @@ This approach also works with r(R) being the sum 
of requests from Estimate the number of clients per country and day using the following 
formula:
 
-r(N) = r(R) / frac / 10
+r(N) = floor(r(R) / frac / 10)
 
 A client that is connected 24/7 makes about 15 requests per day, but not 
all clients are connected 24/7, so we picked the number 10 for the average 
client. We simply divide directory requests by 10 and consider the result as 
the number of users. Another way of looking at it, is that we assume that each 
request represents a client that stays online for one tenth of a day, so 2 
hours and 24 minutes.
 Skip dates where frac is smaller than 10% and hence too low for 
a robust estimate, or where frac is greater than 100%, which would 
indicate an issue in the previous step.



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Actually carry query from "all" aggregation down

2018-09-26 Thread karsten
commit bc4763fae08369c03236413d7e388795af6bc051
Author: Iain R. Learmonth 
Date:   Wed Jul 11 09:57:12 2018 +0100

Actually carry query from "all" aggregation down

Really just a typo fix. The queries were evaluated, but never output in
the template.

Fixes: #25864
---
 src/main/resources/web/templates/rs/aggregate/search.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/web/templates/rs/aggregate/search.html 
b/src/main/resources/web/templates/rs/aggregate/search.html
index ea52d0f..6679846 100644
--- a/src/main/resources/web/templates/rs/aggregate/search.html
+++ b/src/main/resources/web/templates/rs/aggregate/search.html
@@ -86,7 +86,7 @@
   
 <% } else { %>
   ">
-(<% (query) ? query + " " : "" %><%= (aggregate.version) ? "version:" + 
aggregate.version + " " : "" %>"><%= aggregate.country.size %> distinct)
+(<%= (query) ? query + " " : "" %><%= (aggregate.version) ? "version:" + 
aggregate.version + " " : "" %>"><%= aggregate.country.size %> distinct)
   
 <% } %>
   <% } %>
@@ -101,7 +101,7 @@
   
 <% } else { %>
   ">
-(<% (query) ? query + " " : "" %><%= (aggregate.version) ? "version:" + 
aggregate.version + " " : "" %>"><%= aggregate.as.size %> distinct)
+(<%= (query) ? query + " " : "" %><%= (aggregate.version) ? "version:" + 
aggregate.version + " " : "" %>"><%= aggregate.as.size %> distinct)
   
 <% } %>
   <% } %>



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Show verified and unverified host names for relays

2018-09-26 Thread karsten
commit 97443f9b006d64139543fe2f2582975927b000b7
Author: Iain R. Learmonth 
Date:   Wed Jul 18 13:57:53 2018 +0100

Show verified and unverified host names for relays

Each hostname is displayed in a list, in a similar format to effective
and alleged family. Non-verified hostnames are coloured orange and
followed by an asterisk to differentiate them from verified host names.

This commit also drops the use of the host_name field.

Fixes: #26834
---
 src/main/resources/web/js/rs/models/relay.js| 3 ++-
 src/main/resources/web/templates/rs/details/router.html | 6 --
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/main/resources/web/js/rs/models/relay.js 
b/src/main/resources/web/js/rs/models/relay.js
index d01f748..ad23b15 100644
--- a/src/main/resources/web/js/rs/models/relay.js
+++ b/src/main/resources/web/js/rs/models/relay.js
@@ -216,7 +216,8 @@ define([
 relay.or_port = relay.or_addresses ? 
relay.or_addresses[0].split(":")[1] : 0;
 relay.dir_port = relay.dir_address ? 
relay.dir_address.split(":")[1] : 0;
 relay.exit_addresses = relay.exit_addresses ? 
relay.exit_addresses : null;
-relay.host_name = relay.host_name ? relay.host_name : null;
+relay.verified_host_names = relay.verified_host_names ? 
relay.verified_host_names : null;
+relay.unverified_host_names = relay.unverified_host_names 
? relay.unverified_host_names : null;
 relay.country = relay.country ? 
relay.country.toLowerCase() : null;
 relay.countryname = relay.country ? 
CountryCodes[relay.country] : null;
 relay.age = relay.first_seen ? 
model.parsedate(relay.first_seen).hrfull : null;
diff --git a/src/main/resources/web/templates/rs/details/router.html 
b/src/main/resources/web/templates/rs/details/router.html
index 29924cf..4ee4c88 100644
--- a/src/main/resources/web/templates/rs/details/router.html
+++ b/src/main/resources/web/templates/rs/details/router.html
@@ -144,8 +144,10 @@ should update it as soon as possible.
 <%= propertyCount==0 ? 'none' : '' %>
 
 
-Host Name
-<% if (relay.get('host_name')) { %><%= relay.get('host_name') %><% } 
else { %>No PTR record found<% } %>
+Host Name
+
+<% if (relay.get('verified_host_names') 
!== null) { %><% _.each(relay.get('verified_host_names'), function(host_name) { 
%><%= host_name %><% }); } 
%><% if (relay.get('unverified_host_names') !== null) { %><% 
_.each(relay.get('unverified_host_names'), function(host_name) { %><%= host_name 
%>*<% }); } %><% if(relay.get('verified_host_names') == 
relay.get('unverified_host_names')) { %>none<% } %>
+
 
 Country
 <% if (relay.get('country')) { %> <%= relay.get('countryname') %> ()<% } else { %>Unknown<% } %>



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update news.json to version 278 of doc/MetricsTimeline.

2018-09-26 Thread karsten
commit 99a3cc515e2e9b4f46ec66328b8e83978f942fb6
Author: Karsten Loesing 
Date:   Mon Jul 16 12:19:50 2018 +0200

Update news.json to version 278 of doc/MetricsTimeline.
---
 src/main/resources/web/json/news.json | 9 +
 1 file changed, 9 insertions(+)

diff --git a/src/main/resources/web/json/news.json 
b/src/main/resources/web/json/news.json
index 55285ff..198197a 100644
--- a/src/main/resources/web/json/news.json
+++ b/src/main/resources/web/json/news.json
@@ -3140,6 +3140,15 @@
 "target" : "https://bugs.torproject.org/26771;
   } ]
 }, {
+  "start" : "2018-07-15",
+  "protocols" : [ "snowflake" ],
+  "short_description" : "Made the Snowflake bridge report to the new Serge 
bridge authority.",
+  "description" : "Made the Snowflake bridge report to the new Serge bridge 
authority.",
+  "links" : [ {
+"label" : "comment",
+"target" : "https://bugs.torproject.org/26783#comment:1;
+  } ]
+}, {
   "start" : "2016-02-24",
   "places" : [ "tm" ],
   "protocols" : [ "" ],



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Specify per-graph CSV files on our /stats.html.

2018-09-26 Thread karsten
commit 4b033b48432d05b546d82d451d7458a311651511
Author: Karsten Loesing 
Date:   Fri Jul 27 21:09:41 2018 +0200

Specify per-graph CSV files on our /stats.html.

Part of #25383.
---
 src/main/resources/web/jsps/stats.jsp | 897 +-
 1 file changed, 883 insertions(+), 14 deletions(-)

diff --git a/src/main/resources/web/jsps/stats.jsp 
b/src/main/resources/web/jsps/stats.jsp
index ea5faf8..1c18921 100644
--- a/src/main/resources/web/jsps/stats.jsp
+++ b/src/main/resources/web/jsps/stats.jsp
@@ -13,13 +13,837 @@
   
 
 
-
-  Pre-aggregated statistics files used on this website #
-  This page contains specifications and links to pre-aggregated 
statistics files used on this website.
-
+
+
+Statistics files used on this website #
+
+This page contains specifications of statistics files used on this 
website.
+
+Parameters
+
+All per-graph statistics files (excluding the now deprecated pre-aggregated 
files) are available for download via an URL of the form:
+
+
+https://metrics.torproject.org/identifier.csv
+
+
+These URLs all support a set of optional parameters that can be 
used to further customize their content. Typically, these are start and 
end plus additional parameters as specified below. Including a parameter 
in a URL typically filters the resulting statistics file by the given parameter 
value. In reverse, omitting a parameter produces a larger statistics file that 
is not filtered by that parameter.
+
+Columns
+
+Each per-graph statistics file (again, excluding the deprecated 
pre-aggregated files) starts with a comment section, followed by a header line 
and then the actual data lines. Columns are pre-defined and specified further 
down below. The rule of thumb for columns is that neither the choice of 
parameters nor availability of data should affect the set of columns, but that 
only a code change can add, change, or remove a column. This rule of thumb is 
not yet implemented for all per-graph statistics files.
+
+Applications must not rely on the order of columns, as this order may 
change when columns are removed. Instead, applications should refer to columns 
by their name. Applications should be able to handle newly added columns and 
fail gracefully in case of removed columns.
+
+Changes
+
+Changes to columns will be announced on this page at least a couple weeks 
in advance as well as on the https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev;>tor-dev@ 
mailing list.
+
+The following changes have been made in the past or are scheduled to become 
effective in the near future:
+
+
+February 28, 2018: Added per-graph CSV files to eventually replace 
pre-aggregated CSV files.
+May 29, 2018: Made all parameters of per-graph CSV files optional 
to support providing both pre-filtered and complete data sets.
+July 31, 2018: Announced pending changes to per-graph CSV files to 
become effective on August 15 and pre-aggregated CSV files to be removed by 
September 15.
+August 15, 2018 (scheduled): Make the first batch of changes to 
per-graph CSV files (marked as "Suggested change" below).
+September 15, 2018 (scheduled): Remove all pre-aggregated CSV 
files.
+
+
+
 
 
-Number of relays and bridges #
+
+Users #
+
+Relay users
+ graph
+ data
+#
+
+Parameters
+
+
+start: First UTC date (-MM-DD) to include in the file.
+end: Last UTC date (-MM-DD) to include in the file.
+country: Two-letter lower-case country code of clients to include 
in the file, or "all" for all clients.
+events: Ignored; only present for compatibility reasons with the 
corresponding graph.
+
+
+Columns
+
+
+date: UTC date (-MM-DD) for which user numbers are 
estimated.
+country: Two-letter lower-case country code as found in a GeoIP 
database by resolving clients' IP addresses, or "??" if client IP 
addresses could not be resolved. If this column contains the empty string, all 
clients are included, regardless of their country code.
+users: Estimated number of clients.
+downturns: Whether the estimated number of clients is below the 
lower number of expected clients, indicating a possible censorship-related 
event. If this column contains the empty string, there are no expectations on 
the number of clients.
+upturns: Whether the estimated number of clients is above the upper 
number of expected clients, indicating a possible censorship-related event. If 
this column contains the empty string, there are no expectations on the number 
of clients.
+lower: Lower number of expected clients under the assumption that 
there has been no censorship event. If this column contains the empty string, 
there are no expectations on the number of clients.
+upper: Upper number of expected clients under the assumption that 
there has been no release of censorship. If this column contains the empty 
string, there are no expectations on the number of clients.
+
+
+
+Suggested change
+Remove the downturns and upturns columns which are trivial to 
compute as 

[tor-commits] [metrics-web/release] More intuitive sorting for aggregated AS/countries

2018-09-26 Thread karsten
commit 8e0953f130018a32f3a7295e264a8afcc5dcdb38
Author: Iain R. Learmonth 
Date:   Mon Jul 9 13:53:59 2018 +0100

More intuitive sorting for aggregated AS/countries

Fixes: #25242
---
 .../web/templates/rs/aggregate/search.html | 28 ++
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/src/main/resources/web/templates/rs/aggregate/search.html 
b/src/main/resources/web/templates/rs/aggregate/search.html
index 9a6b6c5..5775057 100644
--- a/src/main/resources/web/templates/rs/aggregate/search.html
+++ b/src/main/resources/web/templates/rs/aggregate/search.html
@@ -62,28 +62,36 @@
   <%= aggregate.version %>
 
 <% } %>
-
   <% if ((typeof aggregate.country) == "string") { %>
-<%= 
(aggregate.version) ? "version:" + aggregate.version + " " : "" %><% if 
(query.indexOf("country:") == -1) { %>country:<%= aggregate.country  %><% } 
%>"> 
<%= countries[aggregate.country] %>
+
+  <%= 
(aggregate.version) ? "version:" + aggregate.version + " " : "" %><% if 
(query.indexOf("country:") == -1) { %>country:<%= aggregate.country  %><% } 
%>"> 
<%= countries[aggregate.country] %>
+
   <% } else { %>
 <% if ((typeof aggregate.as) == "string") { %>
-  (<%= 
(aggregate.version) ? "version:" + aggregate.version + " " : "" %><% if 
(query.indexOf("as:") == -1) { %>as:<%= aggregate.as %><% } %>"><%= 
aggregate.country.size %> distinct)
+  ">
+(<%= 
(aggregate.version) ? "version:" + aggregate.version + " " : "" %><% if 
(query.indexOf("as:") == -1) { %>as:<%= aggregate.as %><% } %>"><%= 
aggregate.country.size %> distinct)
+  
 <% } else { %>
-  (<% (query) ? query + " " : "" %><%= (aggregate.version) ? "version:" + 
aggregate.version + " " : "" %>"><%= aggregate.country.size %> distinct)
+  ">
+(<% (query) ? query + " " : "" %><%= (aggregate.version) ? "version:" + 
aggregate.version + " " : "" %>"><%= aggregate.country.size %> distinct)
+  
 <% } %>
   <% } %>
-
-
   <% if ((typeof aggregate.as) == "string") { %>
-<%= 
(aggregate.version) ? "version:" + aggregate.version + " " : "" %><% if 
(query.indexOf("as:") == -1) { %>as:<%= aggregate.as  %><% } %>"><%= 
aggregate.as_name %> (<%= aggregate.as %>)
+
+  <%= 
(aggregate.version) ? "version:" + aggregate.version + " " : "" %><% if 
(query.indexOf("as:") == -1) { %>as:<%= aggregate.as  %><% } %>"><%= 
aggregate.as_name %> (<%= aggregate.as %>)
+  
   <% } else { %>
 <% if ((typeof aggregate.country) == "string") { %>
-  (<%= 
(aggregate.version) ? "version:" + aggregate.version + " " : "" %><% if 
(query.indexOf("country:") == -1) { %>country:<%= aggregate.country %><% } 
%>"><%= aggregate.as.size %> distinct)
+  ">
+(<%= 
(aggregate.version) ? "version:" + aggregate.version + " " : "" %><% if 
(query.indexOf("country:") == -1) { %>country:<%= aggregate.country %><% } 
%>"><%= aggregate.as.size %> distinct)
+  
 <% } else { %>
-  (<% (query) ? query + " " : "" %><%= (aggregate.version) ? "version:" + 
aggregate.version + " " : "" %>"><%= aggregate.as.size %> distinct)
+  ">
+(<% (query) ? query + " " : "" %><%= (aggregate.version) ? "version:" + 
aggregate.version + " " : "" %>"><%= aggregate.as.size %> distinct)
+  
 <% } %>
   <% } %>
-
 <%= 
(aggregate.consensus_weight_fraction * 100).toFixed(4) %>%
 <%= 
hrBandwidth(aggregate.advertised_bandwidth) %>
 <%= 
(aggregate.guard_probability * 100).toFixed(4) %>%



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update news.json to version 277 of doc/MetricsTimeline.

2018-09-26 Thread karsten
commit 518b6489373590f2f183fa53292a98dda3eb2823
Author: Karsten Loesing 
Date:   Sun Jul 15 09:17:11 2018 +0200

Update news.json to version 277 of doc/MetricsTimeline.
---
 src/main/resources/web/json/news.json | 12 
 1 file changed, 12 insertions(+)

diff --git a/src/main/resources/web/json/news.json 
b/src/main/resources/web/json/news.json
index 63db2d2..55285ff 100644
--- a/src/main/resources/web/json/news.json
+++ b/src/main/resources/web/json/news.json
@@ -3128,6 +3128,18 @@
 "target" : "https://bugs.torproject.org/26661;
   } ]
 }, {
+  "start" : "2018-07-14",
+  "protocols" : [ "bridge" ],
+  "short_description" : "Release of Tor 0.3.3.9, switches bridge authority 
Bifroest to Serge.",
+  "description" : "Release of Tor 0.3.3.9, switches bridge authority Bifroest 
to https://metrics.torproject.org/rs.html#details/BA44A889E64B93FAA2B114E02C2A279A8555C533\;>Serge.",
+  "links" : [ {
+"label" : "announcement",
+"target" : 
"https://lists.torproject.org/pipermail/tor-announce/2018-July/000162.html;
+  }, {
+"label" : "ticket",
+"target" : "https://bugs.torproject.org/26771;
+  } ]
+}, {
   "start" : "2016-02-24",
   "places" : [ "tm" ],
   "protocols" : [ "" ],



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Recognize new bridge authority Serge.

2018-09-26 Thread karsten
commit 7744458f33f5b257d20cba89ce5cdc4819b8ed85
Author: Karsten Loesing 
Date:   Mon Jul 16 12:16:42 2018 +0200

Recognize new bridge authority Serge.
---
 .../torproject/metrics/stats/servers/ConsensusStatsFileHandler.java| 3 +++
 1 file changed, 3 insertions(+)

diff --git 
a/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
 
b/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
index 8ccb3b5..c736496 100644
--- 
a/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
+++ 
b/src/main/java/org/torproject/metrics/stats/servers/ConsensusStatsFileHandler.java
@@ -202,6 +202,9 @@ public class ConsensusStatsFileHandler {
   } else if (descriptorFileName.contains(
   "1D8F3A91C37C5D1C4C19B1AD1D0CFBE8BF72D8E1")) {
 authority = "Bifroest";
+  } else if (descriptorFileName.contains(
+  "BA44A889E64B93FAA2B114E02C2A279A8555C533")) {
+authority = "Serge";
   }
   if (authority == null) {
 this.logger.warning("Did not recognize the bridge authority "



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Link country name in details to search for country

2018-09-26 Thread karsten
commit 194db287c1e985c0b58984a572fb9904465ba9dc
Author: Iain R. Learmonth 
Date:   Mon Jul 9 12:49:02 2018 +0100

Link country name in details to search for country

Additionally, a link to search for all exits in a country is displayed
next to the country name.

Fixes: #25861
---
 src/main/resources/web/templates/rs/details/router.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/resources/web/templates/rs/details/router.html 
b/src/main/resources/web/templates/rs/details/router.html
index c5ff77f..e1ffe37 100644
--- a/src/main/resources/web/templates/rs/details/router.html
+++ b/src/main/resources/web/templates/rs/details/router.html
@@ -148,7 +148,7 @@ should update it as soon as possible.
 <% if (relay.get('host_name')) { %><%= relay.get('host_name') %><% } 
else { %>No PTR record found<% } %>
 
 Country
-<% if (relay.get('country')) { %> <%= relay.get('countryname') %><% } else { 
%>Unknown<% } %>
+<% if (relay.get('country')) { %> <%= relay.get('countryname') %> ()<% } else { %>Unknown<% } %>
 
 AS 
Number
 <% if (relay.get('as_number') !== null) { %><%= _.escape(relay.get('as_number')) %><% } else 
{ %>unknown<% }; %>



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update Onionoo page to protocol version 6.1.

2018-09-26 Thread karsten
commit 93ced2f6234e1140f7a6199981d4a4a032eea9a2
Author: Karsten Loesing 
Date:   Mon Jul 16 15:21:53 2018 +0200

Update Onionoo page to protocol version 6.1.

See: #18342, #6946, and #26665.
---
 src/main/resources/web/jsps/onionoo.jsp | 84 +
 1 file changed, 74 insertions(+), 10 deletions(-)

diff --git a/src/main/resources/web/jsps/onionoo.jsp 
b/src/main/resources/web/jsps/onionoo.jsp
index b58b6d9..8221026 100644
--- a/src/main/resources/web/jsps/onionoo.jsp
+++ b/src/main/resources/web/jsps/onionoo.jsp
@@ -307,6 +307,15 @@ Added "version_status" field to details documents on April 
6, 2018.
 Included all exit addresses in "exit_addresses", regardless of whether they are
 used as onion-routing addresses or not on April 17, 2018.
 #
+6.1
+Added a new "os" parameter to filter relays and bridges by operating
+system, extended the "as" and "country" parameters by a special
+country code and AS number to return relays that were not found in the
+GeoIP database, and deprecated the "host_name" field in details
+documents in favor of the new "verified_host_names" and
+"unverified_host_names" fields for more accurate DNS results on July
+16, 2018.
+#
 
 
 
@@ -480,24 +489,30 @@ whether they have been running in the past week.
 
 
 
-country
+country updated
 #
 
-Return only relays which are located in the
-given country as identified by a two-letter country code.
-Filtering by country code is case-insensitive.
+Return only relays which are located in the given country as identified by a
+two-letter country code.  Filtering by country code is case-insensitive. The
+special country code xz can be used for relays that were not found in
+the GeoIP database.
+Updated to recognize special country code
+xz on July
+16, 2018.
 
 
 
 
 
-as
+as updated
 #
 
-Return only relays which are located in the
-given autonomous system (AS) as identified by the AS number (with or
-without preceding "AS" part).
-Filtering by AS number is case-insensitive.
+Return only relays which are located in the given autonomous system (AS) as
+identified by the AS number (with or without preceding "AS" part).  Filtering
+by AS number is case-insensitive. The special AS number 0 can be used
+for relays that were not found in the GeoIP database.
+Updated to recognize special AS number 0
+on July 16, 2018.
 
 
 
@@ -591,6 +606,17 @@ Searches are case-insensitive.
 
 
 
+
+os new
+#
+
+Return only relays or bridges running on an operating system that starts with
+the parameter value. Searches are case-insensitive.
+Added on July 16, 2018.
+
+
+
+
 
 host_name
 #
@@ -1289,7 +1315,7 @@ change in the future.
 
 
 
-host_name
+host_name deprecated
 string
 optional
 #
@@ -1300,6 +1326,44 @@ This field is updated at most once in 12 hours, unless 
the relay IP
 address changes.
 Omitted if the relay IP address was not looked up, if no lookup request
 was successful yet, or if no A record was found matching the PTR record.
+Deprecated on July 16, 2018.
+
+
+
+
+
+verified_host_names new
+array of strings
+optional
+#
+
+Host names as found in a reverse DNS lookup of the
+relay's primary IP address for which a matching
+A record was also found.
+This field is updated at most once in 12 hours, unless the relay IP
+address changes.
+Omitted if the relay IP address was not looked up, if no lookup request
+was successful yet, or if no A records were found matching the PTR records
+(i.e. it was not possible to verify the value of any of the PTR records).
+Added on July 16, 2018.
+
+
+
+
+
+unverified_host_names new
+array of strings
+optional
+#
+
+Host names as found in a reverse DNS lookup of the
+relay's primary IP address that for which a matching A record was not found.
+This field is updated at most once in 12 hours, unless the relay IP
+address changes.
+Omitted if the relay IP address was not looked up, if no lookup request
+was successful yet, or if A records were found matching all PTR records
+(i.e. it was possible to verify the value of each of the PTR records).
+Added on July 16, 2018.
 
 
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update to latest metrics-lib.

2018-09-26 Thread karsten
commit a5df8ebcc92a13c2dba80422a199aeb16f935c9b
Author: Karsten Loesing 
Date:   Mon Jul 16 12:20:06 2018 +0200

Update to latest metrics-lib.
---
 src/submods/metrics-lib | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/submods/metrics-lib b/src/submods/metrics-lib
index a67a471..f6c7e0e 16
--- a/src/submods/metrics-lib
+++ b/src/submods/metrics-lib
@@ -1 +1 @@
-Subproject commit a67a4713f64dca654928d10d6f5ff469540a47cf
+Subproject commit f6c7e0e4d9c69f889206687f23ca7dadd23a4e99



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Update news.json to version 276 of doc/MetricsTimeline.

2018-09-26 Thread karsten
commit 7c30c3ab62f6733599803c955d266ca2c2253c58
Author: Karsten Loesing 
Date:   Mon Jul 9 15:15:25 2018 +0200

Update news.json to version 276 of doc/MetricsTimeline.
---
 src/main/resources/web/json/news.json | 56 ++-
 1 file changed, 42 insertions(+), 14 deletions(-)

diff --git a/src/main/resources/web/json/news.json 
b/src/main/resources/web/json/news.json
index 27f87c4..63db2d2 100644
--- a/src/main/resources/web/json/news.json
+++ b/src/main/resources/web/json/news.json
@@ -3086,6 +3086,48 @@
 "target" : "https://blog.torproject.org/tor-browser-80a8-released;
   } ]
 }, {
+  "start" : "2018-06-20",
+  "ongoing" : true,
+  "places" : [ "ve" ],
+  "short_description" : "Venezuela's largest ISP, CANTV, blocks direct access 
to Tor and the IP addresses of default bridges",
+  "description" : "Venezuela's largest ISP, CANTV, blocks direct access to Tor 
and the IP addresses of default bridges. meek and non-default bridges are 
reported to work.",
+  "links" : [ {
+"label" : "mailing list post",
+"target" : 
"https://lists.torproject.org/pipermail/tor-project/2018-June/001842.html;
+  }, {
+"label" : "Access Now report",
+"target" : "https://www.accessnow.org/venezuela-blocks-tor/;
+  } ]
+}, {
+  "start" : "2018-07-01",
+  "ongoing" : true,
+  "places" : [ "ug" ],
+  "short_description" : "A social media tax takes effect in Uganda",
+  "description" : "A social media tax takes effect in Uganda. The government 
pressures ISPs to block VPNs.",
+  "links" : [ {
+"label" : "relay graph",
+"target" : 
"https://metrics.torproject.org/userstats-relay-country.html?start=2018-05-01=2018-08-01=ug=off;
+  }, {
+"label" : "bridge graph",
+"target" : 
"https://metrics.torproject.org/userstats-bridge-country.html?start=2018-05-01=2018-08-01=ug=off;
+  }, {
+"label" : "BBC article",
+"target" : "https://www.bbc.com/news/world-africa-44315675;
+  }, {
+"label" : "AllAfrica article",
+"target" : "http://allafrica.com/stories/201807040129.html;
+  } ]
+}, {
+  "start" : "2018-07-04",
+  "end" : "2018-07-06",
+  "protocols" : [ "snowflake" ],
+  "short_description" : "Outage of the Snowflake bridge, caused by a full 
disk.",
+  "description" : "Outage of the Snowflake bridge, caused by a full disk.",
+  "links" : [ {
+"label" : "ticket",
+"target" : "https://bugs.torproject.org/26661;
+  } ]
+}, {
   "start" : "2016-02-24",
   "places" : [ "tm" ],
   "protocols" : [ "" ],
@@ -3724,18 +3766,4 @@
 "target" : "https://bugs.torproject.org/21014#comment:19;
   } ],
   "unknown" : true
-}, {
-  "start" : "2018-06-20",
-  "ongoing" : true,
-  "places" : [ "ve" ],
-  "short_description" : "Venezuela's largest ISP, CANTV, blocks direct access 
to Tor and the IP addresses of default bridges",
-  "description" : "Venezuela's largest ISP, CANTV, blocks direct access to Tor 
and the IP addresses of default bridges. meek and non-default bridges are 
reported to work.",
-  "links" : [ {
-"label" : "mailing list post",
-"target" : 
"https://lists.torproject.org/pipermail/tor-project/2018-June/001842.html;
-  }, {
-"label" : "Access Now report",
-"target" : "https://www.accessnow.org/venezuela-blocks-tor/;
-  } ],
-  "unknown" : true
 } ]
\ No newline at end of file



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Makes flags in details view clickable

2018-09-26 Thread karsten
commit 12d98872c6aaf03f21726bedcd712373359fd807
Author: Iain R. Learmonth 
Date:   Mon Jul 9 13:06:23 2018 +0100

Makes flags in details view clickable

Fixes: #25533
---
 src/main/resources/web/templates/rs/details/bridge.html | 2 +-
 src/main/resources/web/templates/rs/details/router.html | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/web/templates/rs/details/bridge.html 
b/src/main/resources/web/templates/rs/details/bridge.html
index 6eb7dcf..05f4d7b 100644
--- a/src/main/resources/web/templates/rs/details/bridge.html
+++ b/src/main/resources/web/templates/rs/details/bridge.html
@@ -51,7 +51,7 @@
 <% _.each(relay.get('flags'), function(flag) { %>
 
 
-<%= flag[0] %>
+<%= flag[0] 
%>
 
 <% }); %>
 
diff --git a/src/main/resources/web/templates/rs/details/router.html 
b/src/main/resources/web/templates/rs/details/router.html
index e1ffe37..29924cf 100644
--- a/src/main/resources/web/templates/rs/details/router.html
+++ b/src/main/resources/web/templates/rs/details/router.html
@@ -126,7 +126,7 @@ should update it as soon as possible.
 <% _.each(relay.get('flags'), function(flag) { %>
 
 
-<%= flag[0] %>
+<%= 
flag[0] %>
 
 <% }); %>
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Restrict scary warning to obsolete relays

2018-09-26 Thread karsten
commit 17f9c80e678472aaf711365e8423becb4067f56b
Author: Iain R. Learmonth 
Date:   Fri Jul 6 13:13:01 2018 +0100

Restrict scary warning to obsolete relays

This restricts the scary warning informing relay operators to
upgrade as soon as possible to only outdated relays according
to the Onionoo version_status field.

Fixes: #25199
---
 src/main/resources/web/js/rs/models/relay.js|  2 +-
 src/main/resources/web/templates/rs/details/router.html | 12 +---
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/main/resources/web/js/rs/models/relay.js 
b/src/main/resources/web/js/rs/models/relay.js
index cfb6dec..d01f748 100644
--- a/src/main/resources/web/js/rs/models/relay.js
+++ b/src/main/resources/web/js/rs/models/relay.js
@@ -60,7 +60,7 @@ define([
 var model = this;
 _.each(flags, function(flag) {
 if (flag == "Not Recommended") {
-output.push([flag,"notrecommended", "This relay is running 
a Tor version that is not recommended by the directory authorities and may 
contain known issues."]);
+output.push([flag,"notrecommended", "This relay is running 
a Tor version that is not recommended by the directory authorities and may 
contain known issues. This includes both obsolete and experimental versions."]);
 }
 if (flag == "Unmeasured") {
 output.push([flag,"unmeasured", "This relay has not been 
measured by at least 3 bandwidth authorities and so its consensus weight is 
currently capped. This is expected for new relays."]);
diff --git a/src/main/resources/web/templates/rs/details/router.html 
b/src/main/resources/web/templates/rs/details/router.html
index ef0508c..c5ff77f 100644
--- a/src/main/resources/web/templates/rs/details/router.html
+++ b/src/main/resources/web/templates/rs/details/router.html
@@ -10,13 +10,11 @@
 <% if (relay.get('new_relay') === true) {%>
 This relay appears to be less than 2 weeks old. 
https://blog.torproject.org/lifecycle-new-relay;>This blog post 
explains the lifecycle of a new relay, and why it will not be immediately fully 
used to capacity.
 <% } %>
-<% if (relay.get('recommended_version') === false && 
relay.get('version_consistent') == true) { %>
-This relay is running a version of Tor that is 
not recommended.
-It is most likely too old and may be missing important security fixes. If
-this is the case, and this is your relay, you should update it as soon as
-possible. Development versions (versions that are too new) will also trigger
-this warning message (see bug https://bugs.torproject.org/24256;>#24256).
+<% if (relay.get('version_status') === 'obsolete'
+&& relay.get('version_consistent') == true) { %>
+This relay is running a version of Tor that is
+too old and may be missing important security fixes. If this is your relay, you
+should update it as soon as possible.
 <% } %>
 
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [metrics-web/release] Removes old Atlas logo images

2018-09-26 Thread karsten
commit 709ec78423dd321b172cffca528334ca9a7fcc8f
Author: Iain R. Learmonth 
Date:   Mon Jul 2 14:46:46 2018 +0100

Removes old Atlas logo images
---
 src/main/resources/web/images/atlas.png | Bin 3261 -> 0 bytes
 src/main/resources/web/images/atlas.xcf | Bin 14206 -> 0 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/web/images/atlas.png 
b/src/main/resources/web/images/atlas.png
deleted file mode 100644
index b070884..000
Binary files a/src/main/resources/web/images/atlas.png and /dev/null differ
diff --git a/src/main/resources/web/images/atlas.xcf 
b/src/main/resources/web/images/atlas.xcf
deleted file mode 100644
index 9dd0824..000
Binary files a/src/main/resources/web/images/atlas.xcf and /dev/null differ



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


  1   2   >