tor-commits
Threads by month
- ----- 2025 -----
- 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
December 2012
- 17 participants
- 1600 discussions

[translation/vidalia_help_completed] Update translations for vidalia_help_completed
by translation@torproject.org 04 Dec '12
by translation@torproject.org 04 Dec '12
04 Dec '12
commit 93ef7607ba41dbd64367bd2c85a9fdcc7cb60560
Author: Translation commit bot <translation(a)torproject.org>
Date: Tue Dec 4 15:45:40 2012 +0000
Update translations for vidalia_help_completed
---
es/server.po | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/es/server.po b/es/server.po
index 073fd4b..f1d0c8d 100644
--- a/es/server.po
+++ b/es/server.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: https://trac.torproject.org/projects/tor\n"
"POT-Creation-Date: 2010-06-26 17:00+0200\n"
-"PO-Revision-Date: 2012-12-03 02:16+0000\n"
+"PO-Revision-Date: 2012-12-04 15:43+0000\n"
"Last-Translator: strel <strelnic(a)gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -21,7 +21,7 @@ msgstr ""
#. type: Content of: <html><body><h1>
#: en/server.html:16
msgid "Setting Up a Tor Relay"
-msgstr "Configurando un repetidor Tor"
+msgstr "Montando un repetidor Tor"
#. type: Content of: <html><body>
#: en/server.html:19
1
0

[translation/vidalia_help] Update translations for vidalia_help
by translation@torproject.org 04 Dec '12
by translation@torproject.org 04 Dec '12
04 Dec '12
commit b8d33767c8bc943ae0afcb9ec8b106293a4bd6a0
Author: Translation commit bot <translation(a)torproject.org>
Date: Tue Dec 4 15:45:29 2012 +0000
Update translations for vidalia_help
---
es/server.po | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/es/server.po b/es/server.po
index 073fd4b..f1d0c8d 100644
--- a/es/server.po
+++ b/es/server.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: https://trac.torproject.org/projects/tor\n"
"POT-Creation-Date: 2010-06-26 17:00+0200\n"
-"PO-Revision-Date: 2012-12-03 02:16+0000\n"
+"PO-Revision-Date: 2012-12-04 15:43+0000\n"
"Last-Translator: strel <strelnic(a)gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -21,7 +21,7 @@ msgstr ""
#. type: Content of: <html><body><h1>
#: en/server.html:16
msgid "Setting Up a Tor Relay"
-msgstr "Configurando un repetidor Tor"
+msgstr "Montando un repetidor Tor"
#. type: Content of: <html><body>
#: en/server.html:19
1
0
Author: phobos
Date: 2012-12-04 15:09:30 +0000 (Tue, 04 Dec 2012)
New Revision: 25929
Modified:
website/trunk/docs/en/faq-abuse.wml
Log:
close the h3 tag.
Modified: website/trunk/docs/en/faq-abuse.wml
===================================================================
--- website/trunk/docs/en/faq-abuse.wml 2012-12-03 21:10:48 UTC (rev 25928)
+++ website/trunk/docs/en/faq-abuse.wml 2012-12-04 15:09:30 UTC (rev 25929)
@@ -394,7 +394,7 @@
<a id="AbuseOpinion"></a>
<h3><a class="anchor" href="#AbuseOpinion">Where does Tor Project
-stand on abusers using technology?</a>
+stand on abusers using technology?</a></h3>
<p>We take abuse seriously. Activists and law enforcement
use Tor to investigate abuse and help support survivors. We
1
0

[translation/liveusb-creator] Update translations for liveusb-creator
by translation@torproject.org 04 Dec '12
by translation@torproject.org 04 Dec '12
04 Dec '12
commit 55693ac2910162d84c3cd6c64e2cd7274570f10c
Author: Translation commit bot <translation(a)torproject.org>
Date: Tue Dec 4 08:46:00 2012 +0000
Update translations for liveusb-creator
---
de/de.po | 45 +++++++++++++++++++++++----------------------
1 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/de/de.po b/de/de.po
index f80ff26..704b260 100644
--- a/de/de.po
+++ b/de/de.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <benni(a)include-benni.de>, 2012.
# Cornelius Neckenig <tbull(a)fedoraproject.org>, 2009.
# Marcus Nitzschke <marcusni(a)gmx.de>, 2008.
# <matsa(a)riseup.net>, 2012.
@@ -13,8 +14,8 @@ msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: https://trac.torproject.org/projects/tor\n"
"POT-Creation-Date: 2012-04-13 14:16+0200\n"
-"PO-Revision-Date: 2012-11-29 23:56+0000\n"
-"Last-Translator: Sacro <Scion(a)T-Online.de>\n"
+"PO-Revision-Date: 2012-12-04 08:38+0000\n"
+"Last-Translator: cyberfork <benni(a)include-benni.de>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -101,7 +102,7 @@ msgid ""
"Warning: The Master Boot Record on your device does not match your system's "
"syslinux MBR. If you have trouble booting this stick, try running the "
"liveusb-creator with the --reset-mbr option."
-msgstr ""
+msgstr "Warnung: Der Master Boot Record auf deinem Laufwerk stimmt nicht mit dem syslinux MBR überein. Hast du Probleme beim booten von diesem Stick, versuche den liveusb-creator mit der Option --reset-mbr zu starten"
#: ../liveusb/gui.py:638
msgid "Unable to mount device"
@@ -156,7 +157,7 @@ msgstr "Die ausgewählte Datei kann nicht gelesen werden. Bitte ändern Sie die
msgid ""
"Unable to use the selected file. You may have better luck if you move your "
"ISO to the root of your drive (ie: C:\\)"
-msgstr ""
+msgstr "Die ausgewählte Datei kann nicht verwendet werden. Möglicherweise funktioniert es wenn du die ISO Datei direkt in einem Laufwerk (z.B. C:\\) ablegst."
#: ../liveusb/gui.py:743
#, python-format
@@ -202,15 +203,15 @@ msgstr "Richte OLPC-Boot-Datei ein ..."
msgid ""
"There was a problem executing the following command: `%(command)s`.\n"
"A more detailed error log has been written to '%(filename)s'."
-msgstr ""
+msgstr "Es gab ein Problem beim Auführen des folgenden Kommandos: `%(command)s`. Eine detailreichere Fehlerbeschreibung ist hier zu finden: `%(filename)s`"
#: ../liveusb/creator.py:384
msgid "Verifying SHA1 checksum of LiveCD image..."
-msgstr ""
+msgstr "Überprüfe SHA1 Prüfsumme des LiveCD Abbildes"
#: ../liveusb/creator.py:388
msgid "Verifying SHA256 checksum of LiveCD image..."
-msgstr ""
+msgstr "Überprüfe SHA256 Prüfsumme des LiveCD Abbildes"
#: ../liveusb/creator.py:404
msgid ""
@@ -234,7 +235,7 @@ msgstr "Erzeuge %s MB persistentes Overlay"
#: ../liveusb/creator.py:487
#, python-format
msgid "Unable to copy %(infile)s to %(outfile)s: %(message)s"
-msgstr ""
+msgstr "%(infile)s konnte nicht nach %(outfile)s kopiert werden: %(message)s"
#: ../liveusb/creator.py:497
msgid "Removing existing Live OS"
@@ -243,7 +244,7 @@ msgstr "Entferne bestehendes Live BS"
#: ../liveusb/creator.py:506 ../liveusb/creator.py:517
#, python-format
msgid "Unable to chmod %(file)s: %(message)s"
-msgstr ""
+msgstr "Berechtigungen %(file)s konnten nicht geändert werden: %(message)s"
#: ../liveusb/creator.py:510
#, python-format
@@ -264,23 +265,23 @@ msgstr "Kann Gerät %s nicht finden"
msgid ""
"You are using an old version of syslinux-extlinux that does not support the "
"ext4 filesystem"
-msgstr ""
+msgstr "Du verwendest eine alte Version von syslinux-extlinux die das ext4 Dateisystem nicht unterstüzt"
#: ../liveusb/creator.py:718
#, python-format
msgid "Unable to write on %(device)s, skipping."
-msgstr ""
+msgstr "Auf %(device)s kann nicht geschrieben werden. Es wird übersprungen"
#: ../liveusb/creator.py:737
#, python-format
msgid ""
"Some partitions of USB device %(device)s are mounted. They will be unmounted"
" before starting the installation process."
-msgstr ""
+msgstr "Einige Partitionen des USB-Gerätes %(device)s sind eingehängt. Diese werden vor dem Start der Installation ausgehängt"
#: ../liveusb/creator.py:786 ../liveusb/creator.py:886
msgid "Unknown filesystem. Your device may need to be reformatted."
-msgstr ""
+msgstr "Unbekanntes Dateisystem. Eventuell muss das Gerät formatiert werden."
#: ../liveusb/creator.py:789
#, python-format
@@ -297,21 +298,21 @@ msgstr "Nicht unterstütztes Dateisystem: %s"
#: ../liveusb/creator.py:807
#, python-format
msgid "Unknown dbus exception while trying to mount device: %(message)s"
-msgstr ""
+msgstr "Unbekannte dbus Ausnahme während dem einhängen des Gerätes: %(message)s"
#: ../liveusb/creator.py:811
#, python-format
msgid "Unable to mount device: %(message)s"
-msgstr ""
+msgstr "Gerät konnte nicht eingehängt werden: %(message)s"
#: ../liveusb/creator.py:823
msgid "No mount points found"
-msgstr ""
+msgstr "Keine Einhängepunkte gefunden"
#: ../liveusb/creator.py:834
#, python-format
msgid "Unmounting %(device)s"
-msgstr ""
+msgstr "%(device)s wird ausgehängt"
#: ../liveusb/creator.py:846
#, python-format
@@ -325,7 +326,7 @@ msgstr "Überprüfe Dateisystem ..."
#: ../liveusb/creator.py:907
#, python-format
msgid "Unable to change volume label: %(message)s"
-msgstr ""
+msgstr "Datenträgerbeschreibung konnte nicht geändert werden: %(message)s"
#: ../liveusb/creator.py:912 ../liveusb/creator.py:1236
msgid "Installing bootloader..."
@@ -343,7 +344,7 @@ msgstr "%s bereits bootfähig"
#: ../liveusb/creator.py:1037
msgid "Unable to find partition"
-msgstr ""
+msgstr "Partition konnte nicht gefunden werden"
#: ../liveusb/creator.py:1060
#, python-format
@@ -358,7 +359,7 @@ msgstr "Setze Master Boot Record von %s zurück"
#: ../liveusb/creator.py:1112
msgid ""
"Unable to reset MBR. You may not have the `syslinux` package installed."
-msgstr ""
+msgstr "MBR konnte nicht zurückgesetzt werden. Möglicherweise ist das Packet `syslinux` nicht installiert"
#: ../liveusb/creator.py:1115
msgid "Drive is a loopback, skipping MBR reset"
@@ -371,7 +372,7 @@ msgstr "Berechne den SHA-1-Hash von %s"
#: ../liveusb/creator.py:1143
msgid "Synchronizing data on disk..."
-msgstr ""
+msgstr "Synchronisiere Daten auf dem Datenträger"
#: ../liveusb/creator.py:1195
msgid "Error probing device"
@@ -379,7 +380,7 @@ msgstr ""
#: ../liveusb/creator.py:1197
msgid "Unable to find any removable device"
-msgstr ""
+msgstr "Es wurde kein Wechseldatenträger gefunden"
#: ../liveusb/creator.py:1207
msgid ""
1
0
commit fb0aec5d95e9d2e6d64b7ab7c51018f3581565c5
Author: Damian Johnson <atagar(a)torproject.org>
Date: Mon Dec 3 23:20:24 2012 -0800
Tidying up event testing boilerplate
Most event unit tests initially check two things...
* That the event class matches an expected value.
* That the string content for the event matches what we were constructed with.
Blending these two checks with the function that provides us with events.
---
test/unit/response/events.py | 302 +++++++++++++++++-------------------------
1 files changed, 119 insertions(+), 183 deletions(-)
diff --git a/test/unit/response/events.py b/test/unit/response/events.py
index 58aebb4..6fbd907 100644
--- a/test/unit/response/events.py
+++ b/test/unit/response/events.py
@@ -199,11 +199,6 @@ $B4BE08B22D4D2923EDC3970FD1B93D0448C6D8FF~Unnamed"
ADDRMAP = '650 ADDRMAP www.atagar.com 75.119.206.243 "2012-11-19 00:50:13" \
EXPIRES="2012-11-19 08:50:13"'
-def _get_event(content):
- controller_event = mocking.get_message(content)
- stem.response.convert("EVENT", controller_event, arrived_at = 25)
- return controller_event
-
class TestEvents(unittest.TestCase):
def test_example(self):
"""
@@ -219,7 +214,7 @@ class TestEvents(unittest.TestCase):
def event_sender():
for i in xrange(3):
- print_bw(_get_event("650 BW 15 25"))
+ print_bw(self._get_event("650 BW 15 25"))
time.sleep(0.05)
controller = mocking.get_object(Controller, {
@@ -236,29 +231,24 @@ class TestEvents(unittest.TestCase):
events_thread.join()
def test_log_events(self):
- event = _get_event("650 DEBUG connection_edge_process_relay_cell(): Got an extended cell! Yay.")
+ event = self._get_event("650 DEBUG connection_edge_process_relay_cell(): Got an extended cell! Yay.", stem.response.events.LogEvent)
- self.assertTrue(isinstance(event, stem.response.events.LogEvent))
self.assertEqual("DEBUG", event.runlevel)
self.assertEqual("connection_edge_process_relay_cell(): Got an extended cell! Yay.", event.message)
- event = _get_event("650 INFO circuit_finish_handshake(): Finished building circuit hop:")
+ event = self._get_event("650 INFO circuit_finish_handshake(): Finished building circuit hop:", stem.response.events.LogEvent)
- self.assertTrue(isinstance(event, stem.response.events.LogEvent))
self.assertEqual("INFO", event.runlevel)
self.assertEqual("circuit_finish_handshake(): Finished building circuit hop:", event.message)
- event = _get_event("650+WARN\na multi-line\nwarning message\n.\n650 OK\n")
+ event = self._get_event("650+WARN\na multi-line\nwarning message\n.\n650 OK\n", stem.response.events.LogEvent, False)
- self.assertTrue(isinstance(event, stem.response.events.LogEvent))
self.assertEqual("WARN", event.runlevel)
self.assertEqual("a multi-line\nwarning message", event.message)
def test_addrmap_event(self):
- event = _get_event(ADDRMAP)
+ event = self._get_event(ADDRMAP, stem.response.events.AddrMapEvent)
- self.assertTrue(isinstance(event, stem.response.events.AddrMapEvent))
- self.assertEqual(ADDRMAP.lstrip("650 "), str(event))
self.assertEqual("www.atagar.com", event.hostname)
self.assertEqual("75.119.206.243", event.destination)
self.assertEqual(datetime.datetime(2012, 11, 19, 0, 50, 13), event.expiry)
@@ -266,20 +256,16 @@ class TestEvents(unittest.TestCase):
self.assertEqual(datetime.datetime(2012, 11, 19, 8, 50, 13), event.utc_expiry)
def test_authdir_newdesc_event(self):
- # TODO: We aren't actually parsing the event yet. Until then we can only
- # check that we properly get a AuthDirNewDescEvent for it.
+ # TODO: awaiting test data - https://trac.torproject.org/7534
- event = _get_event("650+AUTHDIR_NEWDESCS\nAction\nMessage\nDescriptor\n.\n650 OK\n")
+ event = self._get_event("650+AUTHDIR_NEWDESCS\nAction\nMessage\nDescriptor\n.\n650 OK\n", stem.response.events.AuthDirNewDescEvent, False)
- self.assertTrue(isinstance(event, stem.response.events.AuthDirNewDescEvent))
self.assertEqual([], event.positional_args)
self.assertEqual({}, event.keyword_args)
def test_build_timeout_set_event(self):
- event = _get_event(BUILD_TIMEOUT_EVENT)
+ event = self._get_event(BUILD_TIMEOUT_EVENT, stem.response.events.BuildTimeoutSetEvent)
- self.assertTrue(isinstance(event, stem.response.events.BuildTimeoutSetEvent))
- self.assertEqual(BUILD_TIMEOUT_EVENT.lstrip("650 "), str(event))
self.assertEqual(TimeoutSetType.COMPUTED, event.set_type)
self.assertEqual(124, event.total_times)
self.assertEqual(9019, event.timeout)
@@ -291,13 +277,11 @@ class TestEvents(unittest.TestCase):
self.assertEqual(0.072581, event.close_rate)
def test_bw_event(self):
- event = _get_event("650 BW 15 25")
-
- self.assertTrue(isinstance(event, stem.response.events.BandwidthEvent))
+ event = self._get_event("650 BW 15 25", stem.response.events.BandwidthEvent)
self.assertEqual(15, event.read)
self.assertEqual(25, event.written)
- event = _get_event("650 BW 0 0")
+ event = self._get_event("650 BW 0 0")
self.assertEqual(0, event.read)
self.assertEqual(0, event.written)
@@ -306,21 +290,19 @@ class TestEvents(unittest.TestCase):
# since tor doesn't actually do it yet (and likely never will), but might
# as well sanity test that it'll be ok.
- event = _get_event("650 BW 10 20 OR=5 EXIT=500")
+ event = self._get_event("650 BW 10 20 OR=5 EXIT=500")
self.assertEqual(10, event.read)
self.assertEqual(20, event.written)
self.assertEqual({'OR': '5', 'EXIT': '500'}, event.keyword_args)
- self.assertRaises(ProtocolError, _get_event, "650 BW 15")
- self.assertRaises(ProtocolError, _get_event, "650 BW -15 25")
- self.assertRaises(ProtocolError, _get_event, "650 BW 15 -25")
- self.assertRaises(ProtocolError, _get_event, "650 BW x 25")
+ self.assertRaises(ProtocolError, self._get_event, "650 BW 15")
+ self.assertRaises(ProtocolError, self._get_event, "650 BW -15 25")
+ self.assertRaises(ProtocolError, self._get_event, "650 BW 15 -25")
+ self.assertRaises(ProtocolError, self._get_event, "650 BW x 25")
def test_circ_event(self):
- event = _get_event(CIRC_LAUNCHED)
+ event = self._get_event(CIRC_LAUNCHED, stem.response.events.CircuitEvent)
- self.assertTrue(isinstance(event, stem.response.events.CircuitEvent))
- self.assertEqual(CIRC_LAUNCHED.lstrip("650 "), str(event))
self.assertEqual("7", event.id)
self.assertEqual(CircStatus.LAUNCHED, event.status)
self.assertEqual((), event.path)
@@ -332,10 +314,8 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.reason)
self.assertEqual(None, event.remote_reason)
- event = _get_event(CIRC_EXTENDED)
+ event = self._get_event(CIRC_EXTENDED, stem.response.events.CircuitEvent)
- self.assertTrue(isinstance(event, stem.response.events.CircuitEvent))
- self.assertEqual(CIRC_EXTENDED.lstrip("650 "), str(event))
self.assertEqual("7", event.id)
self.assertEqual(CircStatus.EXTENDED, event.status)
self.assertEqual((("999A226EBED397F331B612FE1E4CFAE5C1F201BA", "piyaz"),), event.path)
@@ -347,10 +327,8 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.reason)
self.assertEqual(None, event.remote_reason)
- event = _get_event(CIRC_FAILED)
+ event = self._get_event(CIRC_FAILED, stem.response.events.CircuitEvent)
- self.assertTrue(isinstance(event, stem.response.events.CircuitEvent))
- self.assertEqual(CIRC_FAILED.lstrip("650 "), str(event))
self.assertEqual("5", event.id)
self.assertEqual(CircStatus.FAILED, event.status)
self.assertEqual((("E57A476CD4DFBD99B4EE52A100A58610AD6E80B9", "ergebnisoffen"),), event.path)
@@ -362,10 +340,8 @@ class TestEvents(unittest.TestCase):
self.assertEqual(CircClosureReason.DESTROYED, event.reason)
self.assertEqual(CircClosureReason.OR_CONN_CLOSED, event.remote_reason)
- event = _get_event(CIRC_LAUNCHED_OLD)
+ event = self._get_event(CIRC_LAUNCHED_OLD, stem.response.events.CircuitEvent)
- self.assertTrue(isinstance(event, stem.response.events.CircuitEvent))
- self.assertEqual(CIRC_LAUNCHED_OLD.lstrip("650 "), str(event))
self.assertEqual("4", event.id)
self.assertEqual(CircStatus.LAUNCHED, event.status)
self.assertEqual((), event.path)
@@ -377,10 +353,8 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.reason)
self.assertEqual(None, event.remote_reason)
- event = _get_event(CIRC_EXTENDED_OLD)
+ event = self._get_event(CIRC_EXTENDED_OLD, stem.response.events.CircuitEvent)
- self.assertTrue(isinstance(event, stem.response.events.CircuitEvent))
- self.assertEqual(CIRC_EXTENDED_OLD.lstrip("650 "), str(event))
self.assertEqual("1", event.id)
self.assertEqual(CircStatus.EXTENDED, event.status)
self.assertEqual((("E57A476CD4DFBD99B4EE52A100A58610AD6E80B9", None), (None,"hamburgerphone")), event.path)
@@ -392,10 +366,8 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.reason)
self.assertEqual(None, event.remote_reason)
- event = _get_event(CIRC_BUILT_OLD)
+ event = self._get_event(CIRC_BUILT_OLD, stem.response.events.CircuitEvent)
- self.assertTrue(isinstance(event, stem.response.events.CircuitEvent))
- self.assertEqual(CIRC_BUILT_OLD.lstrip("650 "), str(event))
self.assertEqual("1", event.id)
self.assertEqual(CircStatus.BUILT, event.status)
self.assertEqual((("E57A476CD4DFBD99B4EE52A100A58610AD6E80B9", None), (None,"hamburgerphone"), (None, "PrivacyRepublic14")), event.path)
@@ -408,19 +380,14 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.remote_reason)
def test_clients_seen_event(self):
- event = _get_event(CLIENTS_SEEN_EVENT)
-
- self.assertTrue(isinstance(event, stem.response.events.ClientsSeenEvent))
- self.assertEqual(CLIENTS_SEEN_EVENT.lstrip("650 "), str(event))
+ event = self._get_event(CLIENTS_SEEN_EVENT, stem.response.events.ClientsSeenEvent)
self.assertEqual(datetime.datetime(2008, 12, 25, 23, 50, 43), event.start_time)
self.assertEqual({'us': 16, 'de': 8, 'uk': 8}, event.locales)
self.assertEqual({'v4': 16, 'v6': 40}, event.ip_versions)
def test_circ_minor_event(self):
- event = _get_event(CIRC_MINOR_EVENT)
+ event = self._get_event(CIRC_MINOR_EVENT, stem.response.events.CircMinorEvent)
- self.assertTrue(isinstance(event, stem.response.events.CircMinorEvent))
- self.assertEqual(CIRC_MINOR_EVENT.lstrip("650 "), str(event))
self.assertEqual("7", event.id)
self.assertEqual(CircEvent.PURPOSE_CHANGED, event.event)
self.assertEqual((("67B2BDA4264D8A189D9270E28B1D30A262838243", "europa1"),), event.path)
@@ -433,79 +400,59 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.old_hs_state)
def test_conf_changed(self):
- event = _get_event(CONF_CHANGED_EVENT)
-
expected_config = {
'ExitNodes': 'caerSidi',
'MaxCircuitDirtiness': '20',
'ExitPolicy': None,
}
- self.assertTrue(isinstance(event, stem.response.events.ConfChangedEvent))
+ event = self._get_event(CONF_CHANGED_EVENT, stem.response.events.ConfChangedEvent, False)
self.assertEqual(expected_config, event.config)
def test_descchanged_event(self):
- # all we can check for is that the event is properly parsed as a
- # DescChangedEvent instance
-
- event = _get_event("650 DESCCHANGED")
-
- self.assertTrue(isinstance(event, stem.response.events.DescChangedEvent))
- self.assertEqual("DESCCHANGED", str(event))
- self.assertEqual([], event.positional_args)
- self.assertEqual({}, event.keyword_args)
+ self._get_event("650 DESCCHANGED", stem.response.events.DescChangedEvent)
def test_guard_event(self):
- event = _get_event(GUARD_NEW)
-
- self.assertTrue(isinstance(event, stem.response.events.GuardEvent))
- self.assertEqual(GUARD_NEW.lstrip("650 "), str(event))
+ event = self._get_event(GUARD_NEW, stem.response.events.GuardEvent)
self.assertEqual(GuardType.ENTRY, event.guard_type)
self.assertEqual("$36B5DBA788246E8369DBAF58577C6BC044A9A374", event.name)
self.assertEqual(GuardStatus.NEW, event.status)
- event = _get_event(GUARD_GOOD)
+ event = self._get_event(GUARD_GOOD, stem.response.events.GuardEvent)
self.assertEqual(GuardType.ENTRY, event.guard_type)
self.assertEqual("$5D0034A368E0ABAF663D21847E1C9B6CFA09752A", event.name)
self.assertEqual(GuardStatus.GOOD, event.status)
- event = _get_event(GUARD_BAD)
+ event = self._get_event(GUARD_BAD, stem.response.events.GuardEvent)
self.assertEqual(GuardType.ENTRY, event.guard_type)
self.assertEqual("$5D0034A368E0ABAF663D21847E1C9B6CFA09752A", event.name)
self.assertEqual(GuardStatus.BAD, event.status)
def test_newdesc_event(self):
- event = _get_event(NEWDESC_SINGLE)
- expected_relays = (("B3FA3110CC6F42443F039220C134CBD2FC4F0493", "Sakura"),)
+ event = self._get_event(NEWDESC_SINGLE, stem.response.events.NewDescEvent)
- self.assertTrue(isinstance(event, stem.response.events.NewDescEvent))
- self.assertEqual(NEWDESC_SINGLE.lstrip("650 "), str(event))
+ expected_relays = (("B3FA3110CC6F42443F039220C134CBD2FC4F0493", "Sakura"),)
self.assertEqual(expected_relays, event.relays)
- event = _get_event(NEWDESC_MULTIPLE)
expected_relays = (("BE938957B2CA5F804B3AFC2C1EE6673170CDBBF8", "Moonshine"),
("B4BE08B22D4D2923EDC3970FD1B93D0448C6D8FF", "Unnamed"))
- self.assertTrue(isinstance(event, stem.response.events.NewDescEvent))
- self.assertEqual(NEWDESC_MULTIPLE.lstrip("650 "), str(event))
+ event = self._get_event(NEWDESC_MULTIPLE, stem.response.events.NewDescEvent)
self.assertEqual(expected_relays, event.relays)
def test_new_consensus_event(self):
- expected_desc = []
-
- expected_desc.append(mocking.get_router_status_entry_v3({
- "r": "Beaver /96bKo4soysolMgKn5Hex2nyFSY pAJH9dSBp/CG6sPhhVY/5bLaVPM 2012-12-02 22:02:45 77.223.43.54 9001 0",
- "s": "Fast Named Running Stable Valid",
- }))
-
- expected_desc.append(mocking.get_router_status_entry_v3({
- "r": "Unnamed /+fJRWjmIGNAL2C5rRZHq3R91tA 7AnpZjfdBpYzXnMNm+w1bTsFF6Y 2012-12-02 17:51:10 91.121.184.87 9001 0",
- "s": "Fast Guard Running Stable Valid",
- }))
-
- event = _get_event(NEWCONSENSUS_EVENT)
-
- self.assertTrue(isinstance(event, stem.response.events.NewConsensusEvent))
+ expected_desc = [
+ mocking.get_router_status_entry_v3({
+ "r": "Beaver /96bKo4soysolMgKn5Hex2nyFSY pAJH9dSBp/CG6sPhhVY/5bLaVPM 2012-12-02 22:02:45 77.223.43.54 9001 0",
+ "s": "Fast Named Running Stable Valid",
+ }),
+ mocking.get_router_status_entry_v3({
+ "r": "Unnamed /+fJRWjmIGNAL2C5rRZHq3R91tA 7AnpZjfdBpYzXnMNm+w1bTsFF6Y 2012-12-02 17:51:10 91.121.184.87 9001 0",
+ "s": "Fast Guard Running Stable Valid",
+ }),
+ ]
+
+ event = self._get_event(NEWCONSENSUS_EVENT, stem.response.events.NewConsensusEvent, False)
self.assertEqual(expected_desc, event.desc)
def test_ns_event(self):
@@ -514,16 +461,12 @@ class TestEvents(unittest.TestCase):
"s": "Fast HSDir Named Stable V2Dir Valid",
})
- event = _get_event(NS_EVENT)
-
- self.assertTrue(isinstance(event, stem.response.events.NetworkStatusEvent))
+ event = self._get_event(NS_EVENT, stem.response.events.NetworkStatusEvent, False)
self.assertEqual([expected_desc], event.desc)
def test_orconn_event(self):
- event = _get_event(ORCONN_CONNECTED)
+ event = self._get_event(ORCONN_CONNECTED, stem.response.events.ORConnEvent)
- self.assertTrue(isinstance(event, stem.response.events.ORConnEvent))
- self.assertEqual(ORCONN_CONNECTED.lstrip("650 "), str(event))
self.assertEqual("$7ED90E2833EE38A75795BA9237B0A4560E51E1A0=GreenDragon", event.endpoint)
self.assertEqual("7ED90E2833EE38A75795BA9237B0A4560E51E1A0", event.endpoint_fingerprint)
self.assertEqual("GreenDragon", event.endpoint_nickname)
@@ -533,10 +476,8 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.reason)
self.assertEqual(None, event.circ_count)
- event = _get_event(ORCONN_CLOSED)
+ event = self._get_event(ORCONN_CLOSED, stem.response.events.ORConnEvent)
- self.assertTrue(isinstance(event, stem.response.events.ORConnEvent))
- self.assertEqual(ORCONN_CLOSED.lstrip("650 "), str(event))
self.assertEqual("$A1130635A0CDA6F60C276FBF6994EFBD4ECADAB1~tama", event.endpoint)
self.assertEqual("A1130635A0CDA6F60C276FBF6994EFBD4ECADAB1", event.endpoint_fingerprint)
self.assertEqual("tama", event.endpoint_nickname)
@@ -547,40 +488,32 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.circ_count)
def test_signal_event(self):
- event = _get_event("650 SIGNAL DEBUG")
- self.assertTrue(isinstance(event, stem.response.events.SignalEvent))
- self.assertEqual("SIGNAL DEBUG", str(event))
+ event = self._get_event("650 SIGNAL DEBUG", stem.response.events.SignalEvent)
self.assertEqual(Signal.DEBUG, event.signal)
- event = _get_event("650 SIGNAL DUMP")
+ event = self._get_event("650 SIGNAL DUMP", stem.response.events.SignalEvent)
self.assertEqual(Signal.DUMP, event.signal)
def test_status_event_consensus_arrived(self):
- event = _get_event(STATUS_CLIENT_CONSENSUS_ARRIVED)
-
- self.assertTrue(isinstance(event, stem.response.events.StatusEvent))
- self.assertEqual(STATUS_CLIENT_CONSENSUS_ARRIVED.lstrip("650 "), str(event))
+ event = self._get_event(STATUS_CLIENT_CONSENSUS_ARRIVED, stem.response.events.StatusEvent)
self.assertEqual(StatusType.CLIENT, event.status_type)
self.assertEqual(Runlevel.NOTICE, event.runlevel)
self.assertEqual("CONSENSUS_ARRIVED", event.action)
def test_status_event_enough_dir_info(self):
- event = _get_event(STATUS_CLIENT_ENOUGH_DIR_INFO)
-
+ event = self._get_event(STATUS_CLIENT_ENOUGH_DIR_INFO, stem.response.events.StatusEvent)
self.assertEqual(StatusType.CLIENT, event.status_type)
self.assertEqual(Runlevel.NOTICE, event.runlevel)
self.assertEqual("ENOUGH_DIR_INFO", event.action)
def test_status_event_circuit_established(self):
- event = _get_event(STATUS_CLIENT_CIRC_ESTABLISHED)
-
+ event = self._get_event(STATUS_CLIENT_CIRC_ESTABLISHED, stem.response.events.StatusEvent)
self.assertEqual(StatusType.CLIENT, event.status_type)
self.assertEqual(Runlevel.NOTICE, event.runlevel)
self.assertEqual("CIRCUIT_ESTABLISHED", event.action)
def test_status_event_bootstrap_descriptors(self):
- event = _get_event(STATUS_CLIENT_BOOTSTRAP_DESCRIPTORS)
-
+ event = self._get_event(STATUS_CLIENT_BOOTSTRAP_DESCRIPTORS, stem.response.events.StatusEvent)
self.assertEqual(StatusType.CLIENT, event.status_type)
self.assertEqual(Runlevel.NOTICE, event.runlevel)
self.assertEqual("BOOTSTRAP", event.action)
@@ -594,8 +527,7 @@ class TestEvents(unittest.TestCase):
self.assertEqual(expected_attr, event.keyword_args)
def test_status_event_bootstrap_stuck(self):
- event = _get_event(STATUS_CLIENT_BOOTSTRAP_STUCK)
-
+ event = self._get_event(STATUS_CLIENT_BOOTSTRAP_STUCK, stem.response.events.StatusEvent)
self.assertEqual(StatusType.CLIENT, event.status_type)
self.assertEqual(Runlevel.WARN, event.runlevel)
self.assertEqual("BOOTSTRAP", event.action)
@@ -613,8 +545,7 @@ class TestEvents(unittest.TestCase):
self.assertEqual(expected_attr, event.keyword_args)
def test_status_event_bootstrap_connecting(self):
- event = _get_event(STATUS_CLIENT_BOOTSTRAP_CONNECTING)
-
+ event = self._get_event(STATUS_CLIENT_BOOTSTRAP_CONNECTING, stem.response.events.StatusEvent)
self.assertEqual(StatusType.CLIENT, event.status_type)
self.assertEqual(Runlevel.NOTICE, event.runlevel)
self.assertEqual("BOOTSTRAP", event.action)
@@ -628,8 +559,7 @@ class TestEvents(unittest.TestCase):
self.assertEqual(expected_attr, event.keyword_args)
def test_status_event_bootstrap_first_handshake(self):
- event = _get_event(STATUS_CLIENT_BOOTSTRAP_FIRST_HANDSHAKE)
-
+ event = self._get_event(STATUS_CLIENT_BOOTSTRAP_FIRST_HANDSHAKE, stem.response.events.StatusEvent)
self.assertEqual(StatusType.CLIENT, event.status_type)
self.assertEqual(Runlevel.NOTICE, event.runlevel)
self.assertEqual("BOOTSTRAP", event.action)
@@ -643,8 +573,7 @@ class TestEvents(unittest.TestCase):
self.assertEqual(expected_attr, event.keyword_args)
def test_status_event_bootstrap_established(self):
- event = _get_event(STATUS_CLIENT_BOOTSTRAP_ESTABLISHED)
-
+ event = self._get_event(STATUS_CLIENT_BOOTSTRAP_ESTABLISHED, stem.response.events.StatusEvent)
self.assertEqual(StatusType.CLIENT, event.status_type)
self.assertEqual(Runlevel.NOTICE, event.runlevel)
self.assertEqual("BOOTSTRAP", event.action)
@@ -658,8 +587,7 @@ class TestEvents(unittest.TestCase):
self.assertEqual(expected_attr, event.keyword_args)
def test_status_event_bootstrap_done(self):
- event = _get_event(STATUS_CLIENT_BOOTSTRAP_DONE)
-
+ event = self._get_event(STATUS_CLIENT_BOOTSTRAP_DONE, stem.response.events.StatusEvent)
self.assertEqual(StatusType.CLIENT, event.status_type)
self.assertEqual(Runlevel.NOTICE, event.runlevel)
self.assertEqual("BOOTSTRAP", event.action)
@@ -673,8 +601,7 @@ class TestEvents(unittest.TestCase):
self.assertEqual(expected_attr, event.keyword_args)
def test_status_event_bootstrap_check_reachability(self):
- event = _get_event(STATUS_SERVER_CHECK_REACHABILITY)
-
+ event = self._get_event(STATUS_SERVER_CHECK_REACHABILITY, stem.response.events.StatusEvent)
self.assertEqual(StatusType.SERVER, event.status_type)
self.assertEqual(Runlevel.NOTICE, event.runlevel)
self.assertEqual("CHECKING_REACHABILITY", event.action)
@@ -686,8 +613,7 @@ class TestEvents(unittest.TestCase):
self.assertEqual(expected_attr, event.keyword_args)
def test_status_event_dns_timeout(self):
- event = _get_event(STATUS_SERVER_DNS_TIMEOUT)
-
+ event = self._get_event(STATUS_SERVER_DNS_TIMEOUT, stem.response.events.StatusEvent)
self.assertEqual(StatusType.SERVER, event.status_type)
self.assertEqual(Runlevel.NOTICE, event.runlevel)
self.assertEqual("NAMESERVER_STATUS", event.action)
@@ -701,15 +627,13 @@ class TestEvents(unittest.TestCase):
self.assertEqual(expected_attr, event.keyword_args)
def test_status_event_dns_down(self):
- event = _get_event(STATUS_SERVER_DNS_DOWN)
-
+ event = self._get_event(STATUS_SERVER_DNS_DOWN, stem.response.events.StatusEvent)
self.assertEqual(StatusType.SERVER, event.status_type)
self.assertEqual(Runlevel.WARN, event.runlevel)
self.assertEqual("NAMESERVER_ALL_DOWN", event.action)
def test_status_event_dns_up(self):
- event = _get_event(STATUS_SERVER_DNS_UP)
-
+ event = self._get_event(STATUS_SERVER_DNS_UP, stem.response.events.StatusEvent)
self.assertEqual(StatusType.SERVER, event.status_type)
self.assertEqual(Runlevel.NOTICE, event.runlevel)
self.assertEqual("NAMESERVER_STATUS", event.action)
@@ -721,11 +645,9 @@ class TestEvents(unittest.TestCase):
self.assertEqual(expected_attr, event.keyword_args)
- def test_stream_event(self):
- event = _get_event(STREAM_NEW)
+ def test_stream_event_new(self):
+ event = self._get_event(STREAM_NEW, stem.response.events.StreamEvent)
- self.assertTrue(isinstance(event, stem.response.events.StreamEvent))
- self.assertEqual(STREAM_NEW.lstrip("650 "), str(event))
self.assertEqual("18", event.id)
self.assertEqual(StreamStatus.NEW, event.status)
self.assertEqual(None, event.circ_id)
@@ -739,11 +661,10 @@ class TestEvents(unittest.TestCase):
self.assertEqual("127.0.0.1", event.source_address)
self.assertEqual(47849, event.source_port)
self.assertEqual(StreamPurpose.USER, event.purpose)
+
+ def test_stream_event_sent_connect(self):
+ event = self._get_event(STREAM_SENTCONNECT, stem.response.events.StreamEvent)
- event = _get_event(STREAM_SENTCONNECT)
-
- self.assertTrue(isinstance(event, stem.response.events.StreamEvent))
- self.assertEqual(STREAM_SENTCONNECT.lstrip("650 "), str(event))
self.assertEqual("18", event.id)
self.assertEqual(StreamStatus.SENTCONNECT, event.status)
self.assertEqual("26", event.circ_id)
@@ -757,11 +678,10 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.source_address)
self.assertEqual(None, event.source_port)
self.assertEqual(None, event.purpose)
+
+ def test_stream_event_remap(self):
+ event = self._get_event(STREAM_REMAP, stem.response.events.StreamEvent)
- event = _get_event(STREAM_REMAP)
-
- self.assertTrue(isinstance(event, stem.response.events.StreamEvent))
- self.assertEqual(STREAM_REMAP.lstrip("650 "), str(event))
self.assertEqual("18", event.id)
self.assertEqual(StreamStatus.REMAP, event.status)
self.assertEqual("26", event.circ_id)
@@ -775,11 +695,10 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.source_address)
self.assertEqual(None, event.source_port)
self.assertEqual(None, event.purpose)
+
+ def test_stream_event_succeeded(self):
+ event = self._get_event(STREAM_SUCCEEDED, stem.response.events.StreamEvent)
- event = _get_event(STREAM_SUCCEEDED)
-
- self.assertTrue(isinstance(event, stem.response.events.StreamEvent))
- self.assertEqual(STREAM_SUCCEEDED.lstrip("650 "), str(event))
self.assertEqual("18", event.id)
self.assertEqual(StreamStatus.SUCCEEDED, event.status)
self.assertEqual("26", event.circ_id)
@@ -793,11 +712,10 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.source_address)
self.assertEqual(None, event.source_port)
self.assertEqual(None, event.purpose)
+
+ def test_stream_event_closed_reset(self):
+ event = self._get_event(STREAM_CLOSED_RESET, stem.response.events.StreamEvent)
- event = _get_event(STREAM_CLOSED_RESET)
-
- self.assertTrue(isinstance(event, stem.response.events.StreamEvent))
- self.assertEqual(STREAM_CLOSED_RESET.lstrip("650 "), str(event))
self.assertEqual("21", event.id)
self.assertEqual(StreamStatus.CLOSED, event.status)
self.assertEqual("26", event.circ_id)
@@ -811,11 +729,10 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.source_address)
self.assertEqual(None, event.source_port)
self.assertEqual(None, event.purpose)
+
+ def test_stream_event_closed_done(self):
+ event = self._get_event(STREAM_CLOSED_DONE, stem.response.events.StreamEvent)
- event = _get_event(STREAM_CLOSED_DONE)
-
- self.assertTrue(isinstance(event, stem.response.events.StreamEvent))
- self.assertEqual(STREAM_CLOSED_DONE.lstrip("650 "), str(event))
self.assertEqual("25", event.id)
self.assertEqual(StreamStatus.CLOSED, event.status)
self.assertEqual("26", event.circ_id)
@@ -829,11 +746,10 @@ class TestEvents(unittest.TestCase):
self.assertEqual(None, event.source_address)
self.assertEqual(None, event.source_port)
self.assertEqual(None, event.purpose)
+
+ def test_stream_event_dir_fetch(self):
+ event = self._get_event(STREAM_DIR_FETCH, stem.response.events.StreamEvent)
- event = _get_event(STREAM_DIR_FETCH)
-
- self.assertTrue(isinstance(event, stem.response.events.StreamEvent))
- self.assertEqual(STREAM_DIR_FETCH.lstrip("650 "), str(event))
self.assertEqual("14", event.id)
self.assertEqual(StreamStatus.NEW, event.status)
self.assertEqual(None, event.circ_id)
@@ -847,11 +763,10 @@ class TestEvents(unittest.TestCase):
self.assertEqual("(Tor_internal)", event.source_address)
self.assertEqual(0, event.source_port)
self.assertEqual(StreamPurpose.DIR_FETCH, event.purpose)
+
+ def test_stream_event_dns_request(self):
+ event = self._get_event(STREAM_DNS_REQUEST, stem.response.events.StreamEvent)
- event = _get_event(STREAM_DNS_REQUEST)
-
- self.assertTrue(isinstance(event, stem.response.events.StreamEvent))
- self.assertEqual(STREAM_DNS_REQUEST.lstrip("650 "), str(event))
self.assertEqual("1113", event.id)
self.assertEqual(StreamStatus.NEW, event.status)
self.assertEqual(None, event.circ_id)
@@ -867,26 +782,24 @@ class TestEvents(unittest.TestCase):
self.assertEqual(StreamPurpose.DNS_REQUEST, event.purpose)
def test_stream_bw_event(self):
- event = _get_event("650 STREAM_BW 2 15 25")
-
- self.assertTrue(isinstance(event, stem.response.events.StreamBwEvent))
+ event = self._get_event("650 STREAM_BW 2 15 25", stem.response.events.StreamBwEvent)
self.assertEqual("2", event.id)
self.assertEqual(15, event.written)
self.assertEqual(25, event.read)
- event = _get_event("650 STREAM_BW Stream02 0 0")
+ event = self._get_event("650 STREAM_BW Stream02 0 0")
self.assertEqual("Stream02", event.id)
self.assertEqual(0, event.written)
self.assertEqual(0, event.read)
- self.assertRaises(ProtocolError, _get_event, "650 STREAM_BW")
- self.assertRaises(ProtocolError, _get_event, "650 STREAM_BW 2")
- self.assertRaises(ProtocolError, _get_event, "650 STREAM_BW 2 15")
- self.assertRaises(ProtocolError, _get_event, "650 STREAM_BW - 15 25")
- self.assertRaises(ProtocolError, _get_event, "650 STREAM_BW 12345678901234567 15 25")
- self.assertRaises(ProtocolError, _get_event, "650 STREAM_BW 2 -15 25")
- self.assertRaises(ProtocolError, _get_event, "650 STREAM_BW 2 15 -25")
- self.assertRaises(ProtocolError, _get_event, "650 STREAM_BW 2 x 25")
+ self.assertRaises(ProtocolError, self._get_event, "650 STREAM_BW")
+ self.assertRaises(ProtocolError, self._get_event, "650 STREAM_BW 2")
+ self.assertRaises(ProtocolError, self._get_event, "650 STREAM_BW 2 15")
+ self.assertRaises(ProtocolError, self._get_event, "650 STREAM_BW - 15 25")
+ self.assertRaises(ProtocolError, self._get_event, "650 STREAM_BW 12345678901234567 15 25")
+ self.assertRaises(ProtocolError, self._get_event, "650 STREAM_BW 2 -15 25")
+ self.assertRaises(ProtocolError, self._get_event, "650 STREAM_BW 2 15 -25")
+ self.assertRaises(ProtocolError, self._get_event, "650 STREAM_BW 2 x 25")
def test_unrecognized_enum_logging(self):
"""
@@ -900,17 +813,40 @@ class TestEvents(unittest.TestCase):
# Try parsing a valid event. We shouldn't log anything.
- _get_event(STATUS_CLIENT_CONSENSUS_ARRIVED)
+ self._get_event(STATUS_CLIENT_CONSENSUS_ARRIVED)
self.assertTrue(logging_buffer.is_empty())
self.assertEqual([], list(logging_buffer))
# Parse an invalid runlevel.
- _get_event(STATUS_CLIENT_CONSENSUS_ARRIVED.replace("NOTICE", "OMEGA_CRITICAL!!!"))
+ self._get_event(STATUS_CLIENT_CONSENSUS_ARRIVED.replace("NOTICE", "OMEGA_CRITICAL!!!"))
logged_events = list(logging_buffer)
self.assertEqual(1, len(logged_events))
self.assertTrue("STATUS_CLIENT event had an unrecognized runlevel" in logged_events[0])
stem_logger.removeHandler(logging_buffer)
+
+ def _get_event(self, content, assert_class = None, assert_content = True):
+ """
+ Provides an :class:`~stem.response.events.Event` subclass for the given
+ content.
+
+ :param str content: content to create an event from
+ :param class assert_class: assert that the response is an instance of this class
+ :param bool assert_content: check the event's string content if **True**
+
+ :raises: :class:`stem.ProtocolError` if a problem arises in parsing the event
+ """
+
+ controller_event = mocking.get_message(content)
+ stem.response.convert("EVENT", controller_event, arrived_at = 25)
+
+ if assert_class:
+ self.assertTrue(isinstance(controller_event, assert_class))
+
+ if assert_content:
+ self.assertEqual(content.lstrip("650 "), str(controller_event))
+
+ return controller_event
1
0

[translation/tsum_completed] Update translations for tsum_completed
by translation@torproject.org 04 Dec '12
by translation@torproject.org 04 Dec '12
04 Dec '12
commit 27c5bd8765f2f2d83ce2ad2223d7d642f512f9df
Author: Translation commit bot <translation(a)torproject.org>
Date: Tue Dec 4 07:15:16 2012 +0000
Update translations for tsum_completed
---
es/short-user-manual_es_noimg.xhtml | 104 +++++++++++++++++-----------------
1 files changed, 52 insertions(+), 52 deletions(-)
diff --git a/es/short-user-manual_es_noimg.xhtml b/es/short-user-manual_es_noimg.xhtml
index 273a529..f8a2980 100644
--- a/es/short-user-manual_es_noimg.xhtml
+++ b/es/short-user-manual_es_noimg.xhtml
@@ -22,12 +22,12 @@
<p><strong>Nota</strong>: Los Paquetes de Navegador Tor para Linux y Mac OS X son algo grandes, y podría no ser posible recibir cualquiera de estos paquetes con una cuenta de Gmail, Hotmail o Yahoo. Si no puede recibir el paquete que desea, envíe un correo a help(a)rt.torproject.org y le enviaremos una lista de servidores espejo para su uso.</p>
<h3 id="tor-for-smartphones">Tor para smartphones</h3>
<p>Puede poner Tor en su dispositivo Android al instalar el paquete llamado <em>Orbot</em>. Para información acerca de cómo descargar e instalar Orbot, por favor vea la <a href="https://www.torproject.org/docs/android.html.en">web de Tor Project</a>.</p>
- <p>También tenemos paquetes experimentales para <a href="https://www.torproject.org/docs/N900.html.en">Nokia Maemo/N900</a> y <a href="http://sid77.slackware.it/ios/">Apple iOS</a>. </p>
+ <p>También tenemos paquetes experimentales para <a href="https://www.torproject.org/docs/N900.html.en">Nokia Maemo/N900</a> y <a href="http://sid77.slackware.it/ios/">Apple iOS</a>.</p>
<h3 id="how-to-verify-that-you-have-the-right-version">Cómo verificar que cuenta con la versión correcta</h3>
<p>Antes de ejecutar el Paquete de Navegador Tor, debe asegurarse que cuenta con la versión correcta.</p>
<p>El software que usted recibe está acompañado de un archivo con el mismo nombre del paquete y la extensión <strong>.asc</strong>. Este archivo .asc es una firma GPG y le permitirá verificar que el archivo que ha descargado es exactamente el que pretendíamos que obtuviera. </p>
<p>Antes de que pueda verificar la firma, tendrá que descargar e instalar GnuPG: </p>
- <p><strong>Windows</strong>: <a href="http://gpg4win.org/download.html">http://gpg4win.org/download.html</a><br/><strong>Mac OS X</strong>: <a href="http://www.gpgtools.org/">http://www.gpgtools.org/</a><br/><strong>Linux</strong>: La mayoría de distribuciones Linux vienen con GnuPG preinstalado. </p>
+ <p><strong>Windows</strong>: <a href="http://gpg4win.org/download.html">http://gpg4win.org/download.html</a><br/><strong>Mac OS X</strong>: <a href="http://www.gpgtools.org/">http://www.gpgtools.org/</a><br/><strong>Linux</strong>: La mayoría de distribuciones Linux vienen con GnuPG preinstalado.</p>
<p>Por favor observe que puede ser necesario editar las rutas y los comandos usados abajo para lograr que funcione en su sistema.</p>
<p>Erinn Clark firma los Paquetes del Navegador Tor con la clave 0x63FEE659. Para importar la clave de Erinn, ejecute: </p>
<pre>
@@ -57,75 +57,75 @@ sub 2048R/EB399FD7 2003-10-16
<p>La salida debe decir <em>&quot;Good signature&quot;</em> (firma válida). Una firma no válida significa que el archivo pudo haber sido alterado. Si ve una firma no válida, envíe los detalles acerca del origen de la descarga, de cómo verificó la firma y la salida de GnuPG, en un correo a help(a)rt.torproject.org</p>
<p>Una vez que ha verificado la firma y ha visto la confirmación <em>&quot;Good signature&quot;</em>, proceda y descomprima el paquete de archivos. Debería ver entonces una carpeta similar a <strong>tor-browser_en-US</strong>. Dentro de esa carpeta encontrará otra llamada <strong>Docs</strong>, la cual contiene un archivo llamado <strong>changelog</strong>. Debe de asegurarse de que el número de versión en la primera línea del archivo changelog corresponde con el número de versión en el nombre del archivo.</p>
<h3 id="how-to-use-the-tor-browser-bundle">Cómo usar el Paquete de Navegador Tor</h3>
- <p>Después de descargar el Paquete de Navegador Tor, extráigalo en su escritorio o en una memoria USB. Debería obtener un directorio que contenga unos pocos archivos. Uno de ellos es un ejecutable llamado "Start Tor Browser" (o "start-tor-browser", dependiendo de su sistema operativo). </p>
- <p>Cuando inicie el Paquete del Navegador Tor, vera primero el programa Vidalia iniciarse y conectarle a la red Tor. Después, verá un navegador confirmando que usted ya se encuentre utilizando Tor. Esto lo hace mostrando la página <a href="https://check.torproject.org/">https://check.torproject.org/</a>. Entonces ya podrá navegar por internet a través de Tor.</p>
+ <p>Después de descargar el Paquete de Navegador Tor, extráigalo en su escritorio o en una memoria USB. Debería obtener un directorio que contenga unos pocos archivos. Uno de ellos es un ejecutable llamado "Start Tor Browser" (o "start-tor-browser", dependiendo de su sistema operativo).</p>
+ <p>Cuando inicie el Paquete del Navegador Tor, verá primero el programa Vidalia iniciarse y conectarle a la red Tor. Después, verá un navegador confirmando que usted ya se encuentre utilizando Tor. Esto lo hace mostrando la página <a href="https://check.torproject.org/">https://check.torproject.org/</a>. Entonces ya podrá navegar por Internet a través de Tor.</p>
<p>
- <em>Por favor observe que es importante que utilice el navegador que viene con el paquete y no su propio navegador.</em>
+ <em>Observe que es importante que utilice el navegador que viene con el paquete y no su propio navegador.</em>
</p>
<h3 id="what-to-do-when-tor-does-not-connect">Qué hacer cuando Tor no se conecta</h3>
- <p>Algunos usuarios notarán que Vidalia se congela mientras intenta conectarse a la red Tor. Si esto sucede, asegúrese de estar conectado a internet. Si necesita conectarse a través de un servidor proxy, vea <em>Cómo usar un proxy abierto</em> más abajo.</p>
- <p>Si su conexión normal a internet está funcionando, pero Tor sigue sin poder conectarse, intente lo siguiente: abra el Panel de Control de Vidalia, haga clic <em>Registro de Mensajes</em> (message log) y seleccione la pestaña <em>Avanzadas</em>. Puede ser que Tor no conecte porque:</p>
- <p><strong>Su reloj de sistema está mal configurado</strong>: Asegúrese que la fecha y hora en su sistema sea correcta, y reinicie Tor. Puede ser que necesite sincronizar su reloj de sistema con un servidor horario en internet.</p>
+ <p>Algunos usuarios notarán que Vidalia se paraliza mientras intenta conectarse a la red Tor. Si esto sucede, asegúrese de estar conectado a Internet. Si necesita conectarse a través de un servidor proxy, vea <em>Cómo usar un proxy abierto</em> más abajo.</p>
+ <p>Si su conexión normal a Internet está funcionando, pero Tor sigue sin poder conectarse, intente lo siguiente: abra el Panel de Control de Vidalia, haga clic <em>Registro de Mensajes</em> (message log) y seleccione la pestaña <em>Avanzadas</em>. Puede ser que Tor no conecte porque: </p>
+ <p><strong>Su reloj de sistema está mal configurado</strong>: Asegúrese que la fecha y hora en su sistema sea correcta, y reinicie Tor. Puede ser que necesite sincronizar su reloj de sistema con un servidor horario en Internet.</p>
<p><strong>Está tras un cortafuegos (firewall) restrictivo</strong>: Para decirle a Tor que solo use los puertos 80 y 443, abra el Panel de Control de Vidalia, y haga clic en <em>Preferencias</em> y luego en <em>Red</em>, y ahí marque la casilla que dice <em>Mi cortafuegos (firewall) sólo me permite conectar a ciertos puertos</em>.</p>
<p><strong>Su anti-virus está bloqueando Tor</strong>: Asegúrese de que su programa anti-virus no esté impidiendo que Tor realice conexiones a la red.</p>
- <p>Si Tor sigue sin funcionar, es probable que su Proveedor de Servicios Internet (ISP) esté bloqueando Tor. Frecuentemente esto puede ser evitado mediante el uso de <strong>bridges</strong>, repetidores ocultos (puentes hacia la red Tor no propagados) que no son tan fáciles de bloquear.</p>
+ <p>Si Tor sigue sin funcionar, es probable que su Proveedor de Servicios Internet (ISP) esté bloqueando Tor. Frecuentemente esto puede ser evitado mediante el uso de <strong>bridges</strong>, repetidores ocultos (accesos a Tor de publicidad restringida) que no son tan fáciles de bloquear.</p>
<p>Si necesita ayuda para averiguar por qué Tor no puede conectarse, envíe un correo a help(a)rt.torproject.org e incluya las partes relevantes del registro de mensajes (log).</p>
- <h3 id="how-to-find-a-bridge">Cómo encontrar un bridge (repetidor puente, acceso a Tor de publlicidad restrigida)</h3>
- <p>Para usar un puente necesita primero encontrar uno; puede ir a <a href="https://bridges.torproject.org/">bridges.torproject.org</a>, o puede enviar un correo a bridges(a)torproject.org Si decide enviar el correo electrónico, asegúrese de escribir <strong>get bridges</strong> en el cuerpo del correo. Sin esta linea, no obtendrá respuesta alguna. Observe que es preciso enviar este correo desde una dirección gmail.com o yahoo.com</p>
- <p>Configurar más de un una dirección de bridge (puente a Tor no propagado) hará su conexión Tor más estable en que caso que algunos de los puentes se vuelvan inaccesibles. No hay garantías de que un puente que use hoy funcione mañana, debe hacerse el hábito de actualizar su lista de puentes con toda regularidad.</p>
- <h3 id="how-to-use-a-bridge">Cómo usar un bridge (repetidor puente, acceso a Tor de publlicidad restrigida)</h3>
- <p>Una vez que ha configurado los puentes a utilizar, abra el Panel de Control de Vidalia y haga clic en <em>Preferencias</em>, luego en <em>Red</em> y marque la casilla que dice &quot;Mi ISP bloquea la conexión a la red Tor&quot;. Introduzca los puentes en el campo de abajo, pulse <em>Aceptar</em> y reinicie Tor de nuevo.</p>
+ <h3 id="how-to-find-a-bridge">Cómo encontrar un bridge (repetidor puente, acceso a Tor de publlicidad restringida)</h3>
+ <p>Para usar un bridge necesita primero encontrar uno; puede ir a <a href="https://bridges.torproject.org/">bridges.torproject.org</a>, o puede enviar un correo a bridges(a)torproject.org Si decide enviar el correo electrónico, asegúrese de escribir <strong>get bridges</strong> en el cuerpo del correo. Sin esta linea, no obtendrá respuesta alguna. Observe que es preciso enviar este correo desde una dirección gmail.com o yahoo.com</p>
+ <p>Configurar más de un una dirección de bridge (repetidor puente, acceso a Tor de publicidad restringida) hará su conexión Tor más estable en caso de que algunos de los bridges se vuelvan inaccesibles. No hay garantías de que un bridge que use hoy funcione mañana, debe hacerse al hábito de actualizar su lista de puentes con toda regularidad.</p>
+ <h3 id="how-to-use-a-bridge">Cómo usar un bridge</h3>
+ <p>Una vez que ha configurado los repetidore puente a utilizar, abra el Panel de Control de Vidalia y haga clic en <em>Preferencias</em>, luego en <em>Red</em> y marque la casilla que dice <em>Mi ISP bloquea la conexión a la red Tor</em>. Introduzca los bridges en el campo de abajo, pulse <em>Aceptar</em> y reinicie Tor de nuevo.</p>
<h3 id="how-to-use-an-open-proxy">Cómo usar un proxy abierto</h3>
- <p>Si usar un bridge (puente a Tor no propagado) no funciona, intente configurar Tor para usar cualquier proxy abierto (en internet) HTTPS o SOCKS para obtener acceso indirecto a la red Tor. Esto significa que incluso si Tor es bloqueado por su red local (o su ISP), los proxys abiertos le pueden dar el acceso a la red Tor y a una internet sin censura (útil para acceso a contenidos alojados en la red Tor, o para el raro caso de que el proxy tuviera acceso a Tor pero no a un internet no censurado directamente de si mismo) </p>
- <p>Los pasos siguientes asumen que usted tiene una configuración de Tor/Vidalia funcional y que ha encontrado una lista de proxys HTTPS, SOCKS4, o SOCKS5.</p>
+ <p>Si usar un bridge (repetidor puente, acceso a Tor de publicidad restringida) no funciona, intente configurar Tor para usar cualquier proxy abierto (en internet) HTTPS o SOCKS para obtener acceso indirecto a la red Tor. Esto significa que incluso si Tor es bloqueado por su red local (o su ISP), los proxys abiertos le pueden dar el acceso a la red Tor y a una internet sin censura (útil para acceso a contenidos alojados en la red Tor).</p>
+ <p>Los pasos siguientes asumen que tiene una configuración de Tor/Vidalia funcional y que ha encontrado una lista de proxys HTTPS, SOCKS4, o SOCKS5.</p>
<ol style="list-style-type: decimal">
<li>Abra el Panel de Control de Vidalia y haga clic en <em>Preferencias</em>.</li>
<li>Haga clic en <em>Red</em> y seleccione <em>Uso un proxy para acceder a internet</em>. </li>
- <li>En el campo <em>Servidor Proxy</em>, introduzca la dirección del proxy abierto. Esta puede ser un nombre de equipo o una dirección IP. </li>
- <li>Introduzca el puerto del proxy. </li>
- <li>Normalmente no se necesita un nombre de usuario y contraseña. Si se le solicita, introduzca la información en los campos adecuados. </li>
- <li>Elija el <em>Tipo</em> de proxy que esté usando entre HTTP/HTTPS, SOCKS4, o SOCKS5. </li>
- <li>Pulse el botón <em>Aceptar</em> y tanto Vidalia como Tor estarán ahora configurados para usar un proxy para acceder a la red Tor.</li>
+ <li>En el campo <em>Servidor Proxy</em>, introduzca la dirección del proxy abierto. Esta puede ser un nombre de equipo o una dirección IP.</li>
+ <li>Introduzca el puerto del proxy.</li>
+ <li>Normalmente no se necesita un nombre de usuario y contraseña. Si se le solicita, introduzca la información en los campos adecuados.</li>
+ <li>Elija el <em>Tipo</em> de proxy que esté usando entre HTTP/HTTPS, SOCKS4, o SOCKS5.</li>
+ <li>Pulse el botón <em>Aceptar</em> y tanto Vidalia como Tor estarán ahora configurados para usar un proxy para acceder a la red Tor</li>
</ol>
<h2 id="frequently-asked-questions">Preguntas frecuentes (FAQ)</h2>
- <p>Esta sección responderá algunas de las preguntas más comunes. Si su pregunta no se está mencionada aquí, por favor envíe un correo a help(a)rt.torproject.org </p>
- <h3 id="unable-to-extract-the-archive">No se pudo extraer el archivo </h3>
- <p>Si está usando Windows y no pudo extraer el archivo, descargue e instale <a href="http://www.7-zip.org/">7-Zip</a>. </p>
+ <p>Esta sección responderá algunas de las preguntas más comunes. Si su pregunta no se está mencionada aquí, por favor envíe un correo a help(a)rt.torproject.org</p>
+ <h3 id="unable-to-extract-the-archive">No se pudo extraer el archivo</h3>
+ <p>Si está usando Windows y no pudo extraer el archivo, descargue e instale <a href="http://www.7-zip.org/">7-Zip</a>.</p>
<p>Si no puede descargar 7-Zip, trate de renombrar el archivo de .z a .zip y use winzip para extraer el archivo. Antes de renombrar el archivo, haga que Windows le muestre las extensiones del archivo: </p>
- <h4 id="windows-xp">Windows XP </h4>
+ <h4 id="windows-xp">Windows XP</h4>
<ol style="list-style-type: decimal">
- <li>Abra Mi PC </li>
+ <li>Abra Mi PC</li>
<li>Haga clic en <em>Herramientas</em> y seleccione <em>Opciones de Carpeta</em> en el menú... </li>
- <li>Haga clic en la pestaña <em>Ver</em> </li>
- <li>Desmarque <em>Ocultar extensiones para los tipos de archivo conocidos</em> y haga clic en Aceptar. </li>
+ <li>Haga clic en la pestaña <em>Ver</em></li>
+ <li>Desmarque <em>Ocultar extensiones para los tipos de archivo conocidos</em> y haga clic en Aceptar.</li>
</ol>
- <h4 id="windows-vista">Windows Vista </h4>
+ <h4 id="windows-vista">Windows Vista</h4>
<ol style="list-style-type: decimal">
- <li>Abra <em>Equipo</em> </li>
- <li>Haga clic en <em>Organizar</em> y elija <em>Opciones de carpeta y búsqueda</em> en el menú </li>
- <li>Haga clic en la pestaña <em>Ver</em> </li>
- <li>Desmarque <em>Ocultar extensiones para los tipos de archivo conocidos</em> y haga clic en Aceptar. </li>
+ <li>Abra <em>Equipo</em></li>
+ <li>Haga clic en <em>Organizar</em> y elija <em>Opciones de carpeta y búsqueda</em> en el menú</li>
+ <li>Haga clic en la pestaña <em>Ver</em></li>
+ <li>Desmarque <em>Ocultar extensiones para los tipos de archivo conocidos</em> y haga clic en Aceptar.</li>
</ol>
- <h4 id="windows-7">Windows 7 </h4>
+ <h4 id="windows-7">Windows 7</h4>
<ol style="list-style-type: decimal">
- <li>Abra <em>Equipo</em> </li>
- <li>Haga clic en <em>Organizar</em> y elija <em>Opciones de carpeta y búsqueda</em> en el menú </li>
- <li>Haga clic en la pestaña <em>Ver</em> </li>
- <li>Desmarque <em>Ocultar extensiones para los tipos de archivo conocidos</em> y haga clic en Aceptar. </li>
+ <li>Abra <em>Equipo</em></li>
+ <li>Haga clic en <em>Organizar</em> y elija <em>Opciones de carpeta y búsqueda</em> en el menú</li>
+ <li>Haga clic en la pestaña <em>Ver</em></li>
+ <li>Desmarque <em>Ocultar extensiones para los tipos de archivo conocidos</em> y haga clic en Aceptar.</li>
</ol>
- <h3 id="vidalia-asks-for-a-password">Vidalia solicita una contraseña </h3>
- <p>No debería tener que introducir una contraseña al iniciar Vidalia. Si se le solicita, es probable que esté afectado por alguno de estos problemas:</p>
- <p><strong>Ya está ejecutando Vidalia y Tor</strong>: Esto puede suceder, por ejemplo, si usted instaló el paquete de Vidalia y ahora intenta ejecutar el Paquete de Navegador Tor. En ese caso, necesitará cerrar los anteriores procesos de Vidalia y Tor antes que pueda ejecutar este. </p>
- <p><strong>Vidalia falló, pero Tor sigue corriendo</strong>: Si el cuadro de diálogo solicitandole una contraseña de control tiene un botón Reiniciar, puede presionarlo y Vidala reiniciará Tor con una nueva contraseña de control aleatoria. Si no ve un botón Reiniciar, o si Vidalia no puede reiniciar Tor por usted; vaya a su Administrador de procesos o tareas, y detenga el proceso de Tor. Luego use Vidalia para reiniciar Tor. </p>
- <p>Para más información, vea las <a href="https://torproject.org/docs/faq.html#VidaliaPassword">Preguntas Frecuentes (FAQ)</a> en el sitio web de Tor Project. </p>
- <h3 id="flash-does-not-work">Flash no funciona </h3>
- <p>Por razones de seguridad, Flash, Java y otros plugins están deshabilitados para Tor. Los plugins operan independientemente de Firefox y pueden realizar alguna actividad en su equipo que arruinaría su anonimato. </p>
- <p>La mayoría de los videos de YouTube funcionan con HTML5, y es posible ver estos videos mediante Tor. Necesita unirse a la <a href="https://www.youtube.com/html5">prueba de HTML5</a> en el sitio web de YouTube antes de poder usar el reproductor HTML5. </p>
- <p>Observe que el navegador no recordará que usted se unió a la prueba una vez lo cierre. Necesitará re-adherirse a ella la próxima vez que ejecute el Parquete de Navegador Tor. </p>
- <p>Revise por favor las <a href="https://www.torproject.org/torbutton/torbutton-faq.html#noflash">Preguntas Frecuentes (FAQ) de Torbutton</a> para mayor información. </p>
- <h3 id="i-want-to-use-another-browser">Deseo usar otro navegador </h3>
- <p>Por razones de seguridad, le recomendamos que sólo navegue por la web a través de Tor usando el Paquete de Navegador Tor. Técnicamente es posible usar Tor con otros navegadores, pero al hacerlo será vulnerable a posibles ataques. </p>
- <h3 id="why-tor-is-slow">Por qué Tor es lento </h3>
- <p>Tor a veces puede ser un poco más lento que su conexión normal a internet. Después de todo, su tráfico se envía a través de muchos países diferentes, ¡a veces a través de océanos por todo el mundo! </p>
+ <h3 id="vidalia-asks-for-a-password">Vidalia solicita una contraseña</h3>
+ <p>No debería tener que introducir una contraseña al iniciar Vidalia. Si se le solicita, es probable que esté afectado por alguno de estos problemas: </p>
+ <p><strong>Ya está ejecutando Vidalia y Tor</strong>: Esto puede suceder, por ejemplo, si usted instaló el paquete de Vidalia y ahora intenta ejecutar el Paquete de Navegador Tor. En ese caso, necesitará cerrar los anteriores procesos de Vidalia y Tor antes que pueda ejecutar este.</p>
+ <p><strong>Vidalia falló, pero Tor sigue corriendo</strong>: Si el cuadro de diálogo solicitandole una contraseña de control tiene un botón Reiniciar, puede presionarlo y Vidala reiniciará Tor con una nueva contraseña de control aleatoria. Si no ve un botón Reiniciar, o si Vidalia no puede reiniciar Tor por usted; vaya a su Administrador de procesos o tareas, y detenga el proceso de Tor. Luego use Vidalia para reiniciar Tor.</p>
+ <p>Para más información, vea las <a href="https://torproject.org/docs/faq.html#VidaliaPassword">Preguntas Frecuentes (FAQ)</a> en el sitio web de Tor Project.</p>
+ <h3 id="flash-does-not-work">Flash no funciona</h3>
+ <p>Por razones de seguridad, Flash, Java y otros plugins están deshabilitados para Tor. Los plugins operan independientemente de Firefox y pueden realizar alguna actividad en su equipo que arruinaría su anonimato.</p>
+ <p>La mayoría de los videos de YouTube funcionan con HTML5, y es posible ver estos videos mediante Tor. Necesita unirse a la <a href="https://www.youtube.com/html5">prueba de HTML5</a> en el sitio web de YouTube antes de poder usar el reproductor HTML5.</p>
+ <p>Observe que el navegador no recordará que usted se unió a la prueba una vez lo cierre. Necesitará re-adherirse a ella la próxima vez que ejecute el Parquete de Navegador Tor.</p>
+ <p>Por favor revise las <a href="https://www.torproject.org/torbutton/torbutton-faq.html#noflash">Preguntas Frecuentes (FAQ) de Torbutton</a> para mayor información.</p>
+ <h3 id="i-want-to-use-another-browser">Deseo usar otro navegador</h3>
+ <p>Por razones de seguridad, le recomendamos que sólo navegue por la web a través de Tor usando el Paquete de Navegador Tor. Técnicamente es posible usar Tor con otros navegadores, pero al hacerlo será vulnerable a posibles ataques.</p>
+ <h3 id="why-tor-is-slow">Por qué Tor es lento</h3>
+ <p>Tor a veces puede ser un poco más lento que su conexión normal a internet. Después de todo, su tráfico se envía a través de muchos países diferentes, ¡a veces a través de océanos por todo el mundo!</p>
</body>
</html>
1
0
commit a7664cc5d2c1eb26f655245c214b44ce4b6cd1ce
Author: Translation commit bot <translation(a)torproject.org>
Date: Tue Dec 4 07:15:13 2012 +0000
Update translations for tsum
---
es/short-user-manual_es_noimg.xhtml | 104 +++++++++++++++++-----------------
1 files changed, 52 insertions(+), 52 deletions(-)
diff --git a/es/short-user-manual_es_noimg.xhtml b/es/short-user-manual_es_noimg.xhtml
index 273a529..f8a2980 100644
--- a/es/short-user-manual_es_noimg.xhtml
+++ b/es/short-user-manual_es_noimg.xhtml
@@ -22,12 +22,12 @@
<p><strong>Nota</strong>: Los Paquetes de Navegador Tor para Linux y Mac OS X son algo grandes, y podría no ser posible recibir cualquiera de estos paquetes con una cuenta de Gmail, Hotmail o Yahoo. Si no puede recibir el paquete que desea, envíe un correo a help(a)rt.torproject.org y le enviaremos una lista de servidores espejo para su uso.</p>
<h3 id="tor-for-smartphones">Tor para smartphones</h3>
<p>Puede poner Tor en su dispositivo Android al instalar el paquete llamado <em>Orbot</em>. Para información acerca de cómo descargar e instalar Orbot, por favor vea la <a href="https://www.torproject.org/docs/android.html.en">web de Tor Project</a>.</p>
- <p>También tenemos paquetes experimentales para <a href="https://www.torproject.org/docs/N900.html.en">Nokia Maemo/N900</a> y <a href="http://sid77.slackware.it/ios/">Apple iOS</a>. </p>
+ <p>También tenemos paquetes experimentales para <a href="https://www.torproject.org/docs/N900.html.en">Nokia Maemo/N900</a> y <a href="http://sid77.slackware.it/ios/">Apple iOS</a>.</p>
<h3 id="how-to-verify-that-you-have-the-right-version">Cómo verificar que cuenta con la versión correcta</h3>
<p>Antes de ejecutar el Paquete de Navegador Tor, debe asegurarse que cuenta con la versión correcta.</p>
<p>El software que usted recibe está acompañado de un archivo con el mismo nombre del paquete y la extensión <strong>.asc</strong>. Este archivo .asc es una firma GPG y le permitirá verificar que el archivo que ha descargado es exactamente el que pretendíamos que obtuviera. </p>
<p>Antes de que pueda verificar la firma, tendrá que descargar e instalar GnuPG: </p>
- <p><strong>Windows</strong>: <a href="http://gpg4win.org/download.html">http://gpg4win.org/download.html</a><br/><strong>Mac OS X</strong>: <a href="http://www.gpgtools.org/">http://www.gpgtools.org/</a><br/><strong>Linux</strong>: La mayoría de distribuciones Linux vienen con GnuPG preinstalado. </p>
+ <p><strong>Windows</strong>: <a href="http://gpg4win.org/download.html">http://gpg4win.org/download.html</a><br/><strong>Mac OS X</strong>: <a href="http://www.gpgtools.org/">http://www.gpgtools.org/</a><br/><strong>Linux</strong>: La mayoría de distribuciones Linux vienen con GnuPG preinstalado.</p>
<p>Por favor observe que puede ser necesario editar las rutas y los comandos usados abajo para lograr que funcione en su sistema.</p>
<p>Erinn Clark firma los Paquetes del Navegador Tor con la clave 0x63FEE659. Para importar la clave de Erinn, ejecute: </p>
<pre>
@@ -57,75 +57,75 @@ sub 2048R/EB399FD7 2003-10-16
<p>La salida debe decir <em>&quot;Good signature&quot;</em> (firma válida). Una firma no válida significa que el archivo pudo haber sido alterado. Si ve una firma no válida, envíe los detalles acerca del origen de la descarga, de cómo verificó la firma y la salida de GnuPG, en un correo a help(a)rt.torproject.org</p>
<p>Una vez que ha verificado la firma y ha visto la confirmación <em>&quot;Good signature&quot;</em>, proceda y descomprima el paquete de archivos. Debería ver entonces una carpeta similar a <strong>tor-browser_en-US</strong>. Dentro de esa carpeta encontrará otra llamada <strong>Docs</strong>, la cual contiene un archivo llamado <strong>changelog</strong>. Debe de asegurarse de que el número de versión en la primera línea del archivo changelog corresponde con el número de versión en el nombre del archivo.</p>
<h3 id="how-to-use-the-tor-browser-bundle">Cómo usar el Paquete de Navegador Tor</h3>
- <p>Después de descargar el Paquete de Navegador Tor, extráigalo en su escritorio o en una memoria USB. Debería obtener un directorio que contenga unos pocos archivos. Uno de ellos es un ejecutable llamado "Start Tor Browser" (o "start-tor-browser", dependiendo de su sistema operativo). </p>
- <p>Cuando inicie el Paquete del Navegador Tor, vera primero el programa Vidalia iniciarse y conectarle a la red Tor. Después, verá un navegador confirmando que usted ya se encuentre utilizando Tor. Esto lo hace mostrando la página <a href="https://check.torproject.org/">https://check.torproject.org/</a>. Entonces ya podrá navegar por internet a través de Tor.</p>
+ <p>Después de descargar el Paquete de Navegador Tor, extráigalo en su escritorio o en una memoria USB. Debería obtener un directorio que contenga unos pocos archivos. Uno de ellos es un ejecutable llamado "Start Tor Browser" (o "start-tor-browser", dependiendo de su sistema operativo).</p>
+ <p>Cuando inicie el Paquete del Navegador Tor, verá primero el programa Vidalia iniciarse y conectarle a la red Tor. Después, verá un navegador confirmando que usted ya se encuentre utilizando Tor. Esto lo hace mostrando la página <a href="https://check.torproject.org/">https://check.torproject.org/</a>. Entonces ya podrá navegar por Internet a través de Tor.</p>
<p>
- <em>Por favor observe que es importante que utilice el navegador que viene con el paquete y no su propio navegador.</em>
+ <em>Observe que es importante que utilice el navegador que viene con el paquete y no su propio navegador.</em>
</p>
<h3 id="what-to-do-when-tor-does-not-connect">Qué hacer cuando Tor no se conecta</h3>
- <p>Algunos usuarios notarán que Vidalia se congela mientras intenta conectarse a la red Tor. Si esto sucede, asegúrese de estar conectado a internet. Si necesita conectarse a través de un servidor proxy, vea <em>Cómo usar un proxy abierto</em> más abajo.</p>
- <p>Si su conexión normal a internet está funcionando, pero Tor sigue sin poder conectarse, intente lo siguiente: abra el Panel de Control de Vidalia, haga clic <em>Registro de Mensajes</em> (message log) y seleccione la pestaña <em>Avanzadas</em>. Puede ser que Tor no conecte porque:</p>
- <p><strong>Su reloj de sistema está mal configurado</strong>: Asegúrese que la fecha y hora en su sistema sea correcta, y reinicie Tor. Puede ser que necesite sincronizar su reloj de sistema con un servidor horario en internet.</p>
+ <p>Algunos usuarios notarán que Vidalia se paraliza mientras intenta conectarse a la red Tor. Si esto sucede, asegúrese de estar conectado a Internet. Si necesita conectarse a través de un servidor proxy, vea <em>Cómo usar un proxy abierto</em> más abajo.</p>
+ <p>Si su conexión normal a Internet está funcionando, pero Tor sigue sin poder conectarse, intente lo siguiente: abra el Panel de Control de Vidalia, haga clic <em>Registro de Mensajes</em> (message log) y seleccione la pestaña <em>Avanzadas</em>. Puede ser que Tor no conecte porque: </p>
+ <p><strong>Su reloj de sistema está mal configurado</strong>: Asegúrese que la fecha y hora en su sistema sea correcta, y reinicie Tor. Puede ser que necesite sincronizar su reloj de sistema con un servidor horario en Internet.</p>
<p><strong>Está tras un cortafuegos (firewall) restrictivo</strong>: Para decirle a Tor que solo use los puertos 80 y 443, abra el Panel de Control de Vidalia, y haga clic en <em>Preferencias</em> y luego en <em>Red</em>, y ahí marque la casilla que dice <em>Mi cortafuegos (firewall) sólo me permite conectar a ciertos puertos</em>.</p>
<p><strong>Su anti-virus está bloqueando Tor</strong>: Asegúrese de que su programa anti-virus no esté impidiendo que Tor realice conexiones a la red.</p>
- <p>Si Tor sigue sin funcionar, es probable que su Proveedor de Servicios Internet (ISP) esté bloqueando Tor. Frecuentemente esto puede ser evitado mediante el uso de <strong>bridges</strong>, repetidores ocultos (puentes hacia la red Tor no propagados) que no son tan fáciles de bloquear.</p>
+ <p>Si Tor sigue sin funcionar, es probable que su Proveedor de Servicios Internet (ISP) esté bloqueando Tor. Frecuentemente esto puede ser evitado mediante el uso de <strong>bridges</strong>, repetidores ocultos (accesos a Tor de publicidad restringida) que no son tan fáciles de bloquear.</p>
<p>Si necesita ayuda para averiguar por qué Tor no puede conectarse, envíe un correo a help(a)rt.torproject.org e incluya las partes relevantes del registro de mensajes (log).</p>
- <h3 id="how-to-find-a-bridge">Cómo encontrar un bridge (repetidor puente, acceso a Tor de publlicidad restrigida)</h3>
- <p>Para usar un puente necesita primero encontrar uno; puede ir a <a href="https://bridges.torproject.org/">bridges.torproject.org</a>, o puede enviar un correo a bridges(a)torproject.org Si decide enviar el correo electrónico, asegúrese de escribir <strong>get bridges</strong> en el cuerpo del correo. Sin esta linea, no obtendrá respuesta alguna. Observe que es preciso enviar este correo desde una dirección gmail.com o yahoo.com</p>
- <p>Configurar más de un una dirección de bridge (puente a Tor no propagado) hará su conexión Tor más estable en que caso que algunos de los puentes se vuelvan inaccesibles. No hay garantías de que un puente que use hoy funcione mañana, debe hacerse el hábito de actualizar su lista de puentes con toda regularidad.</p>
- <h3 id="how-to-use-a-bridge">Cómo usar un bridge (repetidor puente, acceso a Tor de publlicidad restrigida)</h3>
- <p>Una vez que ha configurado los puentes a utilizar, abra el Panel de Control de Vidalia y haga clic en <em>Preferencias</em>, luego en <em>Red</em> y marque la casilla que dice &quot;Mi ISP bloquea la conexión a la red Tor&quot;. Introduzca los puentes en el campo de abajo, pulse <em>Aceptar</em> y reinicie Tor de nuevo.</p>
+ <h3 id="how-to-find-a-bridge">Cómo encontrar un bridge (repetidor puente, acceso a Tor de publlicidad restringida)</h3>
+ <p>Para usar un bridge necesita primero encontrar uno; puede ir a <a href="https://bridges.torproject.org/">bridges.torproject.org</a>, o puede enviar un correo a bridges(a)torproject.org Si decide enviar el correo electrónico, asegúrese de escribir <strong>get bridges</strong> en el cuerpo del correo. Sin esta linea, no obtendrá respuesta alguna. Observe que es preciso enviar este correo desde una dirección gmail.com o yahoo.com</p>
+ <p>Configurar más de un una dirección de bridge (repetidor puente, acceso a Tor de publicidad restringida) hará su conexión Tor más estable en caso de que algunos de los bridges se vuelvan inaccesibles. No hay garantías de que un bridge que use hoy funcione mañana, debe hacerse al hábito de actualizar su lista de puentes con toda regularidad.</p>
+ <h3 id="how-to-use-a-bridge">Cómo usar un bridge</h3>
+ <p>Una vez que ha configurado los repetidore puente a utilizar, abra el Panel de Control de Vidalia y haga clic en <em>Preferencias</em>, luego en <em>Red</em> y marque la casilla que dice <em>Mi ISP bloquea la conexión a la red Tor</em>. Introduzca los bridges en el campo de abajo, pulse <em>Aceptar</em> y reinicie Tor de nuevo.</p>
<h3 id="how-to-use-an-open-proxy">Cómo usar un proxy abierto</h3>
- <p>Si usar un bridge (puente a Tor no propagado) no funciona, intente configurar Tor para usar cualquier proxy abierto (en internet) HTTPS o SOCKS para obtener acceso indirecto a la red Tor. Esto significa que incluso si Tor es bloqueado por su red local (o su ISP), los proxys abiertos le pueden dar el acceso a la red Tor y a una internet sin censura (útil para acceso a contenidos alojados en la red Tor, o para el raro caso de que el proxy tuviera acceso a Tor pero no a un internet no censurado directamente de si mismo) </p>
- <p>Los pasos siguientes asumen que usted tiene una configuración de Tor/Vidalia funcional y que ha encontrado una lista de proxys HTTPS, SOCKS4, o SOCKS5.</p>
+ <p>Si usar un bridge (repetidor puente, acceso a Tor de publicidad restringida) no funciona, intente configurar Tor para usar cualquier proxy abierto (en internet) HTTPS o SOCKS para obtener acceso indirecto a la red Tor. Esto significa que incluso si Tor es bloqueado por su red local (o su ISP), los proxys abiertos le pueden dar el acceso a la red Tor y a una internet sin censura (útil para acceso a contenidos alojados en la red Tor).</p>
+ <p>Los pasos siguientes asumen que tiene una configuración de Tor/Vidalia funcional y que ha encontrado una lista de proxys HTTPS, SOCKS4, o SOCKS5.</p>
<ol style="list-style-type: decimal">
<li>Abra el Panel de Control de Vidalia y haga clic en <em>Preferencias</em>.</li>
<li>Haga clic en <em>Red</em> y seleccione <em>Uso un proxy para acceder a internet</em>. </li>
- <li>En el campo <em>Servidor Proxy</em>, introduzca la dirección del proxy abierto. Esta puede ser un nombre de equipo o una dirección IP. </li>
- <li>Introduzca el puerto del proxy. </li>
- <li>Normalmente no se necesita un nombre de usuario y contraseña. Si se le solicita, introduzca la información en los campos adecuados. </li>
- <li>Elija el <em>Tipo</em> de proxy que esté usando entre HTTP/HTTPS, SOCKS4, o SOCKS5. </li>
- <li>Pulse el botón <em>Aceptar</em> y tanto Vidalia como Tor estarán ahora configurados para usar un proxy para acceder a la red Tor.</li>
+ <li>En el campo <em>Servidor Proxy</em>, introduzca la dirección del proxy abierto. Esta puede ser un nombre de equipo o una dirección IP.</li>
+ <li>Introduzca el puerto del proxy.</li>
+ <li>Normalmente no se necesita un nombre de usuario y contraseña. Si se le solicita, introduzca la información en los campos adecuados.</li>
+ <li>Elija el <em>Tipo</em> de proxy que esté usando entre HTTP/HTTPS, SOCKS4, o SOCKS5.</li>
+ <li>Pulse el botón <em>Aceptar</em> y tanto Vidalia como Tor estarán ahora configurados para usar un proxy para acceder a la red Tor</li>
</ol>
<h2 id="frequently-asked-questions">Preguntas frecuentes (FAQ)</h2>
- <p>Esta sección responderá algunas de las preguntas más comunes. Si su pregunta no se está mencionada aquí, por favor envíe un correo a help(a)rt.torproject.org </p>
- <h3 id="unable-to-extract-the-archive">No se pudo extraer el archivo </h3>
- <p>Si está usando Windows y no pudo extraer el archivo, descargue e instale <a href="http://www.7-zip.org/">7-Zip</a>. </p>
+ <p>Esta sección responderá algunas de las preguntas más comunes. Si su pregunta no se está mencionada aquí, por favor envíe un correo a help(a)rt.torproject.org</p>
+ <h3 id="unable-to-extract-the-archive">No se pudo extraer el archivo</h3>
+ <p>Si está usando Windows y no pudo extraer el archivo, descargue e instale <a href="http://www.7-zip.org/">7-Zip</a>.</p>
<p>Si no puede descargar 7-Zip, trate de renombrar el archivo de .z a .zip y use winzip para extraer el archivo. Antes de renombrar el archivo, haga que Windows le muestre las extensiones del archivo: </p>
- <h4 id="windows-xp">Windows XP </h4>
+ <h4 id="windows-xp">Windows XP</h4>
<ol style="list-style-type: decimal">
- <li>Abra Mi PC </li>
+ <li>Abra Mi PC</li>
<li>Haga clic en <em>Herramientas</em> y seleccione <em>Opciones de Carpeta</em> en el menú... </li>
- <li>Haga clic en la pestaña <em>Ver</em> </li>
- <li>Desmarque <em>Ocultar extensiones para los tipos de archivo conocidos</em> y haga clic en Aceptar. </li>
+ <li>Haga clic en la pestaña <em>Ver</em></li>
+ <li>Desmarque <em>Ocultar extensiones para los tipos de archivo conocidos</em> y haga clic en Aceptar.</li>
</ol>
- <h4 id="windows-vista">Windows Vista </h4>
+ <h4 id="windows-vista">Windows Vista</h4>
<ol style="list-style-type: decimal">
- <li>Abra <em>Equipo</em> </li>
- <li>Haga clic en <em>Organizar</em> y elija <em>Opciones de carpeta y búsqueda</em> en el menú </li>
- <li>Haga clic en la pestaña <em>Ver</em> </li>
- <li>Desmarque <em>Ocultar extensiones para los tipos de archivo conocidos</em> y haga clic en Aceptar. </li>
+ <li>Abra <em>Equipo</em></li>
+ <li>Haga clic en <em>Organizar</em> y elija <em>Opciones de carpeta y búsqueda</em> en el menú</li>
+ <li>Haga clic en la pestaña <em>Ver</em></li>
+ <li>Desmarque <em>Ocultar extensiones para los tipos de archivo conocidos</em> y haga clic en Aceptar.</li>
</ol>
- <h4 id="windows-7">Windows 7 </h4>
+ <h4 id="windows-7">Windows 7</h4>
<ol style="list-style-type: decimal">
- <li>Abra <em>Equipo</em> </li>
- <li>Haga clic en <em>Organizar</em> y elija <em>Opciones de carpeta y búsqueda</em> en el menú </li>
- <li>Haga clic en la pestaña <em>Ver</em> </li>
- <li>Desmarque <em>Ocultar extensiones para los tipos de archivo conocidos</em> y haga clic en Aceptar. </li>
+ <li>Abra <em>Equipo</em></li>
+ <li>Haga clic en <em>Organizar</em> y elija <em>Opciones de carpeta y búsqueda</em> en el menú</li>
+ <li>Haga clic en la pestaña <em>Ver</em></li>
+ <li>Desmarque <em>Ocultar extensiones para los tipos de archivo conocidos</em> y haga clic en Aceptar.</li>
</ol>
- <h3 id="vidalia-asks-for-a-password">Vidalia solicita una contraseña </h3>
- <p>No debería tener que introducir una contraseña al iniciar Vidalia. Si se le solicita, es probable que esté afectado por alguno de estos problemas:</p>
- <p><strong>Ya está ejecutando Vidalia y Tor</strong>: Esto puede suceder, por ejemplo, si usted instaló el paquete de Vidalia y ahora intenta ejecutar el Paquete de Navegador Tor. En ese caso, necesitará cerrar los anteriores procesos de Vidalia y Tor antes que pueda ejecutar este. </p>
- <p><strong>Vidalia falló, pero Tor sigue corriendo</strong>: Si el cuadro de diálogo solicitandole una contraseña de control tiene un botón Reiniciar, puede presionarlo y Vidala reiniciará Tor con una nueva contraseña de control aleatoria. Si no ve un botón Reiniciar, o si Vidalia no puede reiniciar Tor por usted; vaya a su Administrador de procesos o tareas, y detenga el proceso de Tor. Luego use Vidalia para reiniciar Tor. </p>
- <p>Para más información, vea las <a href="https://torproject.org/docs/faq.html#VidaliaPassword">Preguntas Frecuentes (FAQ)</a> en el sitio web de Tor Project. </p>
- <h3 id="flash-does-not-work">Flash no funciona </h3>
- <p>Por razones de seguridad, Flash, Java y otros plugins están deshabilitados para Tor. Los plugins operan independientemente de Firefox y pueden realizar alguna actividad en su equipo que arruinaría su anonimato. </p>
- <p>La mayoría de los videos de YouTube funcionan con HTML5, y es posible ver estos videos mediante Tor. Necesita unirse a la <a href="https://www.youtube.com/html5">prueba de HTML5</a> en el sitio web de YouTube antes de poder usar el reproductor HTML5. </p>
- <p>Observe que el navegador no recordará que usted se unió a la prueba una vez lo cierre. Necesitará re-adherirse a ella la próxima vez que ejecute el Parquete de Navegador Tor. </p>
- <p>Revise por favor las <a href="https://www.torproject.org/torbutton/torbutton-faq.html#noflash">Preguntas Frecuentes (FAQ) de Torbutton</a> para mayor información. </p>
- <h3 id="i-want-to-use-another-browser">Deseo usar otro navegador </h3>
- <p>Por razones de seguridad, le recomendamos que sólo navegue por la web a través de Tor usando el Paquete de Navegador Tor. Técnicamente es posible usar Tor con otros navegadores, pero al hacerlo será vulnerable a posibles ataques. </p>
- <h3 id="why-tor-is-slow">Por qué Tor es lento </h3>
- <p>Tor a veces puede ser un poco más lento que su conexión normal a internet. Después de todo, su tráfico se envía a través de muchos países diferentes, ¡a veces a través de océanos por todo el mundo! </p>
+ <h3 id="vidalia-asks-for-a-password">Vidalia solicita una contraseña</h3>
+ <p>No debería tener que introducir una contraseña al iniciar Vidalia. Si se le solicita, es probable que esté afectado por alguno de estos problemas: </p>
+ <p><strong>Ya está ejecutando Vidalia y Tor</strong>: Esto puede suceder, por ejemplo, si usted instaló el paquete de Vidalia y ahora intenta ejecutar el Paquete de Navegador Tor. En ese caso, necesitará cerrar los anteriores procesos de Vidalia y Tor antes que pueda ejecutar este.</p>
+ <p><strong>Vidalia falló, pero Tor sigue corriendo</strong>: Si el cuadro de diálogo solicitandole una contraseña de control tiene un botón Reiniciar, puede presionarlo y Vidala reiniciará Tor con una nueva contraseña de control aleatoria. Si no ve un botón Reiniciar, o si Vidalia no puede reiniciar Tor por usted; vaya a su Administrador de procesos o tareas, y detenga el proceso de Tor. Luego use Vidalia para reiniciar Tor.</p>
+ <p>Para más información, vea las <a href="https://torproject.org/docs/faq.html#VidaliaPassword">Preguntas Frecuentes (FAQ)</a> en el sitio web de Tor Project.</p>
+ <h3 id="flash-does-not-work">Flash no funciona</h3>
+ <p>Por razones de seguridad, Flash, Java y otros plugins están deshabilitados para Tor. Los plugins operan independientemente de Firefox y pueden realizar alguna actividad en su equipo que arruinaría su anonimato.</p>
+ <p>La mayoría de los videos de YouTube funcionan con HTML5, y es posible ver estos videos mediante Tor. Necesita unirse a la <a href="https://www.youtube.com/html5">prueba de HTML5</a> en el sitio web de YouTube antes de poder usar el reproductor HTML5.</p>
+ <p>Observe que el navegador no recordará que usted se unió a la prueba una vez lo cierre. Necesitará re-adherirse a ella la próxima vez que ejecute el Parquete de Navegador Tor.</p>
+ <p>Por favor revise las <a href="https://www.torproject.org/torbutton/torbutton-faq.html#noflash">Preguntas Frecuentes (FAQ) de Torbutton</a> para mayor información.</p>
+ <h3 id="i-want-to-use-another-browser">Deseo usar otro navegador</h3>
+ <p>Por razones de seguridad, le recomendamos que sólo navegue por la web a través de Tor usando el Paquete de Navegador Tor. Técnicamente es posible usar Tor con otros navegadores, pero al hacerlo será vulnerable a posibles ataques.</p>
+ <h3 id="why-tor-is-slow">Por qué Tor es lento</h3>
+ <p>Tor a veces puede ser un poco más lento que su conexión normal a internet. Después de todo, su tráfico se envía a través de muchos países diferentes, ¡a veces a través de océanos por todo el mundo!</p>
</body>
</html>
1
0

[translation/tails-greeter_completed] Update translations for tails-greeter_completed
by translation@torproject.org 04 Dec '12
by translation@torproject.org 04 Dec '12
04 Dec '12
commit 8dc5791bc554e7e27e272bc5e585db4ea715262b
Author: Translation commit bot <translation(a)torproject.org>
Date: Tue Dec 4 06:46:07 2012 +0000
Update translations for tails-greeter_completed
---
es/es.po | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/es/es.po b/es/es.po
index 469094e..e5a0e07 100644
--- a/es/es.po
+++ b/es/es.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: https://trac.torproject.org/projects/tor\n"
"POT-Creation-Date: 2012-06-01 15:10+0200\n"
-"PO-Revision-Date: 2012-11-01 19:48+0000\n"
+"PO-Revision-Date: 2012-12-04 06:30+0000\n"
"Last-Translator: strel <strelnic(a)gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -72,7 +72,7 @@ msgstr "Palabra clave: "
#: ../glade/optionswindow.glade.h:7
msgid "Verify Password:"
-msgstr "Verificar Palabra Clave: "
+msgstr "Verificar palabra clave: "
#: ../glade/optionswindow.glade.h:9
msgid "Windows Camouflage"
@@ -86,7 +86,7 @@ msgstr "Esta opción hace que Tails se parezca más a Microsoft Windows XP. Esto
#: ../glade/optionswindow.glade.h:11
msgid "Activate Microsoft Windows XP Camouflage"
-msgstr "Activar Camuflaje de Microsoft Windows XP"
+msgstr "Activar camuflaje de Microsoft Windows XP"
#: ../glade/langpanel.glade.h:2 ../GdmGreeter/langpanel.py:42
msgid "Language"
@@ -94,7 +94,7 @@ msgstr "Idioma"
#: ../glade/langpanel.glade.h:3
msgid "Locale"
-msgstr "Localización"
+msgstr "Regionalización"
#: ../glade/langpanel.glade.h:4
msgid "Layout"
1
0

[translation/tails-greeter] Update translations for tails-greeter
by translation@torproject.org 04 Dec '12
by translation@torproject.org 04 Dec '12
04 Dec '12
commit 254f070bca808aa3a114ab387001959afef51fef
Author: Translation commit bot <translation(a)torproject.org>
Date: Tue Dec 4 06:46:05 2012 +0000
Update translations for tails-greeter
---
es/es.po | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/es/es.po b/es/es.po
index 469094e..e5a0e07 100644
--- a/es/es.po
+++ b/es/es.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: https://trac.torproject.org/projects/tor\n"
"POT-Creation-Date: 2012-06-01 15:10+0200\n"
-"PO-Revision-Date: 2012-11-01 19:48+0000\n"
+"PO-Revision-Date: 2012-12-04 06:30+0000\n"
"Last-Translator: strel <strelnic(a)gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -72,7 +72,7 @@ msgstr "Palabra clave: "
#: ../glade/optionswindow.glade.h:7
msgid "Verify Password:"
-msgstr "Verificar Palabra Clave: "
+msgstr "Verificar palabra clave: "
#: ../glade/optionswindow.glade.h:9
msgid "Windows Camouflage"
@@ -86,7 +86,7 @@ msgstr "Esta opción hace que Tails se parezca más a Microsoft Windows XP. Esto
#: ../glade/optionswindow.glade.h:11
msgid "Activate Microsoft Windows XP Camouflage"
-msgstr "Activar Camuflaje de Microsoft Windows XP"
+msgstr "Activar camuflaje de Microsoft Windows XP"
#: ../glade/langpanel.glade.h:2 ../GdmGreeter/langpanel.py:42
msgid "Language"
@@ -94,7 +94,7 @@ msgstr "Idioma"
#: ../glade/langpanel.glade.h:3
msgid "Locale"
-msgstr "Localización"
+msgstr "Regionalización"
#: ../glade/langpanel.glade.h:4
msgid "Layout"
1
0

[translation/tails-persistence-setup_completed] Update translations for tails-persistence-setup_completed
by translation@torproject.org 04 Dec '12
by translation@torproject.org 04 Dec '12
04 Dec '12
commit a1cde93a0e4b2ff1019a10df024b83b8a1eeb01c
Author: Translation commit bot <translation(a)torproject.org>
Date: Tue Dec 4 06:46:04 2012 +0000
Update translations for tails-persistence-setup_completed
---
es/es.po | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/es/es.po b/es/es.po
index 1e9efe7..b9620d8 100644
--- a/es/es.po
+++ b/es/es.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: https://trac.torproject.org/projects/tor\n"
"POT-Creation-Date: 2012-11-27 21:00+0100\n"
-"PO-Revision-Date: 2012-11-29 06:18+0000\n"
+"PO-Revision-Date: 2012-12-04 06:33+0000\n"
"Last-Translator: strel <strelnic(a)gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/torproject/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@ msgstr ""
#: ../lib/Tails/Persistence/Configuration/Presets.pm:48
msgid "Personal Data"
-msgstr "Datos Personales"
+msgstr "Datos personales"
#: ../lib/Tails/Persistence/Configuration/Presets.pm:50
msgid "Keep files stored in the `Persistent' directory"
@@ -68,7 +68,7 @@ msgstr "Secretos guardados por el grupo de claves (keyring) de GNOME"
#: ../lib/Tails/Persistence/Configuration/Presets.pm:108
msgid "Network Connections"
-msgstr "Conexiones de Red"
+msgstr "Conexiones de red"
#: ../lib/Tails/Persistence/Configuration/Presets.pm:110
msgid "Configuration of network devices and connections"
@@ -156,7 +156,7 @@ msgstr "El volumen persistente no se pudo leer. ¿Problemas de permisos o de pro
#: ../lib/Tails/Persistence/Setup.pm:498
msgid "Persistence volume is not writable. Maybe it was mounted read-only?"
-msgstr "El volumen persistente no se puede escribir. ¿Está quizá montado en modo solo-lectura (read-only)?"
+msgstr "El volumen persistente no se puede escribir. ¿Está quizá montado en modo sólo-lectura (read-only)?"
#: ../lib/Tails/Persistence/Setup.pm:507
#, perl-format
@@ -218,11 +218,11 @@ msgstr "<b>¡Tenga cuidado!</b> Usar persistencia tiene consecuencias que deben
#: ../lib/Tails/Persistence/Step/Bootstrap.pm:144
msgid "Passphrase:"
-msgstr "Frase Clave: "
+msgstr "Frase clave: "
#: ../lib/Tails/Persistence/Step/Bootstrap.pm:154
msgid "Verify Passphrase:"
-msgstr "Verificar Frase Clave: "
+msgstr "Verificar frase clave: "
#: ../lib/Tails/Persistence/Step/Bootstrap.pm:167
#: ../lib/Tails/Persistence/Step/Bootstrap.pm:231
@@ -236,7 +236,7 @@ msgstr "Las frases clave no concuerdan"
#: ../lib/Tails/Persistence/Step/Bootstrap.pm:262
#: ../lib/Tails/Persistence/Step/Configure.pm:189
msgid "Failed"
-msgstr "Falló"
+msgstr "Fallo"
#: ../lib/Tails/Persistence/Step/Bootstrap.pm:269
#: ../lib/Tails/Persistence/Step/Delete.pm:84
1
0