tor-commits
Threads by month
- ----- 2025 -----
- 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
July 2018
- 17 participants
- 1737 discussions

[translation/support-portal] Update translations for support-portal
by translation@torproject.org 18 Jul '18
by translation@torproject.org 18 Jul '18
18 Jul '18
commit 8c0dc0001189252c6422f944667961aff098b967
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Jul 18 13:20:13 2018 +0000
Update translations for support-portal
---
contents+es.po | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/contents+es.po b/contents+es.po
index dea1472d6..a00638872 100644
--- a/contents+es.po
+++ b/contents+es.po
@@ -306,7 +306,7 @@ msgid ""
"href=\"https://trac.torproject.org\">bug report</a></mark> about what you're"
" experiencing."
msgstr ""
-"Si tu problema no aparece en la lista, envía un <mark><a href=\"https://trac.torproject.org\"></a>informe de error</mark> sobre lo que te está pasando.\n"
+"Si tu problema no aparece en la lista, envía un <mark><a href=\"https://trac.torproject.org\">informe de error</a></mark> sobre lo que te está pasando.\n"
" "
#: http//localhost/tbb/tbb-10/
@@ -541,7 +541,7 @@ msgstr ""
#: http//localhost/tbb/tbb-16/
#: (content/tbb/tbb-16/contents+en.lrquestion.title)
msgid "Can I pick which country I'm exiting from?"
-msgstr "¿Puedo seleccionar desde qué páis estoy saliendo?"
+msgstr "¿Puedo seleccionar desde qué país estoy saliendo?"
#: http//localhost/tbb/tbb-16/
#: (content/tbb/tbb-16/contents+en.lrquestion.description)
@@ -1981,7 +1981,7 @@ msgstr ""
#: http//localhost/tormobile/tormobile-1/
#: (content/tormobile/tormobile-1/contents+en.lrquestion.title)
msgid "Can I run Tor on an Android device?"
-msgstr "¿Puedo ejecutar Tor sobre un dispositivo Android?"
+msgstr "¿Puedo usar Tor en un dispositivo Android?"
#: http//localhost/tormobile/tormobile-1/
#: (content/tormobile/tormobile-1/contents+en.lrquestion.description)
@@ -2030,7 +2030,7 @@ msgstr ""
#: http//localhost/tormobile/tormobile-3/
#: (content/tormobile/tormobile-3/contents+en.lrquestion.title)
msgid "Can I run Tor on an iOS device?"
-msgstr "¿Puedo ejecutar Tor en un dispositivo iOS?"
+msgstr "¿Puedo usar Tor en un dispositivo iOS?"
#: http//localhost/tormobile/tormobile-3/
#: (content/tormobile/tormobile-3/contents+en.lrquestion.description)
@@ -2066,7 +2066,7 @@ msgstr ""
#: http//localhost/tormobile/tormobile-4/
#: (content/tormobile/tormobile-4/contents+en.lrquestion.title)
msgid "How do I run Tor on Windows Phone?"
-msgstr "¿Cómo ejecuto Tor en Windows Phone?"
+msgstr "¿Cómo uso Tor en Windows Phone?"
#: http//localhost/tormobile/tormobile-4/
#: (content/tormobile/tormobile-4/contents+en.lrquestion.description)
1
0

[translation/support-portal_completed] pulling translations from transifex
by translation@torproject.org 18 Jul '18
by translation@torproject.org 18 Jul '18
18 Jul '18
commit 02de0b0067edf01b11d6920a54e5d72ad1d2fa6d
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Jul 18 12:18:49 2018 +0000
pulling translations from transifex
---
contents.pot | 3877 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 3877 insertions(+)
diff --git a/contents.pot b/contents.pot
new file mode 100644
index 000000000..69696afed
--- /dev/null
+++ b/contents.pot
@@ -0,0 +1,3877 @@
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-07-13 16:10+CET\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: en <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: en\n"
+
+#: http//localhost/ (content/contents+en.lrshowcase.title)
+msgid "How can we help?"
+msgstr "How can we help?"
+
+#: http//localhost/faq/ (content/faq/contents+en.lrtopic.title)
+msgid "Most Frequently Asked Questions"
+msgstr "Most Frequently Asked Questions"
+
+#: http//localhost/tbb/ (content/tbb/contents+en.lrtopic.title)
+msgid "Tor Browser"
+msgstr "Tor Browser"
+
+#: http//localhost/tormessenger/
+#: (content/tormessenger/contents+en.lrtopic.title)
+msgid "Tor Messenger"
+msgstr "Tor Messenger"
+
+#: http//localhost/tormobile/ (content/tormobile/contents+en.lrtopic.title)
+msgid "Tor Mobile"
+msgstr "Tor Mobile"
+
+#: http//localhost/gettor/ (content/gettor/contents+en.lrtopic.title)
+msgid "GetTor"
+msgstr "GetTor"
+
+#: http//localhost/connecting/ (content/connecting/contents+en.lrtopic.title)
+msgid "Connecting To Tor"
+msgstr "Connecting To Tor"
+
+#: http//localhost/censorship/ (content/censorship/contents+en.lrtopic.title)
+msgid "Censorship"
+msgstr "Censorship"
+
+#: http//localhost/https/ (content/https/contents+en.lrtopic.title)
+msgid "HTTPS"
+msgstr "HTTPS"
+
+#: http//localhost/operators/ (content/operators/contents+en.lrtopic.title)
+msgid "Operators"
+msgstr "Operators"
+
+#: http//localhost/onionservices/
+#: (content/onionservices/contents+en.lrtopic.title)
+msgid "Onion Services"
+msgstr "Onion Services"
+
+#: http//localhost/misc/ (content/misc/contents+en.lrtopic.title)
+msgid "Misc"
+msgstr "Misc"
+
+#: http//localhost/faq/faq-1/ (content/faq/faq-1/contents+en.lrquestion.title)
+#: http//localhost/tbb/tbb-3/ (content/tbb/tbb-3/contents+en.lrquestion.title)
+msgid ""
+"When I use Tor Browser, will anyone be able to tell which websites I visit?"
+msgstr ""
+"When I use Tor Browser, will anyone be able to tell which websites I visit?"
+
+#: http//localhost/faq/faq-1/
+#: (content/faq/faq-1/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-3/
+#: (content/tbb/tbb-3/contents+en.lrquestion.description)
+msgid "Tor Browser prevents people from knowing the websites you visit."
+msgstr "Tor Browser prevents people from knowing the websites you visit."
+
+#: http//localhost/faq/faq-1/
+#: (content/faq/faq-1/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-3/
+#: (content/tbb/tbb-3/contents+en.lrquestion.description)
+msgid ""
+"Some entities, such as your Internet Service Provider (ISP), may be able to "
+"see that you're using Tor, but they won't know where you're going when you "
+"do."
+msgstr ""
+"Some entities, such as your Internet Service Provider (ISP), may be able to "
+"see that you're using Tor, but they won't know where you're going when you "
+"do."
+
+#: http//localhost/faq/faq-2/ (content/faq/faq-2/contents+en.lrquestion.title)
+#: http//localhost/tbb/tbb-8/ (content/tbb/tbb-8/contents+en.lrquestion.title)
+#: http//localhost/censorship/censorship-1/
+#: (content/censorship/censorship-1/contents+en.lrquestion.title)
+msgid ""
+"Our website is blocked by a censor. Can Tor Browser help users access our "
+"website?"
+msgstr ""
+"Our website is blocked by a censor. Can Tor Browser help users access our "
+"website?"
+
+#: http//localhost/faq/faq-2/
+#: (content/faq/faq-2/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-8/
+#: (content/tbb/tbb-8/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-1/
+#: (content/censorship/censorship-1/contents+en.lrquestion.description)
+msgid ""
+"Tor Browser can certainly help people access your website in places where it"
+" is blocked."
+msgstr ""
+"Tor Browser can certainly help people access your website in places where it"
+" is blocked."
+
+#: http//localhost/faq/faq-2/
+#: (content/faq/faq-2/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-8/
+#: (content/tbb/tbb-8/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-1/
+#: (content/censorship/censorship-1/contents+en.lrquestion.description)
+msgid ""
+"Most of the time, simply downloading the <mark><a "
+"href=\"https://www.torproject.org/download/download-easy.html.en\">Tor "
+"Browser</a></mark> and then using it to navigate to the blocked site will "
+"allow access."
+msgstr ""
+"Most of the time, simply downloading the <mark><a "
+"href=\"https://www.torproject.org/download/download-easy.html.en\">Tor "
+"Browser</a></mark> and then using it to navigate to the blocked site will "
+"allow access."
+
+#: http//localhost/faq/faq-2/
+#: (content/faq/faq-2/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-8/
+#: (content/tbb/tbb-8/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-1/
+#: (content/censorship/censorship-1/contents+en.lrquestion.description)
+msgid ""
+"In places where there is heavy censorship we have a number of censorship "
+"circumvention options available, including <mark><a "
+"href=\"https://www.torproject.org/docs/pluggable-"
+"transports.html.en\">pluggable transports</a></mark>."
+msgstr ""
+"In places where there is heavy censorship we have a number of censorship "
+"circumvention options available, including <mark><a "
+"href=\"https://www.torproject.org/docs/pluggable-"
+"transports.html.en\">pluggable transports</a></mark>."
+
+#: http//localhost/faq/faq-2/
+#: (content/faq/faq-2/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-8/
+#: (content/tbb/tbb-8/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-1/
+#: (content/censorship/censorship-1/contents+en.lrquestion.description)
+msgid ""
+"For more information, please see the <mark><a href=\"https://tb-"
+"manual.torproject.org/en-US/\">Tor Browser User Manual</a></mark> section on"
+" <mark><a href=\"https://tb-manual.torproject.org/en-"
+"US/circumvention.html\">censorship</a></mark>."
+msgstr ""
+"For more information, please see the <mark><a href=\"https://tb-"
+"manual.torproject.org/en-US/\">Tor Browser User Manual</a></mark> section on"
+" <mark><a href=\"https://tb-manual.torproject.org/en-"
+"US/circumvention.html\">censorship</a></mark>."
+
+#: http//localhost/faq/faq-3/ (content/faq/faq-3/contents+en.lrquestion.title)
+#: http//localhost/tbb/tbb-14/
+#: (content/tbb/tbb-14/contents+en.lrquestion.title)
+msgid ""
+"Should I install a new add-on or extension in Tor Browser, like AdBlock Plus"
+" or uBlock Origin?"
+msgstr ""
+"Should I install a new add-on or extension in Tor Browser, like AdBlock Plus"
+" or uBlock Origin?"
+
+#: http//localhost/faq/faq-3/
+#: (content/faq/faq-3/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-14/
+#: (content/tbb/tbb-14/contents+en.lrquestion.description)
+msgid ""
+"It's strongly discouraged to install new add-ons in Tor Browser, because "
+"they can compromise your privacy and security."
+msgstr ""
+"It's strongly discouraged to install new add-ons in Tor Browser, because "
+"they can compromise your privacy and security."
+
+#: http//localhost/faq/faq-3/
+#: (content/faq/faq-3/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-14/
+#: (content/tbb/tbb-14/contents+en.lrquestion.description)
+msgid ""
+"Tor Browser already comes installed with two add-ons — HTTPS Everywhere and "
+"NoScript — and adding anything else could deanonymize you."
+msgstr ""
+"Tor Browser already comes installed with two add-ons — HTTPS Everywhere and "
+"NoScript — and adding anything else could deanonymize you."
+
+#: http//localhost/faq/faq-4/ (content/faq/faq-4/contents+en.lrquestion.title)
+#: http//localhost/tbb/tbb-31/
+#: (content/tbb/tbb-31/contents+en.lrquestion.title)
+msgid "Which platforms is Tor Browser available for?"
+msgstr "Which platforms is Tor Browser available for?"
+
+#: http//localhost/faq/faq-4/
+#: (content/faq/faq-4/contents+en.lrquestion.description)
+msgid "Tor Browser is currently available on Windows, Linux and macOS (OS X)."
+msgstr ""
+"Tor Browser is currently available on Windows, Linux and macOS (OS X)."
+
+#: http//localhost/faq/faq-4/
+#: (content/faq/faq-4/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-31/
+#: (content/tbb/tbb-31/contents+en.lrquestion.description)
+msgid ""
+"For Android, The Guardian Project maintains the Tor-powered apps Orbot and "
+"Orfox."
+msgstr ""
+"For Android, The Guardian Project maintains the Tor-powered apps Orbot and "
+"Orfox."
+
+#: http//localhost/faq/faq-4/
+#: (content/faq/faq-4/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-31/
+#: (content/tbb/tbb-31/contents+en.lrquestion.description)
+msgid ""
+"There is no official version of Tor for iOS yet, though we recommend Onion "
+"Browser."
+msgstr ""
+"There is no official version of Tor for iOS yet, though we recommend Onion "
+"Browser."
+
+#: http//localhost/faq/faq-5/ (content/faq/faq-5/contents+en.lrquestion.title)
+#: http//localhost/misc/misc-13/
+#: (content/misc/misc-13/contents+en.lrquestion.title)
+msgid "Can I use a VPN with Tor?"
+msgstr "Can I use a VPN with Tor?"
+
+#: http//localhost/faq/faq-5/
+#: (content/faq/faq-5/contents+en.lrquestion.description)
+#: http//localhost/misc/misc-13/
+#: (content/misc/misc-13/contents+en.lrquestion.description)
+msgid ""
+"Generally speaking, we don't recommend using a VPN with Tor unless you're an"
+" advanced user who knows how to configure both in a way that doesn't "
+"compromise your privacy."
+msgstr ""
+"Generally speaking, we don't recommend using a VPN with Tor unless you're an"
+" advanced user who knows how to configure both in a way that doesn't "
+"compromise your privacy."
+
+#: http//localhost/faq/faq-5/
+#: (content/faq/faq-5/contents+en.lrquestion.description)
+#: http//localhost/misc/misc-13/
+#: (content/misc/misc-13/contents+en.lrquestion.description)
+msgid ""
+"You can find more detailed information about Tor + VPN at <mark><a "
+"href=\"https://trac.torproject.org/projects/tor/wiki/doc/TorPlusVPN\">our "
+"wiki</a></mark>."
+msgstr ""
+"You can find more detailed information about Tor + VPN at <mark><a "
+"href=\"https://trac.torproject.org/projects/tor/wiki/doc/TorPlusVPN\">our "
+"wiki</a></mark>."
+
+#: http//localhost/tbb/tbb-1/ (content/tbb/tbb-1/contents+en.lrquestion.title)
+msgid ""
+"What are the most common issues with the latest stable version of Tor "
+"Browser?"
+msgstr ""
+"What are the most common issues with the latest stable version of Tor "
+"Browser?"
+
+#: http//localhost/tbb/tbb-1/
+#: (content/tbb/tbb-1/contents+en.lrquestion.description)
+msgid ""
+"Whenever we release a new stable version of Tor Browser, we write a blog "
+"post that details its new features and known issues."
+msgstr ""
+"Whenever we release a new stable version of Tor Browser, we write a blog "
+"post that details its new features and known issues."
+
+#: http//localhost/tbb/tbb-1/
+#: (content/tbb/tbb-1/contents+en.lrquestion.description)
+msgid ""
+"If you started having issues with your Tor Browser after an update, check "
+"out <mark><a "
+"href=\"https://blog.torproject.org></a>blog.torproject.org</mark> for the "
+"most recent stable Tor Browser post to see if your issue is listed."
+msgstr ""
+"If you started having issues with your Tor Browser after an update, check "
+"out <mark><a "
+"href=\"https://blog.torproject.org></a>blog.torproject.org</mark> for the "
+"most recent stable Tor Browser post to see if your issue is listed."
+
+#: http//localhost/tbb/tbb-1/
+#: (content/tbb/tbb-1/contents+en.lrquestion.description)
+msgid ""
+"If your issue is not listed, please file a <mark><a "
+"href=\"https://trac.torproject.org\">bug report</a></mark> about what you're"
+" experiencing."
+msgstr ""
+"If your issue is not listed, please file a <mark><a "
+"href=\"https://trac.torproject.org\">bug report</a></mark> about what you're"
+" experiencing."
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.title)
+msgid ""
+"My antivirus or malware protection is blocking me from accessing Tor "
+"Browser."
+msgstr ""
+"My antivirus or malware protection is blocking me from accessing Tor "
+"Browser."
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid ""
+"Most antivirus or malware protection allows the user to \"whitelist\" "
+"certain processes that would otherwise be blocked."
+msgstr ""
+"Most antivirus or malware protection allows the user to \"whitelist\" "
+"certain processes that would otherwise be blocked."
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid ""
+"Please open your antivirus or malware protection software and look in the "
+"settings for a \"whitelist\" or something similar."
+msgstr ""
+"Please open your antivirus or malware protection software and look in the "
+"settings for a \"whitelist\" or something similar."
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid "Next, exclude the following processes:"
+msgstr "Next, exclude the following processes:"
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid "* For Windows"
+msgstr "* For Windows"
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid "* firefox.exe"
+msgstr "* firefox.exe"
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid "* tor.exe"
+msgstr "* tor.exe"
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid "* obfs4proxy.exe (if you use bridges)"
+msgstr "* obfs4proxy.exe (if you use bridges)"
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid "* For OS X"
+msgstr "* For OS X"
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid "* TorBrowser"
+msgstr "* TorBrowser"
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid "* tor.real"
+msgstr "* tor.real"
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid "* obfs4proxy (if you use bridges)"
+msgstr "* obfs4proxy (if you use bridges)"
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid "Finally, restart Tor Browser."
+msgstr "Finally, restart Tor Browser."
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid "This should fix the issues you're experiencing."
+msgstr "This should fix the issues you're experiencing."
+
+#: http//localhost/tbb/tbb-10/
+#: (content/tbb/tbb-10/contents+en.lrquestion.description)
+msgid ""
+"Please note that some antivirus clients, like Kaspersky, may also be "
+"blocking Tor at the firewall level."
+msgstr ""
+"Please note that some antivirus clients, like Kaspersky, may also be "
+"blocking Tor at the firewall level."
+
+#: http//localhost/tbb/tbb-11/
+#: (content/tbb/tbb-11/contents+en.lrquestion.title)
+msgid ""
+"I downloaded and installed Tor Browser for Windows, but now I can't find it."
+msgstr ""
+"I downloaded and installed Tor Browser for Windows, but now I can't find it."
+
+#: http//localhost/tbb/tbb-11/
+#: (content/tbb/tbb-11/contents+en.lrquestion.description)
+msgid "The file you download and run prompts you for a destination."
+msgstr "The file you download and run prompts you for a destination."
+
+#: http//localhost/tbb/tbb-11/
+#: (content/tbb/tbb-11/contents+en.lrquestion.description)
+msgid ""
+"If you don't remember what this destination was, it's most likely your "
+"Downloads or Desktop folder."
+msgstr ""
+"If you don't remember what this destination was, it's most likely your "
+"Downloads or Desktop folder."
+
+#: http//localhost/tbb/tbb-11/
+#: (content/tbb/tbb-11/contents+en.lrquestion.description)
+msgid ""
+"The default setting in the Windows installer also creates a shortcut for you"
+" on your Desktop, though be aware that you may have accidentally unticked "
+"the option to create a shortcut."
+msgstr ""
+"The default setting in the Windows installer also creates a shortcut for you"
+" on your Desktop, though be aware that you may have accidentally unticked "
+"the option to create a shortcut."
+
+#: http//localhost/tbb/tbb-11/
+#: (content/tbb/tbb-11/contents+en.lrquestion.description)
+msgid ""
+"If you can't find it in either of those folders, download it again and look "
+"for the prompt that asks you to choose a directory to download it in."
+msgstr ""
+"If you can't find it in either of those folders, download it again and look "
+"for the prompt that asks you to choose a directory to download it in."
+
+#: http//localhost/tbb/tbb-11/
+#: (content/tbb/tbb-11/contents+en.lrquestion.description)
+msgid ""
+"Choose a directory location that you'll remember easily, and once the "
+"download finishes you should see a Tor Browser folder there."
+msgstr ""
+"Choose a directory location that you'll remember easily, and once the "
+"download finishes you should see a Tor Browser folder there."
+
+#: http//localhost/tbb/tbb-12/
+#: (content/tbb/tbb-12/contents+en.lrquestion.title)
+msgid "Can I use Flash in Tor Browser?"
+msgstr "Can I use Flash in Tor Browser?"
+
+#: http//localhost/tbb/tbb-12/
+#: (content/tbb/tbb-12/contents+en.lrquestion.description)
+msgid ""
+"Flash is disabled in Tor Browser, and we recommend you do not enable it."
+msgstr ""
+"Flash is disabled in Tor Browser, and we recommend you do not enable it."
+
+#: http//localhost/tbb/tbb-12/
+#: (content/tbb/tbb-12/contents+en.lrquestion.description)
+msgid ""
+"We don’t think Flash is safe to use in any browser — it's a very insecure "
+"piece of software that can easily compromise your privacy or serve you "
+"malware."
+msgstr ""
+"We don’t think Flash is safe to use in any browser — it's a very insecure "
+"piece of software that can easily compromise your privacy or serve you "
+"malware."
+
+#: http//localhost/tbb/tbb-12/
+#: (content/tbb/tbb-12/contents+en.lrquestion.description)
+msgid ""
+"Fortunately, most websites, devices, and other browsers are moving away from"
+" the use of Flash."
+msgstr ""
+"Fortunately, most websites, devices, and other browsers are moving away from"
+" the use of Flash."
+
+#: http//localhost/tbb/tbb-13/
+#: (content/tbb/tbb-13/contents+en.lrquestion.title)
+msgid "Does using Tor Browser protect other applications on my computer?"
+msgstr "Does using Tor Browser protect other applications on my computer?"
+
+#: http//localhost/tbb/tbb-13/
+#: (content/tbb/tbb-13/contents+en.lrquestion.description)
+msgid "Only Tor Browser's traffic will be routed over the Tor network."
+msgstr "Only Tor Browser's traffic will be routed over the Tor network."
+
+#: http//localhost/tbb/tbb-13/
+#: (content/tbb/tbb-13/contents+en.lrquestion.description)
+msgid ""
+"Any other application on your system (including other browsers) will not "
+"have their connections routed over the Tor network, and will not be "
+"protected."
+msgstr ""
+"Any other application on your system (including other browsers) will not "
+"have their connections routed over the Tor network, and will not be "
+"protected."
+
+#: http//localhost/tbb/tbb-13/
+#: (content/tbb/tbb-13/contents+en.lrquestion.description)
+msgid "They need to be configured separately to use Tor."
+msgstr "They need to be configured separately to use Tor."
+
+#: http//localhost/tbb/tbb-13/
+#: (content/tbb/tbb-13/contents+en.lrquestion.description)
+msgid ""
+"If you need to be sure that all traffic will go through the Tor network, "
+"take a look at the <mark><a href=\"https://tails.boum.org/\">Tails live "
+"operating system</a></mark> which you can start on almost any computer from "
+"a USB stick or a DVD."
+msgstr ""
+"If you need to be sure that all traffic will go through the Tor network, "
+"take a look at the <mark><a href=\"https://tails.boum.org/\">Tails live "
+"operating system</a></mark> which you can start on almost any computer from "
+"a USB stick or a DVD."
+
+#: http//localhost/tbb/tbb-15/
+#: (content/tbb/tbb-15/contents+en.lrquestion.title)
+msgid "Can I download Tor Browser for ChromeOS?"
+msgstr "Can I download Tor Browser for ChromeOS?"
+
+#: http//localhost/tbb/tbb-15/
+#: (content/tbb/tbb-15/contents+en.lrquestion.description)
+msgid ""
+"Unfortunately, we don't yet have a version of Tor Browser for ChromeOS."
+msgstr ""
+"Unfortunately, we don't yet have a version of Tor Browser for ChromeOS."
+
+#: http//localhost/tbb/tbb-16/
+#: (content/tbb/tbb-16/contents+en.lrquestion.title)
+msgid "Can I pick which country I'm exiting from?"
+msgstr "Can I pick which country I'm exiting from?"
+
+#: http//localhost/tbb/tbb-16/
+#: (content/tbb/tbb-16/contents+en.lrquestion.description)
+msgid ""
+"Modifying the way that Tor creates its circuits is strongly discouraged."
+msgstr ""
+"Modifying the way that Tor creates its circuits is strongly discouraged."
+
+#: http//localhost/tbb/tbb-16/
+#: (content/tbb/tbb-16/contents+en.lrquestion.description)
+msgid ""
+"You get the best security that Tor can provide when you leave the route "
+"selection to Tor; overriding the entry / exit nodes can compromise your "
+"anonymity."
+msgstr ""
+"You get the best security that Tor can provide when you leave the route "
+"selection to Tor; overriding the entry / exit nodes can compromise your "
+"anonymity."
+
+#: http//localhost/tbb/tbb-16/
+#: (content/tbb/tbb-16/contents+en.lrquestion.description)
+msgid ""
+"If the outcome you want is simply to be able to access resources that are "
+"only available in one country, you may want to consider using a VPN instead "
+"of using Tor."
+msgstr ""
+"If the outcome you want is simply to be able to access resources that are "
+"only available in one country, you may want to consider using a VPN instead "
+"of using Tor."
+
+#: http//localhost/tbb/tbb-16/
+#: (content/tbb/tbb-16/contents+en.lrquestion.description)
+msgid ""
+"Please note that VPNs do not have the same privacy properties as Tor, but "
+"they will help solve some geolocation restriction issues."
+msgstr ""
+"Please note that VPNs do not have the same privacy properties as Tor, but "
+"they will help solve some geolocation restriction issues."
+
+#: http//localhost/tbb/tbb-17/
+#: (content/tbb/tbb-17/contents+en.lrquestion.title)
+msgid "Is it safe to run Tor Browser and another browser at the same time?"
+msgstr "Is it safe to run Tor Browser and another browser at the same time?"
+
+#: http//localhost/tbb/tbb-17/
+#: (content/tbb/tbb-17/contents+en.lrquestion.description)
+msgid ""
+"If you run Tor Browser and another browser at the same time, it won't affect"
+" Tor's performance or privacy properties."
+msgstr ""
+"If you run Tor Browser and another browser at the same time, it won't affect"
+" Tor's performance or privacy properties."
+
+#: http//localhost/tbb/tbb-17/
+#: (content/tbb/tbb-17/contents+en.lrquestion.description)
+msgid ""
+"However, be aware that your other browser is not keeping your activity "
+"private, and you may forget and accidentally use that non-private browser to"
+" do something that you intended to do in Tor Browser."
+msgstr ""
+"However, be aware that your other browser is not keeping your activity "
+"private, and you may forget and accidentally use that non-private browser to"
+" do something that you intended to do in Tor Browser."
+
+#: http//localhost/tbb/tbb-18/
+#: (content/tbb/tbb-18/contents+en.lrquestion.title)
+msgid "Is there support for *BSD?"
+msgstr "Is there support for *BSD?"
+
+#: http//localhost/tbb/tbb-18/
+#: (content/tbb/tbb-18/contents+en.lrquestion.description)
+msgid ""
+"Sorry, but there is currently no official support for running Tor Browser on"
+" *BSD."
+msgstr ""
+"Sorry, but there is currently no official support for running Tor Browser on"
+" *BSD."
+
+#: http//localhost/tbb/tbb-18/
+#: (content/tbb/tbb-18/contents+en.lrquestion.description)
+msgid ""
+"There is something called the TorBSD project, but their Tor Browser is not "
+"officially supported."
+msgstr ""
+"There is something called the TorBSD project, but their Tor Browser is not "
+"officially supported."
+
+#: http//localhost/tbb/tbb-19/
+#: (content/tbb/tbb-19/contents+en.lrquestion.title)
+#: http//localhost/censorship/censorship-4/
+#: (content/censorship/censorship-4/contents+en.lrquestion.title)
+#: http//localhost/censorship/censorship-6/
+#: (content/censorship/censorship-6/contents+en.lrquestion.title)
+msgid "I can’t connect to Tor Browser, is my network censored?"
+msgstr "I can’t connect to Tor Browser, is my network censored?"
+
+#: http//localhost/tbb/tbb-19/
+#: (content/tbb/tbb-19/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-4/
+#: (content/censorship/censorship-4/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-6/
+#: (content/censorship/censorship-6/contents+en.lrquestion.description)
+msgid ""
+"You might be on a censored network, and so you should try using bridges."
+msgstr ""
+"You might be on a censored network, and so you should try using bridges."
+
+#: http//localhost/tbb/tbb-19/
+#: (content/tbb/tbb-19/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-4/
+#: (content/censorship/censorship-4/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-6/
+#: (content/censorship/censorship-6/contents+en.lrquestion.description)
+msgid ""
+"Some bridges are built in to Tor Browser, and you can use those bridges by "
+"choosing \"configure\" (then following the prompts) in the Tor Launcher "
+"window that pops up when you open Tor Browser for the first time."
+msgstr ""
+"Some bridges are built in to Tor Browser, and you can use those bridges by "
+"choosing \"configure\" (then following the prompts) in the Tor Launcher "
+"window that pops up when you open Tor Browser for the first time."
+
+#: http//localhost/tbb/tbb-19/
+#: (content/tbb/tbb-19/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-4/
+#: (content/censorship/censorship-4/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-6/
+#: (content/censorship/censorship-6/contents+en.lrquestion.description)
+msgid ""
+"If you need other bridges, you can get them at our <mark><a "
+"href=\"https://bridges.torproject.org/\">Bridges website</a></mark>."
+msgstr ""
+"If you need other bridges, you can get them at our <mark><a "
+"href=\"https://bridges.torproject.org/\">Bridges website</a></mark>."
+
+#: http//localhost/tbb/tbb-19/
+#: (content/tbb/tbb-19/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-4/
+#: (content/censorship/censorship-4/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-6/
+#: (content/censorship/censorship-6/contents+en.lrquestion.description)
+msgid ""
+"For more information about bridges, see the <mark><a href=\"https://tb-"
+"manual.torproject.org/en-US/bridges.html\">Tor Browser manual</a></mark>."
+msgstr ""
+"For more information about bridges, see the <mark><a href=\"https://tb-"
+"manual.torproject.org/en-US/bridges.html\">Tor Browser manual</a></mark>."
+
+#: http//localhost/tbb/tbb-2/ (content/tbb/tbb-2/contents+en.lrquestion.title)
+msgid "Why is the first IP address in my relay circuit always the same?"
+msgstr "Why is the first IP address in my relay circuit always the same?"
+
+#: http//localhost/tbb/tbb-2/
+#: (content/tbb/tbb-2/contents+en.lrquestion.description)
+msgid "That is normal Tor behavior."
+msgstr "That is normal Tor behavior."
+
+#: http//localhost/tbb/tbb-2/
+#: (content/tbb/tbb-2/contents+en.lrquestion.description)
+msgid "The first relay in your circuit is called an \"entry guard\" or \"guard\"."
+msgstr "The first relay in your circuit is called an \"entry guard\" or \"guard\"."
+
+#: http//localhost/tbb/tbb-2/
+#: (content/tbb/tbb-2/contents+en.lrquestion.description)
+msgid ""
+"It is a fast and stable relay that remains the first one in your circuit for"
+" 2-3 months in order to protect against a known anonymity-breaking attack."
+msgstr ""
+"It is a fast and stable relay that remains the first one in your circuit for"
+" 2-3 months in order to protect against a known anonymity-breaking attack."
+
+#: http//localhost/tbb/tbb-2/
+#: (content/tbb/tbb-2/contents+en.lrquestion.description)
+msgid ""
+"The rest of your circuit changes with every new website you visit, and all "
+"together these relays provide the full privacy protections of Tor."
+msgstr ""
+"The rest of your circuit changes with every new website you visit, and all "
+"together these relays provide the full privacy protections of Tor."
+
+#: http//localhost/tbb/tbb-2/
+#: (content/tbb/tbb-2/contents+en.lrquestion.description)
+msgid ""
+"For more information on how guard relays work, see this <mark><a "
+"href=\"https://blog.torproject.org/improving-tors-anonymity-changing-guard-"
+"parameters\">blog post</a></mark> and <mark><a href=\"https://www-"
+"users.cs.umn.edu/~hoppernj/single_guard.pdf\">paper</a></mark> on entry "
+"guards."
+msgstr ""
+"For more information on how guard relays work, see this <mark><a "
+"href=\"https://blog.torproject.org/improving-tors-anonymity-changing-guard-"
+"parameters\">blog post</a></mark> and <mark><a href=\"https://www-"
+"users.cs.umn.edu/~hoppernj/single_guard.pdf\">paper</a></mark> on entry "
+"guards."
+
+#: http//localhost/tbb/tbb-20/
+#: (content/tbb/tbb-20/contents+en.lrquestion.title)
+#: http//localhost/connecting/connecting-1/
+#: (content/connecting/connecting-1/contents+en.lrquestion.title)
+msgid ""
+"Tor Browser won't connect, but it doesn’t seem to be an issue with "
+"censorship."
+msgstr ""
+"Tor Browser won't connect, but it doesn’t seem to be an issue with "
+"censorship."
+
+#: http//localhost/tbb/tbb-20/
+#: (content/tbb/tbb-20/contents+en.lrquestion.description)
+#: http//localhost/connecting/connecting-1/
+#: (content/connecting/connecting-1/contents+en.lrquestion.description)
+msgid ""
+"One of the most common issues that causes connection errors in Tor Browser "
+"is an incorrect system clock."
+msgstr ""
+"One of the most common issues that causes connection errors in Tor Browser "
+"is an incorrect system clock."
+
+#: http//localhost/tbb/tbb-20/
+#: (content/tbb/tbb-20/contents+en.lrquestion.description)
+#: http//localhost/connecting/connecting-1/
+#: (content/connecting/connecting-1/contents+en.lrquestion.description)
+msgid "Please make sure your system clock and timezone are set accurately."
+msgstr "Please make sure your system clock and timezone are set accurately."
+
+#: http//localhost/tbb/tbb-20/
+#: (content/tbb/tbb-20/contents+en.lrquestion.description)
+#: http//localhost/connecting/connecting-1/
+#: (content/connecting/connecting-1/contents+en.lrquestion.description)
+msgid ""
+"If this doesn't fix the problem, see the Troubleshooting page on the "
+"<mark><a href=\"https://tb-manual.torproject.org/en-US/bridges.html\">Tor "
+"Browser manual</a></mark>."
+msgstr ""
+"If this doesn't fix the problem, see the Troubleshooting page on the "
+"<mark><a href=\"https://tb-manual.torproject.org/en-US/bridges.html\">Tor "
+"Browser manual</a></mark>."
+
+#: http//localhost/tbb/tbb-21/
+#: (content/tbb/tbb-21/contents+en.lrquestion.title)
+msgid "How do I view Tor Browser message log?"
+msgstr "How do I view Tor Browser message log?"
+
+#: http//localhost/tbb/tbb-21/
+#: (content/tbb/tbb-21/contents+en.lrquestion.description)
+msgid ""
+"Click the button labelled \"Copy Tor Log To Clipboard\" that appears in the "
+"dialog window when Tor Browser is first connecting to the network."
+msgstr ""
+"Click the button labelled \"Copy Tor Log To Clipboard\" that appears in the "
+"dialog window when Tor Browser is first connecting to the network."
+
+#: http//localhost/tbb/tbb-21/
+#: (content/tbb/tbb-21/contents+en.lrquestion.description)
+msgid ""
+"If Tor Browser is already open, click on the Torbutton icon (the small green"
+" onion at the top-left of the screen), then \"Open Network Settings\", then "
+"\"Copy Tor Log To Clipboard\"."
+msgstr ""
+"If Tor Browser is already open, click on the Torbutton icon (the small green"
+" onion at the top-left of the screen), then \"Open Network Settings\", then "
+"\"Copy Tor Log To Clipboard\"."
+
+#: http//localhost/tbb/tbb-21/
+#: (content/tbb/tbb-21/contents+en.lrquestion.description)
+msgid ""
+"Once you have copied the log, you will be able to paste it into a text "
+"editor or email client."
+msgstr ""
+"Once you have copied the log, you will be able to paste it into a text "
+"editor or email client."
+
+#: http//localhost/tbb/tbb-22/
+#: (content/tbb/tbb-22/contents+en.lrquestion.title)
+msgid ""
+"How can I make Tor run faster? Is Tor Browser slower than other browsers?"
+msgstr ""
+"How can I make Tor run faster? Is Tor Browser slower than other browsers?"
+
+#: http//localhost/tbb/tbb-22/
+#: (content/tbb/tbb-22/contents+en.lrquestion.description)
+msgid "Using Tor Browser can sometimes be slower than other browsers."
+msgstr "Using Tor Browser can sometimes be slower than other browsers."
+
+#: http//localhost/tbb/tbb-22/
+#: (content/tbb/tbb-22/contents+en.lrquestion.description)
+msgid ""
+"The Tor network has over a million daily users, and just over 6000 relays to"
+" route all of their traffic, and the load on each server can sometimes cause"
+" latency."
+msgstr ""
+"The Tor network has over a million daily users, and just over 6000 relays to"
+" route all of their traffic, and the load on each server can sometimes cause"
+" latency."
+
+#: http//localhost/tbb/tbb-22/
+#: (content/tbb/tbb-22/contents+en.lrquestion.description)
+msgid ""
+"You can help improve the speed of the network by running your own relay, or "
+"encouraging others to do so."
+msgstr ""
+"You can help improve the speed of the network by running your own relay, or "
+"encouraging others to do so."
+
+#: http//localhost/tbb/tbb-22/
+#: (content/tbb/tbb-22/contents+en.lrquestion.description)
+msgid ""
+"That said, Tor is much faster than it used to be and you may not actually "
+"notice any change in speed from other browsers."
+msgstr ""
+"That said, Tor is much faster than it used to be and you may not actually "
+"notice any change in speed from other browsers."
+
+#: http//localhost/tbb/tbb-23/
+#: (content/tbb/tbb-23/contents+en.lrquestion.title)
+msgid ""
+"What search engine comes with Tor Browser and how does it protect my "
+"privacy?"
+msgstr ""
+"What search engine comes with Tor Browser and how does it protect my "
+"privacy?"
+
+#: http//localhost/tbb/tbb-23/
+#: (content/tbb/tbb-23/contents+en.lrquestion.description)
+msgid "DuckDuckGo is the default search engine in Tor Browser."
+msgstr "DuckDuckGo is the default search engine in Tor Browser."
+
+#: http//localhost/tbb/tbb-23/
+#: (content/tbb/tbb-23/contents+en.lrquestion.description)
+msgid ""
+"DuckDuckGo does not track its users nor does it store any data about user "
+"searches."
+msgstr ""
+"DuckDuckGo does not track its users nor does it store any data about user "
+"searches."
+
+#: http//localhost/tbb/tbb-24/
+#: (content/tbb/tbb-24/contents+en.lrquestion.title)
+msgid "I'm having a problem with DuckDuckGo."
+msgstr "I'm having a problem with DuckDuckGo."
+
+#: http//localhost/tbb/tbb-24/
+#: (content/tbb/tbb-24/contents+en.lrquestion.description)
+msgid ""
+"Please see the <mark><a href=\"https://duck.co/help\">DuckDuckGo support "
+"portal</a></mark>."
+msgstr ""
+"Please see the <mark><a href=\"https://duck.co/help\">DuckDuckGo support "
+"portal</a></mark>."
+
+#: http//localhost/tbb/tbb-24/
+#: (content/tbb/tbb-24/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-25/
+#: (content/tbb/tbb-25/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-26/
+#: (content/tbb/tbb-26/contents+en.lrquestion.description)
+msgid ""
+"If you believe this is a Tor Browser issue, please report it on our <mark><a"
+" href=\"https://trac.torproject.org/\">bug tracker</a></mark>."
+msgstr ""
+"If you believe this is a Tor Browser issue, please report it on our <mark><a"
+" href=\"https://trac.torproject.org/\">bug tracker</a></mark>."
+
+#: http//localhost/tbb/tbb-25/
+#: (content/tbb/tbb-25/contents+en.lrquestion.title)
+msgid "I'm having a problem with NoScript."
+msgstr "I'm having a problem with NoScript."
+
+#: http//localhost/tbb/tbb-25/
+#: (content/tbb/tbb-25/contents+en.lrquestion.description)
+msgid ""
+"Please see the <mark><a href=\"https://noscript.net/faq\">NoScript "
+"FAQ</a></mark>."
+msgstr ""
+"Please see the <mark><a href=\"https://noscript.net/faq\">NoScript "
+"FAQ</a></mark>."
+
+#: http//localhost/tbb/tbb-26/
+#: (content/tbb/tbb-26/contents+en.lrquestion.title)
+msgid "I'm having a problem with HTTPS Everywhere."
+msgstr "I'm having a problem with HTTPS Everywhere."
+
+#: http//localhost/tbb/tbb-26/
+#: (content/tbb/tbb-26/contents+en.lrquestion.description)
+msgid ""
+"Please see the <mark><a href=\"https://www.eff.org/https-"
+"everywhere/faq\">HTTPS Everywhere</a></mark>."
+msgstr ""
+"Please see the <mark><a href=\"https://www.eff.org/https-"
+"everywhere/faq\">HTTPS Everywhere</a></mark>."
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.title)
+msgid "How do I update Tor Browser?"
+msgstr "How do I update Tor Browser?"
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+msgid "You can update Tor Browser as soon as a new version is released."
+msgstr "You can update Tor Browser as soon as a new version is released."
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.description)
+msgid "<div class=\"col-md-6\">"
+msgstr "<div class=\"col-md-6\">"
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.description)
+msgid "<div class=\"card\">"
+msgstr "<div class=\"card\">"
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+msgid ""
+"<img class=\"card-img-top\" src=\"/static/images/image4.png\" alt=\"New "
+"release alert\">"
+msgstr ""
+"<img class=\"card-img-top\" src=\"/static/images/image4.png\" alt=\"New "
+"release alert\">"
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.description)
+msgid "<div class=\"card-body\">"
+msgstr "<div class=\"card-body\">"
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+msgid ""
+"<h4 class=\"card-title\">Tor Browser will prompt you to update the software "
+"once a new version has been released.</h4>"
+msgstr ""
+"<h4 class=\"card-title\">Tor Browser will prompt you to update the software "
+"once a new version has been released.</h4>"
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+msgid ""
+"<p class=\"card-text\">The Torbutton icon (the little green onion in the top"
+" left corner of the browser) will display a yellow triangle.</p>"
+msgstr ""
+"<p class=\"card-text\">The Torbutton icon (the little green onion in the top"
+" left corner of the browser) will display a yellow triangle.</p>"
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.description)
+msgid "</div>"
+msgstr "</div>"
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+msgid ""
+"You may see a written indication when Tor Browser opens telling you that an "
+"update is available."
+msgstr ""
+"You may see a written indication when Tor Browser opens telling you that an "
+"update is available."
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+msgid ""
+"<img class=\"card-img-top\" src=\"/static/images/image5.png\" alt=\"New "
+"release alert\">"
+msgstr ""
+"<img class=\"card-img-top\" src=\"/static/images/image5.png\" alt=\"New "
+"release alert\">"
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid "<h4 class=\"card-title\">Card title</h4>"
+msgstr "<h4 class=\"card-title\">Card title</h4>"
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+msgid "<p class=\"card-text\">Card text</p>"
+msgstr "<p class=\"card-text\">Card text</p>"
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+msgid "Tor browser will install the updates."
+msgstr "Tor browser will install the updates."
+
+#: http//localhost/tbb/tbb-27/
+#: (content/tbb/tbb-27/contents+en.lrquestion.description)
+msgid ""
+"<img class=\"card-img-top\" src=\"/static/images/image3.png\" alt=\"New "
+"release alert\">"
+msgstr ""
+"<img class=\"card-img-top\" src=\"/static/images/image3.png\" alt=\"New "
+"release alert\">"
+
+#: http//localhost/tbb/tbb-28/
+#: (content/tbb/tbb-28/contents+en.lrquestion.title)
+msgid "How do I uninstall Tor Browser?"
+msgstr "How do I uninstall Tor Browser?"
+
+#: http//localhost/tbb/tbb-28/
+#: (content/tbb/tbb-28/contents+en.lrquestion.description)
+msgid "Removing Tor Browser from your system is simple:"
+msgstr "Removing Tor Browser from your system is simple:"
+
+#: http//localhost/tbb/tbb-28/
+#: (content/tbb/tbb-28/contents+en.lrquestion.description)
+msgid "* Locate your Tor Browser folder or application."
+msgstr "* Locate your Tor Browser folder or application."
+
+#: http//localhost/tbb/tbb-28/
+#: (content/tbb/tbb-28/contents+en.lrquestion.description)
+msgid ""
+"The default location on Windows is the Desktop; on macOS it is the "
+"Applications folder (on macOS, you have to move it into the Applications "
+"folder when you complete the installation process)."
+msgstr ""
+"The default location on Windows is the Desktop; on macOS it is the "
+"Applications folder (on macOS, you have to move it into the Applications "
+"folder when you complete the installation process)."
+
+#: http//localhost/tbb/tbb-28/
+#: (content/tbb/tbb-28/contents+en.lrquestion.description)
+msgid ""
+"On Linux, there is no default location, however the folder will be named "
+"\"tor-browser_en-US\" if you are running the English Tor Browser."
+msgstr ""
+"On Linux, there is no default location, however the folder will be named "
+"\"tor-browser_en-US\" if you are running the English Tor Browser."
+
+#: http//localhost/tbb/tbb-28/
+#: (content/tbb/tbb-28/contents+en.lrquestion.description)
+msgid "* Delete the Tor Browser folder or application."
+msgstr "* Delete the Tor Browser folder or application."
+
+#: http//localhost/tbb/tbb-28/
+#: (content/tbb/tbb-28/contents+en.lrquestion.description)
+msgid "* Empty your Trash."
+msgstr "* Empty your Trash."
+
+#: http//localhost/tbb/tbb-28/
+#: (content/tbb/tbb-28/contents+en.lrquestion.description)
+msgid ""
+"* Note that your operating system’s standard \"Uninstall\" utility is not "
+"used."
+msgstr ""
+"* Note that your operating system’s standard \"Uninstall\" utility is not "
+"used."
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.title)
+msgid ""
+"Is there a way to change the IP address that Tor Browser assigns me for a "
+"particular site?"
+msgstr ""
+"Is there a way to change the IP address that Tor Browser assigns me for a "
+"particular site?"
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid ""
+"Tor Browser has two ways to change your relay circuit — \"New Identity\" and"
+" \"New Tor Circuit for this Site\"."
+msgstr ""
+"Tor Browser has two ways to change your relay circuit — \"New Identity\" and"
+" \"New Tor Circuit for this Site\"."
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid "Both options are located in the Torbutton (little green onion) menu."
+msgstr "Both options are located in the Torbutton (little green onion) menu."
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid "##### New Identity"
+msgstr "##### New Identity"
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid ""
+"This option is useful if you want to prevent your subsequent browser "
+"activity from being linkable to what you were doing before."
+msgstr ""
+"This option is useful if you want to prevent your subsequent browser "
+"activity from being linkable to what you were doing before."
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid ""
+"Selecting it will close all your tabs and windows, clear all private "
+"information such as cookies and browsing history, and use new Tor circuits "
+"for all connections."
+msgstr ""
+"Selecting it will close all your tabs and windows, clear all private "
+"information such as cookies and browsing history, and use new Tor circuits "
+"for all connections."
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid ""
+"Tor Browser will warn you that all activity and downloads will be stopped, "
+"so take this into account before clicking \"New Identity\"."
+msgstr ""
+"Tor Browser will warn you that all activity and downloads will be stopped, "
+"so take this into account before clicking \"New Identity\"."
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid "##### New Tor Circuit for this Site"
+msgstr "##### New Tor Circuit for this Site"
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid ""
+"This option is useful if the exit relay you are using is unable to connect "
+"to the website you require, or is not loading it properly."
+msgstr ""
+"This option is useful if the exit relay you are using is unable to connect "
+"to the website you require, or is not loading it properly."
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid ""
+"Selecting it will cause the currently-active tab or window to be reloaded "
+"over a new Tor circuit."
+msgstr ""
+"Selecting it will cause the currently-active tab or window to be reloaded "
+"over a new Tor circuit."
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid ""
+"Other open tabs and windows from the same website will use the new circuit "
+"as well once they are reloaded."
+msgstr ""
+"Other open tabs and windows from the same website will use the new circuit "
+"as well once they are reloaded."
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid ""
+"This option does not clear any private information or unlink your activity, "
+"nor does it affect your current connections to other websites."
+msgstr ""
+"This option does not clear any private information or unlink your activity, "
+"nor does it affect your current connections to other websites."
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid ""
+"<img class=\"card-img-top\" src=\"/static/images/image1.png\" alt=\"New "
+"release alert\"><div class=\"card-body\">"
+msgstr ""
+"<img class=\"card-img-top\" src=\"/static/images/image1.png\" alt=\"New "
+"release alert\"><div class=\"card-body\">"
+
+#: http//localhost/tbb/tbb-29/
+#: (content/tbb/tbb-29/contents+en.lrquestion.description)
+msgid "<p class=\"card-text\">Card text</div>"
+msgstr "<p class=\"card-text\">Card text</div>"
+
+#: http//localhost/tbb/tbb-30/
+#: (content/tbb/tbb-30/contents+en.lrquestion.title)
+msgid ""
+"A website (bank, email provider, etc..) locks me out whenever I use Tor, "
+"what can I do?"
+msgstr ""
+"A website (bank, email provider, etc..) locks me out whenever I use Tor, "
+"what can I do?"
+
+#: http//localhost/tbb/tbb-30/
+#: (content/tbb/tbb-30/contents+en.lrquestion.description)
+msgid ""
+"Tor Browser often makes your connection appear as though it is coming from "
+"an entirely different part of the world."
+msgstr ""
+"Tor Browser often makes your connection appear as though it is coming from "
+"an entirely different part of the world."
+
+#: http//localhost/tbb/tbb-30/
+#: (content/tbb/tbb-30/contents+en.lrquestion.description)
+msgid ""
+"Some websites, such as banks or email providers, might interpret this as a "
+"sign that your account has been compromised, and lock you out."
+msgstr ""
+"Some websites, such as banks or email providers, might interpret this as a "
+"sign that your account has been compromised, and lock you out."
+
+#: http//localhost/tbb/tbb-30/
+#: (content/tbb/tbb-30/contents+en.lrquestion.description)
+msgid ""
+"The only way to resolve this is by following the site’s recommended "
+"procedure for account recovery, or contacting the operators and explaining "
+"the situation."
+msgstr ""
+"The only way to resolve this is by following the site’s recommended "
+"procedure for account recovery, or contacting the operators and explaining "
+"the situation."
+
+#: http//localhost/tbb/tbb-30/
+#: (content/tbb/tbb-30/contents+en.lrquestion.description)
+msgid ""
+"You may be able to avoid this scenario if your provider offers 2-factor "
+"authentication, which is a much better security option than IP-based "
+"reputations."
+msgstr ""
+"You may be able to avoid this scenario if your provider offers 2-factor "
+"authentication, which is a much better security option than IP-based "
+"reputations."
+
+#: http//localhost/tbb/tbb-30/
+#: (content/tbb/tbb-30/contents+en.lrquestion.description)
+msgid "Contact your provider and ask them if they provide 2FA."
+msgstr "Contact your provider and ask them if they provide 2FA."
+
+#: http//localhost/tbb/tbb-31/
+#: (content/tbb/tbb-31/contents+en.lrquestion.description)
+msgid "Tor Browser is currently available on Windows, Linux and OSX."
+msgstr "Tor Browser is currently available on Windows, Linux and OSX."
+
+#: http//localhost/tbb/tbb-32/
+#: (content/tbb/tbb-32/contents+en.lrquestion.title)
+msgid "Can I set Tor Browser as my default browser?"
+msgstr "Can I set Tor Browser as my default browser?"
+
+#: http//localhost/tbb/tbb-32/
+#: (content/tbb/tbb-32/contents+en.lrquestion.description)
+msgid ""
+"There is currently no supported method for setting Tor Browser as your "
+"default browser."
+msgstr ""
+"There is currently no supported method for setting Tor Browser as your "
+"default browser."
+
+#: http//localhost/tbb/tbb-32/
+#: (content/tbb/tbb-32/contents+en.lrquestion.description)
+msgid ""
+"The Tor Browser works hard to isolate itself from the rest of your system, "
+"and the steps for making it the default browser are unreliable."
+msgstr ""
+"The Tor Browser works hard to isolate itself from the rest of your system, "
+"and the steps for making it the default browser are unreliable."
+
+#: http//localhost/tbb/tbb-32/
+#: (content/tbb/tbb-32/contents+en.lrquestion.description)
+msgid ""
+"This means sometimes a website would load in the Tor Browser, and sometimes "
+"it would load in another browser, this type of behavior can be dangerous and"
+" anonymity-breaking."
+msgstr ""
+"This means sometimes a website would load in the Tor Browser, and sometimes "
+"it would load in another browser, this type of behavior can be dangerous and"
+" anonymity-breaking."
+
+#: http//localhost/tbb/tbb-33/
+#: (content/tbb/tbb-33/contents+en.lrquestion.title)
+msgid "Does running Tor Browser make me a relay?"
+msgstr "Does running Tor Browser make me a relay?"
+
+#: http//localhost/tbb/tbb-33/
+#: (content/tbb/tbb-33/contents+en.lrquestion.description)
+msgid "Running Tor Browser does not make you act as a relay in the network."
+msgstr "Running Tor Browser does not make you act as a relay in the network."
+
+#: http//localhost/tbb/tbb-33/
+#: (content/tbb/tbb-33/contents+en.lrquestion.description)
+msgid ""
+"This means that your computer will not be used to route traffic for others."
+msgstr ""
+"This means that your computer will not be used to route traffic for others."
+
+#: http//localhost/tbb/tbb-33/
+#: (content/tbb/tbb-33/contents+en.lrquestion.description)
+msgid ""
+"If you'd like to become a relay, please see our <mark><a "
+"href=\"https://trac.torproject.org/projects/tor/wiki/TorRelayGuide\">Tor "
+"Relay Guide</a></mark>."
+msgstr ""
+"If you'd like to become a relay, please see our <mark><a "
+"href=\"https://trac.torproject.org/projects/tor/wiki/TorRelayGuide\">Tor "
+"Relay Guide</a></mark>."
+
+#: http//localhost/tbb/tbb-34/
+#: (content/tbb/tbb-34/contents+en.lrquestion.title)
+msgid "Why does Tor Browser ship with Javascript enabled?"
+msgstr "Why does Tor Browser ship with Javascript enabled?"
+
+#: http//localhost/tbb/tbb-34/
+#: (content/tbb/tbb-34/contents+en.lrquestion.description)
+msgid ""
+"We configure NoScript to allow JavaScript by default in Tor Browser because "
+"many websites will not work with JavaScript disabled."
+msgstr ""
+"We configure NoScript to allow JavaScript by default in Tor Browser because "
+"many websites will not work with JavaScript disabled."
+
+#: http//localhost/tbb/tbb-34/
+#: (content/tbb/tbb-34/contents+en.lrquestion.description)
+msgid ""
+"Most users would give up on Tor entirely if we disabled Javascript by "
+"default because it would cause so many problems for them."
+msgstr ""
+"Most users would give up on Tor entirely if we disabled Javascript by "
+"default because it would cause so many problems for them."
+
+#: http//localhost/tbb/tbb-34/
+#: (content/tbb/tbb-34/contents+en.lrquestion.description)
+msgid ""
+"Ultimately, we want to make Tor Browser as secure as possible while also "
+"making it usable for the majority of people, so for now, that means leaving "
+"Javascript enabled by default."
+msgstr ""
+"Ultimately, we want to make Tor Browser as secure as possible while also "
+"making it usable for the majority of people, so for now, that means leaving "
+"Javascript enabled by default."
+
+#: http//localhost/tbb/tbb-34/
+#: (content/tbb/tbb-34/contents+en.lrquestion.description)
+msgid ""
+"For users who want to have Javascript disabled on all HTTP sites by default,"
+" we recommend changing your Tor Browser's security slider (in the Tor "
+"Browser Onion menu under \"Security Settings\")."
+msgstr ""
+"For users who want to have Javascript disabled on all HTTP sites by default,"
+" we recommend changing your Tor Browser's security slider (in the Tor "
+"Browser Onion menu under \"Security Settings\")."
+
+#: http//localhost/tbb/tbb-34/
+#: (content/tbb/tbb-34/contents+en.lrquestion.description)
+msgid ""
+"The low/default setting allows Javascript, but the medium and high levels "
+"both block Javascript on HTTP sites."
+msgstr ""
+"The low/default setting allows Javascript, but the medium and high levels "
+"both block Javascript on HTTP sites."
+
+#: http//localhost/tbb/tbb-35/
+#: (content/tbb/tbb-35/contents+en.lrquestion.title)
+msgid "Can you get rid of all the captchas?"
+msgstr "Can you get rid of all the captchas?"
+
+#: http//localhost/tbb/tbb-35/
+#: (content/tbb/tbb-35/contents+en.lrquestion.description)
+msgid ""
+"Unfortunately, some websites deliver CAPTCHAS to Tor users, and we are not "
+"able to remove CAPTCHAs from websites."
+msgstr ""
+"Unfortunately, some websites deliver CAPTCHAS to Tor users, and we are not "
+"able to remove CAPTCHAs from websites."
+
+#: http//localhost/tbb/tbb-35/
+#: (content/tbb/tbb-35/contents+en.lrquestion.description)
+msgid ""
+"The best thing to do in these cases is to contact the website owners, and "
+"inform them that their CAPTCHAs are preventing users such as yourself from "
+"using their services."
+msgstr ""
+"The best thing to do in these cases is to contact the website owners, and "
+"inform them that their CAPTCHAs are preventing users such as yourself from "
+"using their services."
+
+#: http//localhost/tbb/tbb-36/
+#: (content/tbb/tbb-36/contents+en.lrquestion.title)
+msgid "Can I run multiple instances of Tor Browser?"
+msgstr "Can I run multiple instances of Tor Browser?"
+
+#: http//localhost/tbb/tbb-36/
+#: (content/tbb/tbb-36/contents+en.lrquestion.description)
+msgid ""
+"We do not recommend running multiple instances of Tor Browser, and may not "
+"work as anticipated on many platforms."
+msgstr ""
+"We do not recommend running multiple instances of Tor Browser, and may not "
+"work as anticipated on many platforms."
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.title)
+msgid "I need Tor Browser in a language that's not English."
+msgstr "I need Tor Browser in a language that's not English."
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "We currently offer Tor Browser in the following languages:"
+msgstr "We currently offer Tor Browser in the following languages:"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* English (en-US)"
+msgstr "* English (en-US)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* العربية (ar)"
+msgstr "* العربية (ar)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* Deutsch (de)"
+msgstr "* Deutsch (de)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* Español (es-ES)"
+msgstr "* Español (es-ES)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* فارسى (fa)"
+msgstr "* فارسى (fa)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* Français (fr)"
+msgstr "* Français (fr)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* Italiano (it)"
+msgstr "* Italiano (it)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* 日本語 (ja)"
+msgstr "* 日本語 (ja)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* Korean (ko)"
+msgstr "* Korean (ko)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* Nederlands (nl)"
+msgstr "* Nederlands (nl)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* Polish (pl)"
+msgstr "* Polish (pl)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* Português (pt-BR)"
+msgstr "* Português (pt-BR)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* Русский (ru)"
+msgstr "* Русский (ru)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* Türkçe (tr)"
+msgstr "* Türkçe (tr)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* Vietnamese (vi)"
+msgstr "* Vietnamese (vi)"
+
+#: http//localhost/tbb/tbb-37/
+#: (content/tbb/tbb-37/contents+en.lrquestion.description)
+msgid "* 简体字 (zh-CN)"
+msgstr "* 简体字 (zh-CN)"
+
+#: http//localhost/tbb/tbb-38/
+#: (content/tbb/tbb-38/contents+en.lrquestion.title)
+msgid "Will my network admin be able to tell I'm using Tor Browser?"
+msgstr "Will my network admin be able to tell I'm using Tor Browser?"
+
+#: http//localhost/tbb/tbb-38/
+#: (content/tbb/tbb-38/contents+en.lrquestion.description)
+msgid "When using Tor Browser, no one can see the websites that you visit."
+msgstr "When using Tor Browser, no one can see the websites that you visit."
+
+#: http//localhost/tbb/tbb-38/
+#: (content/tbb/tbb-38/contents+en.lrquestion.description)
+msgid ""
+"However, your service provider or network admins may be able to see that "
+"you're connecting to the Tor network, though they won't know what you're "
+"doing when you get there."
+msgstr ""
+"However, your service provider or network admins may be able to see that "
+"you're connecting to the Tor network, though they won't know what you're "
+"doing when you get there."
+
+#: http//localhost/tbb/tbb-39/
+#: (content/tbb/tbb-39/contents+en.lrquestion.title)
+msgid ""
+"I’m having trouble using features on Facebook, Twitter, or some other "
+"website when I’m using Tor Browser."
+msgstr ""
+"I’m having trouble using features on Facebook, Twitter, or some other "
+"website when I’m using Tor Browser."
+
+#: http//localhost/tbb/tbb-39/
+#: (content/tbb/tbb-39/contents+en.lrquestion.description)
+msgid ""
+"Sometimes Javascript-heavy websites can have functional issues over Tor "
+"Browser."
+msgstr ""
+"Sometimes Javascript-heavy websites can have functional issues over Tor "
+"Browser."
+
+#: http//localhost/tbb/tbb-39/
+#: (content/tbb/tbb-39/contents+en.lrquestion.description)
+msgid ""
+"The simplest fix is to click on the \"onion menu,\" then click on the "
+"security slider."
+msgstr ""
+"The simplest fix is to click on the \"onion menu,\" then click on the "
+"security slider."
+
+#: http//localhost/tbb/tbb-39/
+#: (content/tbb/tbb-39/contents+en.lrquestion.description)
+msgid "Set your security to \"Standard\"."
+msgstr "Set your security to \"Standard\"."
+
+#: http//localhost/tbb/tbb-4/ (content/tbb/tbb-4/contents+en.lrquestion.title)
+msgid "Why is Tor Browser built from Firefox and not some other browser?"
+msgstr "Why is Tor Browser built from Firefox and not some other browser?"
+
+#: http//localhost/tbb/tbb-4/
+#: (content/tbb/tbb-4/contents+en.lrquestion.description)
+msgid ""
+"Tor Browser is a modified version of Firefox specifically designed for use "
+"with Tor."
+msgstr ""
+"Tor Browser is a modified version of Firefox specifically designed for use "
+"with Tor."
+
+#: http//localhost/tbb/tbb-4/
+#: (content/tbb/tbb-4/contents+en.lrquestion.description)
+msgid ""
+"A lot of work has been put into making the Tor Browser, including the use of"
+" extra patches to enhance privacy and security."
+msgstr ""
+"A lot of work has been put into making the Tor Browser, including the use of"
+" extra patches to enhance privacy and security."
+
+#: http//localhost/tbb/tbb-4/
+#: (content/tbb/tbb-4/contents+en.lrquestion.description)
+msgid ""
+"While it is technically possible to use Tor with other browsers, you may "
+"open yourself up to potential attacks or information leakage, so we strongly"
+" discourage it."
+msgstr ""
+"While it is technically possible to use Tor with other browsers, you may "
+"open yourself up to potential attacks or information leakage, so we strongly"
+" discourage it."
+
+#: http//localhost/tbb/tbb-4/
+#: (content/tbb/tbb-4/contents+en.lrquestion.description)
+msgid ""
+"<mark><a "
+"href=\"https://www.torproject.org/projects/torbrowser/design/\">Learn more "
+"about the design of Tor Browser</a></mark>."
+msgstr ""
+"<mark><a "
+"href=\"https://www.torproject.org/projects/torbrowser/design/\">Learn more "
+"about the design of Tor Browser</a></mark>."
+
+#: http//localhost/tbb/tbb-40/
+#: (content/tbb/tbb-40/contents+en.lrquestion.title)
+msgid "Does Tor Browser use a different circuit for each website?"
+msgstr "Does Tor Browser use a different circuit for each website?"
+
+#: http//localhost/tbb/tbb-40/
+#: (content/tbb/tbb-40/contents+en.lrquestion.description)
+msgid "In Tor Browser, every new domain gets its own circuit."
+msgstr "In Tor Browser, every new domain gets its own circuit."
+
+#: http//localhost/tbb/tbb-40/
+#: (content/tbb/tbb-40/contents+en.lrquestion.description)
+msgid ""
+"<mark><a href=\"https://www.torproject.org/projects/torbrowser/design"
+"/#identifier-linkability\">The Design and Implementation of Tor "
+"Browser</a></mark> document further explains the thinking behind this "
+"design."
+msgstr ""
+"<mark><a href=\"https://www.torproject.org/projects/torbrowser/design"
+"/#identifier-linkability\">The Design and Implementation of Tor "
+"Browser</a></mark> document further explains the thinking behind this "
+"design."
+
+#: http//localhost/tbb/tbb-41/
+#: (content/tbb/tbb-41/contents+en.lrquestion.title)
+msgid "Why did my search engine switch to DuckDuckGo?"
+msgstr "Why did my search engine switch to DuckDuckGo?"
+
+#: http//localhost/tbb/tbb-41/
+#: (content/tbb/tbb-41/contents+en.lrquestion.description)
+msgid ""
+"With the release of Tor Browser 6.0.6, we switched to DuckDuckGo as the "
+"primary search engine."
+msgstr ""
+"With the release of Tor Browser 6.0.6, we switched to DuckDuckGo as the "
+"primary search engine."
+
+#: http//localhost/tbb/tbb-41/
+#: (content/tbb/tbb-41/contents+en.lrquestion.description)
+msgid ""
+"For a while now, Disconnect has had no access to Google search results which"
+" we used in Tor Browser."
+msgstr ""
+"For a while now, Disconnect has had no access to Google search results which"
+" we used in Tor Browser."
+
+#: http//localhost/tbb/tbb-41/
+#: (content/tbb/tbb-41/contents+en.lrquestion.description)
+msgid ""
+"Since Disconnect is more of a meta search engine which allows users to "
+"choose between different search providers, it fell back to delivering Bing "
+"search results which were basically unacceptable quality-wise."
+msgstr ""
+"Since Disconnect is more of a meta search engine which allows users to "
+"choose between different search providers, it fell back to delivering Bing "
+"search results which were basically unacceptable quality-wise."
+
+#: http//localhost/tbb/tbb-42/
+#: (content/tbb/tbb-42/contents+en.lrquestion.title)
+msgid "Why does my Tor Browser say something about Firefox not working?"
+msgstr "Why does my Tor Browser say something about Firefox not working?"
+
+#: http//localhost/tbb/tbb-42/
+#: (content/tbb/tbb-42/contents+en.lrquestion.description)
+msgid ""
+"Tor Browser is built using <mark><a href=\"https://www.mozilla.org/en-"
+"US/firefox/organizations/\">Firefox ESR</a></mark>, so errors regarding "
+"Firefox may occur."
+msgstr ""
+"Tor Browser is built using <mark><a href=\"https://www.mozilla.org/en-"
+"US/firefox/organizations/\">Firefox ESR</a></mark>, so errors regarding "
+"Firefox may occur."
+
+#: http//localhost/tbb/tbb-42/
+#: (content/tbb/tbb-42/contents+en.lrquestion.description)
+msgid ""
+"Please be sure no other instance of Tor Browser is already running, and that"
+" you have extracted Tor Browser in a location that your user has the correct"
+" permissions for."
+msgstr ""
+"Please be sure no other instance of Tor Browser is already running, and that"
+" you have extracted Tor Browser in a location that your user has the correct"
+" permissions for."
+
+#: http//localhost/tbb/tbb-42/
+#: (content/tbb/tbb-42/contents+en.lrquestion.description)
+msgid ""
+"If you are running an anti-virus, please see <mark><a "
+"href=\"http://support.torproject.org/#tbb-10\">My antivirus/malware "
+"protection is blocking me from accessing Tor Browser</a></mark>, it is "
+"common for anti-virus / anti-malware software to cause this type of issue."
+msgstr ""
+"If you are running an anti-virus, please see <mark><a "
+"href=\"http://support.torproject.org/#tbb-10\">My antivirus/malware "
+"protection is blocking me from accessing Tor Browser</a></mark>, it is "
+"common for anti-virus / anti-malware software to cause this type of issue."
+
+#: http//localhost/tbb/tbb-5/ (content/tbb/tbb-5/contents+en.lrquestion.title)
+msgid ""
+"Can I still use another browser, like Chrome or Firefox, when I am using Tor"
+" Browser?"
+msgstr ""
+"Can I still use another browser, like Chrome or Firefox, when I am using Tor"
+" Browser?"
+
+#: http//localhost/tbb/tbb-5/
+#: (content/tbb/tbb-5/contents+en.lrquestion.description)
+msgid ""
+"You can certainly use another browser while you are also using Tor Browser."
+msgstr ""
+"You can certainly use another browser while you are also using Tor Browser."
+
+#: http//localhost/tbb/tbb-5/
+#: (content/tbb/tbb-5/contents+en.lrquestion.description)
+msgid ""
+"However, you should know that the privacy properties of Tor Browser will not"
+" be present in the other browser."
+msgstr ""
+"However, you should know that the privacy properties of Tor Browser will not"
+" be present in the other browser."
+
+#: http//localhost/tbb/tbb-5/
+#: (content/tbb/tbb-5/contents+en.lrquestion.description)
+msgid ""
+"Be careful when switching back and forth between Tor and a less safe "
+"browser, because you may accidentally use the other browser for something "
+"you intended to do using Tor."
+msgstr ""
+"Be careful when switching back and forth between Tor and a less safe "
+"browser, because you may accidentally use the other browser for something "
+"you intended to do using Tor."
+
+#: http//localhost/tbb/tbb-6/ (content/tbb/tbb-6/contents+en.lrquestion.title)
+msgid "Can I make Tor Browser my default browser?"
+msgstr "Can I make Tor Browser my default browser?"
+
+#: http//localhost/tbb/tbb-6/
+#: (content/tbb/tbb-6/contents+en.lrquestion.description)
+msgid ""
+"Unfortunately, there is no supported way to make Tor Browser your default "
+"browser."
+msgstr ""
+"Unfortunately, there is no supported way to make Tor Browser your default "
+"browser."
+
+#: http//localhost/tbb/tbb-7/ (content/tbb/tbb-7/contents+en.lrquestion.title)
+#: http//localhost/censorship/censorship-2/
+#: (content/censorship/censorship-2/contents+en.lrquestion.title)
+msgid "A website I am trying to reach is blocking access over Tor."
+msgstr "A website I am trying to reach is blocking access over Tor."
+
+#: http//localhost/tbb/tbb-7/
+#: (content/tbb/tbb-7/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-2/
+#: (content/censorship/censorship-2/contents+en.lrquestion.description)
+msgid ""
+"Sometimes websites will block Tor users because they can't tell the "
+"difference between the average Tor user and automated traffic."
+msgstr ""
+"Sometimes websites will block Tor users because they can't tell the "
+"difference between the average Tor user and automated traffic."
+
+#: http//localhost/tbb/tbb-7/
+#: (content/tbb/tbb-7/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-2/
+#: (content/censorship/censorship-2/contents+en.lrquestion.description)
+msgid ""
+"The best success we've had in getting sites to unblock Tor users is getting "
+"users to contact the site administrators directly."
+msgstr ""
+"The best success we've had in getting sites to unblock Tor users is getting "
+"users to contact the site administrators directly."
+
+#: http//localhost/tbb/tbb-7/
+#: (content/tbb/tbb-7/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-2/
+#: (content/censorship/censorship-2/contents+en.lrquestion.description)
+msgid "Something like this might do the trick:"
+msgstr "Something like this might do the trick:"
+
+#: http//localhost/tbb/tbb-7/
+#: (content/tbb/tbb-7/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-2/
+#: (content/censorship/censorship-2/contents+en.lrquestion.description)
+msgid ""
+"\"Hi! I tried to access your site xyz.com while using Tor Browser and "
+"discovered that you don't allow Tor users to access your site."
+msgstr ""
+"\"Hi! I tried to access your site xyz.com while using Tor Browser and "
+"discovered that you don't allow Tor users to access your site."
+
+#: http//localhost/tbb/tbb-7/
+#: (content/tbb/tbb-7/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-2/
+#: (content/censorship/censorship-2/contents+en.lrquestion.description)
+msgid ""
+"I urge you to reconsider this decision; Tor is used by people all over the "
+"world to protect their privacy and fight censorship."
+msgstr ""
+"I urge you to reconsider this decision; Tor is used by people all over the "
+"world to protect their privacy and fight censorship."
+
+#: http//localhost/tbb/tbb-7/
+#: (content/tbb/tbb-7/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-2/
+#: (content/censorship/censorship-2/contents+en.lrquestion.description)
+msgid ""
+"By blocking Tor users, you are likely blocking people in repressive "
+"countries who want to use a free internet, journalists and researchers who "
+"want to protect themselves from discovery, whistleblowers, activists, and "
+"ordinary people who want to opt out of invasive third party tracking."
+msgstr ""
+"By blocking Tor users, you are likely blocking people in repressive "
+"countries who want to use a free internet, journalists and researchers who "
+"want to protect themselves from discovery, whistleblowers, activists, and "
+"ordinary people who want to opt out of invasive third party tracking."
+
+#: http//localhost/tbb/tbb-7/
+#: (content/tbb/tbb-7/contents+en.lrquestion.description)
+msgid ""
+"Please take a strong stance in favor of digital privacy and internet "
+"freedom, and allow Tor users access to xyz.com."
+msgstr ""
+"Please take a strong stance in favor of digital privacy and internet "
+"freedom, and allow Tor users access to xyz.com."
+
+#: http//localhost/tbb/tbb-7/
+#: (content/tbb/tbb-7/contents+en.lrquestion.description)
+msgid "Thank you.\""
+msgstr "Thank you.\""
+
+#: http//localhost/tbb/tbb-7/
+#: (content/tbb/tbb-7/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-2/
+#: (content/censorship/censorship-2/contents+en.lrquestion.description)
+msgid ""
+"In the case of banks, and other sensitive websites, it is also common to see"
+" geography-based blocking (if a bank knows you generally access their "
+"services from one country, and suddenly you are connecting from an exit "
+"relay on the other side of the world, your account may be locked or "
+"suspended)."
+msgstr ""
+"In the case of banks, and other sensitive websites, it is also common to see"
+" geography-based blocking (if a bank knows you generally access their "
+"services from one country, and suddenly you are connecting from an exit "
+"relay on the other side of the world, your account may be locked or "
+"suspended)."
+
+#: http//localhost/tbb/tbb-7/
+#: (content/tbb/tbb-7/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-2/
+#: (content/censorship/censorship-2/contents+en.lrquestion.description)
+msgid ""
+"If you are unable to connect to an onion service, please see <a "
+"href=\"#onionservices-3\">I cannot reach X.onion!</a>"
+msgstr ""
+"If you are unable to connect to an onion service, please see <a "
+"href=\"#onionservices-3\">I cannot reach X.onion!</a>"
+
+#: http//localhost/tbb/tbb-9/ (content/tbb/tbb-9/contents+en.lrquestion.title)
+msgid "Can I use Tor with a browser besides Tor Browser?"
+msgstr "Can I use Tor with a browser besides Tor Browser?"
+
+#: http//localhost/tbb/tbb-9/
+#: (content/tbb/tbb-9/contents+en.lrquestion.description)
+msgid ""
+"We strongly recommend against using Tor in any browser other than Tor "
+"Browser."
+msgstr ""
+"We strongly recommend against using Tor in any browser other than Tor "
+"Browser."
+
+#: http//localhost/tbb/tbb-9/
+#: (content/tbb/tbb-9/contents+en.lrquestion.description)
+msgid ""
+"Using Tor in another browser can leave you vulnerable without the privacy "
+"protections of Tor Browser."
+msgstr ""
+"Using Tor in another browser can leave you vulnerable without the privacy "
+"protections of Tor Browser."
+
+#: http//localhost/tormessenger/tormessenger-1/
+#: (content/tormessenger/tormessenger-1/contents+en.lrquestion.title)
+msgid "Does Tor Project make an application for private chat?"
+msgstr "Does Tor Project make an application for private chat?"
+
+#: http//localhost/tormessenger/tormessenger-1/
+#: (content/tormessenger/tormessenger-1/contents+en.lrquestion.description)
+msgid ""
+"No. After eleven beta releases, we discontinued support of <a "
+"href=\"https://blog.torproject.org/sunsetting-tor-messenger\">Tor "
+"Messenger</a>."
+msgstr ""
+"No. After eleven beta releases, we discontinued support of <a "
+"href=\"https://blog.torproject.org/sunsetting-tor-messenger\">Tor "
+"Messenger</a>."
+
+#: http//localhost/tormessenger/tormessenger-1/
+#: (content/tormessenger/tormessenger-1/contents+en.lrquestion.description)
+msgid ""
+"We still believe in Tor's ability to be used in a messaging app, but we "
+"don't have the resources to make it happen right now."
+msgstr ""
+"We still believe in Tor's ability to be used in a messaging app, but we "
+"don't have the resources to make it happen right now."
+
+#: http//localhost/tormessenger/tormessenger-1/
+#: (content/tormessenger/tormessenger-1/contents+en.lrquestion.description)
+msgid ""
+"Do you? <mark><a "
+"href=\"https://www.torproject.org/about/contact.html.en\">Contact "
+"us</a></mark>."
+msgstr ""
+"Do you? <mark><a "
+"href=\"https://www.torproject.org/about/contact.html.en\">Contact "
+"us</a></mark>."
+
+#: http//localhost/tormobile/tormobile-1/
+#: (content/tormobile/tormobile-1/contents+en.lrquestion.title)
+msgid "Can I run Tor on an Android device?"
+msgstr "Can I run Tor on an Android device?"
+
+#: http//localhost/tormobile/tormobile-1/
+#: (content/tormobile/tormobile-1/contents+en.lrquestion.description)
+msgid "Tor on Android is provided by The Guardian Project."
+msgstr "Tor on Android is provided by The Guardian Project."
+
+#: http//localhost/tormobile/tormobile-1/
+#: (content/tormobile/tormobile-1/contents+en.lrquestion.description)
+msgid ""
+"More information can be found on the <mark><a "
+"href=\"https://guardianproject.info/apps/orbot/\">Orbot</a></mark> and "
+"<mark><a href=\"https://guardianproject.info/apps/orfox/\">Orfox</a></mark> "
+"web pages."
+msgstr ""
+"More information can be found on the <mark><a "
+"href=\"https://guardianproject.info/apps/orbot/\">Orbot</a></mark> and "
+"<mark><a href=\"https://guardianproject.info/apps/orfox/\">Orfox</a></mark> "
+"web pages."
+
+#: http//localhost/tormobile/tormobile-1/
+#: (content/tormobile/tormobile-1/contents+en.lrquestion.description)
+msgid ""
+"Orbot is for web browsing, and Orfox can route other apps on your Android "
+"phone over the Tor network."
+msgstr ""
+"Orbot is for web browsing, and Orfox can route other apps on your Android "
+"phone over the Tor network."
+
+#: http//localhost/tormobile/tormobile-2/
+#: (content/tormobile/tormobile-2/contents+en.lrquestion.title)
+msgid "Who is the Guardian Project?"
+msgstr "Who is the Guardian Project?"
+
+#: http//localhost/tormobile/tormobile-2/
+#: (content/tormobile/tormobile-2/contents+en.lrquestion.description)
+msgid ""
+"The Guardian Project maintains Tor (and other privacy applications) on "
+"Android. More info can be found on the <mark><a "
+"href=\"https://guardianproject.info/\">Guardian Project's "
+"website</a></mark>."
+msgstr ""
+"The Guardian Project maintains Tor (and other privacy applications) on "
+"Android. More info can be found on the <mark><a "
+"href=\"https://guardianproject.info/\">Guardian Project's "
+"website</a></mark>."
+
+#: http//localhost/tormobile/tormobile-3/
+#: (content/tormobile/tormobile-3/contents+en.lrquestion.title)
+msgid "Can I run Tor on an iOS device?"
+msgstr "Can I run Tor on an iOS device?"
+
+#: http//localhost/tormobile/tormobile-3/
+#: (content/tormobile/tormobile-3/contents+en.lrquestion.description)
+msgid ""
+"We recommend an iOS app called Onion Browser, which is open source, uses Tor"
+" routing, and is developed by someone who works closely with the Tor "
+"Project."
+msgstr ""
+"We recommend an iOS app called Onion Browser, which is open source, uses Tor"
+" routing, and is developed by someone who works closely with the Tor "
+"Project."
+
+#: http//localhost/tormobile/tormobile-3/
+#: (content/tormobile/tormobile-3/contents+en.lrquestion.description)
+msgid ""
+"However, Apple requires browsers on iOS to use something called Webkit, "
+"which prevents Onion Browser from having the same privacy protections as Tor"
+" Browser."
+msgstr ""
+"However, Apple requires browsers on iOS to use something called Webkit, "
+"which prevents Onion Browser from having the same privacy protections as Tor"
+" Browser."
+
+#: http//localhost/tormobile/tormobile-3/
+#: (content/tormobile/tormobile-3/contents+en.lrquestion.description)
+msgid ""
+"<mark><a href=\"https://blog.torproject.org/tor-heart-onion-browser-and-"
+"more-ios-tor\">Learn more about Onion Browser</a></mark>."
+msgstr ""
+"<mark><a href=\"https://blog.torproject.org/tor-heart-onion-browser-and-"
+"more-ios-tor\">Learn more about Onion Browser</a></mark>."
+
+#: http//localhost/tormobile/tormobile-4/
+#: (content/tormobile/tormobile-4/contents+en.lrquestion.title)
+msgid "How do I run Tor on Windows Phone?"
+msgstr "How do I run Tor on Windows Phone?"
+
+#: http//localhost/tormobile/tormobile-4/
+#: (content/tormobile/tormobile-4/contents+en.lrquestion.description)
+msgid ""
+"There is currently no supported method for running Tor on Windows Phone."
+msgstr ""
+"There is currently no supported method for running Tor on Windows Phone."
+
+#: http//localhost/tormobile/tormobile-5/
+#: (content/tormobile/tormobile-5/contents+en.lrquestion.title)
+msgid "When is Tor Browser for Android being released?"
+msgstr "When is Tor Browser for Android being released?"
+
+#: http//localhost/tormobile/tormobile-5/
+#: (content/tormobile/tormobile-5/contents+en.lrquestion.description)
+msgid ""
+"We are currently working on Tor Browser for Android, and you may see alpha "
+"releases appear over the coming months."
+msgstr ""
+"We are currently working on Tor Browser for Android, and you may see alpha "
+"releases appear over the coming months."
+
+#: http//localhost/tormobile/tormobile-5/
+#: (content/tormobile/tormobile-5/contents+en.lrquestion.description)
+msgid ""
+"Please watch our <mark><a "
+"href=\"https://blog.torproject.org\">blog</a></mark> for future "
+"announcements and details regarding this project."
+msgstr ""
+"Please watch our <mark><a "
+"href=\"https://blog.torproject.org\">blog</a></mark> for future "
+"announcements and details regarding this project."
+
+#: http//localhost/gettor/gettor-1/
+#: (content/gettor/gettor-1/contents+en.lrquestion.title)
+#: http//localhost/censorship/censorship-3/
+#: (content/censorship/censorship-3/contents+en.lrquestion.title)
+msgid "How do I download Tor if the torproject.org is blocked?"
+msgstr "How do I download Tor if the torproject.org is blocked?"
+
+#: http//localhost/gettor/gettor-1/
+#: (content/gettor/gettor-1/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-3/
+#: (content/censorship/censorship-3/contents+en.lrquestion.description)
+msgid ""
+"If you can't download Tor through our <mark><a "
+"href=\"https://www.torproject.org\">website</a></mark>, you can get a copy "
+"of Tor delivered to you via GetTor."
+msgstr ""
+"If you can't download Tor through our <mark><a "
+"href=\"https://www.torproject.org\">website</a></mark>, you can get a copy "
+"of Tor delivered to you via GetTor."
+
+#: http//localhost/gettor/gettor-1/
+#: (content/gettor/gettor-1/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-3/
+#: (content/censorship/censorship-3/contents+en.lrquestion.description)
+msgid ""
+"GetTor is a service that automatically responds to messages with links to "
+"the latest version of Tor Browser, hosted at a variety of locations that are"
+" less likely to be censored, such as Dropbox, Google Drive, and Github."
+msgstr ""
+"GetTor is a service that automatically responds to messages with links to "
+"the latest version of Tor Browser, hosted at a variety of locations that are"
+" less likely to be censored, such as Dropbox, Google Drive, and Github."
+
+#: http//localhost/gettor/gettor-2/
+#: (content/gettor/gettor-2/contents+en.lrquestion.title)
+msgid "To use GetTor via email."
+msgstr "To use GetTor via email."
+
+#: http//localhost/gettor/gettor-2/
+#: (content/gettor/gettor-2/contents+en.lrquestion.description)
+msgid "Send an email to gettor(a)torproject.org."
+msgstr "Send an email to gettor(a)torproject.org."
+
+#: http//localhost/gettor/gettor-2/
+#: (content/gettor/gettor-2/contents+en.lrquestion.description)
+msgid ""
+"Write your operating system (such as windows, MacOS (OS X), or linux) in the"
+" body of the message and send."
+msgstr ""
+"Write your operating system (such as windows, MacOS (OS X), or linux) in the"
+" body of the message and send."
+
+#: http//localhost/gettor/gettor-2/
+#: (content/gettor/gettor-2/contents+en.lrquestion.description)
+msgid ""
+"GetTor will respond with an email containing links from which you can "
+"download Tor Browser, the cryptographic signature (needed for verifying the "
+"download) [link to glossary definition of cryptographic signature; "
+"instructions for verification], the fingerprint of the key used to make the "
+"signature, and the package’s checksum."
+msgstr ""
+"GetTor will respond with an email containing links from which you can "
+"download Tor Browser, the cryptographic signature (needed for verifying the "
+"download) [link to glossary definition of cryptographic signature; "
+"instructions for verification], the fingerprint of the key used to make the "
+"signature, and the package’s checksum."
+
+#: http//localhost/gettor/gettor-2/
+#: (content/gettor/gettor-2/contents+en.lrquestion.description)
+msgid ""
+"You may be offered a choice of \"32-bit\" or \"64-bit\" software: this "
+"depends on the model of the computer you are using; consult documentation "
+"about your computer to find out more."
+msgstr ""
+"You may be offered a choice of \"32-bit\" or \"64-bit\" software: this "
+"depends on the model of the computer you are using; consult documentation "
+"about your computer to find out more."
+
+#: http//localhost/gettor/gettor-3/
+#: (content/gettor/gettor-3/contents+en.lrquestion.title)
+msgid "To use GetTor via Twitter."
+msgstr "To use GetTor via Twitter."
+
+#: http//localhost/gettor/gettor-3/
+#: (content/gettor/gettor-3/contents+en.lrquestion.description)
+msgid ""
+"To get links for downloading Tor Browser, send a direct message to <mark><a "
+"href=\"https://twitter.com/get_tor\">@get_tor</a></mark> with one of the "
+"following codes in it (you don't need to follow the account):"
+msgstr ""
+"To get links for downloading Tor Browser, send a direct message to <mark><a "
+"href=\"https://twitter.com/get_tor\">@get_tor</a></mark> with one of the "
+"following codes in it (you don't need to follow the account):"
+
+#: http//localhost/gettor/gettor-3/
+#: (content/gettor/gettor-3/contents+en.lrquestion.description)
+#: http//localhost/gettor/gettor-4/
+#: (content/gettor/gettor-4/contents+en.lrquestion.description)
+msgid "* Linux"
+msgstr "* Linux"
+
+#: http//localhost/gettor/gettor-3/
+#: (content/gettor/gettor-3/contents+en.lrquestion.description)
+#: http//localhost/gettor/gettor-4/
+#: (content/gettor/gettor-4/contents+en.lrquestion.description)
+msgid "* MacOS (OS X)"
+msgstr "* MacOS (OS X)"
+
+#: http//localhost/gettor/gettor-3/
+#: (content/gettor/gettor-3/contents+en.lrquestion.description)
+#: http//localhost/gettor/gettor-4/
+#: (content/gettor/gettor-4/contents+en.lrquestion.description)
+msgid "* Windows"
+msgstr "* Windows"
+
+#: http//localhost/gettor/gettor-4/
+#: (content/gettor/gettor-4/contents+en.lrquestion.title)
+msgid "To use GetTor via XMPP (Tor Messenger, Jitsi, CoyIM)."
+msgstr "To use GetTor via XMPP (Tor Messenger, Jitsi, CoyIM)."
+
+#: http//localhost/gettor/gettor-4/
+#: (content/gettor/gettor-4/contents+en.lrquestion.description)
+msgid ""
+"To get links for downloading Tor Browser, send a message to "
+"gettor@toproject(dot)org with one of the following codes in it:"
+msgstr ""
+"To get links for downloading Tor Browser, send a message to "
+"gettor@toproject(dot)org with one of the following codes in it:"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.title)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.title)
+msgid ""
+"I am having trouble connecting to Tor, and I can’t figure out what’s wrong."
+msgstr ""
+"I am having trouble connecting to Tor, and I can’t figure out what’s wrong."
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"If you’re having trouble connecting, please select the option to \"copy Tor "
+"log to clipboard.\""
+msgstr ""
+"If you’re having trouble connecting, please select the option to \"copy Tor "
+"log to clipboard.\""
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid "Then paste the Tor log into a text file or other document."
+msgstr "Then paste the Tor log into a text file or other document."
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"You should see one of these common log errors (look for the following lines "
+"in your Tor log):"
+msgstr ""
+"You should see one of these common log errors (look for the following lines "
+"in your Tor log):"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid "###### Common log error #1: Proxy connection failure"
+msgstr "###### Common log error #1: Proxy connection failure"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"2017-10-29 09:23:40.800 [NOTICE] Opening Socks listener on 127.0.0.1:9150"
+msgstr ""
+"2017-10-29 09:23:40.800 [NOTICE] Opening Socks listener on 127.0.0.1:9150"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"2017-10-29 09:23:47.900 [NOTICE] Bootstrapped 5%: Connecting to directory "
+"server"
+msgstr ""
+"2017-10-29 09:23:47.900 [NOTICE] Bootstrapped 5%: Connecting to directory "
+"server"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"2017-10-29 09:23:47.900 [NOTICE] Bootstrapped 10%: Finishing handshake with "
+"directory server"
+msgstr ""
+"2017-10-29 09:23:47.900 [NOTICE] Bootstrapped 10%: Finishing handshake with "
+"directory server"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"2017-10-29 09:24:08.900 [WARN] Proxy Client: unable to connect to "
+"xx..xxx..xxx.xx:xxxxx (\"general SOCKS server failure\")"
+msgstr ""
+"2017-10-29 09:24:08.900 [WARN] Proxy Client: unable to connect to "
+"xx..xxx..xxx.xx:xxxxx (\"general SOCKS server failure\")"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"2017-10-29 09:24:08.900 [WARN] Proxy Client: unable to connect to "
+"xx..xxx..xxx.xx:xxxxx (\"general SOCKS server failure\")"
+msgstr ""
+"2017-10-29 09:24:08.900 [WARN] Proxy Client: unable to connect to "
+"xx..xxx..xxx.xx:xxxxx (\"general SOCKS server failure\")"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"2017-10-29 09:24:08.900 [WARN] Proxy Client: unable to connect "
+"toxx..xxx..xxx.xx:xxxxx (\"general SOCKS server failure\")"
+msgstr ""
+"2017-10-29 09:24:08.900 [WARN] Proxy Client: unable to connect "
+"toxx..xxx..xxx.xx:xxxxx (\"general SOCKS server failure\")"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"If you see lines like these in your Tor log, it means you are failing to "
+"connect to a SOCKS proxy. If a SOCKS proxy is required for your network "
+"setup, then please make sure you’ve entered your proxy details correctly."
+msgstr ""
+"If you see lines like these in your Tor log, it means you are failing to "
+"connect to a SOCKS proxy. If a SOCKS proxy is required for your network "
+"setup, then please make sure you’ve entered your proxy details correctly."
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"If a SOCKS proxy is not required, or you’re not sure, please try connecting"
+" to the Tor network without a SOCKS proxy."
+msgstr ""
+"If a SOCKS proxy is not required, or you’re not sure, please try connecting"
+" to the Tor network without a SOCKS proxy."
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid "##### Common log error #2: Can’t reach guard relays"
+msgstr "##### Common log error #2: Can’t reach guard relays"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"11/1/2017 21:11:43 PM.500 [NOTICE] Opening Socks listener on 127.0.0.1:9150"
+msgstr ""
+"11/1/2017 21:11:43 PM.500 [NOTICE] Opening Socks listener on 127.0.0.1:9150"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"11/1/2017 21:11:44 PM.300 [NOTICE] Bootstrapped 80%: Connecting to the Tor "
+"network"
+msgstr ""
+"11/1/2017 21:11:44 PM.300 [NOTICE] Bootstrapped 80%: Connecting to the Tor "
+"network"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"11/1/2017 21:11:44 PM.300 [WARN] Failed to find node for hop 0 of our path. "
+"Discarding this circuit."
+msgstr ""
+"11/1/2017 21:11:44 PM.300 [WARN] Failed to find node for hop 0 of our path. "
+"Discarding this circuit."
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"11/1/2017 21:11:44 PM.500 [NOTICE] Bootstrapped 85%: Finishing handshake "
+"with first hop"
+msgstr ""
+"11/1/2017 21:11:44 PM.500 [NOTICE] Bootstrapped 85%: Finishing handshake "
+"with first hop"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"11/1/2017 21:11:45 PM.300 [WARN] Failed to find node for hop 0 of our path. "
+"Discarding this circuit."
+msgstr ""
+"11/1/2017 21:11:45 PM.300 [WARN] Failed to find node for hop 0 of our path. "
+"Discarding this circuit."
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"If you see lines like these in your Tor log, it means your Tor failed to "
+"connect to the first node in the Tor circuit."
+msgstr ""
+"If you see lines like these in your Tor log, it means your Tor failed to "
+"connect to the first node in the Tor circuit."
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid "This could mean that you’re on a network that’s censored."
+msgstr "This could mean that you’re on a network that’s censored."
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid "Please try connecting with bridges, and that should fix the problem."
+msgstr "Please try connecting with bridges, and that should fix the problem."
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid "##### Common log error #3: Failed to complete TLS handshake"
+msgstr "##### Common log error #3: Failed to complete TLS handshake"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"13-11-17 19:52:24.300 [NOTICE] Bootstrapped 10%: Finishing handshake with "
+"directory server"
+msgstr ""
+"13-11-17 19:52:24.300 [NOTICE] Bootstrapped 10%: Finishing handshake with "
+"directory server"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"13-11-17 19:53:49.300 [WARN] Problem bootstrapping. Stuck at 10%: Finishing "
+"handshake with directory server. (DONE; DONE; count 10; recommendation warn;"
+" host [host] at xxx.xxx.xxx.xx:xxx)"
+msgstr ""
+"13-11-17 19:53:49.300 [WARN] Problem bootstrapping. Stuck at 10%: Finishing "
+"handshake with directory server. (DONE; DONE; count 10; recommendation warn;"
+" host [host] at xxx.xxx.xxx.xx:xxx)"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid "13-11-17 19:53:49.300 [WARN] 10 connections have failed:"
+msgstr "13-11-17 19:53:49.300 [WARN] 10 connections have failed:"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"13-11-17 19:53:49.300 [WARN] 9 connections died in state handshaking (TLS) "
+"with SSL state SSLv2/v3 read server hello A in HANDSHAKE"
+msgstr ""
+"13-11-17 19:53:49.300 [WARN] 9 connections died in state handshaking (TLS) "
+"with SSL state SSLv2/v3 read server hello A in HANDSHAKE"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"13-11-17 19:53:49.300 [WARN] 1 connections died in state connect()ing with "
+"SSL state (No SSL object)</code></pre>If you see lines like this in your Tor"
+" log, it means that Tor failed to complete a TLS handshake with the "
+"directory authorities. Using bridges will likely fix this.<h5>Common log "
+"error #4: Clock skew</h5><pre><code> 19.11.2017 00:04:47.400 [NOTICE] "
+"Opening Socks listener on 127.0.0.1:9150"
+msgstr ""
+"13-11-17 19:53:49.300 [WARN] 1 connections died in state connect()ing with "
+"SSL state (No SSL object)</code></pre>If you see lines like this in your Tor"
+" log, it means that Tor failed to complete a TLS handshake with the "
+"directory authorities. Using bridges will likely fix this.<h5>Common log "
+"error #4: Clock skew</h5><pre><code> 19.11.2017 00:04:47.400 [NOTICE] "
+"Opening Socks listener on 127.0.0.1:9150"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"19.11.2017 00:04:48.000 [NOTICE] Bootstrapped 5%: Connecting to directory "
+"server"
+msgstr ""
+"19.11.2017 00:04:48.000 [NOTICE] Bootstrapped 5%: Connecting to directory "
+"server"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"19.11.2017 00:04:48.200 [NOTICE] Bootstrapped 10%: Finishing handshake with "
+"directory server"
+msgstr ""
+"19.11.2017 00:04:48.200 [NOTICE] Bootstrapped 10%: Finishing handshake with "
+"directory server"
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"19.11.2017 00:04:48.800 [WARN] Received NETINFO cell with skewed time "
+"(OR:xxx.xx.x.xx:xxxx): It seems that our clock is behind by 1 days, 0 hours,"
+" 1 minutes, or that theirs is ahead."
+msgstr ""
+"19.11.2017 00:04:48.800 [WARN] Received NETINFO cell with skewed time "
+"(OR:xxx.xx.x.xx:xxxx): It seems that our clock is behind by 1 days, 0 hours,"
+" 1 minutes, or that theirs is ahead."
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"Tor requires an accurate clock to work: please check your time, timezone, "
+"and date settings."
+msgstr ""
+"Tor requires an accurate clock to work: please check your time, timezone, "
+"and date settings."
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"If you see lines like this in your Tor log, it means your system clock is "
+"incorrect."
+msgstr ""
+"If you see lines like this in your Tor log, it means your system clock is "
+"incorrect."
+
+#: http//localhost/connecting/connecting-2/
+#: (content/connecting/connecting-2/contents+en.lrquestion.description)
+#: http//localhost/censorship/censorship-5/
+#: (content/censorship/censorship-5/contents+en.lrquestion.description)
+msgid ""
+"Please make sure your clock is set accurately, including the correct "
+"timezone. Then restart Tor."
+msgstr ""
+"Please make sure your clock is set accurately, including the correct "
+"timezone. Then restart Tor."
+
+#: http//localhost/connecting/connecting-3/
+#: (content/connecting/connecting-3/contents+en.lrquestion.title)
+#: http//localhost/onionservices/onionservices-3/
+#: (content/onionservices/onionservices-3/contents+en.lrquestion.title)
+msgid "I cannot reach X.onion!"
+msgstr "I cannot reach X.onion!"
+
+#: http//localhost/connecting/connecting-3/
+#: (content/connecting/connecting-3/contents+en.lrquestion.description)
+#: http//localhost/onionservices/onionservices-3/
+#: (content/onionservices/onionservices-3/contents+en.lrquestion.description)
+msgid ""
+"If you cannot reach the onion service you desire, make sure that you have "
+"entered the 16-character onion address correctly: even a small mistake will "
+"stop Tor Browser from being able to reach the site."
+msgstr ""
+"If you cannot reach the onion service you desire, make sure that you have "
+"entered the 16-character onion address correctly: even a small mistake will "
+"stop Tor Browser from being able to reach the site."
+
+#: http//localhost/connecting/connecting-3/
+#: (content/connecting/connecting-3/contents+en.lrquestion.description)
+#: http//localhost/onionservices/onionservices-3/
+#: (content/onionservices/onionservices-3/contents+en.lrquestion.description)
+msgid ""
+"If you are still unable to connect to the onion service, please try again "
+"later."
+msgstr ""
+"If you are still unable to connect to the onion service, please try again "
+"later."
+
+#: http//localhost/connecting/connecting-3/
+#: (content/connecting/connecting-3/contents+en.lrquestion.description)
+#: http//localhost/onionservices/onionservices-3/
+#: (content/onionservices/onionservices-3/contents+en.lrquestion.description)
+msgid ""
+"There may be a temporary connection issue, or the site operators may have "
+"allowed it to go offline without warning."
+msgstr ""
+"There may be a temporary connection issue, or the site operators may have "
+"allowed it to go offline without warning."
+
+#: http//localhost/connecting/connecting-3/
+#: (content/connecting/connecting-3/contents+en.lrquestion.description)
+msgid ""
+"You can also ensure that you're able to access other onion services by "
+"connecting to <a href=\"http://3g2upl4pq6kufc4m.onion\">DuckDuckGo</a>'s "
+"Onion Service."
+msgstr ""
+"You can also ensure that you're able to access other onion services by "
+"connecting to <a href=\"http://3g2upl4pq6kufc4m.onion\">DuckDuckGo</a>'s "
+"Onion Service."
+
+#: http//localhost/censorship/censorship-2/
+#: (content/censorship/censorship-2/contents+en.lrquestion.description)
+msgid ""
+"Please take a strong stance in favor of digital privacy and internet "
+"freedom, and allow Tor users access to xyz.com. Thank you.\""
+msgstr ""
+"Please take a strong stance in favor of digital privacy and internet "
+"freedom, and allow Tor users access to xyz.com. Thank you.\""
+
+#: http//localhost/censorship/censorship-7/
+#: (content/censorship/censorship-7/contents+en.lrquestion.title)
+msgid "What is a bridge?"
+msgstr "What is a bridge?"
+
+#: http//localhost/censorship/censorship-7/
+#: (content/censorship/censorship-7/contents+en.lrquestion.description)
+msgid ""
+"Bridge relays are Tor relays that are not listed in the public Tor "
+"directory."
+msgstr ""
+"Bridge relays are Tor relays that are not listed in the public Tor "
+"directory."
+
+#: http//localhost/censorship/censorship-7/
+#: (content/censorship/censorship-7/contents+en.lrquestion.description)
+msgid ""
+"That means that ISPs or governments trying to block access to the Tor "
+"network can't simply block all bridges."
+msgstr ""
+"That means that ISPs or governments trying to block access to the Tor "
+"network can't simply block all bridges."
+
+#: http//localhost/censorship/censorship-7/
+#: (content/censorship/censorship-7/contents+en.lrquestion.description)
+msgid ""
+"Bridges are useful for Tor users under oppressive regimes, and for people "
+"who want an extra layer of security because they're worried somebody will "
+"recognize that they are contacting a public Tor relay IP address."
+msgstr ""
+"Bridges are useful for Tor users under oppressive regimes, and for people "
+"who want an extra layer of security because they're worried somebody will "
+"recognize that they are contacting a public Tor relay IP address."
+
+#: http//localhost/censorship/censorship-7/
+#: (content/censorship/censorship-7/contents+en.lrquestion.description)
+msgid ""
+"A bridge is just a normal relay with a slightly different configuration."
+msgstr ""
+"A bridge is just a normal relay with a slightly different configuration."
+
+#: http//localhost/censorship/censorship-7/
+#: (content/censorship/censorship-7/contents+en.lrquestion.description)
+msgid "See (link to How do I run a bridge) for instructions."
+msgstr "See (link to How do I run a bridge) for instructions."
+
+#: http//localhost/censorship/censorship-7/
+#: (content/censorship/censorship-7/contents+en.lrquestion.description)
+msgid ""
+"Several countries, including China and Iran, have found ways to detect and "
+"block connections to Tor bridges."
+msgstr ""
+"Several countries, including China and Iran, have found ways to detect and "
+"block connections to Tor bridges."
+
+#: http//localhost/censorship/censorship-7/
+#: (content/censorship/censorship-7/contents+en.lrquestion.description)
+msgid ""
+"<mark><a "
+"href=\"https://github.com/Yawning/obfs4/blob/master/doc/obfs4-spec.txt\">Obfsproxy</a></mark>"
+" bridges address this by adding another layer of obfuscation."
+msgstr ""
+"<mark><a "
+"href=\"https://github.com/Yawning/obfs4/blob/master/doc/obfs4-spec.txt\">Obfsproxy</a></mark>"
+" bridges address this by adding another layer of obfuscation."
+
+#: http//localhost/censorship/censorship-7/
+#: (content/censorship/censorship-7/contents+en.lrquestion.description)
+msgid ""
+"Setting up an obfsproxy bridge requires an additional software package and "
+"additional configurations."
+msgstr ""
+"Setting up an obfsproxy bridge requires an additional software package and "
+"additional configurations."
+
+#: http//localhost/censorship/censorship-7/
+#: (content/censorship/censorship-7/contents+en.lrquestion.description)
+msgid ""
+"See our page on <mark><a href=\"https://www.torproject.org/docs/pluggable-"
+"transports.html.en\">pluggable transports</a></mark> for more info."
+msgstr ""
+"See our page on <mark><a href=\"https://www.torproject.org/docs/pluggable-"
+"transports.html.en\">pluggable transports</a></mark> for more info."
+
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.title)
+msgid ""
+"When I'm using Tor, can eavesdroppers still see the information I share with"
+" websites, like login information and things I type into forms?"
+msgstr ""
+"When I'm using Tor, can eavesdroppers still see the information I share with"
+" websites, like login information and things I type into forms?"
+
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.description)
+msgid "Tor protects eavesdroppers from learning sites that you visit."
+msgstr "Tor protects eavesdroppers from learning sites that you visit."
+
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.description)
+msgid ""
+"However, information sent unencrypted over the internet using plain HTTP can"
+" still be intercepted by exit relay operators or anyone observing the "
+"traffic between your exit relay and your destination website."
+msgstr ""
+"However, information sent unencrypted over the internet using plain HTTP can"
+" still be intercepted by exit relay operators or anyone observing the "
+"traffic between your exit relay and your destination website."
+
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.description)
+msgid ""
+"If the site you are visiting uses HTTPS, then the traffic leaving your exit "
+"relay will be encrypted, and won't be visible to eavesdroppers."
+msgstr ""
+"If the site you are visiting uses HTTPS, then the traffic leaving your exit "
+"relay will be encrypted, and won't be visible to eavesdroppers."
+
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.description)
+msgid "<div class=\"row\">"
+msgstr "<div class=\"row\">"
+
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.description)
+msgid "<img class=\"card-img-top\" src=\"/static/images/image2.png\" alt=\"https\">"
+msgstr "<img class=\"card-img-top\" src=\"/static/images/image2.png\" alt=\"https\">"
+
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.description)
+msgid ""
+"<h4 class=\"card-title\">If you are using HTTPS, your website URL will begin"
+" with \"https://\".</h4>"
+msgstr ""
+"<h4 class=\"card-title\">If you are using HTTPS, your website URL will begin"
+" with \"https://\".</h4>"
+
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.description)
+msgid "<img class=\"card-img-top\" src=\"/static/images/image6.png\" alt=\"https\">"
+msgstr "<img class=\"card-img-top\" src=\"/static/images/image6.png\" alt=\"https\">"
+
+#: http//localhost/https/https-1/
+#: (content/https/https-1/contents+en.lrquestion.description)
+msgid ""
+"<h4 class=\"card-title\">This visualization shows what information is "
+"visible to eavesdroppers with and without Tor Browser and HTTPS "
+"encryption.</h4>"
+msgstr ""
+"<h4 class=\"card-title\">This visualization shows what information is "
+"visible to eavesdroppers with and without Tor Browser and HTTPS "
+"encryption.</h4>"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.title)
+msgid "How do I run a middle or guard relay on Debian?"
+msgstr "How do I run a middle or guard relay on Debian?"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+msgid ""
+"For the most in-depth resource on running a relay, see the <mark><a "
+"href=\"https://trac.torproject.org/projects/tor/wiki/TorRelayGuide\">Tor "
+"Relay Guide</a></mark>."
+msgstr ""
+"For the most in-depth resource on running a relay, see the <mark><a "
+"href=\"https://trac.torproject.org/projects/tor/wiki/TorRelayGuide\">Tor "
+"Relay Guide</a></mark>."
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+msgid "* Run \"apt-get install tor\" (as root)."
+msgstr "* Run \"apt-get install tor\" (as root)."
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+msgid ""
+"* Make sure your clock, date, and timezone are set correctly. Install the "
+"ntp or openntpd (or similar) package to keep it that way."
+msgstr ""
+"* Make sure your clock, date, and timezone are set correctly. Install the "
+"ntp or openntpd (or similar) package to keep it that way."
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "* Edit /etc/tor/torrc to look like the following:"
+msgstr "* Edit /etc/tor/torrc to look like the following:"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid ""
+"## The IP address or hostname for incoming connections (leave commented and "
+"Tor will guess)"
+msgstr ""
+"## The IP address or hostname for incoming connections (leave commented and "
+"Tor will guess)"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "#Address noname.example.com"
+msgstr "#Address noname.example.com"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "## Set the nickname of this relay"
+msgstr "## Set the nickname of this relay"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "Nickname ididnteditheconfig"
+msgstr "Nickname ididnteditheconfig"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "## Set your own contact info"
+msgstr "## Set your own contact info"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "ContactInfo 0xFFFFFFFF Random Person <nobody AT example dot com>"
+msgstr "ContactInfo 0xFFFFFFFF Random Person <nobody AT example dot com>"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid "## If you control multiple relays, include then in the family"
+msgstr "## If you control multiple relays, include then in the family"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid "#MyFamily $keyid,$keyid,..."
+msgstr "#MyFamily $keyid,$keyid,..."
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "ORPort 9001"
+msgstr "ORPort 9001"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid "DirPort 9030"
+msgstr "DirPort 9030"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid ""
+"## Set your bandwidth rate (leave commented and Tor will run without "
+"bandwidth caps)"
+msgstr ""
+"## Set your bandwidth rate (leave commented and Tor will run without "
+"bandwidth caps)"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "#RelayBandwidthRate 30 MBytes"
+msgstr "#RelayBandwidthRate 30 MBytes"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "#RelayBandwidthBurst 100 MBytes"
+msgstr "#RelayBandwidthBurst 100 MBytes"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid "ExitPolicy reject *:*"
+msgstr "ExitPolicy reject *:*"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+msgid "* Run \"service tor reload\" (as root)"
+msgstr "* Run \"service tor reload\" (as root)"
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid ""
+"* After your relay connects to the network, it will try to determine whether"
+" the ports you configured are reachable from the outside."
+msgstr ""
+"* After your relay connects to the network, it will try to determine whether"
+" the ports you configured are reachable from the outside."
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "This step is usually fast, but it may take a few minutes."
+msgstr "This step is usually fast, but it may take a few minutes."
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+msgid ""
+"Look for a log entry in /var/log/syslog such as \"Self-testing indicates "
+"your ORPort is reachable from the outside. Excellent.\""
+msgstr ""
+"Look for a log entry in /var/log/syslog such as \"Self-testing indicates "
+"your ORPort is reachable from the outside. Excellent.\""
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid ""
+"If you don't see this message, it means that your relay is not reachable "
+"from the outside."
+msgstr ""
+"If you don't see this message, it means that your relay is not reachable "
+"from the outside."
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid ""
+"You should re-check your firewalls, check that the IP and ports you "
+"specified in your torrc are correct, etc."
+msgstr ""
+"You should re-check your firewalls, check that the IP and ports you "
+"specified in your torrc are correct, etc."
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+msgid ""
+"When it confirms that it's reachable, it will upload a \"server descriptor\""
+" to the directory authorities to let clients know what address, ports, keys,"
+" etc your relay is using."
+msgstr ""
+"When it confirms that it's reachable, it will upload a \"server descriptor\""
+" to the directory authorities to let clients know what address, ports, keys,"
+" etc your relay is using."
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid ""
+"After a few hours (to give it enough time to propagate), you can query Atlas"
+" to see whether your relay has successfully registered in the network."
+msgstr ""
+"After a few hours (to give it enough time to propagate), you can query Atlas"
+" to see whether your relay has successfully registered in the network."
+
+#: http//localhost/operators/operators-1/
+#: (content/operators/operators-1/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid "If it hasn't, re-check firewalls, IP and ports again."
+msgstr "If it hasn't, re-check firewalls, IP and ports again."
+
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.title)
+msgid "How do I run an exit relay on Debian?"
+msgstr "How do I run an exit relay on Debian?"
+
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+msgid ""
+"* Review our <mark><a "
+"href=\"https://trac.torproject.org/projects/tor/wiki/doc/TorExitGuidelines\">Exit"
+" relay guidelines</a></mark>"
+msgstr ""
+"* Review our <mark><a "
+"href=\"https://trac.torproject.org/projects/tor/wiki/doc/TorExitGuidelines\">Exit"
+" relay guidelines</a></mark>"
+
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+msgid ""
+"Look for a log entry in your /var/log/syslog such as \"Self-testing "
+"indicates your ORPort is reachable from the outside. Excellent.\""
+msgstr ""
+"Look for a log entry in your /var/log/syslog such as \"Self-testing "
+"indicates your ORPort is reachable from the outside. Excellent.\""
+
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid ""
+"* When it confirms that it's reachable, it will upload a \"server "
+"descriptor\" to the directory authorities to let clients know what address, "
+"ports, keys, etc your relay is using."
+msgstr ""
+"* When it confirms that it's reachable, it will upload a \"server "
+"descriptor\" to the directory authorities to let clients know what address, "
+"ports, keys, etc your relay is using."
+
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+msgid ""
+"After a few hours (to give it enough time to propagate), you can query "
+"<mark><a href=\"https://atlas.torproject.org/\">Atlas</a></mark> to see "
+"whether your relay has successfully registered in the network."
+msgstr ""
+"After a few hours (to give it enough time to propagate), you can query "
+"<mark><a href=\"https://atlas.torproject.org/\">Atlas</a></mark> to see "
+"whether your relay has successfully registered in the network."
+
+#: http//localhost/operators/operators-2/
+#: (content/operators/operators-2/contents+en.lrquestion.description)
+msgid ""
+"Consider if you'd like to switch to the <mark><a "
+"href=\"https://trac.torproject.org/projects/tor/wiki/doc/ReducedExitPolicy\">Reduced"
+" exit policy</a></mark>."
+msgstr ""
+"Consider if you'd like to switch to the <mark><a "
+"href=\"https://trac.torproject.org/projects/tor/wiki/doc/ReducedExitPolicy\">Reduced"
+" exit policy</a></mark>."
+
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.title)
+msgid "How do I run a middle or guard relay on FreeBSD or HardenedBSD?"
+msgstr "How do I run a middle or guard relay on FreeBSD or HardenedBSD?"
+
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid ""
+"For the most in-depth resource on running a relay, see the <mark><a "
+"href=\"https://trac.torproject.org/projects/tor/wiki/TorRelayGuide\">Tor "
+"Relay Guide</a>."
+msgstr ""
+"For the most in-depth resource on running a relay, see the <mark><a "
+"href=\"https://trac.torproject.org/projects/tor/wiki/TorRelayGuide\">Tor "
+"Relay Guide</a>."
+
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid "* Run \"pkg install tor\" (as root)."
+msgstr "* Run \"pkg install tor\" (as root)."
+
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "* Make sure your clock, date, and timezone are set correctly."
+msgstr "* Make sure your clock, date, and timezone are set correctly."
+
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid "Enabling ntpd is suggested."
+msgstr "Enabling ntpd is suggested."
+
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid "* Edit /usr/local/etc/tor/torrc to look like the following:"
+msgstr "* Edit /usr/local/etc/tor/torrc to look like the following:"
+
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid "RunAsDaemon 1"
+msgstr "RunAsDaemon 1"
+
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid "Log notice file /var/log/tor/notices.log"
+msgstr "Log notice file /var/log/tor/notices.log"
+
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid ""
+"* Make sure tor starts on boot by running \"sysrc tor_enable=YES\" (as root)"
+msgstr ""
+"* Make sure tor starts on boot by running \"sysrc tor_enable=YES\" (as root)"
+
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid "* Run \"service tor start\" (as root)"
+msgstr "* Run \"service tor start\" (as root)"
+
+#: http//localhost/operators/operators-3/
+#: (content/operators/operators-3/contents+en.lrquestion.description)
+msgid ""
+"Look for a log entry in /var/log/tor/notices.log such as \"Self-testing "
+"indicates your ORPort is reachable from the outside. Excellent.\""
+msgstr ""
+"Look for a log entry in /var/log/tor/notices.log such as \"Self-testing "
+"indicates your ORPort is reachable from the outside. Excellent.\""
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.title)
+msgid "How do I make sure that I'm using the correct packages on Ubuntu?"
+msgstr "How do I make sure that I'm using the correct packages on Ubuntu?"
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.description)
+msgid ""
+"* Do not use the packages in Ubuntu's repositories. They are not reliably "
+"updated. If you use them, you will miss important stability and security "
+"fixes."
+msgstr ""
+"* Do not use the packages in Ubuntu's repositories. They are not reliably "
+"updated. If you use them, you will miss important stability and security "
+"fixes."
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.description)
+msgid "* Determine your Ubuntu version by running the following command:"
+msgstr "* Determine your Ubuntu version by running the following command:"
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.description)
+msgid "$ sb_release -c"
+msgstr "$ sb_release -c"
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.description)
+msgid ""
+"* As root, add the following lines to /etc/apt/sources.list. Use the version"
+" you found in the previous step for <version>."
+msgstr ""
+"* As root, add the following lines to /etc/apt/sources.list. Use the version"
+" you found in the previous step for <version>."
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.description)
+msgid "$ deb http://deb.torproject.org/torproject.org <version> main"
+msgstr "$ deb http://deb.torproject.org/torproject.org <version> main"
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.description)
+msgid "$ deb-src http://deb.torproject.org/torproject.org <version> main"
+msgstr "$ deb-src http://deb.torproject.org/torproject.org <version> main"
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.description)
+msgid ""
+"* Add the gpg key used to sign the packages by running the following "
+"commands:"
+msgstr ""
+"* Add the gpg key used to sign the packages by running the following "
+"commands:"
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.description)
+msgid ""
+"$ gpg --keyserver keys.gnupg.net --recv "
+"A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89"
+msgstr ""
+"$ gpg --keyserver keys.gnupg.net --recv "
+"A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89"
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.description)
+msgid ""
+"$ gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -"
+msgstr ""
+"$ gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -"
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.description)
+msgid "* Run the following commands to install tor and check its signatures:"
+msgstr "* Run the following commands to install tor and check its signatures:"
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.description)
+msgid "$ sudo apt-get update"
+msgstr "$ sudo apt-get update"
+
+#: http//localhost/operators/operators-4/
+#: (content/operators/operators-4/contents+en.lrquestion.description)
+msgid "$ sudo apt-get install tor deb.torproject.org-keyring"
+msgstr "$ sudo apt-get install tor deb.torproject.org-keyring"
+
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.title)
+msgid "How do I run a obfs4 bridge on Debian?"
+msgstr "How do I run a obfs4 bridge on Debian?"
+
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "* Run \"apt-get install tor obfs4proxy\" (as root)."
+msgstr "* Run \"apt-get install tor obfs4proxy\" (as root)."
+
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "Install the ntp or openntpd (or similar) package to keep it that way."
+msgstr "Install the ntp or openntpd (or similar) package to keep it that way."
+
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "BridgeRelay 1"
+msgstr "BridgeRelay 1"
+
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy"
+msgstr "ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy"
+
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "ExtORPort auto"
+msgstr "ExtORPort auto"
+
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "## Set your bandwidth rate (leave commented and Tor will run without"
+msgstr "## Set your bandwidth rate (leave commented and Tor will run without"
+
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "bandwidth caps)"
+msgstr "bandwidth caps)"
+
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid "* Run \"service tor reload\" (as root)."
+msgstr "* Run \"service tor reload\" (as root)."
+
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid ""
+"* Look for a log entry in /var/log/syslog such as \"Self-testing indicates "
+"your ORPort is reachable from the outside. Excellent.\""
+msgstr ""
+"* Look for a log entry in /var/log/syslog such as \"Self-testing indicates "
+"your ORPort is reachable from the outside. Excellent.\""
+
+#: http//localhost/operators/operators-6/
+#: (content/operators/operators-6/contents+en.lrquestion.description)
+msgid ""
+"* You should also see the message \"Registered server transport 'obfs4'\" "
+"indicating that obfs4proxy is functional."
+msgstr ""
+"* You should also see the message \"Registered server transport 'obfs4'\" "
+"indicating that obfs4proxy is functional."
+
+#: http//localhost/operators/operators-7/
+#: (content/operators/operators-7/contents+en.lrquestion.title)
+msgid "Should I run an exit relay from home?"
+msgstr "Should I run an exit relay from home?"
+
+#: http//localhost/operators/operators-7/
+#: (content/operators/operators-7/contents+en.lrquestion.description)
+msgid "No."
+msgstr "No."
+
+#: http//localhost/operators/operators-7/
+#: (content/operators/operators-7/contents+en.lrquestion.description)
+msgid ""
+"If law enforcement becomes interested in traffic from your exit relay, it's "
+"possible that officers will seize your computer."
+msgstr ""
+"If law enforcement becomes interested in traffic from your exit relay, it's "
+"possible that officers will seize your computer."
+
+#: http//localhost/operators/operators-7/
+#: (content/operators/operators-7/contents+en.lrquestion.description)
+msgid ""
+"For that reason, it's best not to run your exit relay in your home or using "
+"your home internet connection."
+msgstr ""
+"For that reason, it's best not to run your exit relay in your home or using "
+"your home internet connection."
+
+#: http//localhost/operators/operators-7/
+#: (content/operators/operators-7/contents+en.lrquestion.description)
+msgid ""
+"Instead, consider running your exit relay in a commercial facility that is "
+"supportive of Tor."
+msgstr ""
+"Instead, consider running your exit relay in a commercial facility that is "
+"supportive of Tor."
+
+#: http//localhost/operators/operators-7/
+#: (content/operators/operators-7/contents+en.lrquestion.description)
+msgid ""
+"Have a separate IP address for your exit relay, and don't route your own "
+"traffic through it."
+msgstr ""
+"Have a separate IP address for your exit relay, and don't route your own "
+"traffic through it."
+
+#: http//localhost/operators/operators-7/
+#: (content/operators/operators-7/contents+en.lrquestion.description)
+msgid ""
+"Of course, you should avoid keeping any sensitive or personal information on"
+" the computer hosting your exit relay."
+msgstr ""
+"Of course, you should avoid keeping any sensitive or personal information on"
+" the computer hosting your exit relay."
+
+#: http//localhost/onionservices/onionservices-1/
+#: (content/onionservices/onionservices-1/contents+en.lrquestion.title)
+msgid ""
+"I've heard about websites that are only accessible over Tor. What are these "
+"websites, and how can I access them?"
+msgstr ""
+"I've heard about websites that are only accessible over Tor. What are these "
+"websites, and how can I access them?"
+
+#: http//localhost/onionservices/onionservices-1/
+#: (content/onionservices/onionservices-1/contents+en.lrquestion.description)
+msgid ""
+"Websites that are only accessible over Tor are called \"onions\" and end in "
+"the TLD .onion."
+msgstr ""
+"Websites that are only accessible over Tor are called \"onions\" and end in "
+"the TLD .onion."
+
+#: http//localhost/onionservices/onionservices-1/
+#: (content/onionservices/onionservices-1/contents+en.lrquestion.description)
+msgid ""
+"For example, the DuckDuckGo onion is <a "
+"href=\"http://3g2upl4pq6kufc4m.onion\">https://3g2upl4pq6kufc4m.onion</a>."
+msgstr ""
+"For example, the DuckDuckGo onion is <a "
+"href=\"http://3g2upl4pq6kufc4m.onion\">https://3g2upl4pq6kufc4m.onion</a>."
+
+#: http//localhost/onionservices/onionservices-1/
+#: (content/onionservices/onionservices-1/contents+en.lrquestion.description)
+msgid "You can access these websites by using Tor Browser."
+msgstr "You can access these websites by using Tor Browser."
+
+#: http//localhost/onionservices/onionservices-1/
+#: (content/onionservices/onionservices-1/contents+en.lrquestion.description)
+msgid ""
+"The addresses must be shared with you by the website host, as onions are not"
+" indexed in search engines in the typical way that vanilla websites are."
+msgstr ""
+"The addresses must be shared with you by the website host, as onions are not"
+" indexed in search engines in the typical way that vanilla websites are."
+
+#: http//localhost/onionservices/onionservices-2/
+#: (content/onionservices/onionservices-2/contents+en.lrquestion.title)
+msgid "What is a .onion or what are onion services?"
+msgstr "What is a .onion or what are onion services?"
+
+#: http//localhost/onionservices/onionservices-2/
+#: (content/onionservices/onionservices-2/contents+en.lrquestion.description)
+msgid ""
+"Onion services allow people to browse but also to publish anonymously, "
+"including publishing anonymous websites."
+msgstr ""
+"Onion services allow people to browse but also to publish anonymously, "
+"including publishing anonymous websites."
+
+#: http//localhost/onionservices/onionservices-2/
+#: (content/onionservices/onionservices-2/contents+en.lrquestion.description)
+msgid ""
+"Onion services are also relied on for metadata-free chat and file sharing, "
+"safer interaction between journalists and their sources like with SecureDrop"
+" or OnionShare, safer software updates, and more secure ways to reach "
+"popular websites like Facebook."
+msgstr ""
+"Onion services are also relied on for metadata-free chat and file sharing, "
+"safer interaction between journalists and their sources like with SecureDrop"
+" or OnionShare, safer software updates, and more secure ways to reach "
+"popular websites like Facebook."
+
+#: http//localhost/onionservices/onionservices-2/
+#: (content/onionservices/onionservices-2/contents+en.lrquestion.description)
+msgid ""
+"These services use the special-use tld .onion (instead of "
+".com,.net,.org,etc..) and are only accessible through the Tor network."
+msgstr ""
+"These services use the special-use tld .onion (instead of "
+".com,.net,.org,etc..) and are only accessible through the Tor network."
+
+#: http//localhost/onionservices/onionservices-3/
+#: (content/onionservices/onionservices-3/contents+en.lrquestion.description)
+msgid ""
+"You can also ensure that you're able to access other onion services by "
+"connecting to <a href=\"http://3g2upl4pq6kufc4m.onion\">DuckDuckGo's onion "
+"service</a>."
+msgstr ""
+"You can also ensure that you're able to access other onion services by "
+"connecting to <a href=\"http://3g2upl4pq6kufc4m.onion\">DuckDuckGo's onion "
+"service</a>."
+
+#: http//localhost/misc/misc-1/
+#: (content/misc/misc-1/contents+en.lrquestion.title)
+msgid "I have a compelling reason to trace a Tor user. Can you help?"
+msgstr "I have a compelling reason to trace a Tor user. Can you help?"
+
+#: http//localhost/misc/misc-1/
+#: (content/misc/misc-1/contents+en.lrquestion.description)
+msgid "There is nothing the Tor developers can do to trace Tor users."
+msgstr "There is nothing the Tor developers can do to trace Tor users."
+
+#: http//localhost/misc/misc-1/
+#: (content/misc/misc-1/contents+en.lrquestion.description)
+msgid ""
+"The same protections that keep bad people from breaking Tor's anonymity also"
+" prevent us from tracking users."
+msgstr ""
+"The same protections that keep bad people from breaking Tor's anonymity also"
+" prevent us from tracking users."
+
+#: http//localhost/misc/misc-10/
+#: (content/misc/misc-10/contents+en.lrquestion.title)
+msgid "Does the Tor Project offer hosting?"
+msgstr "Does the Tor Project offer hosting?"
+
+#: http//localhost/misc/misc-10/
+#: (content/misc/misc-10/contents+en.lrquestion.description)
+msgid "No, the Tor Project does not offer hosting services."
+msgstr "No, the Tor Project does not offer hosting services."
+
+#: http//localhost/misc/misc-11/
+#: (content/misc/misc-11/contents+en.lrquestion.title)
+msgid "Can I change the number of hops Tor uses?"
+msgstr "Can I change the number of hops Tor uses?"
+
+#: http//localhost/misc/misc-11/
+#: (content/misc/misc-11/contents+en.lrquestion.description)
+msgid ""
+"Right now the path length is hard-coded at 3 plus the number of nodes in "
+"your path that are sensitive."
+msgstr ""
+"Right now the path length is hard-coded at 3 plus the number of nodes in "
+"your path that are sensitive."
+
+#: http//localhost/misc/misc-11/
+#: (content/misc/misc-11/contents+en.lrquestion.description)
+msgid ""
+"That is, in normal cases it's 3, but for example if you're accessing an "
+"onion service or a \".exit\" address it could be more."
+msgstr ""
+"That is, in normal cases it's 3, but for example if you're accessing an "
+"onion service or a \".exit\" address it could be more."
+
+#: http//localhost/misc/misc-11/
+#: (content/misc/misc-11/contents+en.lrquestion.description)
+msgid ""
+"We don't want to encourage people to use paths longer than this as it "
+"increases load on the network without (as far as we can tell) providing any "
+"more security."
+msgstr ""
+"We don't want to encourage people to use paths longer than this as it "
+"increases load on the network without (as far as we can tell) providing any "
+"more security."
+
+#: http//localhost/misc/misc-11/
+#: (content/misc/misc-11/contents+en.lrquestion.description)
+msgid ""
+"Also, using paths longer than 3 could harm anonymity, first because it "
+"makes<mark><a href=\"https://www.freehaven.net/anonbib/#ccs07-doa\">denial "
+"of security</a></mark> attacks easier, and second because it could act as an"
+" identifier if only a small number of users have the same path length as "
+"you."
+msgstr ""
+"Also, using paths longer than 3 could harm anonymity, first because it "
+"makes<mark><a href=\"https://www.freehaven.net/anonbib/#ccs07-doa\">denial "
+"of security</a></mark> attacks easier, and second because it could act as an"
+" identifier if only a small number of users have the same path length as "
+"you."
+
+#: http//localhost/misc/misc-12/
+#: (content/misc/misc-12/contents+en.lrquestion.title)
+msgid "How can I share files anonymously through Tor?"
+msgstr "How can I share files anonymously through Tor?"
+
+#: http//localhost/misc/misc-12/
+#: (content/misc/misc-12/contents+en.lrquestion.description)
+msgid ""
+"Many exit nodes are configured to block certain types of file sharing "
+"traffic, such as bittorrent."
+msgstr ""
+"Many exit nodes are configured to block certain types of file sharing "
+"traffic, such as bittorrent."
+
+#: http//localhost/misc/misc-12/
+#: (content/misc/misc-12/contents+en.lrquestion.description)
+msgid ""
+"Bittorrent in specific is <mark><a href=\"https://blog.torproject.org"
+"/bittorrent-over-tor-isnt-good-idea\">not anonymous over Tor</a></mark>."
+msgstr ""
+"Bittorrent in specific is <mark><a href=\"https://blog.torproject.org"
+"/bittorrent-over-tor-isnt-good-idea\">not anonymous over Tor</a></mark>."
+
+#: http//localhost/misc/misc-12/
+#: (content/misc/misc-12/contents+en.lrquestion.description)
+msgid ""
+"For sharing files through Tor, <mark><a "
+"href=\"https://onionshare.org/\">OnionShare</a></mark> is a good option."
+msgstr ""
+"For sharing files through Tor, <mark><a "
+"href=\"https://onionshare.org/\">OnionShare</a></mark> is a good option."
+
+#: http//localhost/misc/misc-14/
+#: (content/misc/misc-14/contents+en.lrquestion.title)
+msgid "How do I volunteer with Tor Project?"
+msgstr "How do I volunteer with Tor Project?"
+
+#: http//localhost/misc/misc-14/
+#: (content/misc/misc-14/contents+en.lrquestion.description)
+msgid ""
+"Please see our <mark><a "
+"href=\"https://www.torproject.org/getinvolved/volunteer.html.en\">volunteer "
+"page</a></mark> for how to get involved!"
+msgstr ""
+"Please see our <mark><a "
+"href=\"https://www.torproject.org/getinvolved/volunteer.html.en\">volunteer "
+"page</a></mark> for how to get involved!"
+
+#: http//localhost/misc/misc-15/
+#: (content/misc/misc-15/contents+en.lrquestion.title)
+msgid "How can I donate to Tor Project?"
+msgstr "How can I donate to Tor Project?"
+
+#: http//localhost/misc/misc-15/
+#: (content/misc/misc-15/contents+en.lrquestion.description)
+msgid "Thank you for your support!"
+msgstr "Thank you for your support!"
+
+#: http//localhost/misc/misc-15/
+#: (content/misc/misc-15/contents+en.lrquestion.description)
+msgid ""
+"You can find more information about donating on our <mark><a "
+"href=\"https://donate.torproject.org/donor-faq\">donor FAQ</a></mark>."
+msgstr ""
+"You can find more information about donating on our <mark><a "
+"href=\"https://donate.torproject.org/donor-faq\">donor FAQ</a></mark>."
+
+#: http//localhost/misc/misc-2/
+#: (content/misc/misc-2/contents+en.lrquestion.title)
+msgid "Why don't you prevent bad people from doing bad things when using Tor?"
+msgstr ""
+"Why don't you prevent bad people from doing bad things when using Tor?"
+
+#: http//localhost/misc/misc-2/
+#: (content/misc/misc-2/contents+en.lrquestion.description)
+msgid ""
+"Tor is designed to defend human rights and privacy by preventing anyone from"
+" censoring things, even us."
+msgstr ""
+"Tor is designed to defend human rights and privacy by preventing anyone from"
+" censoring things, even us."
+
+#: http//localhost/misc/misc-2/
+#: (content/misc/misc-2/contents+en.lrquestion.description)
+msgid ""
+"We hate that there are some people who use Tor to do terrible things, but we"
+" can't do anything to get rid of them without also undermining the human "
+"rights activists, journalists, abuse survivors, and other people who use Tor"
+" for good things."
+msgstr ""
+"We hate that there are some people who use Tor to do terrible things, but we"
+" can't do anything to get rid of them without also undermining the human "
+"rights activists, journalists, abuse survivors, and other people who use Tor"
+" for good things."
+
+#: http//localhost/misc/misc-2/
+#: (content/misc/misc-2/contents+en.lrquestion.description)
+msgid ""
+"If we wanted to block certain people from using Tor, we'd basically be "
+"adding a backdoor to the software, which would open up our vulnerable users "
+"to attacks from bad regimes and other adversaries."
+msgstr ""
+"If we wanted to block certain people from using Tor, we'd basically be "
+"adding a backdoor to the software, which would open up our vulnerable users "
+"to attacks from bad regimes and other adversaries."
+
+#: http//localhost/misc/misc-3/
+#: (content/misc/misc-3/contents+en.lrquestion.title)
+msgid "Who funds Tor?"
+msgstr "Who funds Tor?"
+
+#: http//localhost/misc/misc-3/
+#: (content/misc/misc-3/contents+en.lrquestion.description)
+msgid ""
+"Tor is funded by a number of different sponsors including US federal "
+"agencies, private foundations, and individual donors."
+msgstr ""
+"Tor is funded by a number of different sponsors including US federal "
+"agencies, private foundations, and individual donors."
+
+#: http//localhost/misc/misc-3/
+#: (content/misc/misc-3/contents+en.lrquestion.description)
+msgid ""
+"Check out a list of all <mark><a "
+"href=\"https://www.torproject.org/about/sponsors.html.en\">our "
+"sponsors</a></mark> and a series of <mark><a "
+"href=\"https://blog.torproject.org/category/tags/form-990\">blog "
+"posts</a></mark> on our financial reports."
+msgstr ""
+"Check out a list of all <mark><a "
+"href=\"https://www.torproject.org/about/sponsors.html.en\">our "
+"sponsors</a></mark> and a series of <mark><a "
+"href=\"https://blog.torproject.org/category/tags/form-990\">blog "
+"posts</a></mark> on our financial reports."
+
+#: http//localhost/misc/misc-3/
+#: (content/misc/misc-3/contents+en.lrquestion.description)
+msgid ""
+"We feel that talking openly about our funders and funding model is the best "
+"way to maintain trust with our community."
+msgstr ""
+"We feel that talking openly about our funders and funding model is the best "
+"way to maintain trust with our community."
+
+#: http//localhost/misc/misc-3/
+#: (content/misc/misc-3/contents+en.lrquestion.description)
+msgid ""
+"We are always seeking more diversity in our funding sources, especially from"
+" foundations and individuals."
+msgstr ""
+"We are always seeking more diversity in our funding sources, especially from"
+" foundations and individuals."
+
+#: http//localhost/misc/misc-4/
+#: (content/misc/misc-4/contents+en.lrquestion.title)
+msgid "Can I use Tor with bittorrent?"
+msgstr "Can I use Tor with bittorrent?"
+
+#: http//localhost/misc/misc-4/
+#: (content/misc/misc-4/contents+en.lrquestion.description)
+msgid "We do not recommend using Tor with bittorrent."
+msgstr "We do not recommend using Tor with bittorrent."
+
+#: http//localhost/misc/misc-4/
+#: (content/misc/misc-4/contents+en.lrquestion.description)
+msgid ""
+"For further details, please see our <mark><a "
+"href=\"https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea\">blog"
+" post on the subject</a></mark>."
+msgstr ""
+"For further details, please see our <mark><a "
+"href=\"https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea\">blog"
+" post on the subject</a></mark>."
+
+#: http//localhost/misc/misc-5/
+#: (content/misc/misc-5/contents+en.lrquestion.title)
+msgid ""
+"The files on my computer have been locked, and someone is demanding I "
+"download Tor Browser to pay a ransom for my files!"
+msgstr ""
+"The files on my computer have been locked, and someone is demanding I "
+"download Tor Browser to pay a ransom for my files!"
+
+#: http//localhost/misc/misc-5/
+#: (content/misc/misc-5/contents+en.lrquestion.description)
+msgid "We are so sorry, but you have been infected with malware."
+msgstr "We are so sorry, but you have been infected with malware."
+
+#: http//localhost/misc/misc-5/
+#: (content/misc/misc-5/contents+en.lrquestion.description)
+msgid ""
+"The Tor Project did not create this malware. The malware authors are asking "
+"you to download Tor Browser presumably to contact them anonymously with the "
+"ransom they're demanding from you."
+msgstr ""
+"The Tor Project did not create this malware. The malware authors are asking "
+"you to download Tor Browser presumably to contact them anonymously with the "
+"ransom they're demanding from you."
+
+#: http//localhost/misc/misc-5/
+#: (content/misc/misc-5/contents+en.lrquestion.description)
+msgid ""
+"If this is your first introduction to Tor Browser, we understand that you "
+"might think we're bad people who enable even worse people."
+msgstr ""
+"If this is your first introduction to Tor Browser, we understand that you "
+"might think we're bad people who enable even worse people."
+
+#: http//localhost/misc/misc-5/
+#: (content/misc/misc-5/contents+en.lrquestion.description)
+msgid ""
+"But please consider that our software is used every day for a wide variety "
+"of purposes by human rights activists, journalists, domestic violence "
+"survivors, whistleblowers, law enforcement officers, and many others. "
+"Unfortunately, the protection that our software can provide to these groups "
+"of people can also be abused by criminals and malware authors."
+msgstr ""
+"But please consider that our software is used every day for a wide variety "
+"of purposes by human rights activists, journalists, domestic violence "
+"survivors, whistleblowers, law enforcement officers, and many others. "
+"Unfortunately, the protection that our software can provide to these groups "
+"of people can also be abused by criminals and malware authors."
+
+#: http//localhost/misc/misc-5/
+#: (content/misc/misc-5/contents+en.lrquestion.description)
+msgid ""
+"The Tor Project does not support or condone the use of our software for "
+"malicious purposes."
+msgstr ""
+"The Tor Project does not support or condone the use of our software for "
+"malicious purposes."
+
+#: http//localhost/misc/misc-6/
+#: (content/misc/misc-6/contents+en.lrquestion.title)
+msgid "Does Tor keep logs?"
+msgstr "Does Tor keep logs?"
+
+#: http//localhost/misc/misc-6/
+#: (content/misc/misc-6/contents+en.lrquestion.description)
+msgid "Tor doesn't keep any logs that could identify a particular user."
+msgstr "Tor doesn't keep any logs that could identify a particular user."
+
+#: http//localhost/misc/misc-6/
+#: (content/misc/misc-6/contents+en.lrquestion.description)
+msgid ""
+"We do take some safe measurements of how the network functions, which you "
+"can check out at <mark><a href=\"https://metrics.torproject.org/\">Tor "
+"Metrics</a></mark>."
+msgstr ""
+"We do take some safe measurements of how the network functions, which you "
+"can check out at <mark><a href=\"https://metrics.torproject.org/\">Tor "
+"Metrics</a></mark>."
+
+#: http//localhost/misc/misc-7/
+#: (content/misc/misc-7/contents+en.lrquestion.title)
+msgid ""
+"Does Tor Project offer email service or other privacy protecting web "
+"services?"
+msgstr ""
+"Does Tor Project offer email service or other privacy protecting web "
+"services?"
+
+#: http//localhost/misc/misc-7/
+#: (content/misc/misc-7/contents+en.lrquestion.description)
+msgid "No, we don't provide any online services."
+msgstr "No, we don't provide any online services."
+
+#: http//localhost/misc/misc-7/
+#: (content/misc/misc-7/contents+en.lrquestion.description)
+msgid ""
+"A list of all of our software projects can be found on our <mark><a "
+"href=\"https://www.torproject.org/projects/projects.html.en\">projects "
+"page</a></mark>."
+msgstr ""
+"A list of all of our software projects can be found on our <mark><a "
+"href=\"https://www.torproject.org/projects/projects.html.en\">projects "
+"page</a></mark>."
+
+#: http//localhost/misc/misc-8/
+#: (content/misc/misc-8/contents+en.lrquestion.title)
+msgid "Can I use the Tor logo in my product?"
+msgstr "Can I use the Tor logo in my product?"
+
+#: http//localhost/misc/misc-8/
+#: (content/misc/misc-8/contents+en.lrquestion.description)
+msgid ""
+"You can read all about that on our <mark><a "
+"href=\"https://www.torproject.org/docs/trademark-faq.html\">Trademark faq "
+"page</a></mark>."
+msgstr ""
+"You can read all about that on our <mark><a "
+"href=\"https://www.torproject.org/docs/trademark-faq.html\">Trademark faq "
+"page</a></mark>."
+
+#: http//localhost/misc/misc-9/
+#: (content/misc/misc-9/contents+en.lrquestion.title)
+msgid "I'm having a problem updating or using Vidalia."
+msgstr "I'm having a problem updating or using Vidalia."
+
+#: http//localhost/misc/misc-9/
+#: (content/misc/misc-9/contents+en.lrquestion.description)
+msgid "Vidalia is no longer maintained or supported."
+msgstr "Vidalia is no longer maintained or supported."
+
+#: http//localhost/misc/misc-9/
+#: (content/misc/misc-9/contents+en.lrquestion.description)
+msgid ""
+"A large portion of the features Vidalia offered have now been integrated "
+"into Tor Browser itself."
+msgstr ""
+"A large portion of the features Vidalia offered have now been integrated "
+"into Tor Browser itself."
+
+#: templates/footer.html:32
+msgid ""
+"Trademark, copyright notices, and rules for use by third parties can be "
+"found in our <a href=\"https://www.torproject.org/docs/trademark-faq\" "
+"target=\"_blank\" class=\"text-primary-light\"><u>FAQ</u></a>."
+msgstr ""
+"Trademark, copyright notices, and rules for use by third parties can be "
+"found in our <a href=\"https://www.torproject.org/docs/trademark-faq\" "
+"target=\"_blank\" class=\"text-primary-light\"><u>FAQ</u></a>."
+
+#: templates/layout.html:7
+msgid "Tor Project | Support"
+msgstr "Tor Project | Support"
+
+#: templates/navbar.html:4
+msgid "Tor Logo"
+msgstr "Tor Logo"
+
+#: templates/navbar.html:40
+msgid "Download Tor Browser"
+msgstr "Download Tor Browser"
+
+#: templates/search.html:5
+msgid "Search"
+msgstr "Search"
+
+#: templates/macros/question.html:11
+msgid "Permalink"
+msgstr "Permalink"
1
0

18 Jul '18
commit d0ba667ac5489adb9452285253d1145a0e104304
Author: emma peel <emmapeel(a)aktivix.org>
Date: Wed Jul 18 09:53:22 2018 +0000
add general support component
---
config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config b/config
index 5d14fea..91fedc7 100644
--- a/config
+++ b/config
@@ -31,7 +31,7 @@ exoneratorproperties_completed tor-browser-manual
tor-browser-manual_completed support-censorship support-censorship_completed
support-connecting support-connecting_completed support-faq support-faq_completed
support-gettor support-gettor_completed support-https support-https_completed
-support-miscellaneous support-miscellaneous_completed support-tbb support-tbb_completed
+support-miscellaneous support-miscellaneous_completed support-tbb support-tbb_completed support-portal support-portal_completed
support-topics support-topics_completed support-tormobile support-tormobile_completed"
PIDFILE=/srv/translation.torproject.org/run/update_translations.pid
1
0
commit 159d733b6c1f78272540abc86db2357ffca20e84
Author: Damian Johnson <atagar(a)torproject.org>
Date: Tue Jul 17 15:58:00 2018 -0700
Add Sarah to the people page
---
about/en/corepeople.wml | 40 ++++++++++++++++++++++++----------------
images/people/sstevenson.png | Bin 0 -> 39263 bytes
2 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/about/en/corepeople.wml b/about/en/corepeople.wml
index 88d57876..147f15b5 100644
--- a/about/en/corepeople.wml
+++ b/about/en/corepeople.wml
@@ -756,15 +756,23 @@
</td>
<td>
+ <a id="sstevenson"></a>
+ <div class="photo"><img src="$(IMGROOT)/people/sstevenson.png" alt="sstevenson" /></div>
+ <div class="name"><a href="#sstevenson">Sarah Stevenson</a></div>
+ <div class="field"><b>Pronoun:</b> <a href="http://pronoun.is/she">she</a></div>
+ <div class="description">Directs and coordinates all fundraising activities.</div>
+ </td>
+ </tr>
+
+ <tr>
+ <td>
<a id="sebastian"></a>
<div class="photo"><img src="$(IMGROOT)/people/no_photo.png" alt="no photo" /></div>
<div class="icon"><a href="https://db.torproject.org/fetchkey.cgi?fingerprint=261C5FBE77285F88FB0C3432…"><img src="$(IMGROOT)/pgp-key.png" alt="pgp key" /></a></div>
<div class="name"><a href="#sebastian">Sebastian Hahn</a></div>
<div class="description">Helps people around the world use and understand Tor better. Generally helps everything run smoothly. Runs one of the directory authorities.</div>
</td>
- </tr>
- <tr>
<td>
<a id="sisbell"></a>
<div class="photo"><img src="$(IMGROOT)/people/no_photo.png" alt="no photo" /></div>
@@ -774,7 +782,9 @@
<div class="field"><b>Pronoun:</b> <a href="http://pronoun.is/he">he</a></div>
<div class="description">Works on Tor Browser for Android.</div>
</td>
+ </tr>
+ <tr>
<td>
<a id="ssteele"></a>
<div class="photo"><img src="$(IMGROOT)/people/ssteele.png" alt="ssteele" /></div>
@@ -785,9 +795,7 @@
<div class="field"><b>Pronoun:</b> <a href="http://pronoun.is/she">she</a></div>
<div class="description">Executive Director of the Tor Project, Inc.</div>
</td>
- </tr>
- <tr>
<td>
<a id="hiro"></a>
<div class="photo"><img src="$(IMGROOT)/people/hiro.png" alt="hiro" /></div>
@@ -797,7 +805,9 @@
<div class="field"><b>IRC:</b> hiro</div>
<div class="description">Hiro builds and runs Tor Project's web applications and services.</div>
</td>
+ </tr>
+ <tr>
<td>
<a id="inf0"></a>
<div class="photo"><img src="$(IMGROOT)/people/inf0.png" alt="inf0" /></div>
@@ -807,9 +817,7 @@
<div class="field"><b>IRC:</b> inf0</div>
<div class="description">Directory authority operator, outreach and trains human rights activists. System's Engineer at Team Cymru and co-Founder of accessnow.org.</div>
</td>
- </tr>
- <tr>
<td>
<a id="stephw"></a>
<div class="photo"><img src="$(IMGROOT)/people/stephw.png" alt="stephw" /></div>
@@ -820,7 +828,9 @@
<div class="field"><b>Pronoun:</b> <a href="http://pronoun.is/she">she</a></div>
<div class="description">Directs communications.</div>
</td>
+ </tr>
+ <tr>
<td>
<a id="sjmurdoch"></a>
<div class="photo"><img src="$(IMGROOT)/people/sjmurdoch.png" alt="sjmurdoch" /></div>
@@ -830,9 +840,7 @@
<div class="field"><b>Pronoun:</b> <a href="http://pronoun.is/he">he</a></div>
<div class="description"><a href=""http://murdoch.is/"">Principal Research Fellow</a> at University College London. He is the original creator of the <a href=""https://www.torproject.org/projects/torbrowser.html.en"">Tor Browser</a>.</div>
</td>
- </tr>
- <tr>
<td>
<a id="sukhe"></a>
<div class="photo"><img src="$(IMGROOT)/people/no_photo.png" alt="no photo" /></div>
@@ -841,7 +849,9 @@
<div class="field"><b>IRC:</b> sukhe</div>
<div class="description"><a href="https://trac.torproject.org/projects/tor/wiki/torbirdy">TorBirdy</a> and <a href="https://trac.torproject.org/projects/tor/wiki/doc/TorMessenger">Tor Messenger</a> developer. Member of the <a href="https://trac.torproject.org/projects/tor/wiki/org/teams/CommunityTeam">Community Team</a>.</div>
</td>
+ </tr>
+ <tr>
<td>
<a id="haxxpop"></a>
<div class="photo"><img src="$(IMGROOT)/people/haxxpop.png" alt="haxxpop" /></div>
@@ -851,9 +861,7 @@
<div class="field"><b>IRC:</b> haxxpop</div>
<div class="description">Contributes to core Tor and especially onion services.</div>
</td>
- </tr>
- <tr>
<td>
<a id="catalyst"></a>
<div class="photo"><img src="$(IMGROOT)/people/no_photo.png" alt="no photo" /></div>
@@ -864,7 +872,9 @@
<div class="field"><b>Pronoun:</b> <a href="http://pronoun.is/they/them">they</a></div>
<div class="description">Software archaeologist and keeper of C language arcana. Works with applied cryptography, protocol design, software security, and technical debt restructuring.</div>
</td>
+ </tr>
+ <tr>
<td>
<a id="teor"></a>
<div class="photo"><img src="$(IMGROOT)/people/no_photo.png" alt="no photo" /></div>
@@ -874,9 +884,7 @@
<div class="field"><b>Pronoun:</b> <a href="http://pronoun.is/they/them">they</a></div>
<div class="description">Tor developer and chutney maintainer. Currently working on onion services, directory documents, and statistics.</div>
</td>
- </tr>
- <tr>
<td>
<a id="tjr"></a>
<div class="photo"><img src="$(IMGROOT)/people/tjr.png" alt="tjr" /></div>
@@ -887,7 +895,9 @@
<div class="field"><b>Pronoun:</b> <a href="http://pronoun.is/he">he</a></div>
<div class="description">Maintains <a href="https://consensus-health.torproject.org/">Consensus Health </a>, runs one of the bandwidth authorities, and contributes to Tor Browser.</div>
</td>
+ </tr>
+ <tr>
<td>
<a id="t0mmy"></a>
<div class="photo"><img src="$(IMGROOT)/people/t0mmy.png" alt="t0mmy" /></div>
@@ -897,9 +907,7 @@
<div class="field"><b>IRC:</b> t0mmy</div>
<div class="description">Writes and edits grant proposals, one-pagers, blogposts, etc.</div>
</td>
- </tr>
- <tr>
<td>
<a id="egypcio"></a>
<div class="photo"><img src="$(IMGROOT)/people/egypcio.png" alt="egypcio" /></div>
@@ -909,7 +917,9 @@
<div class="field"><b>IRC:</b> egypcio</div>
<div class="description">TorBSD Diversity Project (TDP); IPv6 Enthusiast, BSD Systems Evangelist, and Bridges/Relays Operator.</div>
</td>
+ </tr>
+ <tr>
<td>
<a id="wseltzer"></a>
<div class="photo"><img src="$(IMGROOT)/people/wseltzer.png" alt="wseltzer" /></div>
@@ -920,9 +930,7 @@
<div class="field"><b>Pronoun:</b> <a href="http://pronoun.is/she">she</a></div>
<div class="description"><a href="https://wendy.seltzer.org/">Techie lawyer</a> and former Tor board member. She works on legal and policy support for private and secure communications.</div>
</td>
- </tr>
- <tr>
<td>
<a id="yawning"></a>
<div class="photo"><img src="$(IMGROOT)/people/no_photo.png" alt="no photo" /></div>
diff --git a/images/people/sstevenson.png b/images/people/sstevenson.png
new file mode 100644
index 00000000..4b7ea475
Binary files /dev/null and b/images/people/sstevenson.png differ
1
0

[translation/support-tbb] Update translations for support-tbb
by translation@torproject.org 17 Jul '18
by translation@torproject.org 17 Jul '18
17 Jul '18
commit 173b5dbc84b8bad3df92b442f24200716d9e2cd0
Author: Translation commit bot <translation(a)torproject.org>
Date: Tue Jul 17 20:49:34 2018 +0000
Update translations for support-tbb
---
he.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/he.json b/he.json
index 18483fbfa..235d289af 100644
--- a/he.json
+++ b/he.json
@@ -170,7 +170,7 @@
"tbb-28": {
"id": "#tbb-28",
"control": "tbb-28",
- "title": "How do I uninstall Tor Browser?",
+ "title": "איך אני מסיר את דפדפן Tor?",
"description": "<p class=\"mb-3\">Removing Tor Browser from your system is simple:</p><p class=\"mb-3\"><ol><li>Locate your Tor Browser folder or application. The default location on Windows is the Desktop; on macOS it is the Applications folder (on macOS, you have to move it into the Applications folder when you complete the installation process). On Linux, there is no default location, however the folder will be named \"tor-browser_en-US\" if you are running the English Tor Browser.</li><li>Delete the Tor Browser folder or application.</li><li>Empty your Trash.</li></ol></p><p class=\"mb-3\">Note that your operating system’s standard \"Uninstall\" utility is not used.</p>"
},
"tbb-29": {
1
0
commit 34a5eb5904896cfbfb8c2729fe3b029fab6deb39
Author: George Kadianakis <desnacked(a)riseup.net>
Date: Thu Jun 14 15:23:09 2018 +0300
Increase OPE_INPUT_MAX.
---
src/lib/crypt_ops/crypto_ope.h | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/lib/crypt_ops/crypto_ope.h b/src/lib/crypt_ops/crypto_ope.h
index 885ce84b2..823524f84 100644
--- a/src/lib/crypt_ops/crypto_ope.h
+++ b/src/lib/crypt_ops/crypto_ope.h
@@ -13,8 +13,18 @@
/** Length of OPE key, in bytes. */
#define OPE_KEY_LEN 32
-/** Largest value that can be passed to crypto_ope_encrypt() */
-#define OPE_INPUT_MAX 131072
+/** Largest value that can be passed to crypto_ope_encrypt().
+ *
+ * Expressed as 2^18 because the OPE system prefers powers of two.
+ *
+ * The current max value stands for about 70 hours. The rationale here is as
+ * follows: The rev counter is the time of seconds since the start of an SRV
+ * period. SRVs are useful for about 48 hours (that's how long they stick
+ * around on the consensus). Let's also add 12 hours of drift for clock skewed
+ * services that might be using an old consensus and we arrive to 60
+ * hours. The max value should be beyond that.
+ */
+#define OPE_INPUT_MAX (1<<18)
typedef struct crypto_ope_c crypto_ope_t;
1
0

[tor/master] Compute the description revision counter using the OPE scheme.
by nickm@torproject.org 17 Jul '18
by nickm@torproject.org 17 Jul '18
17 Jul '18
commit 05c362274b8d643a43f367d047699a88d30d667a
Author: George Kadianakis <desnacked(a)riseup.net>
Date: Thu Jun 14 15:35:59 2018 +0300
Compute the description revision counter using the OPE scheme.
To do so for a given descriptor, we use the "seconds since the SR protocol run"
started, for the SRV that is relevant to this descriptor. This is guaranteed to
be a positive value (since we need an SRV to be able to build a descriptor),
and it's also guaranteed to be a small value (since SRVs stop being listed on a
consensus after 48 hours).
We cannot use the "seconds since the time period started", because for the next
descriptor we use the next time period, so the timestamp would end up negative.
See [SERVICEUPLOAD] from rend-spec-v3.txt for more details.
To do so, we have to introduce a new `is_current` argument to a bunch of
functions, because to use "seconds since the SR protocol run" we need to know
if we are building the current or the next descriptor, since we use a different
SRV for each descriptor.
---
src/or/hs_service.c | 109 +++++++++++++++++++++++++++++++++++++++++++++-------
src/or/or.h | 1 +
2 files changed, 97 insertions(+), 13 deletions(-)
diff --git a/src/or/hs_service.c b/src/or/hs_service.c
index b5649e263..76b163456 100644
--- a/src/or/hs_service.c
+++ b/src/or/hs_service.c
@@ -91,7 +91,8 @@ static smartlist_t *hs_service_staging_list;
static int consider_republishing_hs_descriptors = 0;
/* Static declaration. */
-static void set_descriptor_revision_counter(hs_descriptor_t *hs_desc);
+static void set_descriptor_revision_counter(hs_service_descriptor_t *hs_desc,
+ time_t now, bool is_current);
static void move_descriptors(hs_service_t *src, hs_service_t *dst);
/* Helper: Function to compare two objects in the service map. Return 1 if the
@@ -1420,11 +1421,15 @@ build_service_desc_keys(const hs_service_t *service,
* the update function. On success, desc_out will point to the newly allocated
* descriptor object.
*
+ * If <b>is_current</b> is true, this is the current service descriptor,
+ * otherwise it's the next one.
+ *
* This can error if we are unable to create keys or certificate. */
static void
build_service_descriptor(hs_service_t *service, time_t now,
uint64_t time_period_num,
- hs_service_descriptor_t **desc_out)
+ hs_service_descriptor_t **desc_out,
+ bool is_current)
{
char *encoded_desc;
hs_service_descriptor_t *desc;
@@ -1449,7 +1454,7 @@ build_service_descriptor(hs_service_t *service, time_t now,
}
/* Set the revision counter for this descriptor */
- set_descriptor_revision_counter(desc->desc);
+ set_descriptor_revision_counter(desc, now, is_current);
/* Let's make sure that we've created a descriptor that can actually be
* encoded properly. This function also checks if the encoded output is
@@ -1515,9 +1520,9 @@ build_descriptors_for_new_service(hs_service_t *service, time_t now)
/* Build descriptors. */
build_service_descriptor(service, now, current_desc_tp,
- &service->desc_current);
+ &service->desc_current, 1);
build_service_descriptor(service, now, next_desc_tp,
- &service->desc_next);
+ &service->desc_next, 0);
log_info(LD_REND, "Hidden service %s has just started. Both descriptors "
"built. Now scheduled for upload.",
safe_str_client(service->onion_address));
@@ -1548,7 +1553,7 @@ build_all_descriptors(time_t now)
if (service->desc_next == NULL) {
build_service_descriptor(service, now, hs_get_next_time_period_num(0),
- &service->desc_next);
+ &service->desc_next, 0);
log_info(LD_REND, "Hidden service %s next descriptor successfully "
"built. Now scheduled for upload.",
safe_str_client(service->onion_address));
@@ -2514,16 +2519,94 @@ increment_descriptor_revision_counter(hs_descriptor_t *hs_desc)
update_revision_counters_in_state();
}
-/** Set the revision counter in <b>hs_desc</b>, using the state file to find
- * the current counter value if it exists. */
+/** Set the revision counter in <b>hs_desc</b>. We do this by encrypting a
+ * timestamp using an OPE scheme and using the ciphertext as our revision
+ * counter.
+ *
+ * If <b>is_current</b> is true, then this is the current HS descriptor,
+ * otherwise it's the next one. */
static void
-set_descriptor_revision_counter(hs_descriptor_t *hs_desc)
+set_descriptor_revision_counter(hs_service_descriptor_t *hs_desc, time_t now,
+ bool is_current)
{
- /* Find stored rev counter if it exists */
- uint64_t rev_counter =
- get_rev_counter_for_service(&hs_desc->plaintext_data.blinded_pubkey);
+ uint64_t rev_counter = 0;
- hs_desc->plaintext_data.revision_counter = rev_counter;
+ /* Get current time */
+ time_t srv_start = 0;
+
+ /* As our revision counter plaintext value, we use the seconds since the
+ * start of the SR protocol run that is relevant to this descriptor. This is
+ * guaranteed to be a positive value since we need the SRV to start making a
+ * descriptor (so that we know where to upload it).
+ *
+ * Depending on whether we are building the current or the next descriptor,
+ * services use a different SRV value. See [SERVICEUPLOAD] in
+ * rend-spec-v3.txt:
+ *
+ * In particular, for the current descriptor (aka first descriptor), Tor
+ * always uses the previous SRV for uploading the descriptor, and hence we
+ * should use the start time of the previous protocol run here.
+ *
+ * Whereas for the next descriptor (aka second descriptor), Tor always uses
+ * the current SRV for uploading the descriptor. and hence we use the start
+ * time of the current protocol run.
+ */
+ if (is_current) {
+ srv_start = sr_state_get_start_time_of_previous_protocol_run(now);
+ } else {
+ srv_start = sr_state_get_start_time_of_current_protocol_run(now);
+ }
+
+ log_info(LD_REND, "Setting rev counter for TP #%u: "
+ "SRV started at %d, now %d (%s)",
+ (unsigned) hs_desc->time_period_num, (int)srv_start,
+ (int)now, is_current ? "current" : "next");
+
+ tor_assert_nonfatal(now >= srv_start);
+
+ /* Compute seconds elapsed since the start of the time period. That's the
+ * number of seconds of how long this blinded key has been active. */
+ time_t seconds_since_start_of_srv = now - srv_start;
+
+ /* Increment by one so that we are definitely sure this is strictly
+ * positive and not zero. */
+ seconds_since_start_of_srv++;
+
+ /* Check for too big inputs. */
+ if (BUG(seconds_since_start_of_srv > OPE_INPUT_MAX)) {
+ seconds_since_start_of_srv = OPE_INPUT_MAX;
+ }
+
+ /* Now we compute the actual revision counter value by encrypting the
+ plaintext using an OPE construction: */
+
+ /* First, compute OPE key as: K = H("rev-counter-generation" | S) */
+ uint8_t key[DIGEST256_LEN];
+ {
+ crypto_digest_t *digest = crypto_digest256_new(DIGEST_SHA3_256);
+ const char ope_key_prefix[] = "rev-counter-generation";
+ ed25519_secret_key_t *eph_privkey = &hs_desc->blinded_kp.seckey;
+ crypto_digest_add_bytes(digest, ope_key_prefix, sizeof(ope_key_prefix));
+ crypto_digest_add_bytes(digest, (char*)eph_privkey->seckey,
+ sizeof(eph_privkey->seckey));
+ crypto_digest_get_digest(digest, (char *)key, sizeof(key));
+ crypto_digest_free(digest);
+ }
+
+ { /* Now encrypt the revision counter! */
+ crypto_ope_t *ope = NULL;
+ ope = crypto_ope_new(key);
+ rev_counter = crypto_ope_encrypt(ope, (int) seconds_since_start_of_srv);
+ crypto_ope_free(ope);
+ }
+
+ /* The OPE module returns UINT64_MAX in case of errors. */
+ tor_assert_nonfatal(rev_counter < UINT64_MAX);
+
+ log_info(LD_REND, "Encrypted revision counter %d to %ld",
+ (int) seconds_since_start_of_srv, (long int) rev_counter);
+
+ hs_desc->desc->plaintext_data.revision_counter = rev_counter;
}
/* Encode and sign the service descriptor desc and upload it to the
diff --git a/src/or/or.h b/src/or/or.h
index 528159b4c..4f071889a 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -79,6 +79,7 @@
#include "or/replaycache.h"
#include "lib/crypt_ops/crypto_curve25519.h"
#include "lib/crypt_ops/crypto_ed25519.h"
+#include "lib/crypt_ops/crypto_ope.h"
#include "tor_queue.h"
#include "common/token_bucket.h"
#include "common/util_format.h"
1
0

[tor/master] Implementation for a simple order-preserving encryption scheme.
by nickm@torproject.org 17 Jul '18
by nickm@torproject.org 17 Jul '18
17 Jul '18
commit 3a45f6ffe95d4c51e4ad4e14f468feb3f4bd6b1e
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Thu May 10 08:46:36 2018 -0400
Implementation for a simple order-preserving encryption scheme.
This is meant for use when encrypting the current time within the
period in order to get a monotonically increasing revision counter
without actually revealing our view of the time.
This scheme is far from the most state-of-the-art: don't use it for
anything else without careful analysis by somebody much smarter than
I am.
See ticket #25552 for some rationale for this logic.
---
src/lib/crypt_ops/crypto_ope.c | 179 +++++++++++++++++++++++++++++++++++++++++
src/lib/crypt_ops/crypto_ope.h | 35 ++++++++
src/lib/crypt_ops/include.am | 2 +
src/test/include.am | 1 +
src/test/ope_ref.py | 40 +++++++++
src/test/test.c | 1 +
src/test/test.h | 1 +
src/test/test_crypto_ope.c | 148 ++++++++++++++++++++++++++++++++++
8 files changed, 407 insertions(+)
diff --git a/src/lib/crypt_ops/crypto_ope.c b/src/lib/crypt_ops/crypto_ope.c
new file mode 100644
index 000000000..dd04ffbaa
--- /dev/null
+++ b/src/lib/crypt_ops/crypto_ope.c
@@ -0,0 +1,179 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * A rudimentary order-preserving encryption scheme.
+ *
+ * To compute the encryption of N, this scheme uses an AES-CTR stream to
+ * generate M-byte values, and adds the first N of them together. (+1 each to
+ * insure that the ciphertexts are strictly decreasing.)
+ *
+ * We use this for generating onion service revision counters based on the
+ * current time, without leaking the amount of skew in our view of the current
+ * time. MUCH more analysis would be needed before using it for anything
+ * else!
+ */
+
+#include "orconfig.h"
+#include "crypto.h"
+
+#define CRYPTO_OPE_PRIVATE
+
+#include "crypto_ope.h"
+/**
+ * How infrequent should the precomputed values be for this encryption?
+ * The choice of this value creates a space/time tradeoff.
+ *
+ * Note that this value must be a multiple of 16; see
+ * ope_get_cipher()
+ */
+#define SAMPLE_INTERVAL 1024
+/** Number of precomputed samples to make for each OPE key. */
+#define N_SAMPLES (OPE_INPUT_MAX / SAMPLE_INTERVAL)
+
+struct crypto_ope_c {
+ /** An AES key for use with this object. */
+ uint8_t key[OPE_KEY_LEN];
+ /** Cached intermediate encryption values at SAMPLE_INTERVAL,
+ * SAMPLE_INTERVAL*2,...SAMPLE_INTERVAL*N_SAMPLES */
+ uint64_t samples[N_SAMPLES];
+};
+
+/** The type to add up in order to produce our OPE ciphertexts */
+typedef uint16_t ope_val_t;
+
+#ifdef WORDS_BIG_ENDIAN
+/** Convert an OPE value to little-endian */
+static inline ope_val_t
+ope_val_to_le(ope_val_t x)
+{
+ return
+ ((x) >> 8) |
+ (((x)&0xff) << 8);
+}
+#else
+#define ope_val_to_le(x) (x)
+#endif
+
+/**
+ * Return a new AES256-CTR stream cipher object for <b>ope</b>, ready to yield
+ * bytes from the stream at position <b>initial_idx</b>.
+ *
+ * Note that because the index is converted directly to an IV, it must be a
+ * multiple of the AES block size (16).
+ */
+STATIC crypto_cipher_t *
+ope_get_cipher(const crypto_ope_t *ope, uint32_t initial_idx)
+{
+ uint8_t iv[CIPHER_IV_LEN];
+ tor_assert((initial_idx & 0xf) == 0);
+ uint32_t n = htonl(initial_idx >> 4);
+ memset(iv, 0, sizeof(iv));
+ memcpy(iv + CIPHER_IV_LEN - sizeof(n), &n, sizeof(n));
+
+ return crypto_cipher_new_with_iv_and_bits(ope->key,
+ iv,
+ OPE_KEY_LEN * 8);
+}
+
+/**
+ * Retrieve and add the next <b>n</b> values from the stream cipher <b>c</b>,
+ * and return their sum.
+ *
+ * Note that values are taken in little-endian order (for performance on
+ * prevalent hardware), and are mapped from range 0..2^n-1 to range 1..2^n (so
+ * that each input encrypts to a different output).
+ *
+ * NOTE: this function is not constant-time.
+ */
+STATIC uint64_t
+sum_values_from_cipher(crypto_cipher_t *c, size_t n)
+{
+#define BUFSZ 256
+ ope_val_t buf[BUFSZ];
+ uint64_t total = 0;
+ unsigned i;
+ while (n >= BUFSZ) {
+ memset(buf, 0, sizeof(buf));
+ crypto_cipher_crypt_inplace(c, (char*)buf, BUFSZ*sizeof(ope_val_t));
+
+ for (i = 0; i < BUFSZ; ++i) {
+ total += ope_val_to_le(buf[i]);
+ total += 1;
+ }
+ n -= BUFSZ;
+ }
+
+ memset(buf, 0, n*sizeof(ope_val_t));
+ crypto_cipher_crypt_inplace(c, (char*)buf, n*sizeof(ope_val_t));
+ for (i = 0; i < n; ++i) {
+ total += ope_val_to_le(buf[i]);
+ total += 1;
+ }
+
+ memset(buf, 0, sizeof(buf));
+ return total;
+}
+
+/**
+ * Return a new crypto_ope_t object, using the provided 256-bit key.
+ */
+crypto_ope_t *
+crypto_ope_new(const uint8_t *key)
+{
+ crypto_ope_t *ope = tor_malloc_zero(sizeof(crypto_ope_t));
+ memcpy(ope->key, key, OPE_KEY_LEN);
+
+ crypto_cipher_t *cipher = ope_get_cipher(ope, 0);
+
+ uint64_t v = 0;
+ int i;
+ for (i = 0; i < N_SAMPLES; ++i) {
+ v += sum_values_from_cipher(cipher, SAMPLE_INTERVAL);
+ ope->samples[i] = v;
+ }
+
+ crypto_cipher_free(cipher);
+ return ope;
+}
+
+/** Free all storage held in <>ope</b>. */
+void
+crypto_ope_free_(crypto_ope_t *ope)
+{
+ if (!ope)
+ return;
+ memwipe(ope, 0, sizeof(*ope));
+ tor_free(ope);
+}
+
+/**
+ * Return the encrypted value corresponding to <b>input</b>. The input value
+ * must be in range 1..OPE_INPUT_MAX. Returns UINT64_MAX on an invalid input.
+ *
+ * NOTE: this function is not constant-time.
+ */
+uint64_t
+crypto_ope_encrypt(const crypto_ope_t *ope, int plaintext)
+{
+ if (plaintext <= 0 || plaintext > OPE_INPUT_MAX)
+ return UINT64_MAX;
+
+ const int sample_idx = (plaintext / SAMPLE_INTERVAL);
+ const int starting_iv = sample_idx * SAMPLE_INTERVAL;
+ const int remaining_values = plaintext - starting_iv;
+ uint64_t v;
+ if (sample_idx == 0) {
+ v = 0;
+ } else {
+ v = ope->samples[sample_idx - 1];
+ }
+ crypto_cipher_t *cipher = ope_get_cipher(ope, starting_iv*sizeof(ope_val_t));
+
+ v += sum_values_from_cipher(cipher, remaining_values);
+
+ crypto_cipher_free(cipher);
+
+ return v;
+}
+
diff --git a/src/lib/crypt_ops/crypto_ope.h b/src/lib/crypt_ops/crypto_ope.h
new file mode 100644
index 000000000..885ce84b2
--- /dev/null
+++ b/src/lib/crypt_ops/crypto_ope.h
@@ -0,0 +1,35 @@
+/* Copyright (c) 2018, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#ifndef CRYPTO_OPE_H
+#define CRYPTO_OPE_H
+
+#include "orconfig.h"
+#include "crypto.h"
+#include "crypto_util.h"
+
+#include "crypto_ope.h"
+
+/** Length of OPE key, in bytes. */
+#define OPE_KEY_LEN 32
+
+/** Largest value that can be passed to crypto_ope_encrypt() */
+#define OPE_INPUT_MAX 131072
+
+typedef struct crypto_ope_c crypto_ope_t;
+
+crypto_ope_t *crypto_ope_new(const uint8_t *key);
+void crypto_ope_free_(crypto_ope_t *ope);
+#define crypto_ope_free(ope) \
+ FREE_AND_NULL(crypto_ope_t, crypto_ope_free_, (ope))
+
+uint64_t crypto_ope_encrypt(const crypto_ope_t *ope, int plaintext);
+
+#ifdef CRYPTO_OPE_PRIVATE
+STATIC crypto_cipher_t *ope_get_cipher(const crypto_ope_t *ope,
+ uint32_t initial_idx);
+STATIC uint64_t sum_values_from_cipher(crypto_cipher_t *c, size_t n);
+#endif
+
+#endif
+
diff --git a/src/lib/crypt_ops/include.am b/src/lib/crypt_ops/include.am
index b881c689d..6b0b0d200 100644
--- a/src/lib/crypt_ops/include.am
+++ b/src/lib/crypt_ops/include.am
@@ -14,6 +14,7 @@ src_lib_libtor_crypt_ops_a_SOURCES = \
src/lib/crypt_ops/crypto_ed25519.c \
src/lib/crypt_ops/crypto_format.c \
src/lib/crypt_ops/crypto_hkdf.c \
+ src/lib/crypt_ops/crypto_ope.c \
src/lib/crypt_ops/crypto_openssl_mgt.c \
src/lib/crypt_ops/crypto_pwbox.c \
src/lib/crypt_ops/crypto_rand.c \
@@ -37,6 +38,7 @@ noinst_HEADERS += \
src/lib/crypt_ops/crypto.h \
src/lib/crypt_ops/crypto_hkdf.h \
src/lib/crypt_ops/crypto_openssl_mgt.h \
+ src/lib/crypt_ops/crypto_ope.h \
src/lib/crypt_ops/crypto_pwbox.h \
src/lib/crypt_ops/crypto_rand.h \
src/lib/crypt_ops/crypto_rsa.h \
diff --git a/src/test/include.am b/src/test/include.am
index 7e5ad4611..390c84ebe 100644
--- a/src/test/include.am
+++ b/src/test/include.am
@@ -117,6 +117,7 @@ src_test_test_SOURCES += \
src/test/test_controller.c \
src/test/test_controller_events.c \
src/test/test_crypto.c \
+ src/test/test_crypto_ope.c \
src/test/test_crypto_openssl.c \
src/test/test_data.c \
src/test/test_dir.c \
diff --git a/src/test/ope_ref.py b/src/test/ope_ref.py
new file mode 100644
index 000000000..3677e57a6
--- /dev/null
+++ b/src/test/ope_ref.py
@@ -0,0 +1,40 @@
+#!/usr/bin/python3
+# Copyright 2018, The Tor Project, Inc. See LICENSE for licensing info.
+
+# Reference implementation for our rudimentary OPE code, used to
+# generate test vectors. See crypto_ope.c for more details.
+
+from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
+from cryptography.hazmat.primitives.ciphers.algorithms import AES
+from cryptography.hazmat.backends import default_backend
+
+from binascii import a2b_hex
+
+#randomly generated and values.
+KEY = a2b_hex(
+ "19e05891d55232c08c2cad91d612fdb9cbd6691949a0742434a76c80bc6992fe")
+PTS = [ 121132, 82283, 72661, 72941, 123122, 12154, 121574, 11391, 65845,
+ 86301, 61284, 70505, 30438, 60150, 114800, 109403, 21893, 123569,
+ 95617, 48561, 53334, 92746, 7110, 9612, 106958, 46889, 87790, 68878,
+ 47917, 121128, 108602, 28217, 69498, 63870, 57542, 122148, 46254,
+ 42850, 92661, 57720]
+
+IV = b'\x00' * 16
+
+backend = default_backend()
+
+def words():
+ cipher = Cipher(algorithms.AES(KEY), modes.CTR(IV), backend=backend)
+ e = cipher.encryptor()
+ while True:
+ v = e.update(b'\x00\x00')
+ yield v[0] + 256 * v[1] + 1
+
+def encrypt(n):
+ return sum(w for w, _ in zip(words(), range(n)))
+
+def example(n):
+ return ' {{ {}, UINT64_C({}) }},'.format(n, encrypt(n))
+
+for v in PTS:
+ print(example(v))
diff --git a/src/test/test.c b/src/test/test.c
index 1a3f4f8eb..baf9e05be 100644
--- a/src/test/test.c
+++ b/src/test/test.c
@@ -861,6 +861,7 @@ struct testgroup_t testgroups[] = {
{ "control/", controller_tests },
{ "control/event/", controller_event_tests },
{ "crypto/", crypto_tests },
+ { "crypto/ope/", crypto_ope_tests },
{ "crypto/openssl/", crypto_openssl_tests },
{ "dir/", dir_tests },
{ "dir_handle_get/", dir_handle_get_tests },
diff --git a/src/test/test.h b/src/test/test.h
index 9abd46008..b24163ed3 100644
--- a/src/test/test.h
+++ b/src/test/test.h
@@ -212,6 +212,7 @@ extern struct testcase_t container_tests[];
extern struct testcase_t controller_tests[];
extern struct testcase_t controller_event_tests[];
extern struct testcase_t crypto_tests[];
+extern struct testcase_t crypto_ope_tests[];
extern struct testcase_t crypto_openssl_tests[];
extern struct testcase_t dir_tests[];
extern struct testcase_t dir_handle_get_tests[];
diff --git a/src/test/test_crypto_ope.c b/src/test/test_crypto_ope.c
new file mode 100644
index 000000000..1b93e6981
--- /dev/null
+++ b/src/test/test_crypto_ope.c
@@ -0,0 +1,148 @@
+/* Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2017, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+
+#define CRYPTO_OPE_PRIVATE
+
+#include "lib/crypt_ops/crypto_ope.h"
+#include "common/util_format.h"
+#include "test/test.h"
+
+static void
+test_crypto_ope_consistency(void *arg)
+{
+ (void)arg;
+
+ crypto_ope_t *ope = NULL;
+ crypto_cipher_t *aes = NULL;
+ const int TEST_VALS[] = { 5, 500, 1023, 1024, 1025, 2046, 2047, 2048, 2049,
+ 10000, OPE_INPUT_MAX };
+ unsigned i;
+ const uint8_t key[32] = "A fixed key, chosen arbitrarily.";
+
+ ope = crypto_ope_new(key);
+ tt_assert(ope);
+
+ uint64_t last_val = 0;
+ for (i = 0; i < ARRAY_LENGTH(TEST_VALS); ++i) {
+ aes = ope_get_cipher(ope, 0);
+ int val = TEST_VALS[i];
+ uint64_t v1 = crypto_ope_encrypt(ope, val);
+ uint64_t v2 = sum_values_from_cipher(aes, val);
+ tt_u64_op(v1, OP_EQ, v2);
+ tt_u64_op(v2, OP_GT, last_val);
+ last_val = v2;
+ crypto_cipher_free(aes);
+ }
+
+ done:
+ crypto_cipher_free(aes);
+ crypto_ope_free(ope);
+}
+
+static void
+test_crypto_ope_oob(void *arg)
+{
+ (void)arg;
+
+ crypto_ope_t *ope = NULL;
+ const uint8_t key[32] = "A fixed key, chosen arbitrarily.";
+ ope = crypto_ope_new(key);
+
+ tt_u64_op(UINT64_MAX, OP_EQ, crypto_ope_encrypt(ope,INT_MIN));
+ tt_u64_op(UINT64_MAX, OP_EQ, crypto_ope_encrypt(ope,-100));
+ tt_u64_op(UINT64_MAX, OP_EQ, crypto_ope_encrypt(ope,0));
+ tt_u64_op(UINT64_MAX, OP_NE, crypto_ope_encrypt(ope,1));
+ tt_u64_op(UINT64_MAX, OP_NE, crypto_ope_encrypt(ope,7000));
+ tt_u64_op(UINT64_MAX, OP_NE, crypto_ope_encrypt(ope,OPE_INPUT_MAX));
+ tt_u64_op(UINT64_MAX, OP_EQ, crypto_ope_encrypt(ope,OPE_INPUT_MAX+1));
+ tt_u64_op(UINT64_MAX, OP_EQ, crypto_ope_encrypt(ope,INT_MAX));
+ done:
+ crypto_ope_free(ope);
+}
+
+static const char OPE_TEST_KEY[] =
+ "19e05891d55232c08c2cad91d612fdb9cbd6691949a0742434a76c80bc6992fe";
+
+/* generated by a separate python implementation. */
+static const struct {
+ int v;
+ uint64_t r;
+} OPE_TEST_VECTORS[] = {
+ { 121132, UINT64_C(3971694514) },
+ { 82283, UINT64_C(2695743564) },
+ { 72661, UINT64_C(2381548866) },
+ { 72941, UINT64_C(2390408421) },
+ { 123122, UINT64_C(4036781069) },
+ { 12154, UINT64_C(402067100) },
+ { 121574, UINT64_C(3986197593) },
+ { 11391, UINT64_C(376696838) },
+ { 65845, UINT64_C(2161801517) },
+ { 86301, UINT64_C(2828270975) },
+ { 61284, UINT64_C(2013616892) },
+ { 70505, UINT64_C(2313368870) },
+ { 30438, UINT64_C(1001394664) },
+ { 60150, UINT64_C(1977329668) },
+ { 114800, UINT64_C(3764946628) },
+ { 109403, UINT64_C(3585352477) },
+ { 21893, UINT64_C(721388468) },
+ { 123569, UINT64_C(4051780471) },
+ { 95617, UINT64_C(3134921876) },
+ { 48561, UINT64_C(1597596985) },
+ { 53334, UINT64_C(1753691710) },
+ { 92746, UINT64_C(3040874493) },
+ { 7110, UINT64_C(234966492) },
+ { 9612, UINT64_C(318326551) },
+ { 106958, UINT64_C(3506124249) },
+ { 46889, UINT64_C(1542219146) },
+ { 87790, UINT64_C(2877361609) },
+ { 68878, UINT64_C(2260369112) },
+ { 47917, UINT64_C(1576681737) },
+ { 121128, UINT64_C(3971553290) },
+ { 108602, UINT64_C(3559176081) },
+ { 28217, UINT64_C(929692460) },
+ { 69498, UINT64_C(2280554161) },
+ { 63870, UINT64_C(2098322675) },
+ { 57542, UINT64_C(1891698992) },
+ { 122148, UINT64_C(4004515805) },
+ { 46254, UINT64_C(1521227949) },
+ { 42850, UINT64_C(1408996941) },
+ { 92661, UINT64_C(3037901517) },
+ { 57720, UINT64_C(1897369989) },
+};
+
+static void
+test_crypto_ope_vectors(void *arg)
+{
+ (void)arg;
+ uint8_t key[32];
+ crypto_ope_t *ope = NULL, *ope2 = NULL;
+
+ base16_decode((char*)key, 32, OPE_TEST_KEY, strlen(OPE_TEST_KEY));
+
+ ope = crypto_ope_new(key);
+ key[8] += 1;
+ ope2 = crypto_ope_new(key);
+ unsigned i;
+ for (i = 0; i < ARRAY_LENGTH(OPE_TEST_VECTORS); ++i) {
+ int val = OPE_TEST_VECTORS[i].v;
+ uint64_t res = OPE_TEST_VECTORS[i].r;
+
+ tt_u64_op(crypto_ope_encrypt(ope, val), OP_EQ, res);
+ tt_u64_op(crypto_ope_encrypt(ope2, val), OP_NE, res);
+ }
+ done:
+ crypto_ope_free(ope);
+ crypto_ope_free(ope2);
+}
+
+struct testcase_t crypto_ope_tests[] = {
+ { "consistency", test_crypto_ope_consistency, 0, NULL, NULL },
+ { "oob", test_crypto_ope_oob, 0, NULL, NULL },
+ { "vectors", test_crypto_ope_vectors, 0, NULL, NULL },
+ END_OF_TESTCASES
+};
+
1
0

[tor/master] Use approx_time() instead of time(NULL) in some HS functions.
by nickm@torproject.org 17 Jul '18
by nickm@torproject.org 17 Jul '18
17 Jul '18
commit 5fb6f656dfad3ddb178b76448742bfc3e2e834da
Author: George Kadianakis <desnacked(a)riseup.net>
Date: Thu Jun 14 15:38:14 2018 +0300
Use approx_time() instead of time(NULL) in some HS functions.
These were breaking our unittests.
---
src/or/hs_service.c | 2 +-
src/or/voting_schedule.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/or/hs_service.c b/src/or/hs_service.c
index 76b163456..70d9c1c6f 100644
--- a/src/or/hs_service.c
+++ b/src/or/hs_service.c
@@ -433,7 +433,7 @@ service_intro_point_new(const extend_info_t *ei, unsigned int is_legacy)
if (BUG(intro_point_max_lifetime < intro_point_min_lifetime)) {
goto err;
}
- ip->time_to_expire = time(NULL) +
+ ip->time_to_expire = approx_time() +
crypto_rand_int_range(intro_point_min_lifetime,intro_point_max_lifetime);
}
diff --git a/src/or/voting_schedule.c b/src/or/voting_schedule.c
index 6edde3f22..8c56a1052 100644
--- a/src/or/voting_schedule.c
+++ b/src/or/voting_schedule.c
@@ -168,7 +168,7 @@ voting_schedule_get_next_valid_after_time(void)
done:
if (need_to_recalculate_voting_schedule) {
- voting_schedule_recalculate_timing(get_options(), now);
+ voting_schedule_recalculate_timing(get_options(), approx_time());
voting_schedule.created_on_demand = 1;
}
1
0

[tor/master] Introduce useful SRV funcs (start time of prev protocol run)
by nickm@torproject.org 17 Jul '18
by nickm@torproject.org 17 Jul '18
17 Jul '18
commit deec6913c5a30a568fd761c707867e2001646237
Author: George Kadianakis <desnacked(a)riseup.net>
Date: Thu Jun 14 15:25:43 2018 +0300
Introduce useful SRV funcs (start time of prev protocol run)
---
src/or/shared_random_client.c | 13 +++++++++++++
src/or/shared_random_client.h | 1 +
2 files changed, 14 insertions(+)
diff --git a/src/or/shared_random_client.c b/src/or/shared_random_client.c
index f0b13a171..d787b6b2e 100644
--- a/src/or/shared_random_client.c
+++ b/src/or/shared_random_client.c
@@ -243,6 +243,19 @@ sr_state_get_start_time_of_current_protocol_run(time_t now)
return beginning_of_current_round - time_elapsed_since_start_of_run;
}
+/** Return the start time of the previous SR protocol run. See
+ * sr_state_get_start_time_of_current_protocol_run() for more details. */
+time_t
+sr_state_get_start_time_of_previous_protocol_run(time_t now)
+{
+ time_t start_time_of_current_run =
+ sr_state_get_start_time_of_current_protocol_run(now);
+
+ /* We get the start time of previous protocol run, by getting the start time
+ * of current run and the subtracting a full protocol run from that. */
+ return start_time_of_current_run - sr_state_get_protocol_run_duration();
+}
+
/** Return the time (in seconds) it takes to complete a full SR protocol phase
* (e.g. the commit phase). */
unsigned int
diff --git a/src/or/shared_random_client.h b/src/or/shared_random_client.h
index 079829496..35ebb1bd5 100644
--- a/src/or/shared_random_client.h
+++ b/src/or/shared_random_client.h
@@ -35,6 +35,7 @@ sr_srv_t *sr_parse_srv(const smartlist_t *args);
#define SHARED_RANDOM_N_PHASES 2
time_t sr_state_get_start_time_of_current_protocol_run(time_t now);
+time_t sr_state_get_start_time_of_previous_protocol_run(time_t now);
unsigned int sr_state_get_phase_duration(void);
unsigned int sr_state_get_protocol_run_duration(void);
time_t get_start_time_of_current_round(void);
1
0