[tor-commits] [webwml/master] Bug 24720: Update donation options page for BTC and stock transfers
commit 2c4726a2da652e5fb29986aeae912e48c96db79f Author: Arthur EdelsteinDate: Fri Dec 22 18:10:34 2017 -0500 Bug 24720: Update donation options page for BTC and stock transfers --- donate/en/donate-options.wml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/donate/en/donate-options.wml b/donate/en/donate-options.wml index 5c18976c..42d4a706 100644 --- a/donate/en/donate-options.wml +++ b/donate/en/donate-options.wml @@ -31,7 +31,7 @@ form#makeDonation { Donate Bitcoin -To donate Bitcoin to The Tor Project, please complete the form below. If you would like an acknowledgment from the Tor Project, please provide your email address. +To donate Bitcoin to The Tor Project, please complete the form below. If you would like an acknowledgment from the Tor Project, please provide your email address. (Due to the current state of the Bitcoin market, our payment processor, Bitpay, will not allow us to accept donations of less than 100 USD. However, we can also accept donations, including smaller donations, through Bitcoin Cash. Send us a tip with https://twitter.com/tipperbot;>@tipprbot on Twitter!) https://bitpay.com/checkout; method="post" onsubmit="return bp.validateMobileCheckoutForm($('#makeDonation'));"> @@ -42,7 +42,7 @@ form#makeDonation { Amount: - + USD BTC @@ -176,7 +176,7 @@ form#makeDonation { E-mail: mailto:jeffrey.k.mil...@ml.com;>jeffrey.k.mil...@ml.com FAX: 206.388.4456 The Tor Project Account #: 335-03016 - DTC #: 5198 + DTC #: 8862 Tax ID #: 20-8096820 ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-greeter-2] Update translations for tails-greeter-2
commit dbc508b9659d7b418e14a6475a2a1d5bb4a06aff Author: Translation commit botDate: Sat Dec 23 02:20:32 2017 + Update translations for tails-greeter-2 --- en_GB/en_GB.po | 49 + 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po index 83c1d02d5..c23f5327e 100644 --- a/en_GB/en_GB.po +++ b/en_GB/en_GB.po @@ -60,15 +60,17 @@ msgid "" "This option makes Tails look like Microsoft Windows 10. This can be useful " "to avoid attracting suspicion in public places." msgstr "" +"This option makes Tails look like Microsoft Windows 10. This can be useful " +"to avoid attracting suspicion in public places." #. This string will never be displayed in the 1st version of the greeter. #: ../data/greeter.ui.h:12 msgid "Microsoft Windows 10 camouflage" -msgstr "" +msgstr "Microsoft Windows 10 camouflage" #: ../data/greeter.ui.h:13 msgid "MAC Address Spoofing" -msgstr "" +msgstr "MAC Address Spoofing" #: ../data/greeter.ui.h:14 msgid "" @@ -77,28 +79,34 @@ msgid "" " as it helps you hide your geographical location. But it might also create " "connectivity problems or look suspicious." msgstr "" +"MAC address spoofing hides the serial number of your network interface (Wi-" +"Fi or wired) to the local network. Spoofing MAC addresses is generally safer" +" as it helps you hide your geographical location. But it might also create " +"connectivity problems or look suspicious." #: ../data/greeter.ui.h:15 msgid "Spoof all MAC addresses (default)" -msgstr "" +msgstr "Spoof all MAC addresses (default)" #: ../data/greeter.ui.h:16 msgid "Don't spoof MAC addresses" -msgstr "" +msgstr "Don't spoof MAC addresses" #: ../data/greeter.ui.h:17 ../tailsgreeter/gui.py:532 msgid "Cannot unlock encrypted storage with this passphrase." -msgstr "" +msgstr "Cannot unlock encrypted storage with this passphrase." #: ../data/greeter.ui.h:18 msgid "" "You will configure the Tor bridge and local proxy later on after connecting " "to a network." msgstr "" +"You will configure the Tor bridge and local proxy later on after connecting " +"to a network." #: ../data/greeter.ui.h:19 msgid "Welcome to Tails!" -msgstr "" +msgstr "Welcome to Tails!" #. This string will never be displayed in the 1st version of the greeter. #: ../data/greeter.ui.h:21 @@ -106,10 +114,11 @@ msgctxt "" msgid "" "To get guided through Tails' settings, click on Take a Tour above" msgstr "" +"To get guided through Tails' settings, click on Take a Tour above" #: ../data/greeter.ui.h:22 msgid "Language & Region" -msgstr "" +msgstr "Language & Region" #: ../data/greeter.ui.h:23 msgid "Default Settings" @@ -121,48 +130,48 @@ msgstr "" #: ../data/greeter.ui.h:25 msgid "_Language" -msgstr "" +msgstr "_Language" #: ../data/greeter.ui.h:26 msgid "_Keyboard Layout" -msgstr "" +msgstr "_Keyboard Layout" #: ../data/greeter.ui.h:27 msgid "_Formats" -msgstr "" +msgstr "_Formats" #: ../data/greeter.ui.h:28 msgid "_Time Zone" -msgstr "" +msgstr "_Time Zone" #: ../data/greeter.ui.h:29 msgid "Encrypted _Persistent Storage" -msgstr "" +msgstr "Encrypted _Persistent Storage" #: ../data/greeter.ui.h:30 msgid "Show Passphrase" -msgstr "" +msgstr "Show Passphrase" #: ../data/greeter.ui.h:31 msgid "Configure Persistent Storage" -msgstr "" +msgstr "Configure Persistent Storage" #: ../data/greeter.ui.h:32 msgid "Enter your passphrase to unlock the persistent storage" -msgstr "" +msgstr "Enter your passphrase to unlock the persistent storage" #: ../data/greeter.ui.h:33 ../tailsgreeter/gui.py:478 #: ../tailsgreeter/gui.py:528 msgid "Unlock" -msgstr "" +msgstr "Unlock" #: ../data/greeter.ui.h:34 msgid "Relock Persistent Storage" -msgstr "" +msgstr "Relock Persistent Storage" #: ../data/greeter.ui.h:35 msgid "Your persistent storage is unlocked. Restart Tails to lock it again." -msgstr "" +msgstr "Your persistent storage is unlocked. Restart Tails to lock it again." #: ../data/greeter.ui.h:36 msgid "_Additional Settings" @@ -170,11 +179,11 @@ msgstr "" #: ../data/greeter.ui.h:37 msgid "Save Additional Settings" -msgstr "" +msgstr "Save Additional Settings" #: ../data/greeter.ui.h:38 msgid "Add an additional setting" -msgstr "" +msgstr "Add an additional setting" #: ../data/greeter.ui.h:39 msgid "Network Configuration" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-browser-manual] Update translations for tor-browser-manual
commit 20f90e619285326a199d60d7c399c76ceea6 Author: Translation commit botDate: Sat Dec 23 01:50:47 2017 + Update translations for tor-browser-manual --- en_GB/en_GB.po | 248 ++--- 1 file changed, 220 insertions(+), 28 deletions(-) diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po index e6cba9b08..6baf7c828 100644 --- a/en_GB/en_GB.po +++ b/en_GB/en_GB.po @@ -73,6 +73,9 @@ msgid "" " valid for a single session (until Tor Browser is exited or a New Identity is requested)." msgstr "" +"By default, Tor Browser does not keep any browsing history. Cookies are only" +" valid for a single session (until Tor Browser is exited or a New Identity is requested)." #: about-tor-browser.page:50 msgid "How Tor works" @@ -86,6 +89,11 @@ msgid "" " last relay in the circuit (the âexit relayâ) then sends the traffic out " "onto the public Internet." msgstr "" +"Tor is a network of virtual tunnels that allows you to improve your privacy " +"and security on the Internet. Tor works by sending your traffic through " +"three random servers (also known as relays) in the Tor network. The" +" last relay in the circuit (the âexit relayâ) then sends the traffic out " +"onto the public Internet." #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to @@ -97,6 +105,8 @@ msgid "" "external ref='media/how-tor-works.png' " "md5='6fe4151a88b7a518466f0582e40ccc8c'" msgstr "" +"external ref='media/how-tor-works.png' " +"md5='6fe4151a88b7a518466f0582e40ccc8c'" #: about-tor-browser.page:60 msgid "" @@ -105,14 +115,18 @@ msgid "" "three keys represent the layers of encryption between the user and each " "relay." msgstr "" +"The image above illustrates a user browsing to different websites over Tor. " +"The green middle computers represent relays in the Tor network, while the " +"three keys represent the layers of encryption between the user and each " +"relay." #: bridges.page:6 msgid "Learn what bridges are and how to get them" -msgstr "" +msgstr "Learn what bridges are and how to get them" #: bridges.page:10 msgid "Bridges" -msgstr "" +msgstr "Bridges" #: bridges.page:12 msgid "" @@ -123,6 +137,12 @@ msgid "" " in combination with pluggable transports helps to disguise the fact that " "you are using Tor." msgstr "" +"Most Pluggable Transports, such as obfs3 " +"and obfs4, rely on the use of âbridgeâ relays. Like ordinary Tor relays, " +"bridges are run by volunteers; unlike ordinary relays, however, they are not" +" listed publicly, so an adversary cannot identify them easily. Using bridges" +" in combination with pluggable transports helps to disguise the fact that " +"you are using Tor." #: bridges.page:21 msgid "" @@ -130,16 +150,21 @@ msgid "" "techniques that do not rely on bridges. You do not need to obtain bridge " "addresses in order to use these transports." msgstr "" +"Other pluggable transports, like meek, use different anti-censorship " +"techniques that do not rely on bridges. You do not need to obtain bridge " +"addresses in order to use these transports." #: bridges.page:28 msgid "Getting bridge addresses" -msgstr "" +msgstr "Getting bridge addresses" #: bridges.page:29 msgid "" "Because bridge addresses are not public, you will need to request them " "yourself. You have two options:" msgstr "" +"Because bridge addresses are not public, you will need to request them " +"yourself. You have two options:" #: bridges.page:36 msgid "" @@ -147,22 +172,29 @@ msgid "" "href=\"https://bridges.torproject.org/\;>https://bridges.torproject.org/" " and follow the instructions, or" msgstr "" +"Visit https://bridges.torproject.org/\;>https://bridges.torproject.org/" +" and follow the instructions, or" #: bridges.page:42 msgid "" "Email brid...@torproject.org from a Gmail, Yahoo, or Riseup email address, " "or" msgstr "" +"Email brid...@torproject.org from a Gmail, Yahoo, or Riseup email address, " +"or" #: bridges.page:51 msgid "Entering bridge addresses" -msgstr "" +msgstr "Entering bridge addresses" #: bridges.page:52 msgid "" "Once you have obtained some bridge addresses, you will need to enter them " "into Tor Launcher." msgstr "" +"Once you have obtained some bridge addresses, you will need to enter them " +"into Tor Launcher." #: bridges.page:57 msgid "" @@ -170,6 +202,9 @@ msgid "" " to the Tor network. Select âUse custom bridgesâ and enter each bridge " "address on a separate line." msgstr "" +"Choose âyesâ when asked if your Internet Service Provider blocks connections" +" to the Tor network. Select âUse custom bridgesâ and enter each bridge " +"address on a separate line." #. This is a reference to an external file such as an image or video. When #. the file changes, the md5 hash will change to let you know you need to @@ -181,6
[tor-commits] [translation/torbutton-abouttorproperties_completed] Update translations for torbutton-abouttorproperties_completed
commit 967723c08be942809008011feff911efb02637ae Author: Translation commit botDate: Sat Dec 23 01:48:46 2017 + Update translations for torbutton-abouttorproperties_completed --- en_GB/abouttor.properties | 11 +++ 1 file changed, 11 insertions(+) diff --git a/en_GB/abouttor.properties b/en_GB/abouttor.properties index f9723bf25..d0d3a64b8 100644 --- a/en_GB/abouttor.properties +++ b/en_GB/abouttor.properties @@ -7,3 +7,14 @@ aboutTor.searchDDG.privacy=Search securely with https://duckduckgo.com/privacy.html # The following string is a link which replaces %2$S above. aboutTor.searchDDG.search.link=https://duckduckgo.com/ + +aboutTor.donationBanner.donate=Donate Now! + +aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance +aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift! + +aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006 +aboutTor.donationBanner.tagline2=Networking Freedom Worldwide +aboutTor.donationBanner.tagline3=Freedom Online +aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide +aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-launcher-network-settings_completed] Update translations for tor-launcher-network-settings_completed
commit a38827638daba879f309f7ef77d787715b9135b9 Author: Translation commit botDate: Sat Dec 23 01:47:05 2017 + Update translations for tor-launcher-network-settings_completed --- en_GB/network-settings.dtd | 61 +- 1 file changed, 22 insertions(+), 39 deletions(-) diff --git a/en_GB/network-settings.dtd b/en_GB/network-settings.dtd index 0d2e9dc6c..85645d7b9 100644 --- a/en_GB/network-settings.dtd +++ b/en_GB/network-settings.dtd @@ -1,4 +1,7 @@ + + + @@ -6,31 +9,11 @@ - - - - - - - - + + - - - - - - - - - - - - - - @@ -42,8 +25,9 @@ - + + @@ -54,22 +38,21 @@ - - - - - - - + + + + + + + + + + - - - -https://bridges.torproject.org;> - - -https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com;> - - + + + + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/liveusb-creator] Update translations for liveusb-creator
commit 286c0e117771a08eeda20c5d6fc5efa25f7ca1f9 Author: Translation commit botDate: Sat Dec 23 01:45:54 2017 + Update translations for liveusb-creator --- en_GB/en_GB.po | 80 +- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po index c67234176..5063822fd 100644 --- a/en_GB/en_GB.po +++ b/en_GB/en_GB.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andi Chandler , 2014-2015 +# Andi Chandler , 2014-2015,2017 # Bruce Cowan , 2010 # Foorack, 2015 # Isabell Long , 2015 @@ -15,8 +15,8 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-11-10 15:57+0100\n" -"PO-Revision-Date: 2017-11-11 03:09+\n" -"Last-Translator: carolyn \n" +"PO-Revision-Date: 2017-12-23 01:41+\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -131,7 +131,7 @@ msgstr "Unsupported filesystem: %s" #: ../tails_installer/creator.py:782 #, python-format msgid "Unknown GLib exception while trying to mount device: %(message)s" -msgstr "" +msgstr "Unknown GLib exception while trying to mount device: %(message)s" #: ../tails_installer/creator.py:786 #, python-format @@ -192,7 +192,7 @@ msgstr "Installing bootloader..." #: ../tails_installer/creator.py:1026 #, python-format msgid "Could not find the '%s' COM32 module" -msgstr "" +msgstr "Could not find the '%s' COM32 module" #: ../tails_installer/creator.py:1034 ../tails_installer/creator.py:1415 #, python-format @@ -215,17 +215,17 @@ msgstr "Formatting %(device)s as FAT32" #: ../tails_installer/creator.py:1249 msgid "Could not find syslinux' gptmbr.bin" -msgstr "" +msgstr "Could not find syslinux' gptmbr.bin" #: ../tails_installer/creator.py:1262 #, python-format msgid "Reading extracted MBR from %s" -msgstr "" +msgstr "Reading extracted MBR from %s" #: ../tails_installer/creator.py:1266 #, python-format msgid "Could not read the extracted MBR from %(path)s" -msgstr "" +msgstr "Could not read the extracted MBR from %(path)s" #: ../tails_installer/creator.py:1279 ../tails_installer/creator.py:1280 #, python-format @@ -278,7 +278,7 @@ msgstr "Cannot find" msgid "" "Make sure to extract the entire tails-installer zip file before running this" " program." -msgstr "" +msgstr "Make sure to extract the entire tails-installer zip file before running this program." #: ../tails_installer/gui.py:69 #, python-format @@ -303,7 +303,7 @@ msgstr "Installation complete! (%s)" #: ../tails_installer/gui.py:263 msgid "Tails installation failed!" -msgstr "" +msgstr "Tails installation failed!" #: ../tails_installer/gui.py:363 msgid "" @@ -314,37 +314,37 @@ msgstr "Warning: This tool needs to be run as an Administrator. To do this, righ #: ../tails_installer/gui.py:375 msgid "Tails Installer" -msgstr "" +msgstr "Tails Installer" #: ../tails_installer/gui.py:456 msgid "Upgrade" -msgstr "" +msgstr "Upgrade" #: ../tails_installer/gui.py:462 ../data/tails-installer.ui.h:7 msgid "Install" -msgstr "" +msgstr "Install" #: ../tails_installer/gui.py:469 #, python-format msgid "%(size)s %(vendor)s %(model)s device (%(device)s)" -msgstr "" +msgstr "%(size)s %(vendor)s %(model)s device (%(device)s)" #: ../tails_installer/gui.py:481 msgid "No ISO image selected" -msgstr "" +msgstr "No ISO image selected" #: ../tails_installer/gui.py:482 msgid "Please select a Tails ISO image." -msgstr "" +msgstr "Please select a Tails ISO image." #: ../tails_installer/gui.py:521 msgid "No device suitable to install Tails could be found" -msgstr "" +msgstr "No device suitable to install Tails could be found" #: ../tails_installer/gui.py:523 #, python-format msgid "Please plug a USB flash drive or SD card of at least %0.1f GB." -msgstr "" +msgstr "Please plug a USB flash drive or SD card of at least %0.1f GB." #: ../tails_installer/gui.py:557 #, python-format @@ -352,7 +352,7 @@ msgid "" "The USB stick \"%(pretty_name)s\" is configured as non-removable by its " "manufacturer and Tails will fail to start on it. Please try installing on a " "different model." -msgstr "" +msgstr "The USB stick \"%(pretty_name)s\" is configured as non-removable by its manufacturer and Tails will fail to start on it. Please try installing on a different model." #: ../tails_installer/gui.py:567 #, python-format @@ -363,7 +363,7 @@ msgstr "The device \"%(pretty_name)s\" is too small to install Tails (at least % #: ../tails_installer/gui.py:589 msgid "An error happened while installing Tails" -msgstr "" +msgstr "An error
[tor-commits] [translation/liveusb-creator_completed] Update translations for liveusb-creator_completed
commit 076216c2db240a1101e26c7506ebd2f7e295dfb9 Author: Translation commit botDate: Sat Dec 23 01:46:01 2017 + Update translations for liveusb-creator_completed --- en_GB/en_GB.po | 797 + 1 file changed, 347 insertions(+), 450 deletions(-) diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po index 11f4f3450..5063822fd 100644 --- a/en_GB/en_GB.po +++ b/en_GB/en_GB.po @@ -3,9 +3,9 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andi Chandler , 2014-2015 +# Andi Chandler , 2014-2015,2017 # Bruce Cowan , 2010 -# Foorack , 2015 +# Foorack, 2015 # Isabell Long , 2015 # eire123 , 2013 # Richard Shaylor , 2014 @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-02 21:23+0100\n" -"PO-Revision-Date: 2016-03-21 16:31+\n" +"POT-Creation-Date: 2017-11-10 15:57+0100\n" +"PO-Revision-Date: 2017-12-23 01:41+\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" @@ -24,591 +24,488 @@ msgstr "" "Language: en_GB\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../liveusb/gui.py:451 -msgid "\"Clone & Install\"" -msgstr "\"Clone & Install\"" +#: ../tails_installer/creator.py:101 +msgid "You must run this application as root" +msgstr "You must run this application as root" -#: ../liveusb/gui.py:453 -msgid "\"Install from ISO\"" -msgstr "\"Install from ISO\"" +#: ../tails_installer/creator.py:147 +msgid "Extracting live image to the target device..." +msgstr "Extracting live image to the target device..." -#: ../liveusb/dialog.py:157 ../liveusb/launcher_ui.py:153 +#: ../tails_installer/creator.py:154 #, python-format -msgid "%(distribution)s Installer" -msgstr "%(distribution)s Installer" +msgid "Wrote to device at %(speed)d MB/sec" +msgstr "Wrote to device at %(speed)d MB/sec" -#: ../liveusb/gui.py:804 -#, python-format -msgid "%(filename)s selected" -msgstr "%(filename)s selected" +#: ../tails_installer/creator.py:184 +msgid "Setting up OLPC boot file..." +msgstr "Setting up OLPC boot file..." -#: ../liveusb/gui.py:424 +#: ../tails_installer/creator.py:315 #, python-format -msgid "%(size)s %(label)s" -msgstr "%(size)s %(label)s" +msgid "" +"There was a problem executing the following command: `%(command)s`.\n" +"A more detailed error log has been written to '%(filename)s'." +msgstr "There was a problem executing the following command: `%(command)s`.\nA more detailed error log has been written to '%(filename)s'." -#: ../liveusb/gui.py:430 -#, python-format -msgid "%(vendor)s %(model)s (%(details)s) - %(device)s" -msgstr "%(vendor)s %(model)s (%(details)s) - %(device)s" +#: ../tails_installer/creator.py:334 +msgid "Verifying SHA1 checksum of LiveCD image..." +msgstr "Verifying SHA1 checksum of LiveCD image..." -#: ../liveusb/creator.py:1097 -#, python-format -msgid "%s already bootable" -msgstr "%s already bootable" +#: ../tails_installer/creator.py:338 +msgid "Verifying SHA256 checksum of LiveCD image..." +msgstr "Verifying SHA256 checksum of LiveCD image..." -#: ../liveusb/launcher_ui.py:160 +#: ../tails_installer/creator.py:354 msgid "" -"http://www.w3.org/TR/REC-html40/strict.dtd\;>\n" -"\n" -"p, li { white-space: pre-wrap; }\n" -"\n" -"Need help? Read the documentation." -msgstr "http://www.w3.org/TR/REC-html40/strict.dtd\;>\n\np, li { white-space: pre-wrap; }\n\nNeed help? Read the documentation." - -#: ../liveusb/launcher_ui.py:155 -msgid "" -"\n" -"Install Tails on another USB stick by copying the Tails system that you are currently using..\n" -"\n" -"The USB stick that you install on is formatted and all data is lost.\n" -"\n" -"The encrypted persistent storage of the Tails USB stick that you are currently using is not copied.\n" -"\n" -"" -msgstr "\nInstall Tails on another USB stick by copying the Tails system that you are currently using..\n\nThe USB stick that you install on is formatted and all data is lost.\n\nThe encrypted persistent storage of the Tails USB stick that you are currently using is not copied.\n\n" +"Error: The SHA1 of your Live CD is invalid. You can run this program with " +"the --noverify argument to bypass this verification check." +msgstr "Error: The SHA1 of your Live CD is invalid. You can run this program with the --noverify argument to bypass this verification check." -#: ../liveusb/launcher_ui.py:157 -msgid "" -"\n" -"Upgrade another Tails USB stick to the same version of Tails that you are currently using.\n" -"\n" -"The encrypted persistent storage of the Tails USB stick that you upgrade is preserved.\n" -"\n" -"The encrypted persistent
[tor-commits] [stem/master] Fix exit port counts
commit db311d101d9c07e081bafcb756c868f7e0b3cbf4 Author: Damian JohnsonDate: Fri Dec 22 14:07:21 2017 -0800 Fix exit port counts Grrr, I made a mistake similar to this earlier. Caught thanks to toralf. --- docs/_static/example/relay_connections.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_static/example/relay_connections.py b/docs/_static/example/relay_connections.py index 42c22fa5..5b80caf8 100755 --- a/docs/_static/example/relay_connections.py +++ b/docs/_static/example/relay_connections.py @@ -110,7 +110,7 @@ def main(): total_ipv4, total_ipv6 = 0, 0 for port in sorted(exit_connections): - ipv4_count = len([conn for conn in connections if is_valid_ipv4_address(conn.remote_address)]) + ipv4_count = len([conn for conn in exit_connections if is_valid_ipv4_address(conn.remote_address)]) ipv6_count = len(exit_connections) - ipv4_count total_ipv4, total_ipv6 = total_ipv4 + ipv4_count, total_ipv6 + ipv6_count ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [stem/master] Add demo for getting a relay conneciton summary
commit 843facd89a35658a750dddfba86d0dfcddd6fe69 Author: Damian JohnsonDate: Fri Dec 22 12:21:35 2017 -0800 Add demo for getting a relay conneciton summary Revising a neat stem script by toralf that provides a summary of your relay's connections. --- docs/_static/example/load_test.py | 25 + docs/_static/example/relay_connections.py | 129 ++ docs/change_log.rst | 6 + docs/contents.rst | 1 + docs/tutorials/double_double_toil_and_trouble.rst | 8 ++ docs/tutorials/examples/relay_connections.rst | 48 6 files changed, 217 insertions(+) diff --git a/docs/_static/example/load_test.py b/docs/_static/example/load_test.py new file mode 100644 index ..e98e4c00 --- /dev/null +++ b/docs/_static/example/load_test.py @@ -0,0 +1,25 @@ +import os +import time + +import stem.control +import stem.util.proc +import stem.util.str_tools + +start_time = time.time() +samplings = [] +last_sample = None + +with stem.control.Controller.from_port() as controller: + controller.authenticate() + controller.add_event_listener(lambda *args: None, 'DEBUG') + + while True: +utime, stime = stem.util.proc.stats(os.getpid(), stem.util.proc.Stat.CPU_UTIME, stem.util.proc.Stat.CPU_STIME) +total_cpu_time = float(utime) + float(stime) + +if last_sample: + samplings.append(total_cpu_time - last_sample) + print '%0.1f%% (%s)' % (sum(samplings) / len(samplings) * 100, stem.util.str_tools.time_label(time.time() - start_time)) + +last_sample = total_cpu_time +time.sleep(1) diff --git a/docs/_static/example/relay_connections.py b/docs/_static/example/relay_connections.py new file mode 100755 index ..42c22fa5 --- /dev/null +++ b/docs/_static/example/relay_connections.py @@ -0,0 +1,129 @@ +import argparse +import collections +import time + +import stem.connection +import stem.util.system +import stem.util.str_tools + +from stem.control import Listener +from stem.util.connection import get_connections, port_usage, is_valid_ipv4_address + +HEADER_LINE = " {version} uptime: {uptime} flags: {flags}\n" + +DIV = '+%s+%s+%s+' % ('-' * 30, '-' * 6, '-' * 6) +COLUMN = '| %-28s | %4s | %4s |' + +INBOUND_ORPORT = 'Inbound to our ORPort' +INBOUND_DIRPORT = 'Inbound to our DirPort' +INBOUND_CONTROLPORT = 'Inbound to our ControlPort' + +OUTBOUND_ORPORT = 'Outbound to a relay' +OUTBOUND_EXIT = 'Outbound exit traffic' +OUTBOUND_UNKNOWN = 'Outbound uncategorized' + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("--ctrlport", help="default: 9051 or 9151") + parser.add_argument("--resolver", help="default: autodetected") + args = parser.parse_args() + + control_port = int(args.ctrlport) if args.ctrlport else 'default' + controller = stem.connection.connect(control_port = ('127.0.0.1', control_port)) + + if not controller: +return + + desc = controller.get_network_status(default = None) + pid = controller.get_pid() + + print(HEADER_LINE.format( +version = str(controller.get_version()).split()[0], +uptime = stem.util.str_tools.short_time_label(time.time() - stem.util.system.start_time(pid)), +flags = ', '.join(desc.flags if desc else ['none']), + )) + + policy = controller.get_exit_policy() + relays = {} # address => [orports...] + + for desc in controller.get_network_statuses(): +relays.setdefault(desc.address, []).append(desc.or_port) + + # categorize our connections + + connections = collections.OrderedDict(( +(INBOUND_ORPORT, []), +(INBOUND_DIRPORT, []), +(INBOUND_CONTROLPORT, []), +(OUTBOUND_ORPORT, []), +(OUTBOUND_EXIT, []), +(OUTBOUND_UNKNOWN, []), + )) + + exit_connections = {} # port => [connections] + + for conn in get_connections(resolver = args.resolver, process_pid = pid): +if conn.protocol == 'udp': +continue + +if conn.local_port in controller.get_ports(Listener.OR, []): + connections[INBOUND_ORPORT].append(conn) +elif conn.local_port in controller.get_ports(Listener.DIR, []): + connections[INBOUND_DIRPORT].append(conn) +elif conn.local_port in controller.get_ports(Listener.CONTROL, []): + connections[INBOUND_CONTROLPORT].append(conn) +elif conn.remote_port in relays.get(conn.remote_address, []): + connections[OUTBOUND_ORPORT].append(conn) +elif policy.can_exit_to(conn.remote_address, conn.remote_port): + connections[OUTBOUND_EXIT].append(conn) + exit_connections.setdefault(conn.remote_port, []).append(conn) +else: + connections[OUTBOUND_UNKNOWN].append(conn) + + print(DIV) + print(COLUMN % ('Type', 'IPv4', 'IPv6')) + print(DIV) + + total_ipv4, total_ipv6 = 0, 0 + + for label, connections in connections.items(): +if len(connections) == 0: + continue + +ipv4_count = len([conn for conn in connections if
[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd
commit 9636537ce92eba41e4206dc3357495ebba9f729a Author: Translation commit botDate: Fri Dec 22 19:47:47 2017 + Update translations for torbutton-torbuttondtd --- sv/torbutton.dtd | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sv/torbutton.dtd b/sv/torbutton.dtd index 79368236a..adebeee3c 100644 --- a/sv/torbutton.dtd +++ b/sv/torbutton.dtd @@ -35,13 +35,13 @@ - + - + - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-misc_completed] Update translations for tails-misc_completed
commit fe8d5ac41767799a185021fa1d83d289018b25df Author: Translation commit botDate: Fri Dec 22 19:47:09 2017 + Update translations for tails-misc_completed --- sv.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sv.po b/sv.po index 11a91be17..13603c89b 100644 --- a/sv.po +++ b/sv.po @@ -23,7 +23,7 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-13 20:10+0200\n" -"PO-Revision-Date: 2017-12-20 09:29+\n" +"PO-Revision-Date: 2017-12-22 19:42+\n" "Last-Translator: Jonatan Nyberg\n" "Language-Team: Swedish (http://www.transifex.com/otf/torproject/language/sv/)\n" "MIME-Version: 1.0\n" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-misc] Update translations for tails-misc
commit e55a562b6e35ac7e82a9fe4756862e51f4e79897 Author: Translation commit botDate: Fri Dec 22 19:47:03 2017 + Update translations for tails-misc --- sv.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sv.po b/sv.po index 11a91be17..13603c89b 100644 --- a/sv.po +++ b/sv.po @@ -23,7 +23,7 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-13 20:10+0200\n" -"PO-Revision-Date: 2017-12-20 09:29+\n" +"PO-Revision-Date: 2017-12-22 19:42+\n" "Last-Translator: Jonatan Nyberg\n" "Language-Team: Swedish (http://www.transifex.com/otf/torproject/language/sv/)\n" "MIME-Version: 1.0\n" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Add pgTAB extension and license information.
commit b9f63b6bb8d96abf984e90afe3a24c696dde0c05 Author: iwakehDate: Wed Dec 20 13:06:57 2017 + Add pgTAB extension and license information. --- src/test/sql/userstats/test-userstats.sql | 7 +++ 1 file changed, 7 insertions(+) diff --git a/src/test/sql/userstats/test-userstats.sql b/src/test/sql/userstats/test-userstats.sql index 66f8b82..a08cc7d 100644 --- a/src/test/sql/userstats/test-userstats.sql +++ b/src/test/sql/userstats/test-userstats.sql @@ -1,3 +1,10 @@ +-- Copyright 2013--2017 The Tor Project +-- See LICENSE for licensing information + +-- Hint: You'll need pgTAP in order to run these tests! + +CREATE EXTENSION IF NOT EXISTS pgtap; + BEGIN; SET search_path TO tap, public; SELECT plan(152); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Make old tests run (still failing).
commit 2207847531c80e35d8e126617813e999aee143c0 Author: iwakehDate: Wed Dec 20 13:06:58 2017 + Make old tests run (still failing). This test still needs to be adapted to not fail, cf. TODOs. Changed some types to lowercase, pgTAP seems to also test case on types. --- src/test/sql/userstats/test-userstats.sql | 198 +++--- 1 file changed, 99 insertions(+), 99 deletions(-) diff --git a/src/test/sql/userstats/test-userstats.sql b/src/test/sql/userstats/test-userstats.sql index a08cc7d..299f4ab 100644 --- a/src/test/sql/userstats/test-userstats.sql +++ b/src/test/sql/userstats/test-userstats.sql @@ -20,7 +20,7 @@ SELECT enum_has_labels('metric', ARRAY['responses', 'bytes', 'status']); -- it. SELECT has_table('imported'); SELECT has_column('imported', 'fingerprint'); -SELECT col_type_is('imported', 'fingerprint', 'CHARACTER(40)'); +SELECT col_type_is('imported', 'fingerprint', 'character(40)'); SELECT col_not_null('imported', 'fingerprint'); SELECT has_column('imported', 'node'); SELECT col_type_is('imported', 'node', 'node'); @@ -29,24 +29,24 @@ SELECT has_column('imported', 'metric'); SELECT col_type_is('imported', 'metric', 'metric'); SELECT col_not_null('imported', 'metric'); SELECT has_column('imported', 'country'); -SELECT col_type_is('imported', 'country', 'CHARACTER VARYING(2)'); +SELECT col_type_is('imported', 'country', 'character varying(2)'); SELECT col_not_null('imported', 'country'); SELECT has_column('imported', 'transport'); -SELECT col_type_is('imported', 'transport', 'CHARACTER VARYING(20)'); +SELECT col_type_is('imported', 'transport', 'character varying(20)'); SELECT col_not_null('imported', 'transport'); SELECT has_column('imported', 'version'); -SELECT col_type_is('imported', 'version', 'CHARACTER VARYING(2)'); +SELECT col_type_is('imported', 'version', 'character varying(2)'); SELECT col_not_null('imported', 'version'); SELECT has_column('imported', 'stats_start'); SELECT col_type_is('imported', 'stats_start', - 'TIMESTAMP WITHOUT TIME ZONE'); + 'timestamp without time zone'); SELECT col_not_null('imported', 'stats_start'); SELECT has_column('imported', 'stats_end'); SELECT col_type_is('imported', 'stats_end', - 'TIMESTAMP WITHOUT TIME ZONE'); + 'timestamp without time zone'); SELECT col_not_null('imported', 'stats_end'); SELECT has_column('imported', 'val'); -SELECT col_type_is('imported', 'val', 'DOUBLE PRECISION'); +SELECT col_type_is('imported', 'val', 'double precision'); SELECT col_not_null('imported', 'val'); SELECT hasnt_pk('imported'); @@ -54,10 +54,10 @@ SELECT hasnt_pk('imported'); -- expects it. SELECT has_table('merged'); SELECT has_column('merged', 'id'); -SELECT col_type_is('merged', 'id', 'INTEGER'); +SELECT col_type_is('merged', 'id', 'integer'); SELECT col_is_pk('merged', 'id'); SELECT has_column('merged', 'fingerprint'); -SELECT col_type_is('merged', 'fingerprint', 'CHARACTER(40)'); +SELECT col_type_is('merged', 'fingerprint', 'character(40)'); SELECT col_not_null('merged', 'fingerprint'); SELECT has_column('merged', 'node'); SELECT col_type_is('merged', 'node', 'node'); @@ -66,73 +66,73 @@ SELECT has_column('merged', 'metric'); SELECT col_type_is('merged', 'metric', 'metric'); SELECT col_not_null('merged', 'metric'); SELECT has_column('merged', 'country'); -SELECT col_type_is('merged', 'country', 'CHARACTER VARYING(2)'); +SELECT col_type_is('merged', 'country', 'character varying(2)'); SELECT col_not_null('merged', 'country'); SELECT has_column('merged', 'transport'); -SELECT col_type_is('merged', 'transport', 'CHARACTER VARYING(20)'); +SELECT col_type_is('merged', 'transport', 'character varying(20)'); SELECT col_not_null('merged', 'transport'); SELECT has_column('merged', 'version'); -SELECT col_type_is('merged', 'version', 'CHARACTER VARYING(2)'); +SELECT col_type_is('merged', 'version', 'character varying(2)'); SELECT col_not_null('merged', 'version'); SELECT has_column('merged', 'stats_start'); SELECT col_type_is('merged', 'stats_start', - 'TIMESTAMP WITHOUT TIME ZONE'); + 'timestamp without time zone'); SELECT col_not_null('merged', 'stats_start'); SELECT has_column('merged', 'stats_end'); SELECT col_type_is('merged', 'stats_end', - 'TIMESTAMP WITHOUT TIME ZONE'); + 'timestamp without time zone'); SELECT col_not_null('merged', 'stats_end'); SELECT has_column('merged', 'val'); -SELECT col_type_is('merged', 'val', 'DOUBLE PRECISION'); +SELECT col_type_is('merged', 'val', 'double precision'); SELECT col_not_null('merged', 'val'); -- Make sure that the internally-used aggregated table is exactly as -- aggregate() expects it. SELECT has_table('aggregated'); SELECT has_column('aggregated', 'date'); -SELECT col_type_is('aggregated', 'date', 'DATE'); +SELECT col_type_is('aggregated', 'date', 'date'); SELECT col_not_null('aggregated', 'date'); SELECT has_column('aggregated', 'node'); SELECT col_type_is('aggregated', 'node',
[tor-commits] [metrics-web/master] Move test script to correct location.
commit 9ed1c31b1230a988e398d4014b7bb97a24cfd9b6 Author: iwakehDate: Wed Dec 20 13:06:56 2017 + Move test script to correct location. --- src/{main/sql/clients => test/sql/userstats}/test-userstats.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/sql/clients/test-userstats.sql b/src/test/sql/userstats/test-userstats.sql similarity index 100% rename from src/main/sql/clients/test-userstats.sql rename to src/test/sql/userstats/test-userstats.sql ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Added task(s) for running pgTAP tests.
commit d9b8b8f998068721e058627c350d2865e5ba42cd Author: iwakehDate: Wed Dec 20 13:06:59 2017 + Added task(s) for running pgTAP tests. --- build.xml | 40 1 file changed, 40 insertions(+) diff --git a/build.xml b/build.xml index 8e85956..be9db64 100644 --- a/build.xml +++ b/build.xml @@ -91,6 +91,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Make ipv6servers.csv available, too.
commit 184fb88ce01444b2fc6de8d74c0821ffbeb6cc7c Author: Karsten LoesingDate: Fri Dec 22 20:16:51 2017 +0100 Make ipv6servers.csv available, too. --- build.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/build.xml b/build.xml index c884cc6..8e85956 100644 --- a/build.xml +++ b/build.xml @@ -385,6 +385,7 @@ + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Add a specification for stats/servers-ipv6.csv.
commit 10dc76c611835a7d42eb6105c0698039317b29a9 Author: Karsten LoesingDate: Thu Dec 7 09:21:40 2017 +0100 Add a specification for stats/servers-ipv6.csv. Implements #24218. --- .../metrics/web/research/ResearchStatsServlet.java | 1 + src/main/resources/web/jsps/stats.jsp | 68 ++ 2 files changed, 69 insertions(+) diff --git a/src/main/java/org/torproject/metrics/web/research/ResearchStatsServlet.java b/src/main/java/org/torproject/metrics/web/research/ResearchStatsServlet.java index 4d657c9..ab4b954 100644 --- a/src/main/java/org/torproject/metrics/web/research/ResearchStatsServlet.java +++ b/src/main/java/org/torproject/metrics/web/research/ResearchStatsServlet.java @@ -31,6 +31,7 @@ public class ResearchStatsServlet extends HttpServlet { this.statsDir = new File(config.getInitParameter("statsDir")); this.availableStatisticsFiles = new TreeSet<>(); this.availableStatisticsFiles.add("servers"); +this.availableStatisticsFiles.add("ipv6servers"); this.availableStatisticsFiles.add("bandwidth"); this.availableStatisticsFiles.add("clients"); this.availableStatisticsFiles.add("userstats-combined"); diff --git a/src/main/resources/web/jsps/stats.jsp b/src/main/resources/web/jsps/stats.jsp index 629130d..233b3d5 100644 --- a/src/main/resources/web/jsps/stats.jsp +++ b/src/main/resources/web/jsps/stats.jsp @@ -140,6 +140,74 @@ relays when serving directory data. +Relays and bridges supporting IPv6 # + +The following data file contains statistics on relays and bridges supporting IPv6. +A relay can support IPv6 by announcing an IPv6 address and port for the OR protocol, which may then be confirmed as reachable by the directory authorities. +It can further permit exiting to IPv6 targets. +A bridge can support IPv6 by announcing an IPv6 address and port for the OR protocol. +The bridge authority may test +reachability of IPv6 OR addresses similar to directory authorities, however it +does not explicitly list reachable IPv6 OR addresses of bridges. +Some of the statistics are available for subsets of relays that got the "Guard" and/or "Exit" relay flags. +The data file contains daily (mean) averages of relay or server numbers and advertised bandwidth numbers. + +Download as CSV file. + +The statistics file contains the following columns: + + +valid_after_date: UTC date (-MM-DD) when relays or bridges have +been listed as running. + +server: Server type, which can be either "relay" or +"bridge". + +guard_relay: Whether relays included in this line have the +"Guard" relay flag ("t") or not ("f"). +If this column contains the empty string, all running relays are included, +regardless of assigned relay flags. +Always the empty string for bridges. + +exit_relay: Whether relays included in this line have the +"Exit" relay flag ("t") or not ("f"). +If this column contains the empty string, all running relays are included, +regardless of assigned relay flags. +Always the empty string for bridges. + +announced_ipv6: Whether relays or bridges have announced an IPv6 +address in their server descriptor ("t") or not ("f"). +If this column contains the empty string, all running relays or bridges are +included, regardless of whether they have announced an IPv6 address. + +exiting_ipv6_relay: Whether relays have announced an IPv6 exit policy +other than "reject 1-65535" in their server descriptor ("t") or +not ("f"). +If this column contains the empty string, all running relays are included, +regardless of IPv6 exit policy. +Always the empty string for bridges. + +reachable_ipv6_relay: Whether enough directory authorities have +confirmed reachability of an IPv6 OR address announced by a relay, by including +an "a" line in the consensus ("t") or not ("f"). +If this column contains the empty string, all running relays are included, +regardless of whether their IPv6 address was found reachable. +Always the empty string for bridges. + +server_count_sum_avg: Number of relays or bridges matching the +criteria in the previous columns, computed as the mean value over all statuses +published on the given date. + +advertised_bandwidth_bytes_sum_avg: Total advertised bandwidth of all +relays matching the previous criteria, computed as the mean value over all +statuses published on the given date. +Always the empty string for bridges. + + + + + + Advertised bandwidth distribution and n-th fastest relays # The following data file contains statistics on the distribution of https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Avoid trouble with path separators and repetitive code.
commit e01f041554c68197b7429e123c3149dcf1f4029c Author: iwakehDate: Wed Dec 20 13:06:51 2017 + Avoid trouble with path separators and repetitive code. --- .../torproject/metrics/stats/ipv6servers/Main.java | 30 ++ 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java index 508d73e..28c1d24 100644 --- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java +++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java @@ -16,6 +16,7 @@ import org.slf4j.LoggerFactory; import java.io.File; import java.nio.file.Paths; import java.sql.SQLException; +import java.util.Arrays; /** Main class of the ipv6servers module that imports relevant parts from server * descriptors and network statuses into a database, and exports aggregate @@ -24,6 +25,16 @@ public class Main { private static Logger log = LoggerFactory.getLogger(Main.class); + private static String[][] paths = { +{"recent", "relay-descriptors", "consensuses"}, +{"recent", "relay-descriptors", "server-descriptors"}, +{"recent", "bridge-descriptors", "statuses"}, +{"recent", "bridge-descriptors", "server-descriptors"}, +{"archive", "relay-descriptors", "consensuses"}, +{"archive", "relay-descriptors", "server-descriptors"}, +{"archive", "bridge-descriptors", "statuses"}, +{"archive", "bridge-descriptors", "server-descriptors"}}; + /** Run the module. */ public static void main(String[] args) throws Exception { @@ -38,22 +49,9 @@ public class Main { try (Database database = new Database(Configuration.database)) { try { for (Descriptor descriptor : reader.readDescriptors( -new File(Configuration.descriptors -+ "recent/relay-descriptors/consensuses"), -new File(Configuration.descriptors -+ "recent/relay-descriptors/server-descriptors"), -new File(Configuration.descriptors -+ "recent/bridge-descriptors/statuses"), -new File(Configuration.descriptors -+ "recent/bridge-descriptors/server-descriptors"), -new File(Configuration.descriptors -+ "archive/relay-descriptors/consensuses"), -new File(Configuration.descriptors -+ "archive/relay-descriptors/server-descriptors"), -new File(Configuration.descriptors -+ "archive/bridge-descriptors/statuses"), -new File(Configuration.descriptors -+ "archive/bridge-descriptors/server-descriptors"))) { +Arrays.stream(paths).map((String[] path) +-> Paths.get(Configuration.descriptors, path).toFile()) +.toArray(File[]::new))) { if (descriptor instanceof ServerDescriptor) { database.insertServerDescriptor(parser.parseServerDescriptor( (ServerDescriptor) descriptor)); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Make Database AutoCloseable and use try-with-resource.
commit bad6542772eacfd57b7030df417f845f2aa74583 Author: iwakehDate: Wed Dec 20 13:06:49 2017 + Make Database AutoCloseable and use try-with-resource. --- .../metrics/stats/ipv6servers/Database.java| 6 +- .../torproject/metrics/stats/ipv6servers/Main.java | 109 ++--- 2 files changed, 54 insertions(+), 61 deletions(-) diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java index c334263..401bdb7 100644 --- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java +++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java @@ -20,7 +20,7 @@ import java.util.TimeZone; /** Database wrapper to connect to the database, insert data, run the stored * procedure for aggregating data, and query aggregated data as output. */ -class Database { +class Database implements AutoCloseable { /** Database connection string. */ private String jdbcString; @@ -210,8 +210,8 @@ class Database { return statistics; } - /** Disconnect from the database. */ - void disconnect() throws SQLException { + /** Release database connection. */ + public void close() throws SQLException { this.connection.close(); } } diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java index 81433c0..508d73e 100644 --- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java +++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java @@ -35,72 +35,65 @@ public class Main { File historyFile = new File(Configuration.history); reader.setHistoryFile(historyFile); Parser parser = new Parser(); -Database database = new Database(Configuration.database); -try { - for (Descriptor descriptor : reader.readDescriptors( - new File(Configuration.descriptors - + "recent/relay-descriptors/consensuses"), - new File(Configuration.descriptors - + "recent/relay-descriptors/server-descriptors"), - new File(Configuration.descriptors - + "recent/bridge-descriptors/statuses"), - new File(Configuration.descriptors - + "recent/bridge-descriptors/server-descriptors"), - new File(Configuration.descriptors - + "archive/relay-descriptors/consensuses"), - new File(Configuration.descriptors - + "archive/relay-descriptors/server-descriptors"), - new File(Configuration.descriptors - + "archive/bridge-descriptors/statuses"), - new File(Configuration.descriptors - + "archive/bridge-descriptors/server-descriptors"))) { -if (descriptor instanceof ServerDescriptor) { - database.insertServerDescriptor(parser.parseServerDescriptor( - (ServerDescriptor) descriptor)); -} else if (descriptor instanceof RelayNetworkStatusConsensus) { - database.insertStatus(parser.parseRelayNetworkStatusConsensus( - (RelayNetworkStatusConsensus) descriptor)); -} else if (descriptor instanceof BridgeNetworkStatus) { - database.insertStatus(parser.parseBridgeNetworkStatus( - (BridgeNetworkStatus) descriptor)); -} else { - log.debug("Skipping unknown descriptor of type {}.", - descriptor.getClass()); +try (Database database = new Database(Configuration.database)) { + try { +for (Descriptor descriptor : reader.readDescriptors( +new File(Configuration.descriptors ++ "recent/relay-descriptors/consensuses"), +new File(Configuration.descriptors ++ "recent/relay-descriptors/server-descriptors"), +new File(Configuration.descriptors ++ "recent/bridge-descriptors/statuses"), +new File(Configuration.descriptors ++ "recent/bridge-descriptors/server-descriptors"), +new File(Configuration.descriptors ++ "archive/relay-descriptors/consensuses"), +new File(Configuration.descriptors ++ "archive/relay-descriptors/server-descriptors"), +new File(Configuration.descriptors ++ "archive/bridge-descriptors/statuses"), +new File(Configuration.descriptors ++ "archive/bridge-descriptors/server-descriptors"))) { + if (descriptor instanceof ServerDescriptor) { +database.insertServerDescriptor(parser.parseServerDescriptor( +(ServerDescriptor) descriptor)); + } else if (descriptor instanceof RelayNetworkStatusConsensus) { +database.insertStatus(parser.parseRelayNetworkStatusConsensus( +(RelayNetworkStatusConsensus) descriptor)); + } else if (descriptor instanceof
[tor-commits] [metrics-web/master] Removed redundant comments and added explanatory comment.
commit 66caac798cb4524956c1bc9114ab7b1441b1e89e Author: iwakehDate: Wed Dec 20 13:06:54 2017 + Removed redundant comments and added explanatory comment. --- .../java/org/torproject/metrics/stats/ipv6servers/Parser.java | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java index a66ad23..962ca27 100644 --- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java +++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Parser.java @@ -25,6 +25,9 @@ class Parser { Ipv6ServerDescriptor parsedDescriptor = new Ipv6ServerDescriptor(); parsedDescriptor.digest = serverDescriptor.getDigestSha1Hex(); for (String orAddress : serverDescriptor.getOrAddresses()) { + /* Check whether the additional OR address is an IPv6 address containing + * at least two colons as opposed to an IPv4 address and TCP port + * containing only one colon as separator. */ if (StringUtils.countMatches(orAddress, ":") >= 2) { parsedDescriptor.announced = true; break; @@ -47,14 +50,12 @@ class Parser { return parsedDescriptor; } - /** Parse a relay network status. */ Ipv6NetworkStatus parseRelayNetworkStatusConsensus( RelayNetworkStatusConsensus consensus) throws Exception { return this.parseStatus(true, consensus.getValidAfterMillis(), consensus.getStatusEntries().values()); } - /** Parse a bridge network status. */ Ipv6NetworkStatus parseBridgeNetworkStatus(BridgeNetworkStatus status) throws Exception { return this.parseStatus(false, status.getPublishedMillis(), @@ -85,6 +86,9 @@ class Parser { && !entry.getFlags().contains("BadExit"); parsedEntry.reachable = false; for (String orAddress : entry.getOrAddresses()) { + /* Check whether the additional OR address is an IPv6 address + * containing at least two colons as opposed to an IPv4 address and + * TCP port containing only one colon as separator. */ if (StringUtils.countMatches(orAddress, ":") >= 2) { parsedEntry.reachable = true; break; ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Make column headers lower-case.
commit 661c53df912606b885ea3d74622addf9567b61b4 Author: Karsten LoesingDate: Fri Dec 22 18:45:35 2017 +0100 Make column headers lower-case. --- src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java index 31838d3..a6a1aa5 100644 --- a/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java +++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java @@ -20,7 +20,7 @@ class OutputLine { /** Column headers joined together with the given delimiter. */ static String columnHeadersDelimitedBy(String delimiter) { -return Arrays.stream(Column.values()).map(c -> c.toString()) +return Arrays.stream(Column.values()).map(c -> c.toString().toLowerCase()) .collect(Collectors.joining(delimiter)); } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Rename 'getColumnHeaders' to reflect that it is no getter.
commit 7456617d5b6bbb52ad854deeb06308b5129e9812 Author: iwakehDate: Wed Dec 20 13:06:52 2017 + Rename 'getColumnHeaders' to reflect that it is no getter. And use some java 8 to shorten the method. --- .../org/torproject/metrics/stats/ipv6servers/Database.java | 2 +- .../torproject/metrics/stats/ipv6servers/OutputLine.java| 13 + .../org/torproject/metrics/stats/ipv6servers/Writer.java| 2 +- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java index 401bdb7..e95aba0 100644 --- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java +++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java @@ -181,7 +181,7 @@ class Database implements AutoCloseable { Statement st = this.connection.createStatement(); Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.US); -String queryString = "SELECT " + OutputLine.getColumnHeaders(", ") +String queryString = "SELECT " + OutputLine.columnHeadersDelimitedBy(", ") + " FROM ipv6servers"; try (ResultSet rs = st.executeQuery(queryString)) { while (rs.next()) { diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java index eba5f13..31838d3 100644 --- a/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java +++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java @@ -4,8 +4,8 @@ package org.torproject.metrics.stats.ipv6servers; import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; +import java.util.Arrays; +import java.util.stream.Collectors; /** Data object holding all parts of an output line. */ class OutputLine { @@ -19,12 +19,9 @@ class OutputLine { } /** Column headers joined together with the given delimiter. */ - static String getColumnHeaders(String delimiter) { -List columnHeaders = new ArrayList<>(); -for (Column column : Column.values()) { - columnHeaders.add(column.toString()); -} -return String.join(delimiter, columnHeaders).toLowerCase(); + static String columnHeadersDelimitedBy(String delimiter) { +return Arrays.stream(Column.values()).map(c -> c.toString()) +.collect(Collectors.joining(delimiter)); } /** Date. */ diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java index 13c621f..388fb4d 100644 --- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java +++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java @@ -26,7 +26,7 @@ class Writer { } } List formattedOutputLines = new ArrayList<>(); -formattedOutputLines.add(OutputLine.getColumnHeaders(",")); +formattedOutputLines.add(OutputLine.columnHeadersDelimitedBy(",")); for (OutputLine line : outputLines) { formattedOutputLines.add(line.toString()); } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Prefix module name to system property names.
commit e9f3226f5e9da0ecab358f85dbe418c0066bfb11 Author: iwakehDate: Wed Dec 20 13:06:48 2017 + Prefix module name to system property names. --- .../org/torproject/metrics/stats/ipv6servers/Configuration.java | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java index dffcdf6..ccc1cc6 100644 --- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java +++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java @@ -6,13 +6,13 @@ package org.torproject.metrics.stats.ipv6servers; /** Configuration options parsed from Java properties with reasonable hard-coded * defaults. */ class Configuration { - static String descriptors = System.getProperty("descriptors", + static String descriptors = System.getProperty("ipv6servers.descriptors", "../../shared/in/"); - static String database = System.getProperty("database", + static String database = System.getProperty("ipv6servers.database", "jdbc:postgresql:ipv6servers"); - static String history = System.getProperty("history", + static String history = System.getProperty("ipv6servers.history", "status/read-descriptors"); - static String output = System.getProperty("output", + static String output = System.getProperty("ipv6servers.output", "stats/ipv6servers.csv"); } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Rename Parsed* to Ipv6*.
commit c39409096ee1531b0c0b0a8fc79ae295d84e6e27 Author: iwakehDate: Wed Dec 20 13:06:53 2017 + Rename Parsed* to Ipv6*. Indicate that this is not the typical descriptor, but only provides relevant information for the ipv6servers module. --- .../metrics/stats/ipv6servers/Database.java| 29 ++ ...edNetworkStatus.java => Ipv6NetworkStatus.java} | 2 +- ...erDescriptor.java => Ipv6ServerDescriptor.java} | 2 +- .../metrics/stats/ipv6servers/Parser.java | 14 +-- ...kStatusTest.java => Ipv6NetworkStatusTest.java} | 6 ++--- ...ptorTest.java => Ipv6ServerDescriptorTest.java} | 4 +-- 6 files changed, 27 insertions(+), 30 deletions(-) diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java index e95aba0..1d5187b 100644 --- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java +++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java @@ -84,10 +84,10 @@ class Database implements AutoCloseable { /** Insert a server descriptor into the server_descriptors table. */ void insertServerDescriptor( - ParsedServerDescriptor parsedServerDescriptor) throws SQLException { + Ipv6ServerDescriptor serverDescriptor) throws SQLException { this.psServerDescriptorsSelect.clearParameters(); this.psServerDescriptorsSelect.setString(1, -parsedServerDescriptor.digest); +serverDescriptor.digest); try (ResultSet rs = psServerDescriptorsSelect.executeQuery()) { if (rs.next()) { if (rs.getBoolean(1)) { @@ -97,28 +97,25 @@ class Database implements AutoCloseable { } } this.psServerDescriptorsInsert.clearParameters(); -this.psServerDescriptorsInsert.setString(1, -parsedServerDescriptor.digest); +this.psServerDescriptorsInsert.setString(1, serverDescriptor.digest); this.psServerDescriptorsInsert.setInt(2, -parsedServerDescriptor.advertisedBandwidth); -this.psServerDescriptorsInsert.setBoolean(3, -parsedServerDescriptor.announced); -this.psServerDescriptorsInsert.setBoolean(4, -parsedServerDescriptor.exiting); +serverDescriptor.advertisedBandwidth); +this.psServerDescriptorsInsert.setBoolean(3, serverDescriptor.announced); +this.psServerDescriptorsInsert.setBoolean(4, serverDescriptor.exiting); this.psServerDescriptorsInsert.execute(); } /** Insert a status and all contained entries into the statuses and * status_entries table. */ - void insertStatus(ParsedNetworkStatus parsedNetworkStatus) + void insertStatus(Ipv6NetworkStatus networkStatus) throws SQLException { this.psStatusesSelect.clearParameters(); this.psStatusesSelect.setString(1, -parsedNetworkStatus.isRelay ? "relay" : "bridge"); +networkStatus.isRelay ? "relay" : "bridge"); Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.US); this.psStatusesSelect.setTimestamp(2, -Timestamp.from(ZonedDateTime.of(parsedNetworkStatus.timestamp, +Timestamp.from(ZonedDateTime.of(networkStatus.timestamp, ZoneId.of("UTC")).toInstant()), calendar); try (ResultSet rs = this.psStatusesSelect.executeQuery()) { if (rs.next()) { @@ -131,11 +128,11 @@ class Database implements AutoCloseable { int statusId = -1; this.psStatusesInsert.clearParameters(); this.psStatusesInsert.setString(1, -parsedNetworkStatus.isRelay ? "relay" : "bridge"); +networkStatus.isRelay ? "relay" : "bridge"); this.psStatusesInsert.setTimestamp(2, -Timestamp.from(ZonedDateTime.of(parsedNetworkStatus.timestamp, +Timestamp.from(ZonedDateTime.of(networkStatus.timestamp, ZoneId.of("UTC")).toInstant()), calendar); -this.psStatusesInsert.setInt(3, parsedNetworkStatus.running); +this.psStatusesInsert.setInt(3, networkStatus.running); this.psStatusesInsert.execute(); try (ResultSet rs = this.psStatusesInsert.getGeneratedKeys()) { if (rs.next()) { @@ -146,7 +143,7 @@ class Database implements AutoCloseable { throw new SQLException("Could not retrieve auto-generated key for new " + "statuses entry."); } -for (ParsedNetworkStatus.Entry entry : parsedNetworkStatus.entries) { +for (Ipv6NetworkStatus.Entry entry : networkStatus.entries) { this.psStatusEntriesInsert.clearParameters(); this.psStatusEntriesInsert.setInt(1, statusId); this.psStatusEntriesInsert.setString(2, entry.digest); diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedNetworkStatus.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Ipv6NetworkStatus.java similarity index 97% rename from src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedNetworkStatus.java rename to
[tor-commits] [metrics-web/master] Move new module to proper place(s) in the source tree.
commit ede6be2e5c29d896ff962608697a39b0780ec32e Author: iwakehDate: Wed Dec 20 13:06:47 2017 + Move new module to proper place(s) in the source tree. This includes moving the Java and Sql sources as well as test sources, and adaption of paths in test classes. Created an ant task 'ipv6server' and added its call to run-web-prepare target. --- build.xml | 9 + modules/ipv6servers/.gitignore | 3 --- modules/ipv6servers/build.xml | 21 - shared/bin/20-run-ipv6servers-stats.sh | 5 - .../metrics/stats/ipv6servers/Configuration.java| 0 .../metrics/stats/ipv6servers/Database.java | 0 .../torproject/metrics/stats/ipv6servers/Main.java | 0 .../metrics/stats/ipv6servers/OutputLine.java | 0 .../stats/ipv6servers/ParsedNetworkStatus.java | 0 .../stats/ipv6servers/ParsedServerDescriptor.java | 0 .../metrics/stats/ipv6servers/Parser.java | 0 .../metrics/stats/ipv6servers/Writer.java | 0 .../main/sql/ipv6servers}/init-ipv6servers.sql | 0 .../stats/ipv6servers/ParsedNetworkStatusTest.java | 4 ++-- .../ipv6servers/ParsedServerDescriptorTest.java | 12 ++-- .../000a7fe20a17bf5d9839a126b1dff43f998aac6f| 0 .../0018ab4f2f28af683d52f06407edbf7ce1bd3b7d| 0 .../0041dbf9fe846f9765882f7dc8332f94b709e35a| 0 .../01003df74972ce952ebfa390f468ef63c50efa25| 0 .../018c1229d5f56eebfc1d709d4692673d098800e8| 0 .../ipv6servers}/2017-12-04-20-00-00-consensus.part | 0 ...07-1D8F3A91C37C5D1C4C19B1AD1D0CFBE8BF72D8E1.part | 0 .../64dd486d89af14027c9a7b4347a94b74dddb5cdb| 0 .../test/sql/ipv6servers}/test-ipv6servers.sql | 0 24 files changed, 17 insertions(+), 37 deletions(-) diff --git a/build.xml b/build.xml index 6fee387..c884cc6 100644 --- a/build.xml +++ b/build.xml @@ -195,6 +195,7 @@ + @@ -331,6 +332,14 @@ + + + + + + + diff --git a/modules/ipv6servers/.gitignore b/modules/ipv6servers/.gitignore deleted file mode 100644 index c8e90bb..000 --- a/modules/ipv6servers/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/stats/ -/status/ - diff --git a/modules/ipv6servers/build.xml b/modules/ipv6servers/build.xml deleted file mode 100644 index 736b579..000 --- a/modules/ipv6servers/build.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/shared/bin/20-run-ipv6servers-stats.sh b/shared/bin/20-run-ipv6servers-stats.sh deleted file mode 100755 index 5d7bd13..000 --- a/shared/bin/20-run-ipv6servers-stats.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -cd modules/ipv6servers/ -ant run | grep "\[java\]" -cd ../../ - diff --git a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java similarity index 100% rename from modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java rename to src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java diff --git a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java similarity index 100% rename from modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java rename to src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java diff --git a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java similarity index 100% rename from modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java rename to src/main/java/org/torproject/metrics/stats/ipv6servers/Main.java diff --git a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java similarity index 100% rename from modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java rename to src/main/java/org/torproject/metrics/stats/ipv6servers/OutputLine.java diff --git a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedNetworkStatus.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedNetworkStatus.java similarity index 100% rename from modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedNetworkStatus.java rename to src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedNetworkStatus.java diff --git a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/ParsedServerDescriptor.java
[tor-commits] [metrics-web/master] Remove variable that is only used once.
commit 6aa81e5202c7328b164747f5a581147833205357 Author: iwakehDate: Wed Dec 20 13:06:50 2017 + Remove variable that is only used once. --- src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java b/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java index 96f8a8d..13c621f 100644 --- a/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java +++ b/src/main/java/org/torproject/metrics/stats/ipv6servers/Writer.java @@ -20,8 +20,7 @@ class Writer { throws IOException { File parentFile = filePath.toFile().getParentFile(); if (null != parentFile && !parentFile.exists()) { - boolean madeDirs = parentFile.mkdirs(); - if (!madeDirs) { + if (!parentFile.mkdirs()) { throw new IOException("Unable to create parent directory of output " + "file. Not writing this file."); } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Add graphs based on servers-ipv6.csv.
commit 8076ce4f8e7c2d987bfb44afbcd15d122dc44b83 Author: Karsten LoesingDate: Wed Dec 6 22:23:28 2017 +0100 Add graphs based on servers-ipv6.csv. Heavily based on input from teor. Implements #23761. --- src/main/R/rserver/graphs.R | 118 src/main/R/rserver/rserve-init.R| 2 + src/main/resources/web.xml | 9 +++ src/main/resources/web/json/categories.json | 3 + src/main/resources/web/json/metrics.json| 44 ++- 5 files changed, 175 insertions(+), 1 deletion(-) diff --git a/src/main/R/rserver/graphs.R b/src/main/R/rserver/graphs.R index 00471cf..3805f63 100644 --- a/src/main/R/rserver/graphs.R +++ b/src/main/R/rserver/graphs.R @@ -1211,3 +1211,121 @@ plot_webstats_tm <- function(start, end, path) { ggsave(filename = path, width = 8, height = 5, dpi = 150) } +plot_relays_ipv6 <- function(start, end, path) { + all_relay_data <- read.csv( +"/srv/metrics.torproject.org/metrics/shared/stats/ipv6servers.csv", +colClasses = c("valid_after_date" = "Date")) %>% +filter(server == "relay") + start_date <- max(as.Date(start), min(all_relay_data$valid_after_date)) + end_date <- min(as.Date(end), max(all_relay_data$valid_after_date), +Sys.Date() - 2) + date_breaks <- date_breaks(as.numeric(end_date - start_date)) + all_relay_data %>% +filter(valid_after_date >= start_date, valid_after_date <= end_date) %>% +group_by(valid_after_date) %>% +summarize(total = sum(server_count_sum_avg), + announced = sum(server_count_sum_avg[announced_ipv6 == 't']), + reachable = sum(server_count_sum_avg[reachable_ipv6_relay == 't']), + exiting = sum(server_count_sum_avg[exiting_ipv6_relay == 't'])) %>% +merge(data.frame(valid_after_date = seq(start_date, end_date, + by = "1 day")), all = TRUE) %>% +gather(total, announced, reachable, exiting, key = "category", + value = "count") %>% +ggplot(aes(x = valid_after_date, y = count, colour = category)) + +geom_line(size = 1) + +scale_x_date(name = paste("\nThe Tor Project - ", + "https://metrics.torproject.org/;, sep = ""), + labels = date_format(date_breaks$format), + date_breaks = date_breaks$major, + date_minor_breaks = date_breaks$minor) + +scale_y_continuous(name = "") + +scale_colour_hue(name = "", h.start = 90, + breaks = c("total", "announced", "reachable", "exiting"), + labels = c("Total (IPv4) OR", "IPv6 announced OR", "IPv6 reachable OR", +"IPv6 exititing")) + +expand_limits(y = 0) + +ggtitle("Relays by IP version") + +theme(legend.position = "top") + ggsave(filename = path, width = 8, height = 5, dpi = 150) +} + +plot_bridges_ipv6 <- function(start, end, path) { + all_bridge_data <- read.csv( +"/srv/metrics.torproject.org/metrics/shared/stats/ipv6servers.csv", +colClasses = c("valid_after_date" = "Date")) %>% +filter(server == "bridge") + start_date <- max(as.Date(start), min(all_bridge_data$valid_after_date)) + end_date <- min(as.Date(end), max(all_bridge_data$valid_after_date), +Sys.Date() - 2) + date_breaks <- date_breaks(as.numeric(end_date - start_date)) + all_bridge_data %>% +filter(valid_after_date >= start_date, valid_after_date <= end_date) %>% +group_by(valid_after_date) %>% +summarize(total = sum(server_count_sum_avg), + announced = sum(server_count_sum_avg[announced_ipv6 == 't'])) %>% +merge(data.frame(valid_after_date = seq(start_date, end_date, + by = "1 day")), all = TRUE) %>% +gather(total, announced, key = "category", value = "count") %>% +ggplot(aes(x = valid_after_date, y = count, colour = category)) + +geom_line(size = 1) + +scale_x_date(name = paste("\nThe Tor Project - ", + "https://metrics.torproject.org/;, sep = ""), + labels = date_format(date_breaks$format), + date_breaks = date_breaks$major, + date_minor_breaks = date_breaks$minor) + +scale_y_continuous(name = "") + +scale_colour_hue(name = "", h.start = 90, + breaks = c("total", "announced"), + labels = c("Total (IPv4) OR", "IPv6 announced OR")) + +expand_limits(y = 0) + +ggtitle("Bridges by IP version") + +theme(legend.position = "top") + ggsave(filename = path, width = 8, height = 5, dpi = 150) +} + +plot_advbw_ipv6 <- function(start, end, path) { + all_relay_data <- read.csv( +"/srv/metrics.torproject.org/metrics/shared/stats/ipv6servers.csv", +colClasses = c("valid_after_date" = "Date")) %>% +filter(server == "relay") + start_date <- max(as.Date(start), min(all_relay_data$valid_after_date)) + end_date <- min(as.Date(end), max(all_relay_data$valid_after_date), +Sys.Date() - 2) + date_breaks <- date_breaks(as.numeric(end_date - start_date)) + all_relay_data %>% +filter(valid_after_date >= start_date, valid_after_date <= end_date) %>% +group_by(valid_after_date) %>% +
[tor-commits] [metrics-web/master] Add servers-ipv6 module.
commit 73205cc3df76d0ca8d2fc62f26e2359093e73c7c Author: Karsten LoesingDate: Wed Dec 6 11:39:32 2017 +0100 Add servers-ipv6 module. Implements #24218. --- modules/ipv6servers/.gitignore | 3 + modules/ipv6servers/build.xml | 21 ++ .../metrics/stats/ipv6servers/Configuration.java | 18 ++ .../metrics/stats/ipv6servers/Database.java| 218 + .../torproject/metrics/stats/ipv6servers/Main.java | 106 ++ .../metrics/stats/ipv6servers/OutputLine.java | 75 +++ .../stats/ipv6servers/ParsedNetworkStatus.java | 47 + .../stats/ipv6servers/ParsedServerDescriptor.java | 26 +++ .../metrics/stats/ipv6servers/Parser.java | 99 ++ .../metrics/stats/ipv6servers/Writer.java | 37 .../src/main/resources/init-ipv6servers.sql| 123 .../stats/ipv6servers/ParsedNetworkStatusTest.java | 140 + .../ipv6servers/ParsedServerDescriptorTest.java| 97 + .../000a7fe20a17bf5d9839a126b1dff43f998aac6f | 16 ++ .../0018ab4f2f28af683d52f06407edbf7ce1bd3b7d | 51 + .../0041dbf9fe846f9765882f7dc8332f94b709e35a | 19 ++ .../01003df74972ce952ebfa390f468ef63c50efa25 | 189 ++ .../018c1229d5f56eebfc1d709d4692673d098800e8 | 54 + .../descriptors/2017-12-04-20-00-00-consensus.part | 149 ++ ...7-1D8F3A91C37C5D1C4C19B1AD1D0CFBE8BF72D8E1.part | 12 ++ .../64dd486d89af14027c9a7b4347a94b74dddb5cdb | 18 ++ .../ipv6servers/src/test/sql/test-ipv6servers.sql | 196 ++ shared/bin/20-run-ipv6servers-stats.sh | 5 + src/submods/metrics-lib| 1 - 24 files changed, 1719 insertions(+), 1 deletion(-) diff --git a/modules/ipv6servers/.gitignore b/modules/ipv6servers/.gitignore new file mode 100644 index 000..c8e90bb --- /dev/null +++ b/modules/ipv6servers/.gitignore @@ -0,0 +1,3 @@ +/stats/ +/status/ + diff --git a/modules/ipv6servers/build.xml b/modules/ipv6servers/build.xml new file mode 100644 index 000..736b579 --- /dev/null +++ b/modules/ipv6servers/build.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java b/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java new file mode 100644 index 000..dffcdf6 --- /dev/null +++ b/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Configuration.java @@ -0,0 +1,18 @@ +/* Copyright 2017 The Tor Project + * See LICENSE for licensing information */ + +package org.torproject.metrics.stats.ipv6servers; + +/** Configuration options parsed from Java properties with reasonable hard-coded + * defaults. */ +class Configuration { + static String descriptors = System.getProperty("descriptors", + "../../shared/in/"); + static String database = System.getProperty("database", + "jdbc:postgresql:ipv6servers"); + static String history = System.getProperty("history", + "status/read-descriptors"); + static String output = System.getProperty("output", + "stats/ipv6servers.csv"); +} + diff --git a/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java b/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java new file mode 100644 index 000..c334263 --- /dev/null +++ b/modules/ipv6servers/src/main/java/org/torproject/metrics/stats/ipv6servers/Database.java @@ -0,0 +1,218 @@ +/* Copyright 2017 The Tor Project + * See LICENSE for licensing information */ + +package org.torproject.metrics.stats.ipv6servers; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.sql.Timestamp; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import java.util.Locale; +import java.util.TimeZone; + +/** Database wrapper to connect to the database, insert data, run the stored + * procedure for aggregating data, and query aggregated data as output. */ +class Database { + + /** Database connection string. */ + private String jdbcString; + + /** Connection object for all interactions with the database. */ + private Connection connection; + + /** Prepared statement for finding out whether a given server descriptor is + * already contained in the server_descriptors table. */ + private PreparedStatement psServerDescriptorsSelect; + + /** Prepared statement for inserting a server descriptor into the + * server_descriptors table. */ + private PreparedStatement psServerDescriptorsInsert; + + /** Prepared statement for checking whether a
[tor-commits] [translation/exoneratorproperties_completed] Update translations for exoneratorproperties_completed
commit 0b424085b2957b722a8b6c4948d0f9c41ed7573b Author: Translation commit botDate: Fri Dec 22 12:21:09 2017 + Update translations for exoneratorproperties_completed --- en_GB/exonerator.properties | 54 + 1 file changed, 54 insertions(+) diff --git a/en_GB/exonerator.properties b/en_GB/exonerator.properties new file mode 100644 index 0..ddab9d8f5 --- /dev/null +++ b/en_GB/exonerator.properties @@ -0,0 +1,54 @@ +form.explanation=Enter an IP address and date to find out whether that address was used as a Tor relay: +form.ip.label=IP address +form.timestamp.label=Date +form.search.label=Search +summary.heading=Summary +summary.serverproblem.dbnoconnect.title=Server problem +summary.serverproblem.dbnoconnect.body.text=Unable to connect to the database. Please try again later. If this problem persists, please %s! +summary.serverproblem.dbnoconnect.body.link=let us know +summary.serverproblem.dbempty.title=Server problem +summary.serverproblem.dbempty.body.text=The database appears to be empty. Please try again later. If this problem persists, please %s! +summary.serverproblem.dbempty.body.link=let us know +summary.invalidparams.notimestamp.title=No date parameter given +summary.invalidparams.notimestamp.body=Sorry, you also need to provide a date parameter. +summary.invalidparams.noip.title=No IP address parameter given +summary.invalidparams.noip.body=Sorry, you also need to provide an IP address parameter. +summary.invalidparams.timestamprange.title=Date parameter out of range +summary.invalidparams.timestamprange.body=Sorry, the database does not contain any data from %s. Please pick a date between %s and %s. +summary.invalidparams.invalidip.title=Invalid IP address parameter +summary.invalidparams.invalidip.body=Sorry, %s is not a valid IP address. The expected IP address formats are %s or %s. +summary.invalidparams.invalidtimestamp.title=Invalid date parameter +summary.invalidparams.invalidtimestamp.body=Sorry, %s is not a valid date. The expected date format is %s. +summary.invalidparams.timestamptoorecent.title=Date parameter too recent +summary.invalidparams.timestamptoorecent.body=The database may not yet contain enough data to correctly answer this request. The latest accepted data is the day before yesterday. Please repeat your search on another day. +summary.serverproblem.nodata.title=Server problem +summary.serverproblem.nodata.body.text=The database does not contain any data for the requested date. Please try again later. If this problem persists, please %s! +summary.serverproblem.nodata.body.link=let us know +summary.negativesamenetwork.title=Result is negative +summary.negativesamenetwork.body=We did not find IP address %s on or within a day of %s. But we did find other IP addresses of Tor relays in the same /%d network around the time: +summary.positive.title=Result is positive +summary.positive.body=We found one or more Tor relays on IP address %s on or within a day of %s that Tor clients were likely to know. +summary.negative.title=Result is negative +summary.negative.body=We did not find IP address %s on or within a day of %s. +technicaldetails.heading=Technical details +technicaldetails.pre=Looking up IP address %s on or within one day of %s. Tor clients could have selected this or these Tor relays to build circuits. +technicaldetails.colheader.timestamp=Timestamp (UTC) +technicaldetails.colheader.ip=IP address(es) +technicaldetails.colheader.fingerprint=Identity fingerprint +technicaldetails.colheader.nickname=Nickname +technicaldetails.colheader.exit=Exit relay +technicaldetails.nickname.unknown=Unknown +technicaldetails.exit.unknown=Unknown +technicaldetails.exit.yes=Yes +technicaldetails.exit.no=No +permanentlink.heading=Permanent link +footer.abouttor.heading=About Tor +footer.abouttor.body.text=Tor is an international software project to anonymise Internet traffic by %s. Therefore, if you see traffic from a Tor relay, this traffic usually originates from someone using Tor, rather than from the relay operator. The Tor Project and Tor relay operators have no records of the traffic that passes over the network and therefore cannot provide any information about its origin. Be sure to %s, and don't hesitate to %s for more information. +footer.abouttor.body.link1=encrypting packets and sending them through a series of hops before they reach their destination +footer.abouttor.body.link2=learn more about Tor +footer.abouttor.body.link3=contact The Tor Project, Inc. +footer.aboutexonerator.heading=About ExoneraTor +footer.aboutexonerator.body=The ExoneraTor service maintains a database of IP addresses that have been part of the Tor network. It answers the question whether there was a Tor relay running on a given IP address on a given date. ExoneraTor may store more than one IP address per relay if relays use a different IP address for exiting to the Internet than for
[tor-commits] [translation/exoneratorproperties] Update translations for exoneratorproperties
commit 604d0bf21216bc08f6ca75d13626235d26a4958c Author: Translation commit botDate: Fri Dec 22 12:21:02 2017 + Update translations for exoneratorproperties --- en_GB/exonerator.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en_GB/exonerator.properties b/en_GB/exonerator.properties index 936754ae5..ddab9d8f5 100644 --- a/en_GB/exonerator.properties +++ b/en_GB/exonerator.properties @@ -43,7 +43,7 @@ technicaldetails.exit.yes=Yes technicaldetails.exit.no=No permanentlink.heading=Permanent link footer.abouttor.heading=About Tor -footer.abouttor.body.text=Tor is an international software project to anonymize Internet traffic by %s. Therefore, if you see traffic from a Tor relay, this traffic usually originates from someone using Tor, rather than from the relay operator. The Tor Project and Tor relay operators have no records of the traffic that passes over the network and therefore cannot provide any information about its origin. Be sure to %s, and don't hesitate to %s for more information. +footer.abouttor.body.text=Tor is an international software project to anonymise Internet traffic by %s. Therefore, if you see traffic from a Tor relay, this traffic usually originates from someone using Tor, rather than from the relay operator. The Tor Project and Tor relay operators have no records of the traffic that passes over the network and therefore cannot provide any information about its origin. Be sure to %s, and don't hesitate to %s for more information. footer.abouttor.body.link1=encrypting packets and sending them through a series of hops before they reach their destination footer.abouttor.body.link2=learn more about Tor footer.abouttor.body.link3=contact The Tor Project, Inc. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-browser-manual] Update translations for tor-browser-manual
commit 2f93714aedad23532d7284c7ccdca76c26a22053 Author: Translation commit botDate: Fri Dec 22 12:21:15 2017 + Update translations for tor-browser-manual --- en_GB/en_GB.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po index 08926855c..e6cba9b08 100644 --- a/en_GB/en_GB.po +++ b/en_GB/en_GB.po @@ -505,7 +505,7 @@ msgstr "" #: index.page:6 msgid "Tor Browser User Manual" -msgstr "" +msgstr "Tor Browser User Manual" #: known-issues.page:6 msgid "A list of known issues." ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-messenger-uiproperties_completed] Update translations for tor-messenger-uiproperties_completed
commit 2a2ca5dd0e1ae48accbe0596bd854b1c96f05d6f Author: Translation commit botDate: Fri Dec 22 12:20:47 2017 + Update translations for tor-messenger-uiproperties_completed --- en_GB/ui.properties | 27 +++ 1 file changed, 27 insertions(+) diff --git a/en_GB/ui.properties b/en_GB/ui.properties new file mode 100644 index 0..de5c23213 --- /dev/null +++ b/en_GB/ui.properties @@ -0,0 +1,27 @@ +start.label=Start private conversation +end.label=End private conversation +refresh.label=Refresh private conversation +auth.label=Verify your contact's identity +auth.cancel=Cancel +auth.cancelAccessKey=C +auth.error=An error occurred while verifying your contact's identity. +auth.success=Verifying your contact's identity completed successfully. +auth.successThem=Your contact has successfully verified your identity. You may want to verify their identity as well by asking your own question. +auth.fail=Failed to verify your contact's identity. +auth.waiting=Waiting for contact ... +reauth.label=Reverify your contact's identity +prefs.label=OTR Preferences +alert.start=Attempting to start a private conversation with %S. +alert.refresh=Attempting to refresh the private conversation with %S. +alert.gone_insecure=Private conversation with %S ended. +finger.seen=%S is contacting you from an unrecognized computer. You should verify this contact's identity. +finger.unseen=%S's identity has not been verified yet. You should verify this contact's identity. +finger.verify=Verify +verify.accessKey=V +state.not_private=The current conversation is not private. +state.unverified=The current conversation is private but %S's identity has not been verified. +state.private=The current conversation is private and %S's identity has been verified. +state.finished=%S has ended their private conversation with you; you should do the same. +afterauth.private=You have verified %S's identity. +afterauth.unverified=%S's identity has not been verified. +buddycontextmenu.label=Add Contact's Fingerprint ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-messenger-prefsdtd_completed] Update translations for tor-messenger-prefsdtd_completed
commit 015b3e82c28cc161c6ff7b9aa0951e348193a499 Author: Translation commit botDate: Fri Dec 22 12:20:19 2017 + Update translations for tor-messenger-prefsdtd_completed --- en_GB/prefs.dtd | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/en_GB/prefs.dtd b/en_GB/prefs.dtd index 1441b0ea8..2ae9c9c59 100644 --- a/en_GB/prefs.dtd +++ b/en_GB/prefs.dtd @@ -1,4 +1,6 @@ + + @@ -10,4 +12,11 @@ - \ No newline at end of file + + + + + + + + \ No newline at end of file ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-onioncircuits_completed] Update translations for tails-onioncircuits_completed
commit a13c4d0074908783ce49e3aa7ee1722943c189bc Author: Translation commit botDate: Fri Dec 22 12:19:33 2017 + Update translations for tails-onioncircuits_completed --- en_GB/onioncircuits.pot | 91 +++-- 1 file changed, 43 insertions(+), 48 deletions(-) diff --git a/en_GB/onioncircuits.pot b/en_GB/onioncircuits.pot index 9eed34cea..a5f4708a9 100644 --- a/en_GB/onioncircuits.pot +++ b/en_GB/onioncircuits.pot @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andi Chandler , 2016 +# Andi Chandler , 2016-2017 +# Khanh Nguyen , 2017 msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-03-31 21:31+0200\n" -"PO-Revision-Date: 2016-05-20 09:54+\n" +"POT-Creation-Date: 2017-08-03 13:00+\n" +"PO-Revision-Date: 2017-12-22 12:02+\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" @@ -19,74 +20,68 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../onioncircuits:81 -msgid "" -"Cannot connect to the Tor daemon. Onion Circuits will try to reconnect..." -msgstr "Cannot connect to the Tor daemon. Onion Circuits will try to reconnect..." +msgid "You are not connected to Tor yet..." +msgstr "You are not connected to Tor yet..." -#: ../onioncircuits:94 +#: ../onioncircuits:95 msgid "Onion Circuits" msgstr "Onion Circuits" -#: ../onioncircuits:95 -msgid "Display Tor circuits and streams" -msgstr "Display Tor circuits and streams" - -#: ../onioncircuits:107 -msgid "OK" -msgstr "OK" - -#: ../onioncircuits:124 -msgid "Path" -msgstr "Path" - #: ../onioncircuits:125 +msgid "Circuit" +msgstr "Circuit" + +#: ../onioncircuits:126 msgid "Status" msgstr "Status" -#: ../onioncircuits:141 -msgid "Click on a path to get details" -msgstr "Click on a path to get details" +#: ../onioncircuits:142 +msgid "Click on a circuit for more detail about its Tor relays." +msgstr "Click on a circuit for more detail about its Tor relays." -#: ../onioncircuits:215 -msgid "" -"Lost connection to the Tor daemon. Onion Circuits will try to reconnect..." -msgstr "Lost connection to the Tor daemon. Onion Circuits will try to reconnect..." - -#: ../onioncircuits:232 -msgid "Connected to the Tor daemon! You can use now Onion Circuits." -msgstr "Connected to the Tor daemon! You can use now Onion Circuits." +#: ../onioncircuits:221 +msgid "The connection to Tor was lost..." +msgstr "The connection to Tor was lost..." -#: ../onioncircuits:314 -msgid "Building..." -msgstr "Building..." +#: ../onioncircuits:317 +msgid "..." +msgstr "..." -#: ../onioncircuits:339 +#: ../onioncircuits:343 #, c-format msgid "%s: %s" msgstr "%s: %s" -#: ../onioncircuits:564 +#: ../onioncircuits:554 +msgid "GeoIP database unavailable. No country information will be displayed." +msgstr "GeoIP database unavailable. No country information will be displayed." + +#: ../onioncircuits:585 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: ../onioncircuits:590 +#, c-format +msgid "%.2f Mb/s" +msgstr "%.2f Mb/s" + +#: ../onioncircuits:592 ../onioncircuits:593 ../onioncircuits:594 +msgid "Unknown" +msgstr "Unknown" + +#: ../onioncircuits:607 msgid "Fingerprint:" msgstr "Fingerprint:" -#: ../onioncircuits:565 +#: ../onioncircuits:608 msgid "Published:" msgstr "Published:" -#: ../onioncircuits:566 +#: ../onioncircuits:609 msgid "IP:" msgstr "IP:" -#: ../onioncircuits:566 -#, c-format -msgid "%s (%s)" -msgstr "%s (%s)" - -#: ../onioncircuits:567 +#: ../onioncircuits:610 msgid "Bandwidth:" msgstr "Bandwidth:" - -#: ../onioncircuits:567 -#, c-format -msgid "%.2f Mb/s" -msgstr "%.2f Mb/s" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-onioncircuits] Update translations for tails-onioncircuits
commit 0ab02150482cecd2dee34d86b9998acb07f399f2 Author: Translation commit botDate: Fri Dec 22 12:19:27 2017 + Update translations for tails-onioncircuits --- en_GB/onioncircuits.pot | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/en_GB/onioncircuits.pot b/en_GB/onioncircuits.pot index 469752846..a5f4708a9 100644 --- a/en_GB/onioncircuits.pot +++ b/en_GB/onioncircuits.pot @@ -3,15 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andi Chandler , 2016 +# Andi Chandler , 2016-2017 # Khanh Nguyen , 2017 msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-03 13:00+\n" -"PO-Revision-Date: 2017-09-22 21:53+\n" -"Last-Translator: Khanh Nguyen \n" +"PO-Revision-Date: 2017-12-22 12:02+\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -54,7 +54,7 @@ msgstr "%s: %s" #: ../onioncircuits:554 msgid "GeoIP database unavailable. No country information will be displayed." -msgstr "" +msgstr "GeoIP database unavailable. No country information will be displayed." #: ../onioncircuits:585 #, c-format @@ -68,7 +68,7 @@ msgstr "%.2f Mb/s" #: ../onioncircuits:592 ../onioncircuits:593 ../onioncircuits:594 msgid "Unknown" -msgstr "" +msgstr "Unknown" #: ../onioncircuits:607 msgid "Fingerprint:" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-iuk_completed] Update translations for tails-iuk_completed
commit 6ead6ebb075b4a0e728cc2ae3c7ce935aaafc651 Author: Translation commit botDate: Fri Dec 22 12:18:20 2017 + Update translations for tails-iuk_completed --- en_GB.po | 99 +++- 1 file changed, 55 insertions(+), 44 deletions(-) diff --git a/en_GB.po b/en_GB.po index 55f390306..c6ac34e56 100644 --- a/en_GB.po +++ b/en_GB.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andi Chandler , 2014,2016 +# Andi Chandler , 2014,2016-2017 # Richard Shaylor , 2014 msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: Tails developers \n" -"POT-Creation-Date: 2016-03-07 17:51+0100\n" -"PO-Revision-Date: 2016-03-21 16:27+\n" +"POT-Creation-Date: 2017-04-18 12:13+0200\n" +"PO-Revision-Date: 2017-12-22 12:04+\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" @@ -19,18 +19,18 @@ msgstr "" "Language: en_GB\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../lib/Tails/IUK/Frontend.pm:146 ../lib/Tails/IUK/Frontend.pm:522 -#: ../lib/Tails/IUK/Frontend.pm:662 +#: ../lib/Tails/IUK/Frontend.pm:148 ../lib/Tails/IUK/Frontend.pm:524 +#: ../lib/Tails/IUK/Frontend.pm:697 msgid "" "For debugging information, execute the following command: sudo tails-" "debugging-info" msgstr "For debugging information, execute the following command: sudo tails-debugging-info" -#: ../lib/Tails/IUK/Frontend.pm:215 +#: ../lib/Tails/IUK/Frontend.pm:217 msgid "Error while checking for upgrades" msgstr "Error while checking for upgrades" -#: ../lib/Tails/IUK/Frontend.pm:218 +#: ../lib/Tails/IUK/Frontend.pm:220 msgid "" "Could not determine whether an upgrade is available from our website.\n" "\n" @@ -39,64 +39,64 @@ msgid "" "If the problem persists, go to file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" msgstr "Could not determine whether an upgrade is available from our website.\n\nCheck your network connection, and restart Tails to try upgrading again.\n\nIf the problem persists, go to file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" -#: ../lib/Tails/IUK/Frontend.pm:233 +#: ../lib/Tails/IUK/Frontend.pm:235 msgid "no automatic upgrade is available from our website for this version" msgstr "no automatic upgrade is available from our website for this version" -#: ../lib/Tails/IUK/Frontend.pm:239 +#: ../lib/Tails/IUK/Frontend.pm:241 msgid "your device was not created using Tails Installer" msgstr "your device was not created using Tails Installer" -#: ../lib/Tails/IUK/Frontend.pm:244 +#: ../lib/Tails/IUK/Frontend.pm:246 msgid "Tails was started from a DVD or a read-only device" msgstr "Tails was started from a DVD or a read-only device" -#: ../lib/Tails/IUK/Frontend.pm:249 +#: ../lib/Tails/IUK/Frontend.pm:251 msgid "there is not enough free space on the Tails system partition" msgstr "there is not enough free space on the Tails system partition" -#: ../lib/Tails/IUK/Frontend.pm:254 +#: ../lib/Tails/IUK/Frontend.pm:256 msgid "not enough memory is available on this system" msgstr "not enough memory is available on this system" -#: ../lib/Tails/IUK/Frontend.pm:260 +#: ../lib/Tails/IUK/Frontend.pm:262 #, perl-brace-format msgid "No explanation available for reason '%{reason}s'." msgstr "No explanation available for reason '%{reason}s'." -#: ../lib/Tails/IUK/Frontend.pm:280 +#: ../lib/Tails/IUK/Frontend.pm:282 msgid "The system is up-to-date" msgstr "The system is up-to-date" -#: ../lib/Tails/IUK/Frontend.pm:285 +#: ../lib/Tails/IUK/Frontend.pm:287 msgid "This version of Tails is outdated, and may have security issues." msgstr "This version of Tails is outdated, and may have security issues." -#: ../lib/Tails/IUK/Frontend.pm:317 +#: ../lib/Tails/IUK/Frontend.pm:319 #, perl-brace-format msgid "" "The available incremental upgrade requires %{space_needed}s of free space on" " Tails system partition, but only %{free_space}s is available." msgstr "The available incremental upgrade requires %{space_needed}s of free space on Tails system partition, but only %{free_space}s is available." -#: ../lib/Tails/IUK/Frontend.pm:333 +#: ../lib/Tails/IUK/Frontend.pm:335 #, perl-brace-format msgid "" "The available incremental upgrade requires %{memory_needed}s of free memory," " but only %{free_memory}s is available." msgstr "The available incremental upgrade requires %{memory_needed}s of free memory, but only %{free_memory}s is available." -#: ../lib/Tails/IUK/Frontend.pm:355 +#: ../lib/Tails/IUK/Frontend.pm:357 msgid "" "An incremental upgrade is available, but no full upgrade is.\n" "This should not happen. Please report a bug." msgstr "An
[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd
commit 1d5b8dc5754f02e5a2782a421dab4b61e5547e7f Author: Translation commit botDate: Fri Dec 22 12:18:09 2017 + Update translations for torbutton-torbuttondtd --- en_GB/torbutton.dtd | 6 +++--- tr/torbutton.dtd| 20 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/en_GB/torbutton.dtd b/en_GB/torbutton.dtd index 7ccad6a82..1e1189a2c 100644 --- a/en_GB/torbutton.dtd +++ b/en_GB/torbutton.dtd @@ -30,7 +30,7 @@ - + @@ -44,7 +44,7 @@ - - + + diff --git a/tr/torbutton.dtd b/tr/torbutton.dtd index f554c8366..5aaff6e5a 100644 --- a/tr/torbutton.dtd +++ b/tr/torbutton.dtd @@ -37,14 +37,14 @@ - - - - - - - - - - + + + + + + + + + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-iuk] Update translations for tails-iuk
commit 3c4f6be26576f934be194069ceef181bbd8eac7f Author: Translation commit botDate: Fri Dec 22 12:18:15 2017 + Update translations for tails-iuk --- en_GB.po | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/en_GB.po b/en_GB.po index 659eceeb7..c6ac34e56 100644 --- a/en_GB.po +++ b/en_GB.po @@ -3,15 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andi Chandler , 2014,2016 +# Andi Chandler , 2014,2016-2017 # Richard Shaylor , 2014 msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: Tails developers \n" "POT-Creation-Date: 2017-04-18 12:13+0200\n" -"PO-Revision-Date: 2017-09-19 22:50+\n" -"Last-Translator: carolyn \n" +"PO-Revision-Date: 2017-12-22 12:04+\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -181,11 +181,11 @@ msgid "" "Could not choose a download server.\n" "\n" "This should not happen. Please report a bug." -msgstr "" +msgstr "Could not choose a download server.\n\nThis should not happen. Please report a bug." #: ../lib/Tails/IUK/Frontend.pm:591 msgid "Error while choosing a download server" -msgstr "" +msgstr "Error while choosing a download server" #: ../lib/Tails/IUK/Frontend.pm:608 msgid "" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-misc_completed] Update translations for tails-misc_completed
commit 0c69d1ceedec9a39d1802fe3351d69ad14eef2fc Author: Translation commit botDate: Fri Dec 22 12:17:27 2017 + Update translations for tails-misc_completed --- en_GB.po | 12 tr.po| 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/en_GB.po b/en_GB.po index 3e3418351..70f351324 100644 --- a/en_GB.po +++ b/en_GB.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andi Chandler , 2014-2016 +# Andi Chandler , 2014-2017 # Billy Humphreys , 2014 # newharha ehrara , 2015 # Richard Shaylor , 2014 @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-05 11:57+0200\n" -"PO-Revision-Date: 2017-05-26 14:47+\n" -"Last-Translator: carolyn \n" +"POT-Creation-Date: 2017-09-13 20:10+0200\n" +"PO-Revision-Date: 2017-12-22 12:06+\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -336,3 +336,7 @@ msgstr "Unsafe Web Browser" #: ../config/chroot_local-includes/usr/share/desktop-directories/Tails.directory.in.h:2 msgid "Tails specific tools" msgstr "Tails specific tools" + +#: ../config/chroot_local-includes/usr/share/polkit-1/actions/org.boum.tails.root-terminal.policy.in.h:1 +msgid "To start a Root Terminal, you need to authenticate." +msgstr "To start a Root Terminal, you need to authenticate." diff --git a/tr.po b/tr.po index 2b8b58076..6c3ae2f1c 100644 --- a/tr.po +++ b/tr.po @@ -26,7 +26,7 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-13 20:10+0200\n" -"PO-Revision-Date: 2017-09-16 05:03+\n" +"PO-Revision-Date: 2017-12-22 11:55+\n" "Last-Translator: Kaya Zeren \n" "Language-Team: Turkish (http://www.transifex.com/otf/torproject/language/tr/)\n" "MIME-Version: 1.0\n" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/abouttor-homepage_completed] Update translations for abouttor-homepage_completed
commit 8d0fd392f192823e91a5e42738fbbe49d704b7df Author: Translation commit botDate: Fri Dec 22 12:17:38 2017 + Update translations for abouttor-homepage_completed --- en_GB/aboutTor.dtd | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/en_GB/aboutTor.dtd b/en_GB/aboutTor.dtd index 12313c4d7..676878e27 100644 --- a/en_GB/aboutTor.dtd +++ b/en_GB/aboutTor.dtd @@ -19,10 +19,7 @@ - -https://startpage.com/rth/search;> -https://duckduckgo.com/html/;> -https://search.disconnect.me/searchTerms/search?ses=Googlelocation_option=USsource=tor;> +https://duckduckgo.com;> @@ -32,6 +29,8 @@ https://www.torproject.org/download/download.html.en#warning;> + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-misc] Update translations for tails-misc
commit d1ae3a6a6d96d819444ac5ac3186e7d049eee33b Author: Translation commit botDate: Fri Dec 22 12:17:21 2017 + Update translations for tails-misc --- en_GB.po | 8 tr.po| 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/en_GB.po b/en_GB.po index 65f4ce698..70f351324 100644 --- a/en_GB.po +++ b/en_GB.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andi Chandler , 2014-2016 +# Andi Chandler , 2014-2017 # Billy Humphreys , 2014 # newharha ehrara , 2015 # Richard Shaylor , 2014 @@ -12,8 +12,8 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-13 20:10+0200\n" -"PO-Revision-Date: 2017-09-19 18:35+\n" -"Last-Translator: carolyn \n" +"PO-Revision-Date: 2017-12-22 12:06+\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -339,4 +339,4 @@ msgstr "Tails specific tools" #: ../config/chroot_local-includes/usr/share/polkit-1/actions/org.boum.tails.root-terminal.policy.in.h:1 msgid "To start a Root Terminal, you need to authenticate." -msgstr "" +msgstr "To start a Root Terminal, you need to authenticate." diff --git a/tr.po b/tr.po index 2b8b58076..6c3ae2f1c 100644 --- a/tr.po +++ b/tr.po @@ -26,7 +26,7 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-09-13 20:10+0200\n" -"PO-Revision-Date: 2017-09-16 05:03+\n" +"PO-Revision-Date: 2017-12-22 11:55+\n" "Last-Translator: Kaya Zeren \n" "Language-Team: Turkish (http://www.transifex.com/otf/torproject/language/tr/)\n" "MIME-Version: 1.0\n" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbirdy_completed] Update translations for torbirdy_completed
commit a6bfece5e5b69c6044d34e320309ce61ceb44ae0 Author: Translation commit botDate: Fri Dec 22 12:16:33 2017 + Update translations for torbirdy_completed --- en_GB/torbirdy.dtd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/en_GB/torbirdy.dtd b/en_GB/torbirdy.dtd index 26d357eed..c88803ab5 100644 --- a/en_GB/torbirdy.dtd +++ b/en_GB/torbirdy.dtd @@ -38,6 +38,8 @@ + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/mat-gui] Update translations for mat-gui
commit 4785533bb30300fc11f96acfd87a0b8d0d009263 Author: Translation commit botDate: Fri Dec 22 12:16:39 2017 + Update translations for mat-gui --- en_GB.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en_GB.po b/en_GB.po index e37d45df6..4113e62f6 100644 --- a/en_GB.po +++ b/en_GB.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-02-10 23:06+0100\n" -"PO-Revision-Date: 2017-09-19 18:27+\n" +"PO-Revision-Date: 2017-12-22 12:02+\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/mat-gui_completed] Update translations for mat-gui_completed
commit 986a8b4e04ec65b609c2c6280adc576b6a376395 Author: Translation commit botDate: Fri Dec 22 12:16:45 2017 + Update translations for mat-gui_completed --- en_GB.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en_GB.po b/en_GB.po index e37d45df6..4113e62f6 100644 --- a/en_GB.po +++ b/en_GB.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-02-10 23:06+0100\n" -"PO-Revision-Date: 2017-09-19 18:27+\n" +"PO-Revision-Date: 2017-12-22 12:02+\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-launcher-properties_completed] Update translations for tor-launcher-properties_completed
commit f24bc72bc731ab5fcb9128557ab701eca338c4e2 Author: Translation commit botDate: Fri Dec 22 12:16:56 2017 + Update translations for tor-launcher-properties_completed --- en_GB/torlauncher.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/en_GB/torlauncher.properties b/en_GB/torlauncher.properties index 24bb4d63a..b09753e8c 100644 --- a/en_GB/torlauncher.properties +++ b/en_GB/torlauncher.properties @@ -28,7 +28,8 @@ torlauncher.error_bridges_missing=You must specify one or more bridges. torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges. torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings. -torlauncher.recommended_bridge=(recommended) +torlauncher.bridge_suffix.meek-amazon=(works in China) +torlauncher.bridge_suffix.meek-azure=(works in China) torlauncher.connect=Connect torlauncher.restart_tor=Restart Tor ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbirdy] Update translations for torbirdy
commit 8b0294306d3523592f47af59c9feac3a3a1e71f4 Author: Translation commit botDate: Fri Dec 22 12:16:24 2017 + Update translations for torbirdy --- en_GB/torbirdy.dtd | 2 -- 1 file changed, 2 deletions(-) diff --git a/en_GB/torbirdy.dtd b/en_GB/torbirdy.dtd index 232f04b54..c88803ab5 100644 --- a/en_GB/torbirdy.dtd +++ b/en_GB/torbirdy.dtd @@ -40,8 +40,6 @@ - - ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-persistence-setup] Update translations for tails-persistence-setup
commit 1400decc06b8f687a5a96b020ebd9a890246edfc Author: Translation commit botDate: Fri Dec 22 12:16:10 2017 + Update translations for tails-persistence-setup --- en_GB/en_GB.po | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po index 38e94e253..a7f2c8a9c 100644 --- a/en_GB/en_GB.po +++ b/en_GB/en_GB.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andi Chandler , 2014-2016 +# Andi Chandler , 2014-2017 # Billy Humphreys , 2014 # newharha ehrara , 2015 # Richard Shaylor , 2014 @@ -12,8 +12,8 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: Tails developers \n" "POT-Creation-Date: 2017-05-15 13:51+0200\n" -"PO-Revision-Date: 2017-09-19 18:52+\n" -"Last-Translator: carolyn \n" +"PO-Revision-Date: 2017-12-22 12:04+\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -55,11 +55,11 @@ msgstr "Pidgin profiles and OTR keyring" #: ../lib/Tails/Persistence/Configuration/Presets.pm:88 msgid "Thunderbird" -msgstr "" +msgstr "Thunderbird" #: ../lib/Tails/Persistence/Configuration/Presets.pm:90 msgid "Thunderbird profiles and locally stored email" -msgstr "" +msgstr "Thunderbird profiles and locally stored email" #: ../lib/Tails/Persistence/Configuration/Presets.pm:98 msgid "GNOME Keyring" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-persistence-setup_completed] Update translations for tails-persistence-setup_completed
commit c37a8c8afab186d1e4e918340362966cec794876 Author: Translation commit botDate: Fri Dec 22 12:16:16 2017 + Update translations for tails-persistence-setup_completed --- en_GB/en_GB.po | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po index 223bab5db..a7f2c8a9c 100644 --- a/en_GB/en_GB.po +++ b/en_GB/en_GB.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Andi Chandler , 2014-2016 +# Andi Chandler , 2014-2017 # Billy Humphreys , 2014 # newharha ehrara , 2015 # Richard Shaylor , 2014 @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: Tails developers \n" -"POT-Creation-Date: 2016-05-25 02:27+0200\n" -"PO-Revision-Date: 2016-06-06 08:15+\n" -"Last-Translator: carolyn \n" +"POT-Creation-Date: 2017-05-15 13:51+0200\n" +"PO-Revision-Date: 2017-12-22 12:04+\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -54,12 +54,12 @@ msgid "Pidgin profiles and OTR keyring" msgstr "Pidgin profiles and OTR keyring" #: ../lib/Tails/Persistence/Configuration/Presets.pm:88 -msgid "Icedove" -msgstr "Icedove" +msgid "Thunderbird" +msgstr "Thunderbird" #: ../lib/Tails/Persistence/Configuration/Presets.pm:90 -msgid "Icedove profiles and locally stored email" -msgstr "Icedove profiles and locally stored email" +msgid "Thunderbird profiles and locally stored email" +msgstr "Thunderbird profiles and locally stored email" #: ../lib/Tails/Persistence/Configuration/Presets.pm:98 msgid "GNOME Keyring" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/https_everywhere_completed] Update translations for https_everywhere_completed
commit c7ae21c1f9884895b6ddbb365d7646cad20281d3 Author: Translation commit botDate: Fri Dec 22 12:15:54 2017 + Update translations for https_everywhere_completed --- en_GB/https-everywhere.dtd | 37 - 1 file changed, 8 insertions(+), 29 deletions(-) diff --git a/en_GB/https-everywhere.dtd b/en_GB/https-everywhere.dtd index 2ac51cdd0..e8752886b 100644 --- a/en_GB/https-everywhere.dtd +++ b/en_GB/https-everywhere.dtd @@ -2,41 +2,22 @@ - - - - - - - - - - - + - - - + - - - + + + + + + - - - - - - - - - - @@ -52,5 +33,3 @@ - - ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torcheck_completed] Update translations for torcheck_completed
commit 8b6ead8c8a4d1c94e8a1c68aae1d98ae7c97c416 Author: Translation commit botDate: Fri Dec 22 12:15:20 2017 + Update translations for torcheck_completed --- en_GB/torcheck.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en_GB/torcheck.po b/en_GB/torcheck.po index ed89194c3..1e49131b6 100644 --- a/en_GB/torcheck.po +++ b/en_GB/torcheck.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "POT-Creation-Date: 2012-02-16 20:28+PDT\n" -"PO-Revision-Date: 2017-09-19 20:14+\n" +"PO-Revision-Date: 2017-12-22 12:05+\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/whisperback] Update translations for whisperback
commit acb2910fb6603f3103c20ed80036519cb100cb36 Author: Translation commit botDate: Fri Dec 22 12:15:27 2017 + Update translations for whisperback --- en_GB/en_GB.po | 13 +++-- 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po index 7abd61d84..7b1e630ae 100644 --- a/en_GB/en_GB.po +++ b/en_GB/en_GB.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Andi Chandler , 2017 # Richard Shaylor , 2014 msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-03-20 12:09+\n" -"PO-Revision-Date: 2017-09-19 23:30+\n" -"Last-Translator: carolyn \n" +"PO-Revision-Date: 2017-12-22 12:02+\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,19 +43,19 @@ msgstr "The %s variable was not found in any of the configuration files /etc/whi #: ../whisperBack/gui.py:110 msgid "Name of the affected software" -msgstr "" +msgstr "Name of the affected software" #: ../whisperBack/gui.py:112 msgid "Exact steps to reproduce the error" -msgstr "" +msgstr "Exact steps to reproduce the error" #: ../whisperBack/gui.py:114 msgid "Actual result and description of the error" -msgstr "" +msgstr "Actual result and description of the error" #: ../whisperBack/gui.py:116 msgid "Desired result" -msgstr "" +msgstr "Desired result" #: ../whisperBack/gui.py:152 msgid "Unable to load a valid configuration." ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/whisperback_completed] Update translations for whisperback_completed
commit 99af9af888d373f8db1cfd35fa7778c0c7719da4 Author: Translation commit botDate: Fri Dec 22 12:15:33 2017 + Update translations for whisperback_completed --- en_GB/en_GB.po | 61 +- 1 file changed, 39 insertions(+), 22 deletions(-) diff --git a/en_GB/en_GB.po b/en_GB/en_GB.po index 2eb4f79db..7b1e630ae 100644 --- a/en_GB/en_GB.po +++ b/en_GB/en_GB.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Andi Chandler , 2017 # Richard Shaylor , 2014 msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-12-16 19:54+0100\n" -"PO-Revision-Date: 2016-03-21 16:28+\n" -"Last-Translator: Richard Shaylor \n" +"POT-Creation-Date: 2017-03-20 12:09+\n" +"PO-Revision-Date: 2017-12-22 12:02+\n" +"Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -40,40 +41,56 @@ msgid "" "/etc/whisperback/config.py, ~/.whisperback/config.py, ./config.py" msgstr "The %s variable was not found in any of the configuration files /etc/whisperback/config.py, ~/.whisperback/config.py, ./config.py" -#: ../whisperBack/gui.py:148 +#: ../whisperBack/gui.py:110 +msgid "Name of the affected software" +msgstr "Name of the affected software" + +#: ../whisperBack/gui.py:112 +msgid "Exact steps to reproduce the error" +msgstr "Exact steps to reproduce the error" + +#: ../whisperBack/gui.py:114 +msgid "Actual result and description of the error" +msgstr "Actual result and description of the error" + +#: ../whisperBack/gui.py:116 +msgid "Desired result" +msgstr "Desired result" + +#: ../whisperBack/gui.py:152 msgid "Unable to load a valid configuration." msgstr "Unable to load a valid configuration." -#: ../whisperBack/gui.py:214 +#: ../whisperBack/gui.py:218 msgid "Sending mail..." msgstr "Sending mail..." -#: ../whisperBack/gui.py:215 +#: ../whisperBack/gui.py:219 msgid "Sending mail" msgstr "Sending mail" #. pylint: disable=C0301 -#: ../whisperBack/gui.py:217 +#: ../whisperBack/gui.py:221 msgid "This could take a while..." msgstr "This could take a while..." -#: ../whisperBack/gui.py:232 +#: ../whisperBack/gui.py:236 msgid "The contact email adress doesn't seem valid." msgstr "The contact email adress doesn't seem valid." -#: ../whisperBack/gui.py:249 +#: ../whisperBack/gui.py:253 msgid "Unable to send the mail: SMTP error." msgstr "Unable to send the mail: SMTP error." -#: ../whisperBack/gui.py:251 +#: ../whisperBack/gui.py:255 msgid "Unable to connect to the server." msgstr "Unable to connect to the server." -#: ../whisperBack/gui.py:253 +#: ../whisperBack/gui.py:257 msgid "Unable to create or to send the mail." msgstr "Unable to create or to send the mail." -#: ../whisperBack/gui.py:256 +#: ../whisperBack/gui.py:260 msgid "" "\n" "\n" @@ -82,20 +99,20 @@ msgid "" "If it does not work, you will be offered to save the bug report." msgstr "\n\nThe bug report could not be sent, likely due to network problems. Please try to reconnect to the network and click send again.\n\nIf it does not work, you will be offered to save the bug report." -#: ../whisperBack/gui.py:269 +#: ../whisperBack/gui.py:273 msgid "Your message has been sent." msgstr "Your message has been sent." -#: ../whisperBack/gui.py:276 +#: ../whisperBack/gui.py:280 msgid "An error occured during encryption." msgstr "An error occured during encryption." -#: ../whisperBack/gui.py:296 +#: ../whisperBack/gui.py:300 #, python-format msgid "Unable to save %s." msgstr "Unable to save %s." -#: ../whisperBack/gui.py:319 +#: ../whisperBack/gui.py:323 #, python-format msgid "" "The bug report could not be sent, likely due to network problems.\n" @@ -105,27 +122,27 @@ msgid "" "Do you want to save the bug report to a file?" msgstr "The bug report could not be sent, likely due to network problems.\n\nAs a work-around you can save the bug report as a file on a USB drive and try to send it to us at %s from your email account using another system. Note that your bug report will not be anonymous when doing so unless you take further steps yourself (e.g. using Tor with a throw-away email account).\n\nDo you want to save the bug report to a file?" -#: ../whisperBack/gui.py:379 ../data/whisperback.ui.h:21 +#: ../whisperBack/gui.py:383 ../data/whisperback.ui.h:21 msgid "WhisperBack" msgstr "WhisperBack" -#: ../whisperBack/gui.py:380 ../data/whisperback.ui.h:2 +#: ../whisperBack/gui.py:384 ../data/whisperback.ui.h:2 msgid "Send feedback in an encrypted mail." msgstr "Send feedback in an encrypted mail." -#: ../whisperBack/gui.py:383 +#: ../whisperBack/gui.py:387 msgid
[tor-commits] [translation/torcheck] Update translations for torcheck
commit 02e59be78e4a05fc36b066c80f8698ec0da8fd7a Author: Translation commit botDate: Fri Dec 22 12:15:14 2017 + Update translations for torcheck --- en_GB/torcheck.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en_GB/torcheck.po b/en_GB/torcheck.po index ed89194c3..1e49131b6 100644 --- a/en_GB/torcheck.po +++ b/en_GB/torcheck.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "POT-Creation-Date: 2012-02-16 20:28+PDT\n" -"PO-Revision-Date: 2017-09-19 20:14+\n" +"PO-Revision-Date: 2017-12-22 12:05+\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/otf/torproject/language/en_GB/)\n" "MIME-Version: 1.0\n" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/exoneratorproperties_completed] Update translations for exoneratorproperties_completed
commit eb785a949beee7ac14c3f5547b6200a27114867c Author: Translation commit botDate: Fri Dec 22 11:50:38 2017 + Update translations for exoneratorproperties_completed --- tr/exonerator.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tr/exonerator.properties b/tr/exonerator.properties index 6439bc97c..1dc802592 100644 --- a/tr/exonerator.properties +++ b/tr/exonerator.properties @@ -19,6 +19,8 @@ summary.invalidparams.invalidip.title=IP adresi parametresi geçersiz summary.invalidparams.invalidip.body=Maalesef, %s IP adresi geçersiz. Beklenen IP adresi biçimleri %s ve %s Åeklinde. summary.invalidparams.invalidtimestamp.title=Tarih parametresi geçersiz summary.invalidparams.invalidtimestamp.body=Maalesef, %s tarihi geçersiz. Beklenen tarih biçimi %s Åekilnde. +summary.invalidparams.timestamptoorecent.title=Tarih parametresi çok yakın +summary.invalidparams.timestamptoorecent.body=Veritabanı henüz bu isteÄi doÄru Åekilde cevaplamak için yeterli veri içermiyor olabilir. Kabul edilen en son veriler dün önceki günün. Lütfen aramanızı baÅka bir günde tekrarlayın. summary.serverproblem.nodata.title=Sunucu sorunu summary.serverproblem.nodata.body.text=Veri tabanında belirtilen tarih aralıÄında bir veri bulunamadı. Lütfen daha sonra yeniden deneyin. Bu sorun devam ederse lütfen %s! summary.serverproblem.nodata.body.link=bize bildirin ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/exoneratorproperties] Update translations for exoneratorproperties
commit c68b846f3e04762ac306732fcf71758836b61a9c Author: Translation commit botDate: Fri Dec 22 11:50:33 2017 + Update translations for exoneratorproperties --- tr/exonerator.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tr/exonerator.properties b/tr/exonerator.properties index 22569880e..1dc802592 100644 --- a/tr/exonerator.properties +++ b/tr/exonerator.properties @@ -20,7 +20,7 @@ summary.invalidparams.invalidip.body=Maalesef, %s IP adresi geçersiz. Beklenen summary.invalidparams.invalidtimestamp.title=Tarih parametresi geçersiz summary.invalidparams.invalidtimestamp.body=Maalesef, %s tarihi geçersiz. Beklenen tarih biçimi %s Åekilnde. summary.invalidparams.timestamptoorecent.title=Tarih parametresi çok yakın -summary.invalidparams.timestamptoorecent.body=The database may not yet contain enough data to correctly answer this request. The latest accepted data is the day before yesterday. Please repeat your search on another day. +summary.invalidparams.timestamptoorecent.body=Veritabanı henüz bu isteÄi doÄru Åekilde cevaplamak için yeterli veri içermiyor olabilir. Kabul edilen en son veriler dün önceki günün. Lütfen aramanızı baÅka bir günde tekrarlayın. summary.serverproblem.nodata.title=Sunucu sorunu summary.serverproblem.nodata.body.text=Veri tabanında belirtilen tarih aralıÄında bir veri bulunamadı. Lütfen daha sonra yeniden deneyin. Bu sorun devam ederse lütfen %s! summary.serverproblem.nodata.body.link=bize bildirin ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd
commit 13445bbb26de2d0ead9fec203d3d439b38a1d460 Author: Translation commit botDate: Fri Dec 22 11:47:49 2017 + Update translations for torbutton-torbuttondtd --- tr/torbutton.dtd | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tr/torbutton.dtd b/tr/torbutton.dtd index ebcaa67e4..f554c8366 100644 --- a/tr/torbutton.dtd +++ b/tr/torbutton.dtd @@ -33,10 +33,10 @@ - - - - + + + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/exoneratorproperties] Update translations for exoneratorproperties
commit 735bfb119ad792a04d4044b82f7f51219f2679ca Author: Translation commit botDate: Fri Dec 22 11:20:32 2017 + Update translations for exoneratorproperties --- tr/exonerator.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tr/exonerator.properties b/tr/exonerator.properties index cd1f71176..22569880e 100644 --- a/tr/exonerator.properties +++ b/tr/exonerator.properties @@ -19,7 +19,7 @@ summary.invalidparams.invalidip.title=IP adresi parametresi geçersiz summary.invalidparams.invalidip.body=Maalesef, %s IP adresi geçersiz. Beklenen IP adresi biçimleri %s ve %s Åeklinde. summary.invalidparams.invalidtimestamp.title=Tarih parametresi geçersiz summary.invalidparams.invalidtimestamp.body=Maalesef, %s tarihi geçersiz. Beklenen tarih biçimi %s Åekilnde. -summary.invalidparams.timestamptoorecent.title=Date parameter too recent +summary.invalidparams.timestamptoorecent.title=Tarih parametresi çok yakın summary.invalidparams.timestamptoorecent.body=The database may not yet contain enough data to correctly answer this request. The latest accepted data is the day before yesterday. Please repeat your search on another day. summary.serverproblem.nodata.title=Sunucu sorunu summary.serverproblem.nodata.body.text=Veri tabanında belirtilen tarih aralıÄında bir veri bulunamadı. Lütfen daha sonra yeniden deneyin. Bu sorun devam ederse lütfen %s! ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-launcher-network-settings_completed] Update translations for tor-launcher-network-settings_completed
commit 3842d2b41321f5d65081533739b771092329c9e2 Author: Translation commit botDate: Fri Dec 22 11:17:00 2017 + Update translations for tor-launcher-network-settings_completed --- tr/network-settings.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tr/network-settings.dtd b/tr/network-settings.dtd index 9e3cbe16c..85553956b 100644 --- a/tr/network-settings.dtd +++ b/tr/network-settings.dtd @@ -10,7 +10,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-launcher-network-settings] Update translations for tor-launcher-network-settings
commit 8eea488300a577af6546a10f2ef15a0f341b4e70 Author: Translation commit botDate: Fri Dec 22 11:16:54 2017 + Update translations for tor-launcher-network-settings --- tr/network-settings.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tr/network-settings.dtd b/tr/network-settings.dtd index 6111cfbe9..85553956b 100644 --- a/tr/network-settings.dtd +++ b/tr/network-settings.dtd @@ -10,7 +10,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/https_everywhere_completed] Update translations for https_everywhere_completed
commit ea851b77aabbb55083988fdb85f5dbf9e08ec090 Author: Translation commit botDate: Fri Dec 22 10:15:51 2017 + Update translations for https_everywhere_completed --- sv/ssl-observatory.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sv/ssl-observatory.dtd b/sv/ssl-observatory.dtd index 365602426..e9d909c89 100644 --- a/sv/ssl-observatory.dtd +++ b/sv/ssl-observatory.dtd @@ -27,7 +27,7 @@ ett väldigt påträngande företagsnätverk:"> "Säkert, om inte du använder ett företagsnätverk med hemliga intranät server namn:"> +"Skicka och kontrollera certifikat signerade av icke-standard root Certifikat Instanser"> ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/https_everywhere] Update translations for https_everywhere
commit 5549400e33dad99927075a89500ad7752c7b25d4 Author: Translation commit botDate: Fri Dec 22 10:15:40 2017 + Update translations for https_everywhere --- sv/ssl-observatory.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sv/ssl-observatory.dtd b/sv/ssl-observatory.dtd index 365602426..e9d909c89 100644 --- a/sv/ssl-observatory.dtd +++ b/sv/ssl-observatory.dtd @@ -27,7 +27,7 @@ ett väldigt påträngande företagsnätverk:"> "Säkert, om inte du använder ett företagsnätverk med hemliga intranät server namn:"> +"Skicka och kontrollera certifikat signerade av icke-standard root Certifikat Instanser"> ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits