tor-commits
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
August 2020
- 18 participants
- 1961 discussions
commit 2f3efa9e55e75e5fc8b1171887bf7276a96cf17f
Author: Damian Johnson <atagar(a)torproject.org>
Date: Sun Aug 16 17:22:12 2020 -0700
Remove all trac links
Trac is read-only and will be discontinued at some point. I moved our open
tickets to GitHub but we'll lose closed tickets when it's gone. Definitely a
loss, but not too bad - our commit history archives their most useful
information.
---
docs/_templates/layout.html | 2 +-
docs/change_log.rst | 239 +++++++++++-----------
docs/faq.rst | 9 +-
docs/roles.py | 18 --
docs/tutorials/examples/outdated_relays.rst | 4 +-
run_tests.py | 2 +-
stem/__init__.py | 2 -
stem/connection.py | 12 +-
stem/control.py | 17 +-
stem/descriptor/__init__.py | 8 +-
stem/descriptor/extrainfo_descriptor.py | 2 +-
stem/descriptor/microdescriptor.py | 2 +-
stem/descriptor/networkstatus.py | 4 +-
stem/manual.py | 4 +-
stem/response/getconf.py | 2 +-
stem/util/proc.py | 4 +-
stem/util/system.py | 3 +-
test/integ/connection/authentication.py | 4 +-
test/integ/control/controller.py | 4 +-
test/integ/descriptor/remote.py | 4 +-
test/integ/process.py | 2 +-
test/integ/socket/control_message.py | 2 +-
test/task.py | 1 -
test/unit/descriptor/bandwidth_file.py | 2 +-
test/unit/descriptor/networkstatus/document_v3.py | 4 +-
test/unit/descriptor/server_descriptor.py | 4 +-
test/unit/util/connection.py | 4 +-
27 files changed, 158 insertions(+), 207 deletions(-)
diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html
index b6d24c3b..2f79c785 100644
--- a/docs/_templates/layout.html
+++ b/docs/_templates/layout.html
@@ -47,7 +47,7 @@
<li><a href="{{ pathto('api') }}#utilities">Utilities</a></li>
</ul>
</li>
- <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/stem">Development</a>
+ <li>Development
<ul>
<li><a href="{{ pathto('faq') }}">FAQ</a></li>
<li><a href="{{ pathto('change_log') }}">Change Log</a></li>
diff --git a/docs/change_log.rst b/docs/change_log.rst
index ca7aeba7..580714c7 100644
--- a/docs/change_log.rst
+++ b/docs/change_log.rst
@@ -78,9 +78,9 @@ Version 1.8 (December 29th, 2019)
* Added :func:`~stem.control.Controller.get_start_time` method to the :class:`~stem.control.Controller`
* Added :func:`~stem.control.Controller.get_uptime` method to the :class:`~stem.control.Controller`
- * Controller events could fail to be delivered in a timely fashion (:trac:`27173`)
- * Adjusted :func:`~stem.control.Controller.get_microdescriptors` fallback to also use '.new' cache files (:trac:`28508`)
- * ExitPolicies could raise TypeError when read concurrently (:trac:`29899`)
+ * Controller events could fail to be delivered in a timely fashion
+ * Adjusted :func:`~stem.control.Controller.get_microdescriptors` fallback to also use '.new' cache files
+ * ExitPolicies could raise TypeError when read concurrently
* Moved the *arrived_at* attribute from :class:`~stem.response.event.Event` to :class:`~stem.response.__init__.ControlMessage`
* **STALE_DESC** :data:`~stem.Flag` (:spec:`d14164d`)
* **DORMANT** and **ACTIVE** :data:`~stem.Signal` (:spec:`4421149`)
@@ -89,38 +89,38 @@ Version 1.8 (December 29th, 2019)
* **Descriptors**
- * Added the `stem.descriptor.collector <api/descriptor/collector.html>`_ module (:trac:`17979`)
- * Added `v3 hidden service descriptor support <api/descriptor/hidden_service.html>`_ (:trac:`31369`)
- * `Bandwidth file support <api/descriptor/bandwidth_file.html>`_ (:trac:`29056`)
+ * Added the `stem.descriptor.collector <api/descriptor/collector.html>`_ module
+ * Added `v3 hidden service descriptor support <api/descriptor/hidden_service.html>`_
+ * `Bandwidth file support <api/descriptor/bandwidth_file.html>`_
* `stem.descriptor.remote <api/descriptor/remote.html>`_ methods now raise :class:`stem.DownloadFailed`
- * Check Ed25519 validity though the cryptography module rather than PyNaCl (:trac:`22022`)
- * Download compressed descriptors by default (:trac:`29186`)
+ * Check Ed25519 validity though the cryptography module rather than PyNaCl
+ * Download compressed descriptors by default
* Added :class:`~stem.descriptor.Compression` class
* Added :func:`stem.descriptor.remote.get_microdescriptors`
- * Added :func:`stem.descriptor.remote.get_bandwidth_file` (:trac:`26902`)
- * Added :class:`~stem.descriptor.networkstatus.DetachedSignature` parsing (:trac:`28495`)
- * Added :func:`~stem.descriptor.__init__.Descriptor.from_str` method (:trac:`28450`)
- * Added :func:`~stem.descriptor.__init__.Descriptor.type_annotation` method (:trac:`28397`)
- * Added :func:`~stem.descriptor.networkstatus.NetworkStatusDocument.digest` method (:trac:`28398`)
- * Added the **hash_type** and **encoding** arguments to `ServerDescriptor <api/descriptor/server_descriptor.html#stem.descriptor.server_descriptor.ServerDescriptor.digest>`_ and `ExtraInfo's <api/descriptor/extrainfo_descriptor.html#stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor.digest>`_ digest methods (:trac:`28398`)
+ * Added :func:`stem.descriptor.remote.get_bandwidth_file`
+ * Added :class:`~stem.descriptor.networkstatus.DetachedSignature` parsing
+ * Added :func:`~stem.descriptor.__init__.Descriptor.from_str` method
+ * Added :func:`~stem.descriptor.__init__.Descriptor.type_annotation` method
+ * Added :func:`~stem.descriptor.networkstatus.NetworkStatusDocument.digest` method
+ * Added the **hash_type** and **encoding** arguments to `ServerDescriptor <api/descriptor/server_descriptor.html#stem.descriptor.server_descriptor.ServerDescriptor.digest>`_ and `ExtraInfo's <api/descriptor/extrainfo_descriptor.html#stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor.digest>`_ digest methods
* Added the network status vote's new bandwidth_file_digest attribute (:spec:`1b686ef`)
- * Added :func:`~stem.descriptor.networkstatus.NetworkStatusDocumentV3.is_valid` and :func:`~stem.descriptor.networkstatus.NetworkStatusDocumentV3.is_fresh` methods (:trac:`28448`)
+ * Added :func:`~stem.descriptor.networkstatus.NetworkStatusDocumentV3.is_valid` and :func:`~stem.descriptor.networkstatus.NetworkStatusDocumentV3.is_fresh` methods
* Replaced :func:`~stem.descriptor.router_status_entry.RouterStatusEntryMicroV3` hex encoded **digest** attribute with a base64 encoded **microdescriptor_digest**
- * Replaced the **digest** attribute of :class:`~stem.descriptor.microdescriptor.Microdescriptor` with a method by the same name (:trac:`28398`)
+ * Replaced the **digest** attribute of :class:`~stem.descriptor.microdescriptor.Microdescriptor` with a method by the same name
* Default the **version_flavor** attribute of :class:`~stem.descriptor.networkstatus.NetworkStatusDocumentV3` to 'ns' (:spec:`d97f8d9`)
- * DescriptorDownloader crashed if **use_mirrors** is set (:trac:`28393`)
+ * DescriptorDownloader crashed if **use_mirrors** is set
* Renamed stem.descriptor.hidden_service_descriptor to stem.descriptor.hidden_service
* Don't download from Serge, a bridge authority that frequently timeout
- * Updated dizum authority's address (:trac:`31406`)
+ * Updated dizum authority's address
* **Client**
- * Sockets with ORPorts errored if responses exceeded a hardcoded buffer size (:trac:`28961`)
+ * Sockets with ORPorts errored if responses exceeded a hardcoded buffer size
* **Utilities**
* :func:`~stem.util.tor_tools.is_valid_hidden_service_address` now provides *true* if a v3 hidden servie address
- * Fixed 'invalid escape sequence' python 3.6 warnings (:trac:`27270`)
+ * Fixed 'invalid escape sequence' python 3.6 warnings
* **Website**
@@ -128,7 +128,7 @@ Version 1.8 (December 29th, 2019)
* Added NetBSD to our `download page <download.html>`_
* Describe `advanced listener usage <tutorials/tortoise_and_the_hare.html#advanced-listeners>`_
* Exemplify `manual SAFECOOKIE authentication <faq.html#i-m-using-safe-cookie-authentication>`_
- * `Update PyPI links <https://packaging.python.org/guides/migrating-to-pypi-org/>`_ (:trac:`30137`)
+ * `Update PyPI links <https://packaging.python.org/guides/migrating-to-pypi-org/>`_
* **Interpreter**
@@ -147,16 +147,16 @@ and the `stem.directory module <api/directory.html>`_.
* **Controller**
- * Listener exceptions and malformed events no longer break further event processing (:trac:`27053`)
- * Documented v3 hidden service support (:trac:`25124`, :spec:`6bd0a69`)
+ * Listener exceptions and malformed events no longer break further event processing
+ * Documented v3 hidden service support (:spec:`6bd0a69`)
* Added the stem.control.MALFORMED_EVENTS event listener constant
* Added support for limiting the maximum number of streams for :func:`~stem.control.Controller.create_ephemeral_hidden_service` (:spec:`2fcb1c2`)
- * Added a timeout argument to :class:`~stem.control.Controller` methods that could await a response (:trac:`26056`)
+ * Added a timeout argument to :class:`~stem.control.Controller` methods that could await a response
* Added a close_output argument to :class:`~stem.process.launch_tor`
* :func:`stem.connection.connect` crashed if its port argument was a string
- * More reliable ExitPolicy resolution (:trac:`25739`)
- * Fixed cache invalidation when another contorller calls SETCONF (:trac:`25821`)
- * :func:`~stem.control.COntroller.create_hidden_service` failed when creating services with v2 options (:trac:`27446`)
+ * More reliable ExitPolicy resolution
+ * Fixed cache invalidation when another contorller calls SETCONF
+ * :func:`~stem.control.COntroller.create_hidden_service` failed when creating services with v2 options
* :func:`~stem.control.Controller.get_info` commonly raised :class:`stem.ProtocolError` when it should provide a :class:`stem.OperationFailed`
* :func:`~stem.control.Controller.get_microdescriptors` now reads microdescriptors from the control port rather than disk when available (:spec:`b5396d5`)
* Added the delivered_read, delivered_written, overhead_read, and overhead_written attributes to :class:`~stem.response.events.CircuitBandwidthEvent` (:spec:`fbb38ec`)
@@ -176,28 +176,28 @@ and the `stem.directory module <api/directory.html>`_.
* Added the *orport_v6* attribute to the :class:`~stem.directory.Authority` class
* Added server descriptor's new is_hidden_service_dir attribute
* Added the network status vote's new bandwidth_file_headers attribute (:spec:`84591df`)
- * Added the microdescriptor router status entry's new or_addresses attribute (:trac:`26405`, :spec:`fdc8f3e`)
+ * Added the microdescriptor router status entry's new or_addresses attribute (:spec:`fdc8f3e`)
* Don't retry downloading descriptors when we've timed out
* Don't download from tor26, an authority that frequently timeout
- * Replaced Bifroest bridge authority with Serge (:trac:`26771`)
+ * Replaced Bifroest bridge authority with Serge
* `stem.descriptor.remote <api/descriptor/remote.html>`_ now consistently defaults **fall_back_to_authority** to false
* Deprecated `stem.descriptor.export <api/descriptor/export.html>`_. If you use it please `let us know <https://www.atagar.com/contact/>`_.
* Added :func:`~stem.descriptor.remote.their_server_descriptor`
* Added the reply_headers attribute to :class:`~stem.descriptor.remote.Query`
* Supplying a User-Agent when downloading descriptors
- * Reduced maximum descriptors fetched by the remote module to match tor's new limit (:trac:`24743`)
- * Consensus **shared_randomness_*_reveal_count** attributes undocumented, and unavailable if retrieved before their corresponding shared_randomness_*_value attribute (:trac:`25046`)
+ * Reduced maximum descriptors fetched by the remote module to match tor's new limit
+ * Consensus **shared_randomness_*_reveal_count** attributes undocumented, and unavailable if retrieved before their corresponding shared_randomness_*_value attribute
* Allow 'proto' line to have blank values (:spec:`a8455f4`)
* **Utilities**
- * Fixed PyPy compatibility (:trac:`26207`)
- * Python 3.6+ syntax error if test_tools.py imported (:trac:`26739`)
+ * Fixed PyPy compatibility
+ * Python 3.6+ syntax error if test_tools.py imported
* Connection information from proc limited to 10,000 results
* Include attribute types in most equality checks and hashes
* Cache hash values of immutable classes
* More performant string concatenation `via bytearrays <https://docs.python.org/3/faq/programming.html#what-is-the-most-efficient-w…>`_
- * Functions using lru_cache could fail with a KeyError on Python 3.5 (:trac:`26412`)
+ * Functions using lru_cache could fail with a KeyError on Python 3.5
* **Website**
@@ -207,7 +207,7 @@ and the `stem.directory module <api/directory.html>`_.
* Added a `relay connection summary example <tutorials/examples/relay_connections.html>`_
* **Version 1.7.1** (December 26th, 2018) - :func:`~stem.process.launch_tor`
- compatibility with an upcoming log format change (:trac:`28731`)
+ compatibility with an upcoming log format change
.. _version_1.6:
@@ -219,48 +219,48 @@ Year long accumulation of fixes and improvements in support of the `Nyx 2.0 rele
* **Controller**
* :func:`~stem.process.launch_tor` raised a ValueError if invoked when outside the main thread
- * Failure to authenticate could raise an improper response or hang (:trac:`22679`)
- * Renamed :class:`~stem.response.events.ConnectionBandwidthEvent` type attribute to conn_type to avoid conflict with parent class (:trac:`21774`)
+ * Failure to authenticate could raise an improper response or hang
+ * Renamed :class:`~stem.response.events.ConnectionBandwidthEvent` type attribute to conn_type to avoid conflict with parent class
* Added 'force' argument to :func:`~stem.control.Controller.save_conf` (:spec:`5c82d5e`)
* Added the QUERY_NO_HSDIR :data:`~stem.HSDescReason` and recognizing unknown HSDir results (:spec:`1412d79`)
* Added the GUARD_WAIT :data:`~stem.CircStatus` (:spec:`6446210`)
* Unable to use cookie auth when path includes wide characters (chinese, japanese, etc)
- * Tor change caused :func:`~stem.control.Controller.list_ephemeral_hidden_services` to provide empty strings if unset (:trac:`21329`)
+ * Tor change caused :func:`~stem.control.Controller.list_ephemeral_hidden_services` to provide empty strings if unset
* Better error message when :func:`~stem.control.Controller.set_conf` fails due to an option being immutable
- * :func:`~stem.control.Controller.get_ports` didn't provide ports for many representations of localhost (:trac:`24085`)
+ * :func:`~stem.control.Controller.get_ports` didn't provide ports for many representations of localhost
* :func:`~stem.control.Controller.is_geoip_unavailable` now determines if database is available right away
* Added the time attribute to :class:`~stem.response.events.StreamBwEvent` and :class:`~stem.response.events.CircuitBandwidthEvent` (:spec:`00b9daf`)
* Added the consensus_content attribute to :class:`~stem.response.events.NewConsensusEvent` and deprecated its 'desc'
- * Deprecated :func:`~stem.control.Controller.is_geoip_unavailable`, this is now available via getinfo instead (:trac:`23237`, :spec:`dc973f8`)
- * Deprecated :class:`~stem.respose.events.AuthDirNewDescEvent` (:trac:`22377`, :spec:`6e887ba`)
+ * Deprecated :func:`~stem.control.Controller.is_geoip_unavailable`, this is now available via getinfo instead (:spec:`dc973f8`)
+ * Deprecated :class:`~stem.respose.events.AuthDirNewDescEvent` (:spec:`6e887ba`)
* Caching manual information as sqlite rather than stem.util.conf, making :func:`stem.manual.Manual.from_cache` about ~8x faster
* Added :func:`~stem.manual.database` to get a cursor for the manual cache
* Failed to parse torrcs without a port on ipv6 exit policy entries
* Resilient to 'Tor' prefix in 'GETINFO version' result (:spec:`c5ff1b1`)
- * Added a **all_extra** parameter to :class:`stem.version.Version` and support for multiple parenthetical entries (:trac:`22110`, :spec:`b50917d`)
- * Setting 'UseMicrodescriptors 1' in your torrc caused :func:`~stem.control.Controller.get_network_statuses` to error (:trac:`24110`)
+ * Added a **all_extra** parameter to :class:`stem.version.Version` and support for multiple parenthetical entries (:spec:`b50917d`)
+ * Setting 'UseMicrodescriptors 1' in your torrc caused :func:`~stem.control.Controller.get_network_statuses` to error
* Closing controller connection faster when under heavy event load
* Better messaging when unable to connect to tor on FreeBSD
* More succinct trace level logging
* **Descriptors**
- * Supporting `descriptor creation <tutorials/mirror_mirror_on_the_wall.html#can-i-create-descriptors>`_ (:trac:`10227`)
- * Support and validation for `ed25519 certificates <api/descriptor/certificate.html>`_ (`spec <https://gitweb.torproject.org/torspec.git/tree/cert-spec.txt>`_, :trac:`21558`)
- * Added :func:`~stem.descriptor.networkstatus.NetworkStatusDocumentV3.validate_signatures` to check our key certificate signatures (:trac:`11045`)
- * Moved from the deprecated `pycrypto <https://www.dlitz.net/software/pycrypto/>`_ module to `cryptography <https://pypi.org/project/cryptography/>`_ for validating signatures (:trac:`21086`)
+ * Supporting `descriptor creation <tutorials/mirror_mirror_on_the_wall.html#can-i-create-descriptors>`_
+ * Support and validation for `ed25519 certificates <api/descriptor/certificate.html>`_ (`spec <https://gitweb.torproject.org/torspec.git/tree/cert-spec.txt>`_)
+ * Added :func:`~stem.descriptor.networkstatus.NetworkStatusDocumentV3.validate_signatures` to check our key certificate signatures
+ * Moved from the deprecated `pycrypto <https://www.dlitz.net/software/pycrypto/>`_ module to `cryptography <https://pypi.org/project/cryptography/>`_ for validating signatures
* Sped descriptor reading by ~25% by deferring defaulting when validating
* Added server descriptor's new extra_info_sha256_digest attribute (:spec:`0f03581`)
* Added server descriptor's new protocol attribute (:spec:`eb4fb3c`)
- * Added server descriptor's new bridge_distribution attribute (:trac:`21177`)
+ * Added server descriptor's new bridge_distribution attribute
* Added extrainfo descriptor's new padding_counts attributes (:spec:`0803997`)
- * Shared randomness properties weren't being read in votes (:trac:`21102`)
- * Added bastet as a new authority (:trac:`23912`)
- * Updated longclaw authority's address (:trac:`23592`)
+ * Shared randomness properties weren't being read in votes
+ * Added bastet as a new authority
+ * Updated longclaw authority's address
* **Utilities**
- * Support connection resolution on OpenBSD using fstat (:trac:`13807`)
+ * Support connection resolution on OpenBSD using fstat
* Added :func:`~stem.util.system.size_of`
* Added :func:`~stem.util.log.is_tracing`
* Added timeout argument to :func:`~stem.util.system.call`
@@ -274,13 +274,13 @@ Year long accumulation of fixes and improvements in support of the `Nyx 2.0 rele
* **Interpreter**
- * Added a `'--run [command or path]' argument <tutorials/down_the_rabbit_hole.html#running-individual-commands>`_ to invoke specific commands (:trac:`21541`)
- * Allowing interpreter to continue after tor shuts down (:trac:`22374`)
+ * Added a `'--run [command or path]' argument <tutorials/down_the_rabbit_hole.html#running-individual-commands>`_ to invoke specific commands
+ * Allowing interpreter to continue after tor shuts down
* Interpreter buffered an unbounded number of events, leaking memory over time
* **Website**
- * Source code served by '[source]' links perpetually stale (:trac:`19521`)
+ * Source code served by '[source]' links perpetually stale
.. _version_1.5:
@@ -295,21 +295,21 @@ and much more.
* **Controller**
* Dramatic, 300x performance improvement for reading from the control port with python 3
- * Added `stem.manual <api/manual.html>`_, which provides information available about Tor from `its manual <https://www.torproject.org/docs/tor-manual.html.en>`_ (:trac:`8251`)
- * :func:`~stem.connection.connect` and :func:`~stem.control.Controller.from_port` now connect to both port 9051 (relay's default) and 9151 (Tor Browser's default) (:trac:`16075`)
- * :class:`~stem.exit_policy.ExitPolicy` support for *accept6/reject6* and *\*4/6* wildcards (:trac:`16053`)
+ * Added `stem.manual <api/manual.html>`_, which provides information available about Tor from `its manual <https://www.torproject.org/docs/tor-manual.html.en>`_
+ * :func:`~stem.connection.connect` and :func:`~stem.control.Controller.from_port` now connect to both port 9051 (relay's default) and 9151 (Tor Browser's default)
+ * :class:`~stem.exit_policy.ExitPolicy` support for *accept6/reject6* and *\*4/6* wildcards
* Added `support for NETWORK_LIVENESS events <api/response.html#stem.response.events.NetworkLivenessEvent>`_ (:spec:`44aac63`)
* Added support for basic authentication to :func:`~stem.control.Controller.create_ephemeral_hidden_service` (:spec:`c2865d9`)
* Added support for non-anonymous services to :func:`~stem.control.Controller.create_ephemeral_hidden_service` (:spec:`b8fe774`)
- * Added :func:`~stem.control.event_description` for getting human-friendly descriptions of tor events (:trac:`19061`)
+ * Added :func:`~stem.control.event_description` for getting human-friendly descriptions of tor events
* Added :func:`~stem.control.Controller.reconnect` to the :class:`~stem.control.Controller`
* Added :func:`~stem.control.Controller.is_set` to the :class:`~stem.control.Controller`
* Added :func:`~stem.control.Controller.is_user_traffic_allowed` to the :class:`~stem.control.Controller`
* Added the replica attribute to :class:`~stem.response.events.HSDescEvent` (:spec:`4989e73`)
* Added the NoEdConsensus :data:`~stem.Flag` (:spec:`dc99160`)
* Recognize listeners with IPv6 addresses in :func:`~stem.control.Controller.get_listeners`
- * :func:`~stem.process.launch_tor` could leave a lingering process during an unexpected exception (:trac:`17946`)
- * IPv6 addresses could trigger errors in :func:`~stem.control.Controller.get_listeners`, :class:`~stem.response.events.ORConnEvent`, and quite a few other things (:trac:`16174`)
+ * :func:`~stem.process.launch_tor` could leave a lingering process during an unexpected exception
+ * IPv6 addresses could trigger errors in :func:`~stem.control.Controller.get_listeners`, :class:`~stem.response.events.ORConnEvent`, and quite a few other things
* Don't obscure stacktraces, most notably :class:`~stem.control.Controller` getter methods with default values
* Classes with custom equality checks didn't provide a corresponding inequality method
@@ -321,25 +321,25 @@ and much more.
* Support downloading microdescriptor consensus with :func:~stem.descriptor.remote.DescriptorDownloader.get_consensus` (:spec`e788b8f`)
* Added consensus and vote's new shared randomness attributes (:spec:`9949f64`)
* Added server descriptor's new allow_tunneled_dir_requests attribute (:spec:`8bc30d6`)
- * Server descriptor validation fails with 'extra-info-digest line had an invalid value' from additions in proposal 228 (:trac:`16227`)
+ * Server descriptor validation fails with 'extra-info-digest line had an invalid value' from additions in proposal 228
* :class:`~stem.descriptor.server_descriptor.BridgeDescriptor` now has 'ntor_onion_key' like its unsanitized counterparts
* Replaced the :class:`~stem.descriptor.microdescriptor.Microdescriptor` identifier and identifier_type attributes with an identifiers hash since it can now appear multiple times (:spec:`09ff9e2`)
- * Unable to read descriptors from data directories on Windows due to their CRLF newlines (:trac:`17051`)
- * TypeError under python3 when using 'use_mirrors = True' (:trac:`17083`)
- * Deprecated hidden service descriptor's *introduction_points_auth* field, which was never implemented in tor (:trac:`15190`, :spec:`9c218f9`)
- * Deprecated :func:`~stem.descriptor.remote.DescriptorDownloader.get_microdescriptors` as it was never implemented in tor (:trac:`9271`)
- * :func:`~stem.control.Controller.get_hidden_service_descriptor` errored when provided a *servers* argument (:trac:`18401`)
+ * Unable to read descriptors from data directories on Windows due to their CRLF newlines
+ * TypeError under python3 when using 'use_mirrors = True'
+ * Deprecated hidden service descriptor's *introduction_points_auth* field, which was never implemented in tor (:spec:`9c218f9`)
+ * Deprecated :func:`~stem.descriptor.remote.DescriptorDownloader.get_microdescriptors` as it was never implemented in tor
+ * :func:`~stem.control.Controller.get_hidden_service_descriptor` errored when provided a *servers* argument
* Fixed parsing of server descriptor's *allow-single-hop-exits* and *caches-extra-info* lines
* Bracketed IPv6 addresses were mistreated as being invalid content
* Better validation for non-ascii descriptor content
- * Updated dannenberg's v3ident (:trac:`17906`)
- * Removed urras as a directory authority (:trac:`19271`)
+ * Updated dannenberg's v3ident
+ * Removed urras as a directory authority
* **Utilities**
- * IPv6 support in :func:`~stem.util.connection.get_connections` when resolving with proc, netstat, lsof, or ss (:trac:`18079`)
- * The 'ss' connection resolver didn't work on Gentoo (:trac:`18079`)
- * Recognize IPv4-mapped IPv6 addresses in our utils (:trac:`18079`)
+ * IPv6 support in :func:`~stem.util.connection.get_connections` when resolving with proc, netstat, lsof, or ss
+ * The 'ss' connection resolver didn't work on Gentoo
+ * Recognize IPv4-mapped IPv6 addresses in our utils
* Allow :func:`stem.util.conf.Config.set` to remove values when provided with a **None** value
* Support prefix and suffix issue strings in :func:`~stem.util.test_tools.pyflakes_issues`
* Additional information when :func:`~stem.util.system.call` fails through a :class:`~stem.util.system.CallError`
@@ -358,14 +358,14 @@ and much more.
* **Website**
* `Comparison of our descriptor parsing libraries <tutorials/mirror_mirror_on_the_wall.html#are-there-any-other-parsing-libraries>`_
- * Example for `custom path selection for circuits <tutorials/to_russia_with_love.html#custom-path-selection>`_ (:trac:`8728`)
+ * Example for `custom path selection for circuits <tutorials/to_russia_with_love.html#custom-path-selection>`_
* Example for `persisting ephemeral hidden service keys <tutorials/over_the_river.html#ephemeral-hidden-services>`_
* **Version 1.5.3** (December 5th, 2016) - including tests and site in the
release tarball
* **Version 1.5.4** (January 4th, 2017) - drop validation of the order of
- fields in the tor consensus (:trac:`21059`)
+ fields in the tor consensus
.. _version_1.4:
@@ -382,45 +382,44 @@ unvalidated content is lazy-loaded, `greatly improving our performance
<https://lists.torproject.org/pipermail/tor-dev/2015-January/008211.html>`_.
And last, Stem also now runs directly under both python2 and python3 without a
-2to3 conversion (:trac:`14075`)!
+2to3 conversion!
* **Controller**
* Added :class:`~stem.control.Controller` methods for a new style of hidden services that don't touch disk: :func:`~stem.control.Controller.list_ephemeral_hidden_services`, :func:`~stem.control.Controller.create_ephemeral_hidden_service`, and :func:`~stem.control.Controller.remove_ephemeral_hidden_service` (:spec:`f5ff369`)
- * Added :func:`~stem.control.Controller.get_hidden_service_descriptor` and `support for HS_DESC_CONTENT events <api/response.html#stem.response.events.HSDescContentEvent>`_ (:trac:`14847`, :spec:`aaf2434`)
- * :func:`~stem.process.launch_tor_with_config` avoids writing a temporary torrc to disk if able (:trac:`13865`)
- * :class:`~stem.response.events.CircuitEvent` support for the new SOCKS_USERNAME and SOCKS_PASSWORD arguments (:trac:`14555`, :spec:`2975974`)
- * The 'strict' argument of :func:`~stem.exit_policy.ExitPolicy.can_exit_to` didn't behave as documented (:trac:`14314`)
+ * Added :func:`~stem.control.Controller.get_hidden_service_descriptor` and `support for HS_DESC_CONTENT events <api/response.html#stem.response.events.HSDescContentEvent>`_ (:spec:`aaf2434`)
+ * :func:`~stem.process.launch_tor_with_config` avoids writing a temporary torrc to disk if able
+ * :class:`~stem.response.events.CircuitEvent` support for the new SOCKS_USERNAME and SOCKS_PASSWORD arguments (:spec:`2975974`)
+ * The 'strict' argument of :func:`~stem.exit_policy.ExitPolicy.can_exit_to` didn't behave as documented
* Threads spawned for status change listeners were never joined on, potentially causing noise during interpreter shutdown
- * Added support for specifying the authentication type and client names in :func:`~stem.control.Controller.create_hidden_service` (:trac:`14320`)
+ * Added support for specifying the authentication type and client names in :func:`~stem.control.Controller.create_hidden_service`
* **Descriptors**
- * Lazy-loading descriptors, improving performance by 25-70% depending on what type it is (:trac:`14011`)
- * Added `support for hidden service descriptors <api/descriptor/hidden_service.html>`_ (:trac:`15004`)
+ * Lazy-loading descriptors, improving performance by 25-70% depending on what type it is
+ * Added `support for hidden service descriptors <api/descriptor/hidden_service.html>`_
* When reading sanitised bridge descriptors (server or extrainfo), :func:`~stem.descriptor.__init__.parse_file` treated the whole file as a single descriptor
* The :class:`~stem.descriptor.networkstatus.DirectoryAuthority` 'fingerprint' attribute was actually its 'v3ident'
* Added consensus' new package attribute (:spec:`ab64534`)
* Added extra info' new hs_stats_end, hs_rend_cells, hs_rend_cells_attr, hs_dir_onions_seen, and hs_dir_onions_seen_attr attributes (:spec:`ddb630d`)
- * Updating Faravahar's address (:trac:`14487`)
+ * Updating Faravahar's address
* **Utilities**
- * Windows support for connection resolution (:trac:`14844`)
- * :func:`stem.util.connection.port_usage` always returned None (:trac:`14046`)
+ * Windows support for connection resolution
+ * :func:`stem.util.connection.port_usage` always returned None
* :func:`~stem.util.test_tools.stylistic_issues` and :func:`~stem.util.test_tools.pyflakes_issues` now provide namedtuples that also includes the line
* Added :func:`stem.util.system.tail`
- * Proc connection resolution could fail on especially busy systems (:trac:`14048`)
+ * Proc connection resolution could fail on especially busy systems
* **Website**
- * Added support and `instructions for tox <faq.html#how-do-i-test-compatibility-with-multiple-python-versions>`_ (:trac:`14091`)
- * Added OSX to our `download page <download.html>`_ (:trac:`8588`)
- * Updated our twitter example to work with the service's 1.1 API (:trac:`9003`)
+ * Added support and `instructions for tox <faq.html#how-do-i-test-compatibility-with-multiple-python-versions>`_
+ * Added OSX to our `download page <download.html>`_
+ * Updated our twitter example to work with the service's 1.1 API
* **Version 1.4.1** (May 18th, 2015) - fixed issue where descriptors couldn't
- be unpickled (:trac:`16054`) and a parsing issue for router status entry
- bandwidth lines (:trac:`16048`)
+ be unpickled and a parsing issue for router status entry bandwidth lines
.. _version_1.3:
@@ -435,26 +434,26 @@ brings see `Nathan Willis' LWN article <http://lwn.net/Articles/632914/>`_.
* **Controller**
- * Added :class:`~stem.control.Controller` methods to more easily work with hidden service configurations: :func:`~stem.control.Controller.get_hidden_service_conf`, :func:`~stem.control.Controller.set_hidden_service_conf`, :func:`~stem.control.Controller.create_hidden_service`, and :func:`~stem.control.Controller.remove_hidden_service` (:trac:`12533`)
+ * Added :class:`~stem.control.Controller` methods to more easily work with hidden service configurations: :func:`~stem.control.Controller.get_hidden_service_conf`, :func:`~stem.control.Controller.set_hidden_service_conf`, :func:`~stem.control.Controller.create_hidden_service`, and :func:`~stem.control.Controller.remove_hidden_service`
* Added :func:`~stem.control.Controller.get_accounting_stats` to the :class:`~stem.control.Controller`
* Added :func:`~stem.control.Controller.get_effective_rate` to the :class:`~stem.control.Controller`
* Added :func:`~stem.control.BaseController.connection_time` to the :class:`~stem.control.BaseController`
* Changed :func:`~stem.control.Controller.get_microdescriptor`, :func:`~stem.control.Controller.get_server_descriptor`, and :func:`~stem.control.Controller.get_network_status` to get our own descriptor if no fingerprint or nickname is provided.
- * Added :class:`~stem.exit_policy.ExitPolicy` methods for more easily handling 'private' policies (the `default prefix <https://www.torproject.org/docs/tor-manual.html.en#ExitPolicyRejectPrivate>`_) and the defaultly appended suffix. This includes :func:`~stem.exit_policy.ExitPolicy.has_private`, :func:`~stem.exit_policy.ExitPolicy.strip_private`, :func:`~stem.exit_policy.ExitPolicy.has_default`, and :func:`~stem.exit_policy.ExitPolicy.strip_default` :class:`~stem.exit_policy.ExitPolicy` methods in addition to :func:`~stem.exit_policy.ExitPolicyRule.is_private` and :func:`~stem.exit_policy.ExitPolicyRule.is_default` for the :class:`~stem.exit_policy.ExitPolicyRule`. (:trac:`10107`)
+ * Added :class:`~stem.exit_policy.ExitPolicy` methods for more easily handling 'private' policies (the `default prefix <https://www.torproject.org/docs/tor-manual.html.en#ExitPolicyRejectPrivate>`_) and the defaultly appended suffix. This includes :func:`~stem.exit_policy.ExitPolicy.has_private`, :func:`~stem.exit_policy.ExitPolicy.strip_private`, :func:`~stem.exit_policy.ExitPolicy.has_default`, and :func:`~stem.exit_policy.ExitPolicy.strip_default` :class:`~stem.exit_policy.ExitPolicy` methods in addition to :func:`~stem.exit_policy.ExitPolicyRule.is_private` and :func:`~stem.exit_policy.ExitPolicyRule.is_default` for the :class:`~stem.exit_policy.ExitPolicyRule`.
* Added the reason attribute to :class:`~stem.response.events.HSDescEvent` (:spec:`7908c8d`)
- * :func:`~stem.process.launch_tor_with_config` could cause a "Too many open files" OSError if called too many times (:trac:`13141`)
+ * :func:`~stem.process.launch_tor_with_config` could cause a "Too many open files" OSError if called too many times
* The :func:`~stem.control.Controller.get_exit_policy` method errored if tor couldn't determine our external address
* The Controller's methods for retrieving descriptors could raise unexpected ValueErrors if tor didn't have any descriptors available
- * Throwing a new :class:`~stem.DescriptorUnavailable` exception type when the :class:`~stem.control.Controller` can't provide the descriptor for a relay (:trac:`13879`)
+ * Throwing a new :class:`~stem.DescriptorUnavailable` exception type when the :class:`~stem.control.Controller` can't provide the descriptor for a relay
* **Descriptors**
- * Improved speed for parsing consensus documents by around 40% (:trac:`12859` and :trac:`13821`)
+ * Improved speed for parsing consensus documents by around 40%
* Don't fail if consensus method 1 is not present, as it is no longer required (:spec:`fc8a6f0`)
- * Include '\*.new' files when reading from a Tor data directory (:trac:`13756`)
+ * Include '\*.new' files when reading from a Tor data directory
* Updated the authorities we list, `replacing turtles with longclaw <https://lists.torproject.org/pipermail/tor-talk/2014-November/035650.html>`_ and `updating gabelmoo's address <https://lists.torproject.org/pipermail/tor-talk/2014-September/034898.html>`_
* Noting if authorities are also a bandwidth authority or not
- * Microdescriptor validation issues could result in an AttributeError (:trac:`13904`)
+ * Microdescriptor validation issues could result in an AttributeError
* **Utilities**
@@ -471,9 +470,9 @@ brings see `Nathan Willis' LWN article <http://lwn.net/Articles/632914/>`_.
* **Website**
* Tutorial for `hidden services <tutorials/over_the_river.html>`_
- * Example for `writing descriptors to disk and reading them back <tutorials/mirror_mirror_on_the_wall.html#saving-and-loading-descriptors>`_ (:trac:`13774`)
- * Added Gentoo to our `download page <download.html>`_ and handful of testing revisions for that platform (:trac:`13904`)
- * Tests for our tutorial examples (:trac:`11335`)
+ * Example for `writing descriptors to disk and reading them back <tutorials/mirror_mirror_on_the_wall.html#saving-and-loading-descriptors>`_
+ * Added Gentoo to our `download page <download.html>`_ and handful of testing revisions for that platform
+ * Tests for our tutorial examples
* Revised `GitWeb <https://gitweb.torproject.org/>`_ urls to work after its upgrade
.. _version_1.2:
@@ -490,22 +489,22 @@ among numerous other improvements and fixes.
* New, better :func:`~stem.connection.connect` function that deprecates :func:`~stem.connection.connect_port` and :func:`~stem.connection.connect_socket_file`
* Added :func:`~stem.control.Controller.is_newnym_available` and :func:`~stem.control.Controller.get_newnym_wait` methods to the :class:`~stem.control.Controller`
* Added :func:`~stem.control.Controller.get_ports` and :func:`~stem.control.Controller.get_listeners` methods to the :class:`~stem.control.Controller`
- * Added :func:`~stem.control.Controller.drop_guards` (:trac:`10032`, :spec:`7c6c7fc`)
+ * Added :func:`~stem.control.Controller.drop_guards` (:spec:`7c6c7fc`)
* Added the id attribute to :class:`~stem.response.events.ORConnEvent` (:spec:`6f2919a`)
* Added `support for CONN_BW events <api/response.html#stem.response.events.ConnectionBandwidthEvent>`_ (:spec:`6f2919a`)
* Added `support for CIRC_BW events <api/response.html#stem.response.events.CircuitBandwidthEvent>`_ (:spec:`6f2919a`)
* Added `support for CELL_STATS events <api/response.html#stem.response.events.CellStatsEvent>`_ (:spec:`6f2919a`)
* Added `support for TB_EMPTY events <api/response.html#stem.response.events.TokenBucketEmptyEvent>`_ (:spec:`6f2919a`)
- * Added `support for HS_DESC events <api/response.html#stem.response.events.HSDescEvent>`_ (:trac:`10807`, :spec:`a67ac4d`)
- * Changed :func:`~stem.control.Controller.get_network_status` and :func:`~stem.control.Controller.get_network_statuses` to provide :class:`~stem.descriptor.router_status_entry.RouterStatusEntryMicroV3` if Tor is using microdescriptors (:trac:`7646`)
+ * Added `support for HS_DESC events <api/response.html#stem.response.events.HSDescEvent>`_ (:spec:`a67ac4d`)
+ * Changed :func:`~stem.control.Controller.get_network_status` and :func:`~stem.control.Controller.get_network_statuses` to provide :class:`~stem.descriptor.router_status_entry.RouterStatusEntryMicroV3` if Tor is using microdescriptors
* The :func:`~stem.connection.connect_port` and :func:`~stem.connection.connect_socket_file` didn't properly mark the Controller it returned as being authenticated, causing event listening among other things to fail
* The :func:`~stem.control.Controller.add_event_listener` method couldn't accept event types that Stem didn't already recognize
* The :class:`~stem.exit_policy.ExitPolicy` class couldn't be pickled
- * Tor instances spawned with :func:`~stem.process.launch_tor` and :func:`~stem.process.launch_tor_with_config` could hang due to unread stdout content, we now close stdout and stderr once tor finishes bootstrapping (:trac:`9862`)
+ * Tor instances spawned with :func:`~stem.process.launch_tor` and :func:`~stem.process.launch_tor_with_config` could hang due to unread stdout content, we now close stdout and stderr once tor finishes bootstrapping
* **Descriptors**
- * Added tarfile support to :func:`~stem.descriptor.__init__.parse_file` (:trac:`10977`)
+ * Added tarfile support to :func:`~stem.descriptor.__init__.parse_file`
* Added microdescriptor's new identifier and identifier_type attributes (:spec:`22cda72`)
* **Utilities**
@@ -525,10 +524,10 @@ among numerous other improvements and fixes.
* Made FAQ and other sections quite a bit more succinct.
* **Version 1.2.2** (June 7th, 2014) - fixed an issue where the stem.util.conf
- module would fail under Python 2.6 with an AttributeError (:trac:`12223`)
+ module would fail under Python 2.6 with an AttributeError
* **Version 1.2.1** (June 3rd, 2014) - fixed an issue where descriptor
- parsersing would fail under Python 3.x with a TypeError (:trac:`12185`)
+ parsersing would fail under Python 3.x with a TypeError
.. _version_1.1:
@@ -542,27 +541,27 @@ and a myriad of smaller improvements and fixes.
* **Controller**
- * :func:`~stem.control.Controller.get_network_status` and :func:`~stem.control.Controller.get_network_statuses` now provide v3 rather than v2 directory information (:trac:`7953`, :spec:`d2b7ebb`)
- * :class:`~stem.response.events.AddrMapEvent` support for the new CACHED argument (:trac:`8596`, :spec:`25b0d43`)
- * :func:`~stem.control.Controller.attach_stream` could encounter an undocumented 555 response (:trac:`8701`, :spec:`7286576`)
- * :class:`~stem.descriptor.server_descriptor.RelayDescriptor` digest validation was broken when dealing with non-unicode content with Python 3 (:trac:`8755`)
- * The :class:`~stem.control.Controller` use of cached content wasn't thread safe (:trac:`8607`)
+ * :func:`~stem.control.Controller.get_network_status` and :func:`~stem.control.Controller.get_network_statuses` now provide v3 rather than v2 directory information (:spec:`d2b7ebb`)
+ * :class:`~stem.response.events.AddrMapEvent` support for the new CACHED argument (:spec:`25b0d43`)
+ * :func:`~stem.control.Controller.attach_stream` could encounter an undocumented 555 response (:spec:`7286576`)
+ * :class:`~stem.descriptor.server_descriptor.RelayDescriptor` digest validation was broken when dealing with non-unicode content with Python 3
+ * The :class:`~stem.control.Controller` use of cached content wasn't thread safe
* Added :func:`~stem.control.Controller.get_user` method to the :class:`~stem.control.Controller`
* Added :func:`~stem.control.Controller.get_pid` method to the :class:`~stem.control.Controller`
- * :class:`~stem.response.events.StreamEvent` didn't recognize IPv6 addresses (:trac:`9181`)
- * :func:`~stem.control.Controller.get_conf` mistakenly cached hidden service related options (:trac:`9792`)
+ * :class:`~stem.response.events.StreamEvent` didn't recognize IPv6 addresses
+ * :func:`~stem.control.Controller.get_conf` mistakenly cached hidden service related options
* Added `support for TRANSPORT_LAUNCHED events <api/response.html#stem.response.events.TransportLaunchedEvent>`_ (:spec:`48f6dd0`)
* **Descriptors**
* Added the `stem.descriptor.remote <api/descriptor/remote.html>`_ module.
- * Added support for `TorDNSEL exit lists <api/descriptor/tordnsel.html>`_ (:trac:`8255`)
- * The :class:`~stem.descriptor.reader.DescriptorReader` mishandled relative paths (:trac:`8815`)
+ * Added support for `TorDNSEL exit lists <api/descriptor/tordnsel.html>`_
+ * The :class:`~stem.descriptor.reader.DescriptorReader` mishandled relative paths
* **Utilities**
- * Connection resolution via the :func:`~stem.util.connection.get_connections` function (:trac:`7910`)
- * :func:`~stem.util.system.set_process_name` inserted spaces between characters (:trac:`8631`)
+ * Connection resolution via the :func:`~stem.util.connection.get_connections` function
+ * :func:`~stem.util.system.set_process_name` inserted spaces between characters
* :func:`~stem.util.system.pid_by_name` can now pull for all processes with a given name
* :func:`~stem.util.system.call` ignored the subprocess' exit status
* Added :func:`stem.util.system.name_by_pid`
@@ -590,7 +589,7 @@ and a myriad of smaller improvements and fixes.
<https://www.atagar.com/transfer/stem_frontpage/after.png>`_).
* **Version 1.1.1** (November 9th, 2013) - fixed an issue where imports of stem.util.system
- would fail with an ImportError for pwd under Windows (:trac:`10072`)
+ would fail with an ImportError for pwd under Windows
.. _version_1.0:
diff --git a/docs/faq.rst b/docs/faq.rst
index 50c9786a..bed7833c 100644
--- a/docs/faq.rst
+++ b/docs/faq.rst
@@ -550,14 +550,7 @@ know if you get stuck or would like to discuss anything!
#. When you have something that you would like to contribute back do the following...
* If you don't already have a publicly accessible Stem repository then set one up. `GitHub <https://github.com/>`_ in particular is great for this.
- * File a `trac ticket <https://trac.torproject.org/projects/tor/newticket>`_, the only fields you'll need are...
-
- * Summary: short description of your change
- * Description: longer description and a link to your repository with either the git commits or branch that has your change
- * Type: 'defect' if this is a bug fix and 'enhancement' otherwise
- * Priority: rough guess at the priority of your change
- * Component: Core Tor / Stem
-
+ * `File a ticket <https://github.com/torproject/stem/issues/>`_ or pull request.
* I'll review the change and give suggestions. When we're both happy with it I'll push your change to the official repository.
.. _how_do_i_run_the_tests:
diff --git a/docs/roles.py b/docs/roles.py
index c7f883e8..e587b03c 100644
--- a/docs/roles.py
+++ b/docs/roles.py
@@ -1,12 +1,9 @@
import re
-from docutils.utils import unescape
from docutils.nodes import reference
-from docutils.parsers.rst.roles import set_classes
STEM_TICKET_URL = 'https://github.com/torproject/stem/issues/{ticket}'
TOR_TICKET_URL = 'https://gitlab.torproject.org/tpo/core/tor/-/issues/{ticket}'
-TRAC_URL = 'https://trac.torproject.org/{ticket}'
SPEC_URL = 'https://gitweb.torproject.org/torspec.git/commit/?id={commit}'
@@ -39,20 +36,6 @@ def role_ticket(name, rawtext, argument, lineno, inliner, options = {}, content
)
-def role_trac(name, rawtext, argument, lineno, inliner, options = {}, content = []):
- """
- Aliases :trac:`1234` to 'https://trac.torproject.org/1234'.
- """
-
- if not argument.isdigit() or int(argument) <= 0:
- return error('Invalid ticket number: %s' % argument, rawtext, lineno, inliner)
-
- return (
- [reference(rawtext, 'ticket %s' % argument, refuri = TRAC_URL.format(ticket = argument), **options)],
- [],
- )
-
-
def role_spec(name, rawtext, argument, lineno, inliner, options = {}, content = []):
"""
Aliases :spec:`25b0d43` to 'https://gitweb.torproject.org/torspec.git/commit/?id=25b0d43'.
@@ -82,5 +65,4 @@ def setup(app):
"""
app.add_role('ticket', role_ticket)
- app.add_role('trac', role_trac)
app.add_role('spec', role_spec)
diff --git a/docs/tutorials/examples/outdated_relays.rst b/docs/tutorials/examples/outdated_relays.rst
index 72b14b2d..e7b37318 100644
--- a/docs/tutorials/examples/outdated_relays.rst
+++ b/docs/tutorials/examples/outdated_relays.rst
@@ -5,8 +5,8 @@ List Outdated Relays
:target: ../double_double_toil_and_trouble.html
Time marches on. Tor makes new releases, and at some point needs to drop
-support for old ones. Below is the script we used on :trac:`9476` to reach out
-to relay operators that needed to upgrade.
+support for old ones. Below is the script we used on :ticket:`tor-9476` to
+reach out to relay operators that needed to upgrade.
.. literalinclude:: /_static/example/outdated_relays.py
:language: python
diff --git a/run_tests.py b/run_tests.py
index 5218008f..e1390b76 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -58,7 +58,7 @@ NEW_CAPABILITIES_FOUND = """\
Your version of Tor has capabilities stem currently isn't taking advantage of.
If you're running the latest version of stem then please file a ticket on:
- https://trac.torproject.org/projects/tor/wiki/doc/stem/bugs
+ https://github.com/torproject/stem/issues/
New capabilities are:
"""
diff --git a/stem/__init__.py b/stem/__init__.py
index 5e45aab0..6a67b4e3 100644
--- a/stem/__init__.py
+++ b/stem/__init__.py
@@ -410,8 +410,6 @@ Library for working with the tor process.
Purpose for a tor connection. Tor may provide types not in this enum.
- The meaning behind these values is a bit unclear, pending :trac:`10086`.
-
.. versionadded:: 1.2.0
=============== ===========
diff --git a/stem/connection.py b/stem/connection.py
index 5c8f8dbe..0dbbcfbf 100644
--- a/stem/connection.py
+++ b/stem/connection.py
@@ -505,7 +505,7 @@ async def authenticate(controller: Union[stem.control.BaseController, stem.socke
All of the authentication methods tor will accept are new and
unrecognized. Please upgrade stem and, if that doesn't work, file a
- ticket on 'trac.torproject.org' and I'd be happy to add support.
+ ticket.
* :class:`stem.connection.MissingPassword`
@@ -572,7 +572,7 @@ async def authenticate(controller: Union[stem.control.BaseController, stem.socke
**\\*** In practice it is highly unusual for this to occur, being more of a
theoretical possibility rather than something you should expect. It's fine
to treat these as errors. If you have a use case where this commonly
- happens, please file a ticket on 'trac.torproject.org'.
+ happens, please file a ticket.
In the future new :class:`~stem.connection.AuthenticationFailure`
subclasses may be added to allow for better error handling.
@@ -743,7 +743,7 @@ async def authenticate_password(controller: Union[stem.control.BaseController, s
:func:`~stem.connection.authenticate`, we may mistakenly raise a
PasswordAuthRejected rather than IncorrectPassword. This is because we rely
on tor's error messaging which is liable to change in future versions
- (:trac:`4817`).
+ (:ticket:`tor-4817`).
This can authenticate to either a :class:`~stem.control.BaseController` or
:class:`~stem.socket.ControlSocket`.
@@ -766,7 +766,7 @@ async def authenticate_password(controller: Union[stem.control.BaseController, s
# Escapes quotes. Tor can include those in the password hash, in which case
# it expects escaped quotes from the controller. For more information see...
- # https://trac.torproject.org/projects/tor/ticket/4600
+ # https://gitlab.torproject.org/tpo/core/tor/-/issues/4600
password = password.replace('"', '\\"')
@@ -820,7 +820,7 @@ async def authenticate_cookie(controller: Union[stem.control.BaseController, ste
:class:`~stem.connection.CookieAuthRejected` rather than
:class:`~stem.connection.IncorrectCookieValue`. This is because we rely on
tor's error messaging which is liable to change in future versions
- (:trac:`4817`).
+ (:ticket:`tor-4817`).
This can authenticate to either a :class:`~stem.control.BaseController` or
:class:`~stem.socket.ControlSocket`.
@@ -1147,8 +1147,6 @@ def _read_cookie(cookie_path: str, is_safecookie: bool) -> bytes:
# Without this a malicious socket could, for instance, claim that
# '~/.bash_history' or '~/.ssh/id_rsa' was its authentication cookie to trick
# us into reading it for them with our current permissions.
- #
- # https://trac.torproject.org/projects/tor/ticket/4303
auth_cookie_size = os.path.getsize(cookie_path)
diff --git a/stem/control.py b/stem/control.py
index dfd764ba..7578f2b5 100644
--- a/stem/control.py
+++ b/stem/control.py
@@ -1340,7 +1340,7 @@ class Controller(BaseController):
.. versionchanged:: 1.7.0
Policies retrieved through 'GETINFO exit-policy/full' rather than
parsing the user's torrc entries. This should be more reliable for
- some edge cases. (:trac:`25739`)
+ some edge cases.
:param default: response if the query fails
@@ -1951,7 +1951,7 @@ class Controller(BaseController):
# TODO: We should iterate over the descriptors as they're read from the
# socket rather than reading the whole thing into memory.
#
- # https://trac.torproject.org/8248
+ # https://github.com/torproject/stem/issues/30
desc_content = await self.get_info('desc/all-recent', get_bytes = True)
@@ -2041,7 +2041,7 @@ class Controller(BaseController):
# TODO: We should iterate over the descriptors as they're read from the
# socket rather than reading the whole thing into memory.
#
- # https://trac.torproject.org/8248
+ # https://github.com/torproject/stem/issues/30
desc_content = await self.get_info('ns/all', get_bytes = True)
@@ -2069,7 +2069,7 @@ class Controller(BaseController):
If **await_result** is **True** then this blocks until we either receive
the descriptor or the request fails. If **False** this returns right away.
- **This method only supports v2 hidden services, not v3.** (:trac:`25417`)
+ **This method only supports v2 hidden services, not v3.** (:ticket:`tor-25417`)
.. versionadded:: 1.4.0
@@ -2387,8 +2387,8 @@ class Controller(BaseController):
# Tor provides some config options even if they haven't been set...
#
- # https://trac.torproject.org/projects/tor/ticket/2362
- # https://trac.torproject.org/projects/tor/ticket/17909
+ # https://gitlab.torproject.org/tpo/core/tor/-/issues/2362
+ # https://gitlab.torproject.org/tpo/core/tor/-/issues/17909
default_lines = (
'Log notice stdout',
@@ -2744,7 +2744,7 @@ class Controller(BaseController):
# creating a service with one of those we should explicitly create a v2
# service instead.
#
- # https://trac.torproject.org/projects/tor/ticket/27446
+ # https://gitlab.torproject.org/tpo/core/tor/-/issues/27446
for path in conf:
if 'HiddenServiceAuthorizeClient' in conf[path] or 'RendPostPeriod' in conf[path]:
@@ -2853,8 +2853,7 @@ class Controller(BaseController):
.. versionadded:: 1.4.0
.. versionchanged:: 1.6.0
- Tor change caused this to start providing empty strings if unset
- (:trac:`21329`).
+ Tor change caused this to start providing empty strings if unset.
:param default: response if the query fails
:param our_services: include services created with this controller
diff --git a/stem/descriptor/__init__.py b/stem/descriptor/__init__.py
index 5ffefcbc..df947cf7 100644
--- a/stem/descriptor/__init__.py
+++ b/stem/descriptor/__init__.py
@@ -397,8 +397,7 @@ def parse_file(descriptor_file: Union[str, BinaryIO, tarfile.TarFile, IO[bytes]]
# The tor descriptor specifications do not provide a reliable method for
# identifying a descriptor file's type and version so we need to guess
# based on its filename. Metrics descriptors, however, can be identified
- # by an annotation on their first line...
- # https://trac.torproject.org/5651
+ # by an annotation on their first line.
initial_position = descriptor_file.tell() # type: ignore
first_line = stem.util.str_tools._to_unicode(descriptor_file.readline().strip()) # type: ignore
@@ -503,9 +502,6 @@ def _parse_metrics_file(descriptor_type: str, major_version: int, minor_version:
for desc in stem.descriptor.microdescriptor._parse_file(descriptor_file, validate = validate, **kwargs):
yield desc
elif descriptor_type == stem.descriptor.extrainfo_descriptor.BridgeExtraInfoDescriptor.TYPE_ANNOTATION_NAME and major_version == 1:
- # version 1.1 introduced a 'transport' field...
- # https://trac.torproject.org/6257
-
for desc in stem.descriptor.extrainfo_descriptor._parse_file(descriptor_file, is_bridge = True, validate = validate, **kwargs):
yield desc
elif descriptor_type == stem.descriptor.networkstatus.NetworkStatusDocumentV2.TYPE_ANNOTATION_NAME and major_version == 1:
@@ -1493,7 +1489,7 @@ def _descriptor_components_with_extra(raw_contents: bytes, validate: bool, extra
# Some lines have an 'opt ' for backward compatibility. They should be
# ignored. This prefix is being removed in...
- # https://trac.torproject.org/projects/tor/ticket/5124
+ # https://gitlab.torproject.org/tpo/core/tor/-/issues/5124
if line.startswith('opt '):
line = line[4:]
diff --git a/stem/descriptor/extrainfo_descriptor.py b/stem/descriptor/extrainfo_descriptor.py
index 3b84c185..86458cdf 100644
--- a/stem/descriptor/extrainfo_descriptor.py
+++ b/stem/descriptor/extrainfo_descriptor.py
@@ -959,7 +959,7 @@ class RelayExtraInfoDescriptor(ExtraInfoDescriptor):
# Due to a tor bug sha256 digests are calculated from the
# whole descriptor rather than ommiting the signature...
#
- # https://trac.torproject.org/projects/tor/ticket/28415
+ # https://gitlab.torproject.org/tpo/core/tor/-/issues/28415
return stem.descriptor._encode_digest(hashlib.sha256(self.get_bytes()), encoding)
else:
diff --git a/stem/descriptor/microdescriptor.py b/stem/descriptor/microdescriptor.py
index 4967d53e..0b015ebb 100644
--- a/stem/descriptor/microdescriptor.py
+++ b/stem/descriptor/microdescriptor.py
@@ -196,7 +196,7 @@ class Microdescriptor(Descriptor):
:var stem.exit_policy.MicroExitPolicy exit_policy_v6: **\\*** exit policy for IPv6
:var hash identifiers: mapping of key types (like rsa1024 or ed25519) to
their base64 encoded identity, this is only used for collision prevention
- (:trac:`11743`)
+ (:ticket:`tor-11743`)
:var dict protocols: mapping of protocols to their supported versions
**\\*** attribute is required when we're parsed with validation
diff --git a/stem/descriptor/networkstatus.py b/stem/descriptor/networkstatus.py
index d7e541fa..f216e427 100644
--- a/stem/descriptor/networkstatus.py
+++ b/stem/descriptor/networkstatus.py
@@ -486,7 +486,7 @@ def _parse_dir_source_line(descriptor: 'stem.descriptor.Descriptor', entries: EN
raise ValueError("The 'dir-source' line of a v2 network status document must have three values: dir-source %s" % value)
if not dir_source_comp[0]:
- # https://trac.torproject.org/7055
+ # https://gitlab.torproject.org/tpo/core/tor/-/issues/7055
raise ValueError("Authority's hostname can't be blank: dir-source %s" % value)
elif not stem.util.connection.is_valid_ipv4_address(dir_source_comp[1]):
raise ValueError("Authority's address isn't a valid IPv4 address: %s" % dir_source_comp[1])
@@ -1483,7 +1483,7 @@ def _parse_dirauth_source_line(descriptor: 'stem.descriptor.Descriptor', entries
elif not stem.util.tor_tools.is_valid_fingerprint(dir_source_comp[1]):
raise ValueError("Authority's v3ident is invalid: %s" % dir_source_comp[1])
elif not dir_source_comp[2]:
- # https://trac.torproject.org/7055
+ # https://gitlab.torproject.org/tpo/core/tor/-/issues/7055
raise ValueError("Authority's hostname can't be blank: dir-source %s" % value)
elif not stem.util.connection.is_valid_ipv4_address(dir_source_comp[3]):
raise ValueError("Authority's address isn't a valid IPv4 address: %s" % dir_source_comp[3])
diff --git a/stem/manual.py b/stem/manual.py
index 0376d112..26249abc 100644
--- a/stem/manual.py
+++ b/stem/manual.py
@@ -335,9 +335,7 @@ class Manual(object):
This does not include every bit of information from the tor manual. For
instance, I've excluded the 'THE CONFIGURATION FILE FORMAT' section. If
- there's a part you'd find useful then `file an issue
- <https://trac.torproject.org/projects/tor/wiki/doc/stem/bugs>`_ and we can
- add it.
+ there's a part you'd find useful then file an issue and we can add it.
:var str name: brief description of the tor command
:var str synopsis: brief tor command usage
diff --git a/stem/response/getconf.py b/stem/response/getconf.py
index 6c65c4ec..0463dbbe 100644
--- a/stem/response/getconf.py
+++ b/stem/response/getconf.py
@@ -53,7 +53,7 @@ class GetConfResponse(stem.response.ControlMessage):
# Tor's CommaList and RouterList have a bug where they map to an empty
# string when undefined rather than None...
#
- # https://trac.torproject.org/projects/tor/ticket/18263
+ # https://gitlab.torproject.org/tpo/core/tor/-/issues/18263
if value == '':
value = None
diff --git a/stem/util/proc.py b/stem/util/proc.py
index 1c23fc0d..802937b5 100644
--- a/stem/util/proc.py
+++ b/stem/util/proc.py
@@ -477,9 +477,7 @@ def _unpack_addr(addr: bytes) -> str:
# IPv6 address
if IS_LITTLE_ENDIAN:
- # Group into eight characters, then invert in pairs...
- #
- # https://trac.torproject.org/projects/tor/ticket/18079#comment:24
+ # group into eight characters, then invert in pairs
inverted = []
diff --git a/stem/util/system.py b/stem/util/system.py
index 49589c5c..b0130fb1 100644
--- a/stem/util/system.py
+++ b/stem/util/system.py
@@ -946,8 +946,7 @@ def cwd(pid: int) -> Optional[str]:
return results[0].split(' ', 1)[1].strip()
# Use lsof as the final fallback. This is available on both Linux and is the
- # only lookup method here that works for BSD...
- # https://trac.torproject.org/projects/tor/ticket/4236
+ # only lookup method here that works for BSD.
#
# flags:
# a - presents the intersection of the following arguments
diff --git a/test/integ/connection/authentication.py b/test/integ/connection/authentication.py
index 6851e29d..a000202a 100644
--- a/test/integ/connection/authentication.py
+++ b/test/integ/connection/authentication.py
@@ -277,9 +277,7 @@ class TestAuthenticate(unittest.TestCase):
async def test_wrong_password_with_controller(self):
"""
We ran into a race condition where providing the wrong password to the
- Controller caused inconsistent responses. Checking for that...
-
- https://trac.torproject.org/projects/tor/ticket/22679
+ Controller caused inconsistent responses.
"""
runner = test.runner.get_runner()
diff --git a/test/integ/control/controller.py b/test/integ/control/controller.py
index 9c077966..6cd2f4e1 100644
--- a/test/integ/control/controller.py
+++ b/test/integ/control/controller.py
@@ -855,7 +855,7 @@ class TestController(unittest.TestCase):
async def test_set_conf_for_usebridges(self):
"""
Ensure we can set UseBridges=1 and also set a Bridge. This is a tor
- regression check (:trac:`31945`).
+ regression check.
"""
async with await test.runner.get_runner().get_tor_controller() as controller:
@@ -1571,7 +1571,7 @@ class TestController(unittest.TestCase):
async def test_transition_to_relay(self):
"""
Transitions Tor to turn into a relay, then back to a client. This helps to
- catch transition issues such as the one cited in :trac:`14901`.
+ catch transition issues such as the one cited in :ticket:`tor-14901`.
"""
async with await test.runner.get_runner().get_tor_controller() as controller:
diff --git a/test/integ/descriptor/remote.py b/test/integ/descriptor/remote.py
index a20f0855..e1464da5 100644
--- a/test/integ/descriptor/remote.py
+++ b/test/integ/descriptor/remote.py
@@ -73,7 +73,7 @@ class TestDescriptorDownloader(unittest.TestCase):
for auth in consensus.directory_authorities:
if auth.nickname == 'dannenberg-legacy':
- continue # skip due to https://trac.torproject.org/projects/tor/ticket/17906
+ continue # skip due to https://gitlab.torproject.org/tpo/core/tor/-/issues/17906
stem_auth = stem.directory.Authority.from_cache().get(auth.nickname)
@@ -82,7 +82,7 @@ class TestDescriptorDownloader(unittest.TestCase):
for attr in ('v3ident', 'or_port', 'dir_port'):
if auth.nickname == 'moria1' and attr == 'address':
- continue # skip due to https://trac.torproject.org/projects/tor/ticket/14955
+ continue # skip due to https://gitlab.torproject.org/tpo/core/tor/-/issues/14955
if getattr(auth, attr) != getattr(stem_auth, attr):
self.fail('%s has %s %s, but we expected %s' % (auth.nickname, attr, getattr(auth, attr), getattr(stem_auth, attr)))
diff --git a/test/integ/process.py b/test/integ/process.py
index fd47c493..d5c7f2f0 100644
--- a/test/integ/process.py
+++ b/test/integ/process.py
@@ -571,7 +571,7 @@ class TestProcess(unittest.TestCase):
# tor polls for the process every fifteen seconds so this may take a
# while...
#
- # https://trac.torproject.org/projects/tor/ticket/21281
+ # https://gitlab.torproject.org/tpo/core/tor/-/issues/21281
start_time = time.time()
diff --git a/test/integ/socket/control_message.py b/test/integ/socket/control_message.py
index 8511877b..99d64f16 100644
--- a/test/integ/socket/control_message.py
+++ b/test/integ/socket/control_message.py
@@ -121,7 +121,7 @@ class TestControlMessage(unittest.TestCase):
# We can't be certain of the order, and there may be extra config-text
# entries as per...
- # https://trac.torproject.org/projects/tor/ticket/2362
+ # https://gitlab.torproject.org/tpo/core/tor/-/issues/2362
#
# so we'll just check that the response is a superset of our config
diff --git a/test/task.py b/test/task.py
index b2957e65..b21141c7 100644
--- a/test/task.py
+++ b/test/task.py
@@ -118,7 +118,6 @@ def _check_platform_version():
extra = platform.release()
elif platform.system() == 'Linux' and hasattr(platform, 'linux_distribution'):
# TODO: platform.linux_distribution() was removed in python 3.8
- # https://trac.torproject.org/projects/tor/ticket/30847
extra = ' '.join(platform.linux_distribution()[:2])
else:
diff --git a/test/unit/descriptor/bandwidth_file.py b/test/unit/descriptor/bandwidth_file.py
index 5e56f9d2..00539251 100644
--- a/test/unit/descriptor/bandwidth_file.py
+++ b/test/unit/descriptor/bandwidth_file.py
@@ -293,7 +293,7 @@ class TestBandwidthFile(unittest.TestCase):
def test_version_position(self):
"""
Our 'version' header must be in the second position if validated, but
- otherwise doesn't matter. (:trac:`29539`)
+ otherwise doesn't matter.
"""
desc = BandwidthFile.from_str(WRONG_VERSION_POSITION)
diff --git a/test/unit/descriptor/networkstatus/document_v3.py b/test/unit/descriptor/networkstatus/document_v3.py
index 3e3b6953..61198079 100644
--- a/test/unit/descriptor/networkstatus/document_v3.py
+++ b/test/unit/descriptor/networkstatus/document_v3.py
@@ -970,9 +970,7 @@ DnN5aFtYKiTc19qIC7Nmo+afPdDEf0MlJvEOP5EWl3w=
self.assertEqual([], document.get_unrecognized_lines())
# Prior to conensus method 9 votes can still have a signature in their
- # footer...
- #
- # https://trac.torproject.org/7932
+ # footer.
document = NetworkStatusDocumentV3.create(
{
diff --git a/test/unit/descriptor/server_descriptor.py b/test/unit/descriptor/server_descriptor.py
index 867f98ba..80822554 100644
--- a/test/unit/descriptor/server_descriptor.py
+++ b/test/unit/descriptor/server_descriptor.py
@@ -261,9 +261,7 @@ Qlx9HNCqCY877ztFRC624ja2ql6A2hBcuoYMbkHjcQ4=
self.assertEqual([], desc.get_unrecognized_lines())
# Make sure that we can get a string representation for this descriptor
- # (having non-unicode content risks a UnicodeEncodeError)...
- #
- # https://trac.torproject.org/8265
+ # (having non-unicode content risks a UnicodeEncodeError).
self.assertTrue(isinstance(str(desc), str))
diff --git a/test/unit/util/connection.py b/test/unit/util/connection.py
index 6f8d8ab8..848ce989 100644
--- a/test/unit/util/connection.py
+++ b/test/unit/util/connection.py
@@ -320,9 +320,7 @@ class TestConnection(unittest.TestCase):
"""
Checks the get_connections function with the ss resolver results on IPv6
conections. This also checks with the output from a hardened Gentoo system
- which has subtle differences...
-
- https://trac.torproject.org/projects/tor/ticket/18079
+ which has subtle differences.
"""
expected = [
1
0
commit f490844a07c6a6dc9b37e466992b7f196de0719b
Author: Damian Johnson <atagar(a)torproject.org>
Date: Sun Aug 16 14:03:27 2020 -0700
Add a 'ticket' sphinx role
Adding a role so we can cite stem and tor tickets on their new bug trackers.
---
docs/roles.py | 49 +++++++++++++++++++++++++++++++++++++++++--------
stem/control.py | 2 +-
2 files changed, 42 insertions(+), 9 deletions(-)
diff --git a/docs/roles.py b/docs/roles.py
index fcec7e9d..c7f883e8 100644
--- a/docs/roles.py
+++ b/docs/roles.py
@@ -4,20 +4,48 @@ from docutils.utils import unescape
from docutils.nodes import reference
from docutils.parsers.rst.roles import set_classes
+STEM_TICKET_URL = 'https://github.com/torproject/stem/issues/{ticket}'
+TOR_TICKET_URL = 'https://gitlab.torproject.org/tpo/core/tor/-/issues/{ticket}'
TRAC_URL = 'https://trac.torproject.org/{ticket}'
SPEC_URL = 'https://gitweb.torproject.org/torspec.git/commit/?id={commit}'
+def role_ticket(name, rawtext, argument, lineno, inliner, options = {}, content = []):
+ """
+ Alias :ticket:`1234` or :ticket:`tor-1234` to a link for that ticket. Tickets
+ default to be for Stem if no project is indicated.
+ """
+
+ if '-' in argument:
+ project, ticket = argument.split('-', 1)
+ else:
+ project, ticket = 'stem', argument
+
+ if not ticket.isdigit() or int(ticket) <= 0:
+ return error('Invalid ticket number: %s' % ticket, rawtext, lineno, inliner)
+
+ if project == 'stem':
+ label = 'ticket %s' % ticket
+ url = STEM_TICKET_URL.format(ticket = ticket)
+ elif project == 'tor':
+ label = 'tor ticket %s' % ticket
+ url = TOR_TICKET_URL.format(ticket = ticket)
+ else:
+ return error('Project %s is unrecognized: %s' % (project, argument), rawtext, lineno, inliner)
+
+ return (
+ [reference(rawtext, label, refuri = url, **options)],
+ [],
+ )
+
+
def role_trac(name, rawtext, argument, lineno, inliner, options = {}, content = []):
"""
Aliases :trac:`1234` to 'https://trac.torproject.org/1234'.
"""
if not argument.isdigit() or int(argument) <= 0:
- return (
- [inliner.problematic(rawtext, rawtext, msg)],
- [inliner.reporter.error('Invalid trac ticket: %s' % argument, line = lineno)],
- )
+ return error('Invalid ticket number: %s' % argument, rawtext, lineno, inliner)
return (
[reference(rawtext, 'ticket %s' % argument, refuri = TRAC_URL.format(ticket = argument), **options)],
@@ -31,10 +59,7 @@ def role_spec(name, rawtext, argument, lineno, inliner, options = {}, content =
"""
if not re.match('^[0-9a-f]{7}$', argument):
- return (
- [inliner.problematic(rawtext, rawtext, msg)],
- [inliner.reporter.error('Spec tag expects a short commit id (seven hex characters): %s' % argument, line = lineno)],
- )
+ return error('Spec tag expects a short commit id (seven hex characters): %s' % argument, rawtext, lineno, inliner)
return (
[reference(rawtext, 'spec', refuri = SPEC_URL.format(commit = argument), **options)],
@@ -42,6 +67,13 @@ def role_spec(name, rawtext, argument, lineno, inliner, options = {}, content =
)
+def error(message, rawtext, lineno, inliner):
+ msg = inliner.reporter.error(message, line = lineno)
+ prb = inliner.problematic(rawtext, rawtext, msg)
+
+ return ([prb], [msg])
+
+
def setup(app):
"""
Installs the plugin.
@@ -49,5 +81,6 @@ def setup(app):
:param app: sphinx application context
"""
+ app.add_role('ticket', role_ticket)
app.add_role('trac', role_trac)
app.add_role('spec', role_spec)
diff --git a/stem/control.py b/stem/control.py
index e1c68ce9..dfd764ba 100644
--- a/stem/control.py
+++ b/stem/control.py
@@ -2935,7 +2935,7 @@ class Controller(BaseController):
Please note that **basic_auth** only works for legacy (v2) hidden services.
Version 3 can't enable service authentication through the control protocol
- (`ticket <https://gitlab.torproject.org/tpo/core/tor/-/issues/40084>`_).
+ (:ticket:`tor-40084`).
To create a **version 3** service simply specify **ED25519-V3** as the
our key type, and to create a **version 2** service use **RSA1024**. The
1
0

[translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal
by translation@torproject.org 16 Aug '20
by translation@torproject.org 16 Aug '20
16 Aug '20
commit 3f537f8e27f09b15365e51b32852b79202dc3ef9
Author: Translation commit bot <translation(a)torproject.org>
Date: Sun Aug 16 22:48:19 2020 +0000
https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
contents+ar.po | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/contents+ar.po b/contents+ar.po
index 56fe3b69c3..ece9d67f2b 100644
--- a/contents+ar.po
+++ b/contents+ar.po
@@ -10585,7 +10585,7 @@ msgstr ""
#: https//support.torproject.org/rpm/tor-rpm-install/
#: (content/rpm/install/contents+en.lrquestion.description)
msgid "Fingerprint: 999E C8E3 14BC 8D46 022D 6C7D E217 C30C 3621 CD35"
-msgstr ""
+msgstr "بصمة : 999E C8E3 14BC 8D46 022D 6C7D E217 C30C 3621 CD35"
#: https//support.torproject.org/rpm/tor-rpm-install/
#: (content/rpm/install/contents+en.lrquestion.description)
@@ -10595,12 +10595,12 @@ msgstr ""
#: https//support.torproject.org/rpm/tor-rpm-install/
#: (content/rpm/install/contents+en.lrquestion.description)
msgid "Is this ok [y/N]: y"
-msgstr ""
+msgstr "هل هذا جيد [y / N]: y"
#: https//support.torproject.org/abuse/tor-project-opinion-on-abusers/
#: (content/abuse/abuse-opinion/contents+en.lrquestion.title)
msgid "Where does Tor Project stand on abusers using technology?"
-msgstr ""
+msgstr "ما هو موقف Tor Project من المسيئين الذين يستخدمون التكنولوجيا؟"
#: https//support.torproject.org/abuse/tor-project-opinion-on-abusers/
#: (content/abuse/abuse-opinion/contents+en.lrquestion.description)
1
0

[translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
by translation@torproject.org 16 Aug '20
by translation@torproject.org 16 Aug '20
16 Aug '20
commit 5ba1ed7a9ffe24c940d0c4f78853c62b0cf42e86
Author: Translation commit bot <translation(a)torproject.org>
Date: Sun Aug 16 21:15:15 2020 +0000
https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-conten…
---
contents+es.po | 150 ++++++++++++++++++++++++++++++++-------------------------
1 file changed, 85 insertions(+), 65 deletions(-)
diff --git a/contents+es.po b/contents+es.po
index ddfb60b9e9..1508bd3e38 100644
--- a/contents+es.po
+++ b/contents+es.po
@@ -10936,6 +10936,9 @@ msgid ""
" bridge configuration files with different sets of ports, and run `make "
"deploy` again, like so:"
msgstr ""
+"Si quieres correr múltiples puentes en tu máquina, necesitas crear más "
+"archivos de configuración de puentes con diferentes conjuntos de puertos, y "
+"ejecutar `make deploy` de nuevo, como esto:"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
@@ -10955,7 +10958,7 @@ msgstr "..."
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "### 3. Upgrade your container"
-msgstr ""
+msgstr "### 3. Actualiza tu contenedor"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
@@ -10964,16 +10967,19 @@ msgid ""
"existing container, delete it, pull the latest image, and finally deploy it "
"again:"
msgstr ""
+"Para actualizar a la última versión de nuestra imagen, necesitas detener a "
+"tu contenedor existente, borrarlo, descargar la última imagen, y finalmente "
+"desplegarlo de nuevo:"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "docker stop CONTAINER_ID"
-msgstr ""
+msgstr "docker stop CONTAINER_ID"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "docker rm CONTAINER_ID"
-msgstr ""
+msgstr "docker rm CONTAINER_ID"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
@@ -11006,7 +11012,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "docker logs CONTAINER_ID"
-msgstr ""
+msgstr "docker logs CONTAINER_ID"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
@@ -11021,7 +11027,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "docker exec CONTAINER_ID get-bridge-line"
-msgstr ""
+msgstr "docker exec CONTAINER_ID get-bridge-line"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
@@ -11035,6 +11041,9 @@ msgid ""
"cert=OYWq67L7MDApdJCctUAF7rX8LHvMxvIBPHOoAp0+YXzlQdsxhw6EapaMNwbbGICkpY8CPQ "
"iat-mode=0"
msgstr ""
+"obfs4 1.2.3.4:1234 B0E566C9031657EA7ED3FC9D248E8AC4F37635A4 "
+"cert=OYWq67L7MDApdJCctUAF7rX8LHvMxvIBPHOoAp0+YXzlQdsxhw6EapaMNwbbGICkpY8CPQ "
+"iat-mode=0"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
@@ -11053,7 +11062,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.title)
msgid "CentOS / RHEL / OpenSUSE"
-msgstr ""
+msgstr "CentOS / RHEL / OpenSUSE"
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.subtitle)
@@ -11070,27 +11079,27 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
msgid "* CentOS / RHEL:"
-msgstr ""
+msgstr "* CentOS / RHEL:"
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
msgid "yum install epel-release"
-msgstr ""
+msgstr "yum install epel-release"
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
msgid "yum install git golang tor policycoreutils-python-utils"
-msgstr ""
+msgstr "yum install git golang tor policycoreutils-python-utils"
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
msgid "* OpenSUSE:"
-msgstr ""
+msgstr "* OpenSUSE:"
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
msgid "zypper install tor go git"
-msgstr ""
+msgstr "zypper install tor go git"
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
@@ -11111,14 +11120,14 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/fedora/
#: (content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
msgid "export GOPATH=`mktemp -d`"
-msgstr ""
+msgstr "export GOPATH=`mktemp -d`"
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
#: https//community.torproject.org/relay/setup/bridge/fedora/
#: (content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
msgid "go get gitlab.com/yawning/obfs4.git/obfs4proxy"
-msgstr ""
+msgstr "go get gitlab.com/yawning/obfs4.git/obfs4proxy"
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
@@ -11130,12 +11139,12 @@ msgstr "sudo cp $GOPATH/bin/obfs4proxy /usr/local/bin/"
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
msgid "chcon --reference=/usr/bin/tor /usr/local/bin/obfs4proxy"
-msgstr ""
+msgstr "chcon --reference=/usr/bin/tor /usr/local/bin/obfs4proxy"
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
msgid "* CentOS / RHEL / OpenSUSE:"
-msgstr ""
+msgstr "* CentOS / RHEL / OpenSUSE:"
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
@@ -11159,6 +11168,8 @@ msgstr ""
msgid ""
"sudo semanage port -a -t tor_port_t -p tcp [OR port set earlier, in TODO1]"
msgstr ""
+"sudo semanage port -a -t tor_port_t -p tcp [puerto OR establecido "
+"anteriormente, en TODO1]"
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
@@ -11183,7 +11194,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/fedora/updates/
#: (content/relay-operations/technical-setup/guard/fedora/updates/contents+en.lrpage.title)
msgid "Fedora"
-msgstr ""
+msgstr "Fedora"
#: https//community.torproject.org/relay/setup/bridge/fedora/
#: (content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.subtitle)
@@ -11193,7 +11204,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/fedora/
#: (content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
msgid "dnf install git golang tor policycoreutils-python-utils"
-msgstr ""
+msgstr "dnf install git golang tor policycoreutils-python-utils"
#: https//community.torproject.org/relay/setup/bridge/fedora/
#: (content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
@@ -11203,7 +11214,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/fedora/
#: (content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
msgid "/sbin/restorecon -v /usr/local/bin/obfs4proxy"
-msgstr ""
+msgstr "/sbin/restorecon -v /usr/local/bin/obfs4proxy"
#: https//community.torproject.org/relay/setup/bridge/fedora/
#: (content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
@@ -11232,7 +11243,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/freebsd/
#: (content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
msgid "pkg install obfs4proxy-tor tor ca_root_nss"
-msgstr ""
+msgstr "pkg install obfs4proxy-tor tor ca_root_nss"
#: https//community.torproject.org/relay/setup/bridge/freebsd/
#: (content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
@@ -11259,14 +11270,14 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "echo \"net.inet.ip.random_id=1\" >> /etc/sysctl.conf"
-msgstr ""
+msgstr "echo \"net.inet.ip.random_id=1\" >> /etc/sysctl.conf"
#: https//community.torproject.org/relay/setup/bridge/freebsd/
#: (content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "sysctl net.inet.ip.random_id=1"
-msgstr ""
+msgstr "sysctl net.inet.ip.random_id=1"
#: https//community.torproject.org/relay/setup/bridge/freebsd/
#: (content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
@@ -11280,7 +11291,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "sysrc tor_enable=YES"
-msgstr ""
+msgstr "sysrc tor_enable=YES"
#: https//community.torproject.org/relay/setup/bridge/freebsd/
#: (content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
@@ -11299,7 +11310,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "mkdir -p /usr/local/etc/pkg/repos"
-msgstr ""
+msgstr "mkdir -p /usr/local/etc/pkg/repos"
#: https//community.torproject.org/relay/setup/bridge/freebsd/
#: (content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
@@ -11316,7 +11327,7 @@ msgstr "FreeBSD: { enabled: no }"
#: https//community.torproject.org/relay/setup/bridge/freebsd/
#: (content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
msgid "FreeBSDlatest: {"
-msgstr ""
+msgstr "FreeBSDlatest: {"
#: https//community.torproject.org/relay/setup/bridge/freebsd/
#: (content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
@@ -11336,7 +11347,7 @@ msgstr "signature_type: \"fingerprints\","
#: https//community.torproject.org/relay/setup/bridge/freebsd/
#: (content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
msgid "fingerprints: \"/usr/share/keys/pkg\","
-msgstr ""
+msgstr "fingerprints: \"/usr/share/keys/pkg\","
#: https//community.torproject.org/relay/setup/bridge/freebsd/
#: (content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
@@ -11370,7 +11381,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/openbsd/
#: (content/relay-operations/technical-setup/bridge/openbsd/contents+en.lrpage.body)
msgid "pkg_add tor obfs4proxy"
-msgstr ""
+msgstr "pkg_add tor obfs4proxy"
#: https//community.torproject.org/relay/setup/bridge/openbsd/
#: (content/relay-operations/technical-setup/bridge/openbsd/contents+en.lrpage.body)
@@ -11401,19 +11412,19 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/openbsd/
#: (content/relay-operations/technical-setup/bridge/openbsd/contents+en.lrpage.body)
msgid "mkdir /var/log/tor"
-msgstr ""
+msgstr "mkdir /var/log/tor"
#: https//community.torproject.org/relay/setup/bridge/openbsd/
#: (content/relay-operations/technical-setup/bridge/openbsd/contents+en.lrpage.body)
msgid "chown _tor /var/log/tor"
-msgstr ""
+msgstr "chown _tor /var/log/tor"
#: https//community.torproject.org/relay/setup/bridge/openbsd/
#: (content/relay-operations/technical-setup/bridge/openbsd/contents+en.lrpage.body)
#: https//community.torproject.org/relay/setup/guard/openbsd/
#: (content/relay-operations/technical-setup/guard/openbsd/contents+en.lrpage.body)
msgid "rcctl enable tor"
-msgstr ""
+msgstr "rcctl enable tor"
#: https//community.torproject.org/relay/setup/bridge/openbsd/
#: (content/relay-operations/technical-setup/bridge/openbsd/contents+en.lrpage.body)
@@ -11566,11 +11577,14 @@ msgid ""
" going to use HTTPS to fetch our packages, and updates - so here we also "
"need an extra package to help us out (ca_root_nss)."
msgstr ""
+"Aquí, será similar a lo que tenemos en un sistema **FreeBSD**, y vamos a "
+"usar HTTPS para descargar nuestros paquetes y actualizaciones - por lo que "
+"también vamos a necesitar un paquete extra para ayudarnos (`ca_root_nss`)."
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
msgid "DragonflyBSD has 2 packages repositories:"
-msgstr ""
+msgstr "DragonflyBSD** tiene 2 repositorios de paquetes:"
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
@@ -11579,11 +11593,14 @@ msgid ""
"`/usr/local/etc/pkg/repos/df-latest` and that's it! Remember to use "
"**pkg+https://** for Avalon."
msgstr ""
+"Simplemente podemos editar el **URL** usado para apuntar a los repositorios "
+"en `/usr/local/etc/pkg/repos/df-latest`, ¡y eso es todo! Recuerda usar "
+"**pkg+https://** para Avalon."
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
msgid "# 2. Install `tor` DragonflyBSD's Package"
-msgstr ""
+msgstr "### 2. Instala el paquete `tor` de DragonflyBSD"
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
@@ -11597,7 +11614,7 @@ msgstr "pkg install tor"
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "pkg install tor-devel"
-msgstr ""
+msgstr "pkg install tor-devel"
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
@@ -11644,7 +11661,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/centosrhel/
#: (content/relay-operations/technical-setup/guard/centosrhel/contents+en.lrpage.title)
msgid "CentOS/RHEL"
-msgstr ""
+msgstr "CentOS/RHEL"
#: https//community.torproject.org/relay/setup/guard/centosrhel/
#: (content/relay-operations/technical-setup/guard/centosrhel/contents+en.lrpage.subtitle)
@@ -11690,7 +11707,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/centosrhel/
#: (content/relay-operations/technical-setup/guard/centosrhel/contents+en.lrpage.body)
msgid "`yum install epel-release`"
-msgstr ""
+msgstr "`yum install epel-release`"
#: https//community.torproject.org/relay/setup/guard/centosrhel/
#: (content/relay-operations/technical-setup/guard/centosrhel/contents+en.lrpage.body)
@@ -11791,7 +11808,7 @@ msgstr "CentOS 7 / RHEL 7:"
#: https//community.torproject.org/relay/setup/guard/fedora/
#: (content/relay-operations/technical-setup/guard/fedora/contents+en.lrpage.body)
msgid "systemctl enable tor"
-msgstr ""
+msgstr "systemctl enable tor"
#: https//community.torproject.org/relay/setup/guard/centosrhel/
#: (content/relay-operations/technical-setup/guard/centosrhel/contents+en.lrpage.body)
@@ -11808,7 +11825,7 @@ msgstr "CentOS 6 / RHEL 6:"
#: https//community.torproject.org/relay/setup/guard/centosrhel/
#: (content/relay-operations/technical-setup/guard/centosrhel/contents+en.lrpage.body)
msgid "service tor enable"
-msgstr ""
+msgstr "service tor enable"
#: https//community.torproject.org/relay/setup/guard/centosrhel/
#: (content/relay-operations/technical-setup/guard/centosrhel/contents+en.lrpage.body)
@@ -11830,7 +11847,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/fedora/
#: (content/relay-operations/technical-setup/guard/fedora/contents+en.lrpage.body)
msgid "`dnf install tor`"
-msgstr ""
+msgstr "`dnf install tor`"
#: https//community.torproject.org/relay/setup/guard/fedora/
#: (content/relay-operations/technical-setup/guard/fedora/contents+en.lrpage.body)
@@ -11897,7 +11914,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/debianubuntu/
#: (content/relay-operations/technical-setup/guard/debianubuntu/contents+en.lrpage.body)
msgid "ORPort 443"
-msgstr ""
+msgstr "ORPort 443"
#: https//community.torproject.org/relay/setup/guard/debianubuntu/
#: (content/relay-operations/technical-setup/guard/debianubuntu/contents+en.lrpage.body)
@@ -11952,7 +11969,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "pkg bootstrap"
-msgstr ""
+msgstr "pkg bootstrap"
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
@@ -11998,7 +12015,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "FreeBSD: {"
-msgstr ""
+msgstr "FreeBSD: {"
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
@@ -12023,7 +12040,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "sysrc tor_setuid=YES"
-msgstr ""
+msgstr "sysrc tor_setuid=YES"
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
@@ -12079,7 +12096,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/openbsd/
#: (content/relay-operations/technical-setup/guard/openbsd/contents+en.lrpage.body)
msgid "ftp https://stable.mtier.org/openup"
-msgstr ""
+msgstr "ftp https://stable.mtier.org/openup"
#: https//community.torproject.org/relay/setup/guard/openbsd/
#: (content/relay-operations/technical-setup/guard/openbsd/contents+en.lrpage.body)
@@ -12157,12 +12174,12 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/openbsd/
#: (content/relay-operations/technical-setup/guard/openbsd/contents+en.lrpage.body)
msgid "echo \"kern.maxfiles=16000\" >> /etc/sysctl.conf"
-msgstr ""
+msgstr "echo \"kern.maxfiles=16000\" >> /etc/sysctl.conf"
#: https//community.torproject.org/relay/setup/guard/openbsd/
#: (content/relay-operations/technical-setup/guard/openbsd/contents+en.lrpage.body)
msgid "sysctl kern.maxfiles=16000"
-msgstr ""
+msgstr "sysctl kern.maxfiles=16000"
#: https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
#: (content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.title)
@@ -12349,7 +12366,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
#: (content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
msgid "yum install yum-cron"
-msgstr ""
+msgstr "yum install yum-cron"
#: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
#: (content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
@@ -12364,7 +12381,7 @@ msgstr "download_updates = yes"
#: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
#: (content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
msgid "apply_updates = yes"
-msgstr ""
+msgstr "apply_updates = yes"
#: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
#: (content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
@@ -12374,12 +12391,12 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
#: (content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
msgid "systemctl start yum-cron.service"
-msgstr ""
+msgstr "systemctl start yum-cron.service"
#: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
#: (content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
msgid "# openSUSE"
-msgstr ""
+msgstr "# openSUSE"
#: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
#: (content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
@@ -12389,7 +12406,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
#: (content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
msgid "zypper install yast2-online-update-configuration"
-msgstr ""
+msgstr "zypper install yast2-online-update-configuration"
#: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
#: (content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
@@ -12399,7 +12416,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
#: (content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
msgid "yast2 online_update_configuration"
-msgstr ""
+msgstr "yast2 online_update_configuration"
#: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
#: (content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
@@ -12451,7 +12468,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/fedora/updates/
#: (content/relay-operations/technical-setup/guard/fedora/updates/contents+en.lrpage.body)
msgid "dnf install dnf-automatic"
-msgstr ""
+msgstr "dnf install dnf-automatic"
#: https//community.torproject.org/relay/setup/guard/fedora/updates/
#: (content/relay-operations/technical-setup/guard/fedora/updates/contents+en.lrpage.body)
@@ -12461,7 +12478,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/fedora/updates/
#: (content/relay-operations/technical-setup/guard/fedora/updates/contents+en.lrpage.body)
msgid "systemctl enable --now dnf-automatic-install.timer"
-msgstr ""
+msgstr "systemctl enable --now dnf-automatic-install.timer"
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.title)
@@ -12476,7 +12493,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
msgid "apt-get install unattended-upgrades apt-listchanges"
-msgstr ""
+msgstr "apt-get install unattended-upgrades apt-listchanges"
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
@@ -12494,7 +12511,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
msgid "Unattended-Upgrade::Origins-Pattern {"
-msgstr ""
+msgstr "Unattended-Upgrade::Origins-Pattern {"
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
@@ -12514,7 +12531,7 @@ msgstr "};"
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
msgid "Unattended-Upgrade::Package-Blacklist {"
-msgstr ""
+msgstr "Unattended-Upgrade::Package-Blacklist {"
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
@@ -12531,7 +12548,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
msgid "Unattended-Upgrade::Automatic-Reboot \"true\";"
-msgstr ""
+msgstr "Unattended-Upgrade::Automatic-Reboot \"true\";"
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
@@ -12543,22 +12560,22 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
msgid "APT::Periodic::Update-Package-Lists \"1\";"
-msgstr ""
+msgstr "APT::Periodic::Update-Package-Lists \"1\";"
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
msgid "APT::Periodic::AutocleanInterval \"5\";"
-msgstr ""
+msgstr "APT::Periodic::AutocleanInterval \"5\";"
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
msgid "APT::Periodic::Unattended-Upgrade \"1\";"
-msgstr ""
+msgstr "APT::Periodic::Unattended-Upgrade \"1\";"
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
msgid "APT::Periodic::Verbose \"1\";"
-msgstr ""
+msgstr "APT::Periodic::Verbose \"1\";"
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
@@ -12574,7 +12591,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
#: (content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
msgid "sudo unattended-upgrade -d"
-msgstr ""
+msgstr "sudo unattended-upgrade -d"
#: https//community.torproject.org/relay/setup/guard/freebsd/updates/
#: (content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.title)
@@ -12584,7 +12601,7 @@ msgstr "*BSD"
#: https//community.torproject.org/relay/setup/guard/freebsd/updates/
#: (content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
msgid "# DragonFlyBSD / FreeBSD / HardenedBSD"
-msgstr ""
+msgstr "# DragonFlyBSD / FreeBSD / HardenedBSD"
#: https//community.torproject.org/relay/setup/guard/freebsd/updates/
#: (content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
@@ -12607,12 +12624,12 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/freebsd/updates/
#: (content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
msgid "#!/usr/bin/env sh"
-msgstr ""
+msgstr "#!/usr/bin/env sh"
#: https//community.torproject.org/relay/setup/guard/freebsd/updates/
#: (content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
msgid "PATH=\"/bin:/usr/bin:/sbin:/usr/sbin\""
-msgstr ""
+msgstr "PATH=\"/bin:/usr/bin:/sbin:/usr/sbin\""
#: https//community.torproject.org/relay/setup/guard/freebsd/updates/
#: (content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
@@ -12629,6 +12646,7 @@ msgstr "sleep ${RAND}"
msgid ""
"env AUTOCLEAN=YES ASSUME_ALWAYS_YES=YES HANDLE_RC_SCRIPTS=YES pkg upgrade"
msgstr ""
+"env AUTOCLEAN=YES ASSUME_ALWAYS_YES=YES HANDLE_RC_SCRIPTS=YES pkg upgrade"
#: https//community.torproject.org/relay/setup/guard/freebsd/updates/
#: (content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
@@ -12641,6 +12659,8 @@ msgid ""
"# echo \"0 0 * * * root /bin/sh /root/pkg_upgrade.sh >/dev/null\" >> "
"/etc/crontab"
msgstr ""
+"# echo \"0 0 * * * root /bin/sh /root/pkg_upgrade.sh >/dev/null\" >> "
+"/etc/crontab"
#: https//community.torproject.org/relay/setup/guard/freebsd/updates/
#: (content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
@@ -12939,7 +12959,7 @@ msgstr ""
#: templates/training.html:27
msgid "Join the Community"
-msgstr ""
+msgstr "Únete a la Comunidad"
#: templates/training.html:29
msgid ""
1
0

[translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
by translation@torproject.org 16 Aug '20
by translation@torproject.org 16 Aug '20
16 Aug '20
commit 097e6faded69ae2fa7fc97660c24a5cd75206b1d
Author: Translation commit bot <translation(a)torproject.org>
Date: Sun Aug 16 20:45:15 2020 +0000
https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-conten…
---
contents+es.po | 71 +++++++++++++++++++++++++++++++++++++---------------------
1 file changed, 46 insertions(+), 25 deletions(-)
diff --git a/contents+es.po b/contents+es.po
index 5b7357015c..ddfb60b9e9 100644
--- a/contents+es.po
+++ b/contents+es.po
@@ -10678,17 +10678,18 @@ msgstr "pkg install tor obfs4proxy-tor"
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "... or install an alpha release:"
-msgstr ""
+msgstr "... o instalar una versión alfa:"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
msgid "pkg install tor-devel obfs4proxy-tor"
-msgstr ""
+msgstr "pkg install tor-devel obfs4proxy-tor"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
msgid "### 3. Configure `/usr/local/etc/tor/torrc` to run **Tor** as a Bridge"
msgstr ""
+"### 3. Configura `/usr/local/etc/tor/torrc` para correr **Tor** como Puente"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10701,7 +10702,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/openbsd/
#: (content/relay-operations/technical-setup/bridge/openbsd/contents+en.lrpage.body)
msgid "ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy"
-msgstr ""
+msgstr "ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10719,11 +10720,14 @@ msgid ""
"can talk to `tor` over the loopback interface - do not forget to whitelist "
"the **ExtORPort**."
msgstr ""
+"* ¿Estás usando un cortafuegos con tu DragonflyBSD? Si es así, asegúrate que"
+" `obfs4proxy` pueda hablar con `tor` a través del interfaz loopback - no "
+"olvides pones en la lista blanca al **ExtORPort**."
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
msgid "### 4. Start `tor`:"
-msgstr ""
+msgstr "### 4. Iniciar `tor`:"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10736,20 +10740,24 @@ msgid ""
" to bind to lower ports like 443 (the daemon itself will still run as a "
"regular non-privileged user)."
msgstr ""
+"Aquí configuramos a `tor` para arrancar con el inicio del equipo, y para "
+"usar la caracterísitca setuid, para poder enlazarse con los puertos de baja "
+"numeración, tal como el 443 (el demonio de por sí correrá como un usuario "
+"regular, no privilegiado)."
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
msgid "echo \"tor_setuid=YES\" >> /etc/rc.conf"
-msgstr ""
+msgstr "echo \"tor_setuid=YES\" >> /etc/rc.conf"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
msgid "echo \"tor_enable=YES\" >> /etc/rc.conf"
-msgstr ""
+msgstr "echo \"tor_enable=YES\" >> /etc/rc.conf"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10772,56 +10780,58 @@ msgid ""
"To confirm your bridge is running with no issues, you should see something "
"like this in `/var/log/tor/notices.log`:"
msgstr ""
+"Para confirmar que tu puente está corriendo sin problemas, debieras ver algo"
+" como esto en `/var/log/tor/notices.log`:"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
msgid "tail /var/log/tor/notices.log"
-msgstr ""
+msgstr "tail /var/log/tor/notices.log"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
msgid "### 6. Final Notes"
-msgstr ""
+msgstr "### 6. Notas Finales"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.title)
msgid "Docker"
-msgstr ""
+msgstr "Docker"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.subtitle)
msgid "How to deploy an obfs4 bridge using a docker container"
-msgstr ""
+msgstr "Como desplegar un puente obfs4 usando un contenedor docker"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "### 1. Pull the image"
-msgstr ""
+msgstr "### 1. Obtiene la imagen"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "We are maintaining a docker image that runs an obfs4 bridge."
-msgstr ""
+msgstr "Estamos manteniendo una imagen docker que corre un puente obfs4."
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "First, download the image:"
-msgstr ""
+msgstr "Primero, descarga la imagen:"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "docker pull phwinter/obfs4-bridge:latest"
-msgstr ""
+msgstr "docker pull phwinter/obfs4-bridge:latest"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "### 2. Deploy a container"
-msgstr ""
+msgstr "### 2. Desplegar un contenedor"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "We provide a Makefile that helps you deploy the container."
-msgstr ""
+msgstr "Proveemos un Makefile que te ayudará a desplegar el contenedor."
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
@@ -10830,16 +10840,19 @@ msgid ""
"censorship/docker-obfs4-bridge/raw/master/Makefile), and then write your "
"bridge configuration to a new file, bridge.sh."
msgstr ""
+"Primero, [descarga el Makefile](https://dip.torproject.org/torproject/anti-"
+"censorship/docker-obfs4-bridge/raw/master/Makefile), y luego escribe la "
+"configuración de tu puente a un nuevo archivo, bridge.sh."
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "Here's a template:"
-msgstr ""
+msgstr "Aquí hay una plantilla:"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "# Your bridge's Tor port."
-msgstr ""
+msgstr "# El puerto Tor de tu puente."
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
@@ -10849,22 +10862,22 @@ msgstr "export OR_PORT=X"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "# Your bridge's obfs4 port."
-msgstr ""
+msgstr "# El puerto obfs4 de tu puente."
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "export PT_PORT=Y"
-msgstr ""
+msgstr "export PT_PORT=Y"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "# Your email address."
-msgstr ""
+msgstr "# Tu dirección de correo electrónico."
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "export EMAIL=Z"
-msgstr ""
+msgstr "export EMAIL=Z"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
@@ -10874,12 +10887,18 @@ msgid ""
" address, which allows us to get in touch with you if there are problems "
"with your bridge."
msgstr ""
+"Reeplaza `X` con tu puerto OR deseado, `Y` con tu puerto obfs4 (asegúrate "
+"que **ambos** puertos sean redirigidos en tu cortafuegos), y `Z` con tu "
+"dirección de correo electrónico, que nos permite entrar en contacto contigo "
+"si hay problemas con tu puente."
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid ""
"With your bridge configuration in place, you can now deploy the container:"
msgstr ""
+"Con la configuración de tu puente en su lugar, ahora puedes desplegar el "
+"contenedor:"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
@@ -10889,17 +10908,17 @@ msgstr "source bridge.sh && make deploy"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "You should now see output similar to the following:"
-msgstr ""
+msgstr "Ahora debieras ver una salida similar a la siguiente:"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "201fbd2b4d28e6f226978f27547edd79272871c5949bf8aab3872c983156a108"
-msgstr ""
+msgstr "201fbd2b4d28e6f226978f27547edd79272871c5949bf8aab3872c983156a108"
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
msgid "Make sure that port X and Y are forwarded in your firewall."
-msgstr ""
+msgstr "Asegúrate que los puertos X e Y sean redirigidos en tu cortafuegos."
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
@@ -10907,6 +10926,8 @@ msgid ""
"That's it! Your container (identified by the first line of output) is now "
"bootstrapping your new obfs4 bridge."
msgstr ""
+"¡Eso es todo! Tu contenedor (identificado por la primera línea de salida) "
+"ahora está secuenciando para iniciar a tu nuevo puente obfs4."
#: https//community.torproject.org/relay/setup/bridge/docker/
#: (content/relay-operations/technical-setup/bridge/docker/contents+en.lrpage.body)
1
0
commit 6e2a8bc1fe35d462b809fa08f587503f52b6b7e0
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Sun Aug 16 22:21:59 2020 +0200
Update to metrics-lib 2.14.0.
---
CHANGELOG.md | 6 ++++++
build.xml | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c8ffd84..ff2e9e7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# Changes in version 1.16.1 - 2020-08-16
+
+ * Medium changes
+ - Update to metrics-lib 2.14.0.
+
+
# Changes in version 1.16.0 - 2020-08-05
* Medium changes
diff --git a/build.xml b/build.xml
index 7e74b30..09c0636 100644
--- a/build.xml
+++ b/build.xml
@@ -12,7 +12,7 @@
<property name="release.version" value="1.16.0" />
<property name="project-main-class" value="org.torproject.metrics.collector.Main" />
<property name="name" value="collector"/>
- <property name="metricslibversion" value="2.13.0" />
+ <property name="metricslibversion" value="2.14.0" />
<property name="jarincludes" value="collector.properties logback.xml" />
<patternset id="runtime" >
1
0
commit 63562f1ce1cd8dc5fefd3ef674a3c9d9b1a446e5
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Sun Aug 16 22:22:54 2020 +0200
Prepare for 1.16.1 release.
---
build.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build.xml b/build.xml
index 09c0636..e6e727a 100644
--- a/build.xml
+++ b/build.xml
@@ -9,7 +9,7 @@
<property name="javadoc-title" value="CollecTor API Documentation"/>
<property name="implementation-title" value="CollecTor" />
- <property name="release.version" value="1.16.0" />
+ <property name="release.version" value="1.16.1" />
<property name="project-main-class" value="org.torproject.metrics.collector.Main" />
<property name="name" value="collector"/>
<property name="metricslibversion" value="2.14.0" />
1
0

[translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal
by translation@torproject.org 16 Aug '20
by translation@torproject.org 16 Aug '20
16 Aug '20
commit deabd01e46415008cc3169fc587a4f4b465ffd04
Author: Translation commit bot <translation(a)torproject.org>
Date: Sun Aug 16 20:17:54 2020 +0000
https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
contents+ar.po | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/contents+ar.po b/contents+ar.po
index c571a98f60..56fe3b69c3 100644
--- a/contents+ar.po
+++ b/contents+ar.po
@@ -10570,12 +10570,12 @@ msgstr "# dnf install tor -y"
#: (content/rpm/install/contents+en.lrquestion.description)
msgid ""
"Using it for the first time, you will have to import the GPG public key."
-msgstr ""
+msgstr "باستخدامه لأول مرة ، سيتعين عليك استيراد المفتاح العام لـ GPG."
#: https//support.torproject.org/rpm/tor-rpm-install/
#: (content/rpm/install/contents+en.lrquestion.description)
msgid "Importing GPG key 0x3621CD35:"
-msgstr ""
+msgstr "استيراد مفتاح GPG 0x3621CD35:"
#: https//support.torproject.org/rpm/tor-rpm-install/
#: (content/rpm/install/contents+en.lrquestion.description)
1
0

[translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
by translation@torproject.org 16 Aug '20
by translation@torproject.org 16 Aug '20
16 Aug '20
commit e755a0aaa1eef02c93181d2a0b3e4c5382b02018
Author: Translation commit bot <translation(a)torproject.org>
Date: Sun Aug 16 20:15:11 2020 +0000
https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-conten…
---
contents+es.po | 66 ++++++++++++++++++++++++++++++++++++++++------------------
1 file changed, 46 insertions(+), 20 deletions(-)
diff --git a/contents+es.po b/contents+es.po
index 4a19c11c12..5b7357015c 100644
--- a/contents+es.po
+++ b/contents+es.po
@@ -10397,6 +10397,8 @@ msgid ""
"To confirm your bridge is running with no issues, you should see something "
"like this (usually in `/var/log/tor/log` or `/var/log/syslog`):"
msgstr ""
+"Para confirmar que tu puente está corriendo sin problemas, debieras ver algo"
+" como esto (usualmente en `/var/log/tor/log` o `/var/log/syslog`):"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10407,7 +10409,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/openbsd/
#: (content/relay-operations/technical-setup/bridge/openbsd/contents+en.lrpage.body)
msgid "### 6. Final notes"
-msgstr ""
+msgstr "### 6. Notas Finales"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10422,6 +10424,8 @@ msgstr ""
msgid ""
"If you are having troubles setting up your bridge, have a look at [our help"
msgstr ""
+"Si estás teniendo problemas configurando tu puente, hecha un vistazo a "
+"[nuestra sección"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10434,7 +10438,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/openbsd/
#: (content/relay-operations/technical-setup/bridge/openbsd/contents+en.lrpage.body)
msgid "section](https://community.torproject.org/relay/getting-help/). If"
-msgstr ""
+msgstr "de ayuda](https://community.torproject.org/relay/getting-help/). Si"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10447,7 +10451,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/openbsd/
#: (content/relay-operations/technical-setup/bridge/openbsd/contents+en.lrpage.body)
msgid "your bridge is now running, check out the [post-install"
-msgstr ""
+msgstr "si ahora tu puente está corriendo, comprueba las [notas"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10462,23 +10466,25 @@ msgstr ""
msgid ""
"notes](https://community.torproject.org/relay/setup/bridge/post-install/)."
msgstr ""
+"posinstalación](https://community.torproject.org/relay/setup/bridge/post-"
+"install/)."
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.title)
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.title)
msgid "DragonflyBSD"
-msgstr ""
+msgstr "DragonflyBSD"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.subtitle)
msgid "How to deploy an obfs4 bridge on DragonflyBSD"
-msgstr ""
+msgstr "Como desplegar un puente obfs4 en DragonflyBSD"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
msgid "### 1. Bootstrap `pkg`"
-msgstr ""
+msgstr "### 1. Secuenciar para arranque a `pkg`"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10489,6 +10495,9 @@ msgid ""
"`pkg` already installed. Upgrades from earlier releases, however, will not "
"have it."
msgstr ""
+"Las instantáneas diarias de DragonFlyBSD y sus lanzamientos (empezando con "
+"3.4) vienen con `pkg` ya instalado. Las actualizaciones desde versiones "
+"anteriores, sin embargo, no lo tendrán."
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10499,39 +10508,42 @@ msgid ""
"bootstrapped without having to build it from source or even having "
"**DPorts** installed:"
msgstr ""
+"Si `pkg` falta en el sistema por alguna razón, puede ser rápidamente "
+"secuenciado para arranque sin tener que compilarlo desde el código fuente, o"
+" incluso tener **DPorts** instalado:"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
msgid "cd /usr"
-msgstr ""
+msgstr "cd /usr"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
msgid "make pkg-bootstrap"
-msgstr ""
+msgstr "make pkg-bootstrap"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
msgid "rehash"
-msgstr ""
+msgstr "rehash"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
msgid "pkg-static install -y pkg"
-msgstr ""
+msgstr "pkg-static install -y pkg"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
msgid "##### 1.1. Recommended Steps to Setup `pkg`"
-msgstr ""
+msgstr "##### 1.1. Pasos Recomendados para Configurar `pkg`"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10540,6 +10552,9 @@ msgid ""
" going to use HTTPS to fetch our packages, and updates - so here we also "
"need an extra package to help us out (`ca_root_nss`)."
msgstr ""
+"Aquí, será similar a lo que tenemos en un sistema **FreeBSD**, y vamos a "
+"usar HTTPS para descargar nuestros paquetes y actualizaciones - por lo que "
+"también vamos a necesitar un paquete extra para ayudarnos (`ca_root_nss`)."
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10548,7 +10563,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "Installing the `ca_root_nss` package:"
-msgstr ""
+msgstr "Instalando el paquete `ca_root_nss`:"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10557,7 +10572,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "pkg install ca_root_nss"
-msgstr ""
+msgstr "pkg install ca_root_nss"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10569,25 +10584,30 @@ msgid ""
"files ending in the \".sample\" extension are ignored; pkg(8) only reads "
"files that end in \".conf\" and it will read as many as it finds."
msgstr ""
+"Para instalaciones nuevas, el archivo `/usr/local/etc/pkg/repos/df-"
+"latest.conf.sample` es copiado a `/usr/local/etc/pkg/repos/df-latest.conf`. "
+"Los archivos terminando con la extensión \".sample\" son ignorados; pkg(8) "
+"solamente lee archivos que terminan en \".conf\", y leerá tantos como "
+"encuentre."
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
msgid "**DragonflyBSD** has 2 packages repositories:"
-msgstr ""
+msgstr "**DragonflyBSD** tiene 2 repositorios de paquetes:"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
msgid "- Avalon (mirror-master.dragonflybsd.org)"
-msgstr ""
+msgstr "- Avalon (mirror-master.dragonflybsd.org)"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
#: https//community.torproject.org/relay/setup/guard/dragonflybsd/
#: (content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
msgid "- Wolfpond (pkg.wolfpond.org)"
-msgstr ""
+msgstr "- Wolfpond (pkg.wolfpond.org)"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10596,6 +10616,9 @@ msgid ""
"`/usr/local/etc/pkg/repos/df-latest` and that's it! Remember to use "
"**pkg+https://** for Avalon."
msgstr ""
+"Simplemente podemos editar el **URL** usado para apuntar a los repositorios "
+"en `/usr/local/etc/pkg/repos/df-latest.conf`, ¡y eso es todo! Recuerda usar "
+"**pkg+https://** para Avalon."
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10607,6 +10630,9 @@ msgid ""
"After applying all these changes, we update the packages list again and try "
"to check if there's already a new update to apply:"
msgstr ""
+"Luego de aplicar todos estos cambios, actualizamos la lista de paquetes de "
+"nuevo, e intentamos comprobar si ya hay una nueva actualización para "
+"aplicar:"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10624,12 +10650,12 @@ msgstr "pkg update -f"
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "pkg upgrade -y -f"
-msgstr ""
+msgstr "pkg upgrade -y -f"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
msgid "### 2. Install `tor` and `obfs4proxy` DragonflyBSD's Package"
-msgstr ""
+msgstr "### 2. Instala los paquetes `tor` y `obfs4proxy` de DragonflyBSD"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -10638,12 +10664,12 @@ msgstr ""
#: https//community.torproject.org/relay/setup/guard/freebsd/
#: (content/relay-operations/technical-setup/guard/freebsd/contents+en.lrpage.body)
msgid "Here we can choose to install the latest stable version, like:"
-msgstr ""
+msgstr "Aquí podemos elegir instalar la última versión estable, así:"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
msgid "pkg install tor obfs4proxy-tor"
-msgstr ""
+msgstr "pkg install tor obfs4proxy-tor"
#: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
#: (content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
1
0

[translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
by translation@torproject.org 16 Aug '20
by translation@torproject.org 16 Aug '20
16 Aug '20
commit 66347a7b2d531d01883ab2f5f1eec68e3f3d49e8
Author: Translation commit bot <translation(a)torproject.org>
Date: Sun Aug 16 19:45:18 2020 +0000
https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-conten…
---
contents+es.po | 57 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 47 insertions(+), 10 deletions(-)
diff --git a/contents+es.po b/contents+es.po
index d0dee55388..4a19c11c12 100644
--- a/contents+es.po
+++ b/contents+es.po
@@ -9846,7 +9846,7 @@ msgid ""
msgstr ""
"* Ten en cuenta que ambos, el puerto OR de Tor y su puerto obfs4, deben ser "
"alcanzables. Si tu puente está detrás de un cortafuegos o NAT, asegúrate de "
-"avrir/redirigir ambos puertos. Puedes usar [nuestra "
+"abrir/redirigir ambos puertos. Puedes usar [nuestra "
"prueba](https://bridges.torproject.org/scan/) para ver si tu puerto obfs4 es"
" alcanzable desde el Internet."
@@ -10181,6 +10181,8 @@ msgid ""
"Get the latest version of Tor. If you're on Debian stable, `sudo apt-get "
"install tor` should give you the latest stable version of Tor."
msgstr ""
+"Obtiene la última versión de Tor. Si estás sobre Debian estable, `sudo apt-"
+"get install tor` debiera darte la más reciente versión estable de Tor."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10189,11 +10191,14 @@ msgid ""
"[Download instructions for Ubuntu](https://support.torproject.org/apt/tor-"
"deb-repo/)."
msgstr ""
+"* Nota: **Usuarios de Ubuntu necesitan obtenerlo del repositorio Tor. Por "
+"favor mirar ** [Instrucciones de descarga para "
+"Ubuntu](https://support.torproject.org/apt/tor-deb-repo/)."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
msgid "### 2. Install obfs4proxy"
-msgstr ""
+msgstr "### 2. Instalar obfs4proxy"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10201,6 +10206,8 @@ msgid ""
"On [Debian](https://packages.debian.org/search?keywords=obfs4proxy), the "
"`obfs4proxy` package is available in unstable, testing, and stable."
msgstr ""
+"En [Debian](https://packages.debian.org/search?keywords=obfs4proxy), el "
+"paquete `obfs4proxy` está disponible como inestable, de prueba y estable."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10208,6 +10215,8 @@ msgid ""
"On [Ubuntu](https://packages.ubuntu.com/search?keywords=obfs4proxy), bionic,"
" cosmic, disco, and eoan have the package."
msgstr ""
+"En [Ubuntu](https://packages.ubuntu.com/search?keywords=obfs4proxy), "
+"biónico, cósmico, disco, y eoan tienen el paquete."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10215,6 +10224,8 @@ msgid ""
"If you're running any of them, `sudo apt-get install obfs4proxy` should "
"work."
msgstr ""
+"Si estás corriendo cualquiera de ellos, `sudo apt-get install obfs4proxy` "
+"debiera funcionar."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10222,6 +10233,8 @@ msgid ""
"If not, you can [build it from "
"source](https://gitlab.com/yawning/obfs4#installation)."
msgstr ""
+"Si no, puedes [compilarlo a partir del código "
+"fuente](https://gitlab.com/yawning/obfs4#installation)."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10233,16 +10246,18 @@ msgid ""
"### 3. Edit your Tor config file, usually located at `/etc/tor/torrc` and "
"replace its content with:"
msgstr ""
+"### 3. Edita tu archivo de configuración Tor, usualmente ubicado en "
+"`/etc/tor/torrc`, y reemplaza su contenido con:"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
msgid "# Replace \"TODO1\" with a Tor port of your choice."
-msgstr ""
+msgstr "# Reemplaza \"TODO1\" con un puerto Tor de tu elección."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
msgid "# This port must be externally reachable."
-msgstr ""
+msgstr "# Este puerto debe ser externamente alcanzable."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10250,6 +10265,8 @@ msgid ""
"# Avoid port 9001 because it's commonly associated with Tor and censors may "
"be scanning the Internet for this port."
msgstr ""
+"# Evita el puerto 9001, porque comúnmente está asociado con Tor, y los "
+"censores pueden estar escaneando Internet por el mismo."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10259,7 +10276,7 @@ msgstr "ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
msgid "# Replace \"TODO2\" with an obfs4 port of your choice."
-msgstr ""
+msgstr "# Reemplaza \"TODO2\" con un puerto obfs4 de tu elección."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10267,6 +10284,8 @@ msgid ""
"# This port must be externally reachable and must be different from the one "
"specified for ORPort."
msgstr ""
+"# Este puerto debe ser externamente alcanzable, y debe ser diferente del "
+"especificado para ORPort."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10274,6 +10293,8 @@ msgid ""
"# \"Ext\" means \"extended\", not \"external\". Don't try to set a specific"
" port number, nor listen on 0.0.0.0."
msgstr ""
+"# \"Ext\" significa \"extendido\", no \"externo\". No intentes establecer "
+"un número de puerto específico, ni escuchar en 0.0.0.0."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10281,11 +10302,13 @@ msgid ""
"# Replace \"<address(a)email.com>\" with your email address so we can contact "
"you if there are problems with your bridge."
msgstr ""
+"# Reemplaza \"<address(a)email.com>\" con tu dirección de correo electrónico, "
+"de manera que podamos contactarte si hay problemas con tu puente."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
msgid "# This is optional but encouraged."
-msgstr ""
+msgstr "# Esto es opcional, pero te alentamos a que lo hagas."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10294,22 +10317,29 @@ msgid ""
"or 443), you will need to give obfs4 `CAP_NET_BIND_SERVICE` capabilities to "
"bind the port with a non-root user:"
msgstr ""
+"* Si decides usar un puerto obfs4 fijo menor que 1024 (por ejemplo 80 o "
+"443), necesitarás darle a obfs4 la capacidad `CAP_NET_BIND_SERVICE`, para "
+"enlazar el puerto con un usuario no privilegiado:"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
msgid "`sudo setcap cap_net_bind_service=+ep /usr/bin/obfs4proxy`"
-msgstr ""
+msgstr "`sudo setcap cap_net_bind_service=+ep /usr/bin/obfs4proxy`"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
msgid "* Note that both Tor's OR port and its obfs4 port must be reachable."
msgstr ""
+"* Ten en cuenta que tanto el puerto OR de Tor como el puerto obfs4 deben ser"
+" alcanzables."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
msgid ""
"If your bridge is behind a firewall or NAT, make sure to open both ports."
msgstr ""
+"Si tu puente está detrás de un cortafuegos o NAT, asegúrate de abrir ambos "
+"puertos."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10317,6 +10347,8 @@ msgid ""
"You can use [our reachability test](https://bridges.torproject.org/scan/) to"
" see if your obfs4 port is reachable from the Internet."
msgstr ""
+"Puedes usar [nuestra prueba](https://bridges.torproject.org/scan/) para ver "
+"si tu puerto obfs4 es alcanzable desde el Internet."
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10326,6 +10358,11 @@ msgid ""
"`/lib/systemd/system/tor@.service` and then run `systemctl daemon-reload`. "
"(see [bug #18356](https://trac.torproject.org/projects/tor/ticket/18356))"
msgstr ""
+"También necesitarás establecer `NoNewPrivileges=no` en "
+"`/lib/systemd/system/tor(a)default.service` y "
+"`/lib/systemd/system/tor@.service`, y luego correr `systemctl daemon-"
+"reload`. (ver [error "
+"#18356](https://trac.torproject.org/projects/tor/ticket/18356))"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10334,14 +10371,14 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/fedora/
#: (content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
msgid "### 4. Restart tor"
-msgstr ""
+msgstr "### 4. Reiniciar Tor"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
#: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
#: (content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
msgid "`systemctl restart tor`"
-msgstr ""
+msgstr "`systemctl restart tor`"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
@@ -10352,7 +10389,7 @@ msgstr ""
#: https//community.torproject.org/relay/setup/bridge/openbsd/
#: (content/relay-operations/technical-setup/bridge/openbsd/contents+en.lrpage.body)
msgid "### 5. Monitor your logs"
-msgstr ""
+msgstr "### 5. Monitorea tus registros"
#: https//community.torproject.org/relay/setup/bridge/debian-ubuntu/
#: (content/relay-operations/technical-setup/bridge/debian-ubuntu/contents+en.lrpage.body)
1
0