tor-commits
Threads by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 216063 discussions
27 Feb '12
commit 0c46327cbc61929bca1fb2ad4ab2a61e180dcf32
Author: Translation commit bot <translation(a)torproject.org>
Date: Mon Feb 27 11:45:04 2012 +0000
Update translations for orbot
---
values-de/strings.xml | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/values-de/strings.xml b/values-de/strings.xml
index 7f4692f..9723dad 100644
--- a/values-de/strings.xml
+++ b/values-de/strings.xml
@@ -156,9 +156,9 @@ Besuchen Sie https://guardianproject.info/apps/orbot oder senden Sie eine E-Mail
<string name="use_only_these_specified_nodes">Benutze *ausschließlich* diese angegebenen Nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Benutze Bridges</string>
- <string name="bridges_obfuscated">Obfuscated Bridges</string>
+ <string name="bridges_obfuscated">Verschleierte Brücken</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Benutze alternative Eingangs-Nodes in das TOR-Netzwerk</string>
- <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Aktivieren, falls konfigurierte Brücken verschleierte Brücken sind.</string>
<string name="ip_address_and_port_of_bridges">IP Adresse und Port der Bridges</string>
<string name="enter_bridge_addresses">Geben Sie die Bridge_Adressen ein</string>
<string name="relays">Relays</string>
@@ -202,10 +202,10 @@ Besuchen Sie https://guardianproject.info/apps/orbot oder senden Sie eine E-Mail
<string name="error_installing_binares">Die Tor-Binarys konnten nicht installiert oder aktualisiert werden.</string>
<string name="pref_use_persistent_notifications">Behalte das Icon immer in der Benutzerleiste (Toolbar) wenn Orbot verbunden ist.</string>
<string name="pref_use_persistent_notifications_title">Immer-eingeschaltet Benachrichtigungen</string>
- <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="notification_using_bridges">Brücke aktiviert!</string>
<string name="default_bridges"></string>
- <string name="set_locale_title">Set Locale</string>
- <string name="set_locale_summary">Choose the locale and language for Orbot</string>
- <string name="wizard_locale_title">Choose Language</string>
- <string name="wizard_locale_msg">Leave default or switch the current language</string>
+ <string name="set_locale_title">Gebietsschema festlegen</string>
+ <string name="set_locale_summary">Gebietsschema und Sprache wählen</string>
+ <string name="wizard_locale_title">Sprache wählen</string>
+ <string name="wizard_locale_msg">Grundeinstellung beibehalten oder Sprache ändern</string>
</resources>
1
0
27 Feb '12
commit 9d86250bd5bde0301ed26a6ea805cb5682f08cf6
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Mon Feb 27 10:06:15 2012 +0100
Discontinue routerdetail{.html|.png}.
This page and graph were only linked from networkstatus.html which is now
discontinued, too.
---
rserve/graphs.R | 32 ------
.../ernie/web/GraphParameterChecker.java | 1 -
.../torproject/ernie/web/RouterDetailServlet.java | 117 --------------------
web/WEB-INF/routerdetail.jsp | 86 +--------------
4 files changed, 2 insertions(+), 234 deletions(-)
diff --git a/rserve/graphs.R b/rserve/graphs.R
index 2900c02..61c12f7 100644
--- a/rserve/graphs.R
+++ b/rserve/graphs.R
@@ -899,35 +899,3 @@ plot_connbidirect <- function(start, end, path, dpi) {
ggsave(filename = path, width = 8, height = 5, dpi = as.numeric(dpi))
}
-## TODO The bandwidth history shouldn't be based on the consensus weights
-## which aren't bandwidths anymore, but either on the advertised bandwidth
-## contained in server descriptors or better on the bandwidth history
-## reported in extra-info descriptors.
-plot_routerdetail <- function(fingerprint, path) {
- drv <- dbDriver("PostgreSQL")
- con <- dbConnect(drv, user = dbuser, password = dbpassword, dbname = db)
- q <- paste("SELECT AVG(bandwidth)::INTEGER AS bw, ",
- "DATE(validafter) AS date ",
- "FROM statusentry WHERE fingerprint = '", fingerprint, "' ",
- "AND validafter > CURRENT_TIMESTAMP AT TIME ZONE 'UTC' - ",
- "interval '1 week' GROUP BY DATE(validafter)", sep = "")
- rs <- dbSendQuery(con, q)
- routerdetail <- fetch(rs, n = -1)
- ## TODO We should add NA's for missing dates.
- dbDisconnect(con)
- dbUnloadDriver(drv)
- date_breaks <- date_breaks(
- as.numeric(max(as.Date(routerdetail$date, "%Y-%m-%d")) -
- min(as.Date(routerdetail$date, "%Y-%m-%d"))))
- ggplot(routerdetail, aes(x = as.Date(date, "%Y-%m-%d"), y = bw)) +
- geom_line(size = 1) +
- scale_x_date(name = paste("\nThe Tor Project - ",
- "https://metrics.torproject.org/", sep = ""),
- format = date_breaks$format, major = date_breaks$major,
- minor = date_breaks$minor) +
- scale_y_continuous(name = "") +
- opts(title = paste("Bandwidth history for ", fingerprint, "\n",
- sep = ""))
- ggsave(filename = path, width = 8, height = 5, dpi = 72)
-}
-
diff --git a/src/org/torproject/ernie/web/GraphParameterChecker.java b/src/org/torproject/ernie/web/GraphParameterChecker.java
index 81091e4..09a4f34 100644
--- a/src/org/torproject/ernie/web/GraphParameterChecker.java
+++ b/src/org/torproject/ernie/web/GraphParameterChecker.java
@@ -59,7 +59,6 @@ public class GraphParameterChecker {
this.availableGraphs.put("torperf-failures",
"start,end,source,filesize,filename,dpi");
this.availableGraphs.put("connbidirect", "start,end,filename,dpi");
- this.availableGraphs.put("routerdetail", "fingerprint,filename");
this.knownParameterValues = new HashMap<String, String>();
this.knownParameterValues.put("flag",
diff --git a/src/org/torproject/ernie/web/RouterDetailServlet.java b/src/org/torproject/ernie/web/RouterDetailServlet.java
index 677c293..5d71a5a 100644
--- a/src/org/torproject/ernie/web/RouterDetailServlet.java
+++ b/src/org/torproject/ernie/web/RouterDetailServlet.java
@@ -1,134 +1,17 @@
package org.torproject.ernie.web;
import java.io.*;
-import java.sql.*;
-import java.text.*;
-import java.util.*;
-import java.util.logging.*;
-import java.util.regex.*;
-import javax.naming.*;
import javax.servlet.*;
import javax.servlet.http.*;
-import javax.sql.*;
import org.apache.commons.lang.time.*;
public class RouterDetailServlet extends HttpServlet {
- private DataSource ds;
-
- private Logger logger;
-
- private Pattern fingerprintPattern;
-
- public void init() {
-
- /* Initialize logger. */
- this.logger = Logger.getLogger(RouterDetailServlet.class.toString());
-
- /* Look up data source. */
- try {
- Context cxt = new InitialContext();
- this.ds = (DataSource) cxt.lookup("java:comp/env/jdbc/tordir");
- this.logger.info("Successfully looked up data source.");
- } catch (NamingException e) {
- this.logger.log(Level.WARNING, "Could not look up data source", e);
- }
-
- /* Initialize fingerprint pattern. */
- this.fingerprintPattern = Pattern.compile("^[0-9a-f]{40}$");
- }
-
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
- /* Check that we were given a valid fingerprint. */
- String fingerprintParameter = request.getParameter("fingerprint");
- if (fingerprintParameter != null) {
- fingerprintParameter = fingerprintParameter.toLowerCase();
- }
- if (fingerprintParameter == null ||
- fingerprintParameter.length() != 40 ||
- !fingerprintPattern.matcher(fingerprintParameter).matches()) {
- response.sendError(HttpServletResponse.SC_BAD_REQUEST);
- return;
- }
-
- String query = "SELECT statusentry.validafter, statusentry.nickname, "
- + "statusentry.fingerprint, statusentry.descriptor, "
- + "statusentry.published, statusentry.address, "
- + "statusentry.orport, statusentry.dirport, "
- + "statusentry.isauthority, statusentry.isbadexit, "
- + "statusentry.isbaddirectory, statusentry.isexit, "
- + "statusentry.isfast, statusentry.isguard, statusentry.ishsdir, "
- + "statusentry.isnamed, statusentry.isstable, "
- + "statusentry.isrunning, statusentry.isunnamed, "
- + "statusentry.isvalid, statusentry.isv2dir, "
- + "statusentry.isv3dir, statusentry.version, "
- + "statusentry.bandwidth, statusentry.ports, "
- + "descriptor.uptime, descriptor.platform, descriptor.rawdesc "
- + "FROM statusentry JOIN descriptor "
- + "ON descriptor.descriptor = statusentry.descriptor "
- + "WHERE statusentry.validafter = "
- + "(SELECT MAX(validafter) FROM consensus) "
- + "AND statusentry.fingerprint = ?";
-
- try {
- long requestedConnection = System.currentTimeMillis();
- Connection conn = this.ds.getConnection();
- PreparedStatement ps = conn.prepareStatement(query);
- ps.setString(1, fingerprintParameter);
- ResultSet rs = ps.executeQuery();
- if (rs.next()) {
- request.setAttribute("validafter", rs.getTimestamp(1));
- request.setAttribute("nickname", rs.getString(2));
- request.setAttribute("fingerprint", rs.getString(3));
- request.setAttribute("descriptor", rs.getString(4));
- request.setAttribute("published", rs.getTimestamp(5));
- request.setAttribute("address", rs.getString(6));
- request.setAttribute("orport", rs.getInt(7));
- request.setAttribute("dirport", rs.getInt(8));
- request.setAttribute("isauthority", rs.getBoolean(9));
- request.setAttribute("isbadexit", rs.getBoolean(10));
- request.setAttribute("isbaddirectory", rs.getBoolean(11));
- request.setAttribute("isexit", rs.getBoolean(12));
- request.setAttribute("isfast", rs.getBoolean(13));
- request.setAttribute("isguard", rs.getBoolean(14));
- request.setAttribute("ishsdir", rs.getBoolean(15));
- request.setAttribute("isnamed", rs.getBoolean(16));
- request.setAttribute("isstable", rs.getBoolean(17));
- request.setAttribute("isrunning", rs.getBoolean(18));
- request.setAttribute("isunnamed", rs.getBoolean(19));
- request.setAttribute("isvalid", rs.getBoolean(20));
- request.setAttribute("isv2dir", rs.getBoolean(21));
- request.setAttribute("isv3dir", rs.getBoolean(22));
- request.setAttribute("version", rs.getString(23));
- request.setAttribute("bandwidth", rs.getBigDecimal(24));
- request.setAttribute("ports", rs.getString(25));
- request.setAttribute("uptime", DurationFormatUtils.formatDuration(
- rs.getBigDecimal(26).longValue() * 1000L, "d'd' HH:mm:ss"));
- request.setAttribute("platform", rs.getString(27));
- } else {
- /* There were zero results in the set */
- /* TODO Handle this case in a more user-friendly way. */
- response.sendError(HttpServletResponse.SC_BAD_REQUEST);
- this.logger.log(Level.WARNING, "Query with fingerprint = '"
- + fingerprintParameter + "' returned zero results. "
- + "Returned BAD_REQUEST.");
- return;
- }
- conn.close();
- this.logger.info("Returned a database connection to the pool after "
- + (System.currentTimeMillis() - requestedConnection)
- + " millis.");
-
- } catch (SQLException e) {
- response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- this.logger.log(Level.WARNING, "Database error", e);
- return;
- }
-
/* Forward the request to the JSP. */
request.getRequestDispatcher("WEB-INF/routerdetail.jsp").forward(
request, response);
diff --git a/web/WEB-INF/routerdetail.jsp b/web/WEB-INF/routerdetail.jsp
index 42fff88..416285d 100644
--- a/web/WEB-INF/routerdetail.jsp
+++ b/web/WEB-INF/routerdetail.jsp
@@ -12,90 +12,8 @@
<%@ include file="banner.jsp"%>
<div class="main-column">
<h2>Tor Metrics Portal: Router Detail</h2>
- <table>
- <tr>
- <td>validafter</td><td>${validafter}</td>
- </tr>
- <tr>
- <td>nickname</td><td>${nickname}</td>
- </tr>
- <tr>
- <td>bandwidth</td><td>${bandwidth}</td>
- </tr>
- <tr>
- <td>fingerprint</td><td>${fingerprint}</td>
- </tr>
- <tr>
- <td>published</td><td>${published}</td>
- </tr>
- <tr>
- <td>address</td><td>${address}</td>
- </tr>
- <tr>
- <td>uptime</td><td>${uptime}</td>
- </tr>
- <tr>
- <td>orport</td><td>${orport}</td>
- </tr>
- <tr>
- <td>dirport</td><td>${dirport}</td>
- </tr>
- <tr>
- <td>isauthority</td><td>${isauthority}</td>
- </tr>
- <tr>
- <td>isbadexit</td><td>${isbadexit}</td>
- </tr>
- <tr>
- <td>isbaddirectory</td><td>${isbaddirectory}</td>
- </tr>
- <tr>
- <td>isexit</td><td>${isexit}</td>
- </tr>
- <tr>
- <td>isfast</td><td>${isfast}</td>
- </tr>
- <tr>
- <td>isguard</td><td>${isguard}</td>
- </tr>
- <tr>
- <td>ishsdir</td><td>${ishsdir}</td>
- </tr>
- <tr>
- <td>isnamed</td><td>${isnamed}</td>
- </tr>
- <tr>
- <td>isstable</td><td>${isstable}</td>
- </tr>
- <tr>
- <td>isrunning</td><td>${isrunning}</td>
- </tr>
- <tr>
- <td>isunnamed</td><td>${isunnamed}</td>
- </tr>
- <tr>
- <td>isvalid</td><td>${isvalid}</td>
- </tr>
- <tr>
- <td>isv2dir</td><td>${isv2dir}</td>
- </tr>
- <tr>
- <td>isv3dir</td><td>${isv3dir}</td>
- </tr>
- <tr>
- <td>version</td><td>${version}</td>
- </tr>
- <tr>
- <td>ports</td><td>${ports}</td>
- </tr>
- <tr>
- <td>platform</td><td>${platform}</td>
- </tr>
- </table>
- <img src="routerdetail.png?fingerprint=${fingerprint}"
- width="576"
- height="360"
- alt="Bandwidth history for ${fingerprint}"/>
+ <br>
+ <p>Sorry, this page has been discontinued.</p>
</div>
</div>
<div class="bottom" id="bottom">
1
0
27 Feb '12
commit adfbbaf930d6bb7638a02f2c0b393abb8b6d3007
Author: Translation commit bot <translation(a)torproject.org>
Date: Mon Feb 27 09:15:12 2012 +0000
Update translations for orbot
---
values-ar/strings.xml | 8 ++++++++
values-ca/strings.xml | 8 ++++++++
values-cs/strings.xml | 8 ++++++++
values-de/strings.xml | 8 ++++++++
values-el/strings.xml | 8 ++++++++
values-es/strings.xml | 8 ++++++++
values-eu/strings.xml | 8 ++++++++
values-fa/strings.xml | 8 ++++++++
values-fr/strings.xml | 8 ++++++++
values-hu/strings.xml | 8 ++++++++
values-it/strings.xml | 8 ++++++++
values-ja/strings.xml | 8 ++++++++
values-mk/strings.xml | 8 ++++++++
values-nb/strings.xml | 8 ++++++++
values-nl/strings.xml | 8 ++++++++
values-pl/strings.xml | 8 ++++++++
values-pt/strings.xml | 8 ++++++++
values-pt_BR/strings.xml | 8 ++++++++
values-ru/strings.xml | 8 ++++++++
values-sv/strings.xml | 8 ++++++++
values-zh/strings.xml | 8 ++++++++
values/strings.xml | 8 ++++++++
22 files changed, 176 insertions(+), 0 deletions(-)
diff --git a/values-ar/strings.xml b/values-ar/strings.xml
index 01a6a12..2b4e263 100644
--- a/values-ar/strings.xml
+++ b/values-ar/strings.xml
@@ -155,7 +155,9 @@
<string name="use_only_these_specified_nodes">فقط استخدم هذه النقاط المحددة</string>
<string name="bridges">الجسور</string>
<string name="use_bridges">استخدم الجسور</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">اسمح باستخدام نقاط دخول بديلة على شبكة تور</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">عناوين الانترنت و منافذ الجسور</string>
<string name="enter_bridge_addresses">أدخل عنوان الجسر</string>
<string name="relays">نقاط التحويل</string>
@@ -199,4 +201,10 @@
<string name="error_installing_binares">لم يتم تثبيت أو تحديث مكونات تور</string>
<string name="pref_use_persistent_notifications">ضع الأيقونة في شريط التنبيهات عندما يكون أوربوت متصلاً</string>
<string name="pref_use_persistent_notifications_title">تفعيل التنبيهات دائماً</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-ca/strings.xml b/values-ca/strings.xml
index 6a63bb1..007ed1a 100644
--- a/values-ca/strings.xml
+++ b/values-ca/strings.xml
@@ -155,7 +155,9 @@ Visita\'ns a https://guardianproject.info/apps/orbot o envia\'ns un correu elect
<string name="use_only_these_specified_nodes">Use *only* these specified nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Use Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP address and port of bridges</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">Relays</string>
@@ -199,4 +201,10 @@ Visita\'ns a https://guardianproject.info/apps/orbot o envia\'ns un correu elect
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-cs/strings.xml b/values-cs/strings.xml
index 027de60..23395ac 100644
--- a/values-cs/strings.xml
+++ b/values-cs/strings.xml
@@ -149,7 +149,9 @@
<string name="use_only_these_specified_nodes">Use *only* these specified nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Use Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP address and port of bridges</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">Relays</string>
@@ -193,4 +195,10 @@
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-de/strings.xml b/values-de/strings.xml
index 9b75c7f..7f4692f 100644
--- a/values-de/strings.xml
+++ b/values-de/strings.xml
@@ -156,7 +156,9 @@ Besuchen Sie https://guardianproject.info/apps/orbot oder senden Sie eine E-Mail
<string name="use_only_these_specified_nodes">Benutze *ausschließlich* diese angegebenen Nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Benutze Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Benutze alternative Eingangs-Nodes in das TOR-Netzwerk</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP Adresse und Port der Bridges</string>
<string name="enter_bridge_addresses">Geben Sie die Bridge_Adressen ein</string>
<string name="relays">Relays</string>
@@ -200,4 +202,10 @@ Besuchen Sie https://guardianproject.info/apps/orbot oder senden Sie eine E-Mail
<string name="error_installing_binares">Die Tor-Binarys konnten nicht installiert oder aktualisiert werden.</string>
<string name="pref_use_persistent_notifications">Behalte das Icon immer in der Benutzerleiste (Toolbar) wenn Orbot verbunden ist.</string>
<string name="pref_use_persistent_notifications_title">Immer-eingeschaltet Benachrichtigungen</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-el/strings.xml b/values-el/strings.xml
index 9ad6ffb..83ae607 100644
--- a/values-el/strings.xml
+++ b/values-el/strings.xml
@@ -149,7 +149,9 @@
<string name="use_only_these_specified_nodes">Use *only* these specified nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Use Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP address and port of bridges</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">Relays</string>
@@ -193,4 +195,10 @@
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-es/strings.xml b/values-es/strings.xml
index a5d0ca8..5c9ad1c 100644
--- a/values-es/strings.xml
+++ b/values-es/strings.xml
@@ -155,7 +155,9 @@ Visítenos en https://guardianproject.info/apps/orbot o envíenos un correo elec
<string name="use_only_these_specified_nodes">Usar * sólamente * los nodos especificados</string>
<string name="bridges">Puentes/Bridges</string>
<string name="use_bridges">Utilizar Puentes/Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Activar nodos de entrada alternativos en la red Tor</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">Dirección IP y el puerto del puente/Bridge</string>
<string name="enter_bridge_addresses">Introduzca la dirección del puente/Bridge</string>
<string name="relays">Retransmisores de trafico</string>
@@ -199,4 +201,10 @@ Visítenos en https://guardianproject.info/apps/orbot o envíenos un correo elec
<string name="error_installing_binares">Los binario de Tor no se pudieron instalar o actualizar</string>
<string name="pref_use_persistent_notifications">Mantener siempre el icono de Orbot en la barra de tareas cuando esté conectado</string>
<string name="pref_use_persistent_notifications_title">Notificaciones siempre encendidas</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-eu/strings.xml b/values-eu/strings.xml
index 72c9865..8b148af 100644
--- a/values-eu/strings.xml
+++ b/values-eu/strings.xml
@@ -149,7 +149,9 @@
<string name="use_only_these_specified_nodes">Use *only* these specified nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Use Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP address and port of bridges</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">Relays</string>
@@ -193,4 +195,10 @@
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-fa/strings.xml b/values-fa/strings.xml
index 5e6ab60..02c46b8 100644
--- a/values-fa/strings.xml
+++ b/values-fa/strings.xml
@@ -150,7 +150,9 @@ Orbot اگر فقط
<string name="use_only_these_specified_nodes">فقط * از این گره های مشخص شده استفاده کنید* </string>
<string name="bridges">پل ها</string>
<string name="use_bridges">Use Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP address and port of bridges</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">بازپخش کننده ها</string>
@@ -194,4 +196,10 @@ Orbot اگر فقط
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-fr/strings.xml b/values-fr/strings.xml
index ee3d796..e28dcce 100644
--- a/values-fr/strings.xml
+++ b/values-fr/strings.xml
@@ -150,7 +150,9 @@
<string name="use_only_these_specified_nodes">Utiliser * uniquement * les nœuds spécifiés</string>
<string name="bridges">Ponts</string>
<string name="use_bridges">Utiliser des ponts</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Activer des nœuds alternatifs d\'entrée dans le réseau Tor</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">Adresse IP et port des ponts</string>
<string name="enter_bridge_addresses">Entrez les adresses de passerelle</string>
<string name="relays">Relais</string>
@@ -194,4 +196,10 @@
<string name="error_installing_binares">Les fichiers binaires de Tor n\'ont pas pu être installé ou mis à jour.</string>
<string name="pref_use_persistent_notifications">Toujours conserver l\'icône dans la barre des tâches quand Orbot est connecté.</string>
<string name="pref_use_persistent_notifications_title">Toujours activé les Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-hu/strings.xml b/values-hu/strings.xml
index 0579883..a017a2c 100644
--- a/values-hu/strings.xml
+++ b/values-hu/strings.xml
@@ -149,7 +149,9 @@
<string name="use_only_these_specified_nodes">*Csak * a megadott csomópontok használata</string>
<string name="bridges">Hidak</string>
<string name="use_bridges">Hidak használata</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Alternatív belépési pontok engedélyezése a Tor hálózatba</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">A Hidek IP címe és portja</string>
<string name="enter_bridge_addresses">Adja meg a híd címet</string>
<string name="relays">Elosztók</string>
@@ -193,4 +195,10 @@
<string name="error_installing_binares">A Tor binárisok nem telepíthetők, vagy frissíthetők.</string>
<string name="pref_use_persistent_notifications">Mindig legyen látható az ikon az eszköztáron, ha az Orbot csatlakozott állapotú.</string>
<string name="pref_use_persistent_notifications_title">Mindig bekapcsolt értesítések</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-it/strings.xml b/values-it/strings.xml
index 4e50aa2..b3ad332 100644
--- a/values-it/strings.xml
+++ b/values-it/strings.xml
@@ -151,7 +151,9 @@ Visita il nostro sito web https://guardianproject.info/apps/orbot o invia una ma
<string name="use_only_these_specified_nodes">Utilizza *solo* i nodi specificati</string>
<string name="bridges">Ponti</string>
<string name="use_bridges">Utilizza i bridge</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Abilita nodi alternati in entrata nella rete Tor</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">Indirizzo IP e porta dei bridge</string>
<string name="enter_bridge_addresses">Inserire gli indirizzi dei bridge</string>
<string name="relays">Relays</string>
@@ -195,4 +197,10 @@ Visita il nostro sito web https://guardianproject.info/apps/orbot o invia una ma
<string name="error_installing_binares">Non è stato possibile installare o aggiornare i binari di Tor.</string>
<string name="pref_use_persistent_notifications">Mantieni sempre l\'icona nella barra degli strumenti quando Orbot è connesso.</string>
<string name="pref_use_persistent_notifications_title">Notifiche sempre attive</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-ja/strings.xml b/values-ja/strings.xml
index 9b6d746..0008de2 100644
--- a/values-ja/strings.xml
+++ b/values-ja/strings.xml
@@ -149,7 +149,9 @@
<string name="use_only_these_specified_nodes">Use *only* these specified nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Use Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP address and port of bridges</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">Relays</string>
@@ -193,4 +195,10 @@
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-mk/strings.xml b/values-mk/strings.xml
index 6b38f9b..8086fb7 100644
--- a/values-mk/strings.xml
+++ b/values-mk/strings.xml
@@ -149,7 +149,9 @@
<string name="use_only_these_specified_nodes">Use *only* these specified nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Use Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP address and port of bridges</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">Relays</string>
@@ -193,4 +195,10 @@
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-nb/strings.xml b/values-nb/strings.xml
index d4ccc40..e5cca10 100644
--- a/values-nb/strings.xml
+++ b/values-nb/strings.xml
@@ -149,7 +149,9 @@
<string name="use_only_these_specified_nodes">Use *only* these specified nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Use Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP address and port of bridges</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">Relays</string>
@@ -193,4 +195,10 @@
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-nl/strings.xml b/values-nl/strings.xml
index 9daf30a..73cc97c 100644
--- a/values-nl/strings.xml
+++ b/values-nl/strings.xml
@@ -155,7 +155,9 @@ Bezoek onze website op https://guardianproject.info/apps/orbot of stuur een emai
<string name="use_only_these_specified_nodes">Gebruik *alleen* deze nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Gebruik bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Gebruik alternatieve toegangsnodes naar het Tor Netwerk</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP-adres en poort van bridges</string>
<string name="enter_bridge_addresses">Voer bridge adres in</string>
<string name="relays">Relays</string>
@@ -199,4 +201,10 @@ Bezoek onze website op https://guardianproject.info/apps/orbot of stuur een emai
<string name="error_installing_binares">De Tor binaries konden niet worden geïnstalleerd of geüpgraded.</string>
<string name="pref_use_persistent_notifications">Houd icoon in toolbar zolang Orbot verbonden is</string>
<string name="pref_use_persistent_notifications_title">Meldingen altijd aan</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-pl/strings.xml b/values-pl/strings.xml
index 4d3c429..4f9a129 100644
--- a/values-pl/strings.xml
+++ b/values-pl/strings.xml
@@ -149,7 +149,9 @@
<string name="use_only_these_specified_nodes">Use *only* these specified nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Use Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP address and port of bridges</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">Relays</string>
@@ -193,4 +195,10 @@
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-pt/strings.xml b/values-pt/strings.xml
index 60ec1ee..e598ccd 100644
--- a/values-pt/strings.xml
+++ b/values-pt/strings.xml
@@ -149,7 +149,9 @@
<string name="use_only_these_specified_nodes">Use *only* these specified nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Use Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP address and port of bridges</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">Relays</string>
@@ -193,4 +195,10 @@
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-pt_BR/strings.xml b/values-pt_BR/strings.xml
index 42c6c8c..505a739 100644
--- a/values-pt_BR/strings.xml
+++ b/values-pt_BR/strings.xml
@@ -151,7 +151,9 @@
<string name="use_only_these_specified_nodes">Use *somente* estes nós específicos</string>
<string name="bridges">Pontes</string>
<string name="use_bridges">Usar pontes</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Habilitar nós de entrada alternativos dentro da rede Tor</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">Endereço IP e porta das pontes</string>
<string name="enter_bridge_addresses">Insira os Endereços das Pontes</string>
<string name="relays">Retransmissores</string>
@@ -195,4 +197,10 @@
<string name="error_installing_binares">Os binários Tor não estão disponíveis para serem instalados ou atualizados.</string>
<string name="pref_use_persistent_notifications">Sempre manter o ícone na barra de tarefas quando o Orbot está conectado</string>
<string name="pref_use_persistent_notifications_title">Notificações Sempre Ligadas</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-ru/strings.xml b/values-ru/strings.xml
index ea44987..821eefd 100644
--- a/values-ru/strings.xml
+++ b/values-ru/strings.xml
@@ -150,7 +150,9 @@
<string name="use_only_these_specified_nodes">Использовать *только* эти заданные узлы</string>
<string name="bridges">Мосты</string>
<string name="use_bridges">Использовать Мосты</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Включить альтернативные входные узлы в сеть Tor</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP адреса и порты мостов</string>
<string name="enter_bridge_addresses">Введите Адреса Мостов</string>
<string name="relays">Ретрансляторы</string>
@@ -194,4 +196,10 @@
<string name="error_installing_binares">Бинарные файлы Tor не смогли установиться или обновится.</string>
<string name="pref_use_persistent_notifications">Всегда отображать иконку в панели задач когда Orbot подключен</string>
<string name="pref_use_persistent_notifications_title">Уведомления о постоянной работе</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-sv/strings.xml b/values-sv/strings.xml
index c01c197..8312c3c 100644
--- a/values-sv/strings.xml
+++ b/values-sv/strings.xml
@@ -149,7 +149,9 @@
<string name="use_only_these_specified_nodes">Use *only* these specified nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Use Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP address and port of bridges</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">Relays</string>
@@ -193,4 +195,10 @@
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values-zh/strings.xml b/values-zh/strings.xml
index 8d55b45..6a82dc0 100644
--- a/values-zh/strings.xml
+++ b/values-zh/strings.xml
@@ -148,7 +148,9 @@
<string name="use_only_these_specified_nodes">Use *only* these specified nodes</string>
<string name="bridges">网桥</string>
<string name="use_bridges">使用网桥</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">网桥的IP地址和端口</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">Relays</string>
@@ -192,4 +194,10 @@
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
diff --git a/values/strings.xml b/values/strings.xml
index 144db09..90ef6fd 100644
--- a/values/strings.xml
+++ b/values/strings.xml
@@ -149,7 +149,9 @@
<string name="use_only_these_specified_nodes">Use *only* these specified nodes</string>
<string name="bridges">Bridges</string>
<string name="use_bridges">Use Bridges</string>
+ <string name="bridges_obfuscated">Obfuscated Bridges</string>
<string name="enable_alternate_entrance_nodes_into_the_tor_network">Enable alternate entrance nodes into the Tor Network</string>
+ <string name="enable_if_configured_bridges_are_obfuscated_bridges">Enable if configured bridges are obfuscated bridges</string>
<string name="ip_address_and_port_of_bridges">IP address and port of bridges</string>
<string name="enter_bridge_addresses">Enter Bridge Addresses</string>
<string name="relays">Relays</string>
@@ -193,4 +195,10 @@
<string name="error_installing_binares">The Tor binaries were not able to be installed or upgraded.</string>
<string name="pref_use_persistent_notifications">Always keep the icon in toolbar when Orbot is connected</string>
<string name="pref_use_persistent_notifications_title">Always-On Notifications</string>
+ <string name="notification_using_bridges">Bridges enabled!</string>
+ <string name="default_bridges"></string>
+ <string name="set_locale_title">Set Locale</string>
+ <string name="set_locale_summary">Choose the locale and language for Orbot</string>
+ <string name="wizard_locale_title">Choose Language</string>
+ <string name="wizard_locale_msg">Leave default or switch the current language</string>
</resources>
1
0
[doctor/master] Remove link to discontinued networkstatus.html.
by karsten@torproject.org 27 Feb '12
by karsten@torproject.org 27 Feb '12
27 Feb '12
commit 23639d39e7c8ec35f36e9b7b6df847cb0a22f8dd
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Mon Feb 27 09:45:40 2012 +0100
Remove link to discontinued networkstatus.html.
---
.../torproject/doctor/MetricsWebsiteReport.java | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/src/org/torproject/doctor/MetricsWebsiteReport.java b/src/org/torproject/doctor/MetricsWebsiteReport.java
index ef48405..23e59ab 100644
--- a/src/org/torproject/doctor/MetricsWebsiteReport.java
+++ b/src/org/torproject/doctor/MetricsWebsiteReport.java
@@ -124,8 +124,6 @@ public class MetricsWebsiteReport {
+ " <a href=\"status.html\">Status</a>\n"
+ " <br>\n"
+ " <font size=\"2\">\n"
- + " <a href=\"networkstatus.html\">Network "
- + "Status</a>\n"
+ " <a href=\"exonerator.html\">ExoneraTor</a>\n"
+ " <a href=\"relay-search.html\">Relay Search</a>\n"
+ " <a class=\"current\">Consensus Health</a>\n"
1
0
27 Feb '12
commit 845a82b71d563104eda5973f19fb511df4576045
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Mon Feb 27 09:16:40 2012 +0100
Remove links to discontinued relay.html.
---
.../torproject/doctor/MetricsWebsiteReport.java | 11 ++++-------
1 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/src/org/torproject/doctor/MetricsWebsiteReport.java b/src/org/torproject/doctor/MetricsWebsiteReport.java
index 07f6805..ef48405 100644
--- a/src/org/torproject/doctor/MetricsWebsiteReport.java
+++ b/src/org/torproject/doctor/MetricsWebsiteReport.java
@@ -741,14 +741,11 @@ public class MetricsWebsiteReport {
if (this.downloadedConsensus.containsStatusEntry(fingerprint) &&
this.downloadedConsensus.getStatusEntry(fingerprint).getFlags().
contains("Named") && !Character.isDigit(nickname.charAt(0))) {
- this.bw.write(" <td id=\"" + nickname
- + "\"><a href=\"relay.html?fingerprint="
- + fingerprint + "\" target=\"_blank\">"
- + fingerprint.substring(0, 8) + "</a></td>\n");
+ this.bw.write(" <td id=\"" + nickname + "\">"
+ + fingerprint.substring(0, 8) + "</td>\n");
} else {
- this.bw.write(" <td><a href=\"relay.html?fingerprint="
- + fingerprint + "\" target=\"_blank\">"
- + fingerprint.substring(0, 8) + "</a></td>\n");
+ this.bw.write(" <td>"
+ + fingerprint.substring(0, 8) + "</td>\n");
}
this.bw.write(" <td>" + nickname + "</td>\n");
SortedSet<String> relevantFlags = new TreeSet<String>();
1
0
27 Feb '12
commit cfd767ed67d3bbc71d18e1bd3117d4a0faf97fac
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Mon Feb 27 09:34:17 2012 +0100
Discontinue TorStatus-like pages.
These pages put more load on the database than they should. Good thing we
finally have a good TorStatus website.
---
.../torproject/ernie/web/NetworkStatusServlet.java | 145 -------
src/org/torproject/ernie/web/RelayServlet.java | 393 +-------------------
web/WEB-INF/banner.jsp | 4 -
web/WEB-INF/networkstatus.jsp | 22 +-
web/WEB-INF/relay.jsp | 23 ++
5 files changed, 29 insertions(+), 558 deletions(-)
diff --git a/src/org/torproject/ernie/web/NetworkStatusServlet.java b/src/org/torproject/ernie/web/NetworkStatusServlet.java
index c206a19..63d7895 100644
--- a/src/org/torproject/ernie/web/NetworkStatusServlet.java
+++ b/src/org/torproject/ernie/web/NetworkStatusServlet.java
@@ -1,162 +1,17 @@
package org.torproject.ernie.web;
import java.io.*;
-import java.sql.*;
-import java.text.*;
-import java.util.*;
-import java.util.logging.*;
-import javax.naming.*;
import javax.servlet.*;
import javax.servlet.http.*;
-import javax.sql.*;
import org.apache.commons.lang.time.*;
public class NetworkStatusServlet extends HttpServlet {
- private DataSource ds;
-
- private Logger logger;
-
- /** Known parameter values for the sort parameter. */
- private Set<String> validSortParameterValues;
-
- /** Known parameter values for the order parameter. */
- private Set<String> validOrderParameterValues;
-
- public void init() {
-
- /* Initialize logger. */
- this.logger = Logger.getLogger(NetworkStatusServlet.class.toString());
-
- /* Look up data source. */
- try {
- Context cxt = new InitialContext();
- this.ds = (DataSource) cxt.lookup("java:comp/env/jdbc/tordir");
- this.logger.info("Successfully looked up data source.");
- } catch (NamingException e) {
- this.logger.log(Level.WARNING, "Could not look up data source", e);
- }
-
- /* Initialize known parameter values. */
- this.validSortParameterValues = new HashSet<String>(Arrays.asList((
- "nickname,bandwidth,orport,dirport,isbadexit,uptime").
- split(",")));
- this.validOrderParameterValues = new HashSet<String>(
- Arrays.asList(("desc,asc").split(",")));
-
- }
-
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
- /* Try to parse parameters and override them with defaults if we
- * cannot parse them. */
- String sortParameter = request.getParameter("sort");
- if (sortParameter != null) {
- sortParameter = sortParameter.toLowerCase();
- }
- if (sortParameter == null || sortParameter.length() < 1 ||
- !validSortParameterValues.contains(sortParameter)) {
- sortParameter = "nickname";
- }
- String orderParameter = request.getParameter("order");
- if (orderParameter != null) {
- orderParameter = orderParameter.toLowerCase();
- }
- if (orderParameter == null || orderParameter.length() < 1 ||
- !validOrderParameterValues.contains(orderParameter)) {
- orderParameter = "asc";
- }
-
- /* Initialize list containing the results. */
- List<Map<String, Object>> status =
- new ArrayList<Map<String, Object>>();
-
- /* Connect to the database and retrieve data set. */
- try {
- long requestedConnection = System.currentTimeMillis();
- Connection conn = this.ds.getConnection();
- Statement statement = conn.createStatement();
-
- String orderBy = ((sortParameter.equals("uptime") ||
- sortParameter.equals("platform"))
- ? "descriptor." : "statusentry.") + sortParameter;
- String query = "SELECT statusentry.validafter, "
- + "statusentry.nickname, statusentry.fingerprint, "
- + "statusentry.descriptor, statusentry.published, "
- + "statusentry.address, statusentry.orport, "
- + "statusentry.dirport, statusentry.isauthority, "
- + "statusentry.isbadexit, statusentry.isbaddirectory, "
- + "statusentry.isexit, statusentry.isfast, "
- + "statusentry.isguard, statusentry.ishsdir, "
- + "statusentry.isnamed, statusentry.isstable, "
- + "statusentry.isrunning, statusentry.isunnamed, "
- + "statusentry.isvalid, statusentry.isv2dir, "
- + "statusentry.isv3dir, statusentry.version, "
- + "statusentry.bandwidth, statusentry.ports, "
- + "statusentry.rawdesc, descriptor.uptime, "
- + "descriptor.platform FROM statusentry JOIN descriptor "
- + "ON descriptor.descriptor = statusentry.descriptor "
- + "WHERE statusentry.validafter = "
- + "(SELECT MAX(validafter) FROM consensus) "
- + "ORDER BY " + orderBy + " " + orderParameter.toUpperCase();
-
- ResultSet rs = statement.executeQuery(query);
-
- while (rs.next()) {
- Map<String, Object> row = new HashMap<String, Object>();
- row.put("validafter", rs.getTimestamp(1));
- row.put("nickname", rs.getString(2));
- row.put("fingerprint", rs.getString(3));
- row.put("descriptor", rs.getString(4));
- row.put("published", rs.getTimestamp(5));
- row.put("address", rs.getString(6));
- row.put("orport", rs.getInt(7));
- row.put("dirport", rs.getInt(8));
- row.put("isauthority", rs.getBoolean(9));
- row.put("isbadexit", rs.getBoolean(10));
- row.put("isbaddirectory", rs.getBoolean(11));
- row.put("isexit", rs.getBoolean(12));
- row.put("isfast", rs.getBoolean(13));
- row.put("isguard", rs.getBoolean(14));
- row.put("ishsdir", rs.getBoolean(15));
- row.put("isnamed", rs.getBoolean(16));
- row.put("isstable", rs.getBoolean(17));
- row.put("isrunning", rs.getBoolean(18));
- row.put("isunnamed", rs.getBoolean(19));
- row.put("isvalid", rs.getBoolean(20));
- row.put("isv2dir", rs.getBoolean(21));
- row.put("isv3dir", rs.getBoolean(22));
- row.put("version", rs.getString(23));
- row.put("bandwidth", rs.getBigDecimal(24));
- row.put("ports", rs.getString(25));
- row.put("rawdesc", rs.getBytes(26));
- row.put("uptime", DurationFormatUtils.formatDuration(
- rs.getBigDecimal(27).longValue() * 1000L, "d'd' HH:mm:ss"));
- row.put("platform", rs.getString(28));
- row.put("validafterts", rs.getTimestamp(1).getTime());
-
- status.add(row);
- }
- rs.close();
- statement.close();
- conn.close();
- this.logger.info("Returned a database connection to the pool after "
- + (System.currentTimeMillis() - requestedConnection)
- + " millis.");
- request.setAttribute("status", status);
- request.setAttribute("sort", sortParameter);
- request.setAttribute("order", (orderParameter.equals("desc"))
- ? "asc" : "desc");
-
- } catch (SQLException e) {
- response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- this.logger.log(Level.WARNING, "Database error", e);
- return;
- }
-
/* Forward the request to the JSP. */
request.getRequestDispatcher("WEB-INF/networkstatus.jsp").forward(
request, response);
diff --git a/src/org/torproject/ernie/web/RelayServlet.java b/src/org/torproject/ernie/web/RelayServlet.java
index 64f343d..79afac3 100644
--- a/src/org/torproject/ernie/web/RelayServlet.java
+++ b/src/org/torproject/ernie/web/RelayServlet.java
@@ -1,403 +1,18 @@
package org.torproject.ernie.web;
import java.io.*;
-import java.math.*;
-import java.sql.*;
-import java.text.*;
-import java.util.*;
-import java.util.logging.*;
-import java.util.regex.*;
-import javax.naming.*;
import javax.servlet.*;
import javax.servlet.http.*;
-import javax.sql.*;
-
-import org.apache.commons.codec.*;
-import org.apache.commons.codec.binary.*;
-
-import org.apache.commons.lang.*;
public class RelayServlet extends HttpServlet {
- private SimpleDateFormat dayFormat =
- new SimpleDateFormat("yyyy-MM-dd");
-
- private DataSource ds;
-
- private Logger logger;
-
- public void init() {
-
- /* Initialize logger. */
- this.logger = Logger.getLogger(RelayServlet.class.toString());
-
- /* Initialize date format parser. */
- this.dayFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
-
- /* Look up data source. */
- try {
- Context cxt = new InitialContext();
- this.ds = (DataSource) cxt.lookup("java:comp/env/jdbc/tordir");
- this.logger.info("Successfully looked up data source.");
- } catch (NamingException e) {
- this.logger.log(Level.WARNING, "Could not look up data source", e);
- }
- }
-
- private void writeHeader(PrintWriter out) throws IOException {
- out.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 "
- + "Transitional//EN\"\n"
- + "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
- + "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
- + " <head>\n"
- + " <meta content=\"text/html; charset=ISO-8859-1\"\n"
- + " http-equiv=\"content-type\" />\n"
- + " <title>Relay</title>\n"
- + " <meta http-equiv=Content-Type content=\"text/html; "
- + "charset=iso-8859-1\">\n"
- + " <link href=\"/css/stylesheet-ltr.css\" type=text/css "
- + "rel=stylesheet>\n"
- + " <link href=\"/images/favicon.ico\" "
- + "type=image/x-icon rel=\"shortcut icon\">\n"
- + " </head>\n"
- + " <body>\n"
- + " <div class=\"center\">\n"
- + " <table class=\"banner\" border=\"0\" cellpadding=\"0\" "
- + "cellspacing=\"0\" summary=\"\">\n"
- + " <tr>\n"
- + " <td class=\"banner-left\"><a "
- + "href=\"/index.html\"><img src=\"/images/top-left.png\" "
- + "alt=\"Click to go to home page\" width=\"193\" "
- + "height=\"79\"></a></td>\n"
- + " <td class=\"banner-middle\">\n"
- + " <a href=\"/\">Home</a>\n"
- + " <a href=\"graphs.html\">Graphs</a>\n"
- + " <a href=\"research.html\">Research</a>\n"
- + " <a href=\"status.html\">Status</a>\n"
- + " <br/>\n"
- + " <font size=\"2\">\n"
- + " <a href=\"exonerator.html\">ExoneraTor</a>\n"
- + " <a class=\"current\">Relay Search</a>\n"
- + " <a href=\"consensus-health.html\">Consensus "
- + "Health</a>\n"
- + " </font>\n"
- + " </td>\n"
- + " <td class=\"banner-right\"></td>\n"
- + " </tr>\n"
- + " </table>\n"
- + " <div class=\"main-column\" style=\"margin:5; "
- + "Padding:0;\">\n"
- + " <h2>Relay</h2>\n");
- }
-
- private void writeFooter(PrintWriter out) throws IOException {
- out.println(" <br/>\n"
- + " </div>\n"
- + " </div>\n"
- + " <div class=\"bottom\" id=\"bottom\">\n"
- + " <p>This material is supported in part by the National "
- + "Science Foundation under Grant No. CNS-0959138. Any "
- + "opinions, finding, and conclusions or recommendations "
- + "expressed in this material are those of the author(s) and "
- + "do not necessarily reflect the views of the National "
- + "Science Foundation.</p>\n"
- + " <p>\"Tor\" and the \"Onion Logo\" are <a "
- + "href=\"https://www.torproject.org/docs/trademark-faq.html.en\">"
- + "registered trademarks</a> of The Tor Project, Inc.</p>\n"
- + " <p>Data on this site is freely available under a <a "
- + "href=\"http://creativecommons.org/publicdomain/zero/1.0/\">"
- + "CC0 no copyright declaration</a>: To the extent possible "
- + "under law, the Tor Project has waived all copyright and "
- + "related or neighboring rights in the data. Graphs are "
- + "licensed under a <a "
- + "href=\"http://creativecommons.org/licenses/by/3.0/us/\">"
- + "Creative Commons Attribution 3.0 United States "
- + "License</a>.</p>\n"
- + " </div>\n"
- + " </body>\n"
- + "</html>");
- out.close();
- }
-
public void doGet(HttpServletRequest request,
- HttpServletResponse response) throws IOException,
- ServletException {
-
- /* Measure how long it takes to process this request. */
- long started = System.currentTimeMillis();
-
- /* Get print writer and start writing response. */
- PrintWriter out = response.getWriter();
- writeHeader(out);
-
- /* Check fingerprint parameter. */
- String fingerprintParameter = request.getParameter("fingerprint");
- boolean validParameter = true;
- if (fingerprintParameter == null ||
- fingerprintParameter.length() < 8 ||
- fingerprintParameter.length() > 40) {
- validParameter = false;
- } else {
- Pattern fingerprintPattern = Pattern.compile("^[0-9a-f]{8,40}$");
- if (!fingerprintPattern.matcher(fingerprintParameter.toLowerCase()).
- matches()) {
- validParameter = false;
- }
- }
- if (!validParameter) {
- out.write(" <br/><p>Sorry, \""
- + StringEscapeUtils.escapeHtml(fingerprintParameter)
- + "\" is not a valid relay fingerprint. Please provide at "
- + "least the first 8 hex characters of a relay "
- + "fingerprint.</p>\n");
- writeFooter(out);
- return;
- }
-
- /* If we were only given a partial fingerprint, look up all
- * fingerprints starting with that part to see if it's unique in the
- * last 30 days. */
- String fingerprint = fingerprintParameter.toLowerCase();
- if (fingerprint.length() < 40) {
- SortedSet<String> allFingerprints = new TreeSet<String>();
- try {
- long requestedConnection = System.currentTimeMillis();
- Connection conn = this.ds.getConnection();
- Statement statement = conn.createStatement();
- String query = "SELECT DISTINCT fingerprint FROM statusentry "
- + "WHERE validafter >= '"
- + this.dayFormat.format(started
- - 30L * 24L * 60L * 60L * 1000L)
- + " 00:00:00' AND fingerprint LIKE '" + fingerprint + "%'";
- ResultSet rs = statement.executeQuery(query);
- while (rs.next()) {
- allFingerprints.add(rs.getString(1));
- }
- rs.close();
- statement.close();
- conn.close();
- this.logger.info("Returned a database connection to the pool "
- + "after " + (System.currentTimeMillis()
- - requestedConnection) + " millis.");
- } catch (SQLException e) {
- out.println("<p><font color=\"red\"><b>Warning: </b></font>We "
- + "experienced an unknown database problem while looking up "
- + "the relay with fingerprint starting with "
- + fingerprintParameter + ". Unfortunately, this is very "
- + "likely a <a href=\"https://trac.torproject.org/projects/"
- + "tor/ticket/4406\">known problem</a>. If you don't think "
- + "these problems are related, please "
- + "<a href=\"mailto:tor-assistants@torproject.org\">let us "
- + "know</a>!</p>\n");
- writeFooter(out);
- return;
- }
- if (allFingerprints.size() == 0) {
- out.write("<p>No relay found with fingerprint starting with "
- + fingerprintParameter + " in the last 30 days.</p>");
- writeFooter(out);
- return;
- } else if (allFingerprints.size() > 1) {
- out.println("<p>The fingerprint part " + fingerprintParameter
- + " is not unique for relays running in the last 30 days. "
- + "Please choose one of the following fingerprints:</p><ul>");
- for (String f : allFingerprints) {
- out.println("<li><a href=\"relay.html?fingerprint=" + f + "\">"
- + f + "</a></li>");
- }
- out.write("</ul><br/>");
- writeFooter(out);
- return;
- } else {
- fingerprint = allFingerprints.first();
- }
- }
-
- /* Print out in which consensuses this relay was last contained. */
- boolean foundRelay = false;
- String lastDescriptor = null;
- try {
- long requestedConnection = System.currentTimeMillis();
- Connection conn = this.ds.getConnection();
- Statement statement = conn.createStatement();
- String query = "SELECT validafter, rawdesc FROM statusentry WHERE "
- + "validafter >= '"
- + this.dayFormat.format(started - 30L * 24L * 60L * 60L * 1000L)
- + " 00:00:00' AND fingerprint = '" + fingerprint
- + "' ORDER BY validafter DESC LIMIT 3";
- ResultSet rs = statement.executeQuery(query);
- boolean printedDescription = false;
- while (rs.next()) {
- foundRelay = true;
- if (!printedDescription) {
- out.println("<p>The relay with fingerprint "
- + (fingerprintParameter.length() < 40 ? "starting " : "")
- + "with " + fingerprintParameter + " was last "
- + "referenced in the following relay lists:</p>");
- printedDescription = true;
- }
- String validAfter = rs.getTimestamp(1).toString().
- substring(0, 19);
- out.println(" <br/><tt>valid-after "
- + "<a href=\"consensus?valid-after="
- + validAfter.replaceAll(":", "-").replaceAll(" ", "-")
- + "\" target=\"_blank\">" + validAfter + "</a></tt><br/>");
- byte[] rawStatusEntry = rs.getBytes(2);
- try {
- String statusEntryLines = new String(rawStatusEntry,
- "US-ASCII");
- String[] lines = statusEntryLines.split("\n");
- for (String line : lines) {
- if (line.startsWith("r ")) {
- String[] parts = line.split(" ");
- String descriptor = String.format("%040x",
- new BigInteger(1, Base64.decodeBase64(parts[3]
- + "==")));
- if (lastDescriptor == null) {
- lastDescriptor = descriptor;
- }
- out.println(" <tt>r " + parts[1] + " " + parts[2] + " "
- + "<a href=\"descriptor.html?desc-id=" + descriptor
- + "\" target=\"_blank\">" + parts[3] + "</a> "
- + parts[4] + " " + parts[5] + " " + parts[6] + " "
- + parts[7] + " " + parts[8] + "</tt><br/>");
- } else {
- out.println(" <tt>" + line + "</tt><br/>");
- }
- }
- } catch (UnsupportedEncodingException e) {
- /* This shouldn't happen, because we know that ASCII is
- * supported. */
- }
- }
- rs.close();
- statement.close();
- conn.close();
- this.logger.info("Returned a database connection to the pool after "
- + (System.currentTimeMillis() - requestedConnection)
- + " millis.");
- } catch (SQLException e) {
- out.println("<p><font color=\"red\"><b>Warning: </b></font>We "
- + "experienced an unknown database problem while looking up "
- + "the relay with fingerprint "
- + (fingerprintParameter.length() < 40 ? "starting with " : "")
- + fingerprintParameter + ". Unfortunately, this is very likely "
- + "a <a href=\"https://trac.torproject.org/projects/tor/ticket"
- + "/4406\">known problem</a>. If you don't think these "
- + "problems are related, please "
- + "<a href=\"mailto:tor-assistants@torproject.org\">let us "
- + "know</a>!</p>\n");
- writeFooter(out);
- return;
- }
-
- /* If we didn't find this relay, stop here. */
- if (!foundRelay) {
- out.write("<p>No relay found with fingerprint "
- + (fingerprintParameter.length() < 40 ? "starting with " : "")
- + fingerprintParameter + " in the last 30 days.</p>");
- writeFooter(out);
- return;
- }
-
- /* Look up last server and extra-info descriptor in the database. */
- String query = null, descriptor = null, nickname = null,
- published = null, extrainfo = null;
- byte[] rawDescriptor = null, rawExtrainfo = null;
- if (lastDescriptor != null) {
- try {
- long requestedConnection = System.currentTimeMillis();
- Connection conn = this.ds.getConnection();
- Statement statement = conn.createStatement();
- query = "SELECT descriptor, nickname, published, extrainfo, "
- + "rawdesc FROM descriptor WHERE descriptor = '"
- + lastDescriptor + "'";
- ResultSet rs = statement.executeQuery(query);
- if (rs.next()) {
- descriptor = rs.getString(1);
- nickname = rs.getString(2);
- published = rs.getTimestamp(3).toString().substring(0, 19);
- extrainfo = rs.getString(4);
- rawDescriptor = rs.getBytes(5);
- query = "SELECT rawdesc FROM extrainfo WHERE extrainfo = '"
- + extrainfo + "'";
- rs = statement.executeQuery(query);
- if (rs.next()) {
- rawExtrainfo = rs.getBytes(1);
- }
- }
- rs.close();
- statement.close();
- conn.close();
- this.logger.info("Returned a database connection to the pool "
- + "after " + (System.currentTimeMillis()
- - requestedConnection) + " millis.");
- } catch (SQLException e) {
- out.write("<br/><p><font color=\"red\"><b>Warning: </b></font>"
- + "Internal server error when looking up descriptor. The "
- + "query was '" + query + "'. Unfortunately, this is very "
- + "likely a <a href=\"https://trac.torproject.org/projects/"
- + "tor/ticket/4406\">known problem</a>. If you don't think "
- + "these problems are related, please "
- + "<a href=\"mailto:tor-assistants@torproject.org\">let us "
- + "know</a>!</p>\n");
- writeFooter(out);
- return;
- }
- }
-
- /* If no descriptor was found, stop here. */
- if (descriptor == null) {
- out.write("<p>No descriptor found with identifier " + descriptor
- + " which was referenced in the last relay list.</p>");
- writeFooter(out);
- return;
- }
-
- /* Print out both server and extra-info descriptor. */
- out.write("<br/><p>The last referenced server descriptor published "
- + "by this relay is:</p>");
- String descriptorString = new String(rawDescriptor, "US-ASCII");
- String escapedDescriptorString = StringEscapeUtils.escapeHtml(
- descriptorString);
- BufferedReader br = new BufferedReader(new StringReader(
- escapedDescriptorString));
- String line = null;
- while ((line = br.readLine()) != null) {
- out.println(" <tt>" + line + "</tt><br/>");
- }
- br.close();
- if (rawExtrainfo != null) {
- out.println("<br/><p>Together with this server descriptor, the "
- + "relay published the following extra-info descriptor:</p>");
- br = new BufferedReader(new StringReader(new String(rawExtrainfo,
- "US-ASCII")));
- line = null;
- while ((line = br.readLine()) != null) {
- out.println(" <tt>" + line + "</tt><br/>");
- }
- }
-
- /* Provide links to raw descriptors, too. */
- out.println("<br/><p>Note that the descriptor" + (rawExtrainfo != null
- ? "s have" : " has") + " been converted to ASCII and reformatted "
- + "for display purposes. You may also download the raw "
- + "<a href=\"serverdesc?desc-id=" + descriptor
- + "\" target=\"_blank\">server " + "descriptor</a>"
- + (extrainfo != null ? " and <a href=\"extrainfodesc?desc-id="
- + extrainfo + "\" target=\"_blank\">extra-info descriptor</a>"
- : "") + " as " + (extrainfo != null ? "they were" : "it was")
- + " published to the directory authorities.</p>");
-
- /* Display total lookup time on the results page. */
- long searchTime = System.currentTimeMillis() - started;
- out.write(" <br/><p>Looking up this relay took us "
- + String.format("%d.%03d", searchTime / 1000, searchTime % 1000)
- + " seconds.</p>\n");
+ HttpServletResponse response) throws IOException, ServletException {
- /* Finish writing response. */
- writeFooter(out);
+ /* Forward the request to the JSP. */
+ request.getRequestDispatcher("WEB-INF/relay.jsp").forward(
+ request, response);
}
}
diff --git a/web/WEB-INF/banner.jsp b/web/WEB-INF/banner.jsp
index da3b705..a081423 100644
--- a/web/WEB-INF/banner.jsp
+++ b/web/WEB-INF/banner.jsp
@@ -42,10 +42,6 @@
currentPage.endsWith("consensus-health.jsp")) {
%><br>
<font size="2">
- <a <%if (currentPage.endsWith("networkstatus.jsp") ||
- currentPage.endsWith("routerdetail.jsp")){
- %>class="current"<%} else {%>href="/networkstatus.html"<%}
- %>>Network Status</a>
<a <%if (currentPage.endsWith("exonerator.jsp")){
%>class="current"<%} else {%>href="/exonerator.html"<%}
%>>ExoneraTor</a>
diff --git a/web/WEB-INF/networkstatus.jsp b/web/WEB-INF/networkstatus.jsp
index 4f47e2a..8f7b379 100644
--- a/web/WEB-INF/networkstatus.jsp
+++ b/web/WEB-INF/networkstatus.jsp
@@ -12,26 +12,8 @@
<%@ include file="banner.jsp"%>
<div class="main-column">
<h2>Tor Metrics Portal: Network Status</h2>
- <table>
- <tr>
- <th><a href="/networkstatus.html?sort=nickname&order=${sort=='nickname'?order:'desc'}">nickname</a></th>
- <th><a href="/networkstatus.html?sort=bandwidth&order=${sort=='bandwidth'?order:'desc'}">bandwidth</a></th>
- <th><a href="/networkstatus.html?sort=orport&order=${sort=='orport'?order:'desc'}">orport</a></th>
- <th><a href="/networkstatus.html?sort=dirport&order=${sort=='dirport'?order:'desc'}">dirport</a></th>
- <th><a href="/networkstatus.html?sort=isbadexit&order=${sort=='isbadexit'?order:'desc'}">isbadexit</a></th>
- <th><a href="/networkstatus.html?sort=uptime&order=${sort=='uptime'?order:'desc'}">uptime</a></th>
- </tr>
- <c:forEach var="row" items="${status}">
- <tr>
- <td><a href="/routerdetail.html?fingerprint=${row['fingerprint']}">${row['nickname']}</a></td>
- <td>${row['bandwidth']}</td>
- <td>${row['orport']}</td>
- <td>${row['dirport']}</td>
- <td>${row['isbadexit']}</td>
- <td>${row['uptime']}</td>
- </tr>
- </c:forEach>
- </table>
+ <br>
+ <p>Sorry, this page has been discontinued.</p>
</div>
</div>
<div class="bottom" id="bottom">
diff --git a/web/WEB-INF/relay.jsp b/web/WEB-INF/relay.jsp
new file mode 100644
index 0000000..952133a
--- /dev/null
+++ b/web/WEB-INF/relay.jsp
@@ -0,0 +1,23 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+ <title>Tor Metrics Portal: Relay</title>
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
+ <link href="/css/stylesheet-ltr.css" type="text/css" rel="stylesheet">
+ <link href="/images/favicon.ico" type="image/x-icon" rel="shortcut icon">
+</head>
+<body>
+ <div class="center">
+ <%@ include file="banner.jsp"%>
+ <div class="main-column">
+ <h2>Tor Metrics Portal: Relay</h2>
+ <br>
+ <p>Sorry, this page has been discontinued.</p>
+ </div>
+ </div>
+ <div class="bottom" id="bottom">
+ <%@ include file="footer.jsp"%>
+ </div>
+</body>
+</html>
1
0
commit e048f05cee12a7a3607e5f7c84c27e1de73af559
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Mon Feb 27 08:47:51 2012 +0100
Fix typo.
---
web/WEB-INF/formats.jsp | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/web/WEB-INF/formats.jsp b/web/WEB-INF/formats.jsp
index b84f9ef..f649554 100644
--- a/web/WEB-INF/formats.jsp
+++ b/web/WEB-INF/formats.jsp
@@ -94,7 +94,7 @@ descriptors, even though the incentive to do so is probably low.
<blockquote>
<p>
-<i>Server descriptor published by relay <tt>blugmagie</tt> (without
+<i>Server descriptor published by relay <tt>blutmagie</tt> (without
cryptographic keys and hashes):</i>
</p>
<p>
1
0
r25481: {website} Removing Andrew from the Audit TBB project (website/trunk/getinvolved/en)
by Damian Johnson 27 Feb '12
by Damian Johnson 27 Feb '12
27 Feb '12
Author: atagar
Date: 2012-02-27 06:16:47 +0000 (Mon, 27 Feb 2012)
New Revision: 25481
Modified:
website/trunk/getinvolved/en/volunteer.wml
Log:
Removing Andrew from the Audit TBB project
Modified: website/trunk/getinvolved/en/volunteer.wml
===================================================================
--- website/trunk/getinvolved/en/volunteer.wml 2012-02-27 02:57:28 UTC (rev 25480)
+++ website/trunk/getinvolved/en/volunteer.wml 2012-02-27 06:16:47 UTC (rev 25481)
@@ -661,7 +661,7 @@
<br>
Skill Level: <i>Medium</i>
<br>
- Likely Mentors: <i>Erinn, Jacob, Andrew</i>
+ Likely Mentors: <i>Erinn and Jacob</i>
<p>The Tor Browser Bundle incorporates Tor, Firefox, Polipo, and the Vidalia
user interface (and optionally the <a href="http://pidgin.im/">Pidgin</a>
Instant Messaging client). Components are pre-configured to operate in a
1
0
commit d22ef2b1c53d30c4de19c32fb1ffd8458c7a058a
Author: Nathan Freitas <nathan(a)freitas.net>
Date: Sat Feb 11 22:39:10 2012 -0500
added installer for obfsproxy binary
---
.../android/service/TorBinaryInstaller.java | 5 ++++-
.../android/service/TorServiceConstants.java | 3 ++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/org/torproject/android/service/TorBinaryInstaller.java b/src/org/torproject/android/service/TorBinaryInstaller.java
index 0d79780..bb51422 100644
--- a/src/org/torproject/android/service/TorBinaryInstaller.java
+++ b/src/org/torproject/android/service/TorBinaryInstaller.java
@@ -73,7 +73,10 @@ public class TorBinaryInstaller implements TorServiceConstants {
is = context.getResources().openRawResource(R.raw.privoxy_config);
outFile = new File(installFolder, PRIVOXYCONFIG_ASSET_KEY);
streamToFile(is,outFile, false, false);
-
+
+ is = context.getResources().openRawResource(R.raw.obfsproxy);
+ outFile = new File(installFolder, OBFSPROXY_ASSET_KEY);
+ streamToFile(is,outFile, false, false);
return true;
}
diff --git a/src/org/torproject/android/service/TorServiceConstants.java b/src/org/torproject/android/service/TorServiceConstants.java
index c9d0cb4..8f8fc1b 100644
--- a/src/org/torproject/android/service/TorServiceConstants.java
+++ b/src/org/torproject/android/service/TorServiceConstants.java
@@ -82,6 +82,7 @@ public interface TorServiceConstants {
public static final String PREF_BINARY_TOR_VERSION_INSTALLED = "BINARY_TOR_VERSION_INTALLED";
public static final String PREF_BINARY_PRIVOXY_VERSION_INSTALLED = "BINARY_PRIVOXY_VERSION_INTALLED";
-
+ //obfsproxy
+ public static final String OBFSPROXY_ASSET_KEY = "obfsproxy";
}
1
0
commit 834188a22eef636473cedfffd3a2acc17b202d90
Author: Nathan Freitas <nathan(a)freitas.net>
Date: Sat Feb 11 22:38:32 2012 -0500
updating binaries and config files
---
res/raw/obfsproxy | Bin 724091 -> 724091 bytes
res/raw/tor | Bin 4129189 -> 0 bytes
res/raw/torrc | 16 +---------------
res/xml/preferences.xml | 2 +-
4 files changed, 2 insertions(+), 16 deletions(-)
diff --git a/res/raw/obfsproxy b/res/raw/obfsproxy
index ccab4ed..4ff390d 100755
Binary files a/res/raw/obfsproxy and b/res/raw/obfsproxy differ
diff --git a/res/raw/tor b/res/raw/tor
deleted file mode 100755
index 6c9a338..0000000
Binary files a/res/raw/tor and /dev/null differ
diff --git a/res/raw/torrc b/res/raw/torrc
index 94c3a13..1d25634 100644
--- a/res/raw/torrc
+++ b/res/raw/torrc
@@ -11,19 +11,5 @@ TransListenAddress 127.0.0.1
TransPort 9040
DNSListenAddress 127.0.0.1
DNSPort 5400
-UseBridges 1
-bridge obfs2 38.229.33.18:42401
-bridge obfs2 85.17.20.242:61264
-bridge obfs2 85.214.131.213:1051
-bridge obfs2 86.59.30.35:45605
-bridge obfs2 91.208.34.7:5353
-bridge obfs2 109.105.109.163:53999
-bridge obfs2 109.163.233.195:1051
-bridge obfs2 128.30.30.25:51420
-bridge obfs2 128.31.0.34:1051
-bridge obfs2 131.215.158.1:29936
-bridge obfs2 173.254.192.38:1051
-bridge obfs2 188.40.20.215:32982
-bridge obfs2 212.112.242.160:49259
-bridge obfs2 213.108.105.129:36609
+UseBridges 1
ClientTransportPlugin obfs2 exec /data/data/org.torproject.android/app_bin/obfsproxy --managed
diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml
index 40955db..02beff4 100644
--- a/res/xml/preferences.xml
+++ b/res/xml/preferences.xml
@@ -92,7 +92,7 @@ android:summary="@string/use_only_these_specified_nodes"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/bridges">
-<CheckBoxPreference android:defaultValue="false"
+<CheckBoxPreference android:defaultValue="true"
android:title="@string/use_bridges" android:key="pref_bridges_enabled"
android:summary="@string/enable_alternate_entrance_nodes_into_the_tor_network"></CheckBoxPreference>
1
0