commit 0b734b6a930d013f2cf3b816201e2f409cf5f774
Author: Damian Johnson <atagar(a)torproject.org>
Date: Fri Sep 28 13:13:25 2018 -0700
Provide tor segfault output when testing
When our integ tests trigger a crash within tor our test output was pretty
unhelpful. Runners could tell that something badly broke, but not much more
than that.
https://trac.torproject.org/projects/tor/ticket/27717
When the tor process dies unexpectedly halting further …
[View More]tests and printing the
final gasps from the process. Going back to tor commit b8a2bdb for example...
============================================================
Our tor process ended prematurely with exit status -6
============================================================
Sep 28 13:13:09.000 [notice] Starting with guard context "default"
Sep 28 13:13:09.000 [notice] Bootstrapped 45%: Asking for relay descriptors
Sep 28 13:13:09.000 [notice] New control connection opened from 127.0.0.1.
Sep 28 13:13:09.000 [notice] Your ContactInfo config option is not set. Please consider setting it, so we can contact you if your server is misconfigured or something else goes wrong.
Sep 28 13:13:09.000 [warn] ControlPort is open, but no authentication method has been configured. This means that any program on your computer can reconfigure your Tor. That's bad! You should upgrade your Tor controller as soon as possible.
Sep 28 13:13:09.000 [notice] Configured to measure directory request statistics, but no GeoIP database found. Please specify a GeoIP database using the GeoIPFile option.
Sep 28 13:13:10.000 [notice] New control connection opened from 127.0.0.1.
Sep 28 13:13:10.000 [notice] New control connection opened from 127.0.0.1.
Sep 28 13:13:10.000 [notice] New control connection opened from 127.0.0.1.
Sep 28 13:13:10.000 [err] tor_assertion_failed_(): Bug: src/core/mainloop/connection.c:5109: assert_connection_ok: Assertion or_conn->tls failed; aborting. (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: Assertion or_conn->tls failed in assert_connection_ok at src/core/mainloop/connection.c:5109. Stack trace: (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: tor(log_backtrace_impl+0x47) [0x55cb6c227447] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: tor(tor_assertion_failed_+0x94) [0x55cb6c222bb4] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: tor(assert_connection_ok+0x575) [0x55cb6c1b60a5] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: tor(connection_mark_for_close_internal_+0x27) [0x55cb6c1b66b7] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: tor(connection_handle_read+0x517) [0x55cb6c1babb7] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: tor(+0x5470e) [0x55cb6c09670e] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5(event_base_loop+0x819) [0x7f08790424c9] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: tor(do_main_loop+0x1fa) [0x55cb6c0989aa] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: tor(tor_run_main+0x11d5) [0x55cb6c09b065] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: tor(tor_main+0x3a) [0x55cb6c0932fa] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: tor(main+0x19) [0x55cb6c092e79] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f08783c1830] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
Sep 28 13:13:10.000 [err] Bug: tor(_start+0x29) [0x55cb6c092ec9] (on Tor 0.3.5.0-alpha-dev b8a2bdbdc8c46776)
---
docs/change_log.rst | 1 +
run_tests.py | 12 +++++++++---
stem/process.py | 25 ++++++++++++++++++-------
test/runner.py | 19 +++++++++++++++++++
4 files changed, 47 insertions(+), 10 deletions(-)
diff --git a/docs/change_log.rst b/docs/change_log.rst
index c32af5df..4b49bb99 100644
--- a/docs/change_log.rst
+++ b/docs/change_log.rst
@@ -51,6 +51,7 @@ The following are only available within Stem's `git repository
* Added the stem.control.MALFORMED_EVENTS event listener constant
* Added support for limiting the maximum number of streams to :func:`~stem.control.Controller.create_ephemeral_hidden_service` (:spec:`2fcb1c2`)
* Added a timeout argument to :class:`~stem.control.Controller` methods that could await a response (:trac:`26056`)
+ * Added a close_output argument to :class:`~stem.process.launch_tor`
* Stacktrace if :func:`stem.connection.connect` had a string port argument
* More reliable ExitPolicy resolution (:trac:`25739`)
* Fixed cache invalidation when another contorller calls SETCONF (:trac:`25821`)
diff --git a/run_tests.py b/run_tests.py
index 36296f7e..564ab4dd 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -235,9 +235,15 @@ def main():
println('Running tests...\n', STATUS)
for test_class in get_integ_tests(args.specific_test):
- run_result = _run_test(args, test_class, output_filters)
- test.output.print_logging(logging_buffer)
- skipped_tests += len(getattr(run_result, 'skipped', []))
+ if integ_runner.assert_tor_is_running():
+ run_result = _run_test(args, test_class, output_filters)
+ test.output.print_logging(logging_buffer)
+ skipped_tests += len(getattr(run_result, 'skipped', []))
+ else:
+ # our tor process died
+
+ error_tracker.register_error()
+ break
except KeyboardInterrupt:
println(' aborted starting tor: keyboard interrupt\n', ERROR)
break
diff --git a/stem/process.py b/stem/process.py
index 2d3dfff6..e2b36ec0 100644
--- a/stem/process.py
+++ b/stem/process.py
@@ -34,7 +34,7 @@ NO_TORRC = '<no torrc>'
DEFAULT_INIT_TIMEOUT = 90
-def launch_tor(tor_cmd = 'tor', args = None, torrc_path = None, completion_percent = 100, init_msg_handler = None, timeout = DEFAULT_INIT_TIMEOUT, take_ownership = False, stdin = None):
+def launch_tor(tor_cmd = 'tor', args = None, torrc_path = None, completion_percent = 100, init_msg_handler = None, timeout = DEFAULT_INIT_TIMEOUT, take_ownership = False, close_output = True, stdin = None):
"""
Initializes a tor process. This blocks until initialization completes or we
error out.
@@ -54,6 +54,9 @@ def launch_tor(tor_cmd = 'tor', args = None, torrc_path = None, completion_perce
.. versionchanged:: 1.6.0
Allowing the timeout argument to be a float.
+ .. versionchanged:: 1.7.0
+ Added the **close_output** argument.
+
:param str tor_cmd: command for starting tor
:param list args: additional arguments for tor
:param str torrc_path: location of the torrc for us to use
@@ -66,6 +69,8 @@ def launch_tor(tor_cmd = 'tor', args = None, torrc_path = None, completion_perce
:param bool take_ownership: asserts ownership over the tor process so it
aborts if this python process terminates or a :class:`~stem.control.Controller`
we establish to it disconnects
+ :param bool close_output: closes tor's stdout and stderr streams when
+ bootstrapping is complete if true
:param str stdin: content to provide on stdin
:returns: **subprocess.Popen** instance for the tor subprocess
@@ -182,11 +187,12 @@ def launch_tor(tor_cmd = 'tor', args = None, torrc_path = None, completion_perce
if timeout:
signal.alarm(0) # stop alarm
- if tor_process and tor_process.stdout:
- tor_process.stdout.close()
+ if tor_process and close_output:
+ if tor_process.stdout:
+ tor_process.stdout.close()
- if tor_process and tor_process.stderr:
- tor_process.stderr.close()
+ if tor_process.stderr:
+ tor_process.stderr.close()
if temp_file:
try:
@@ -195,7 +201,7 @@ def launch_tor(tor_cmd = 'tor', args = None, torrc_path = None, completion_perce
pass
-def launch_tor_with_config(config, tor_cmd = 'tor', completion_percent = 100, init_msg_handler = None, timeout = DEFAULT_INIT_TIMEOUT, take_ownership = False):
+def launch_tor_with_config(config, tor_cmd = 'tor', completion_percent = 100, init_msg_handler = None, timeout = DEFAULT_INIT_TIMEOUT, take_ownership = False, close_output = True):
"""
Initializes a tor process, like :func:`~stem.process.launch_tor`, but with a
customized configuration. This writes a temporary torrc to disk, launches
@@ -215,6 +221,9 @@ def launch_tor_with_config(config, tor_cmd = 'tor', completion_percent = 100, in
},
)
+ .. versionchanged:: 1.7.0
+ Added the **close_output** argument.
+
:param dict config: configuration options, such as "{'ControlPort': '9051'}",
values can either be a **str** or **list of str** if for multiple values
:param str tor_cmd: command for starting tor
@@ -227,6 +236,8 @@ def launch_tor_with_config(config, tor_cmd = 'tor', completion_percent = 100, in
:param bool take_ownership: asserts ownership over the tor process so it
aborts if this python process terminates or a :class:`~stem.control.Controller`
we establish to it disconnects
+ :param bool close_output: closes tor's stdout and stderr streams when
+ bootstrapping is complete if true
:returns: **subprocess.Popen** instance for the tor subprocess
@@ -271,7 +282,7 @@ def launch_tor_with_config(config, tor_cmd = 'tor', completion_percent = 100, in
config_str += '%s %s\n' % (key, value)
if use_stdin:
- return launch_tor(tor_cmd, ['-f', '-'], None, completion_percent, init_msg_handler, timeout, take_ownership, stdin = config_str)
+ return launch_tor(tor_cmd, ['-f', '-'], None, completion_percent, init_msg_handler, timeout, take_ownership, close_output, stdin = config_str)
else:
torrc_descriptor, torrc_path = tempfile.mkstemp(prefix = 'torrc-', text = True)
diff --git a/test/runner.py b/test/runner.py
index 160e4827..9c2438a2 100644
--- a/test/runner.py
+++ b/test/runner.py
@@ -287,6 +287,9 @@ class Runner(object):
except OSError:
pass
+ self._tor_process.stdout.close()
+ self._tor_process.stderr.close()
+
self._tor_process.wait() # blocks until the process is done
# if we've made a temporary data directory then clean it up
@@ -490,6 +493,21 @@ class Runner(object):
return os.path.basename(self._get('_tor_cmd')) if base_cmd else self._get('_tor_cmd')
+ def assert_tor_is_running(self):
+ """
+ Checks if our tor process is running. If not, this prints an error and
+ provides **False**.
+ """
+
+ process_status = self._tor_process.poll() # None if running
+
+ if process_status is None:
+ return True
+ else:
+ process_output = (self._tor_process.stdout.read() + '\n\n' + self._tor_process.stderr.read()).strip()
+ println('\n%s\nOur tor process ended prematurely with exit status %s\n%s\n\n%s' % ('=' * 60, process_status, '=' * 60, process_output), ERROR)
+ return False
+
def _get(self, attr):
"""
Fetches one of our attributes in a thread safe manner, raising if we aren't
@@ -611,6 +629,7 @@ class Runner(object):
completion_percent = 100 if test.Target.ONLINE in self.attribute_targets else 0,
init_msg_handler = lambda line: println(' %s' % line, SUBSTATUS),
take_ownership = True,
+ close_output = False,
)
runtime = time.time() - start_time
[View Less]
commit 5794c3183204caf331c588fa91155c0a56cd54b8
Author: Translation commit bot <translation(a)torproject.org>
Date: Sun Sep 30 16:47:17 2018 +0000
Update translations for tor-browser-manual
---
ka/ka.po | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/ka/ka.po b/ka/ka.po
index 6718e4c95..fb157fd60 100644
--- a/ka/ka.po
+++ b/ka/ka.po
@@ -1716,10 +1716,13 @@ msgid ""
"Snowflake is an improvement upon Flashproxy. It sends your traffic through "
"…
[View More]WebRTC, a peer-to-peer protocol with built-in NAT punching."
msgstr ""
+"Snowflake წარმოადგენს Flashproxy-ის მნიშვნელოვან გაუმჯობესებას. იგი "
+"მიმოცვლილ მონაცემებს აგზავნის WebRTC-ის გავლით, პირდაპირი კავშირის "
+"პროტოკოლით, მათ შორის NAT-ის პირობებშიც, შესაბამისი ჩაშენებული საშუალებებით."
#: troubleshooting.page:6
msgid "What to do if Tor Browser doesn’t work"
-msgstr ""
+msgstr "როგორ მოვიქცე, თუ Tor-ბრაუზერი არ მუშაბს"
#: troubleshooting.page:12
msgid ""
@@ -1727,16 +1730,20 @@ msgid ""
" running the program, and clicking the “Connect” button if you are using it "
"for the first time."
msgstr ""
+"გვერდების მონახულება Tor-ბრაუზერით უნდა შეგეძლოთ გაშვებიდან მცირე ხანში, "
+"„დაკავშირების“ ღილაკზე დაწკაპებით, თუ პირველად რთავთ პროგრამას."
#: troubleshooting.page:21
msgid "Quick fixes"
-msgstr ""
+msgstr "სწრაფად მოგვარების გზები"
#: troubleshooting.page:22
msgid ""
"If Tor Browser doesn’t connect, there may be a simple solution. Try each of "
"the following:"
msgstr ""
+"თუ Tor-ბრაუზერი ქსელს ვერ უკავშირდება, შესაძლოა უშველოს მარტივმა "
+"გადაწყვეტამ. სცადეთ ქვემოთ მოცემულები:"
#: troubleshooting.page:29
msgid ""
[View Less]
commit 6d061688c6b1d940d395a4948e87f28e1f79ffad
Author: Translation commit bot <translation(a)torproject.org>
Date: Sun Sep 30 16:17:18 2018 +0000
Update translations for tor-browser-manual
---
ka/ka.po | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/ka/ka.po b/ka/ka.po
index f60b2209d..6718e4c95 100644
--- a/ka/ka.po
+++ b/ka/ka.po
@@ -1692,7 +1692,7 @@ msgstr ""
#: transports.page:83
msgid "meek"
-msgstr ""
+msgstr "meek"
#: transports.page:88
…
[View More] msgid ""
@@ -1701,10 +1701,15 @@ msgid ""
"Web Services; meek-azure makes it look like you are using a Microsoft web "
"site; and meek-google makes it look like you are using Google search."
msgstr ""
+"ამ სახის გადამყვანები გადაცემულ მონაცემებს აძლევს ისეთ სახეს, თითქოს "
+"მომხმარებელი ცნობილ საიტებს უკავშირდება, ნაცვლად Tor-ქსელისა. meek-amazon "
+"ყველა კავშირს წარმოაჩენს ისე, თითქოს Amazon-ის ვებმომსახურებებს იყენებდეთ; "
+"meek-azure წარმოაჩენს ისე, თითქოს Microsoft-ის ვებმომსახურებებს იყენებდეთ; "
+"ხოლო meek-google წარმოაჩენს ისე, თითქოს Google-ის საძიებოთი სარგებლობდეთ."
#: transports.page:100
msgid "Snowflake"
-msgstr ""
+msgstr "Snowflake"
#: transports.page:105
msgid ""
[View Less]
commit 9bf31a721c0586e413c01dcec951f49884ddf2ef
Author: Translation commit bot <translation(a)torproject.org>
Date: Sun Sep 30 15:48:44 2018 +0000
Update translations for tor-launcher-network-settings_completed
---
de/network-settings.dtd | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/de/network-settings.dtd b/de/network-settings.dtd
index 33caee29e..ae6830390 100644
--- a/de/network-settings.dtd
+++ b/de/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- …
[View More]For "first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Klicken Sie auf "Verbinden", um eine Verbindung zu Tor herzustellen.">
-<!ENTITY torSettings.configurePrompt "Klicken Sie auf "Konfigurieren", um die Netzwerkeinstellungen anzupassen, wenn Sie sich in einem Land befinden, das Tor blockiert (z.B. Ägypten, China, Türkei) oder wenn Sie sich von einem privaten Netzwerk aus verbinden, das einen Proxy benötigt.">
+<!ENTITY torSettings.configurePrompt "Klicken Sie auf "Konfigurieren", um die Netzwerkeinstellungen anzupassen, wenn Sie sich in einem Land befinden, das Tor blockiert (z.B. Ägypten, China, Türkei), oder wenn Sie sich von einem privaten Netzwerk aus verbinden, das einen Proxy benötigt.">
<!ENTITY torSettings.configure "Konfigurieren">
<!ENTITY torSettings.connect "Verbinden">
@@ -41,7 +41,7 @@
<!ENTITY torsettings.useBridges.checkbox "Tor wird in meinem Land blockiert.">
<!ENTITY torsettings.useBridges.default "Bereitgestellte Brücke auswählen">
<!ENTITY torsettings.useBridges.default.placeholder "Brücke auswählen">
-<!ENTITY torsettings.useBridges.bridgeDB "Brücke von torproject.org anfragen">
+<!ENTITY torsettings.useBridges.bridgeDB "Brücke von torproject.org anfordern">
<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Geben Sie die Zeichen in dem Bild ein">
<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Neue Herausforderung bekommen">
<!ENTITY torsettings.useBridges.captchaSubmit "Übermitteln">
@@ -55,8 +55,8 @@
<!ENTITY torsettings.proxyHelp1 "Unter Umständen ist ein lokaler Proxy nötig, um sich von einem eingeschränkten Netzwerk eines Unternehmens, einer Schule oder Universität zu verbinden. Im Zweifelsfall kann die Einstellung in einem anderen Browser oder die System-Netzwerkeinstellung .verglichen werden.">
<!ENTITY torsettings.bridgeHelpTitle "Hilfe zum Brückenrelais">
-<!ENTITY torsettings.bridgeHelp1 "Brücken sind nicht aufgelistete Vermittler, die es schwieriger machen, Verbindungen zum Tor-Netzwerk zu blockieren.  Jede Art von Brücke verwendet eine andere Methode, um Zensur zu vermeiden.  Die vom Typ obfs lassen Ihren Datenverkehr wie Zufallsrauschen aussehen und die vom Typ meek lassen Ihren Datenverkehr aussehen, als ob Sie eine Verbindung zu diesem jeweiligen Dienst herstellen anstatt zu Tor.">
-<!ENTITY torsettings.bridgeHelp2 "Aufgrund der Tatsache, dass bestimmte Länder versuchen, Tor zu blockieren, funktionieren bestimmte Brücken in bestimmten Ländern, aber nicht in anderen.  Wenn Sie sich nicht sicher sind, welche Brücken in Ihrem Land funktionieren, besuchen Sie torproject.org/about/contact.html#support">
+<!ENTITY torsettings.bridgeHelp1 "Brücken sind nicht aufgelistete Vermittler, die es schwieriger machen, Verbindungen zum Tor-Netzwerk zu blockieren.  Jede Art von Brücke verwendet eine andere Methode, um Zensur zu vermeiden.  Die vom Typ obfs lassen Ihren Datenverkehr wie Zufallsrauschen aussehen, und die vom Typ meek lassen Ihren Datenverkehr aussehen, als ob Sie eine Verbindung zu diesem jeweiligen Dienst herstellen anstatt zu Tor.">
+<!ENTITY torsettings.bridgeHelp2 "Aufgrund der Art, wie bestimmte Länder versuchen, Tor zu blockieren, funktionieren bestimmte Brücken in gewissen Ländern, nicht aber in anderen.  Wenn Sie sich nicht sicher sind, welche Brücken in Ihrem Land funktionieren, besuchen Sie torproject.org/about/contact.html#support">
<!-- Progress -->
<!ENTITY torprogress.pleaseWait "Bitte warten Sie, während eine Verbindung zum Tor-Netzwerk hergestellt wird.  Das kann einige Minuten dauern.">
[View Less]
commit 832b2f080dcc4d6843544b556b54062191d4c849
Author: Translation commit bot <translation(a)torproject.org>
Date: Sun Sep 30 15:48:39 2018 +0000
Update translations for tor-launcher-network-settings
---
de/network-settings.dtd | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/de/network-settings.dtd b/de/network-settings.dtd
index 33caee29e..ae6830390 100644
--- a/de/network-settings.dtd
+++ b/de/network-settings.dtd
@@ -10,7 +10,7 @@
<!-- For "…
[View More]first run" wizard: -->
<!ENTITY torSettings.connectPrompt "Klicken Sie auf "Verbinden", um eine Verbindung zu Tor herzustellen.">
-<!ENTITY torSettings.configurePrompt "Klicken Sie auf "Konfigurieren", um die Netzwerkeinstellungen anzupassen, wenn Sie sich in einem Land befinden, das Tor blockiert (z.B. Ägypten, China, Türkei) oder wenn Sie sich von einem privaten Netzwerk aus verbinden, das einen Proxy benötigt.">
+<!ENTITY torSettings.configurePrompt "Klicken Sie auf "Konfigurieren", um die Netzwerkeinstellungen anzupassen, wenn Sie sich in einem Land befinden, das Tor blockiert (z.B. Ägypten, China, Türkei), oder wenn Sie sich von einem privaten Netzwerk aus verbinden, das einen Proxy benötigt.">
<!ENTITY torSettings.configure "Konfigurieren">
<!ENTITY torSettings.connect "Verbinden">
@@ -41,7 +41,7 @@
<!ENTITY torsettings.useBridges.checkbox "Tor wird in meinem Land blockiert.">
<!ENTITY torsettings.useBridges.default "Bereitgestellte Brücke auswählen">
<!ENTITY torsettings.useBridges.default.placeholder "Brücke auswählen">
-<!ENTITY torsettings.useBridges.bridgeDB "Brücke von torproject.org anfragen">
+<!ENTITY torsettings.useBridges.bridgeDB "Brücke von torproject.org anfordern">
<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Geben Sie die Zeichen in dem Bild ein">
<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Neue Herausforderung bekommen">
<!ENTITY torsettings.useBridges.captchaSubmit "Übermitteln">
@@ -55,8 +55,8 @@
<!ENTITY torsettings.proxyHelp1 "Unter Umständen ist ein lokaler Proxy nötig, um sich von einem eingeschränkten Netzwerk eines Unternehmens, einer Schule oder Universität zu verbinden. Im Zweifelsfall kann die Einstellung in einem anderen Browser oder die System-Netzwerkeinstellung .verglichen werden.">
<!ENTITY torsettings.bridgeHelpTitle "Hilfe zum Brückenrelais">
-<!ENTITY torsettings.bridgeHelp1 "Brücken sind nicht aufgelistete Vermittler, die es schwieriger machen, Verbindungen zum Tor-Netzwerk zu blockieren.  Jede Art von Brücke verwendet eine andere Methode, um Zensur zu vermeiden.  Die vom Typ obfs lassen Ihren Datenverkehr wie Zufallsrauschen aussehen und die vom Typ meek lassen Ihren Datenverkehr aussehen, als ob Sie eine Verbindung zu diesem jeweiligen Dienst herstellen anstatt zu Tor.">
-<!ENTITY torsettings.bridgeHelp2 "Aufgrund der Tatsache, dass bestimmte Länder versuchen, Tor zu blockieren, funktionieren bestimmte Brücken in bestimmten Ländern, aber nicht in anderen.  Wenn Sie sich nicht sicher sind, welche Brücken in Ihrem Land funktionieren, besuchen Sie torproject.org/about/contact.html#support">
+<!ENTITY torsettings.bridgeHelp1 "Brücken sind nicht aufgelistete Vermittler, die es schwieriger machen, Verbindungen zum Tor-Netzwerk zu blockieren.  Jede Art von Brücke verwendet eine andere Methode, um Zensur zu vermeiden.  Die vom Typ obfs lassen Ihren Datenverkehr wie Zufallsrauschen aussehen, und die vom Typ meek lassen Ihren Datenverkehr aussehen, als ob Sie eine Verbindung zu diesem jeweiligen Dienst herstellen anstatt zu Tor.">
+<!ENTITY torsettings.bridgeHelp2 "Aufgrund der Art, wie bestimmte Länder versuchen, Tor zu blockieren, funktionieren bestimmte Brücken in gewissen Ländern, nicht aber in anderen.  Wenn Sie sich nicht sicher sind, welche Brücken in Ihrem Land funktionieren, besuchen Sie torproject.org/about/contact.html#support">
<!-- Progress -->
<!ENTITY torprogress.pleaseWait "Bitte warten Sie, während eine Verbindung zum Tor-Netzwerk hergestellt wird.  Das kann einige Minuten dauern.">
[View Less]
commit 92d83967bfe7024a485755344259091e7e3b78a0
Author: Translation commit bot <translation(a)torproject.org>
Date: Sun Sep 30 15:48:18 2018 +0000
Update translations for torbutton-browseronboardingproperties_completed
---
de/browserOnboarding.properties | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/de/browserOnboarding.properties b/de/browserOnboarding.properties
index b9d841eac..1243128c7 100644
--- a/de/browserOnboarding.properties
+++ b/de/…
[View More]browserOnboarding.properties
@@ -4,17 +4,17 @@
onboarding.tour-tor-welcome=Willkommen
onboarding.tour-tor-welcome.title=Fertig.
-onboarding.tour-tor-welcome.description=Tor Browser bietet höchste Privatsphäre und Sicherheit beim Surfen im Internet. Es schützt jetzt auch gegen Tracker, Überwachung und Zensur. Diese Einführung zeigt, wie.
+onboarding.tour-tor-welcome.description=Tor Browser bietet höchste Privatsphäre und Sicherheit beim Surfen im Internet. Sie sind jetzt auch gegen Tracker, Überwachung und Zensur geschützt. Diese Einführung zeigt, wie.
onboarding.tour-tor-welcome.button=Jetzt starten
onboarding.tour-tor-privacy=Privatsphäre
onboarding.tour-tor-privacy.title=Tracker und Schnüffler abweisen.
-onboarding.tour-tor-privacy.description=Tor Browser isoliert Cookies und löscht den Verlauf nach jeder Benutzung. Diese Veränderungen garantieren, dass Privatsphäre und Sicherheit im Browser geschützt sind. Klicke auf "Tor-Netzwerk", um zu erfahren wir Tor auf Netzwerkebene schützt.
+onboarding.tour-tor-privacy.description=Tor Browser isoliert Cookies und löscht den Verlauf nach jeder Benutzung. Diese Veränderungen garantieren, dass Privatsphäre und Sicherheit im Browser geschützt sind. Klicken Sie auf "Tor-Netzwerk", um zu erfahren, wie Tor auf Netzwerkebene schützt.
onboarding.tour-tor-privacy.button=Öffne Tor-Netzwerk
onboarding.tour-tor-network=Tor-Netzwerk
onboarding.tour-tor-network.title=Bereise ein dezentrales Netzwerk.
-onboarding.tour-tor-network.description=Tor Browser verbindet sich mit dem Tor-Netzwerk, das von tausenden Freiwilligen betrieben wird. Anders als andere VPN gibt es keinen zentralen Punkt, dem vertraut werden muss, um das Internet privat zu nutzen.
+onboarding.tour-tor-network.description=Der Tor Browser verbindet sich mit dem Tor-Netzwerk, das von tausenden Freiwilligen betrieben wird. Anders als bei einem VPN gibt es keinen zentralen Punkt, dem vertraut werden muss, um das Internet privat zu nutzen.
onboarding.tour-tor-network.button=Circuit-Ansicht öffnen
onboarding.tour-tor-circuit-display=Circuit-Ansicht
@@ -24,7 +24,7 @@ onboarding.tour-tor-circuit-display.button=Meinen Pfad sehen
onboarding.tour-tor-security=Sicherheit
onboarding.tour-tor-security.title=Wähle deine Erfahrung
-onboarding.tour-tor-security.description=Wir bieten zusätzliche Einstellungen, um die Sicherheit zu erhöhen. In den Sicherheitseinstellungen können verschiedene Objekte und Funktionen deaktiviert werden, welche die Sicherheit des Computers gefährden können. Klicke, um zu erfahren, was die verschiedenen Optionen bewirken.
+onboarding.tour-tor-security.description=Wir bieten zusätzliche Einstellungen, um die Sicherheit zu erhöhen. In den Sicherheitseinstellungen können verschiedene Objekte und Funktionen deaktiviert werden, welche die Sicherheit des Computers gefährden können. Klicken Sie, um zu erfahren, was die verschiedenen Optionen bewirken.
onboarding.tour-tor-security.button=Einstellungen überprüfen
onboarding.tour-tor-expect-differences=Erfahrungswerte
@@ -48,7 +48,7 @@ onboarding.tor-circuit-display.intro.title=Wie funktionieren Circuits?
onboarding.tor-circuit-display.intro.msg=Circuits bestehen aus zufällig zugeordneten Relays, d.h. Computern auf der ganzen Welt, die konfiguriert sind, um Torverkehr weiterzuleiten. Circuits ermöglichen es Ihnen, privat zu surfen und sich mit Onion-Diensten zu verbinden.\n
onboarding.tor-circuit-display.diagram.title=Circuit-Ansicht
-onboarding.tor-circuit-display.diagram.msg=Dieses Diagramm zeigt die Relais, aus denen die Circuits für diese Website besteht. Um zu verhindern, dass Aktivitäten zwischen verschiedenen Standorten verlinkt werden, erhält jede Website einen anderen Circuit.
+onboarding.tor-circuit-display.diagram.msg=Dieses Diagramm zeigt die Relays, aus denen die Circuits für diese Website besteht. Um zu verhindern, dass Aktivitäten zwischen verschiedenen Standorten verlinkt werden, erhält jede Website einen anderen Circuit.
onboarding.tor-circuit-display.new-circuit.title=Brauchen Sie einen neuen Circuit?
-onboarding.tor-circuit-display.new-circuit.msg=Wenn Sie keine Verbindung zu der Website herstellen können, die Sie besuchen möchten, oder wenn sie nicht richtig geladen wird, können Sie diese Schaltfläche verwenden um die Website über einen neuen Circuit zu laden.
+onboarding.tor-circuit-display.new-circuit.msg=Wenn Sie keine Verbindung zu der Website herstellen können, die Sie besuchen möchten, oder wenn sie nicht richtig geladen wird, können Sie diese Schaltfläche verwenden, um die Website über einen neuen Circuit zu laden.
[View Less]
commit 64c66b278ffa79cd08f07f5082ff77c6bfa71f37
Author: Translation commit bot <translation(a)torproject.org>
Date: Sun Sep 30 15:48:13 2018 +0000
Update translations for torbutton-browseronboardingproperties
---
de/browserOnboarding.properties | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/de/browserOnboarding.properties b/de/browserOnboarding.properties
index b9d841eac..1243128c7 100644
--- a/de/browserOnboarding.properties
+++ b/de/…
[View More]browserOnboarding.properties
@@ -4,17 +4,17 @@
onboarding.tour-tor-welcome=Willkommen
onboarding.tour-tor-welcome.title=Fertig.
-onboarding.tour-tor-welcome.description=Tor Browser bietet höchste Privatsphäre und Sicherheit beim Surfen im Internet. Es schützt jetzt auch gegen Tracker, Überwachung und Zensur. Diese Einführung zeigt, wie.
+onboarding.tour-tor-welcome.description=Tor Browser bietet höchste Privatsphäre und Sicherheit beim Surfen im Internet. Sie sind jetzt auch gegen Tracker, Überwachung und Zensur geschützt. Diese Einführung zeigt, wie.
onboarding.tour-tor-welcome.button=Jetzt starten
onboarding.tour-tor-privacy=Privatsphäre
onboarding.tour-tor-privacy.title=Tracker und Schnüffler abweisen.
-onboarding.tour-tor-privacy.description=Tor Browser isoliert Cookies und löscht den Verlauf nach jeder Benutzung. Diese Veränderungen garantieren, dass Privatsphäre und Sicherheit im Browser geschützt sind. Klicke auf "Tor-Netzwerk", um zu erfahren wir Tor auf Netzwerkebene schützt.
+onboarding.tour-tor-privacy.description=Tor Browser isoliert Cookies und löscht den Verlauf nach jeder Benutzung. Diese Veränderungen garantieren, dass Privatsphäre und Sicherheit im Browser geschützt sind. Klicken Sie auf "Tor-Netzwerk", um zu erfahren, wie Tor auf Netzwerkebene schützt.
onboarding.tour-tor-privacy.button=Öffne Tor-Netzwerk
onboarding.tour-tor-network=Tor-Netzwerk
onboarding.tour-tor-network.title=Bereise ein dezentrales Netzwerk.
-onboarding.tour-tor-network.description=Tor Browser verbindet sich mit dem Tor-Netzwerk, das von tausenden Freiwilligen betrieben wird. Anders als andere VPN gibt es keinen zentralen Punkt, dem vertraut werden muss, um das Internet privat zu nutzen.
+onboarding.tour-tor-network.description=Der Tor Browser verbindet sich mit dem Tor-Netzwerk, das von tausenden Freiwilligen betrieben wird. Anders als bei einem VPN gibt es keinen zentralen Punkt, dem vertraut werden muss, um das Internet privat zu nutzen.
onboarding.tour-tor-network.button=Circuit-Ansicht öffnen
onboarding.tour-tor-circuit-display=Circuit-Ansicht
@@ -24,7 +24,7 @@ onboarding.tour-tor-circuit-display.button=Meinen Pfad sehen
onboarding.tour-tor-security=Sicherheit
onboarding.tour-tor-security.title=Wähle deine Erfahrung
-onboarding.tour-tor-security.description=Wir bieten zusätzliche Einstellungen, um die Sicherheit zu erhöhen. In den Sicherheitseinstellungen können verschiedene Objekte und Funktionen deaktiviert werden, welche die Sicherheit des Computers gefährden können. Klicke, um zu erfahren, was die verschiedenen Optionen bewirken.
+onboarding.tour-tor-security.description=Wir bieten zusätzliche Einstellungen, um die Sicherheit zu erhöhen. In den Sicherheitseinstellungen können verschiedene Objekte und Funktionen deaktiviert werden, welche die Sicherheit des Computers gefährden können. Klicken Sie, um zu erfahren, was die verschiedenen Optionen bewirken.
onboarding.tour-tor-security.button=Einstellungen überprüfen
onboarding.tour-tor-expect-differences=Erfahrungswerte
@@ -48,7 +48,7 @@ onboarding.tor-circuit-display.intro.title=Wie funktionieren Circuits?
onboarding.tor-circuit-display.intro.msg=Circuits bestehen aus zufällig zugeordneten Relays, d.h. Computern auf der ganzen Welt, die konfiguriert sind, um Torverkehr weiterzuleiten. Circuits ermöglichen es Ihnen, privat zu surfen und sich mit Onion-Diensten zu verbinden.\n
onboarding.tor-circuit-display.diagram.title=Circuit-Ansicht
-onboarding.tor-circuit-display.diagram.msg=Dieses Diagramm zeigt die Relais, aus denen die Circuits für diese Website besteht. Um zu verhindern, dass Aktivitäten zwischen verschiedenen Standorten verlinkt werden, erhält jede Website einen anderen Circuit.
+onboarding.tor-circuit-display.diagram.msg=Dieses Diagramm zeigt die Relays, aus denen die Circuits für diese Website besteht. Um zu verhindern, dass Aktivitäten zwischen verschiedenen Standorten verlinkt werden, erhält jede Website einen anderen Circuit.
onboarding.tor-circuit-display.new-circuit.title=Brauchen Sie einen neuen Circuit?
-onboarding.tor-circuit-display.new-circuit.msg=Wenn Sie keine Verbindung zu der Website herstellen können, die Sie besuchen möchten, oder wenn sie nicht richtig geladen wird, können Sie diese Schaltfläche verwenden um die Website über einen neuen Circuit zu laden.
+onboarding.tor-circuit-display.new-circuit.msg=Wenn Sie keine Verbindung zu der Website herstellen können, die Sie besuchen möchten, oder wenn sie nicht richtig geladen wird, können Sie diese Schaltfläche verwenden, um die Website über einen neuen Circuit zu laden.
[View Less]