[tor-commits] [metrics-web/master] Don't attempt to read non-existant csv.R.
commit d0fdf5a2e0271850e9b909c066c6591ee94c92e6 Author: Karsten Loesing karsten.loes...@gmx.net Date: Fri May 9 08:31:01 2014 +0200 Don't attempt to read non-existant csv.R. This silently broke table generation on users.html. Bug introduced in 9b0f692823ea9851c0b184cb6408882fb0cb5e9a. Fixes #11847. --- website/rserve/rserve-init.R |1 - 1 file changed, 1 deletion(-) diff --git a/website/rserve/rserve-init.R b/website/rserve/rserve-init.R index 7a87b16..4c6fa10 100644 --- a/website/rserve/rserve-init.R +++ b/website/rserve/rserve-init.R @@ -9,6 +9,5 @@ library(digest) library(RColorBrewer) source('graphs.R') -source('csv.R') source('tables.R') ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [onionoo/master] Use Gson to format JSON details status files.
commit 677c5a3af88f8b7862c47d2148df6f0f9523062e Author: Karsten Loesing karsten.loes...@gmx.net Date: Sun Apr 20 19:02:24 2014 +0200 Use Gson to format JSON details status files. --- src/org/torproject/onionoo/DetailsStatus.java | 130 +- src/org/torproject/onionoo/DocumentStore.java | 29 +++- .../onionoo/NodeDetailsStatusUpdater.java | 179 +--- 3 files changed, 201 insertions(+), 137 deletions(-) diff --git a/src/org/torproject/onionoo/DetailsStatus.java b/src/org/torproject/onionoo/DetailsStatus.java index 1ebb100..1a497e4 100644 --- a/src/org/torproject/onionoo/DetailsStatus.java +++ b/src/org/torproject/onionoo/DetailsStatus.java @@ -1,7 +1,133 @@ -/* Copyright 2013 The Tor Project +/* Copyright 2013--2014 The Tor Project * See LICENSE for licensing information */ package org.torproject.onionoo; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.StringEscapeUtils; + class DetailsStatus extends Document { -} + /* We must ensure that details files only contain ASCII characters + * and no UTF-8 characters. While UTF-8 characters are perfectly + * valid in JSON, this would break compatibility with existing files + * pretty badly. We do this by escaping non-ASCII characters, e.g., + * \u00F2. Gson won't treat this as UTF-8, but will think that we want + * to write six characters '\', 'u', '0', '0', 'F', '2'. The only thing + * we'll have to do is to change back the '\\' that Gson writes for the + * '\'. */ + private static String escapeJSON(String s) { +return s == null ? null : +StringEscapeUtils.escapeJavaScript(s).replaceAll(', '); + } + private static String unescapeJSON(String s) { +return s == null ? null : +StringEscapeUtils.unescapeJavaScript(s.replaceAll(', \\')); + } + + private String desc_published; + public void setDescPublished(String descPublished) { +this.desc_published = descPublished; + } + public String getDescPublished() { +return this.desc_published; + } + + private String last_restarted; + public void setLastRestarted(String lastRestarted) { +this.last_restarted = lastRestarted; + } + public String getLastRestarted() { +return this.last_restarted; + } + + private Integer bandwidth_rate; + public void setBandwidthRate(Integer bandwidthRate) { +this.bandwidth_rate = bandwidthRate; + } + public Integer getBandwidthRate() { +return this.bandwidth_rate; + } + + private Integer bandwidth_burst; + public void setBandwidthBurst(Integer bandwidthBurst) { +this.bandwidth_burst = bandwidthBurst; + } + public Integer getBandwidthBurst() { +return this.bandwidth_burst; + } + + private Integer observed_bandwidth; + public void setObservedBandwidth(Integer observedBandwidth) { +this.observed_bandwidth = observedBandwidth; + } + public Integer getObservedBandwidth() { +return this.observed_bandwidth; + } + + private Integer advertised_bandwidth; + public void setAdvertisedBandwidth(Integer advertisedBandwidth) { +this.advertised_bandwidth = advertisedBandwidth; + } + public Integer getAdvertisedBandwidth() { +return this.advertised_bandwidth; + } + + private ListString exit_policy; + public void setExitPolicy(ListString exitPolicy) { +this.exit_policy = exitPolicy; + } + public ListString getExitPolicy() { +return this.exit_policy; + } + + private String contact; + public void setContact(String contact) { +this.contact = escapeJSON(contact); + } + public String getContact() { +return unescapeJSON(this.contact); + } + + private String platform; + public void setPlatform(String platform) { +this.platform = escapeJSON(platform); + } + public String getPlatform() { +return unescapeJSON(this.platform); + } + + private ListString family; + public void setFamily(ListString family) { +this.family = family; + } + public ListString getFamily() { +return this.family; + } + + private MapString, ListString exit_policy_v6_summary; + public void setExitPolicyV6Summary( + MapString, ListString exitPolicyV6Summary) { +this.exit_policy_v6_summary = exitPolicyV6Summary; + } + public MapString, ListString getExitPolicyV6Summary() { +return this.exit_policy_v6_summary; + } + + private Boolean hibernating; + public void setHibernating(Boolean hibernating) { +this.hibernating = hibernating; + } + public Boolean getHibernating() { +return this.hibernating; + } + + private String pool_assignment; + public void setPoolAssignment(String poolAssignment) { +this.pool_assignment = poolAssignment; + } + public String getPoolAssignment() { +return this.pool_assignment; + } +} diff --git a/src/org/torproject/onionoo/DocumentStore.java b/src/org/torproject/onionoo/DocumentStore.java index e98fb4e..d80999e 100644 --- a/src/org/torproject/onionoo/DocumentStore.java +++
[tor-commits] [onionoo/master] Use Gson to format JSON uptime documents.
commit 7b05cc2bc7e94424ffdbccceaa6d2102c0e2aeae Author: Karsten Loesing karsten.loes...@gmx.net Date: Sun Apr 20 14:51:44 2014 +0200 Use Gson to format JSON uptime documents. --- src/org/torproject/onionoo/GraphHistory.java | 56 + src/org/torproject/onionoo/ResponseBuilder.java|4 +- src/org/torproject/onionoo/UptimeDocument.java | 14 ++ .../torproject/onionoo/UptimeDocumentWriter.java | 67 +++--- .../onionoo/UptimeDocumentWriterTest.java | 253 5 files changed, 355 insertions(+), 39 deletions(-) diff --git a/src/org/torproject/onionoo/GraphHistory.java b/src/org/torproject/onionoo/GraphHistory.java new file mode 100644 index 000..f03be58 --- /dev/null +++ b/src/org/torproject/onionoo/GraphHistory.java @@ -0,0 +1,56 @@ +/* Copyright 2014 The Tor Project + * See LICENSE for licensing information */ +package org.torproject.onionoo; + +import java.util.List; + +public class GraphHistory { + + private String first; + public void setFirst(String first) { +this.first = first; + } + public String getFirst() { +return this.first; + } + + private String last; + public void setLast(String last) { +this.last = last; + } + public String getLast() { +return this.last; + } + + private Integer interval; + public void setInterval(Integer interval) { +this.interval = interval; + } + public Integer getInterval() { +return this.interval; + } + + private Double factor; + public void setFactor(Double factor) { +this.factor = factor; + } + public Double getFactor() { +return this.factor; + } + + private Integer count; + public void setCount(Integer count) { +this.count = count; + } + public Integer getCount() { +return this.count; + } + + private ListInteger values; + public void setValues(ListInteger values) { +this.values = values; + } + public ListInteger getValues() { +return this.values; + } +} diff --git a/src/org/torproject/onionoo/ResponseBuilder.java b/src/org/torproject/onionoo/ResponseBuilder.java index c4f3f07..dbd8cc7 100644 --- a/src/org/torproject/onionoo/ResponseBuilder.java +++ b/src/org/torproject/onionoo/ResponseBuilder.java @@ -236,9 +236,7 @@ public class ResponseBuilder { UptimeDocument.class, false, fingerprint); if (uptimeDocument != null uptimeDocument.getDocumentString() != null) { - String uptimeLines = uptimeDocument.getDocumentString(); - uptimeLines = uptimeLines.substring(0, uptimeLines.length() - 1); - return uptimeLines; + return uptimeDocument.getDocumentString(); } else { return {\fingerprint\:\ + fingerprint.toUpperCase() + \}; } diff --git a/src/org/torproject/onionoo/UptimeDocument.java b/src/org/torproject/onionoo/UptimeDocument.java index f71cb87..b2df03b 100644 --- a/src/org/torproject/onionoo/UptimeDocument.java +++ b/src/org/torproject/onionoo/UptimeDocument.java @@ -2,7 +2,21 @@ * See LICENSE for licensing information */ package org.torproject.onionoo; +import java.util.Map; + class UptimeDocument extends Document { + private String fingerprint; + public void setFingerprint(String fingerprint) { +this.fingerprint = fingerprint; + } + + private MapString, GraphHistory uptime; + public void setUptime(MapString, GraphHistory uptime) { +this.uptime = uptime; + } + public MapString, GraphHistory getUptime() { +return this.uptime; + } } diff --git a/src/org/torproject/onionoo/UptimeDocumentWriter.java b/src/org/torproject/onionoo/UptimeDocumentWriter.java index 14c800d..8293f77 100644 --- a/src/org/torproject/onionoo/UptimeDocumentWriter.java +++ b/src/org/torproject/onionoo/UptimeDocumentWriter.java @@ -3,8 +3,9 @@ package org.torproject.onionoo; import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; -import java.util.Locale; +import java.util.Map; import java.util.SortedSet; import java.util.TreeSet; @@ -70,9 +71,8 @@ public class UptimeDocumentWriter implements FingerprintListener, SortedSetUptimeHistory history = relay ? uptimeStatus.getRelayHistory() : uptimeStatus.getBridgeHistory(); - UptimeDocument uptimeDocument = new UptimeDocument(); - uptimeDocument.setDocumentString(this.formatHistoryString(relay, - fingerprint, history, knownStatuses)); + UptimeDocument uptimeDocument = this.compileUptimeDocument(relay, + fingerprint, history, knownStatuses); this.documentStore.store(uptimeDocument, fingerprint); this.writtenDocuments++; } @@ -99,31 +99,29 @@ public class UptimeDocumentWriter implements FingerprintListener, DateTimeHelper.TWO_DAYS, DateTimeHelper.TEN_DAYS }; - private String formatHistoryString(boolean relay, String fingerprint, - SortedSetUptimeHistory history, + private UptimeDocument compileUptimeDocument(boolean relay, + String fingerprint, SortedSetUptimeHistory history,
[tor-commits] [onionoo/master] Use Gson to format JSON bandwidth documents.
commit f148e0178c73a51df9f25fa339647e2ced083b57 Author: Karsten Loesing karsten.loes...@gmx.net Date: Sun Apr 20 15:28:50 2014 +0200 Use Gson to format JSON bandwidth documents. --- src/org/torproject/onionoo/BandwidthDocument.java | 16 + .../onionoo/BandwidthDocumentWriter.java | 69 +--- src/org/torproject/onionoo/ResponseBuilder.java|5 +- 3 files changed, 49 insertions(+), 41 deletions(-) diff --git a/src/org/torproject/onionoo/BandwidthDocument.java b/src/org/torproject/onionoo/BandwidthDocument.java index 3f1a07f..e39befb 100644 --- a/src/org/torproject/onionoo/BandwidthDocument.java +++ b/src/org/torproject/onionoo/BandwidthDocument.java @@ -2,7 +2,23 @@ * See LICENSE for licensing information */ package org.torproject.onionoo; +import java.util.Map; + class BandwidthDocument extends Document { + private String fingerprint; + public void setFingerprint(String fingerprint) { +this.fingerprint = fingerprint; + } + + private MapString, GraphHistory write_history; + public void setWriteHistory(MapString, GraphHistory writeHistory) { +this.write_history = writeHistory; + } + + private MapString, GraphHistory read_history; + public void setReadHistory(MapString, GraphHistory readHistory) { +this.read_history = readHistory; + } } diff --git a/src/org/torproject/onionoo/BandwidthDocumentWriter.java b/src/org/torproject/onionoo/BandwidthDocumentWriter.java index 0bc8387..164ab30 100644 --- a/src/org/torproject/onionoo/BandwidthDocumentWriter.java +++ b/src/org/torproject/onionoo/BandwidthDocumentWriter.java @@ -4,8 +4,9 @@ package org.torproject.onionoo; import java.util.ArrayList; import java.util.HashSet; +import java.util.LinkedHashMap; import java.util.List; -import java.util.Locale; +import java.util.Map; import java.util.Set; import java.util.SortedMap; import java.util.SortedSet; @@ -47,25 +48,23 @@ public class BandwidthDocumentWriter implements FingerprintListener, if (bandwidthStatus == null) { continue; } - this.writeBandwidthDataFileToDisk(fingerprint, - bandwidthStatus.getWriteHistory(), - bandwidthStatus.getReadHistory()); + BandwidthDocument bandwidthDocument = this.compileBandwidthDocument( + fingerprint, bandwidthStatus); + this.documentStore.store(bandwidthDocument, fingerprint); } Logger.printStatusTime(Wrote bandwidth document files); } - private void writeBandwidthDataFileToDisk(String fingerprint, - SortedMapLong, long[] writeHistory, - SortedMapLong, long[] readHistory) { -String writeHistoryString = formatHistoryString(writeHistory); -String readHistoryString = formatHistoryString(readHistory); -StringBuilder sb = new StringBuilder(); -sb.append({\fingerprint\:\ + fingerprint + \,\n -+ \write_history\:{\n + writeHistoryString + },\n -+ \read_history\:{\n + readHistoryString + }}\n); + + private BandwidthDocument compileBandwidthDocument(String fingerprint, + BandwidthStatus bandwidthStatus) { BandwidthDocument bandwidthDocument = new BandwidthDocument(); -bandwidthDocument.setDocumentString(sb.toString()); -this.documentStore.store(bandwidthDocument, fingerprint); +bandwidthDocument.setFingerprint(fingerprint); +bandwidthDocument.setWriteHistory(this.compileGraphType( +bandwidthStatus.getWriteHistory())); +bandwidthDocument.setReadHistory(this.compileGraphType( +bandwidthStatus.getReadHistory())); +return bandwidthDocument; } private String[] graphNames = new String[] { @@ -92,8 +91,10 @@ public class BandwidthDocumentWriter implements FingerprintListener, DateTimeHelper.TWO_DAYS, DateTimeHelper.TEN_DAYS }; - private String formatHistoryString(SortedMapLong, long[] history) { -StringBuilder sb = new StringBuilder(); + private MapString, GraphHistory compileGraphType( + SortedMapLong, long[] history) { +MapString, GraphHistory graphs = +new LinkedHashMapString, GraphHistory(); for (int i = 0; i this.graphIntervals.length; i++) { String graphName = this.graphNames[i]; long graphInterval = this.graphIntervals[i]; @@ -153,18 +154,16 @@ public class BandwidthDocumentWriter implements FingerprintListener, + (lastNonNullIndex - firstNonNullIndex) * dataPointInterval; double factor = ((double) maxValue) / 999.0; int count = lastNonNullIndex - firstNonNullIndex + 1; - StringBuilder sb2 = new StringBuilder(); - sb2.append(\ + graphName + \:{ - + \first\:\ - + DateTimeHelper.format(firstDataPointMillis) + \, - + \last\:\ - + DateTimeHelper.format(lastDataPointMillis) + \, - + \interval\: + String.valueOf(dataPointInterval - / DateTimeHelper.ONE_SECOND) - + ,\factor\: + String.format(Locale.US, %.3f, factor) - + ,\count\: + String.valueOf(count) +
[tor-commits] [onionoo/master] Use Gson to format JSON weights documents.
commit 2d4d342a755cb8085edd81e9d68d92f5110389f9 Author: Karsten Loesing karsten.loes...@gmx.net Date: Sun Apr 20 15:20:36 2014 +0200 Use Gson to format JSON weights documents. --- src/org/torproject/onionoo/ResponseBuilder.java|4 +- src/org/torproject/onionoo/WeightsDocument.java| 38 .../torproject/onionoo/WeightsDocumentWriter.java | 93 ++-- 3 files changed, 85 insertions(+), 50 deletions(-) diff --git a/src/org/torproject/onionoo/ResponseBuilder.java b/src/org/torproject/onionoo/ResponseBuilder.java index f59a81c..4e0054e 100644 --- a/src/org/torproject/onionoo/ResponseBuilder.java +++ b/src/org/torproject/onionoo/ResponseBuilder.java @@ -208,9 +208,7 @@ public class ResponseBuilder { WeightsDocument.class, false, fingerprint); if (weightsDocument != null weightsDocument.getDocumentString() != null) { - String weightsLines = weightsDocument.getDocumentString(); - weightsLines = weightsLines.substring(0, weightsLines.length() - 1); - return weightsLines; + return weightsDocument.getDocumentString(); } else { return {\fingerprint\:\ + fingerprint.toUpperCase() + \}; } diff --git a/src/org/torproject/onionoo/WeightsDocument.java b/src/org/torproject/onionoo/WeightsDocument.java index af920f0..ff1d5f4 100644 --- a/src/org/torproject/onionoo/WeightsDocument.java +++ b/src/org/torproject/onionoo/WeightsDocument.java @@ -1,6 +1,44 @@ +/* Copyright 2014 The Tor Project + * See LICENSE for licensing information */ package org.torproject.onionoo; +import java.util.Map; + class WeightsDocument extends Document { + private String fingerprint; + public void setFingerprint(String fingerprint) { +this.fingerprint = fingerprint; + } + + private MapString, GraphHistory advertised_bandwidth_fraction; + public void setAdvertisedBandwidthFraction( + MapString, GraphHistory advertisedBandwidthFraction) { +this.advertised_bandwidth_fraction = advertisedBandwidthFraction; + } + + private MapString, GraphHistory consensus_weight_fraction; + public void setConsensusWeightFraction( + MapString, GraphHistory consensusWeightFraction) { +this.consensus_weight_fraction = consensusWeightFraction; + } + + private MapString, GraphHistory guard_probability; + public void setGuardProbability( + MapString, GraphHistory guardProbability) { +this.guard_probability = guardProbability; + } + + private MapString, GraphHistory middle_probability; + public void setMiddleProbability( + MapString, GraphHistory middleProbability) { +this.middle_probability = middleProbability; + } + + private MapString, GraphHistory exit_probability; + public void setExitProbability( + MapString, GraphHistory exitProbability) { +this.exit_probability = exitProbability; + } } diff --git a/src/org/torproject/onionoo/WeightsDocumentWriter.java b/src/org/torproject/onionoo/WeightsDocumentWriter.java index d2f2a67..74108c9 100644 --- a/src/org/torproject/onionoo/WeightsDocumentWriter.java +++ b/src/org/torproject/onionoo/WeightsDocumentWriter.java @@ -4,8 +4,8 @@ package org.torproject.onionoo; import java.util.ArrayList; import java.util.HashSet; +import java.util.LinkedHashMap; import java.util.List; -import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.SortedMap; @@ -56,21 +56,13 @@ public class WeightsDocumentWriter implements FingerprintListener, continue; } SortedMaplong[], double[] history = weightsStatus.getHistory(); - WeightsDocument weightsDocument = new WeightsDocument(); - weightsDocument.setDocumentString(this.formatHistoryString( - fingerprint, history)); + WeightsDocument weightsDocument = this.compileWeightsDocument( + fingerprint, history); this.documentStore.store(weightsDocument, fingerprint); } +Logger.printStatusTime(Wrote weights document files); } - private String[] graphTypes = new String[] { - advertised_bandwidth_fraction, - consensus_weight_fraction, - guard_probability, - middle_probability, - exit_probability - }; - private String[] graphNames = new String[] { 1_week, 1_month, @@ -92,33 +84,41 @@ public class WeightsDocumentWriter implements FingerprintListener, DateTimeHelper.TWO_DAYS, DateTimeHelper.TEN_DAYS }; - private String formatHistoryString(String fingerprint, + private WeightsDocument compileWeightsDocument(String fingerprint, SortedMaplong[], double[] history) { -StringBuilder sb = new StringBuilder(); -sb.append({\fingerprint\:\ + fingerprint + \); -for (int graphTypeIndex = 0; graphTypeIndex this.graphTypes.length; -graphTypeIndex++) { - String graphType = this.graphTypes[graphTypeIndex]; - sb.append(,\n\ + graphType + \:{); - int graphIntervalsWritten = 0; - for (int graphIntervalIndex = 0; graphIntervalIndex
[tor-commits] [onionoo/master] Use Gson to format JSON clients documents.
commit 54ce50aebec208eae02688e7690ab0aa996a6210 Author: Karsten Loesing karsten.loes...@gmx.net Date: Sun Apr 20 15:20:21 2014 +0200 Use Gson to format JSON clients documents. --- src/org/torproject/onionoo/ClientsDocument.java| 12 +++ .../torproject/onionoo/ClientsDocumentWriter.java | 94 +--- .../torproject/onionoo/ClientsGraphHistory.java| 83 + src/org/torproject/onionoo/ResponseBuilder.java|4 +- 4 files changed, 138 insertions(+), 55 deletions(-) diff --git a/src/org/torproject/onionoo/ClientsDocument.java b/src/org/torproject/onionoo/ClientsDocument.java index c8679fc..300541d 100644 --- a/src/org/torproject/onionoo/ClientsDocument.java +++ b/src/org/torproject/onionoo/ClientsDocument.java @@ -2,7 +2,19 @@ * See LICENSE for licensing information */ package org.torproject.onionoo; +import java.util.Map; + class ClientsDocument extends Document { + private String fingerprint; + public void setFingerprint(String fingerprint) { +this.fingerprint = fingerprint; + } + + private MapString, ClientsGraphHistory average_clients; + public void setAverageClients( + MapString, ClientsGraphHistory averageClients) { +this.average_clients = averageClients; + } } diff --git a/src/org/torproject/onionoo/ClientsDocumentWriter.java b/src/org/torproject/onionoo/ClientsDocumentWriter.java index bab78e9..1fced6d 100644 --- a/src/org/torproject/onionoo/ClientsDocumentWriter.java +++ b/src/org/torproject/onionoo/ClientsDocumentWriter.java @@ -3,8 +3,8 @@ package org.torproject.onionoo; import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; -import java.util.Locale; import java.util.Map; import java.util.SortedMap; import java.util.SortedSet; @@ -74,9 +74,8 @@ public class ClientsDocumentWriter implements FingerprintListener, continue; } SortedSetClientsHistory history = clientsStatus.getHistory(); - ClientsDocument clientsDocument = new ClientsDocument(); - clientsDocument.setDocumentString(this.formatHistoryString( - hashedFingerprint, history)); + ClientsDocument clientsDocument = this.compileClientsDocument( + hashedFingerprint, history); this.documentStore.store(clientsDocument, hashedFingerprint); this.writtenDocuments++; } @@ -104,28 +103,27 @@ public class ClientsDocumentWriter implements FingerprintListener, DateTimeHelper.TWO_DAYS, DateTimeHelper.TEN_DAYS }; - private String formatHistoryString(String hashedFingerprint, + private ClientsDocument compileClientsDocument(String hashedFingerprint, SortedSetClientsHistory history) { -StringBuilder sb = new StringBuilder(); -sb.append({\fingerprint\:\ + hashedFingerprint + \); -sb.append(,\n\average_clients\:{); -int graphIntervalsWritten = 0; +ClientsDocument clientsDocument = new ClientsDocument(); +clientsDocument.setFingerprint(hashedFingerprint); +MapString, ClientsGraphHistory averageClients = +new LinkedHashMapString, ClientsGraphHistory(); for (int graphIntervalIndex = 0; graphIntervalIndex this.graphIntervals.length; graphIntervalIndex++) { - String timeline = this.formatTimeline(graphIntervalIndex, history); - if (timeline != null) { -sb.append((graphIntervalsWritten++ 0 ? , : ) + \n -+ timeline); + String graphName = this.graphNames[graphIntervalIndex]; + ClientsGraphHistory graphHistory = this.compileClientsHistory( + graphIntervalIndex, history); + if (graphHistory != null) { +averageClients.put(graphName, graphHistory); } } -sb.append(}); -sb.append(\n}\n); -return sb.toString(); +clientsDocument.setAverageClients(averageClients); +return clientsDocument; } - private String formatTimeline(int graphIntervalIndex, - SortedSetClientsHistory history) { -String graphName = this.graphNames[graphIntervalIndex]; + private ClientsGraphHistory compileClientsHistory( + int graphIntervalIndex, SortedSetClientsHistory history) { long graphInterval = this.graphIntervals[graphIntervalIndex]; long dataPointInterval = this.dataPointIntervals[graphIntervalIndex]; @@ -214,16 +212,16 @@ public class ClientsDocumentWriter implements FingerprintListener, + (lastNonNullIndex - firstNonNullIndex) * dataPointInterval; double factor = ((double) maxValue) / 999.0; int count = lastNonNullIndex - firstNonNullIndex + 1; -StringBuilder sb = new StringBuilder(); -sb.append(\ + graphName + \:{ -+ \first\:\ + DateTimeHelper.format(firstDataPointMillis) -+ \,\last\:\ + DateTimeHelper.format(lastDataPointMillis) -+ \,\interval\: + String.valueOf(dataPointInterval -/ DateTimeHelper.ONE_SECOND) -+ ,\factor\: + String.format(Locale.US, %.9f, factor) -+ ,\count\: + String.valueOf(count) + ,\values\:[); -
[tor-commits] [onionoo/master] Use Gson to format JSON details documents.
commit 368e81088f736598337a5c4c19ebaac3f925023d Author: Karsten Loesing karsten.loes...@gmx.net Date: Sun Apr 20 20:23:40 2014 +0200 Use Gson to format JSON details documents. --- src/org/torproject/onionoo/DetailsDocument.java| 347 +++- .../torproject/onionoo/DetailsDocumentWriter.java | 293 ++--- src/org/torproject/onionoo/ResponseBuilder.java| 162 ++--- 3 files changed, 562 insertions(+), 240 deletions(-) diff --git a/src/org/torproject/onionoo/DetailsDocument.java b/src/org/torproject/onionoo/DetailsDocument.java index b51b6cd..6c7e0ae 100644 --- a/src/org/torproject/onionoo/DetailsDocument.java +++ b/src/org/torproject/onionoo/DetailsDocument.java @@ -1,8 +1,353 @@ -/* Copyright 2013 The Tor Project +/* Copyright 2013--2014 The Tor Project * See LICENSE for licensing information */ package org.torproject.onionoo; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.StringEscapeUtils; + class DetailsDocument extends Document { + /* We must ensure that details files only contain ASCII characters + * and no UTF-8 characters. While UTF-8 characters are perfectly + * valid in JSON, this would break compatibility with existing files + * pretty badly. We do this by escaping non-ASCII characters, e.g., + * \u00F2. Gson won't treat this as UTF-8, but will think that we want + * to write six characters '\', 'u', '0', '0', 'F', '2'. The only thing + * we'll have to do is to change back the '\\' that Gson writes for the + * '\'. */ + private static String escapeJSON(String s) { +return s == null ? null : +StringEscapeUtils.escapeJavaScript(s).replaceAll(', '); + } + private static String unescapeJSON(String s) { +return s == null ? null : +StringEscapeUtils.unescapeJavaScript(s.replaceAll(', \\')); + } + + private String nickname; + public void setNickname(String nickname) { +this.nickname = nickname; + } + public String getNickname() { +return this.nickname; + } + + private String fingerprint; + public void setFingerprint(String fingerprint) { +this.fingerprint = fingerprint; + } + public String getFingerprint() { +return this.fingerprint; + } + + private String hashed_fingerprint; + public void setHashedFingerprint(String hashedFingerprint) { +this.hashed_fingerprint = hashedFingerprint; + } + public String getHashedFingerprint() { +return this.hashed_fingerprint; + } + + private ListString or_addresses; + public void setOrAddresses(ListString orAddresses) { +this.or_addresses = orAddresses; + } + public ListString getOrAddresses() { +return this.or_addresses; + } + + private ListString exit_addresses; + public void setExitAddresses(ListString exitAddresses) { +this.exit_addresses = exitAddresses; + } + public ListString getExitAddresses() { +return this.exit_addresses; + } + + private String dir_address; + public void setDirAddress(String dirAddress) { +this.dir_address = dirAddress; + } + public String getDirAddress() { +return this.dir_address; + } + + private String last_seen; + public void setLastSeen(String lastSeen) { +this.last_seen = lastSeen; + } + public String getLastSeen() { +return this.last_seen; + } + + private String last_changed_address_or_port; + public void setLastChangedAddressOrPort( + String lastChangedAddressOrPort) { +this.last_changed_address_or_port = lastChangedAddressOrPort; + } + public String getLastChangedAddressOrPort() { +return this.last_changed_address_or_port; + } + + private String first_seen; + public void setFirstSeen(String firstSeen) { +this.first_seen = firstSeen; + } + public String getFirstSeen() { +return this.first_seen; + } + + private Boolean running; + public void setRunning(Boolean running) { +this.running = running; + } + public Boolean getRunning() { +return this.running; + } + + private ListString flags; + public void setFlags(ListString flags) { +this.flags = flags; + } + public ListString getFlags() { +return this.flags; + } + + private String country; + public void setCountry(String country) { +this.country = country; + } + public String getCountry() { +return this.country; + } + + private String country_name; + public void setCountryName(String countryName) { +this.country_name = escapeJSON(countryName); + } + public String getCountryName() { +return unescapeJSON(this.country_name); + } + + private String region_name; + public void setRegionName(String regionName) { +this.region_name = escapeJSON(regionName); + } + public String getRegionName() { +return unescapeJSON(this.region_name); + } + + private String city_name; + public void setCityName(String cityName) { +this.city_name = escapeJSON(cityName); + } + public String getCityName() { +return unescapeJSON(this.city_name); + } + + private Float latitude; +
[tor-commits] [tor-browser-bundle/master] Install fteproxy docs to the right place in the mac descriptor.
commit f7e0b712fcd54503a8a421eaa1b363183b67482d Author: David Fifield da...@bamsoftware.com Date: Thu May 8 11:54:54 2014 -0700 Install fteproxy docs to the right place in the mac descriptor. --- gitian/descriptors/mac/gitian-pluggable-transports.yml |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gitian/descriptors/mac/gitian-pluggable-transports.yml b/gitian/descriptors/mac/gitian-pluggable-transports.yml index df73197..6895c87 100644 --- a/gitian/descriptors/mac/gitian-pluggable-transports.yml +++ b/gitian/descriptors/mac/gitian-pluggable-transports.yml @@ -194,8 +194,8 @@ script: | CFLAGS=-L$INSTDIR/Tor -I$INSTDIR/gmp/include $CFLAGS CXXFLAGS=-L$INSTDIR/Tor -I$INSTDIR/gmp/include $CXXFLAGS make cp -a bin/fteproxy $PTDIR/ cp -ra fte $PTDIR/ - mkdir -p $INSTDIR/Docs/fteproxy - cp -a {COPYING,README.md} $INSTDIR/Docs/fteproxy + mkdir -p $INSTDIR/TorBrowserBundle.app/Docs/fteproxy + cp -a {COPYING,README.md} $INSTDIR/TorBrowserBundle.app/Docs/fteproxy cd .. # cd $INSTDIR ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor-browser-bundle/master] Include Docs/ pluggable-transports-win32-gbuilt.zip.
commit dc9fb94873d8e0b7eff7a99ff177c666d91ab1cd Author: David Fifield da...@bamsoftware.com Date: Thu May 8 11:45:00 2014 -0700 Include Docs/ pluggable-transports-win32-gbuilt.zip. Pluggable transport docs were missing on windows. --- gitian/descriptors/windows/gitian-pluggable-transports.yml |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitian/descriptors/windows/gitian-pluggable-transports.yml b/gitian/descriptors/windows/gitian-pluggable-transports.yml index cf7595e..3fdaf85 100644 --- a/gitian/descriptors/windows/gitian-pluggable-transports.yml +++ b/gitian/descriptors/windows/gitian-pluggable-transports.yml @@ -274,5 +274,5 @@ script: | cp -a $INSTDIR/python/python27.dll $PTDIR/ # cd $INSTDIR - ~/build/dzip.sh pluggable-transports-win32-gbuilt.zip Tor/ Data/ + ~/build/dzip.sh pluggable-transports-win32-gbuilt.zip Tor/ Data/ Docs/ cp pluggable-transports-win32-gbuilt.zip $OUTDIR/ ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor-browser-bundle/master] No need for a Data/ directory here.
commit 43a8ecaf1ca987cd02bf2c46f8886749d4986773 Author: Georg Koppen g...@torproject.org Date: Fri May 9 09:39:08 2014 + No need for a Data/ directory here. --- gitian/descriptors/windows/gitian-pluggable-transports.yml |7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gitian/descriptors/windows/gitian-pluggable-transports.yml b/gitian/descriptors/windows/gitian-pluggable-transports.yml index 3fdaf85..f1505bb 100644 --- a/gitian/descriptors/windows/gitian-pluggable-transports.yml +++ b/gitian/descriptors/windows/gitian-pluggable-transports.yml @@ -4,7 +4,7 @@ suites: - precise architectures: - i386 -packages: +packages: - git-core - unzip - zip @@ -73,10 +73,9 @@ script: | #export CFLAGS=-mwindows -fstack-protector-all -fPIE -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat-security #export LDFLAGS=-mwindows -Wl,--dynamicbase -Wl,--nxcompat -lssp -L/usr/lib/gcc/i686-w64-mingw32/4.6/ umask 0022 - # + # mkdir -p $INSTDIR/bin/ mkdir -p $PTDIR/ - mkdir -p $INSTDIR/Data/Tor/ mkdir -p $OUTDIR/ # # Set the timestamp on every .pyc file in a zip file, and re-dzip the zip file. @@ -274,5 +273,5 @@ script: | cp -a $INSTDIR/python/python27.dll $PTDIR/ # cd $INSTDIR - ~/build/dzip.sh pluggable-transports-win32-gbuilt.zip Tor/ Data/ Docs/ + ~/build/dzip.sh pluggable-transports-win32-gbuilt.zip Tor/ Docs/ cp pluggable-transports-win32-gbuilt.zip $OUTDIR/ ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] r26773: {website} Link to some obfsproxy coding tasks from the volunteers page (website/trunk/getinvolved/en)
Author: asn Date: 2014-05-09 14:13:40 + (Fri, 09 May 2014) New Revision: 26773 Modified: website/trunk/getinvolved/en/volunteer.wml Log: Link to some obfsproxy coding tasks from the volunteers page. Modified: website/trunk/getinvolved/en/volunteer.wml === --- website/trunk/getinvolved/en/volunteer.wml 2014-05-08 20:46:04 UTC (rev 26772) +++ website/trunk/getinvolved/en/volunteer.wml 2014-05-09 14:13:40 UTC (rev 26773) @@ -618,6 +618,7 @@ p bProject Ideas:/bbr / +ia href=https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports#Helpneeded;Various coding tasks/a/i br/ ia href=#betterPluggableTransportsBuild Better Pluggable Transports/a/i /p ___ 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 34071f72b59576d85f13b8a87594a4bcb41866f5 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 15:15:37 2014 + Update translations for tails-misc_completed --- pt.po | 56 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/pt.po b/pt.po index db1fd85..70499da 100644 --- a/pt.po +++ b/pt.po @@ -6,14 +6,15 @@ # André Monteiro andre.mont...@gmail.com, 2014 # sierleunam cfb53...@opayq.com, 2014 # kohpyreit kohpyr...@gmail.com, 2013 +# Drew Melim nokostya.translat...@gmail.com, 2014 # TiagoJMMC tiagoj...@gmail.com, 2014 msgid msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: \n -POT-Creation-Date: 2014-03-06 14:52+0100\n -PO-Revision-Date: 2014-03-14 11:50+\n -Last-Translator: André Monteiro andre.mont...@gmail.com\n +POT-Creation-Date: 2014-04-27 19:29+0200\n +PO-Revision-Date: 2014-05-09 15:10+\n +Last-Translator: Drew Melim nokostya.translat...@gmail.com\n Language-Team: Portuguese (http://www.transifex.com/projects/p/torproject/language/pt/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -21,11 +22,11 @@ msgstr Language: pt\n Plural-Forms: nplurals=2; plural=(n != 1);\n -#: config/chroot_local-includes/etc/NetworkManager/dispatcher.d/60-tor-ready-notification.sh:31 +#: config/chroot_local-includes/etc/NetworkManager/dispatcher.d/60-tor-ready-notification.sh:43 msgid Tor is ready msgstr O Tor está pronto -#: config/chroot_local-includes/etc/NetworkManager/dispatcher.d/60-tor-ready-notification.sh:32 +#: config/chroot_local-includes/etc/NetworkManager/dispatcher.d/60-tor-ready-notification.sh:44 msgid You can now access the Internet. msgstr Poderá agora aceder à Internet. @@ -216,11 +217,11 @@ msgstr Iniciar o Navegador Tor msgid Cancel msgstr Cancelar -#: config/chroot_local-includes/usr/local/bin/shutdown_helper_applet:34 +#: config/chroot_local-includes/usr/local/lib/shutdown-helper-applet:39 msgid Shutdown Immediately msgstr Encerrar imediatamente -#: config/chroot_local-includes/usr/local/bin/shutdown_helper_applet:35 +#: config/chroot_local-includes/usr/local/lib/shutdown-helper-applet:40 msgid Reboot Immediately msgstr Reiniciar imediatamente @@ -228,27 +229,27 @@ msgstr Reiniciar imediatamente msgid Shutdown Helper msgstr Programa auxiliar para Encerrar -#: config/chroot_local-includes/usr/local/bin/tails-about:13 +#: config/chroot_local-includes/usr/local/bin/tails-about:16 msgid not available msgstr não disponÃvel -#: config/chroot_local-includes/usr/local/bin/tails-about:16 +#: config/chroot_local-includes/usr/local/bin/tails-about:19 #: ../config/chroot_local-includes/usr/share/desktop-directories/Tails.directory.in.h:1 msgid Tails msgstr Tails -#: config/chroot_local-includes/usr/local/bin/tails-about:17 +#: config/chroot_local-includes/usr/local/bin/tails-about:24 msgid The Amnesic Incognito Live System msgstr O sistema Amnesic Incognito Live -#: config/chroot_local-includes/usr/local/bin/tails-about:18 +#: config/chroot_local-includes/usr/local/bin/tails-about:25 #, python-format msgid Build information:\n %s msgstr Informações da compilação:\n%s -#: config/chroot_local-includes/usr/local/bin/tails-about:20 +#: config/chroot_local-includes/usr/local/bin/tails-about:27 msgid About Tails msgstr Acerca de Tails @@ -348,6 +349,29 @@ msgid following directory for more information: msgstr Algo correu mal quando o I2P estava a iniciar. Procure nos logs no seguinte diretório para mais informação: +#: config/chroot_local-includes/usr/local/bin/tails-upgrade-frontend-wrapper:19 +#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:57 +msgid error: +msgstr erro: + +#: config/chroot_local-includes/usr/local/bin/tails-upgrade-frontend-wrapper:20 +#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:58 +msgid Error +msgstr Erro + +#: config/chroot_local-includes/usr/local/bin/tails-upgrade-frontend-wrapper:40 +msgid +bNot enough memory available to check for upgrades./b\n +\n +Make sure this system satisfies the requirements for running Tails.\n +See file:///usr/share/doc/tails/website/doc/about/requirements.en.html\n +\n +Try to restart Tails to check for upgrades again.\n +\n +Or do a manual upgrade.\n +See https://tails.boum.org/doc/first_steps/upgrade#manual; +msgstr bNão existe memoria suficiente para verificar actualizações./b\n\nMake sure this system satisfies the requirements for running Tails.\nSee file:///usr/share/doc/tails/website/doc/about/requirements.en.html\n\nTry to restart Tails to check for upgrades again.\n\nOr do a manual upgrade.\nSee https://tails.boum.org/doc/first_steps/upgrade#manual; + #: config/chroot_local-includes/usr/local/bin/tails-virt-notify-user:53 msgid Warning: virtual machine detected! msgstr Atenção: máquina virtual detectada! @@ -365,14 +389,6 @@ msgid more.../a msgstr a
[tor-commits] [translation/tails-misc] Update translations for tails-misc
commit a69648ecd9d25036e4701b4a610573d0175e448e Author: Translation commit bot translat...@torproject.org Date: Fri May 9 15:15:34 2014 + Update translations for tails-misc --- pt.po |7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pt.po b/pt.po index 6271149..70499da 100644 --- a/pt.po +++ b/pt.po @@ -6,14 +6,15 @@ # André Monteiro andre.mont...@gmail.com, 2014 # sierleunam cfb53...@opayq.com, 2014 # kohpyreit kohpyr...@gmail.com, 2013 +# Drew Melim nokostya.translat...@gmail.com, 2014 # TiagoJMMC tiagoj...@gmail.com, 2014 msgid msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: \n POT-Creation-Date: 2014-04-27 19:29+0200\n -PO-Revision-Date: 2014-04-30 09:10+\n -Last-Translator: runasand runa.sand...@gmail.com\n +PO-Revision-Date: 2014-05-09 15:10+\n +Last-Translator: Drew Melim nokostya.translat...@gmail.com\n Language-Team: Portuguese (http://www.transifex.com/projects/p/torproject/language/pt/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -369,7 +370,7 @@ msgid \n Or do a manual upgrade.\n See https://tails.boum.org/doc/first_steps/upgrade#manual; -msgstr +msgstr bNão existe memoria suficiente para verificar actualizações./b\n\nMake sure this system satisfies the requirements for running Tails.\nSee file:///usr/share/doc/tails/website/doc/about/requirements.en.html\n\nTry to restart Tails to check for upgrades again.\n\nOr do a manual upgrade.\nSee https://tails.boum.org/doc/first_steps/upgrade#manual; #: config/chroot_local-includes/usr/local/bin/tails-virt-notify-user:53 msgid Warning: virtual machine detected! ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/https_everywhere_completed] Update translations for https_everywhere_completed
commit e0bc213dad0aff8ef50412c9ecff18e3915d5ac8 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 16:45:23 2014 + Update translations for https_everywhere_completed --- bg/https-everywhere.dtd | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/bg/https-everywhere.dtd b/bg/https-everywhere.dtd index a8ea0a1..e6182e8 100644 --- a/bg/https-everywhere.dtd +++ b/bg/https-everywhere.dtd @@ -12,8 +12,9 @@ !ENTITY https-everywhere.menu.about Ðа HTTPS Everywhere !ENTITY https-everywhere.menu.observatory ÐаÑÑÑойки на SSL Observatory -!ENTITY https-everywhere.menu.globalEnable ÐклÑÑване на HTTPS Everywhere -!ENTITY https-everywhere.menu.globalDisable ÐзклÑÑване на HTTPS Everywhere +!ENTITY https-everywhere.menu.globalEnable ÐклÑÑи HTTPS Everywhere +!ENTITY https-everywhere.menu.globalDisable ÐзклÑÑи HTTPS Everywhere +!ENTITY https-everywhere.menu.showCounter Ðоказване на бÑоÑÑ !ENTITY https-everywhere.prefs.title ÐаÑÑÑойки на HTTPS Everywhere !ENTITY https-everywhere.prefs.enable_all ÐклÑÑване на вÑиÑки @@ -34,4 +35,13 @@ !ENTITY https-everywhere.source.filename Ðме на Ñайл !ENTITY https-everywhere.source.unable_to_download Ðе може да Ñвали кода. +!ENTITY https-everywhere.popup.title HTTPS Everywhere 4.0development.11 извеÑÑие +!ENTITY https-everywhere.popup.paragraph1 ÐпÑ. Ðзползвали ÑÑе ÑÑабилнаÑа веÑÑÐ¸Ñ Ð½Ð° HTTPS Everywhere, но е вÑзможно ÑлÑÑайно да Ñме Ðи надгÑадили Ñ ÑазÑабоÑваÑа Ñе веÑÑиÑ. +!ENTITY https-everywhere.popup.paragraph2 ÐÑкаÑе ли да Ñе вÑÑнеÑе кÑм ÑÑабилнаÑа веÑÑиÑ? +!ENTITY https-everywhere.popup.paragraph3 Ще Ñе Ñадваме, ако пÑодÑлжиÑе да използваÑе наÑаÑа ÑазÑабоÑваÑа Ñе веÑÑÐ¸Ñ Ð¸ ни помогнеÑе да напÑавим HTTPS Everywhere по-добÑа! Ðоже да оÑкÑиеÑе нÑколко гÑеÑки ÑÑк-Ñам, коиÑо да докладваÑе на https-everywh...@eff.org. ÐзвинеÑе за неÑдобÑÑвоÑо и Ðи благодаÑим, Ñе използваÑе HTTPS Everywhere. +!ENTITY https-everywhere.popup.keep ÐадÑÑжане на ÑазÑабоÑваÑаÑа веÑÑÐ¸Ñ +!ENTITY https-everywhere.popup.revert ÐзÑегли най-акÑÑалнаÑа ÑÑабилна веÑÑÐ¸Ñ +!ENTITY https-everywhere.ruleset-tests.status_title ТеÑÑване пÑавилаÑа на HTTPS Everywhere +!ENTITY https-everywhere.ruleset-tests.status_cancel_button ÐÑказ +!ENTITY https-everywhere.ruleset-tests.status_start_button СÑаÑÑ ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/https_everywhere] Update translations for https_everywhere
commit bcf64aa9e3f97544f2e8a3e6a9d8385dc157d80f Author: Translation commit bot translat...@torproject.org Date: Fri May 9 16:45:18 2014 + Update translations for https_everywhere --- bg/https-everywhere.dtd | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bg/https-everywhere.dtd b/bg/https-everywhere.dtd index 5c4383c..e6182e8 100644 --- a/bg/https-everywhere.dtd +++ b/bg/https-everywhere.dtd @@ -14,7 +14,7 @@ !ENTITY https-everywhere.menu.observatory ÐаÑÑÑойки на SSL Observatory !ENTITY https-everywhere.menu.globalEnable ÐклÑÑи HTTPS Everywhere !ENTITY https-everywhere.menu.globalDisable ÐзклÑÑи HTTPS Everywhere -!ENTITY https-everywhere.menu.showCounter Show Counter +!ENTITY https-everywhere.menu.showCounter Ðоказване на бÑоÑÑ !ENTITY https-everywhere.prefs.title ÐаÑÑÑойки на HTTPS Everywhere !ENTITY https-everywhere.prefs.enable_all ÐклÑÑване на вÑиÑки @@ -35,13 +35,13 @@ !ENTITY https-everywhere.source.filename Ðме на Ñайл !ENTITY https-everywhere.source.unable_to_download Ðе може да Ñвали кода. -!ENTITY https-everywhere.popup.title HTTPS Everywhere 4.0development.11 notification -!ENTITY https-everywhere.popup.paragraph1 Oops. You were using the stable version of HTTPS Everywhere, but we might have accidentally upgraded you to the development version in our last release. +!ENTITY https-everywhere.popup.title HTTPS Everywhere 4.0development.11 извеÑÑие +!ENTITY https-everywhere.popup.paragraph1 ÐпÑ. Ðзползвали ÑÑе ÑÑабилнаÑа веÑÑÐ¸Ñ Ð½Ð° HTTPS Everywhere, но е вÑзможно ÑлÑÑайно да Ñме Ðи надгÑадили Ñ ÑазÑабоÑваÑа Ñе веÑÑиÑ. !ENTITY https-everywhere.popup.paragraph2 ÐÑкаÑе ли да Ñе вÑÑнеÑе кÑм ÑÑабилнаÑа веÑÑиÑ? -!ENTITY https-everywhere.popup.paragraph3 We'd love it if you continued using our development release and helped us make HTTPS Everywhere better! You might find there are a few more bugs here and there, which you can report to https-everywh...@eff.org. Sorry about the inconvenience, and thank you for using HTTPS Everywhere. -!ENTITY https-everywhere.popup.keep Keep me on the development version +!ENTITY https-everywhere.popup.paragraph3 Ще Ñе Ñадваме, ако пÑодÑлжиÑе да използваÑе наÑаÑа ÑазÑабоÑваÑа Ñе веÑÑÐ¸Ñ Ð¸ ни помогнеÑе да напÑавим HTTPS Everywhere по-добÑа! Ðоже да оÑкÑиеÑе нÑколко гÑеÑки ÑÑк-Ñам, коиÑо да докладваÑе на https-everywh...@eff.org. ÐзвинеÑе за неÑдобÑÑвоÑо и Ðи благодаÑим, Ñе използваÑе HTTPS Everywhere. +!ENTITY https-everywhere.popup.keep ÐадÑÑжане на ÑазÑабоÑваÑаÑа веÑÑÐ¸Ñ !ENTITY https-everywhere.popup.revert ÐзÑегли най-акÑÑалнаÑа ÑÑабилна веÑÑÐ¸Ñ -!ENTITY https-everywhere.ruleset-tests.status_title HTTPS Everywhere Ruleset Tests +!ENTITY https-everywhere.ruleset-tests.status_title ТеÑÑване пÑавилаÑа на HTTPS Everywhere !ENTITY https-everywhere.ruleset-tests.status_cancel_button ÐÑказ !ENTITY https-everywhere.ruleset-tests.status_start_button СÑаÑÑ ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/https_everywhere] Update translations for https_everywhere
commit c4a648493019b39dbcf85d8b1f59c67594f49432 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 17:15:14 2014 + Update translations for https_everywhere --- bg/https-everywhere.properties |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bg/https-everywhere.properties b/bg/https-everywhere.properties index ad5b7c4..5c20247 100644 --- a/bg/https-everywhere.properties +++ b/bg/https-everywhere.properties @@ -5,4 +5,4 @@ https-everywhere.menu.noRules = (ÐÑма пÑавила за Ñази ÑÑÑа https-everywhere.menu.unknownRules = (ÐепознаÑи пÑавила за Ñази ÑÑÑаниÑа) https-everywhere.toolbar.hint = HTTPS Everywhere е акÑивен. ÐожеÑе да го пÑевклÑÑваÑе Ð¾Ñ ÑÐ°Ð¹Ñ Ð½Ð° ÑÐ°Ð¹Ñ ÑÑез наÑиÑкане на иконкаÑа в адÑеÑнаÑа ленÑа. https-everywhere.migration.notification0 = Ðа да Ñе пÑиложи кÑиÑиÑеÑка попÑавка, Ñова обновление анÑлиÑа ваÑиÑе наÑÑÑойки на HTTPS Everywhere пÑавилаÑа кÑм ÑÑандаÑÑниÑе им ÑÑойноÑÑи. -https-everywhere.menu.ruleset-tests = Run HTTPS Everywhere Ruleset Tests +https-everywhere.menu.ruleset-tests = СÑаÑÑиÑане на ÑеÑÑ Ð·Ð° пÑавилаÑа на HTTPS Everywhere ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/https_everywhere_completed] Update translations for https_everywhere_completed
commit 18aac1b156dfb11c926e009c7a312d001d214085 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 17:15:19 2014 + Update translations for https_everywhere_completed --- bg/https-everywhere.properties |1 + 1 file changed, 1 insertion(+) diff --git a/bg/https-everywhere.properties b/bg/https-everywhere.properties index b00a14a..5c20247 100644 --- a/bg/https-everywhere.properties +++ b/bg/https-everywhere.properties @@ -5,3 +5,4 @@ https-everywhere.menu.noRules = (ÐÑма пÑавила за Ñази ÑÑÑа https-everywhere.menu.unknownRules = (ÐепознаÑи пÑавила за Ñази ÑÑÑаниÑа) https-everywhere.toolbar.hint = HTTPS Everywhere е акÑивен. ÐожеÑе да го пÑевклÑÑваÑе Ð¾Ñ ÑÐ°Ð¹Ñ Ð½Ð° ÑÐ°Ð¹Ñ ÑÑез наÑиÑкане на иконкаÑа в адÑеÑнаÑа ленÑа. https-everywhere.migration.notification0 = Ðа да Ñе пÑиложи кÑиÑиÑеÑка попÑавка, Ñова обновление анÑлиÑа ваÑиÑе наÑÑÑойки на HTTPS Everywhere пÑавилаÑа кÑм ÑÑандаÑÑниÑе им ÑÑойноÑÑи. +https-everywhere.menu.ruleset-tests = СÑаÑÑиÑане на ÑеÑÑ Ð·Ð° пÑавилаÑа на HTTPS Everywhere ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [ooni-probe/master] state null check
commit 8452924ad680658ff4f0cebfe5b44311aa7f2db3 Author: Arun Pandian G arunpandi...@gmail.com Date: Fri May 2 22:06:04 2014 +0530 state null check --- ooni/templates/httpt.py |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ooni/templates/httpt.py b/ooni/templates/httpt.py index 1263261..59b550e 100644 --- a/ooni/templates/httpt.py +++ b/ooni/templates/httpt.py @@ -327,7 +327,8 @@ class HTTPTest(NetTestCase): if use_tor: state = config.tor_state -state.add_stream_listener(StreamListener(request)) +if state: +state.add_stream_listener(StreamListener(request)) d = agent.request(request['method'], request['url'], headers, body_producer) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [ooni-probe/master] Call .path on FilePath instead of using os.path.
commit c82275034f71f60276e58012dacf4c0293422c0f Author: Arturo Filastò a...@fuffa.org Date: Fri May 9 22:42:21 2014 +0200 Call .path on FilePath instead of using os.path. --- ooni/deck.py | 26 ++ ooni/oonicli.py |2 +- ooni/reporter.py |6 +++--- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/ooni/deck.py b/ooni/deck.py index 8a26d0c..ad90d03 100644 --- a/ooni/deck.py +++ b/ooni/deck.py @@ -21,7 +21,7 @@ class InputFile(object): cache_path = os.path.join(os.path.abspath(base_path), input_hash) self.cached_file = cache_path self.cached_descriptor = cache_path + '.desc' - + @property def descriptorCached(self): if os.path.exists(self.cached_descriptor): @@ -30,7 +30,7 @@ class InputFile(object): self.load(descriptor) return True return False - + @property def fileCached(self): if os.path.exists(self.cached_file): @@ -52,7 +52,7 @@ class InputFile(object): 'date': self.date, 'description': self.description }, f) - + def load(self, descriptor): self.name = descriptor['name'] self.version = descriptor['version'] @@ -69,7 +69,7 @@ class InputFile(object): def nettest_to_path(path, allow_arbitrary_paths=False): Takes as input either a path or a nettest name. - + Args: allow_arbitrary_paths: @@ -81,13 +81,15 @@ def nettest_to_path(path, allow_arbitrary_paths=False): if allow_arbitrary_paths and os.path.exists(path): return path -elif FilePath(config.nettest_directory).preauthChild(path + '.py').exists(): -return os.path.join(config.nettest_directory, path + '.py') + +fp = FilePath(config.nettest_directory).preauthChild(path + '.py') +if fp.exists(): +return fp.path else: raise e.NetTestNotFound(path) class Deck(InputFile): -def __init__(self, deck_hash=None, +def __init__(self, deck_hash=None, deckFile=None, decks_directory=config.decks_directory): self.id = deck_hash @@ -107,7 +109,7 @@ class Deck(InputFile): @property def cached_file(self): return os.path.join(self.decksDirectory, self.deckHash) - + @property def cached_descriptor(self): return self.cached_file + '.desc' @@ -162,7 +164,7 @@ class Deck(InputFile): if self.bouncer: log.msg(Looking up test helpers...) yield self.lookupTestHelpers() - + @defer.inlineCallbacks def lookupTestHelpers(self): self.oonibclient.address = self.bouncer @@ -178,7 +180,7 @@ class Deck(InputFile): if th['test_class'].localOptions[th['option']]: continue required_test_helpers.append(th['name']) - + if not required_test_helpers and not requires_collector: defer.returnValue(None) @@ -212,7 +214,7 @@ class Deck(InputFile): if 'url' in i: log.debug(Downloading %s % i['url']) self.oonibclient.address = i['address'] - + try: input_file = yield self.oonibclient.downloadInput(i['hash']) except: @@ -222,5 +224,5 @@ class Deck(InputFile): input_file.verify() except AssertionError: raise e.UnableToLoadDeckInput, cached_path - + i['test_class'].localOptions[i['key']] = input_file.cached_file diff --git a/ooni/oonicli.py b/ooni/oonicli.py index 889b108..9bd1add 100644 --- a/ooni/oonicli.py +++ b/ooni/oonicli.py @@ -181,7 +181,7 @@ def runWithDirector(logging=True, start_tor=True): except Exception as e: log.err(e) sys.exit(5) - + d = director.start(start_tor=start_tor) def setup_nettest(_): diff --git a/ooni/reporter.py b/ooni/reporter.py index a512891..273242e 100644 --- a/ooni/reporter.py +++ b/ooni/reporter.py @@ -171,7 +171,7 @@ class YAMLReporter(OReporter): if not os.path.isdir(report_destination): raise InvalidDestination - + if not report_filename: report_filename = report- + \ test_details['test_name'] + - + \ @@ -301,7 +301,7 @@ class OONIBReporter(OReporter): from txsocksx.http import SOCKS5Agent from twisted.internet import reactor - + if self.collectorAddress.startswith('httpo://'): self.collectorAddress = \ self.collectorAddress.replace('httpo://', 'http://') @@ -369,7 +369,7 @@ class OONIBReporter(OReporter): log.err(Failed to parse collector response %s % backend_response) log.exception(e) raise errors.OONIBReportCreationError - + if
[tor-commits] [ooni-probe/master] Store tor exit router's ip and name with every request
commit b57552d009e6d8af08a66a88e01897faed5ba945 Author: Arun Pandian G arunpandi...@gmail.com Date: Tue Apr 8 03:12:12 2014 +0530 Store tor exit router's ip and name with every request --- ooni/templates/httpt.py | 46 +- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/ooni/templates/httpt.py b/ooni/templates/httpt.py index 403e222..c9e42bf 100644 --- a/ooni/templates/httpt.py +++ b/ooni/templates/httpt.py @@ -2,10 +2,14 @@ import copy import random import struct +from zope.interface import implements + from twisted.plugin import IPlugin from twisted.internet import protocol, defer from twisted.internet.ssl import ClientContextFactory +from txtorcon.interface import IStreamListener + from twisted.internet import reactor from twisted.internet.error import ConnectionRefusedError, DNSLookupError, TCPTimedOutError from twisted.internet.endpoints import TCP4ClientEndpoint @@ -18,7 +22,6 @@ from ooni.utils import log from ooni.settings import config from ooni.utils.net import BodyReceiver, StringProducer, userAgents - from ooni.utils.trueheaders import TrueHeaders from ooni.errors import handleAllFailures @@ -26,6 +29,33 @@ from ooni.errors import handleAllFailures class InvalidSocksProxyOption(Exception): pass +class StreamListener(object): +implements(IStreamListener) + +def __init__(self, request): +self.request = request + +def stream_new(self, stream): +pass + +def stream_succeeded(self, stream): +host=self.request['url'].split('/')[2] +try: +if stream.target_host == host and len(self.request['tor']) == 1: +self.request['tor']['exit_ip'] = stream.circuit.path[-1].ip +self.request['tor']['exit_name'] = stream.circuit.path[-1].name +except: +log.err(Tor Exit ip detection failed) + +def stream_attach(self, stream, circuit): +pass + +def stream_closed(self, stream,**k): +pass + +def stream_failed(self, stream, reason, remote_reason): +pass + class HTTPTest(NetTestCase): A utility class for dealing with HTTP based testing. It provides methods to @@ -228,7 +258,7 @@ class HTTPTest(NetTestCase): content_length = int(response.headers.getRawHeaders('content-length')[0]) except Exception: content_length = None - + finished = defer.Deferred() response.deliverBody(BodyReceiver(finished, content_length)) finished.addCallback(self._processResponseBody, request, @@ -285,9 +315,11 @@ class HTTPTest(NetTestCase): request['url'] = url request['headers'] = headers request['body'] = body -request['tor'] = False +request['tor'] = {} if use_tor: -request['tor'] = True +request['tor']['is_tor'] = True +else: +request['tor']['is_tor'] = False if self.randomizeUA: log.debug(Randomizing user agent) @@ -306,7 +338,7 @@ class HTTPTest(NetTestCase): headers = TrueHeaders(request['headers']) def errback(failure, request): -if request['tor']: +if request['tor']['is_tor']: log.err(Error performing torified request: %s % request['url']) else: log.err(Error performing request: %s % request['url']) @@ -314,6 +346,10 @@ class HTTPTest(NetTestCase): self.addToReport(request, failure_string=failure_string) return failure +if use_tor: +state = config.tor_state +state.add_stream_listener(StreamListener(request)) + d = agent.request(request['method'], request['url'], headers, body_producer) d.addErrback(errback, request) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [ooni-probe/master] Merge branch 'master' of github.com:TheTorProject/ooni-probe
commit 0e3e52c68f5fa6ac6926f2eb5e6eec4351711beb Merge: c822750 41ea9d7 Author: Arturo Filastò a...@fuffa.org Date: Fri May 9 22:44:17 2014 +0200 Merge branch 'master' of github.com:TheTorProject/ooni-probe * 'master' of github.com:TheTorProject/ooni-probe: Update Readme to point to correct file location. state null check Refactorings removed unnecessary imports Store tor exit router's ip and name with every request README.md |2 +- ooni/templates/httpt.py | 42 +- 2 files changed, 30 insertions(+), 14 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [ooni-probe/master] Refactorings
commit 53f207416383b7782639d0ee2177580ba23bc5e7 Author: Arun Pandian G arunpandi...@gmail.com Date: Tue Apr 8 04:12:03 2014 +0530 Refactorings --- ooni/templates/httpt.py | 20 +++- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/ooni/templates/httpt.py b/ooni/templates/httpt.py index 44d01be..1263261 100644 --- a/ooni/templates/httpt.py +++ b/ooni/templates/httpt.py @@ -1,10 +1,8 @@ import random -from zope.interface import implements - from twisted.internet import defer -from txtorcon.interface import IStreamListener +from txtorcon.interface import StreamListenerMixin from twisted.internet import reactor from twisted.internet.endpoints import TCP4ClientEndpoint @@ -22,33 +20,21 @@ from ooni.errors import handleAllFailures class InvalidSocksProxyOption(Exception): pass -class StreamListener(object): -implements(IStreamListener) +class StreamListener(StreamListenerMixin): def __init__(self, request): self.request = request -def stream_new(self, stream): -pass - def stream_succeeded(self, stream): host=self.request['url'].split('/')[2] try: if stream.target_host == host and len(self.request['tor']) == 1: self.request['tor']['exit_ip'] = stream.circuit.path[-1].ip self.request['tor']['exit_name'] = stream.circuit.path[-1].name +config.tor_state.stream_listeners.remove(self) except: log.err(Tor Exit ip detection failed) -def stream_attach(self, stream, circuit): -pass - -def stream_closed(self, stream,**k): -pass - -def stream_failed(self, stream, reason, remote_reason): -pass - class HTTPTest(NetTestCase): A utility class for dealing with HTTP based testing. It provides methods to ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [ooni-probe/master] removed unnecessary imports
commit f8162d8f4a32f0e70625ef35042609bfb06fbb7d Author: Arun Pandian G arunpandi...@gmail.com Date: Tue Apr 8 03:20:49 2014 +0530 removed unnecessary imports --- ooni/templates/httpt.py |9 + 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/ooni/templates/httpt.py b/ooni/templates/httpt.py index c9e42bf..44d01be 100644 --- a/ooni/templates/httpt.py +++ b/ooni/templates/httpt.py @@ -1,20 +1,13 @@ -import copy import random -import struct from zope.interface import implements -from twisted.plugin import IPlugin -from twisted.internet import protocol, defer -from twisted.internet.ssl import ClientContextFactory +from twisted.internet import defer from txtorcon.interface import IStreamListener from twisted.internet import reactor -from twisted.internet.error import ConnectionRefusedError, DNSLookupError, TCPTimedOutError from twisted.internet.endpoints import TCP4ClientEndpoint -from twisted.web._newclient import Request, Response, ResponseNeverReceived -from twisted.web.client import Agent from ooni.utils.trueheaders import TrueHeadersAgent, TrueHeadersSOCKS5Agent from ooni.nettest import NetTestCase ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [ooni-probe/master] Update Readme to point to correct file location.
commit 41ea9d71a65c195a08a21b05fe651eb77d12f89d Author: Arturo Filastò hell...@users.noreply.github.com Date: Fri May 9 16:35:14 2014 +0200 Update Readme to point to correct file location. --- README.md |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a59481e..b596e1f 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,7 @@ ooniprobe will be installed in `/ooni`. 3) You can run tests with: ``` -ooniprobe blocking/http_requests -f /ooni/inputs/input-pack/alexa-top-1k.txt +ooniprobe blocking/http_requests -f /ooni/example_inputs/alexa-top-1k.txt ``` ## Using ooniprobe ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [ooni-probe/master] Merge pull request #299 from arunpandianp/enhancement/http_req
commit d17fe2556aa32b6fe6eed17d03bb82278348c907 Merge: 1d308e3 8452924 Author: Arturo Filastò hell...@users.noreply.github.com Date: Mon May 5 15:12:05 2014 +0200 Merge pull request #299 from arunpandianp/enhancement/http_req Enhancement/http_req ooni/templates/httpt.py | 42 +- 1 file changed, 29 insertions(+), 13 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [ooni-probe/master] Bump to version 1.0.2
commit b0fd64e5dd670becdb98982014d8b7510578cdec Author: Arturo Filastò a...@fuffa.org Date: Fri May 9 22:53:09 2014 +0200 Bump to version 1.0.2 --- ChangeLog.md | 14 ++ debian/changelog |6 ++ ooni/__init__.py |2 +- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index fda5db1..0ce2a43 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,17 @@ +## v1.0.2 + +* Add ooniprobe manpage. + +* Fix various security issues raised by the least authority audit. + +* Add a test that checks for Tor bridge reachability. + +* Record the IP address of the exit node being used in torified requests. + +* Captive portal test now uses the ooni-probe test templates. + +* Have better test naming consistency. + ## v1.0.1 * Fix bugs in the traceroute test that lead to not all packets being collected. diff --git a/debian/changelog b/debian/changelog index 150b378..af347a7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +ooniprobe (1.0.2-1) stable; urgency=low + + * ooniprobe 1.0.2 + + -- OONI Developers (signing key) ooni-...@lists.torproject.org Fri, 9 May 2014 10:14:46 +0200 + ooniprobe (1.0.1-1) stable; urgency=low * ooniprobe 1.0.1 diff --git a/ooni/__init__.py b/ooni/__init__.py index 86f02b3..f44ca57 100644 --- a/ooni/__init__.py +++ b/ooni/__init__.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- __author__ = Open Observatory of Network Interference -__version__ = 1.0.1 +__version__ = 1.0.2 __all__ = ['config', 'inputunit', 'kit', 'lib', 'nettest', 'oonicli', 'reporter', ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torcheck] Update translations for torcheck
commit f0d0e0215d18a63e9d4c431da4582f5ec38bea42 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 21:15:09 2014 + Update translations for torcheck --- nl/torcheck.po |7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nl/torcheck.po b/nl/torcheck.po index b7eb362..3dd1e49 100644 --- a/nl/torcheck.po +++ b/nl/torcheck.po @@ -2,6 +2,7 @@ # Copyright (C) 2008-2013 The Tor Project, Inc # # Translators: +# jjjdddsssxxx a227...@drdrb.net, 2014 # erwindelaat erwin.de.l...@cleveridge.org, 2014 # flabber flab...@online.be, 2011 # erwindelaat erwin.de.l...@cleveridge.org, 2014 @@ -13,8 +14,8 @@ msgid msgstr Project-Id-Version: The Tor Project\n POT-Creation-Date: 2012-02-16 20:28+PDT\n -PO-Revision-Date: 2014-05-06 08:21+\n -Last-Translator: runasand runa.sand...@gmail.com\n +PO-Revision-Date: 2014-05-09 21:10+\n +Last-Translator: jjjdddsssxxx a227...@drdrb.net\n Language-Team: Dutch (http://www.transifex.com/projects/p/torproject/language/nl/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -100,4 +101,4 @@ msgid JavaScript is disabled. msgstr JavaScript is uitgeschakeld. msgid However, it does not appear to be the Tor Browser Bundle. -msgstr +msgstr Het blijkt echter niet de Tor Browser Bundle te zijn. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torcheck_completed] Update translations for torcheck_completed
commit 08b5801f48b8669e29d788a6241c966da7f3ee41 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 21:15:13 2014 + Update translations for torcheck_completed --- nl/torcheck.po |8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nl/torcheck.po b/nl/torcheck.po index 199dbab..3dd1e49 100644 --- a/nl/torcheck.po +++ b/nl/torcheck.po @@ -2,6 +2,7 @@ # Copyright (C) 2008-2013 The Tor Project, Inc # # Translators: +# jjjdddsssxxx a227...@drdrb.net, 2014 # erwindelaat erwin.de.l...@cleveridge.org, 2014 # flabber flab...@online.be, 2011 # erwindelaat erwin.de.l...@cleveridge.org, 2014 @@ -13,8 +14,8 @@ msgid msgstr Project-Id-Version: The Tor Project\n POT-Creation-Date: 2012-02-16 20:28+PDT\n -PO-Revision-Date: 2014-02-19 13:50+\n -Last-Translator: erwindelaat erwin.de.l...@cleveridge.org\n +PO-Revision-Date: 2014-05-09 21:10+\n +Last-Translator: jjjdddsssxxx a227...@drdrb.net\n Language-Team: Dutch (http://www.transifex.com/projects/p/torproject/language/nl/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -98,3 +99,6 @@ msgstr JavaScript is ingeschakeld. msgid JavaScript is disabled. msgstr JavaScript is uitgeschakeld. + +msgid However, it does not appear to be the Tor Browser Bundle. +msgstr Het blijkt echter niet de Tor Browser Bundle te zijn. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/https_everywhere] Update translations for https_everywhere
commit 061207d45c703184b30a58c1738211d02d2fb924 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 21:45:15 2014 + Update translations for https_everywhere --- es_CL/https-everywhere.dtd|4 ++-- es_CL/https-everywhere.properties | 16 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/es_CL/https-everywhere.dtd b/es_CL/https-everywhere.dtd index 9a63c45..f4b9697 100644 --- a/es_CL/https-everywhere.dtd +++ b/es_CL/https-everywhere.dtd @@ -12,8 +12,8 @@ !ENTITY https-everywhere.menu.about About HTTPS Everywhere !ENTITY https-everywhere.menu.observatory SSL Observatory Preferences -!ENTITY https-everywhere.menu.globalEnable Enable HTTPS Everywhere -!ENTITY https-everywhere.menu.globalDisable Disable HTTPS Everywhere +!ENTITY https-everywhere.menu.globalEnable Habilitar HTTPS en todas partes +!ENTITY https-everywhere.menu.globalDisable Deshabilitar HTTPS en todas partes !ENTITY https-everywhere.menu.showCounter Show Counter !ENTITY https-everywhere.prefs.title HTTPS Everywhere Preferences diff --git a/es_CL/https-everywhere.properties b/es_CL/https-everywhere.properties index be83831..0699b5f 100644 --- a/es_CL/https-everywhere.properties +++ b/es_CL/https-everywhere.properties @@ -1,8 +1,8 @@ -https-everywhere.menu.globalEnable = Enable HTTPS Everywhere -https-everywhere.menu.globalDisable = Disable HTTPS Everywhere -https-everywhere.menu.enableDisable = Enable / Disable Rules -https-everywhere.menu.noRules = (No Rules for This Page) -https-everywhere.menu.unknownRules = (Rules for This Page Unknown) -https-everywhere.toolbar.hint = HTTPS Everywhere is now active. You can toggle it on a site-by-site basis by clicking the icon in the address bar. -https-everywhere.migration.notification0 = In order to implement a crucial fix, this update resets your HTTPS Everywhere rule preferences to their default values. -https-everywhere.menu.ruleset-tests = Run HTTPS Everywhere Ruleset Tests +https-everywhere.menu.globalEnable = Habilitar HTTPS en todas partes +https-everywhere.menu.globalDisable = Deshabilitar HTTPS en todas partes +https-everywhere.menu.enableDisable = Habilitar o deshabilitar regla +https-everywhere.menu.noRules = (No hay reglas para esta página) +https-everywhere.menu.unknownRules = (Reglas desconocidas para esta página) +https-everywhere.toolbar.hint = HTTPS en todas partes está ahora habilitado, Puede deshabitarlo o habilitarlo en lado a lado usando el Ãcono en la barra de dirección. +https-everywhere.migration.notification0 = En orden para implementar este crucial arreglo, Las reglas de HTTPS en todas partes se restablecerán a sus valores iniciales. +https-everywhere.menu.ruleset-tests = Corriendo prueba de reglas de HTTPS en todas partes ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/https_everywhere_completed] Update translations for https_everywhere_completed
commit b313c9bc1fedcaa207be18cd4c7848745830c13e Author: Translation commit bot translat...@torproject.org Date: Fri May 9 21:45:19 2014 + Update translations for https_everywhere_completed --- es_CL/https-everywhere.properties |8 1 file changed, 8 insertions(+) diff --git a/es_CL/https-everywhere.properties b/es_CL/https-everywhere.properties new file mode 100644 index 000..0699b5f --- /dev/null +++ b/es_CL/https-everywhere.properties @@ -0,0 +1,8 @@ +https-everywhere.menu.globalEnable = Habilitar HTTPS en todas partes +https-everywhere.menu.globalDisable = Deshabilitar HTTPS en todas partes +https-everywhere.menu.enableDisable = Habilitar o deshabilitar regla +https-everywhere.menu.noRules = (No hay reglas para esta página) +https-everywhere.menu.unknownRules = (Reglas desconocidas para esta página) +https-everywhere.toolbar.hint = HTTPS en todas partes está ahora habilitado, Puede deshabitarlo o habilitarlo en lado a lado usando el Ãcono en la barra de dirección. +https-everywhere.migration.notification0 = En orden para implementar este crucial arreglo, Las reglas de HTTPS en todas partes se restablecerán a sus valores iniciales. +https-everywhere.menu.ruleset-tests = Corriendo prueba de reglas de HTTPS en todas partes ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/gettor] Update translations for gettor
commit eb82094fa6f4962151f52e4b25ea005cd6fc51d3 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 22:45:04 2014 + Update translations for gettor --- es/gettor.po |7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/es/gettor.po b/es/gettor.po index 4733390..7f31bd1 100644 --- a/es/gettor.po +++ b/es/gettor.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# her_tor_es_ar cvma...@gmail.com, 2014 # Gioyik gio...@gmail.com, 2011 # henrycito henry.izuri...@gmail.com, 2014 # Jacob Appelbaum ja...@appelbaum.net, 2009 @@ -14,8 +15,8 @@ msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: \n POT-Creation-Date: 2013-01-19 13:40+0100\n -PO-Revision-Date: 2014-03-03 20:50+\n -Last-Translator: henrycito henry.izuri...@gmail.com\n +PO-Revision-Date: 2014-05-09 22:30+\n +Last-Translator: her_tor_es_ar cvma...@gmail.com\n Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/language/es/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -319,7 +320,7 @@ msgstr Desafortunadamente no hay archivo fraccionado disponible del paquete\nqu msgid UNPACKING THE FILES\n === -msgstr DESEMPAQUETAR LOS ARCHIVOS\n +msgstr DESEMPAQUETANDO LOS ARCHIVOS\n== #: lib/gettor/i18n.py:205 msgid ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/gettor_completed] Update translations for gettor_completed
commit 8b76dc57769165106fd47f1a6aa66c6abe6656f4 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 22:45:08 2014 + Update translations for gettor_completed --- es/gettor.po |7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/es/gettor.po b/es/gettor.po index 4733390..7f31bd1 100644 --- a/es/gettor.po +++ b/es/gettor.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# her_tor_es_ar cvma...@gmail.com, 2014 # Gioyik gio...@gmail.com, 2011 # henrycito henry.izuri...@gmail.com, 2014 # Jacob Appelbaum ja...@appelbaum.net, 2009 @@ -14,8 +15,8 @@ msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: \n POT-Creation-Date: 2013-01-19 13:40+0100\n -PO-Revision-Date: 2014-03-03 20:50+\n -Last-Translator: henrycito henry.izuri...@gmail.com\n +PO-Revision-Date: 2014-05-09 22:30+\n +Last-Translator: her_tor_es_ar cvma...@gmail.com\n Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/language/es/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -319,7 +320,7 @@ msgstr Desafortunadamente no hay archivo fraccionado disponible del paquete\nqu msgid UNPACKING THE FILES\n === -msgstr DESEMPAQUETAR LOS ARCHIVOS\n +msgstr DESEMPAQUETANDO LOS ARCHIVOS\n== #: lib/gettor/i18n.py:205 msgid ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torcheck] Update translations for torcheck
commit 798214cb87d47c866fb35be1c54ff2a5bb1cc911 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 22:45:12 2014 + Update translations for torcheck --- es/torcheck.po |7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/es/torcheck.po b/es/torcheck.po index 7201363..2157940 100644 --- a/es/torcheck.po +++ b/es/torcheck.po @@ -2,6 +2,7 @@ # Copyright (C) 2008-2013 The Tor Project, Inc # # Translators: +# her_tor_es_ar cvma...@gmail.com, 2014 # cronayu itacron...@hotmail.com, 2012 # Envite env...@rolamasao.org, 2013 # Shyish jgongarr...@hotmail.com, 2011 @@ -13,8 +14,8 @@ msgid msgstr Project-Id-Version: The Tor Project\n POT-Creation-Date: 2012-02-16 20:28+PDT\n -PO-Revision-Date: 2014-05-07 13:40+\n -Last-Translator: xocoyotzin\n +PO-Revision-Date: 2014-05-09 22:30+\n +Last-Translator: her_tor_es_ar cvma...@gmail.com\n Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/language/es/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -88,7 +89,7 @@ msgid Donate to Support Tor msgstr Done para apoyar a Tor msgid Tor QA Site -msgstr Preguntas y respuestas de Tor +msgstr Sitio de preguntas y respuestas de Tor msgid Volunteer msgstr Voluntarios ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torcheck_completed] Update translations for torcheck_completed
commit ec4eb377f8b7d3b912f68c466d453bfce3fd0b87 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 22:45:14 2014 + Update translations for torcheck_completed --- es/torcheck.po |7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/es/torcheck.po b/es/torcheck.po index 7201363..2157940 100644 --- a/es/torcheck.po +++ b/es/torcheck.po @@ -2,6 +2,7 @@ # Copyright (C) 2008-2013 The Tor Project, Inc # # Translators: +# her_tor_es_ar cvma...@gmail.com, 2014 # cronayu itacron...@hotmail.com, 2012 # Envite env...@rolamasao.org, 2013 # Shyish jgongarr...@hotmail.com, 2011 @@ -13,8 +14,8 @@ msgid msgstr Project-Id-Version: The Tor Project\n POT-Creation-Date: 2012-02-16 20:28+PDT\n -PO-Revision-Date: 2014-05-07 13:40+\n -Last-Translator: xocoyotzin\n +PO-Revision-Date: 2014-05-09 22:30+\n +Last-Translator: her_tor_es_ar cvma...@gmail.com\n Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/language/es/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -88,7 +89,7 @@ msgid Donate to Support Tor msgstr Done para apoyar a Tor msgid Tor QA Site -msgstr Preguntas y respuestas de Tor +msgstr Sitio de preguntas y respuestas de Tor msgid Volunteer msgstr Voluntarios ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/https_everywhere] Update translations for https_everywhere
commit a2f0313d6afeb67c1acd935d8b689825ece8670b Author: Translation commit bot translat...@torproject.org Date: Fri May 9 22:45:20 2014 + Update translations for https_everywhere --- es/https-everywhere.dtd |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/https-everywhere.dtd b/es/https-everywhere.dtd index ed3c8c5..f5c8f6c 100644 --- a/es/https-everywhere.dtd +++ b/es/https-everywhere.dtd @@ -1,4 +1,4 @@ -!ENTITY https-everywhere.about.title Acerca de HTTPS Everywhere (HTTPS en cualquier sitio) +!ENTITY https-everywhere.about.title Acerca de HTTPS Everywhere (HTTPS en todos lados) !ENTITY https-everywhere.about.ext_name HTTPS Everywhere !ENTITY https-everywhere.about.ext_description ¡Cifre la Web! Utilice automáticamente la seguridad HTTPS en muchos sitios. !ENTITY https-everywhere.about.version Versión ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/https_everywhere_completed] Update translations for https_everywhere_completed
commit df059f4b0a12d938bae3d272682e0c8281132ee8 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 22:45:24 2014 + Update translations for https_everywhere_completed --- es/https-everywhere.dtd |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es/https-everywhere.dtd b/es/https-everywhere.dtd index ed3c8c5..f5c8f6c 100644 --- a/es/https-everywhere.dtd +++ b/es/https-everywhere.dtd @@ -1,4 +1,4 @@ -!ENTITY https-everywhere.about.title Acerca de HTTPS Everywhere (HTTPS en cualquier sitio) +!ENTITY https-everywhere.about.title Acerca de HTTPS Everywhere (HTTPS en todos lados) !ENTITY https-everywhere.about.ext_name HTTPS Everywhere !ENTITY https-everywhere.about.ext_description ¡Cifre la Web! Utilice automáticamente la seguridad HTTPS en muchos sitios. !ENTITY https-everywhere.about.version Versión ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-greeter] Update translations for tails-greeter
commit e366461acc00f5bf6b526605627d109c64bd30e7 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 22:45:30 2014 + Update translations for tails-greeter --- es/es.po |9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/es/es.po b/es/es.po index 52343f9..fb3196f 100644 --- a/es/es.po +++ b/es/es.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# her_tor_es_ar cvma...@gmail.com, 2014 # Animalcustomize inach...@hotmail.com, 2014 # Envite env...@rolamasao.org, 2013 # strel, 2013-2014 @@ -11,9 +12,9 @@ msgid msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: \n -POT-Creation-Date: 2014-03-17 13:54+0100\n -PO-Revision-Date: 2014-04-12 17:20+\n -Last-Translator: Animalcustomize inach...@hotmail.com\n +POT-Creation-Date: 2014-04-27 13:07+0200\n +PO-Revision-Date: 2014-05-09 22:40+\n +Last-Translator: her_tor_es_ar cvma...@gmail.com\n Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/language/es/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -91,7 +92,7 @@ msgstr Verifique la contraseña: #: ../glade/optionswindow.glade.h:9 msgid iPasswords do not match/i -msgstr iLas contraseñas no concuerdan/i +msgstr iLas contraseñas no coinciden/i #: ../glade/optionswindow.glade.h:10 msgid Windows camouflage ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-greeter_completed] Update translations for tails-greeter_completed
commit 1bb0eb294d86ee69577d17cb0deb82bcb11e42a3 Author: Translation commit bot translat...@torproject.org Date: Fri May 9 22:45:32 2014 + Update translations for tails-greeter_completed --- es/es.po |9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/es/es.po b/es/es.po index 52343f9..fb3196f 100644 --- a/es/es.po +++ b/es/es.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# her_tor_es_ar cvma...@gmail.com, 2014 # Animalcustomize inach...@hotmail.com, 2014 # Envite env...@rolamasao.org, 2013 # strel, 2013-2014 @@ -11,9 +12,9 @@ msgid msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: \n -POT-Creation-Date: 2014-03-17 13:54+0100\n -PO-Revision-Date: 2014-04-12 17:20+\n -Last-Translator: Animalcustomize inach...@hotmail.com\n +POT-Creation-Date: 2014-04-27 13:07+0200\n +PO-Revision-Date: 2014-05-09 22:40+\n +Last-Translator: her_tor_es_ar cvma...@gmail.com\n Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/language/es/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -91,7 +92,7 @@ msgstr Verifique la contraseña: #: ../glade/optionswindow.glade.h:9 msgid iPasswords do not match/i -msgstr iLas contraseñas no concuerdan/i +msgstr iLas contraseñas no coinciden/i #: ../glade/optionswindow.glade.h:10 msgid Windows camouflage ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits