[tor-commits] [metrics-web/release] More intuitive sorting for aggregated AS/countries
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.
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] Specify per-graph CSV files on our /stats.html.
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 use
[tor-commits] [metrics-web/release] Update news.json to version 278 of doc/MetricsTimeline.
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] Show verified and unverified host names for relays
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] Actually carry query from "all" aggregation down
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] Update Onionoo page to protocol version 6.1.
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 news.json to version 281 of doc/MetricsTimeline.
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&end=2015-02-01&country=hk"; + }, { +"label" : "bridge graph", +"target" : "https://metrics.torproject.org/userstats-bridge-country.html?start=2014-01-01&end=2015-02-01&country=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&end=2015-02-01&country=cn"; + }, { +"label" : "bridge graph", +"target" : "https://metrics.torproject.org/userstats-bridge-country.html?start=2014-01-01&end=2015-02-01&country=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.
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.
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] Add a handful of missing colons.
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 to latest metrics-base.
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] Update news.json to version 280 of doc/MetricsTimeline.
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.
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.
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
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
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 a/src/main/resources/web/templ
[tor-commits] [metrics-web/release] Document Onionoo versions 6.2 and 7.0.
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 characte
[tor-commits] [metrics-web/release] Fix bug in generating Tor Messenger CSV file.
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] Fixes loading JSON for aggregated map plotting
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
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
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.
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&end=2018-09-01&country=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] Pass metadata through for top relays
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&order=-consensus_weight&limit=250&running=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] Update ExoneraTor translations.
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 Zie
[tor-commits] [metrics-web/release] Mention that a DNSSEC validating resolver is used
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] Replace Collections.sort with List.sort.
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 +++ b/src/main/java/org/torprojec
[tor-commits] [metrics-web/release] Use diamond operator.
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] Make suggested changes to per-graph CSV files.
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, da
[tor-commits] [metrics-web/release] Remove hidserv-frac-reporting graph and CSV file.
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\";>thi
[tor-commits] [metrics-web/release] Update news.json to version 285 of doc/MetricsTimeline.
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] Replace anonymous types with lambdas.
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 lastUp
[tor-commits] [metrics-web/release] Assume relays have recommended versions if unknown
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.
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.
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] Use more powerful Map methods.
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] Display Onionoo protocol version and build rev
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] Replace addAll with parameterized constructor call.
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.
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] Remove now redundant mapping.
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 String.indexOf with .contains.
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 redundant initializers.
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.
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.
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] Remove some more redundant modifiers.
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] Use empty parameterized Map when generating tables.
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.
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] Delete methods that only call their super.
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 doGet(H
[tor-commits] [metrics-web/release] Remove unnecessary continue statements.
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] Update to ExoneraTor 3.0.1.
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] Use parameterized log statements.
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] Change graphs label from 3 Months to 6
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
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.
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.
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.
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] Update news.json to version 286 of doc/MetricsTimeline.
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&end=2018-07-15&country=tr"; +"target" : "https://metrics.torproject.org/userstats-relay-country.html?start=2018-05-01&end=2018-09-15&country=tr"; }, { "label" : "bridge graph", -"target" : "https://metrics.torproject.org/userstats-bridge-country.html?start=2018-04-01&end=2018-07-15&country=tr"; +"target" : "https://metrics.torproject.org/userstats-bridge-country.html?start=2018-05-01&end=2018-09-15&country=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&end=2018-09-15&country=tr"; + }, { +"label" : "bridge graph", +"target" : "https://metrics.torproject.org/userstats-bridge-country.html?start=2018-05-01&end=2018-09-15&country=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] Remove unnecessary return statements.
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.
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 +++ b/src/main/java/org/torproject/metrics/stats/servers/Consens
[tor-commits] [metrics-web/release] Inline redundant local variables.
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.
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.
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", -"1_m
[tor-commits] [metrics-web/release] Prepare for 1.2.0 release.
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.
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
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.
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] Link to Statistics and Reproducible Metrics from more places.
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
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&type=relay&fields=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&type=relay&fields=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 possib
[tor-commits] [metrics-web/release] Stop providing pre-aggregated CSV files.
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 b
[tor-commits] [metrics-web/release] Add missing double quote.
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 "!") for any pluggable transport, "%3C??%3E (percent encoding of "?>") for unknown pluggable transport(s), or "%3COR%3E" (percent encoding of " ") 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 "! ") for any pluggable transport, "%3C??%3E" (percent encoding of "?>") for unknown pluggable transport(s), or "%3COR%3E" (percent encoding of " ") 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.
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/master] Bump version to 1.2.0-dev.
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] [translation/abouttor-homepage] Update translations for abouttor-homepage
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] [translation/abouttor-homepage_completed] Update translations for abouttor-homepage_completed
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/tails-openpgp-applet] Update translations for tails-openpgp-applet
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/tor_animation] Update translations for tor_animation
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/tor_animation_completed] Update translations for tor_animation_completed
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/torbutton-browseronboardingproperties_completed] Update translations for torbutton-browseronboardingproperties_completed
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
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-launcher-network-settings] Update translations for tor-launcher-network-settings
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
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/tba-android_stringsdtd] Update translations for tba-android_stringsdtd
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
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_animation_completed] Update translations for tor_animation_completed
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] [webwml/master] signing-keys: fix key for 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)+pub rsa4096/0x3E39CEABFC69F6F7 2015-09-24 [SC] + Key fingerprint = 6AB6 AEE9 776E 7827 23C8 ACE8 3E39 CEAB FC69 F6F7 +uid [ unknown] Nicolas Vigier (boklm) +uid [ unknown] Nicolas Vigier (boklm) +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] [newsletter/master] Add October newsletter
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";>we’ve focused on better supporting these users. + + There’s 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. + + https://blog.tor
[tor-commits] [translation/tails-misc] Update translations for tails-misc
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] [translation/tails-misc_completed] Update translations for tails-misc_completed
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-openpgp-applet_completed] Update translations for tails-openpgp-applet_completed
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
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/bridgedb_completed] Update translations for bridgedb_completed
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&keywords=bridgedb-reported,msgid&cc=isis,sysrqb&owner=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] Update translations for bridgedb
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&keywords=bridgedb-reported,msgid&cc=isis,sysrqb&owner=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] [torspec/master] stick an nsf funder ack on proposal 289
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/tails-openpgp-applet] Update translations for tails-openpgp-applet
commit 8c99972e2b53793a05c06bc5883c9b9d3fd48d53 Author: Translation commit bot Date: Thu Sep 27 06:16:22 2018 + Update translations for tails-openpgp-applet --- el/openpgp-applet.pot | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/el/openpgp-applet.pot b/el/openpgp-applet.pot index c95d8755c..f3c5a7e60 100644 --- a/el/openpgp-applet.pot +++ b/el/openpgp-applet.pot @@ -3,14 +3,15 @@ # This file is distributed under the same license as the OpenPGP_Applet package. # # Translators: +# A Papac , 2018 # metamec, 2015 msgid "" 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: IDRASSI Mounir \n" +"PO-Revision-Date: 2018-09-27 06:09+\n" +"Last-Translator: A Papac \n" "Language-Team: Greek (http://www.transifex.com/otf/torproject/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,7 +21,7 @@ msgstr "" #: bin/openpgp-applet:160 msgid "You are about to exit OpenPGP Applet. Are you sure?" -msgstr "Î ÏÏκειÏαι να βγείÏε Ïο OpenPGP applet. ÎίÏÏε βÎβαιοι;" +msgstr "Î ÏÏκειÏαι να βγείÏε Ïο OpenPGP applet. ÎίÏÏε βÎβαιοÏ;" #: bin/openpgp-applet:172 msgid "OpenPGP encryption applet" @@ -52,7 +53,7 @@ msgstr "_ÎιαÏείÏιÏη ÎλειδιÏν" #: bin/openpgp-applet:248 msgid "_Open Text Editor" -msgstr "_Îνοιγμα ÎÏεξεÏγαÏÏή ÎγγÏάÏÏν" +msgstr "_Îνοιγμα ÎÏεξεÏγαÏÏή ÎγγÏάÏÏν" #: bin/openpgp-applet:292 msgid "The clipboard does not contain valid input data." @@ -98,7 +99,7 @@ msgstr[1] "ID ÏÏηÏÏÏν:" #: bin/openpgp-applet:465 msgid "None (Don't sign)" -msgstr "ÎανÎνα (Îη Ï ÏογÏαÏή)" +msgstr "ÎανÎνα (Îην Ï ÏογÏαÏεί)" #: bin/openpgp-applet:528 msgid "Select recipients:" ___ 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
commit c347ca88d5f0fa64515840017c83190948b7d67f Author: Translation commit bot Date: Thu Sep 27 06:16:28 2018 + Update translations for tails-openpgp-applet_completed --- el/openpgp-applet.pot | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/el/openpgp-applet.pot b/el/openpgp-applet.pot index c95d8755c..f3c5a7e60 100644 --- a/el/openpgp-applet.pot +++ b/el/openpgp-applet.pot @@ -3,14 +3,15 @@ # This file is distributed under the same license as the OpenPGP_Applet package. # # Translators: +# A Papac , 2018 # metamec, 2015 msgid "" 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: IDRASSI Mounir \n" +"PO-Revision-Date: 2018-09-27 06:09+\n" +"Last-Translator: A Papac \n" "Language-Team: Greek (http://www.transifex.com/otf/torproject/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,7 +21,7 @@ msgstr "" #: bin/openpgp-applet:160 msgid "You are about to exit OpenPGP Applet. Are you sure?" -msgstr "Î ÏÏκειÏαι να βγείÏε Ïο OpenPGP applet. ÎίÏÏε βÎβαιοι;" +msgstr "Î ÏÏκειÏαι να βγείÏε Ïο OpenPGP applet. ÎίÏÏε βÎβαιοÏ;" #: bin/openpgp-applet:172 msgid "OpenPGP encryption applet" @@ -52,7 +53,7 @@ msgstr "_ÎιαÏείÏιÏη ÎλειδιÏν" #: bin/openpgp-applet:248 msgid "_Open Text Editor" -msgstr "_Îνοιγμα ÎÏεξεÏγαÏÏή ÎγγÏάÏÏν" +msgstr "_Îνοιγμα ÎÏεξεÏγαÏÏή ÎγγÏάÏÏν" #: bin/openpgp-applet:292 msgid "The clipboard does not contain valid input data." @@ -98,7 +99,7 @@ msgstr[1] "ID ÏÏηÏÏÏν:" #: bin/openpgp-applet:465 msgid "None (Don't sign)" -msgstr "ÎανÎνα (Îη Ï ÏογÏαÏή)" +msgstr "ÎανÎνα (Îην Ï ÏογÏαÏεί)" #: bin/openpgp-applet:528 msgid "Select recipients:" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd
commit 4de28ab68a08e0769c01b1e81443897818cac9a5 Author: Translation commit bot Date: Thu Sep 27 06:17:52 2018 + Update translations for torbutton-torbuttondtd --- el/torbutton.dtd | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/el/torbutton.dtd b/el/torbutton.dtd index 4d9456a93..9dbbe7e42 100644 --- a/el/torbutton.dtd +++ b/el/torbutton.dtd @@ -10,25 +10,25 @@ - + - + - + - - - + + + - + - - + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-torbuttondtd_completed] Update translations for torbutton-torbuttondtd_completed
commit 7b57f650f007008b8b3b214a900464f87bf71096 Author: Translation commit bot Date: Thu Sep 27 06:17:57 2018 + Update translations for torbutton-torbuttondtd_completed --- el/torbutton.dtd | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/el/torbutton.dtd b/el/torbutton.dtd index 4d9456a93..9dbbe7e42 100644 --- a/el/torbutton.dtd +++ b/el/torbutton.dtd @@ -10,25 +10,25 @@ - + - + - + - - - + + + - + - - + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/mat-gui] Update translations for mat-gui
commit f38ce067b9bd9976890a36ec73ebb6a695b6e449 Author: Translation commit bot Date: Thu Sep 27 06:45:47 2018 + Update translations for mat-gui --- el.po | 13 +++-- 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/el.po b/el.po index a2d21e509..405822be8 100644 --- a/el.po +++ b/el.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# A Papac , 2018 # firespin , 2014 # dpdt1 , 2013 # kotkotkot , 2013 @@ -13,8 +14,8 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-02-10 23:06+0100\n" -"PO-Revision-Date: 2018-04-12 19:01+\n" -"Last-Translator: LaScapigliata \n" +"PO-Revision-Date: 2018-09-27 06:25+\n" +"Last-Translator: A Papac \n" "Language-Team: Greek (http://www.transifex.com/otf/torproject/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -49,12 +50,12 @@ msgstr "Îεν βÏÎθηκαν μεÏαδεδομÎνα" #: mat-gui:170 mat-gui:419 msgid "Dirty" -msgstr "ÎÏÏμικο" +msgstr "ÎÏÏμικο" #: mat-gui:176 #, python-format msgid "%s's metadata" -msgstr "%s ÏÏν μεÏαδεδομÎνÏν" +msgstr "μεÏαδεδομÎνα ÏÎ¿Ï %s" #: mat-gui:187 msgid "Trash your meta, keep your data" @@ -70,11 +71,11 @@ msgstr "Î ÏοÏιμήÏειÏ" #: mat-gui:232 msgid "Reduce PDF quality" -msgstr "ÎειÏÏη ÏÎ·Ï ÏοιοÏηÏÎ±Ï ÏÎ¿Ï PDF " +msgstr "ÎείÏÏη ÏÎ·Ï ÏοιÏÏηÏÎ±Ï ÏÎ¿Ï PDF " #: mat-gui:235 msgid "Reduce the produced PDF size and quality" -msgstr "ÎειÏÏη ÏÎ¿Ï Î¼ÎµÎ³ÎµÎ¸Î¿Ï Ï ÎºÎ±Î¹ ÏÎ·Ï ÏοιοÏηÏÎ±Ï ÏÎ¿Ï PDF " +msgstr "ÎείÏÏη ÏÎ¿Ï Î¼ÎµÎ³ÎÎ¸Î¿Ï Ï ÎºÎ±Î¹ ÏÎ·Ï ÏοιÏÏηÏÎ±Ï ÏÎ¿Ï PDF " #: mat-gui:238 msgid "Remove unsupported file from archives" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-iuk_completed] Update translations for tails-iuk_completed
commit 40f69b2a6eaccd8e71f3d420453396748e34b60c Author: Translation commit bot Date: Thu Sep 27 06:46:10 2018 + Update translations for tails-iuk_completed --- el.po | 25 + 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/el.po b/el.po index 42eda59b6..c0108a277 100644 --- a/el.po +++ b/el.po @@ -4,6 +4,7 @@ # # Translators: # Adrian Pappas , 2014,2016 +# A Papac , 2018 # firespin , 2014 # ggoniotakis , 2014 # isv31 <36b04...@anon.leemail.me>, 2014 @@ -18,8 +19,8 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: Tails developers \n" "POT-Creation-Date: 2018-08-16 11:16+0200\n" -"PO-Revision-Date: 2018-09-21 15:20+\n" -"Last-Translator: Sofia K.\n" +"PO-Revision-Date: 2018-09-27 06:45+\n" +"Last-Translator: A Papac \n" "Language-Team: Greek (http://www.transifex.com/otf/torproject/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,27 +46,27 @@ msgid "" "Check your network connection, and restart Tails to try upgrading again.\n" "\n" "If the problem persists, go to file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" -msgstr "Îε ήÏαν Î´Ï Î½Î±ÏÏ Î½Î± ÏÏοÏδιοÏιÏÏεί αν Ï ÏάÏÏει διαθÎÏιμη αναβάθμιÏη.\n\nÎλÎγξÏε Ïη ÏÏνδεÏη δικÏÏÎ¿Ï ÏÎ±Ï ÎºÎ±Î¹ κάνÏε εÏανεκκίνηÏη για να εÏαναληÏθεί η ÏÏοÏÏάθεια αναβάθμιÏηÏ.\n\nÎν Ïο ÏÏÏβλημα ÏÏ Î½ÎµÏιÏÏεί, ÏηγαίνεÏε ÏÏο file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" +msgstr "Îεν ήÏαν Î´Ï Î½Î±ÏÏ Î½Î± ÏÏοÏδιοÏιÏÏεί αν Ï ÏάÏÏει διαθÎÏιμη αναβάθμιÏη ÏÏην ιÏÏοÏελίδα μαÏ.\n\nÎλÎγξÏε Ïη ÏÏνδεÏη δικÏÏÎ¿Ï ÏÎ±Ï ÎºÎ±Î¹ κάνÏε εÏανεκκίνηÏη ÏÏν Tails για να εÏαναληÏθεί η ÏÏοÏÏάθεια αναβάθμιÏηÏ.\n\nÎν Ïο ÏÏÏβλημα ÏÏ Î½ÎµÏιÏÏεί, ÏηγαίνεÏε ÏÏο file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" #: ../lib/Tails/IUK/Frontend.pm:234 msgid "no automatic upgrade is available from our website for this version" -msgstr "δεν Ï ÏάÏÏει Î±Ï ÏÏμαÏη αναβάθμιÏη διαθÎÏιμη αÏÏ Ïον ιÏÏÏÏοÏο ÏÎ¿Ï Tails για Î±Ï Ïή Ïην ÎκδοÏη." +msgstr "Îεν Ï ÏάÏÏει Î±Ï ÏÏμαÏη αναβάθμιÏη διαθÎÏιμη αÏÏ Ïον ιÏÏÏÏοÏο ÏÎ¿Ï Tails για Î±Ï Ïήν Ïην ÎκδοÏη." #: ../lib/Tails/IUK/Frontend.pm:240 msgid "your device was not created using Tails Installer" -msgstr "η ÏÏ ÏÎºÎµÏ Î® δε ÎÏει Î´Î·Î¼Î¹Î¿Ï Ïγηθεί με Ïο Î ÏÏγÏαμμα εγκαÏάÏÏαÏÎ·Ï ÏÎ¿Ï Tails" +msgstr "Î ÏÏ ÏÎºÎµÏ Î® δεν ÎÏει Î´Î·Î¼Î¹Î¿Ï Ïγηθεί με Ïο Î ÏÏγÏαμμα εγκαÏάÏÏαÏÎ·Ï ÏÏν Tails." #: ../lib/Tails/IUK/Frontend.pm:245 msgid "Tails was started from a DVD or a read-only device" -msgstr "Το Tails ÎÏει εκκινηθεί αÏÏ DVD ή αÏÏ Î¼Î¹Î± μη-εγγÏάÏιμη ÏÏ ÏÎºÎµÏ Î®." +msgstr "Τα Tails ÎÏÎ¿Ï Î½ εκκινηθεί αÏÏ DVD ή αÏÏ Î¼Î¹Î± μη-εγγÏάÏιμη ÏÏ ÏÎºÎµÏ Î®." #: ../lib/Tails/IUK/Frontend.pm:250 msgid "there is not enough free space on the Tails system partition" -msgstr "δεν Ï ÏάÏÏει αÏκεÏÏÏ ÏÏÏÎ¿Ï ÏÏο δίÏκο" +msgstr "Îεν Ï ÏάÏÏει αÏκεÏÏÏ ÏÏÏÎ¿Ï ÏÏο δίÏκο." #: ../lib/Tails/IUK/Frontend.pm:255 msgid "not enough memory is available on this system" -msgstr "Ïο ÏÏÏÏημα δεν ÎÏει αÏκεÏή διαθÎÏιμη μνήμη" +msgstr "Το ÏÏÏÏημα δεν ÎÏει αÏκεÏή διαθÎÏιμη μνήμη." #: ../lib/Tails/IUK/Frontend.pm:261 #, perl-brace-format @@ -92,13 +93,13 @@ msgstr "ΠδιαθÎÏιμη μεÏική αναβάθμιÏη ÏÏÎµÎ¹Î¬Î¶ÎµÏ msgid "" "The available incremental upgrade requires %{memory_needed}s of free memory," " but only %{free_memory}s is available." -msgstr "ΠδιαθÎÏιμη μεÏική αναβάθμιÏη ÏÏειάζεÏαι %{memory_needed}s ελεÏθεÏÎ¿Ï ÏÏÏÎ¿Ï ÏÏο δίÏκο ÏÎ¿Ï Tails, αλλά μÏνο %{free_space}s είναι διαθÎÏιμα." +msgstr "ΠδιαθÎÏιμη μεÏική αναβάθμιÏη ÏÏειάζεÏαι %{memory_needed}s ελεÏθεÏÎ¿Ï ÏÏÏÎ¿Ï ÏÏο δίÏκο, αλλά μÏνο %{free_space}s είναι διαθÎÏιμα." #: ../lib/Tails/IUK/Frontend.pm:356 msgid "" "An incremental upgrade is available, but no full upgrade is.\n" "This should not happen. Please report a bug." -msgstr "ÎεÏική αναβάθμιÏη διαθÎÏιμη, αλλά ÏÏι ÏλήÏÎ·Ï Î±Î½Î±Î²Î¬Î¸Î¼Î¹Ïη.\nÎÏ ÏÏ Î´Îµ θα ÎÏÏεÏε να ÏÏ Î¼Î²Î±Î¯Î½ÎµÎ¹. ΠαÏÎ±ÎºÎ±Î»Ï ÎµÎ¹Î´Î¿Ï
[tor-commits] [translation/tails-iuk] Update translations for tails-iuk
commit 8ea097ddbc7a5b4f593ed2d840a0b783f3a71ee5 Author: Translation commit bot Date: Thu Sep 27 06:46:05 2018 + Update translations for tails-iuk --- el.po | 25 + 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/el.po b/el.po index 42eda59b6..c0108a277 100644 --- a/el.po +++ b/el.po @@ -4,6 +4,7 @@ # # Translators: # Adrian Pappas , 2014,2016 +# A Papac , 2018 # firespin , 2014 # ggoniotakis , 2014 # isv31 <36b04...@anon.leemail.me>, 2014 @@ -18,8 +19,8 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: Tails developers \n" "POT-Creation-Date: 2018-08-16 11:16+0200\n" -"PO-Revision-Date: 2018-09-21 15:20+\n" -"Last-Translator: Sofia K.\n" +"PO-Revision-Date: 2018-09-27 06:45+\n" +"Last-Translator: A Papac \n" "Language-Team: Greek (http://www.transifex.com/otf/torproject/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,27 +46,27 @@ msgid "" "Check your network connection, and restart Tails to try upgrading again.\n" "\n" "If the problem persists, go to file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" -msgstr "Îε ήÏαν Î´Ï Î½Î±ÏÏ Î½Î± ÏÏοÏδιοÏιÏÏεί αν Ï ÏάÏÏει διαθÎÏιμη αναβάθμιÏη.\n\nÎλÎγξÏε Ïη ÏÏνδεÏη δικÏÏÎ¿Ï ÏÎ±Ï ÎºÎ±Î¹ κάνÏε εÏανεκκίνηÏη για να εÏαναληÏθεί η ÏÏοÏÏάθεια αναβάθμιÏηÏ.\n\nÎν Ïο ÏÏÏβλημα ÏÏ Î½ÎµÏιÏÏεί, ÏηγαίνεÏε ÏÏο file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" +msgstr "Îεν ήÏαν Î´Ï Î½Î±ÏÏ Î½Î± ÏÏοÏδιοÏιÏÏεί αν Ï ÏάÏÏει διαθÎÏιμη αναβάθμιÏη ÏÏην ιÏÏοÏελίδα μαÏ.\n\nÎλÎγξÏε Ïη ÏÏνδεÏη δικÏÏÎ¿Ï ÏÎ±Ï ÎºÎ±Î¹ κάνÏε εÏανεκκίνηÏη ÏÏν Tails για να εÏαναληÏθεί η ÏÏοÏÏάθεια αναβάθμιÏηÏ.\n\nÎν Ïο ÏÏÏβλημα ÏÏ Î½ÎµÏιÏÏεί, ÏηγαίνεÏε ÏÏο file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" #: ../lib/Tails/IUK/Frontend.pm:234 msgid "no automatic upgrade is available from our website for this version" -msgstr "δεν Ï ÏάÏÏει Î±Ï ÏÏμαÏη αναβάθμιÏη διαθÎÏιμη αÏÏ Ïον ιÏÏÏÏοÏο ÏÎ¿Ï Tails για Î±Ï Ïή Ïην ÎκδοÏη." +msgstr "Îεν Ï ÏάÏÏει Î±Ï ÏÏμαÏη αναβάθμιÏη διαθÎÏιμη αÏÏ Ïον ιÏÏÏÏοÏο ÏÎ¿Ï Tails για Î±Ï Ïήν Ïην ÎκδοÏη." #: ../lib/Tails/IUK/Frontend.pm:240 msgid "your device was not created using Tails Installer" -msgstr "η ÏÏ ÏÎºÎµÏ Î® δε ÎÏει Î´Î·Î¼Î¹Î¿Ï Ïγηθεί με Ïο Î ÏÏγÏαμμα εγκαÏάÏÏαÏÎ·Ï ÏÎ¿Ï Tails" +msgstr "Î ÏÏ ÏÎºÎµÏ Î® δεν ÎÏει Î´Î·Î¼Î¹Î¿Ï Ïγηθεί με Ïο Î ÏÏγÏαμμα εγκαÏάÏÏαÏÎ·Ï ÏÏν Tails." #: ../lib/Tails/IUK/Frontend.pm:245 msgid "Tails was started from a DVD or a read-only device" -msgstr "Το Tails ÎÏει εκκινηθεί αÏÏ DVD ή αÏÏ Î¼Î¹Î± μη-εγγÏάÏιμη ÏÏ ÏÎºÎµÏ Î®." +msgstr "Τα Tails ÎÏÎ¿Ï Î½ εκκινηθεί αÏÏ DVD ή αÏÏ Î¼Î¹Î± μη-εγγÏάÏιμη ÏÏ ÏÎºÎµÏ Î®." #: ../lib/Tails/IUK/Frontend.pm:250 msgid "there is not enough free space on the Tails system partition" -msgstr "δεν Ï ÏάÏÏει αÏκεÏÏÏ ÏÏÏÎ¿Ï ÏÏο δίÏκο" +msgstr "Îεν Ï ÏάÏÏει αÏκεÏÏÏ ÏÏÏÎ¿Ï ÏÏο δίÏκο." #: ../lib/Tails/IUK/Frontend.pm:255 msgid "not enough memory is available on this system" -msgstr "Ïο ÏÏÏÏημα δεν ÎÏει αÏκεÏή διαθÎÏιμη μνήμη" +msgstr "Το ÏÏÏÏημα δεν ÎÏει αÏκεÏή διαθÎÏιμη μνήμη." #: ../lib/Tails/IUK/Frontend.pm:261 #, perl-brace-format @@ -92,13 +93,13 @@ msgstr "ΠδιαθÎÏιμη μεÏική αναβάθμιÏη ÏÏÎµÎ¹Î¬Î¶ÎµÏ msgid "" "The available incremental upgrade requires %{memory_needed}s of free memory," " but only %{free_memory}s is available." -msgstr "ΠδιαθÎÏιμη μεÏική αναβάθμιÏη ÏÏειάζεÏαι %{memory_needed}s ελεÏθεÏÎ¿Ï ÏÏÏÎ¿Ï ÏÏο δίÏκο ÏÎ¿Ï Tails, αλλά μÏνο %{free_space}s είναι διαθÎÏιμα." +msgstr "ΠδιαθÎÏιμη μεÏική αναβάθμιÏη ÏÏειάζεÏαι %{memory_needed}s ελεÏθεÏÎ¿Ï ÏÏÏÎ¿Ï ÏÏο δίÏκο, αλλά μÏνο %{free_space}s είναι διαθÎÏιμα." #: ../lib/Tails/IUK/Frontend.pm:356 msgid "" "An incremental upgrade is available, but no full upgrade is.\n" "This should not happen. Please report a bug." -msgstr "ÎεÏική αναβάθμιÏη διαθÎÏιμη, αλλά ÏÏι ÏλήÏÎ·Ï Î±Î½Î±Î²Î¬Î¸Î¼Î¹Ïη.\nÎÏ ÏÏ Î´Îµ θα ÎÏÏεÏε να ÏÏ Î¼Î²Î±Î¯Î½ÎµÎ¹. ΠαÏÎ±ÎºÎ±Î»Ï ÎµÎ¹Î´Î¿ÏοιήÏÏ