diff options
69 files changed, 418 insertions, 583 deletions
diff --git a/cli/onionshare_cli/__init__.py b/cli/onionshare_cli/__init__.py index c046e472..b5595367 100644 --- a/cli/onionshare_cli/__init__.py +++ b/cli/onionshare_cli/__init__.py @@ -130,18 +130,11 @@ def main(cwd=None): help="Stop onion service at schedule time (N seconds from now)", ) parser.add_argument( - "--legacy", - action="store_true", - dest="legacy", - default=False, - help="Use legacy address (v2 onion service, not recommended)", - ) - parser.add_argument( "--client-auth", action="store_true", dest="client_auth", default=False, - help="Use client authorization (requires --legacy)", + help="Use client authorization", ) # Share args parser.add_argument( @@ -215,7 +208,6 @@ def main(cwd=None): public = bool(args.public) autostart_timer = int(args.autostart_timer) autostop_timer = int(args.autostop_timer) - legacy = bool(args.legacy) client_auth = bool(args.client_auth) autostop_sharing = not bool(args.no_autostop_sharing) data_dir = args.data_dir @@ -237,13 +229,6 @@ def main(cwd=None): # Verbose mode? common.verbose = verbose - # client_auth can only be set if legacy is also set - if client_auth and not legacy: - print( - "Client authentication (--client-auth) is only supported with with legacy onion services (--legacy)" - ) - sys.exit() - # Re-load settings, if a custom config was passed in if config_filename: common.load_settings(config_filename) @@ -264,7 +249,6 @@ def main(cwd=None): mode_settings.set("general", "public", public) mode_settings.set("general", "autostart_timer", autostart_timer) mode_settings.set("general", "autostop_timer", autostop_timer) - mode_settings.set("general", "legacy", legacy) mode_settings.set("general", "client_auth", client_auth) if mode == "share": mode_settings.set("share", "autostop_sharing", autostop_sharing) @@ -396,9 +380,9 @@ def main(cwd=None): print("") if mode_settings.get("general", "client_auth"): print( - f"Give this address and HidServAuth lineto your sender, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}" + f"Give this address and ClientAuth line to your sender, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}" ) - print(app.auth_string) + print(f"ClientAuth: {app.auth_string}") else: print( f"Give this address to your sender, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}" @@ -406,9 +390,9 @@ def main(cwd=None): else: if mode_settings.get("general", "client_auth"): print( - f"Give this address and HidServAuth line to your recipient, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}" + f"Give this address and ClientAuth line to your recipient, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}" ) - print(app.auth_string) + print(f"ClientAuth: {app.auth_string}") else: print( f"Give this address to your recipient, and tell them it won't be accessible until: {schedule.strftime('%I:%M:%S%p, %b %d, %y')}" @@ -491,17 +475,17 @@ def main(cwd=None): print("") if mode_settings.get("general", "client_auth"): - print("Give this address and HidServAuth to the sender:") + print("Give this address and ClientAuth to the sender:") print(url) - print(app.auth_string) + print(f"ClientAuth: {app.auth_string}") else: print("Give this address to the sender:") print(url) else: if mode_settings.get("general", "client_auth"): - print("Give this address and HidServAuth line to the recipient:") + print("Give this address and ClientAuth line to the recipient:") print(url) - print(app.auth_string) + print(f"ClientAuth: {app.auth_string}") else: print("Give this address to the recipient:") print(url) diff --git a/cli/onionshare_cli/mode_settings.py b/cli/onionshare_cli/mode_settings.py index 47900997..89ca00ea 100644 --- a/cli/onionshare_cli/mode_settings.py +++ b/cli/onionshare_cli/mode_settings.py @@ -39,6 +39,8 @@ class ModeSettings: "private_key": None, "hidservauth_string": None, "password": None, + "client_auth_priv_key": None, + "client_auth_pub_key": None, }, "persistent": {"mode": None, "enabled": False}, "general": { @@ -46,7 +48,6 @@ class ModeSettings: "public": False, "autostart_timer": False, "autostop_timer": False, - "legacy": False, "client_auth": False, "service_id": None, }, diff --git a/cli/onionshare_cli/onion.py b/cli/onionshare_cli/onion.py index 38062d43..198f05c3 100644 --- a/cli/onionshare_cli/onion.py +++ b/cli/onionshare_cli/onion.py @@ -21,8 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. from stem.control import Controller from stem import ProtocolError, SocketClosed from stem.connection import MissingPassword, UnreadableCookieFile, AuthenticationFailure -from Crypto.PublicKey import RSA import base64 +import nacl.public import os import tempfile import subprocess @@ -170,6 +170,20 @@ class Onion(object): # Keep track of onions where it's important to gracefully close to prevent truncated downloads self.graceful_close_onions = [] + def key_str(self, key): + """ + Returns a base32 decoded string of a key. + """ + # bytes to base 32 + key_bytes = bytes(key) + key_b32 = base64.b32encode(key_bytes) + # strip trailing ==== + assert key_b32[-4:] == b'====' + key_b32 = key_b32[:-4] + # change from b'ASDF' to ASDF + s = key_b32.decode('utf-8') + return s + def connect( self, custom_settings=None, @@ -570,14 +584,15 @@ class Onion(object): callable(list_ephemeral_hidden_services) and self.tor_version >= "0.2.7.1" ) - # Do the versions of stem and tor that I'm using support stealth onion services? + # Do the versions of stem and tor that I'm using support v3 stealth onion services? try: res = self.c.create_ephemeral_hidden_service( {1: 1}, - basic_auth={"onionshare": None}, + basic_auth=None, await_publication=False, key_type="NEW", - key_content="RSA1024", + key_content="ED25519-V3", + client_auth_v3="E2GOT5LTUTP3OAMRCRXO4GSH6VKJEUOXZQUC336SRKAHTTT5OVSA", ) tmp_service_id = res.service_id self.c.remove_ephemeral_hidden_service(tmp_service_id) @@ -612,65 +627,58 @@ class Onion(object): "Your version of Tor is too old, ephemeral onion services are not supported" ) raise TorTooOldEphemeral() - if mode_settings.get("general", "client_auth") and not self.supports_stealth: - print( - "Your version of Tor is too old, stealth onion services are not supported" - ) - raise TorTooOldStealth() - - auth_cookie = None - if mode_settings.get("general", "client_auth"): - if mode_settings.get("onion", "hidservauth_string"): - auth_cookie = mode_settings.get("onion", "hidservauth_string").split()[ - 2 - ] - if auth_cookie: - basic_auth = {"onionshare": auth_cookie} - else: - # If we had neither a scheduled auth cookie or a persistent hidservauth string, - # set the cookie to 'None', which means Tor will create one for us - basic_auth = {"onionshare": None} - else: - # Not using client auth at all - basic_auth = None if mode_settings.get("onion", "private_key"): key_content = mode_settings.get("onion", "private_key") - if self.is_v2_key(key_content): - key_type = "RSA1024" - else: - # Assume it was a v3 key. Stem will throw an error if it's something illegible - key_type = "ED25519-V3" + key_type = "ED25519-V3" else: + key_content = "ED25519-V3" key_type = "NEW" - # Work out if we can support v3 onion services, which are preferred - if self.supports_v3_onions and not mode_settings.get("general", "legacy"): - key_content = "ED25519-V3" - else: - # fall back to v2 onion services - key_content = "RSA1024" - - # v3 onions don't yet support basic auth. Our ticket: - # https://github.com/micahflee/onionshare/issues/697 - if ( - key_type == "NEW" - and key_content == "ED25519-V3" - and not mode_settings.get("general", "legacy") - ): - basic_auth = None debug_message = f"key_type={key_type}" if key_type == "NEW": debug_message += f", key_content={key_content}" self.common.log("Onion", "start_onion_service", debug_message) + + if mode_settings.get("general", "client_auth"): + if not self.supports_stealth: + print( + "Your version of Tor is too old, stealth onion services are not supported" + ) + raise TorTooOldStealth() + else: + if key_type == "NEW" or not mode_settings.get("onion", "client_auth_priv_key"): + # Generate a new key pair for Client Auth on new onions, or if + # it's a persistent onion but for some reason we don't them + client_auth_priv_key_raw = nacl.public.PrivateKey.generate() + client_auth_priv_key = self.key_str(client_auth_priv_key_raw) + client_auth_pub_key = self.key_str(client_auth_priv_key_raw.public_key) + else: + # These should have been saved in settings from the previous run of a persistent onion + client_auth_priv_key = mode_settings.get("onion", "client_auth_priv_key") + client_auth_pub_key = mode_settings.get("onion", "client_auth_pub_key") + else: + client_auth_priv_key = None + client_auth_pub_key = None + try: - res = self.c.create_ephemeral_hidden_service( - {80: port}, - await_publication=await_publication, - basic_auth=basic_auth, - key_type=key_type, - key_content=key_content, - ) + if not self.supports_stealth: + res = self.c.create_ephemeral_hidden_service( + {80: port}, + await_publication=await_publication, + basic_auth=None, + key_type=key_type, + key_content=key_content, + ) + else: + res = self.c.create_ephemeral_hidden_service( + {80: port}, + await_publication=await_publication, + basic_auth=None, + key_type=key_type, + key_content=key_content, + client_auth_v3=client_auth_pub_key, + ) except ProtocolError as e: print("Tor error: {}".format(e.args[0])) @@ -688,12 +696,20 @@ class Onion(object): # Save the private key and hidservauth string if not mode_settings.get("onion", "private_key"): mode_settings.set("onion", "private_key", res.private_key) - if mode_settings.get("general", "client_auth") and not mode_settings.get( - "onion", "hidservauth_string" - ): - auth_cookie = list(res.client_auth.values())[0] - self.auth_string = f"HidServAuth {onion_host} {auth_cookie}" - mode_settings.set("onion", "hidservauth_string", self.auth_string) + + # If using V3 onions and Client Auth, save both the private and public key + # because we need to send the public key to ADD_ONION (if we restart this + # same share at a later date), and the private key to the other user for + # their Tor Browser. + if mode_settings.get("general", "client_auth"): + mode_settings.set("onion", "client_auth_priv_key", client_auth_priv_key) + mode_settings.set("onion", "client_auth_pub_key", client_auth_pub_key) + # If we were pasting the client auth directly into the filesystem behind a Tor client, + # it would need to be in the format below. However, let's just set the private key + # by itself, as this can be pasted directly into Tor Browser, which is likely to + # be the most common use case. + # self.auth_string = f"{onion_host}:x25519:{client_auth_priv_key}" + self.auth_string = client_auth_priv_key return onion_host @@ -825,15 +841,3 @@ class Onion(object): return ("127.0.0.1", 9150) else: return (self.settings.get("socks_address"), self.settings.get("socks_port")) - - def is_v2_key(self, key): - """ - Helper function for determining if a key is RSA1024 (v2) or not. - """ - try: - # Import the key - key = RSA.importKey(base64.b64decode(key)) - # Is this a v2 Onion key? (1024 bits) If so, we should keep using it. - return key.n.bit_length() == 1024 - except Exception: - return False diff --git a/cli/onionshare_cli/onionshare.py b/cli/onionshare_cli/onionshare.py index bd94100f..d055b639 100644 --- a/cli/onionshare_cli/onionshare.py +++ b/cli/onionshare_cli/onionshare.py @@ -74,6 +74,8 @@ class OnionShare(object): if self.local_only: self.onion_host = f"127.0.0.1:{self.port}" + if mode_settings.get("general", "client_auth"): + self.auth_string = "E2GOT5LTUTP3OAMRCRXO4GSH6VKJEUOXZQUC336SRKAHTTT5OVSA" return self.onion_host = self.onion.start_onion_service( diff --git a/cli/poetry.lock b/cli/poetry.lock index 798b8c8a..6e529aa2 100644 --- a/cli/poetry.lock +++ b/cli/poetry.lock @@ -1,32 +1,33 @@ [[package]] -name = "atomicwrites" -version = "1.4.0" -description = "Atomic file writes." category = "dev" +description = "Atomic file writes." +marker = "sys_platform == \"win32\"" +name = "atomicwrites" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.4.0" [[package]] -name = "attrs" -version = "20.3.0" -description = "Classes Without Boilerplate" category = "dev" +description = "Classes Without Boilerplate" +name = "attrs" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "20.3.0" [package.extras] -dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "furo", "sphinx", "pre-commit"] +dev = ["coverage (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "furo", "sphinx", "pre-commit"] docs = ["furo", "sphinx", "zope.interface"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] -tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"] +tests = ["coverage (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] +tests_no_zope = ["coverage (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"] [[package]] -name = "bidict" -version = "0.21.2" -description = "The bidirectional mapping library for Python." category = "main" +description = "The bidirectional mapping library for Python." +name = "bidict" optional = false python-versions = ">=3.6" +version = "0.21.2" [package.extras] coverage = ["coverage (<6)", "pytest-cov (<3)"] @@ -36,56 +37,67 @@ precommit = ["pre-commit (<3)"] test = ["hypothesis (<6)", "py (<2)", "pytest (<7)", "pytest-benchmark (>=3.2.0,<4)", "sortedcollections (<2)", "sortedcontainers (<3)", "Sphinx (<4)", "sphinx-autodoc-typehints (<2)"] [[package]] +category = "main" +description = "Python package for providing Mozilla's CA Bundle." name = "certifi" +optional = false +python-versions = "*" version = "2020.12.5" -description = "Python package for providing Mozilla's CA Bundle." + +[[package]] category = "main" +description = "Foreign Function Interface for Python calling C code." +name = "cffi" optional = false python-versions = "*" +version = "1.14.5" + +[package.dependencies] +pycparser = "*" [[package]] -name = "chardet" -version = "4.0.0" -description = "Universal encoding detector for Python 2 and 3" category = "main" +description = "Universal encoding detector for Python 2 and 3" +name = "chardet" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "4.0.0" [[package]] -name = "click" -version = "7.1.2" -description = "Composable command line interface toolkit" category = "main" +description = "Composable command line interface toolkit" +name = "click" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "7.1.2" [[package]] -name = "colorama" -version = "0.4.4" -description = "Cross-platform colored terminal text." category = "main" +description = "Cross-platform colored terminal text." +name = "colorama" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "0.4.4" [[package]] -name = "dnspython" -version = "1.16.0" -description = "DNS toolkit" category = "main" +description = "DNS toolkit" +name = "dnspython" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.16.0" [package.extras] DNSSEC = ["pycryptodome", "ecdsa (>=0.13)"] IDNA = ["idna (>=2.1)"] [[package]] -name = "eventlet" -version = "0.30.2" -description = "Highly concurrent networking library" category = "main" +description = "Highly concurrent networking library" +name = "eventlet" optional = false python-versions = "*" +version = "0.31.0" [package.dependencies] dnspython = ">=1.15.0,<2.0.0" @@ -93,18 +105,18 @@ greenlet = ">=0.3" six = ">=1.10.0" [[package]] -name = "flask" -version = "1.1.2" -description = "A simple framework for building complex web applications." category = "main" +description = "A simple framework for building complex web applications." +name = "flask" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "1.1.2" [package.dependencies] -click = ">=5.1" -itsdangerous = ">=0.24" Jinja2 = ">=2.10.1" Werkzeug = ">=0.15" +click = ">=5.1" +itsdangerous = ">=0.24" [package.extras] dev = ["pytest", "coverage", "tox", "sphinx", "pallets-sphinx-themes", "sphinxcontrib-log-cabinet", "sphinx-issues"] @@ -112,86 +124,90 @@ docs = ["sphinx", "pallets-sphinx-themes", "sphinxcontrib-log-cabinet", "sphinx- dotenv = ["python-dotenv"] [[package]] -name = "flask-httpauth" -version = "4.2.0" -description = "Basic and Digest HTTP authentication for Flask routes" category = "main" +description = "Basic and Digest HTTP authentication for Flask routes" +name = "flask-httpauth" optional = false python-versions = "*" +version = "4.3.0" [package.dependencies] Flask = "*" [[package]] -name = "flask-socketio" -version = "5.0.1" -description = "Socket.IO integration for Flask applications" category = "main" +description = "Socket.IO integration for Flask applications" +name = "flask-socketio" optional = false python-versions = "*" +version = "5.0.1" [package.dependencies] Flask = ">=0.9" python-socketio = ">=5.0.2" [[package]] -name = "greenlet" -version = "1.0.0" -description = "Lightweight in-process concurrent programming" category = "main" +description = "Lightweight in-process concurrent programming" +name = "greenlet" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" +version = "1.0.0" [package.extras] docs = ["sphinx"] [[package]] -name = "idna" -version = "2.10" -description = "Internationalized Domain Names in Applications (IDNA)" category = "main" +description = "Internationalized Domain Names in Applications (IDNA)" +name = "idna" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "2.10" [[package]] -name = "importlib-metadata" -version = "3.10.0" -description = "Read metadata from Python packages" category = "dev" +description = "Read metadata from Python packages" +marker = "python_version < \"3.8\"" +name = "importlib-metadata" optional = false python-versions = ">=3.6" +version = "4.0.1" [package.dependencies] -typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} zipp = ">=0.5" +[package.dependencies.typing-extensions] +python = "<3.8" +version = ">=3.6.4" + [package.extras] docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] [[package]] -name = "iniconfig" -version = "1.1.1" -description = "iniconfig: brain-dead simple config-ini parsing" category = "dev" +description = "iniconfig: brain-dead simple config-ini parsing" +name = "iniconfig" optional = false python-versions = "*" +version = "1.1.1" [[package]] -name = "itsdangerous" -version = "1.1.0" -description = "Various helpers to pass data to untrusted environments and back." category = "main" +description = "Various helpers to pass data to untrusted environments and back." +name = "itsdangerous" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.1.0" [[package]] -name = "jinja2" -version = "2.11.3" -description = "A very fast and expressive template engine." category = "main" +description = "A very fast and expressive template engine." +name = "jinja2" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "2.11.3" [package.dependencies] MarkupSafe = ">=0.23" @@ -200,231 +216,256 @@ MarkupSafe = ">=0.23" i18n = ["Babel (>=0.8)"] [[package]] -name = "markupsafe" -version = "1.1.1" -description = "Safely add untrusted strings to HTML/XML markup." category = "main" +description = "Safely add untrusted strings to HTML/XML markup." +name = "markupsafe" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" +version = "1.1.1" [[package]] -name = "packaging" -version = "20.9" -description = "Core utilities for Python packages" category = "dev" +description = "Core utilities for Python packages" +name = "packaging" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "20.9" [package.dependencies] pyparsing = ">=2.0.2" [[package]] -name = "pluggy" -version = "0.13.1" -description = "plugin and hook calling mechanisms for python" category = "dev" +description = "plugin and hook calling mechanisms for python" +name = "pluggy" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "0.13.1" [package.dependencies] -importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} +[package.dependencies.importlib-metadata] +python = "<3.8" +version = ">=0.12" [package.extras] dev = ["pre-commit", "tox"] [[package]] -name = "psutil" -version = "5.8.0" -description = "Cross-platform lib for process and system monitoring in Python." category = "main" +description = "Cross-platform lib for process and system monitoring in Python." +name = "psutil" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "5.8.0" [package.extras] test = ["ipaddress", "mock", "unittest2", "enum34", "pywin32", "wmi"] [[package]] +category = "dev" +description = "library with cross-python path, ini-parsing, io, code, log facilities" name = "py" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" version = "1.10.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" + +[[package]] +category = "main" +description = "C parser in Python" +name = "pycparser" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "2.20" [[package]] -name = "pycryptodome" -version = "3.10.1" -description = "Cryptographic library for Python" category = "main" +description = "Python binding to the Networking and Cryptography (NaCl) library" +name = "pynacl" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.4.0" + +[package.dependencies] +cffi = ">=1.4.1" +six = "*" + +[package.extras] +docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"] +tests = ["pytest (>=3.2.1,<3.3.0 || >3.3.0)", "hypothesis (>=3.27.0)"] [[package]] -name = "pyparsing" -version = "2.4.7" -description = "Python parsing module" category = "dev" +description = "Python parsing module" +name = "pyparsing" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +version = "2.4.7" [[package]] -name = "pysocks" -version = "1.7.1" -description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information." category = "main" +description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information." +name = "pysocks" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.7.1" [[package]] -name = "pytest" -version = "6.2.3" -description = "pytest: simple powerful testing with Python" category = "dev" +description = "pytest: simple powerful testing with Python" +name = "pytest" optional = false python-versions = ">=3.6" +version = "6.2.4" [package.dependencies] -atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +atomicwrites = ">=1.0" attrs = ">=19.2.0" -colorama = {version = "*", markers = "sys_platform == \"win32\""} -importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} +colorama = "*" iniconfig = "*" packaging = "*" pluggy = ">=0.12,<1.0.0a1" py = ">=1.8.2" toml = "*" +[package.dependencies.importlib-metadata] +python = "<3.8" +version = ">=0.12" + [package.extras] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] [[package]] -name = "python-engineio" -version = "4.0.1" -description = "Engine.IO server" category = "main" +description = "Engine.IO server" +name = "python-engineio" optional = false python-versions = "*" +version = "4.1.0" [package.extras] asyncio_client = ["aiohttp (>=3.4)"] client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"] [[package]] -name = "python-socketio" -version = "5.1.0" -description = "Socket.IO server" category = "main" +description = "Socket.IO server" +name = "python-socketio" optional = false python-versions = "*" +version = "5.2.1" [package.dependencies] bidict = ">=0.21.0" -python-engineio = ">=4" +python-engineio = ">=4.1.0" [package.extras] asyncio_client = ["aiohttp (>=3.4)", "websockets (>=7.0)"] client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"] [[package]] -name = "requests" -version = "2.25.1" -description = "Python HTTP for Humans." category = "main" +description = "Python HTTP for Humans." +name = "requests" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "2.25.1" [package.dependencies] certifi = ">=2017.4.17" chardet = ">=3.0.2,<5" idna = ">=2.5,<3" -PySocks = {version = ">=1.5.6,<1.5.7 || >1.5.7", optional = true, markers = "extra == \"socks\""} urllib3 = ">=1.21.1,<1.27" +[package.dependencies.PySocks] +optional = true +version = ">=1.5.6,<1.5.7 || >1.5.7" + [package.extras] security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] -socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] +socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"] [[package]] -name = "six" -version = "1.15.0" -description = "Python 2 and 3 compatibility utilities" category = "main" +description = "Python 2 and 3 compatibility utilities" +name = "six" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +version = "1.16.0" [[package]] -name = "stem" -version = "1.8.0" -description = "Stem is a Python controller library that allows applications to interact with Tor (https://www.torproject.org/)." category = "main" +description = "Stem is a Python controller library that allows applications to interact with Tor (https://www.torproject.org/)." +name = "stem" optional = false python-versions = "*" +version = "1.8.0" [[package]] -name = "toml" -version = "0.10.2" -description = "Python Library for Tom's Obvious, Minimal Language" category = "dev" +description = "Python Library for Tom's Obvious, Minimal Language" +name = "toml" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +version = "0.10.2" [[package]] -name = "typing-extensions" -version = "3.7.4.3" -description = "Backported and Experimental Type Hints for Python 3.5+" category = "dev" +description = "Backported and Experimental Type Hints for Python 3.5+" +marker = "python_version < \"3.8\"" +name = "typing-extensions" optional = false python-versions = "*" +version = "3.10.0.0" [[package]] -name = "unidecode" -version = "1.2.0" -description = "ASCII transliterations of Unicode text" category = "main" +description = "ASCII transliterations of Unicode text" +name = "unidecode" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +version = "1.2.0" [[package]] -name = "urllib3" -version = "1.26.4" -description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" +description = "HTTP library with thread-safe connection pooling, file post, and more." +name = "urllib3" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" +version = "1.26.4" [package.extras] -secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] brotli = ["brotlipy (>=0.6.0)"] +secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] +socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"] [[package]] -name = "werkzeug" -version = "1.0.1" -description = "The comprehensive WSGI web application library." category = "main" +description = "The comprehensive WSGI web application library." +name = "werkzeug" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "1.0.1" [package.extras] dev = ["pytest", "pytest-timeout", "coverage", "tox", "sphinx", "pallets-sphinx-themes", "sphinx-issues"] watchdog = ["watchdog"] [[package]] -name = "zipp" -version = "3.4.1" -description = "Backport of pathlib-compatible object wrapper for zip files" category = "dev" +description = "Backport of pathlib-compatible object wrapper for zip files" +marker = "python_version < \"3.8\"" +name = "zipp" optional = false python-versions = ">=3.6" +version = "3.4.1" [package.extras] docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] [metadata] -lock-version = "1.1" +content-hash = "a3456f7b6194c08460a78447e1397f319689aef5bc33d7bcb7622a495f947f87" python-versions = "^3.6" -content-hash = "af196689bfa09fc05b61fc0829e1b0b54888b5503602ff04174bc967d688c180" [metadata.files] atomicwrites = [ @@ -443,6 +484,45 @@ certifi = [ {file = "certifi-2020.12.5-py2.py3-none-any.whl", hash = "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"}, {file = "certifi-2020.12.5.tar.gz", hash = "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c"}, ] +cffi = [ + {file = "cffi-1.14.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991"}, + {file = "cffi-1.14.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1"}, + {file = "cffi-1.14.5-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa"}, + {file = "cffi-1.14.5-cp27-cp27m-win32.whl", hash = "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3"}, + {file = "cffi-1.14.5-cp27-cp27m-win_amd64.whl", hash = "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5"}, + {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482"}, + {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6"}, + {file = "cffi-1.14.5-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045"}, + {file = "cffi-1.14.5-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa"}, + {file = "cffi-1.14.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406"}, + {file = "cffi-1.14.5-cp35-cp35m-win32.whl", hash = "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369"}, + {file = "cffi-1.14.5-cp35-cp35m-win_amd64.whl", hash = "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315"}, + {file = "cffi-1.14.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892"}, + {file = "cffi-1.14.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058"}, + {file = "cffi-1.14.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5"}, + {file = "cffi-1.14.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132"}, + {file = "cffi-1.14.5-cp36-cp36m-win32.whl", hash = "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53"}, + {file = "cffi-1.14.5-cp36-cp36m-win_amd64.whl", hash = "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813"}, + {file = "cffi-1.14.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73"}, + {file = "cffi-1.14.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06"}, + {file = "cffi-1.14.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1"}, + {file = "cffi-1.14.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49"}, + {file = "cffi-1.14.5-cp37-cp37m-win32.whl", hash = "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62"}, + {file = "cffi-1.14.5-cp37-cp37m-win_amd64.whl", hash = "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4"}, + {file = "cffi-1.14.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053"}, + {file = "cffi-1.14.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0"}, + {file = "cffi-1.14.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e"}, + {file = "cffi-1.14.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827"}, + {file = "cffi-1.14.5-cp38-cp38-win32.whl", hash = "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e"}, + {file = "cffi-1.14.5-cp38-cp38-win_amd64.whl", hash = "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396"}, + {file = "cffi-1.14.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea"}, + {file = "cffi-1.14.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322"}, + {file = "cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c"}, + {file = "cffi-1.14.5-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee"}, + {file = "cffi-1.14.5-cp39-cp39-win32.whl", hash = "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396"}, + {file = "cffi-1.14.5-cp39-cp39-win_amd64.whl", hash = "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d"}, + {file = "cffi-1.14.5.tar.gz", hash = "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c"}, +] chardet = [ {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"}, {file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"}, @@ -460,16 +540,16 @@ dnspython = [ {file = "dnspython-1.16.0.zip", hash = "sha256:36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01"}, ] eventlet = [ - {file = "eventlet-0.30.2-py2.py3-none-any.whl", hash = "sha256:89cc6dbfef47c4629cefead5fde21c5f2b33464d57f7df5fc5148f8b4de3fbb5"}, - {file = "eventlet-0.30.2.tar.gz", hash = "sha256:1811b122d9a45eb5bafba092d36911bca825f835cb648a862bbf984030acff9d"}, + {file = "eventlet-0.31.0-py2.py3-none-any.whl", hash = "sha256:27ae41fad9deed9bbf4166f3e3b65acc15d524d42210a518e5877da85a6b8c5d"}, + {file = "eventlet-0.31.0.tar.gz", hash = "sha256:b36ec2ecc003de87fc87b93197d77fea528aa0f9204a34fdf3b2f8d0f01e017b"}, ] flask = [ {file = "Flask-1.1.2-py2.py3-none-any.whl", hash = "sha256:8a4fdd8936eba2512e9c85df320a37e694c93945b33ef33c89946a340a238557"}, {file = "Flask-1.1.2.tar.gz", hash = "sha256:4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060"}, ] flask-httpauth = [ - {file = "Flask-HTTPAuth-4.2.0.tar.gz", hash = "sha256:8c7e49e53ce7dc14e66fe39b9334e4b7ceb8d0b99a6ba1c3562bb528ef9da84a"}, - {file = "Flask_HTTPAuth-4.2.0-py2.py3-none-any.whl", hash = "sha256:3fcedb99a03985915335a38c35bfee6765cbd66d7f46440fa3b42ae94a90fac7"}, + {file = "Flask-HTTPAuth-4.3.0.tar.gz", hash = "sha256:2e604283cc436f2fe59206500aef898427c76016d11e4924cd2c3ec827ab4116"}, + {file = "Flask_HTTPAuth-4.3.0-py2.py3-none-any.whl", hash = "sha256:ff3c08954993b3c415efa85a4993fe5d61f3e02e8f3e4e994b33f1ec2951baa9"}, ] flask-socketio = [ {file = "Flask-SocketIO-5.0.1.tar.gz", hash = "sha256:5c4319f5214ada20807857dc8fdf3dc7d2afe8d6dd38f5c516c72e2be47d2227"}, @@ -525,8 +605,8 @@ idna = [ {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"}, ] importlib-metadata = [ - {file = "importlib_metadata-3.10.0-py3-none-any.whl", hash = "sha256:d2d46ef77ffc85cbf7dac7e81dd663fde71c45326131bea8033b9bad42268ebe"}, - {file = "importlib_metadata-3.10.0.tar.gz", hash = "sha256:c9db46394197244adf2f0b08ec5bc3cf16757e9590b02af1fca085c16c0d600a"}, + {file = "importlib_metadata-4.0.1-py3-none-any.whl", hash = "sha256:d7eb1dea6d6a6086f8be21784cc9e3bcfa55872b52309bc5fad53a8ea444465d"}, + {file = "importlib_metadata-4.0.1.tar.gz", hash = "sha256:8c501196e49fb9df5df43833bdb1e4328f64847763ec8a50703148b73784d581"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -559,39 +639,20 @@ markupsafe = [ {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"}, {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"}, {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5"}, {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"}, {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7"}, {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"}, {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"}, {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193"}, {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"}, {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f"}, {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"}, {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"}, {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b"}, {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"}, {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-win32.whl", hash = "sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8"}, {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, ] packaging = [ @@ -636,37 +697,29 @@ py = [ {file = "py-1.10.0-py2.py3-none-any.whl", hash = "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a"}, {file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"}, ] -pycryptodome = [ - {file = "pycryptodome-3.10.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1c5e1ca507de2ad93474be5cfe2bfa76b7cf039a1a32fc196f40935944871a06"}, - {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:6260e24d41149268122dd39d4ebd5941e9d107f49463f7e071fd397e29923b0c"}, - {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:3f840c49d38986f6e17dbc0673d37947c88bc9d2d9dba1c01b979b36f8447db1"}, - {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:2dea65df54349cdfa43d6b2e8edb83f5f8d6861e5cf7b1fbc3e34c5694c85e27"}, - {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:e61e363d9a5d7916f3a4ce984a929514c0df3daf3b1b2eb5e6edbb131ee771cf"}, - {file = "pycryptodome-3.10.1-cp27-cp27m-manylinux2014_aarch64.whl", hash = "sha256:2603c98ae04aac675fefcf71a6c87dc4bb74a75e9071ae3923bbc91a59f08d35"}, - {file = "pycryptodome-3.10.1-cp27-cp27m-win32.whl", hash = "sha256:38661348ecb71476037f1e1f553159b80d256c00f6c0b00502acac891f7116d9"}, - {file = "pycryptodome-3.10.1-cp27-cp27m-win_amd64.whl", hash = "sha256:1723ebee5561628ce96748501cdaa7afaa67329d753933296321f0be55358dce"}, - {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:77997519d8eb8a4adcd9a47b9cec18f9b323e296986528186c0e9a7a15d6a07e"}, - {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:99b2f3fc51d308286071d0953f92055504a6ffe829a832a9fc7a04318a7683dd"}, - {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:e0a4d5933a88a2c98bbe19c0c722f5483dc628d7a38338ac2cb64a7dbd34064b"}, - {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d3d6958d53ad307df5e8469cc44474a75393a434addf20ecd451f38a72fe29b8"}, - {file = "pycryptodome-3.10.1-cp27-cp27mu-manylinux2014_aarch64.whl", hash = "sha256:a8eb8b6ea09ec1c2535bf39914377bc8abcab2c7d30fa9225eb4fe412024e427"}, - {file = "pycryptodome-3.10.1-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:31c1df17b3dc5f39600a4057d7db53ac372f492c955b9b75dd439f5d8b460129"}, - {file = "pycryptodome-3.10.1-cp35-abi3-manylinux1_i686.whl", hash = "sha256:a3105a0eb63eacf98c2ecb0eb4aa03f77f40fbac2bdde22020bb8a536b226bb8"}, - {file = "pycryptodome-3.10.1-cp35-abi3-manylinux1_x86_64.whl", hash = "sha256:a92d5c414e8ee1249e850789052608f582416e82422502dc0ac8c577808a9067"}, - {file = "pycryptodome-3.10.1-cp35-abi3-manylinux2010_i686.whl", hash = "sha256:60386d1d4cfaad299803b45a5bc2089696eaf6cdd56f9fc17479a6f89595cfc8"}, - {file = "pycryptodome-3.10.1-cp35-abi3-manylinux2010_x86_64.whl", hash = "sha256:501ab36aae360e31d0ec370cf5ce8ace6cb4112060d099b993bc02b36ac83fb6"}, - {file = "pycryptodome-3.10.1-cp35-abi3-manylinux2014_aarch64.whl", hash = "sha256:fc7489a50323a0df02378bc2fff86eb69d94cc5639914346c736be981c6a02e7"}, - {file = "pycryptodome-3.10.1-cp35-abi3-win32.whl", hash = "sha256:9b6f711b25e01931f1c61ce0115245a23cdc8b80bf8539ac0363bdcf27d649b6"}, - {file = "pycryptodome-3.10.1-cp35-abi3-win_amd64.whl", hash = "sha256:7fd519b89585abf57bf47d90166903ec7b43af4fe23c92273ea09e6336af5c07"}, - {file = "pycryptodome-3.10.1-pp27-pypy_73-macosx_10_9_x86_64.whl", hash = "sha256:09c1555a3fa450e7eaca41ea11cd00afe7c91fef52353488e65663777d8524e0"}, - {file = "pycryptodome-3.10.1-pp27-pypy_73-manylinux1_x86_64.whl", hash = "sha256:758949ca62690b1540dfb24ad773c6da9cd0e425189e83e39c038bbd52b8e438"}, - {file = "pycryptodome-3.10.1-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:e3bf558c6aeb49afa9f0c06cee7fb5947ee5a1ff3bd794b653d39926b49077fa"}, - {file = "pycryptodome-3.10.1-pp27-pypy_73-win32.whl", hash = "sha256:f977cdf725b20f6b8229b0c87acb98c7717e742ef9f46b113985303ae12a99da"}, - {file = "pycryptodome-3.10.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6d2df5223b12437e644ce0a3be7809471ffa71de44ccd28b02180401982594a6"}, - {file = "pycryptodome-3.10.1-pp36-pypy36_pp73-manylinux1_x86_64.whl", hash = "sha256:98213ac2b18dc1969a47bc65a79a8fca02a414249d0c8635abb081c7f38c91b6"}, - {file = "pycryptodome-3.10.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:12222a5edc9ca4a29de15fbd5339099c4c26c56e13c2ceddf0b920794f26165d"}, - {file = "pycryptodome-3.10.1-pp36-pypy36_pp73-win32.whl", hash = "sha256:6bbf7fee7b7948b29d7e71fcacf48bac0c57fb41332007061a933f2d996f9713"}, - {file = "pycryptodome-3.10.1.tar.gz", hash = "sha256:3e2e3a06580c5f190df843cdb90ea28d61099cf4924334d5297a995de68e4673"}, +pycparser = [ + {file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"}, + {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"}, +] +pynacl = [ + {file = "PyNaCl-1.4.0-cp27-cp27m-macosx_10_10_x86_64.whl", hash = "sha256:ea6841bc3a76fa4942ce00f3bda7d436fda21e2d91602b9e21b7ca9ecab8f3ff"}, + {file = "PyNaCl-1.4.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:d452a6746f0a7e11121e64625109bc4468fc3100452817001dbe018bb8b08514"}, + {file = "PyNaCl-1.4.0-cp27-cp27m-win32.whl", hash = "sha256:2fe0fc5a2480361dcaf4e6e7cea00e078fcda07ba45f811b167e3f99e8cff574"}, + {file = "PyNaCl-1.4.0-cp27-cp27m-win_amd64.whl", hash = "sha256:f8851ab9041756003119368c1e6cd0b9c631f46d686b3904b18c0139f4419f80"}, + {file = "PyNaCl-1.4.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:7757ae33dae81c300487591c68790dfb5145c7d03324000433d9a2c141f82af7"}, + {file = "PyNaCl-1.4.0-cp35-abi3-macosx_10_10_x86_64.whl", hash = "sha256:757250ddb3bff1eecd7e41e65f7f833a8405fede0194319f87899690624f2122"}, + {file = "PyNaCl-1.4.0-cp35-abi3-manylinux1_x86_64.whl", hash = "sha256:30f9b96db44e09b3304f9ea95079b1b7316b2b4f3744fe3aaecccd95d547063d"}, + {file = "PyNaCl-1.4.0-cp35-abi3-win32.whl", hash = "sha256:4e10569f8cbed81cb7526ae137049759d2a8d57726d52c1a000a3ce366779634"}, + {file = "PyNaCl-1.4.0-cp35-abi3-win_amd64.whl", hash = "sha256:c914f78da4953b33d4685e3cdc7ce63401247a21425c16a39760e282075ac4a6"}, + {file = "PyNaCl-1.4.0-cp35-cp35m-win32.whl", hash = "sha256:06cbb4d9b2c4bd3c8dc0d267416aaed79906e7b33f114ddbf0911969794b1cc4"}, + {file = "PyNaCl-1.4.0-cp35-cp35m-win_amd64.whl", hash = "sha256:511d269ee845037b95c9781aa702f90ccc36036f95d0f31373a6a79bd8242e25"}, + {file = "PyNaCl-1.4.0-cp36-cp36m-win32.whl", hash = "sha256:11335f09060af52c97137d4ac54285bcb7df0cef29014a1a4efe64ac065434c4"}, + {file = "PyNaCl-1.4.0-cp36-cp36m-win_amd64.whl", hash = "sha256:cd401ccbc2a249a47a3a1724c2918fcd04be1f7b54eb2a5a71ff915db0ac51c6"}, + {file = "PyNaCl-1.4.0-cp37-cp37m-win32.whl", hash = "sha256:8122ba5f2a2169ca5da936b2e5a511740ffb73979381b4229d9188f6dcb22f1f"}, + {file = "PyNaCl-1.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:537a7ccbea22905a0ab36ea58577b39d1fa9b1884869d173b5cf111f006f689f"}, + {file = "PyNaCl-1.4.0-cp38-cp38-win32.whl", hash = "sha256:9c4a7ea4fb81536c1b1f5cc44d54a296f96ae78c1ebd2311bd0b60be45a48d96"}, + {file = "PyNaCl-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:7c6092102219f59ff29788860ccb021e80fffd953920c4a8653889c029b2d420"}, + {file = "PyNaCl-1.4.0.tar.gz", hash = "sha256:54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505"}, ] pyparsing = [ {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, @@ -678,24 +731,24 @@ pysocks = [ {file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"}, ] pytest = [ - {file = "pytest-6.2.3-py3-none-any.whl", hash = "sha256:6ad9c7bdf517a808242b998ac20063c41532a570d088d77eec1ee12b0b5574bc"}, - {file = "pytest-6.2.3.tar.gz", hash = "sha256:671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634"}, + {file = "pytest-6.2.4-py3-none-any.whl", hash = "sha256:91ef2131a9bd6be8f76f1f08eac5c5317221d6ad1e143ae03894b862e8976890"}, + {file = "pytest-6.2.4.tar.gz", hash = "sha256:50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b"}, ] python-engineio = [ - {file = "python-engineio-4.0.1.tar.gz", hash = "sha256:bb575c1a3512b4b5d4706f3071d5cc36e592459e99a47d9a4b7faabeba941377"}, - {file = "python_engineio-4.0.1-py2.py3-none-any.whl", hash = "sha256:759ec99d91b3d36b29596124c77ba7c063c7ab97685d318fb23a166d9a4b9187"}, + {file = "python-engineio-4.1.0.tar.gz", hash = "sha256:21e1bcc62f5573a4bb1c805e69915c5a4c5aa953005dde6c2f707c24554c1020"}, + {file = "python_engineio-4.1.0-py2.py3-none-any.whl", hash = "sha256:c0216b0f9584d6dd632dfd4e2b624d2cf5e97a55443a467f52b928b7e3e08998"}, ] python-socketio = [ - {file = "python-socketio-5.1.0.tar.gz", hash = "sha256:338cc29abb6f3ca14c88f1f8d05ed27c690df4648f62062b299f92625bbf7093"}, - {file = "python_socketio-5.1.0-py2.py3-none-any.whl", hash = "sha256:8a7ed43bfdbbb266eb8a661a0c9648dc94bcd9689566ae3ee08bf98eca8987af"}, + {file = "python-socketio-5.2.1.tar.gz", hash = "sha256:356a8a480fa316295b439d63a5f35a7a59fe65cee1ae35dee28e87d00e5aead6"}, + {file = "python_socketio-5.2.1-py2.py3-none-any.whl", hash = "sha256:8db0653e49389e609aa1048bdbc49da9b8d8ecdcf54e3c1e4c9cc37402cfdaef"}, ] requests = [ {file = "requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"}, {file = "requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"}, ] six = [ - {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, - {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"}, + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] stem = [ {file = "stem-1.8.0.tar.gz", hash = "sha256:a0b48ea6224e95f22aa34c0bc3415f0eb4667ddeae3dfb5e32a6920c185568c2"}, @@ -705,9 +758,9 @@ toml = [ {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] typing-extensions = [ - {file = "typing_extensions-3.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"}, - {file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"}, - {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"}, + {file = "typing_extensions-3.10.0.0-py2-none-any.whl", hash = "sha256:0ac0f89795dd19de6b97debb0c6af1c70987fd80a2d62d1958f7e56fcc31b497"}, + {file = "typing_extensions-3.10.0.0-py3-none-any.whl", hash = "sha256:779383f6086d90c99ae41cf0ff39aac8a7937a9283ce0a414e5dd782f4c94a84"}, + {file = "typing_extensions-3.10.0.0.tar.gz", hash = "sha256:50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342"}, ] unidecode = [ {file = "Unidecode-1.2.0-py2.py3-none-any.whl", hash = "sha256:12435ef2fc4cdfd9cf1035a1db7e98b6b047fe591892e81f34e94959591fad00"}, diff --git a/cli/pyproject.toml b/cli/pyproject.toml index 958d3434..5bec44a5 100644 --- a/cli/pyproject.toml +++ b/cli/pyproject.toml @@ -22,7 +22,6 @@ flask = "*" flask-httpauth = "*" flask-socketio = "5.0.1" psutil = "*" -pycryptodome = "*" pysocks = "*" requests = {extras = ["socks"], version = "^2.25.1"} stem = "*" @@ -30,6 +29,7 @@ unidecode = "*" urllib3 = "*" eventlet = "*" setuptools = "*" +pynacl = "^1.4.0" colorama = "^0.4.4" [tool.poetry.dev-dependencies] diff --git a/desktop/src/onionshare/resources/locale/af.json b/desktop/src/onionshare/resources/locale/af.json index c9e641f5..1a6a057b 100644 --- a/desktop/src/onionshare/resources/locale/af.json +++ b/desktop/src/onionshare/resources/locale/af.json @@ -22,12 +22,9 @@ "gui_receive_stop_server": "Staak Ontvangmodus", "gui_receive_stop_server_autostop_timer": "Staak Ontvangmodus ({} oorblywend)", "gui_copy_url": "Kopieer Adres", - "gui_copy_hidservauth": "Kopieer HidServAuth", "gui_canceled": "Gekanselleer", "gui_copied_url_title": "OnionShare-adres Gekopieer", "gui_copied_url": "OnionShare-adres na knipbord gekopieer", - "gui_copied_hidservauth_title": "HidServAuth Gekopieer", - "gui_copied_hidservauth": "HidServAuth-reël na knipbord gekopieer", "gui_waiting_to_start": "Geskeduleer om oor {} te begin. Klik om te kanselleer.", "gui_please_wait": "Begin… Klik om te kanselleer.", "gui_quit_title": "Nie so haastig nie", @@ -42,7 +39,6 @@ "gui_settings_window_title": "Instellings", "gui_settings_whats_this": "<a href='{0:s}'>Wat is dit?</a>", "gui_settings_stealth_option": "Gebruik kliëntmagtiging", - "gui_settings_stealth_hidservauth_string": "Deur u privaat sleutel vir herbruik bewaar te hê kan u nou klik om u HidServAuth te kopieer.", "gui_settings_autoupdate_label": "Soek na nuwe weergawe", "gui_settings_autoupdate_option": "Laat my weet wanneer ’n nuwe weergawe beskikbaar is", "gui_settings_autoupdate_timestamp": "Laas gesoek: {}", diff --git a/desktop/src/onionshare/resources/locale/am.json b/desktop/src/onionshare/resources/locale/am.json index b787a617..4f6e0bc1 100644 --- a/desktop/src/onionshare/resources/locale/am.json +++ b/desktop/src/onionshare/resources/locale/am.json @@ -45,14 +45,11 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -70,7 +67,6 @@ "gui_settings_window_title": "", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/ar.json b/desktop/src/onionshare/resources/locale/ar.json index 0c0daeb5..3f24c661 100644 --- a/desktop/src/onionshare/resources/locale/ar.json +++ b/desktop/src/onionshare/resources/locale/ar.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "أوقف طور التلقّي (باقي {})", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "نسخ العنوان", - "gui_copy_hidservauth": "نسخ مُصادقة الخدمة المخفية", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "تم الإلغاء", "gui_copied_url_title": "OnionShare تمّ نسخ عنوان", "gui_copied_url": "تمّ نسخ عوان اونينشير إلى الحافظة", - "gui_copied_hidservauth_title": "تم نسخ مُصادقة الخدمة المخفية", - "gui_copied_hidservauth": "تم نسخ سطر مصادقة الخدمة المخفية إلى الحافظة", "gui_please_wait": "جاري البدء… اضغط هنا للإلغاء.", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "الإعدادات", "gui_settings_whats_this": "<a href='{0:s}'>ما هذا؟</a>", "gui_settings_stealth_option": "فعّل استيثاق العميل", - "gui_settings_stealth_hidservauth_string": "بحفظ مفتاحك السّرّيّ لاستعماله لاحقًا صار بوسعك النقر هنا لنسخ HidServAuth.", "gui_settings_autoupdate_label": "تحقق من وجود إصدار الجديد", "gui_settings_autoupdate_option": "أخطرني عند وجود إصدارة أحدث", "gui_settings_autoupdate_timestamp": "تاريخ آخر تحقُق: {}", @@ -283,4 +279,4 @@ "gui_color_mode_changed_notice": "يُرجى إعادة تشغيل OnionShare من أجل تطبيق المظهر باللون الجديد.", "gui_open_folder_error": "فشل فتح ملف باستخدام xdg-open. الملف هنا: {}", "gui_chat_url_description": "<b>أي شخص </b> يوجد معه عنوان OnionShare يمكنه <b>الانضمام إلى غرفة المحادثة هذه </b> باستخدام متصفح تور <b>Tor Browser</b><img src='{}' />" -}
\ No newline at end of file +} diff --git a/desktop/src/onionshare/resources/locale/bg.json b/desktop/src/onionshare/resources/locale/bg.json index 9abe5623..90a40715 100644 --- a/desktop/src/onionshare/resources/locale/bg.json +++ b/desktop/src/onionshare/resources/locale/bg.json @@ -45,14 +45,11 @@ "gui_receive_stop_server_autostop_timer": "Спрете получаващия режим ({} остават)", "gui_receive_stop_server_autostop_timer_tooltip": "Автоматично спиращият таймер спира в {}", "gui_copy_url": "Копирайте адрес", - "gui_copy_hidservauth": "Копирайте HidServAuth", "gui_downloads": "Свалете история", "gui_no_downloads": "Още няма изтегляния", "gui_canceled": "Отменен", "gui_copied_url_title": "OnionShare адресът е копиран", "gui_copied_url": "OnionShare адресът е копиран към клипборда", - "gui_copied_hidservauth_title": "HidServAuth е копиран", - "gui_copied_hidservauth": "HidServAuth редът е копиран към клипборда", "gui_please_wait": "Започва... кликни за отменяне.", "gui_download_upload_progress_complete": "%p%, {0:s} изтече.", "gui_download_upload_progress_starting": "{0:s}, %p% (изчисляване)", @@ -70,7 +67,6 @@ "gui_settings_window_title": "Настройки", "gui_settings_whats_this": "<a href='{0:s}'>Какво е това?</a>", "gui_settings_stealth_option": "Използвайте клиент ауторизация (наследствен)", - "gui_settings_stealth_hidservauth_string": "След като Вашия частен ключ бе запазен за повторна употреба, можете сега да кликнете, за да копирате Вашия HidServAuth.", "gui_settings_autoupdate_label": "Провери за нова версия", "gui_settings_autoupdate_option": "Уведоми ме, когато е налице нова версия", "gui_settings_autoupdate_timestamp": "Последна проверка: {}", diff --git a/desktop/src/onionshare/resources/locale/bn.json b/desktop/src/onionshare/resources/locale/bn.json index f0ab0d26..96473954 100644 --- a/desktop/src/onionshare/resources/locale/bn.json +++ b/desktop/src/onionshare/resources/locale/bn.json @@ -45,14 +45,11 @@ "gui_receive_stop_server_autostop_timer": "রিসিভ মোড বন্ধ করো({} বাকি)", "gui_receive_stop_server_autostop_timer_tooltip": "টাইমার অনুযায়ী অটোমেটিক বন্ধ হবে {}-তে", "gui_copy_url": "এড্রেস কপি করো", - "gui_copy_hidservauth": "হিডসার্ভঅথ কপি করো", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "বাতিল করা হয়েছে", "gui_copied_url_title": "OnionShare ঠিকানা কপি করা হয়েছে", "gui_copied_url": "OnionShare ঠিকানাটি ক্লিপবোর্ডে কপি করা হয়েছে", - "gui_copied_hidservauth_title": "HidServAuth কপি করা হয়েছে", - "gui_copied_hidservauth": "HidServAuth লাইনটি ক্লিপবোর্ডে কপি করা হয়েছে", "gui_please_wait": "চালু করছি… বাতিল করতে এখানে ক্লিক করো।", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", diff --git a/desktop/src/onionshare/resources/locale/ca.json b/desktop/src/onionshare/resources/locale/ca.json index 0015a5ba..bef1e00c 100644 --- a/desktop/src/onionshare/resources/locale/ca.json +++ b/desktop/src/onionshare/resources/locale/ca.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "Atura el mode de recepció (queden {})", "gui_receive_stop_server_autostop_timer_tooltip": "El temporitzador acaba a {}", "gui_copy_url": "Copia l'adreça", - "gui_copy_hidservauth": "Copia el HidServAuth", "gui_downloads": "Historial de descàrregues", "gui_no_downloads": "No n'hi ha cap", "gui_canceled": "S'ha cancel·lat", "gui_copied_url_title": "S'ha copiat l'adreça OnionShare", "gui_copied_url": "S'ha copiat l'adreça OnionShare al porta-retalls", - "gui_copied_hidservauth_title": "S'ha copiat el HidServAuth", - "gui_copied_hidservauth": "S'ha copiat la línia HidServAuth al porta-retalls", "gui_please_wait": "S'està iniciant… Feu clic per a cancel·lar.", "gui_download_upload_progress_complete": "Han passat %p%, {0:s}.", "gui_download_upload_progress_starting": "{0:s}, %p% (s'està calculant)", @@ -69,7 +66,6 @@ "gui_settings_window_title": "Paràmetres", "gui_settings_whats_this": "<a href='{0:s}'>Què és això?</a>", "gui_settings_stealth_option": "Fes servir autorització de client", - "gui_settings_stealth_hidservauth_string": "Ara que ja heu desat la clau privada per a reutilitzar-la, podeu fer clic per a copiar el HidServAuth.", "gui_settings_autoupdate_label": "Comprova si hi ha versions noves", "gui_settings_autoupdate_option": "Notifica'm si hi ha una actualització disponible", "gui_settings_autoupdate_timestamp": "Última comprovació: {}", diff --git a/desktop/src/onionshare/resources/locale/ckb.json b/desktop/src/onionshare/resources/locale/ckb.json index 43f84d3f..6d357d52 100644 --- a/desktop/src/onionshare/resources/locale/ckb.json +++ b/desktop/src/onionshare/resources/locale/ckb.json @@ -24,12 +24,9 @@ "gui_receive_stop_server_autostop_timer": "Mod ya wergirtinê betal bike ({} maye)", "gui_receive_flatpak_data_dir": "Ji ber tu Onionshare bi rêya Flatpak bar kir, pêwîste tu belge di dosyayek di nav ~/OnionShare qeyd bikî.", "gui_copy_url": "Malper kopî bike", - "gui_copy_hidservauth": "HidServAuth kopî bike", "gui_canceled": "Betal bû", "gui_copied_url_title": "Malpera OnionShare kopî bû", "gui_copied_url": "Malpera OnionShare lis ser taxtê kopî bû", - "gui_copied_hidservauth_title": "HidServAuth kopî bû", - "gui_copied_hidservauth": " HidServAuth xet li ser taxtê kopî bû", "gui_show_url_qr_code": "QR kod nîşan bide", "gui_qr_code_dialog_title": "OnionShare QR kod", "gui_waiting_to_start": "Pilankirî ye di {} destpê bike. Bitkîne ji bo betal bike.", diff --git a/desktop/src/onionshare/resources/locale/cs.json b/desktop/src/onionshare/resources/locale/cs.json index d5c7511a..03f8683f 100644 --- a/desktop/src/onionshare/resources/locale/cs.json +++ b/desktop/src/onionshare/resources/locale/cs.json @@ -20,11 +20,9 @@ "gui_share_start_server": "Spustit sdílení", "gui_share_stop_server": "Zastavit sdílení", "gui_copy_url": "Kopírovat URL", - "gui_copy_hidservauth": "Kopírovat HidServAuth", "gui_downloads": "Historie stahování", "gui_canceled": "Zrušeno", "gui_copied_url": "URL zkopírováno do schránky", - "gui_copied_hidservauth": "HidServAuth zkopírováno do schránky", "gui_please_wait": "Spouštění... Klikněte pro zrušení.", "gui_download_upload_progress_complete": "%p%, Uplynulý čas: {0:s}", "gui_download_upload_progress_starting": "{0:s}, %p% (Computing ETA)", @@ -78,11 +76,9 @@ "gui_receive_start_server": "Spustit mód přijímání", "gui_receive_stop_server": "Zastavit přijímání", "gui_receive_stop_server_autostop_timer": "Zastavit mód přijímání ({} zbývá)", - "gui_copied_hidservauth_title": "Zkopírovaný HidServAuth token", "gui_copied_url_title": "OnionShare Address zkopírována", "gui_quit_title": "Ne tak rychle", "gui_settings_stealth_option": "Autorizace klienta", - "gui_settings_stealth_hidservauth_string": "Uložení priváního klíče pro znovu použití znamená, že teď můžete zkopírovat Váš HidServAuth.", "gui_settings_autoupdate_label": "Kontrola nové verze", "gui_settings_autoupdate_option": "Upozornit na dostupnost nové verze", "gui_settings_autoupdate_timestamp": "Poslední kontrola {}", diff --git a/desktop/src/onionshare/resources/locale/da.json b/desktop/src/onionshare/resources/locale/da.json index 383b3d33..acfa3bfe 100644 --- a/desktop/src/onionshare/resources/locale/da.json +++ b/desktop/src/onionshare/resources/locale/da.json @@ -33,11 +33,9 @@ "gui_share_start_server": "Begynd at dele", "gui_share_stop_server": "Stop deling", "gui_copy_url": "Kopiér adresse", - "gui_copy_hidservauth": "Kopiér HidServAuth", "gui_downloads": "Downloadhistorik", "gui_canceled": "Annulleret", "gui_copied_url": "OnionShare-adressen blev kopieret til udklipsholderen", - "gui_copied_hidservauth": "HidServAuth-linjen blev kopieret til udklipsholderen", "gui_please_wait": "Starter ... klik for at annullere.", "gui_download_upload_progress_complete": ".", "gui_download_upload_progress_starting": "{0:s}, %p% (udregner anslået ankomsttid)", @@ -52,7 +50,6 @@ "error_ephemeral_not_supported": "OnionShare kræver mindst både Tor 0.2.7.1 og python3-stem 1.4.0.", "gui_settings_window_title": "Indstillinger", "gui_settings_stealth_option": "Brug klientautentifikation", - "gui_settings_stealth_hidservauth_string": "Ved at have gemt din private nøgle til at blive brugt igen, betyder det at du nu kan klikke for at kopiere din HidServAuth.", "gui_settings_autoupdate_label": "Søg efter ny version", "gui_settings_autoupdate_option": "Giv mig besked når der findes en ny version", "gui_settings_autoupdate_timestamp": "Sidste søgning: {}", @@ -113,7 +110,6 @@ "share_via_onionshare": "Del via OnionShare", "gui_save_private_key_checkbox": "Brug en vedvarende adresse", "gui_copied_url_title": "Kopierede OnionShare-adresse", - "gui_copied_hidservauth_title": "Kopierede HidServAuth", "gui_quit_title": "Klap lige hesten", "gui_settings_tor_bridges_meek_lite_azure_radio_option": "Brug indbyggede meek_lite (Azure) udskiftelige transporter", "gui_settings_tor_bridges_meek_lite_azure_radio_option_no_obfs4proxy": "Brug indbyggede meek_lite (Azure) udskiftelige transporter (kræver obfs4proxy)", diff --git a/desktop/src/onionshare/resources/locale/de.json b/desktop/src/onionshare/resources/locale/de.json index 4f4a3c32..663e6f2a 100644 --- a/desktop/src/onionshare/resources/locale/de.json +++ b/desktop/src/onionshare/resources/locale/de.json @@ -34,9 +34,7 @@ "systray_download_completed_message": "Der Benutzer hat deine Dateien heruntergeladen", "systray_download_canceled_title": "OnionShare Download abgebrochen", "systray_download_canceled_message": "Der Benutzer hat den Download abgebrochen", - "gui_copy_hidservauth": "HidServAuth kopieren", "gui_canceled": "Abgebrochen", - "gui_copied_hidservauth_title": "HidServAuth kopiert", "gui_quit_warning_quit": "Beenden", "gui_quit_warning_dont_quit": "Abbrechen", "gui_settings_window_title": "Einstellungen", @@ -83,7 +81,6 @@ "gui_receive_stop_server_autostop_timer_tooltip": "Zeit läuft in {} ab", "gui_no_downloads": "Bisher keine Downloads", "gui_copied_url_title": "OnionShare-Adresse kopiert", - "gui_copied_hidservauth": "HidServAuth-Zeile in die Zwischenablage kopiert", "gui_download_upload_progress_complete": "%p%, {0:s} vergangen.", "gui_download_upload_progress_starting": "{0:s}, %p% (berechne)", "gui_download_upload_progress_eta": "{0:s}, Voraussichtliche Dauer: {1:s}, %p%", @@ -171,7 +168,6 @@ "gui_settings_language_changed_notice": "Starte OnionShare neu, damit die neue Sprache übernommen wird.", "help_config": "Ort deiner eigenen JSON Konfigurationsdatei (optional)", "timeout_upload_still_running": "Warte bis Upload vollständig ist", - "gui_settings_stealth_hidservauth_string": "Da dein privater Schlüssel jetzt gespeichert wurde, um ihn später erneut zu nutzen, kannst du jetzt klicken, um deinen HidServAuth zu kopieren.", "gui_settings_connection_type_bundled_option": "Die integrierte Tor-Version von OnionShare nutzen", "settings_error_socket_file": "Kann nicht mittels des Tor-Controller-Socket {} verbinden.", "gui_server_started_after_autostop_timer": "Die Zeit ist abgelaufen, bevor der Server gestartet werden konnte. Bitte starte einen erneuten Teilvorgang.", diff --git a/desktop/src/onionshare/resources/locale/el.json b/desktop/src/onionshare/resources/locale/el.json index ddf869d2..30021a5d 100644 --- a/desktop/src/onionshare/resources/locale/el.json +++ b/desktop/src/onionshare/resources/locale/el.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "Διακοπή λειτουργίας λήψης (απομένουν {})", "gui_receive_stop_server_autostop_timer_tooltip": "Το χρονόμετρο αυτόματου τερματισμού τελειώνει σε {}", "gui_copy_url": "Αντιγραφή διεύθυνσης", - "gui_copy_hidservauth": "Αντιγραφή HidServAuth", "gui_downloads": "Ιστορικό Λήψεων", "gui_no_downloads": "Καμία λήψη ως τώρα", "gui_canceled": "Ακυρώθηκε", "gui_copied_url_title": "Η διεύθυνση OnionShare αντιγράφτηκε", "gui_copied_url": "Η διεύθυνση OnionShare αντιγράφτηκε στον πίνακα", - "gui_copied_hidservauth_title": "Το HidServAuth αντιγράφτηκε", - "gui_copied_hidservauth": "Το HidServAuth αντιγράφτηκε στον πίνακα", "gui_please_wait": "Ξεκινάμε... Κάντε κλικ για ακύρωση.", "gui_download_upload_progress_complete": "%p%, {0:s} πέρασαν.", "gui_download_upload_progress_starting": "{0:s}, %p% (υπολογισμός)", @@ -69,7 +66,6 @@ "gui_settings_window_title": "Ρυθμίσεις", "gui_settings_whats_this": "<a href='{0:s}'>Τί είναι αυτό;</a>", "gui_settings_stealth_option": "Χρήση εξουσιοδότησης πελάτη", - "gui_settings_stealth_hidservauth_string": "Έχοντας αποθηκεύσει το ιδιωτικό σας κλειδί για επαναχρησιμοποίηση, μπορείτε πλέον να επιλέξετε την αντιγραφή του HidServAuth σας.", "gui_settings_autoupdate_label": "Έλεγχος για νέα έκδοση", "gui_settings_autoupdate_option": "Ενημερώστε με όταν είναι διαθέσιμη μια νέα έκδοση", "gui_settings_autoupdate_timestamp": "Τελευταίος έλεγχος: {}", diff --git a/desktop/src/onionshare/resources/locale/en.json b/desktop/src/onionshare/resources/locale/en.json index a847264b..612478eb 100644 --- a/desktop/src/onionshare/resources/locale/en.json +++ b/desktop/src/onionshare/resources/locale/en.json @@ -24,12 +24,12 @@ "gui_receive_stop_server_autostop_timer": "Stop Receive Mode ({} remaining)", "gui_receive_flatpak_data_dir": "Because you installed OnionShare using Flatpak, you must save files to a folder in ~/OnionShare.", "gui_copy_url": "Copy Address", - "gui_copy_hidservauth": "Copy HidServAuth", + "gui_copy_client_auth": "Copy ClientAuth", "gui_canceled": "Canceled", "gui_copied_url_title": "Copied OnionShare Address", "gui_copied_url": "OnionShare address copied to clipboard", - "gui_copied_hidservauth_title": "Copied HidServAuth", - "gui_copied_hidservauth": "HidServAuth line copied to clipboard", + "gui_copied_client_auth_title": "Copied ClientAuth", + "gui_copied_client_auth": "ClientAuth private key copied to clipboard", "gui_show_url_qr_code": "Show QR Code", "gui_qr_code_dialog_title": "OnionShare QR Code", "gui_waiting_to_start": "Scheduled to start in {}. Click to cancel.", @@ -84,6 +84,7 @@ "gui_server_autostop_timer_expired": "The auto-stop timer already ran out. Please adjust it to start sharing.", "gui_server_autostart_timer_expired": "The scheduled time has already passed. Please adjust it to start sharing.", "gui_autostop_timer_cant_be_earlier_than_autostart_timer": "The auto-stop time can't be the same or earlier than the auto-start time. Please adjust it to start sharing.", + "gui_server_doesnt_support_stealth": "Sorry, this version of Tor doesn't support stealth (Client Authorization). Please try with a newer version of Tor.", "share_via_onionshare": "Share via OnionShare", "gui_share_url_description": "<b>Anyone</b> with this OnionShare address can <b>download</b> your files using the <b>Tor Browser</b>: <img src='{}' />", "gui_website_url_description": "<b>Anyone</b> with this OnionShare address can <b>visit</b> your website using the <b>Tor Browser</b>: <img src='{}' />", @@ -174,7 +175,6 @@ "mode_settings_public_checkbox": "Don't use a password", "mode_settings_autostart_timer_checkbox": "Start onion service at scheduled time", "mode_settings_autostop_timer_checkbox": "Stop onion service at scheduled time", - "mode_settings_legacy_checkbox": "Use a legacy address (v2 onion service, not recommended)", "mode_settings_client_auth_checkbox": "Use client authorization", "mode_settings_share_autostop_sharing_checkbox": "Stop sharing after files have been sent (uncheck to allow downloading individual files)", "mode_settings_receive_data_dir_label": "Save files to", diff --git a/desktop/src/onionshare/resources/locale/eo.json b/desktop/src/onionshare/resources/locale/eo.json index ea3cef9c..071d8909 100644 --- a/desktop/src/onionshare/resources/locale/eo.json +++ b/desktop/src/onionshare/resources/locale/eo.json @@ -20,11 +20,9 @@ "gui_share_start_server": "Komenci kundividon", "gui_share_stop_server": "Ĉesigi kundividon", "gui_copy_url": "Kopii URL", - "gui_copy_hidservauth": "Kopii HidServAuth", "gui_downloads": "Elŝutoj:", "gui_canceled": "Nuligita", "gui_copied_url": "URL kopiita en tondujon", - "gui_copied_hidservauth": "Copied HidServAuth line to clipboard", "gui_please_wait": "Bonvolu atendi...", "gui_download_upload_progress_complete": "%p%, Tempo pasinta: {0:s}", "gui_download_upload_progress_starting": "{0:s}, %p% (Computing ETA)", diff --git a/desktop/src/onionshare/resources/locale/es.json b/desktop/src/onionshare/resources/locale/es.json index ae5757ba..aad53b03 100644 --- a/desktop/src/onionshare/resources/locale/es.json +++ b/desktop/src/onionshare/resources/locale/es.json @@ -28,7 +28,6 @@ "help_stealth": "Usar autorización de cliente (avanzada)", "help_config": "Ubicación del archivo de configuración JSON personalizado (opcional)", "gui_copied_url_title": "Dirección OnionShare Copiada", - "gui_copied_hidservauth": "Línea HidServAuth copiada al portapapeles", "gui_please_wait": "Comenzando… Clic para cancelar.", "gui_quit_title": "No tan rápido", "error_rate_limit": "Alguien ha intentado adivinar tu contraseña demasiadas veces, por lo que OnionShare ha detenido al servidor. Inicia la compartición de nuevo y envía una dirección nueva al receptor.", @@ -37,7 +36,6 @@ "error_ephemeral_not_supported": "OnionShare necesita por lo menos Tor 0.2.7.1 y python3-stem 1.4.0.", "gui_settings_window_title": "Configuración", "gui_settings_stealth_option": "Utilizar autorización de cliente", - "gui_settings_stealth_hidservauth_string": "Habiendo guardado tu clave privada para reutilizarla, ahora puedes hacer clic para copiar tu HidServAuth.", "gui_settings_autoupdate_label": "Comprobar nuevas versiones", "gui_settings_autoupdate_option": "Notifícame cuando haya una versión nueva disponible", "gui_settings_autoupdate_check_button": "Comprobar Nueva Versión", @@ -66,10 +64,8 @@ "gui_receive_stop_server": "Detener Modo de Recepción", "gui_receive_stop_server_autostop_timer": "Detener Modo de Recepción (quedan {})", "gui_receive_stop_server_autostop_timer_tooltip": "El temporizador de parada automática termina en {}", - "gui_copy_hidservauth": "Copiar HidServAuth", "gui_no_downloads": "Ninguna Descarga Todavía", "gui_canceled": "Cancelado", - "gui_copied_hidservauth_title": "HidServAuth Copiada", "settings_error_unknown": "No se puede conectar al controlador Tor porque tu configuración no tiene sentido.", "settings_error_automatic": "No se puede conectar al controlador Tor. ¿Se está ejecutando el Navegador Tor (disponible en torproject.org) en segundo plano?", "settings_error_socket_port": "No se puede conectar al controlador Tor en {}:{}.", diff --git a/desktop/src/onionshare/resources/locale/fa.json b/desktop/src/onionshare/resources/locale/fa.json index 5fe578e0..94f3bb1a 100644 --- a/desktop/src/onionshare/resources/locale/fa.json +++ b/desktop/src/onionshare/resources/locale/fa.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "توقف حالت دریافت ({} باقیمانده)", "gui_receive_stop_server_autostop_timer_tooltip": "تایمر توقف خودکار در {} به پایان می رسد", "gui_copy_url": "کپی آدرس", - "gui_copy_hidservauth": "کپی HidServAuth", "gui_downloads": "دانلود تاریخچه", "gui_no_downloads": "", "gui_canceled": "لغو شده", "gui_copied_url_title": "آدرس OnionShare کپی شد", "gui_copied_url": "آدرس OnionShare بر کلیپ بورد کپی شد", - "gui_copied_hidservauth_title": "HidServAuth کپی شد", - "gui_copied_hidservauth": "خط HidServAuth بر کلیپ بورد کپی شد", "gui_please_wait": "در حال آغاز... برای لغو کلیک کنید.", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "تنظیمات", "gui_settings_whats_this": "<a href='{0:s}'>این چیست؟</a>", "gui_settings_stealth_option": "استفاده از احراز هویت کلاینت", - "gui_settings_stealth_hidservauth_string": "ذخیره کردن کلید خصوصی برای استفاده دوباره، بدین معناست که الان میتوانید برای کپی HidServAuth کلیک کنید.", "gui_settings_autoupdate_label": "بررسی برای نسخه جدید", "gui_settings_autoupdate_option": "زمانی که نسخه جدید موجود بود من را خبر کن", "gui_settings_autoupdate_timestamp": "آخرین بررسی: {}", diff --git a/desktop/src/onionshare/resources/locale/fi.json b/desktop/src/onionshare/resources/locale/fi.json index e7020b3c..fc950749 100644 --- a/desktop/src/onionshare/resources/locale/fi.json +++ b/desktop/src/onionshare/resources/locale/fi.json @@ -41,10 +41,7 @@ "gui_receive_stop_server": "Lopeta vastaanottotila", "gui_receive_stop_server_autostop_timer": "Lopeta vastaanottotila ({} jäljellä)", "gui_receive_stop_server_autostop_timer_tooltip": "Auto-stop ajastin loppuu kello {}", - "gui_copy_hidservauth": "Kopioi HidServAuth", "gui_copied_url_title": "Kopioi OnionShare-osoite", - "gui_copied_hidservauth_title": "HidServAuth kopioitu", - "gui_copied_hidservauth": "HidServAuth-rivi kopioitu leikepöydälle", "version_string": "OnionShare {0:s} | https://onionshare.org/", "gui_quit_title": "Ei niin nopeasti", "gui_share_quit_warning": "Olet lähettämässä tiedostoja. Haluatko varmasti lopettaa OnionSharen?", @@ -57,7 +54,6 @@ "gui_settings_window_title": "Asetukset", "gui_settings_whats_this": "<a href='{0:s}'>Mikä tämä on?</a>", "gui_settings_stealth_option": "Käytä asiakaslupaa", - "gui_settings_stealth_hidservauth_string": "Nyt kun olet tallentanut yksityisen avaimesi uudelleenkäyttöä varten, voit kopioida HidServAuth-osoitteesi napista.", "gui_settings_autoupdate_label": "Tarkista päivitykset", "gui_settings_autoupdate_option": "Ilmoita minulle, kun uusi versio on saatavilla", "gui_settings_autoupdate_timestamp": "Viimeksi tarkistettu: {}", diff --git a/desktop/src/onionshare/resources/locale/fr.json b/desktop/src/onionshare/resources/locale/fr.json index f23a11e9..f99e48e7 100644 --- a/desktop/src/onionshare/resources/locale/fr.json +++ b/desktop/src/onionshare/resources/locale/fr.json @@ -22,7 +22,6 @@ "gui_share_start_server": "Commencer le partage", "gui_share_stop_server": "Arrêter le partage", "gui_copy_url": "Copier l’adresse", - "gui_copy_hidservauth": "Copier HidServAuth", "gui_downloads": "Historique de téléchargement", "gui_canceled": "Annulé", "gui_copied_url": "L’adresse OnionShare a été copiée dans le presse-papiers", @@ -38,7 +37,6 @@ "not_a_readable_file": "{0:s} n’est pas un fichier lisible.", "timeout_download_still_running": "En attente de la fin du téléchargement", "systray_download_completed_message": "La personne a terminé de télécharger vos fichiers", - "gui_copied_hidservauth_title": "HidServAuth a été copié", "gui_settings_window_title": "Paramètres", "gui_settings_autoupdate_timestamp": "Dernière vérification : {}", "gui_settings_close_after_first_download_option": "Arrêter le partage après l’envoi des fichiers", @@ -58,7 +56,6 @@ "connecting_to_tor": "Connexion au réseau Tor", "help_config": "Emplacement du fichier personnalisé de configuration JSON (facultatif)", "large_filesize": "Avertissement : L’envoi d’un partage volumineux peut prendre des heures", - "gui_copied_hidservauth": "La ligne HidServAuth a été copiée dans le presse-papiers", "version_string": "OnionShare {0:s} | https://onionshare.org/", "zip_progress_bar_format": "Compression : %p %", "error_ephemeral_not_supported": "OnionShare exige au moins et Tor 0.2.7.1 et python3-stem 1.4.0.", @@ -156,7 +153,6 @@ "error_stealth_not_supported": "Pour utiliser l’autorisation client, Tor 0.2.9.1-alpha (ou le Navigateur Tor 6.5) et python3-stem 1.5.0 ou versions ultérieures sont exigés.", "gui_settings_stealth_option": "Utiliser l’autorisation du client", "timeout_upload_still_running": "En attente de la fin de l'envoi", - "gui_settings_stealth_hidservauth_string": "L’enregistrement de votre clé privée pour réutilisation signifie que vous pouvez maintenant cliquer pour copier votre HidServAuth.", "gui_settings_autoupdate_check_button": "Vérifier la présence d’une nouvelle version", "settings_test_success": "Vous êtes connecté au contrôleur Tor.\n\nVersion de Tor : {}\nPrend en charge les services onion éphémères : {}.\nPrend en charge l’authentification client : {}.\nPrend en charge la nouvelle génération d’adresses .onion : {}.", "update_error_check_error": "Impossible de vérifier l’existence d’une mise à jour : peut-être n’êtes-vous pas connecté à Tor ou le site Web d’OnionShare est-il hors service ?", diff --git a/desktop/src/onionshare/resources/locale/ga.json b/desktop/src/onionshare/resources/locale/ga.json index 76e9d64a..621234ae 100644 --- a/desktop/src/onionshare/resources/locale/ga.json +++ b/desktop/src/onionshare/resources/locale/ga.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "Stop an Mód Glactha ({} fágtha)", "gui_receive_stop_server_autostop_timer_tooltip": "Amadóir uathstoptha caite {}", "gui_copy_url": "Cóipeáil an Seoladh", - "gui_copy_hidservauth": "Cóipeáil HidServAuth", "gui_downloads": "Stair Íoslódála", "gui_no_downloads": "Níl aon rud íoslódáilte agat fós", "gui_canceled": "Curtha ar ceal", "gui_copied_url_title": "Cóipeáladh an Seoladh OnionShare", "gui_copied_url": "Cóipeáladh an seoladh OnionShare go dtí an ghearrthaisce", - "gui_copied_hidservauth_title": "Cóipeáladh HidServAuth", - "gui_copied_hidservauth": "Cóipeáladh an líne HidServAuth go dtí an ghearrthaisce", "gui_please_wait": "Ag tosú... Cliceáil lena chur ar ceal.", "gui_download_upload_progress_complete": "%[%, {0:s} caite.", "gui_download_upload_progress_starting": "{0:s}, %p% (á áireamh)", @@ -69,7 +66,6 @@ "gui_settings_window_title": "Socruithe", "gui_settings_whats_this": "<a href='{0:s}'>Cad é seo</a>", "gui_settings_stealth_option": "Úsáid údarú cliaint", - "gui_settings_stealth_hidservauth_string": "Toisc gur shábháil tú d'eochair phríobháideach, anois is féidir leat cliceáil chun an HidServAuth a chóipeáil.", "gui_settings_autoupdate_label": "Lorg nuashonruithe", "gui_settings_autoupdate_option": "Cuir in iúl dom nuair a bheidh leagan nua ar fáil", "gui_settings_autoupdate_timestamp": "Seiceáilte: {}", diff --git a/desktop/src/onionshare/resources/locale/gl.json b/desktop/src/onionshare/resources/locale/gl.json index 86fc7b8e..d5849f2d 100644 --- a/desktop/src/onionshare/resources/locale/gl.json +++ b/desktop/src/onionshare/resources/locale/gl.json @@ -24,12 +24,9 @@ "gui_receive_stop_server_autostop_timer": "Deter o modo Recepción ({} restante)", "gui_receive_flatpak_data_dir": "Debido a que instalaches OnionShare usando Flatpk, tes que gardar os ficheiros nun cartafol dentro de ~/OnionShare.", "gui_copy_url": "Copiar enderezo", - "gui_copy_hidservauth": "Copiar HidServAuth", "gui_canceled": "Cancelado", "gui_copied_url_title": "Enderezo de OnionShare copiado", "gui_copied_url": "Enderezo OnionShare copiado ó portapapeis", - "gui_copied_hidservauth_title": "HidServAuth copiado", - "gui_copied_hidservauth": "Liña HidServAuth copiada ó portapapeis", "gui_show_url_qr_code": "Mostrar código QR", "gui_qr_code_dialog_title": "Código QR OnionShare", "gui_waiting_to_start": "Programado para comezar en {}. Fai clic para cancelar.", diff --git a/desktop/src/onionshare/resources/locale/gu.json b/desktop/src/onionshare/resources/locale/gu.json index 15c7790d..fc95952c 100644 --- a/desktop/src/onionshare/resources/locale/gu.json +++ b/desktop/src/onionshare/resources/locale/gu.json @@ -45,14 +45,11 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -70,7 +67,6 @@ "gui_settings_window_title": "", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/he.json b/desktop/src/onionshare/resources/locale/he.json index c0965d19..9a765db7 100644 --- a/desktop/src/onionshare/resources/locale/he.json +++ b/desktop/src/onionshare/resources/locale/he.json @@ -47,14 +47,11 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "העתק כתובת", - "gui_copy_hidservauth": "", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "מבוטל", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -72,7 +69,6 @@ "gui_settings_window_title": "הגדרות", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "בדיקה לאיתור גרסה חדשה", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/hi.json b/desktop/src/onionshare/resources/locale/hi.json index 9cfc310d..a5594ac4 100644 --- a/desktop/src/onionshare/resources/locale/hi.json +++ b/desktop/src/onionshare/resources/locale/hi.json @@ -36,12 +36,9 @@ "gui_receive_stop_server_autostop_timer": "रिसीव मोड बंद करें ({} remaining)", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "पता कॉपी करें", - "gui_copy_hidservauth": "HidServAuth कॉपी करें", "gui_canceled": "रद्द हो गया", "gui_copied_url_title": "OnionShare पता कॉपी हो गया", "gui_copied_url": "OnionShare पता क्लिपबोर्ड में कॉपी हो गया", - "gui_copied_hidservauth_title": "HidServAuth कॉपी हो गया", - "gui_copied_hidservauth": "HidServAuth लाइन क्लिपबोर्ड में कॉपी हो गया", "gui_please_wait": "शुरू हो रहा है... रद्द करने के लिए क्लिक करें।", "version_string": "", "gui_quit_title": "इतनी तेज़ी से नहीं", @@ -56,7 +53,6 @@ "gui_settings_window_title": "सेटिंग्स", "gui_settings_whats_this": "<a href='{0:s}'>यह क्या है</a>", "gui_settings_stealth_option": "क्लाइंट सत्यापन उपयोग करें", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "नए संस्करण की जांच करें", "gui_settings_autoupdate_option": "जब कोई नया संस्करण आए तो मुझे सूचित करें", "gui_settings_autoupdate_timestamp": "अंतिम जांच: {}", diff --git a/desktop/src/onionshare/resources/locale/hr.json b/desktop/src/onionshare/resources/locale/hr.json index 6c399c89..d5afd66a 100644 --- a/desktop/src/onionshare/resources/locale/hr.json +++ b/desktop/src/onionshare/resources/locale/hr.json @@ -22,12 +22,9 @@ "gui_receive_stop_server": "Zaustavi modus primanja", "gui_receive_stop_server_autostop_timer": "Zaustavi modus primanja ({} preostalo)", "gui_copy_url": "Kopiraj adresu", - "gui_copy_hidservauth": "Kopiraj HidServAuth", "gui_canceled": "Prekinuto", "gui_copied_url_title": "OnionShare adresa je kopirana", "gui_copied_url": "OnionShare adresa je kopirana u međuspremnik", - "gui_copied_hidservauth_title": "HidServAuth kopirano", - "gui_copied_hidservauth": "HidServAuth redak je kopiran u međuspremnik", "gui_waiting_to_start": "Planirano pokretanje za {}. Pritisni za prekid.", "gui_please_wait": "Pokretanje … Pritisni za prekid.", "gui_quit_title": "Ne tako brzo", @@ -42,7 +39,6 @@ "gui_settings_window_title": "Postavke", "gui_settings_whats_this": "<a href='{0:s}'>Što je ovo?</a>", "gui_settings_stealth_option": "Koristi autorizaciju klijenta", - "gui_settings_stealth_hidservauth_string": "Budući da je privatni ključ spremljen za ponovnu upotrebu, znači da sada možeš kopirati tvoj HidServAuth.", "gui_settings_autoupdate_label": "Traži nove verzije", "gui_settings_autoupdate_option": "Obavijesti me o novim verzijama", "gui_settings_autoupdate_timestamp": "Zadnja provjera: {}", diff --git a/desktop/src/onionshare/resources/locale/hu.json b/desktop/src/onionshare/resources/locale/hu.json index 7d0f6766..370c2d63 100644 --- a/desktop/src/onionshare/resources/locale/hu.json +++ b/desktop/src/onionshare/resources/locale/hu.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "Fogadó mód leállítása ({} van hátra)", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "Cím másolása", - "gui_copy_hidservauth": "HidServAuth másolása", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "Megszakítva", "gui_copied_url_title": "OnionShare-cím másolva", "gui_copied_url": "OnionShare-cím a vágólapra másolva", - "gui_copied_hidservauth_title": "HidServAuth másolva", - "gui_copied_hidservauth": "HidServAuth-sor a vágólapra másolva", "gui_please_wait": "Indítás... Kattints a megszakításhoz.", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "Beállítások", "gui_settings_whats_this": "<a href='{0:s}'>Mi ez?</a>", "gui_settings_stealth_option": "Kliens-hitelesítés használata", - "gui_settings_stealth_hidservauth_string": "Mivel elmentetted a titkos kulcsodat, mostantól kattintással másolhatod a HivServAuth-odat.", "gui_settings_autoupdate_label": "Új verzió keresése", "gui_settings_autoupdate_option": "Értesítést kérek, ha új verzió érhető el", "gui_settings_autoupdate_timestamp": "Utoljára ellenőrizve: {}", diff --git a/desktop/src/onionshare/resources/locale/id.json b/desktop/src/onionshare/resources/locale/id.json index 9980a479..2645c503 100644 --- a/desktop/src/onionshare/resources/locale/id.json +++ b/desktop/src/onionshare/resources/locale/id.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "Menghentikan Mode Menerima ({}d tersisa)", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "Salin Alamat", - "gui_copy_hidservauth": "Salin HidServAuth", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "Dibatalkan", "gui_copied_url_title": "Alamat OnionShare disalin", "gui_copied_url": "Alamat OnionShare disalin ke papan klip", - "gui_copied_hidservauth_title": "HidServAuth disalin", - "gui_copied_hidservauth": "Baris HidServAuth disalin ke papan klip", "gui_please_wait": "Memulai... Klik untuk membatalkan.", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "Pengaturan", "gui_settings_whats_this": "<a href='{0:s}'>Apakah ini?</a>", "gui_settings_stealth_option": "Gunakan otorisasi klien", - "gui_settings_stealth_hidservauth_string": "Telah menyimpan kunci privat Anda untuk digunakan kembali, berarti Anda dapat klik untuk menyalin HidServAuth Anda.", "gui_settings_autoupdate_label": "Periksa versi terbaru", "gui_settings_autoupdate_option": "Beritahu saya ketika versi baru tersedia", "gui_settings_autoupdate_timestamp": "Terakhir diperiksa: {}", diff --git a/desktop/src/onionshare/resources/locale/is.json b/desktop/src/onionshare/resources/locale/is.json index e8a3bf3b..f027dfad 100644 --- a/desktop/src/onionshare/resources/locale/is.json +++ b/desktop/src/onionshare/resources/locale/is.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "Hætta í móttökuham ({} eftir)", "gui_receive_stop_server_autostop_timer_tooltip": "Sjálfvirk niðurtalning endar {}", "gui_copy_url": "Afrita vistfang", - "gui_copy_hidservauth": "Afrita HidServAuth", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "Hætt við", "gui_copied_url_title": "Afritaði OnionShare-vistfang", "gui_copied_url": "OnionShare-vistfang afritað á klippispjald", - "gui_copied_hidservauth_title": "Afritaði HidServAuth", - "gui_copied_hidservauth": "HidServAuth-lína afrituð á klippispjald", "gui_please_wait": "Ræsi... Smelltu til að hætta við.", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "Stillingar", "gui_settings_whats_this": "<a href='{0:s}'>Hvað er þetta?</a>", "gui_settings_stealth_option": "Nota auðkenningu biðlaraforrits", - "gui_settings_stealth_hidservauth_string": "Ef þú hefur vistað einkalykil til endurnotkunar, þýðir að þú getur nú smellt til að afrita HidServAuth.", "gui_settings_autoupdate_label": "Athuga með nýja útgáfu", "gui_settings_autoupdate_option": "Láta vita þegar ný útgáfa er tiltæk", "gui_settings_autoupdate_timestamp": "Síðast athugað: {}", diff --git a/desktop/src/onionshare/resources/locale/it.json b/desktop/src/onionshare/resources/locale/it.json index 1adee18b..f48fd618 100644 --- a/desktop/src/onionshare/resources/locale/it.json +++ b/desktop/src/onionshare/resources/locale/it.json @@ -48,11 +48,8 @@ "gui_receive_stop_server": "Arresta modalità Ricezione", "gui_receive_stop_server_autostop_timer": "Interrompi la ricezione ({} rimanenti)", "gui_receive_stop_server_autostop_timer_tooltip": "Il timer termina tra {}", - "gui_copy_hidservauth": "Copia HidServAuth", "gui_no_downloads": "Ancora nessun Download", "gui_copied_url_title": "Indirizzo OnionShare copiato", - "gui_copied_hidservauth_title": "HidServAuth copiato", - "gui_copied_hidservauth": "Linea HidServAuth copiata negli appunti", "gui_download_upload_progress_complete": "%p%, {0:s} trascorsi.", "gui_download_upload_progress_starting": "{0:s}, %p% (calcolato)", "gui_download_upload_progress_eta": "{0:s}, Terminando in: {1:s}, %p%", @@ -69,7 +66,6 @@ "gui_settings_whats_this": "<a href='{0:s}'>Cos'è questo?</a>", "help_receive": "Ricevi le condivisioni invece di inviarle", "gui_settings_stealth_option": "Usa l'autorizzazione client (legacy)", - "gui_settings_stealth_hidservauth_string": "Avendo salvato la tua chiave privata per il riutilizzo, puoi cliccare per copiare il tuo HidServAuth.", "gui_settings_autoupdate_label": "Verifica se c'è una nuova versione", "gui_settings_autoupdate_option": "Avvisami quando è disponibile una nuova versione", "gui_settings_autoupdate_timestamp": "Ultimo controllo: {}", diff --git a/desktop/src/onionshare/resources/locale/ja.json b/desktop/src/onionshare/resources/locale/ja.json index 4235ff87..1ed6883f 100644 --- a/desktop/src/onionshare/resources/locale/ja.json +++ b/desktop/src/onionshare/resources/locale/ja.json @@ -47,14 +47,11 @@ "gui_receive_stop_server_autostop_timer": "受信モードを停止(残り {} 秒)", "gui_receive_stop_server_autostop_timer_tooltip": "{}に自動停止します", "gui_copy_url": "アドレスをコピー", - "gui_copy_hidservauth": "HidServAuthをコピー", "gui_downloads": "ダウンロード履歴", "gui_no_downloads": "まだダウンロードがありません", "gui_canceled": "キャンセルされました", "gui_copied_url_title": "OnionShareのアドレスをコピーしました", "gui_copied_url": "OnionShareのアドレスをクリップボードへコピーしました", - "gui_copied_hidservauth_title": "HidServAuthをコピーしました", - "gui_copied_hidservauth": "HidServAuthの行をクリップボードへコピーしました", "gui_please_wait": "実行中… クリックでキャンセルします。", "gui_download_upload_progress_complete": "%p%、 経過時間 ({0:s})。", "gui_download_upload_progress_starting": "{0:s}, %p% (計算中)", @@ -72,7 +69,6 @@ "gui_settings_window_title": "設定", "gui_settings_whats_this": "<a href='{0:s}'>これは何ですか?</a>", "gui_settings_stealth_option": "クライアント認証を使用", - "gui_settings_stealth_hidservauth_string": "秘密鍵を保存したので、クリックしてHidServAuthをコピーできます。", "gui_settings_autoupdate_label": "更新バージョンの有無をチェックする", "gui_settings_autoupdate_option": "更新通知を起動します", "gui_settings_autoupdate_timestamp": "前回にチェックした時: {}", diff --git a/desktop/src/onionshare/resources/locale/ka.json b/desktop/src/onionshare/resources/locale/ka.json index 9c41ed9f..5de442f4 100644 --- a/desktop/src/onionshare/resources/locale/ka.json +++ b/desktop/src/onionshare/resources/locale/ka.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/km.json b/desktop/src/onionshare/resources/locale/km.json index 44dfde5a..f27aa52c 100644 --- a/desktop/src/onionshare/resources/locale/km.json +++ b/desktop/src/onionshare/resources/locale/km.json @@ -21,12 +21,9 @@ "gui_receive_stop_server": "", "gui_receive_stop_server_autostop_timer": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_waiting_to_start": "", "gui_please_wait": "", "gui_quit_title": "", @@ -41,7 +38,6 @@ "gui_settings_window_title": "", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/ko.json b/desktop/src/onionshare/resources/locale/ko.json index adda3a69..a57f8ba8 100644 --- a/desktop/src/onionshare/resources/locale/ko.json +++ b/desktop/src/onionshare/resources/locale/ko.json @@ -45,14 +45,11 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "취소 된", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -70,7 +67,6 @@ "gui_settings_window_title": "설정", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/lg.json b/desktop/src/onionshare/resources/locale/lg.json index 96b5a0d1..f72c18c6 100644 --- a/desktop/src/onionshare/resources/locale/lg.json +++ b/desktop/src/onionshare/resources/locale/lg.json @@ -45,14 +45,11 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -70,7 +67,6 @@ "gui_settings_window_title": "", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/lt.json b/desktop/src/onionshare/resources/locale/lt.json index b34bb52a..3c8a54ca 100644 --- a/desktop/src/onionshare/resources/locale/lt.json +++ b/desktop/src/onionshare/resources/locale/lt.json @@ -22,12 +22,9 @@ "gui_receive_stop_server": "Išjungti gavimo veikseną", "gui_receive_stop_server_autostop_timer": "Išjungti gavimo veikseną (Liko {})", "gui_copy_url": "Kopijuoti adresą", - "gui_copy_hidservauth": "Kopijuoti HidServAuth", "gui_canceled": "Atsisakyta", "gui_copied_url_title": "OnionShare adresas nukopijuotas", "gui_copied_url": "OnionShare adresas nukopijuotas į iškarpinę", - "gui_copied_hidservauth_title": "HidServAuth nukopijuota", - "gui_copied_hidservauth": "HidServAuth eilutė nukopijuota į iškarpinę", "gui_waiting_to_start": "", "gui_please_wait": "Pradedama… Spustelėkite norėdami atsisakyti.", "error_rate_limit": "", @@ -37,7 +34,6 @@ "gui_settings_window_title": "Nustatymai", "gui_settings_whats_this": "<a href='{0:s}'>Kas tai?</a>", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "Tikrinti, ar yra nauja versija", "gui_settings_autoupdate_option": "Pranešti, kai bus prieinama nauja versija", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/mk.json b/desktop/src/onionshare/resources/locale/mk.json index b389c2a0..a605df67 100644 --- a/desktop/src/onionshare/resources/locale/mk.json +++ b/desktop/src/onionshare/resources/locale/mk.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "Поставки", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/ms.json b/desktop/src/onionshare/resources/locale/ms.json index 8fda843a..3b9c9a5c 100644 --- a/desktop/src/onionshare/resources/locale/ms.json +++ b/desktop/src/onionshare/resources/locale/ms.json @@ -36,12 +36,9 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "version_string": "", "gui_quit_title": "", @@ -56,7 +53,6 @@ "gui_settings_window_title": "Tetapan", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/nb_NO.json b/desktop/src/onionshare/resources/locale/nb_NO.json index f2ee1477..e854e76f 100644 --- a/desktop/src/onionshare/resources/locale/nb_NO.json +++ b/desktop/src/onionshare/resources/locale/nb_NO.json @@ -45,13 +45,10 @@ "gui_receive_stop_server_autostop_timer": "Stopp mottaksmodus ({} gjenstår)", "gui_receive_stop_server_autostop_timer_tooltip": "Tidsavbruddsuret går ut {}", "gui_copy_url": "Kopier nettadresse", - "gui_copy_hidservauth": "Kopier HidServAuth", "gui_downloads": "Nedlastingshistorikk", "gui_no_downloads": "Ingen nedlastinger enda.", "gui_canceled": "Avbrutt", "gui_copied_url_title": "Kopierte OnionShare-adressen", - "gui_copied_hidservauth_title": "Kopierte HidServAuth", - "gui_copied_hidservauth": "HidServAuth-linje kopiert til utklippstavle", "gui_please_wait": "Starter… Klikk for å avbryte.", "gui_download_upload_progress_complete": "%p%, {0:s} forløpt.", "gui_download_upload_progress_starting": "{0:s}, %p% (regner ut)", @@ -69,7 +66,6 @@ "gui_settings_window_title": "Innstillinger", "gui_settings_whats_this": "<a href='{0:s}'>Hva er dette?</a>", "gui_settings_stealth_option": "Bruk klientidentifisering", - "gui_settings_stealth_hidservauth_string": "Siden du har lagret din private nøkkel for gjenbruk, kan du nå klikke for å kopiere din HidServAuth-linje.", "gui_settings_autoupdate_label": "Se etter ny versjon", "gui_settings_autoupdate_option": "Gi meg beskjed når en ny versjon er tilgjengelig", "gui_settings_autoupdate_timestamp": "Sist sjekket: {}", diff --git a/desktop/src/onionshare/resources/locale/nl.json b/desktop/src/onionshare/resources/locale/nl.json index 2b5ced73..b7c129e1 100644 --- a/desktop/src/onionshare/resources/locale/nl.json +++ b/desktop/src/onionshare/resources/locale/nl.json @@ -31,11 +31,9 @@ "gui_delete": "Verwijder", "gui_choose_items": "Kies", "gui_copy_url": "Kopieer URL", - "gui_copy_hidservauth": "Kopieer HidServAuth", "gui_downloads": "Download Geschiedenis", "gui_canceled": "Afgebroken", "gui_copied_url": "OnionShare adres gekopieerd naar klembord", - "gui_copied_hidservauth": "HidServAuth regel gekopieerd naar klembord", "gui_please_wait": "Aan het starten... Klik om te annuleren.", "gui_download_upload_progress_complete": "%p%, {0:s} verstreken.", "gui_download_upload_progress_starting": "{0:s}, %p% (berekenen)", @@ -116,11 +114,9 @@ "gui_receive_stop_server_autostop_timer_tooltip": "Auto-stop timer stopt bij {}", "gui_no_downloads": "Nog Geen Downloads", "gui_copied_url_title": "Gekopieerd OnionShare Adres", - "gui_copied_hidservauth_title": "HidServAuth gekopieerd", "gui_quit_title": "Niet zo snel", "gui_receive_quit_warning": "Je bent in het proces van bestanden ontvangen. Weet je zeker dat je OnionShare af wilt sluiten?", "gui_settings_whats_this": "<a href='{0:s}'>1Wat is dit?</a>2", - "gui_settings_stealth_hidservauth_string": "Je privésleutel is voor hergebruik opgeslagen. Je kunt nu klikken om je HidServAuth te kopiëren.", "gui_settings_general_label": "Algemene instellingen", "gui_settings_tor_bridges": "Tor bridge ondersteuning", "gui_settings_tor_bridges_no_bridges_radio_option": "Gebruik geen bridges", diff --git a/desktop/src/onionshare/resources/locale/pa.json b/desktop/src/onionshare/resources/locale/pa.json index 165e297b..f48df060 100644 --- a/desktop/src/onionshare/resources/locale/pa.json +++ b/desktop/src/onionshare/resources/locale/pa.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/pl.json b/desktop/src/onionshare/resources/locale/pl.json index 61b07d8b..bd48bf13 100644 --- a/desktop/src/onionshare/resources/locale/pl.json +++ b/desktop/src/onionshare/resources/locale/pl.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "Zatrzymaj tryb odbierania (pozostało {})", "gui_receive_stop_server_autostop_timer_tooltip": "Czas upływa za {}", "gui_copy_url": "Kopiuj adres załącznika", - "gui_copy_hidservauth": "Kopiuj HidServAuth", "gui_downloads": "Historia pobierania", "gui_no_downloads": "Nie pobrano jeszcze niczego", "gui_canceled": "Anulowano", "gui_copied_url_title": "Skopiowano adres URL OnionShare", "gui_copied_url": "Adres URL OnionShare został skopiowany do schowka", - "gui_copied_hidservauth_title": "Skopiowano HidServAuth", - "gui_copied_hidservauth": "Linijka HidServAuth została skopiowana do schowka", "gui_please_wait": "Rozpoczynam... Kliknij, aby zatrzymać.", "gui_download_upload_progress_complete": "%p%, {0:s} upłynęło.", "gui_download_upload_progress_starting": "{0:s}, %p% (obliczam)", @@ -69,7 +66,6 @@ "gui_settings_window_title": "Ustawienia", "gui_settings_whats_this": "<a href='{0:s}'>Co to jest?</a>", "gui_settings_stealth_option": "Użyj autoryzacji klienta", - "gui_settings_stealth_hidservauth_string": "Po zapisaniu klucza prywatnego do ponownego użycia, możesz teraz kliknąć, aby skopiować HidServAuth.", "gui_settings_autoupdate_label": "Sprawdź nową wersję", "gui_settings_autoupdate_option": "Poinformuj mnie, kiedy nowa wersja programu będzie dostępna", "gui_settings_autoupdate_timestamp": "Ostatnie sprawdzenie aktualizacji: {}", diff --git a/desktop/src/onionshare/resources/locale/pt_BR.json b/desktop/src/onionshare/resources/locale/pt_BR.json index 2f261bc3..5f8f5698 100644 --- a/desktop/src/onionshare/resources/locale/pt_BR.json +++ b/desktop/src/onionshare/resources/locale/pt_BR.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "Parar o Modo Recepção ({} para terminar)", "gui_receive_stop_server_autostop_timer_tooltip": "O cronômetro automático termina às {}", "gui_copy_url": "Copiar endereço", - "gui_copy_hidservauth": "Copiar HidServAuth", "gui_downloads": "Histórico de download", "gui_no_downloads": "Nenhum download por enquanto", "gui_canceled": "Cancelado", "gui_copied_url_title": "O endereço OnionShare foi copiado", "gui_copied_url": "O endereço OnionShare foi copiado para a área de transferência", - "gui_copied_hidservauth_title": "O HidServAuth foi copiado", - "gui_copied_hidservauth": "A linha HidServAuth foi copiada na área de transferência", "gui_please_wait": "Começando... Clique para cancelar.", "gui_download_upload_progress_complete": "%p%, {0:s} decorridos.", "gui_download_upload_progress_starting": "{0:s}, %p% (calculando)", @@ -69,7 +66,6 @@ "gui_settings_window_title": "Configurações", "gui_settings_whats_this": "<a href='{0:s}'>O que é isso?</a>", "gui_settings_stealth_option": "Usar autorização de cliente", - "gui_settings_stealth_hidservauth_string": "Após salvar a sua chave privada para reutilização, você pode clicar para copiar o seu HidServAuth.", "gui_settings_autoupdate_label": "Procurar por uma nova versão", "gui_settings_autoupdate_option": "Notificar-me quando uma nova versão estiver disponível", "gui_settings_autoupdate_timestamp": "Última verificação: {}", diff --git a/desktop/src/onionshare/resources/locale/pt_PT.json b/desktop/src/onionshare/resources/locale/pt_PT.json index 44c5c067..96627344 100644 --- a/desktop/src/onionshare/resources/locale/pt_PT.json +++ b/desktop/src/onionshare/resources/locale/pt_PT.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "Parar Modo de Receber ({} restantes)", "gui_receive_stop_server_autostop_timer_tooltip": "O cronómetro automático de parar a partilha termina em {}", "gui_copy_url": "Copiar Endereço", - "gui_copy_hidservauth": "Copiar HidServAuth", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "Cancelado", "gui_copied_url_title": "Endereço OnionShare Copiado", "gui_copied_url": "O endereço OnionShare foi copiado para área de transferência", - "gui_copied_hidservauth_title": "HidServAuth Copiado", - "gui_copied_hidservauth": "Linha HidServAuth copiada para a área de transferência", "gui_please_wait": "A iniciar… Clique para cancelar.", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "Configurações", "gui_settings_whats_this": "<a href='{0:s}'>O que é isto?</a>", "gui_settings_stealth_option": "Utilizar autorização de cliente", - "gui_settings_stealth_hidservauth_string": "Depois de guardar a sua chave privada para reutilização, pode clicar para copiar o seu HidServAuth.", "gui_settings_autoupdate_label": "Procurar por nova versão", "gui_settings_autoupdate_option": "Notificar-me quando estiver disponível uma nova versão", "gui_settings_autoupdate_timestamp": "Última verificação: {}", diff --git a/desktop/src/onionshare/resources/locale/ro.json b/desktop/src/onionshare/resources/locale/ro.json index d4e43f04..914a247a 100644 --- a/desktop/src/onionshare/resources/locale/ro.json +++ b/desktop/src/onionshare/resources/locale/ro.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "Opriți modul de primire (au rămas {})", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "Copiere adresă", - "gui_copy_hidservauth": "Copiere HidServAuth", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "Anulat", "gui_copied_url_title": "Adresă OnionShare copiată", "gui_copied_url": "Adresa OnionShare a fost copiată în memoria clipboard", - "gui_copied_hidservauth_title": "Am copiat HidServAuth", - "gui_copied_hidservauth": "Linia HidServAuth a fost copiată în clipboard", "gui_please_wait": "Începem ... Faceți clic pentru a anula.", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "Setari", "gui_settings_whats_this": "<a href='{0:s}'>Ce este asta?</a>", "gui_settings_stealth_option": "Utilizați autorizarea clientului", - "gui_settings_stealth_hidservauth_string": "După ce v-ați salvat cheia privată pentru reutilizare, înseamnă că puteți face clic acum pentru a copia HidServAuth.", "gui_settings_autoupdate_label": "Verificați dacă există o versiune nouă", "gui_settings_autoupdate_option": "Anunțați-mă când este disponibilă o nouă versiune", "gui_settings_autoupdate_timestamp": "Ultima verificare: {}", diff --git a/desktop/src/onionshare/resources/locale/ru.json b/desktop/src/onionshare/resources/locale/ru.json index 95484e8b..b83249e0 100644 --- a/desktop/src/onionshare/resources/locale/ru.json +++ b/desktop/src/onionshare/resources/locale/ru.json @@ -66,12 +66,9 @@ "gui_receive_stop_server": "Выключить режим получения", "gui_receive_stop_server_autostop_timer": "Выключить Режим Получения (осталось {})", "gui_receive_stop_server_autostop_timer_tooltip": "Время таймера истекает в {}", - "gui_copy_hidservauth": "Скопировать строку HidServAuth", "gui_downloads": "История скачиваний", "gui_no_downloads": "Скачиваний пока нет ", "gui_copied_url_title": "Адрес OnionShare скопирован", - "gui_copied_hidservauth_title": "Строка HidServAuth скопирована", - "gui_copied_hidservauth": "Строка HidServAuth скопирована в буфер обмена", "gui_please_wait": "Запуск... Для отмены нажмите здесь.", "gui_download_upload_progress_complete": "%p%, прошло {0:s}.", "gui_download_upload_progress_starting": "{0:s}, %p% (вычисляем)", @@ -86,7 +83,6 @@ "error_ephemeral_not_supported": "Для работы OnionShare необходимы как минимум версии Tor 0.2.7.1 и библиотеки python3-stem 1.4.0.", "gui_settings_whats_this": "<a href='{0:s}'>Что это?</a>", "gui_settings_stealth_option": "Использовать авторизацию клиента", - "gui_settings_stealth_hidservauth_string": "Сохранили Ваш приватный ключ для повторного использования.\nНажмите сюда, чтобы скопировать строку HidServAuth.", "gui_settings_autoupdate_label": "Проверить наличие новой версии", "gui_settings_autoupdate_option": "Уведомить меня, когда будет доступна новая версия", "gui_settings_autoupdate_timestamp": "Последняя проверка: {}", diff --git a/desktop/src/onionshare/resources/locale/si.json b/desktop/src/onionshare/resources/locale/si.json index b55cde27..6d6477cc 100644 --- a/desktop/src/onionshare/resources/locale/si.json +++ b/desktop/src/onionshare/resources/locale/si.json @@ -24,12 +24,9 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_flatpak_data_dir": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_show_url_qr_code": "", "gui_qr_code_dialog_title": "", "gui_waiting_to_start": "", diff --git a/desktop/src/onionshare/resources/locale/sk.json b/desktop/src/onionshare/resources/locale/sk.json index a3690db3..b489e808 100644 --- a/desktop/src/onionshare/resources/locale/sk.json +++ b/desktop/src/onionshare/resources/locale/sk.json @@ -24,12 +24,9 @@ "gui_receive_stop_server_autostop_timer": "Zastaviť režim prijímania (zostáva {})", "gui_receive_flatpak_data_dir": "Pretože ste nainštalovali OnionShare pomocou Flatpak, musíte uložiť súbory do priečinka v ~/OnionShare.", "gui_copy_url": "Kopírovať adresu", - "gui_copy_hidservauth": "Kopírovať HidServAuth", "gui_canceled": "Zrušené", "gui_copied_url_title": "Skopírovaná OnionShare adresa", "gui_copied_url": "OnionShare adresa bola skopírovaná do schránky", - "gui_copied_hidservauth_title": "Skopírovaný HidServAuth", - "gui_copied_hidservauth": "HidServAuth riadok bol skopírovaný do schránky", "gui_show_url_qr_code": "Zobraziť QR kód", "gui_qr_code_dialog_title": "OnionShare QR kód", "gui_qr_code_description": "Naskenujte tento QR kód pomocou čítačky QR, napríklad fotoaparátom na telefóne, aby ste mohli jednoduchšie zdieľať adresu OnionShare s niekým.", diff --git a/desktop/src/onionshare/resources/locale/sl.json b/desktop/src/onionshare/resources/locale/sl.json index 70e04baa..c5867e7b 100644 --- a/desktop/src/onionshare/resources/locale/sl.json +++ b/desktop/src/onionshare/resources/locale/sl.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "Odpovedan", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/sn.json b/desktop/src/onionshare/resources/locale/sn.json index 4ee1a03b..af8c4ff8 100644 --- a/desktop/src/onionshare/resources/locale/sn.json +++ b/desktop/src/onionshare/resources/locale/sn.json @@ -47,14 +47,11 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -72,7 +69,6 @@ "gui_settings_window_title": "", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/sr_Latn.json b/desktop/src/onionshare/resources/locale/sr_Latn.json index d94fe024..f862a53b 100644 --- a/desktop/src/onionshare/resources/locale/sr_Latn.json +++ b/desktop/src/onionshare/resources/locale/sr_Latn.json @@ -22,12 +22,9 @@ "gui_receive_stop_server": "Prekini režim primanja", "gui_receive_stop_server_autostop_timer": "Prekini režim primanja ({} preostalo)", "gui_copy_url": "Kopiraj adresu", - "gui_copy_hidservauth": "Kopiraj HidServAuth", "gui_canceled": "Obustavljeno", "gui_copied_url_title": "Kopirana OnionShare adresa", "gui_copied_url": "OnionShare adresa kopirana u privremenu memoriju", - "gui_copied_hidservauth_title": "Kopiran HidServAuth", - "gui_copied_hidservauth": "HidServAuth linija kopirana u privremenu memoriju", "gui_waiting_to_start": "Planirano da počne u {}. Klikni da obustaviš.", "gui_please_wait": "Počinje… Klikni da obustaviš.", "gui_quit_title": "Ne tako brzo", @@ -42,7 +39,6 @@ "gui_settings_window_title": "Podešavanja", "gui_settings_whats_this": "<a href='{0:s}'>Šta je ovo?</a>", "gui_settings_stealth_option": "Koristi klijent autorizaciju", - "gui_settings_stealth_hidservauth_string": "Ako si sačuvao svoj privatni ključ za ponovnu upotrenu, sada možeš kliknuti da iskopiraš svoj HidServAuth.", "gui_settings_autoupdate_label": "Proveri da li postoji nova verzija", "gui_settings_autoupdate_option": "Obavesti me kada nova verzija bude na raspolaganju", "gui_settings_autoupdate_timestamp": "Poslednja provera: {}", diff --git a/desktop/src/onionshare/resources/locale/sv.json b/desktop/src/onionshare/resources/locale/sv.json index 9e07d2c4..f0e412fa 100644 --- a/desktop/src/onionshare/resources/locale/sv.json +++ b/desktop/src/onionshare/resources/locale/sv.json @@ -45,14 +45,11 @@ "gui_receive_stop_server_autostop_timer": "Stoppa mottagningsläge ({} kvarstår)", "gui_receive_stop_server_autostop_timer_tooltip": "Automatiska stopp-tidtagaren avslutar vid {}", "gui_copy_url": "Kopiera adress", - "gui_copy_hidservauth": "Kopiera HidServAuth", "gui_downloads": "Nedladdningshistorik", "gui_no_downloads": "Inga Nedladdningar Än", "gui_canceled": "Avbruten", "gui_copied_url_title": "OnionShare-adress kopierad", "gui_copied_url": "OnionShare-adress kopierad till urklipp", - "gui_copied_hidservauth_title": "HidServAuth kopierad", - "gui_copied_hidservauth": "HidServAuth-rad kopierad till urklipp", "gui_please_wait": "Startar... klicka för att avbryta.", "gui_download_upload_progress_complete": "%p%, {0:s} förflutit.", "gui_download_upload_progress_starting": "{0:s}, %p% (beräknar)", @@ -70,7 +67,6 @@ "gui_settings_window_title": "Inställningar", "gui_settings_whats_this": "<a href='{0:s}'>Vad är det här?</a>", "gui_settings_stealth_option": "Använd klientauktorisering", - "gui_settings_stealth_hidservauth_string": "Efter att ha sparat din privata nyckel för återanvändning, innebär det att du nu kan klicka för att kopiera din HidServAuth.", "gui_settings_autoupdate_label": "Sök efter ny version", "gui_settings_autoupdate_option": "Meddela mig när en ny version är tillgänglig", "gui_settings_autoupdate_timestamp": "Senast kontrollerad: {}", diff --git a/desktop/src/onionshare/resources/locale/sw.json b/desktop/src/onionshare/resources/locale/sw.json index 74707f3c..45fe5eff 100644 --- a/desktop/src/onionshare/resources/locale/sw.json +++ b/desktop/src/onionshare/resources/locale/sw.json @@ -21,12 +21,9 @@ "gui_receive_stop_server": "", "gui_receive_stop_server_autostop_timer": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_waiting_to_start": "", "gui_please_wait": "", "gui_quit_title": "", @@ -41,7 +38,6 @@ "gui_settings_window_title": "", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/te.json b/desktop/src/onionshare/resources/locale/te.json index 541625f8..65593d46 100644 --- a/desktop/src/onionshare/resources/locale/te.json +++ b/desktop/src/onionshare/resources/locale/te.json @@ -21,12 +21,9 @@ "gui_receive_stop_server": "స్వీకరించు రీతిని ఆపివేయి", "gui_receive_stop_server_autostop_timer": "స్వీకరించు రీతిని ఆపివేయి ({} మిగిలినది)", "gui_copy_url": "జాల చిరునామాను నకలు తీయి", - "gui_copy_hidservauth": "HidServAuth నకలు తీయి", "gui_canceled": "రద్దు చేయబడినది", "gui_copied_url_title": "OnionShare జాల చిరునామా నకలు తీయబడినది", "gui_copied_url": "OnionShare జాల చిరునామా క్లిప్బోర్డునకు నకలు తీయబడినది", - "gui_copied_hidservauth_title": "HidServAuth నకలు తీయబడినది", - "gui_copied_hidservauth": "HidServAuth పంక్తి క్లిప్బోర్డునకు నకలు తీయబడినది", "gui_waiting_to_start": "ఇంకా {}లో మొదలగునట్లు అమర్చబడినది. రద్దుచేయుటకై ఇక్కడ నొక్కు.", "gui_please_wait": "మొదలుపెట్టబడుతుంది... రద్దు చేయుటకై ఇక్కడ నొక్కు.", "gui_quit_title": "అంత త్వరగా కాదు", @@ -41,7 +38,6 @@ "gui_settings_window_title": "అమరికలు", "gui_settings_whats_this": "<a href='{0:s}'>ఇది ఏమిటి?</a>", "gui_settings_stealth_option": "ఉపయోక్త ధ్రువీకరణను వాడు", - "gui_settings_stealth_hidservauth_string": "మరల వాడుటకై మీ ప్రైవేటు కీని భద్రపరచడం వలన మీరు ఇక్కడ నొక్కడం ద్వారా మీ HidServAuth నకలు తీయవచ్చు.", "gui_settings_autoupdate_label": "కొత్త రూపాంతరం కోసం సరిచూడు", "gui_settings_autoupdate_option": "కొత్త రూపాంతరం వస్తే నాకు తెలియచేయి", "gui_settings_autoupdate_timestamp": "ఇంతకుముందు సరిచూసినది: {}", diff --git a/desktop/src/onionshare/resources/locale/tr.json b/desktop/src/onionshare/resources/locale/tr.json index c646594f..bc9a2acd 100644 --- a/desktop/src/onionshare/resources/locale/tr.json +++ b/desktop/src/onionshare/resources/locale/tr.json @@ -41,10 +41,7 @@ "gui_receive_stop_server": "Alma Modunu Durdur", "gui_receive_stop_server_autostop_timer": "Alma Modunu Durdur ({} kaldı)", "gui_receive_stop_server_autostop_timer_tooltip": "Otomatik durdurma zamanlayıcısı {} sonra biter", - "gui_copy_hidservauth": "HidServAuth Kopyala", "gui_copied_url_title": "OnionShare Adresi Kopyalandı", - "gui_copied_hidservauth_title": "HidServAuth Kopyalandı", - "gui_copied_hidservauth": "HidServAuth satırı panoya kopyalandı", "version_string": "OnionShare {0:s} | https://onionshare.org/", "gui_quit_title": "Çok hızlı değil", "gui_share_quit_warning": "Dosya gönderiyorsunuz. OnionShare uygulamasından çıkmak istediğinize emin misiniz?", @@ -57,7 +54,6 @@ "gui_settings_window_title": "Ayarlar", "gui_settings_whats_this": "<a href='{0:s}'>Bu nedir?</a>", "gui_settings_stealth_option": "İstemci kimlik doğrulaması kullanılsın", - "gui_settings_stealth_hidservauth_string": "Özel anahtarınızı yeniden kullanmak üzere kaydettiğinizden, tıklayarak HidServAuth verinizi kopyalabilirsiniz.", "gui_settings_autoupdate_label": "Yeni sürümü denetle", "gui_settings_autoupdate_option": "Yeni bir sürüm olduğunda bana haber ver", "gui_settings_autoupdate_timestamp": "Son denetleme: {}", diff --git a/desktop/src/onionshare/resources/locale/uk.json b/desktop/src/onionshare/resources/locale/uk.json index 316c2dc4..c53451f1 100644 --- a/desktop/src/onionshare/resources/locale/uk.json +++ b/desktop/src/onionshare/resources/locale/uk.json @@ -21,12 +21,9 @@ "gui_receive_stop_server": "Зупинити режим отримання", "gui_receive_stop_server_autostop_timer": "Зупинити режим отримання ({} залишилось)", "gui_copy_url": "Копіювати Адресу", - "gui_copy_hidservauth": "Копіювати HidServAuth", "gui_canceled": "Скасовано", "gui_copied_url_title": "Адресу OnionShare копійовано", "gui_copied_url": "Адресу OnionShare копійовано до буферу обміну", - "gui_copied_hidservauth_title": "Скопійовано HidServAuth", - "gui_copied_hidservauth": "Рядок HidServAuth копійовано до буфера обміну", "gui_waiting_to_start": "Заплановано почати за {}. Натисніть для скасування.", "gui_please_wait": "Початок... Натисніть для скасування.", "gui_quit_title": "Не так швидко", @@ -41,7 +38,6 @@ "gui_settings_window_title": "Налаштування", "gui_settings_whats_this": "<a href='{0:s}'>Що це?</a>", "gui_settings_stealth_option": "Використовувати авторизацію клієнта", - "gui_settings_stealth_hidservauth_string": "Зберігши свій закритий ключ для повторного користування, ви можете копіювати HidServAuth.", "gui_settings_autoupdate_label": "Перевірити наявність оновлень", "gui_settings_autoupdate_option": "Повідомляти про наявність нової версії", "gui_settings_autoupdate_timestamp": "Попередня перевірка: {}", diff --git a/desktop/src/onionshare/resources/locale/wo.json b/desktop/src/onionshare/resources/locale/wo.json index 89d732b3..4b3afd9a 100644 --- a/desktop/src/onionshare/resources/locale/wo.json +++ b/desktop/src/onionshare/resources/locale/wo.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/yo.json b/desktop/src/onionshare/resources/locale/yo.json index 96b5a0d1..f72c18c6 100644 --- a/desktop/src/onionshare/resources/locale/yo.json +++ b/desktop/src/onionshare/resources/locale/yo.json @@ -45,14 +45,11 @@ "gui_receive_stop_server_autostop_timer": "", "gui_receive_stop_server_autostop_timer_tooltip": "", "gui_copy_url": "", - "gui_copy_hidservauth": "", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "", "gui_copied_url_title": "", "gui_copied_url": "", - "gui_copied_hidservauth_title": "", - "gui_copied_hidservauth": "", "gui_please_wait": "", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -70,7 +67,6 @@ "gui_settings_window_title": "", "gui_settings_whats_this": "", "gui_settings_stealth_option": "", - "gui_settings_stealth_hidservauth_string": "", "gui_settings_autoupdate_label": "", "gui_settings_autoupdate_option": "", "gui_settings_autoupdate_timestamp": "", diff --git a/desktop/src/onionshare/resources/locale/zh_Hans.json b/desktop/src/onionshare/resources/locale/zh_Hans.json index 3268c622..d1d16723 100644 --- a/desktop/src/onionshare/resources/locale/zh_Hans.json +++ b/desktop/src/onionshare/resources/locale/zh_Hans.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "停止接收模式(还剩 {} 秒)", "gui_receive_stop_server_autostop_timer_tooltip": "在{}自动停止", "gui_copy_url": "复制地址", - "gui_copy_hidservauth": "复制 HidServAuth", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "已取消", "gui_copied_url_title": "已复制 OnionShare 地址", "gui_copied_url": "OnionShare 地址已复制到剪贴板", - "gui_copied_hidservauth_title": "已复制 HidServAuth", - "gui_copied_hidservauth": "HidServAuth 行已复制到剪贴板", "gui_please_wait": "正在开启……点击以取消。", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "设置", "gui_settings_whats_this": "<a href='{0:s}'>这是什么?</a>", "gui_settings_stealth_option": "使用客户端认证", - "gui_settings_stealth_hidservauth_string": "已保存您的私钥用于重复使用,这意味着您现在可以点击以复制您的 HidServAuth。", "gui_settings_autoupdate_label": "检查新版本", "gui_settings_autoupdate_option": "新版本可用时通知我", "gui_settings_autoupdate_timestamp": "上次检查更新时间:{}", diff --git a/desktop/src/onionshare/resources/locale/zh_Hant.json b/desktop/src/onionshare/resources/locale/zh_Hant.json index b6158c59..654892b0 100644 --- a/desktop/src/onionshare/resources/locale/zh_Hant.json +++ b/desktop/src/onionshare/resources/locale/zh_Hant.json @@ -44,14 +44,11 @@ "gui_receive_stop_server_autostop_timer": "停止接收模式 (剩餘{}秒)", "gui_receive_stop_server_autostop_timer_tooltip": "計數器將在{}停止", "gui_copy_url": "複製地址", - "gui_copy_hidservauth": "複製HidServAuth", "gui_downloads": "", "gui_no_downloads": "", "gui_canceled": "已取消", "gui_copied_url_title": "已複製OnionShare地址", "gui_copied_url": "OnionShare地址已複製到剪貼簿", - "gui_copied_hidservauth_title": "已複製HidServAuth", - "gui_copied_hidservauth": "HidServAuth已複製到剪貼簿", "gui_please_wait": "啟動中...點擊以取消。", "gui_download_upload_progress_complete": "", "gui_download_upload_progress_starting": "", @@ -69,7 +66,6 @@ "gui_settings_window_title": "設定", "gui_settings_whats_this": "<a href='{0:s}'>這是什麼?</a>", "gui_settings_stealth_option": "使用客戶端認證", - "gui_settings_stealth_hidservauth_string": "已經將您的私鑰存起來以便使用,代表您現在可以點選以複製您的HidSerAuth。", "gui_settings_autoupdate_label": "檢查新版本", "gui_settings_autoupdate_option": "當有新版本的時候提醒我", "gui_settings_autoupdate_timestamp": "上一次檢查時間: {}", diff --git a/desktop/src/onionshare/tab/mode/__init__.py b/desktop/src/onionshare/tab/mode/__init__.py index 16944af8..2b78ffd0 100644 --- a/desktop/src/onionshare/tab/mode/__init__.py +++ b/desktop/src/onionshare/tab/mode/__init__.py @@ -239,13 +239,30 @@ class Mode(QtWidgets.QWidget): self.start_onion_thread() def start_onion_thread(self, obtain_onion_early=False): - self.common.log("Mode", "start_server", "Starting an onion thread") - self.obtain_onion_early = obtain_onion_early - self.onion_thread = OnionThread(self) - self.onion_thread.success.connect(self.starting_server_step2.emit) - self.onion_thread.success_early.connect(self.starting_server_early.emit) - self.onion_thread.error.connect(self.starting_server_error.emit) - self.onion_thread.start() + # If we tried to start with Client Auth and our Tor is too old to support it, + # bail out early + can_start = True + if ( + not self.server_status.local_only + and not self.app.onion.supports_stealth + and self.settings.get("general", "client_auth") + ): + can_start = False + + if can_start: + self.common.log("Mode", "start_server", "Starting an onion thread") + self.obtain_onion_early = obtain_onion_early + self.onion_thread = OnionThread(self) + self.onion_thread.success.connect(self.starting_server_step2.emit) + self.onion_thread.success_early.connect(self.starting_server_early.emit) + self.onion_thread.error.connect(self.starting_server_error.emit) + self.onion_thread.start() + + else: + self.stop_server() + self.start_server_error( + strings._("gui_server_doesnt_support_stealth") + ) def start_scheduled_service(self, obtain_onion_early=False): # We start a new OnionThread with the saved scheduled key from settings diff --git a/desktop/src/onionshare/tab/mode/mode_settings_widget.py b/desktop/src/onionshare/tab/mode/mode_settings_widget.py index 98a6a01a..5003e4ac 100644 --- a/desktop/src/onionshare/tab/mode/mode_settings_widget.py +++ b/desktop/src/onionshare/tab/mode/mode_settings_widget.py @@ -129,17 +129,7 @@ class ModeSettingsWidget(QtWidgets.QWidget): autostop_timer_layout.addWidget(self.autostop_timer_checkbox) autostop_timer_layout.addWidget(self.autostop_timer_widget) - # Legacy address - self.legacy_checkbox = QtWidgets.QCheckBox() - self.legacy_checkbox.clicked.connect(self.legacy_checkbox_clicked) - self.legacy_checkbox.clicked.connect(self.update_ui) - self.legacy_checkbox.setText(strings._("mode_settings_legacy_checkbox")) - if self.settings.get("general", "legacy"): - self.legacy_checkbox.setCheckState(QtCore.Qt.Checked) - else: - self.legacy_checkbox.setCheckState(QtCore.Qt.Unchecked) - - # Client auth + # Client auth (v3) self.client_auth_checkbox = QtWidgets.QCheckBox() self.client_auth_checkbox.clicked.connect(self.client_auth_checkbox_clicked) self.client_auth_checkbox.clicked.connect(self.update_ui) @@ -165,7 +155,6 @@ class ModeSettingsWidget(QtWidgets.QWidget): advanced_layout.addLayout(title_layout) advanced_layout.addLayout(autostart_timer_layout) advanced_layout.addLayout(autostop_timer_layout) - advanced_layout.addWidget(self.legacy_checkbox) advanced_layout.addWidget(self.client_auth_checkbox) self.advanced_widget = QtWidgets.QWidget() self.advanced_widget.setLayout(advanced_layout) @@ -192,28 +181,6 @@ class ModeSettingsWidget(QtWidgets.QWidget): strings._("mode_settings_advanced_toggle_show") ) - # Client auth is only a legacy option - if self.client_auth_checkbox.isChecked(): - self.legacy_checkbox.setChecked(True) - self.legacy_checkbox.setEnabled(False) - else: - self.legacy_checkbox.setEnabled(True) - if self.legacy_checkbox.isChecked(): - self.client_auth_checkbox.show() - else: - self.client_auth_checkbox.hide() - - # If the server has been started in the past, prevent changing legacy option - if self.settings.get("onion", "private_key"): - if self.legacy_checkbox.isChecked(): - # If using legacy, disable legacy and client auth options - self.legacy_checkbox.setEnabled(False) - self.client_auth_checkbox.setEnabled(False) - else: - # If using v3, hide legacy and client auth options - self.legacy_checkbox.hide() - self.client_auth_checkbox.hide() - def title_editing_finished(self): if self.title_lineedit.text().strip() == "": self.title_lineedit.setText("") @@ -275,9 +242,6 @@ class ModeSettingsWidget(QtWidgets.QWidget): else: self.autostop_timer_widget.hide() - def legacy_checkbox_clicked(self): - self.settings.set("general", "legacy", self.legacy_checkbox.isChecked()) - def client_auth_checkbox_clicked(self): self.settings.set( "general", "client_auth", self.client_auth_checkbox.isChecked() diff --git a/desktop/src/onionshare/tab/server_status.py b/desktop/src/onionshare/tab/server_status.py index 7ca1af09..cb9bfd92 100644 --- a/desktop/src/onionshare/tab/server_status.py +++ b/desktop/src/onionshare/tab/server_status.py @@ -38,7 +38,7 @@ class ServerStatus(QtWidgets.QWidget): server_canceled = QtCore.Signal() button_clicked = QtCore.Signal() url_copied = QtCore.Signal() - hidservauth_copied = QtCore.Signal() + client_auth_copied = QtCore.Signal() STATUS_STOPPED = 0 STATUS_WORKING = 1 @@ -95,8 +95,8 @@ class ServerStatus(QtWidgets.QWidget): self.common.gui.css["server_status_url_buttons"] ) self.copy_url_button.clicked.connect(self.copy_url) - self.copy_hidservauth_button = QtWidgets.QPushButton( - strings._("gui_copy_hidservauth") + self.copy_client_auth_button = QtWidgets.QPushButton( + strings._("gui_copy_client_auth") ) self.show_url_qr_code_button = QtWidgets.QPushButton( strings._("gui_show_url_qr_code") @@ -109,14 +109,14 @@ class ServerStatus(QtWidgets.QWidget): self.common.gui.css["server_status_url_buttons"] ) - self.copy_hidservauth_button.setStyleSheet( + self.copy_client_auth_button.setStyleSheet( self.common.gui.css["server_status_url_buttons"] ) - self.copy_hidservauth_button.clicked.connect(self.copy_hidservauth) + self.copy_client_auth_button.clicked.connect(self.copy_client_auth) url_buttons_layout = QtWidgets.QHBoxLayout() url_buttons_layout.addWidget(self.copy_url_button) url_buttons_layout.addWidget(self.show_url_qr_code_button) - url_buttons_layout.addWidget(self.copy_hidservauth_button) + url_buttons_layout.addWidget(self.copy_client_auth_button) url_buttons_layout.addStretch() url_layout = QtWidgets.QVBoxLayout() @@ -214,9 +214,9 @@ class ServerStatus(QtWidgets.QWidget): self.show_url_qr_code_button.show() if self.settings.get("general", "client_auth"): - self.copy_hidservauth_button.show() + self.copy_client_auth_button.show() else: - self.copy_hidservauth_button.hide() + self.copy_client_auth_button.hide() def update(self): """ @@ -246,7 +246,7 @@ class ServerStatus(QtWidgets.QWidget): self.url_description.hide() self.url.hide() self.copy_url_button.hide() - self.copy_hidservauth_button.hide() + self.copy_client_auth_button.hide() self.show_url_qr_code_button.hide() self.mode_settings_widget.update_ui() @@ -445,14 +445,14 @@ class ServerStatus(QtWidgets.QWidget): self.url_copied.emit() - def copy_hidservauth(self): + def copy_client_auth(self): """ - Copy the HidServAuth line to the clipboard. + Copy the ClientAuth private key line to the clipboard. """ clipboard = self.qtapp.clipboard() clipboard.setText(self.app.auth_string) - self.hidservauth_copied.emit() + self.client_auth_copied.emit() def get_url(self): """ diff --git a/desktop/src/onionshare/tab/tab.py b/desktop/src/onionshare/tab/tab.py index 09982de9..062bf6b7 100644 --- a/desktop/src/onionshare/tab/tab.py +++ b/desktop/src/onionshare/tab/tab.py @@ -275,7 +275,7 @@ class Tab(QtWidgets.QWidget): self.share_mode.start_server_finished.connect(self.clear_message) self.share_mode.server_status.button_clicked.connect(self.clear_message) self.share_mode.server_status.url_copied.connect(self.copy_url) - self.share_mode.server_status.hidservauth_copied.connect(self.copy_hidservauth) + self.share_mode.server_status.client_auth_copied.connect(self.copy_client_auth) self.change_title.emit(self.tab_id, strings._("gui_tab_name_share")) @@ -310,8 +310,8 @@ class Tab(QtWidgets.QWidget): self.receive_mode.start_server_finished.connect(self.clear_message) self.receive_mode.server_status.button_clicked.connect(self.clear_message) self.receive_mode.server_status.url_copied.connect(self.copy_url) - self.receive_mode.server_status.hidservauth_copied.connect( - self.copy_hidservauth + self.receive_mode.server_status.client_auth_copied.connect( + self.copy_client_auth ) self.change_title.emit(self.tab_id, strings._("gui_tab_name_receive")) @@ -347,8 +347,8 @@ class Tab(QtWidgets.QWidget): self.website_mode.start_server_finished.connect(self.clear_message) self.website_mode.server_status.button_clicked.connect(self.clear_message) self.website_mode.server_status.url_copied.connect(self.copy_url) - self.website_mode.server_status.hidservauth_copied.connect( - self.copy_hidservauth + self.website_mode.server_status.client_auth_copied.connect( + self.copy_client_auth ) self.change_title.emit(self.tab_id, strings._("gui_tab_name_website")) @@ -382,7 +382,7 @@ class Tab(QtWidgets.QWidget): self.chat_mode.start_server_finished.connect(self.clear_message) self.chat_mode.server_status.button_clicked.connect(self.clear_message) self.chat_mode.server_status.url_copied.connect(self.copy_url) - self.chat_mode.server_status.hidservauth_copied.connect(self.copy_hidservauth) + self.chat_mode.server_status.client_auth_copied.connect(self.copy_client_auth) self.change_title.emit(self.tab_id, strings._("gui_tab_name_chat")) @@ -597,14 +597,15 @@ class Tab(QtWidgets.QWidget): strings._("gui_copied_url_title"), strings._("gui_copied_url") ) - def copy_hidservauth(self): + def copy_client_auth(self): """ - When the stealth onion service HidServAuth gets copied to the clipboard, display this in the status bar. + When the onion service's ClientAuth private key gets copied to + the clipboard, display this in the status bar. """ - self.common.log("Tab", "copy_hidservauth") + self.common.log("Tab", "copy_client_auth") self.system_tray.showMessage( - strings._("gui_copied_hidservauth_title"), - strings._("gui_copied_hidservauth"), + strings._("gui_copied_client_auth_title"), + strings._("gui_copied_client_auth"), ) def clear_message(self): diff --git a/desktop/tests/gui_base_test.py b/desktop/tests/gui_base_test.py index 3a38ff8e..53a66363 100644 --- a/desktop/tests/gui_base_test.py +++ b/desktop/tests/gui_base_test.py @@ -384,7 +384,7 @@ class GuiBaseTest(unittest.TestCase): self.assertFalse(tab.get_mode().server_status.url.isVisible()) self.assertFalse(tab.get_mode().server_status.url_description.isVisible()) self.assertFalse( - tab.get_mode().server_status.copy_hidservauth_button.isVisible() + tab.get_mode().server_status.copy_client_auth_button.isVisible() ) def web_server_is_stopped(self, tab): @@ -465,6 +465,15 @@ class GuiBaseTest(unittest.TestCase): # We should have timed out now self.assertEqual(tab.get_mode().server_status.status, 0) + def clientauth_is_visible(self, tab): + """Test that the ClientAuth button is visible and that the clipboard contains its contents""" + self.assertTrue( + tab.get_mode().server_status.copy_client_auth_button.isVisible() + ) + tab.get_mode().server_status.copy_client_auth_button.click() + clipboard = tab.common.gui.qtapp.clipboard() + self.assertEqual(clipboard.text(), "E2GOT5LTUTP3OAMRCRXO4GSH6VKJEUOXZQUC336SRKAHTTT5OVSA") + # Grouped tests follow from here def run_all_common_setup_tests(self): diff --git a/desktop/tests/test_gui_share.py b/desktop/tests/test_gui_share.py index 380d63f6..e13519da 100644 --- a/desktop/tests/test_gui_share.py +++ b/desktop/tests/test_gui_share.py @@ -608,3 +608,20 @@ class TestShare(GuiBaseTest): self.hit_401(tab) self.close_all_tabs() + + def test_client_auth(self): + """ + Test the ClientAuth is received from the backend, + that the widget is visible in the UI and that the + clipboard contains the ClientAuth string + """ + tab = self.new_share_tab() + tab.get_mode().mode_settings_widget.toggle_advanced_button.click() + tab.get_mode().mode_settings_widget.client_auth_checkbox.click() + + self.run_all_common_setup_tests() + self.run_all_share_mode_setup_tests(tab) + self.run_all_share_mode_started_tests(tab) + self.clientauth_is_visible(tab) + + self.close_all_tabs() |