[tor-commits] [translation/gettor] Update translations for gettor
commit 969615afb0273c3584f5d888745a70087192b0e2 Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 10:45:12 2015 + Update translations for gettor --- tr/gettor.po | 25 + 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/tr/gettor.po b/tr/gettor.po index a55b356..64d6f2e 100644 --- a/tr/gettor.po +++ b/tr/gettor.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Bullgeschichte bullgeschic...@riseup.net, 2015 # Emir Sarı bitig...@openmailbox.org, 2014 # Emre co...@operamail.com, 2013 # Ercan Erden ercer...@gmail.com, 2013 @@ -15,8 +16,8 @@ msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: \n POT-Creation-Date: 2013-01-19 13:40+0100\n -PO-Revision-Date: 2014-11-19 15:31+\n -Last-Translator: Volkan Gezer volkange...@gmail.com\n +PO-Revision-Date: 2015-04-29 10:45+\n +Last-Translator: Bullgeschichte bullgeschic...@riseup.net\n Language-Team: Turkish (http://www.transifex.com/projects/p/torproject/language/tr/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -37,7 +38,7 @@ msgid Unfortunately, we won't answer you at this address. You should make\n an account with GMAIL.COM, YAHOO.COM or YAHOO.CN and send the mail from\n one of those. -msgstr Maalesef, size bu adresten cevap veremiyoruz. Gmail.com, Yahoo.com\nveya Yahoo.cn'den edineceÄiniz bir hesaptan e-posta gönderin. +msgstr Maalesef, size bu adresinizden cevap veremiyoruz. Gmail.com, Yahoo.com\nveya Yahoo.cn'den edineceÄiniz bir hesaptan e-posta gönderin. #: lib/gettor/i18n.py:35 msgid @@ -51,7 +52,7 @@ msgid (We apologize if you didn't ask for this mail. Since your email is from\n a service that doesn't use DKIM, we're sending a short explanation,\n and then we'll ignore this email address for the next day or so.) -msgstr (Bu e-postayı talep etmediyseniz için özür dileriz. E-postanız DKIM kullanmayan bir servisten geldiÄi için bu kısa açıklamayı gönderiyoruz ve bir gün içinde gözardı edilecektir.) +msgstr (Bu e-postayı siz talep etmediyseniz özür dileriz. E-postanız DKIM kullanmayan bir servisten geldiÄi için bu kısa açıklamayı gönderiyoruz. Bu e-posta adresi bir gün boyunca gözardı edilecektir.) #: lib/gettor/i18n.py:43 lib/gettor/i18n.py:135 msgid @@ -81,13 +82,13 @@ msgstr Bana hangisini istediÄinizi söylerseniz size e-posta aracılıÄı ile msgid Please reply to this mail, and tell me a single package name anywhere \n in the body of your email. -msgstr Lütfen bu e-postayı yanıtlayarak ileti gövdesinde \ntek bir paket adını belirtin. +msgstr Lütfen bu e-postayı yanıtlayarak ileti gövdesinde \ntek bir paket adı belirtin. #: lib/gettor/i18n.py:64 msgid OBTAINING LOCALIZED VERSIONS OF TOR\n === -msgstr YERELLEÅTÄ°RÄ°LMÄ°Å TOR SÃRÃMLERÄ° EDÄ°NÄ°LÄ°YOR\n=== +msgstr YERELLEÅTÄ°RÄ°LMÄ°Å TOR SÃRÃMLERÄ° EDÄ°NÄ°LÄ°YOR\n= #: lib/gettor/i18n.py:67 msgid @@ -95,7 +96,7 @@ msgid language you want in the address you send the mail to:\n \n gettor...@torproject.org -msgstr Dilinizdeki bir Tor sürümünü edinmek için, istediÄiniz dili gönderdiÄiniz e-posta adresinde belirtiniz.\n\ngettor...@torproject.org +msgstr Ä°stediÄiniz dildeki bir Tor sürümü edinmek için, dilinizi gönderdiÄiniz\ne-posta adresinde belirtiniz.\n\ngettor...@torproject.org #: lib/gettor/i18n.py:72 msgid @@ -142,7 +143,7 @@ msgid If your bandwith is low or your provider doesn't allow you to\n receive large attachments in your email, GetTor can send you several\n small packages instead of one big one. -msgstr EÄer bant geniÅliÄiniz düÅük ya da Ä°nternet saÄlayıcınız büyük boyutlu ekler\nalmanıza izin vermiyorsa, GetTor size tek bir büyük dosya yerine küçük\nboyutlu bir kaç dosya gönderebilir. +msgstr EÄer bant geniÅliÄiniz düÅük ya da Ä°nternet saÄlayıcınız büyük boyutlu\nileti ekleri almanıza izin vermiyorsa, GetTor size tek bir büyük dosya \nyerine küçük boyutlu bir kaç dosya gönderebilir. #: lib/gettor/i18n.py:101 msgid @@ -151,23 +152,23 @@ msgid \n windows\n split -msgstr Yeni bir satıra \split\ sözcüÄünü aÅaÄıdaki gibi tek baÅına yazın\n(Bu kısım önemli!):\n\nwindows\nsplit +msgstr Yeni bir satıra \split\ sözcüÄünü aÅaÄıdaki gibi tek baÅına yazın\n(tek baÅına olması gerekli!):\n\nwindows\nsplit #: lib/gettor/i18n.py:107 msgid Sending this text in an email to GetTor will cause it to send you \n the Tor Browser Bundle in a number of 1,4MB attachments. -msgstr Bu metni e-posta ile GetTor'a göndermeniz Tor Tarayıcı Paketi'nin\n1.4 MB ekler halinde size gönderilmesini saÄlayacaktır. +msgstr Bu metni e-posta ile GetTor'a göndermeniz Tor Browser Paketi'nin\n1,4
[tor-commits] [translation/bridgedb] Update translations for bridgedb
commit 39ffb3b81c5080ce6cae71472c7c3bd39c4e1174 Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 10:45:03 2015 + Update translations for bridgedb --- tr/LC_MESSAGES/bridgedb.po | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tr/LC_MESSAGES/bridgedb.po b/tr/LC_MESSAGES/bridgedb.po index d10d5c2..ad5f8ff 100644 --- a/tr/LC_MESSAGES/bridgedb.po +++ b/tr/LC_MESSAGES/bridgedb.po @@ -18,7 +18,7 @@ msgid msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDBkeywords=bridgedb-reported,msgidcc=isis,sysrqbowner=isis'POT-Creation-Date: 2015-03-19 22:13+\n -PO-Revision-Date: 2015-04-29 10:14+\n +PO-Revision-Date: 2015-04-29 10:42+\n Last-Translator: Bullgeschichte bullgeschic...@riseup.net\n Language-Team: Turkish (http://www.transifex.com/projects/p/torproject/language/tr/)\n MIME-Version: 1.0\n @@ -175,7 +175,7 @@ msgstr Durumunuz hakkında olabildiÄince fazla bilgi verin.\nÃrneÄin kullanm #: lib/bridgedb/strings.py:103 msgid Here are your bridge lines: -msgstr Ä°Åte köprü çizgileriniz: +msgstr Ä°Åte köprü satırlarınız: #: lib/bridgedb/strings.py:104 msgid Get Bridges! @@ -247,7 +247,7 @@ msgstr Bu iletiyi görüntüler. #. plain-ol'-vanilla bridges. #: lib/bridgedb/strings.py:146 msgid Request vanilla bridges. -msgstr Sıradan köprüler iste. +msgstr Normal köprüler iste. #: lib/bridgedb/strings.py:147 msgid Request IPv6 bridges. @@ -256,17 +256,17 @@ msgstr IPv6 köprüleri iste. #. TRANSLATORS: Please DO NOT translate the word the word TYPE. #: lib/bridgedb/strings.py:149 msgid Request a Pluggable Transport by TYPE. -msgstr TYPE tarafından eklenebilir bir aktarım talep et. +msgstr TYPE uyumlu bir eklenebilir taÅıyıcı talep et. #. TRANSLATORS: Please DO NOT translate BridgeDB. #. TRANSLATORS: Please DO NOT translate GnuPG. #: lib/bridgedb/strings.py:152 msgid Get a copy of BridgeDB's public GnuPG key. -msgstr BridgeDB'nin ortak bir GnuPG anahtar kopyasını al. +msgstr BridgeDB'nin ortak GnuPG anahtar kopyasını al. #: lib/bridgedb/templates/base.html:89 msgid Report a Bug -msgstr Bir hata Bildir +msgstr Bir Hata Bildir #: lib/bridgedb/templates/base.html:92 msgid Source Code @@ -290,7 +290,7 @@ msgstr QR Kodunu Göster #: lib/bridgedb/templates/bridges.html:100 msgid QRCode for your bridge lines -msgstr Köprü hatlarınız için QR Kodu +msgstr Köprü satırlarınız için QR Kodu #. TRANSLATORS: Please translate this into some silly way to say #. There was a problem! in your language. For example, @@ -309,7 +309,7 @@ msgstr QR Kodunuzu alınırken bir hata olmuÅ gibi görünüyor. msgid This QRCode contains your bridge lines. Scan it with a QRCode reader to copy your bridge lines onto mobile and other devices. -msgstr Bu QR Kodu köprü hatlarınızı içeriyor. Köprü hatlarınızı bir mobil cihaza veya diÄer cihazlara kopyalamak için bir QR Tarayıcı kullanın. +msgstr Bu QR Kodu köprü satırlarınızı içeriyor. Köprü satırlarınızı bir mobil cihaza veya diÄer cihazlara kopyalamak için bir QR Tarayıcı kullanın. #: lib/bridgedb/templates/bridges.html:181 msgid There currently aren't any bridges available... @@ -325,12 +325,12 @@ msgstr Belki %s geri dönmeyi %s ve farklı bir köprü türü seçmeyi denemel #: lib/bridgedb/templates/index.html:11 #, python-format msgid Step %s1%s -msgstr %s1%s adım +msgstr Adım %s1%s #: lib/bridgedb/templates/index.html:13 #, python-format msgid Download %s Tor Browser %s -msgstr %s Tor Tarayıcı'yı %s Ä°ndirin +msgstr %s Tor Browser'ı %s Ä°ndirin #: lib/bridgedb/templates/index.html:25 #, python-format ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/gettor_completed] Update translations for gettor_completed
commit d9c4cfb33fa1aa3036c40d1f709ec731d94bf7e6 Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 10:45:16 2015 + Update translations for gettor_completed --- tr/gettor.po | 25 + 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/tr/gettor.po b/tr/gettor.po index a55b356..64d6f2e 100644 --- a/tr/gettor.po +++ b/tr/gettor.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Bullgeschichte bullgeschic...@riseup.net, 2015 # Emir Sarı bitig...@openmailbox.org, 2014 # Emre co...@operamail.com, 2013 # Ercan Erden ercer...@gmail.com, 2013 @@ -15,8 +16,8 @@ msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: \n POT-Creation-Date: 2013-01-19 13:40+0100\n -PO-Revision-Date: 2014-11-19 15:31+\n -Last-Translator: Volkan Gezer volkange...@gmail.com\n +PO-Revision-Date: 2015-04-29 10:45+\n +Last-Translator: Bullgeschichte bullgeschic...@riseup.net\n Language-Team: Turkish (http://www.transifex.com/projects/p/torproject/language/tr/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -37,7 +38,7 @@ msgid Unfortunately, we won't answer you at this address. You should make\n an account with GMAIL.COM, YAHOO.COM or YAHOO.CN and send the mail from\n one of those. -msgstr Maalesef, size bu adresten cevap veremiyoruz. Gmail.com, Yahoo.com\nveya Yahoo.cn'den edineceÄiniz bir hesaptan e-posta gönderin. +msgstr Maalesef, size bu adresinizden cevap veremiyoruz. Gmail.com, Yahoo.com\nveya Yahoo.cn'den edineceÄiniz bir hesaptan e-posta gönderin. #: lib/gettor/i18n.py:35 msgid @@ -51,7 +52,7 @@ msgid (We apologize if you didn't ask for this mail. Since your email is from\n a service that doesn't use DKIM, we're sending a short explanation,\n and then we'll ignore this email address for the next day or so.) -msgstr (Bu e-postayı talep etmediyseniz için özür dileriz. E-postanız DKIM kullanmayan bir servisten geldiÄi için bu kısa açıklamayı gönderiyoruz ve bir gün içinde gözardı edilecektir.) +msgstr (Bu e-postayı siz talep etmediyseniz özür dileriz. E-postanız DKIM kullanmayan bir servisten geldiÄi için bu kısa açıklamayı gönderiyoruz. Bu e-posta adresi bir gün boyunca gözardı edilecektir.) #: lib/gettor/i18n.py:43 lib/gettor/i18n.py:135 msgid @@ -81,13 +82,13 @@ msgstr Bana hangisini istediÄinizi söylerseniz size e-posta aracılıÄı ile msgid Please reply to this mail, and tell me a single package name anywhere \n in the body of your email. -msgstr Lütfen bu e-postayı yanıtlayarak ileti gövdesinde \ntek bir paket adını belirtin. +msgstr Lütfen bu e-postayı yanıtlayarak ileti gövdesinde \ntek bir paket adı belirtin. #: lib/gettor/i18n.py:64 msgid OBTAINING LOCALIZED VERSIONS OF TOR\n === -msgstr YERELLEÅTÄ°RÄ°LMÄ°Å TOR SÃRÃMLERÄ° EDÄ°NÄ°LÄ°YOR\n=== +msgstr YERELLEÅTÄ°RÄ°LMÄ°Å TOR SÃRÃMLERÄ° EDÄ°NÄ°LÄ°YOR\n= #: lib/gettor/i18n.py:67 msgid @@ -95,7 +96,7 @@ msgid language you want in the address you send the mail to:\n \n gettor...@torproject.org -msgstr Dilinizdeki bir Tor sürümünü edinmek için, istediÄiniz dili gönderdiÄiniz e-posta adresinde belirtiniz.\n\ngettor...@torproject.org +msgstr Ä°stediÄiniz dildeki bir Tor sürümü edinmek için, dilinizi gönderdiÄiniz\ne-posta adresinde belirtiniz.\n\ngettor...@torproject.org #: lib/gettor/i18n.py:72 msgid @@ -142,7 +143,7 @@ msgid If your bandwith is low or your provider doesn't allow you to\n receive large attachments in your email, GetTor can send you several\n small packages instead of one big one. -msgstr EÄer bant geniÅliÄiniz düÅük ya da Ä°nternet saÄlayıcınız büyük boyutlu ekler\nalmanıza izin vermiyorsa, GetTor size tek bir büyük dosya yerine küçük\nboyutlu bir kaç dosya gönderebilir. +msgstr EÄer bant geniÅliÄiniz düÅük ya da Ä°nternet saÄlayıcınız büyük boyutlu\nileti ekleri almanıza izin vermiyorsa, GetTor size tek bir büyük dosya \nyerine küçük boyutlu bir kaç dosya gönderebilir. #: lib/gettor/i18n.py:101 msgid @@ -151,23 +152,23 @@ msgid \n windows\n split -msgstr Yeni bir satıra \split\ sözcüÄünü aÅaÄıdaki gibi tek baÅına yazın\n(Bu kısım önemli!):\n\nwindows\nsplit +msgstr Yeni bir satıra \split\ sözcüÄünü aÅaÄıdaki gibi tek baÅına yazın\n(tek baÅına olması gerekli!):\n\nwindows\nsplit #: lib/gettor/i18n.py:107 msgid Sending this text in an email to GetTor will cause it to send you \n the Tor Browser Bundle in a number of 1,4MB attachments. -msgstr Bu metni e-posta ile GetTor'a göndermeniz Tor Tarayıcı Paketi'nin\n1.4 MB ekler halinde size gönderilmesini saÄlayacaktır. +msgstr Bu metni e-posta ile GetTor'a göndermeniz Tor Browser
[tor-commits] [translation/bridgedb_completed] Update translations for bridgedb_completed
commit d8f3682837c5c804bc09ebfb763bb351b4b7 Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 10:45:08 2015 + Update translations for bridgedb_completed --- tr/LC_MESSAGES/bridgedb.po | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tr/LC_MESSAGES/bridgedb.po b/tr/LC_MESSAGES/bridgedb.po index d10d5c2..ad5f8ff 100644 --- a/tr/LC_MESSAGES/bridgedb.po +++ b/tr/LC_MESSAGES/bridgedb.po @@ -18,7 +18,7 @@ msgid msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDBkeywords=bridgedb-reported,msgidcc=isis,sysrqbowner=isis'POT-Creation-Date: 2015-03-19 22:13+\n -PO-Revision-Date: 2015-04-29 10:14+\n +PO-Revision-Date: 2015-04-29 10:42+\n Last-Translator: Bullgeschichte bullgeschic...@riseup.net\n Language-Team: Turkish (http://www.transifex.com/projects/p/torproject/language/tr/)\n MIME-Version: 1.0\n @@ -175,7 +175,7 @@ msgstr Durumunuz hakkında olabildiÄince fazla bilgi verin.\nÃrneÄin kullanm #: lib/bridgedb/strings.py:103 msgid Here are your bridge lines: -msgstr Ä°Åte köprü çizgileriniz: +msgstr Ä°Åte köprü satırlarınız: #: lib/bridgedb/strings.py:104 msgid Get Bridges! @@ -247,7 +247,7 @@ msgstr Bu iletiyi görüntüler. #. plain-ol'-vanilla bridges. #: lib/bridgedb/strings.py:146 msgid Request vanilla bridges. -msgstr Sıradan köprüler iste. +msgstr Normal köprüler iste. #: lib/bridgedb/strings.py:147 msgid Request IPv6 bridges. @@ -256,17 +256,17 @@ msgstr IPv6 köprüleri iste. #. TRANSLATORS: Please DO NOT translate the word the word TYPE. #: lib/bridgedb/strings.py:149 msgid Request a Pluggable Transport by TYPE. -msgstr TYPE tarafından eklenebilir bir aktarım talep et. +msgstr TYPE uyumlu bir eklenebilir taÅıyıcı talep et. #. TRANSLATORS: Please DO NOT translate BridgeDB. #. TRANSLATORS: Please DO NOT translate GnuPG. #: lib/bridgedb/strings.py:152 msgid Get a copy of BridgeDB's public GnuPG key. -msgstr BridgeDB'nin ortak bir GnuPG anahtar kopyasını al. +msgstr BridgeDB'nin ortak GnuPG anahtar kopyasını al. #: lib/bridgedb/templates/base.html:89 msgid Report a Bug -msgstr Bir hata Bildir +msgstr Bir Hata Bildir #: lib/bridgedb/templates/base.html:92 msgid Source Code @@ -290,7 +290,7 @@ msgstr QR Kodunu Göster #: lib/bridgedb/templates/bridges.html:100 msgid QRCode for your bridge lines -msgstr Köprü hatlarınız için QR Kodu +msgstr Köprü satırlarınız için QR Kodu #. TRANSLATORS: Please translate this into some silly way to say #. There was a problem! in your language. For example, @@ -309,7 +309,7 @@ msgstr QR Kodunuzu alınırken bir hata olmuÅ gibi görünüyor. msgid This QRCode contains your bridge lines. Scan it with a QRCode reader to copy your bridge lines onto mobile and other devices. -msgstr Bu QR Kodu köprü hatlarınızı içeriyor. Köprü hatlarınızı bir mobil cihaza veya diÄer cihazlara kopyalamak için bir QR Tarayıcı kullanın. +msgstr Bu QR Kodu köprü satırlarınızı içeriyor. Köprü satırlarınızı bir mobil cihaza veya diÄer cihazlara kopyalamak için bir QR Tarayıcı kullanın. #: lib/bridgedb/templates/bridges.html:181 msgid There currently aren't any bridges available... @@ -325,12 +325,12 @@ msgstr Belki %s geri dönmeyi %s ve farklı bir köprü türü seçmeyi denemel #: lib/bridgedb/templates/index.html:11 #, python-format msgid Step %s1%s -msgstr %s1%s adım +msgstr Adım %s1%s #: lib/bridgedb/templates/index.html:13 #, python-format msgid Download %s Tor Browser %s -msgstr %s Tor Tarayıcı'yı %s Ä°ndirin +msgstr %s Tor Browser'ı %s Ä°ndirin #: lib/bridgedb/templates/index.html:25 #, python-format ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/gettor] Update translations for gettor
commit 3682c0afaa2f69d0324f50b1368bb96f62b9de4d Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 11:15:06 2015 + Update translations for gettor --- tr/gettor.po | 36 ++-- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/tr/gettor.po b/tr/gettor.po index 64d6f2e..82fdd3e 100644 --- a/tr/gettor.po +++ b/tr/gettor.po @@ -16,7 +16,7 @@ msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: \n POT-Creation-Date: 2013-01-19 13:40+0100\n -PO-Revision-Date: 2015-04-29 10:45+\n +PO-Revision-Date: 2015-04-29 11:13+\n Last-Translator: Bullgeschichte bullgeschic...@riseup.net\n Language-Team: Turkish (http://www.transifex.com/projects/p/torproject/language/tr/)\n MIME-Version: 1.0\n @@ -175,43 +175,43 @@ msgid 2.) Unzip all files ending in \.z\. If you saved all attachments to\n a fresh folder before, simply unzip all files in that folder. If you don't\n know how to unzip the .z files, please see the UNPACKING THE FILES section. -msgstr 2) \.z\ ile biten tüm dosyaları açın. EÄer tüm ekleri daha önce boÅ bir dizine\naçtıysanız, bu dosyaya açabilirsiniz. EÄer sıkıÅtırılmıŠdosyaların nasıl\naçılacaÄını bilmiyorsanız \DOSYALARIN AÃILMASI\ kısmına bakın. +msgstr 2) \.z\ ile biten tüm dosyaları açın. EÄer tüm ekleri daha önce boÅ bir klasöre\nkaydettiyseniz, bu klasördeki tüm .z dosyalarını açın. EÄer sıkıÅtırılmıŠdosyaların nasıl\naçılacaÄını bilmiyorsanız \DOSYALARIN AÃILMASI\ kısmına bakın. #: lib/gettor/i18n.py:119 msgid 3.) Verify all files as described in the mail you received with \n each package. (gpg --verify) -msgstr 3) AldıÄınız e-postadaki tüm dosyaları doÄrulayın.\n(gpg --verify) +msgstr 3) Her bir dosyayı aldıÄınız e-postadaki yöntemle doÄrulayın.\n(gpg --verify) #: lib/gettor/i18n.py:122 msgid 4.) Now unpack the multi-volume archive into one file by double-\n clicking the file ending in \..split.part01.exe\. This should start the \n process automatically. -msgstr 4) \..split.part01.exe\ Åeklinde biten çok parçalı arÅiv dosyasına\nçift tıklayarak açın. Bu süreci otomatik olarak baÅlatacaktır. +msgstr 4) \..split.part01.exe\ Åeklinde biten çok parçalı arÅiv dosyasına\nçift tıklayarak tek dosya oluÅturacak Åekilde arÅivi açın.\nÄ°Ålem otomatik olarak baÅlayacaktır. #: lib/gettor/i18n.py:126 msgid 5.) After unpacking is finished, you should find a newly created \n \.exe\ file in your destination folder. Simply doubleclick\n that and Tor Browser Bundle should start within a few seconds. -msgstr 5) Paketin açılması tamamlandıktan sonra hedef dizininde yeni oluÅturulan\nbir \.exe\ dosyası bulacaksınız. Buna çift tıkladıktan kısa\nsüre sonra Tor Tarayıcı Paketi çalıÅmaya baÅlayacaktır. +msgstr 5) ArÅivin açılması tamamlandıktan sonra hedef klasörde yeni \noluÅturulan bir \.exe\ dosyası bulacaksınız. Buna çift tıkladıktan kısa\nsüre sonra Tor Browser Paketi çalıÅmaya baÅlayacaktır. #: lib/gettor/i18n.py:130 msgid 6.) That's it. You're done. Thanks for using Tor and have fun! -msgstr 6. Bu kadar. Tamamlandı. Tor kullandıÄınız için teÅekkürler ve iyi eÄlenceler! +msgstr 6. Hepsi bu. Ä°Ålem Tamamlandı. Tor kullandıÄınız için teÅekkürler ve iyi eÄlenceler! #: lib/gettor/i18n.py:132 msgid SUPPORT\n === -msgstr DESTEK\n=== +msgstr DESTEK\n== #: lib/gettor/i18n.py:138 msgid Here's your requested software as a zip file. Please unzip the\n package and verify the signature. -msgstr Ä°stediÄiniz dosya zip olarak karÅınızda. Lütfen paketi açın ve imzasını\ndoÄrulayın. +msgstr Ä°stediÄiniz yazılım zip dosyası olarak burada. Lütfen arÅivi açın \nve imzasını doÄrulayın. #: lib/gettor/i18n.py:141 msgid @@ -221,7 +221,7 @@ msgid tool as follows after unpacking the zip file:\n \n gpg --verify tor-browser-1.3.24_en-US.exe.asc tor-browser-1.3.24_en-US.exe -msgstr Ä°MZA DOÄRULAMASI\n=\nEÄer GnuPG bilgisayarınızda kurulu ise zip dosyasını açtıktan sonra komut satırından gpg aracını aÅaÄıdaki gibi kullanın:\n\ngpg --verify tor-browser-1.3.24_en-US.exe.asc tor-browser-1.3.24_en-US.exe +msgstr Ä°MZA DOÄRULAMASI\n\nEÄer GnuPG bilgisayarınızda kurulu ise, zip arÅivini açtıktan sonra \nkomut satırından gpg aracını aÅaÄıdaki gibi çalıÅtırın:\n\ngpg --verify tor-browser-1.3.24_en-US.exe.asc tor-browser-1.3.24_en-US.exe #: lib/gettor/i18n.py:148 msgid @@ -236,13 +236,13 @@ msgid a graphical user interface for GnuPG on this website:\n \n http://www.gnupg.org/related_software/frontends.html; -msgstr Komut satırı ile ilgili bilginiz yetersiz ise aÅaÄıdaki sitede GnuPG\niçin bir grafik kullanıcı arabirimi bulmayı deneyin:\n\n
[tor-commits] [translation/gettor_completed] Update translations for gettor_completed
commit cbdf367679cc743c68a6fa04bb3f8a059d6a295c Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 11:15:11 2015 + Update translations for gettor_completed --- tr/gettor.po | 36 ++-- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/tr/gettor.po b/tr/gettor.po index 64d6f2e..82fdd3e 100644 --- a/tr/gettor.po +++ b/tr/gettor.po @@ -16,7 +16,7 @@ msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: \n POT-Creation-Date: 2013-01-19 13:40+0100\n -PO-Revision-Date: 2015-04-29 10:45+\n +PO-Revision-Date: 2015-04-29 11:13+\n Last-Translator: Bullgeschichte bullgeschic...@riseup.net\n Language-Team: Turkish (http://www.transifex.com/projects/p/torproject/language/tr/)\n MIME-Version: 1.0\n @@ -175,43 +175,43 @@ msgid 2.) Unzip all files ending in \.z\. If you saved all attachments to\n a fresh folder before, simply unzip all files in that folder. If you don't\n know how to unzip the .z files, please see the UNPACKING THE FILES section. -msgstr 2) \.z\ ile biten tüm dosyaları açın. EÄer tüm ekleri daha önce boÅ bir dizine\naçtıysanız, bu dosyaya açabilirsiniz. EÄer sıkıÅtırılmıŠdosyaların nasıl\naçılacaÄını bilmiyorsanız \DOSYALARIN AÃILMASI\ kısmına bakın. +msgstr 2) \.z\ ile biten tüm dosyaları açın. EÄer tüm ekleri daha önce boÅ bir klasöre\nkaydettiyseniz, bu klasördeki tüm .z dosyalarını açın. EÄer sıkıÅtırılmıŠdosyaların nasıl\naçılacaÄını bilmiyorsanız \DOSYALARIN AÃILMASI\ kısmına bakın. #: lib/gettor/i18n.py:119 msgid 3.) Verify all files as described in the mail you received with \n each package. (gpg --verify) -msgstr 3) AldıÄınız e-postadaki tüm dosyaları doÄrulayın.\n(gpg --verify) +msgstr 3) Her bir dosyayı aldıÄınız e-postadaki yöntemle doÄrulayın.\n(gpg --verify) #: lib/gettor/i18n.py:122 msgid 4.) Now unpack the multi-volume archive into one file by double-\n clicking the file ending in \..split.part01.exe\. This should start the \n process automatically. -msgstr 4) \..split.part01.exe\ Åeklinde biten çok parçalı arÅiv dosyasına\nçift tıklayarak açın. Bu süreci otomatik olarak baÅlatacaktır. +msgstr 4) \..split.part01.exe\ Åeklinde biten çok parçalı arÅiv dosyasına\nçift tıklayarak tek dosya oluÅturacak Åekilde arÅivi açın.\nÄ°Ålem otomatik olarak baÅlayacaktır. #: lib/gettor/i18n.py:126 msgid 5.) After unpacking is finished, you should find a newly created \n \.exe\ file in your destination folder. Simply doubleclick\n that and Tor Browser Bundle should start within a few seconds. -msgstr 5) Paketin açılması tamamlandıktan sonra hedef dizininde yeni oluÅturulan\nbir \.exe\ dosyası bulacaksınız. Buna çift tıkladıktan kısa\nsüre sonra Tor Tarayıcı Paketi çalıÅmaya baÅlayacaktır. +msgstr 5) ArÅivin açılması tamamlandıktan sonra hedef klasörde yeni \noluÅturulan bir \.exe\ dosyası bulacaksınız. Buna çift tıkladıktan kısa\nsüre sonra Tor Browser Paketi çalıÅmaya baÅlayacaktır. #: lib/gettor/i18n.py:130 msgid 6.) That's it. You're done. Thanks for using Tor and have fun! -msgstr 6. Bu kadar. Tamamlandı. Tor kullandıÄınız için teÅekkürler ve iyi eÄlenceler! +msgstr 6. Hepsi bu. Ä°Ålem Tamamlandı. Tor kullandıÄınız için teÅekkürler ve iyi eÄlenceler! #: lib/gettor/i18n.py:132 msgid SUPPORT\n === -msgstr DESTEK\n=== +msgstr DESTEK\n== #: lib/gettor/i18n.py:138 msgid Here's your requested software as a zip file. Please unzip the\n package and verify the signature. -msgstr Ä°stediÄiniz dosya zip olarak karÅınızda. Lütfen paketi açın ve imzasını\ndoÄrulayın. +msgstr Ä°stediÄiniz yazılım zip dosyası olarak burada. Lütfen arÅivi açın \nve imzasını doÄrulayın. #: lib/gettor/i18n.py:141 msgid @@ -221,7 +221,7 @@ msgid tool as follows after unpacking the zip file:\n \n gpg --verify tor-browser-1.3.24_en-US.exe.asc tor-browser-1.3.24_en-US.exe -msgstr Ä°MZA DOÄRULAMASI\n=\nEÄer GnuPG bilgisayarınızda kurulu ise zip dosyasını açtıktan sonra komut satırından gpg aracını aÅaÄıdaki gibi kullanın:\n\ngpg --verify tor-browser-1.3.24_en-US.exe.asc tor-browser-1.3.24_en-US.exe +msgstr Ä°MZA DOÄRULAMASI\n\nEÄer GnuPG bilgisayarınızda kurulu ise, zip arÅivini açtıktan sonra \nkomut satırından gpg aracını aÅaÄıdaki gibi çalıÅtırın:\n\ngpg --verify tor-browser-1.3.24_en-US.exe.asc tor-browser-1.3.24_en-US.exe #: lib/gettor/i18n.py:148 msgid @@ -236,13 +236,13 @@ msgid a graphical user interface for GnuPG on this website:\n \n http://www.gnupg.org/related_software/frontends.html; -msgstr Komut satırı ile ilgili bilginiz yetersiz ise aÅaÄıdaki sitede GnuPG\niçin bir grafik kullanıcı arabirimi bulmayı deneyin:\n\n
[tor-commits] [translation/gettor] Update translations for gettor
commit e1441e577a41809236b8f11863b06d2b4f42c43d Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 12:15:05 2015 + Update translations for gettor --- tr/gettor.po | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tr/gettor.po b/tr/gettor.po index 82fdd3e..71fc97a 100644 --- a/tr/gettor.po +++ b/tr/gettor.po @@ -16,7 +16,7 @@ msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: \n POT-Creation-Date: 2013-01-19 13:40+0100\n -PO-Revision-Date: 2015-04-29 11:13+\n +PO-Revision-Date: 2015-04-29 12:14+\n Last-Translator: Bullgeschichte bullgeschic...@riseup.net\n Language-Team: Turkish (http://www.transifex.com/projects/p/torproject/language/tr/)\n MIME-Version: 1.0\n @@ -315,13 +315,13 @@ msgid requested. Please send us another package name or request the same package \n again, but remove the 'split' keyword. In that case we'll send you the whole \n package. Make sure this is what you want. -msgstr Ne yazık ki istediÄiniz paket için parçalı paket mevcut deÄil. Lütfen bize baÅka\nbir paket adı yollayın veya aynı paketi isteyin, ancak bu defa 'split' sözcüÄünü\nçıkartın. Bu durumda size tüm paketi yollarız. Ä°stediÄinizin bu olduÄundan\nemin olun. +msgstr Ne yazık ki istediÄiniz paket için parçalı gönderim seçeneÄi mevcut deÄil. \nLütfen bize baÅka bir paket adı yollayın ya da aynı paketi 'split' sözcüÄünü\nçıkartarak isteyin. Bu durumda paket tek parça olarak yollanacaktır. \nÄ°stediÄinizin bu olduÄundan emin olun. #: lib/gettor/i18n.py:202 msgid UNPACKING THE FILES\n === -msgstr PAKETLERÄ°N AÃILMASI\n=== +msgstr ARÅÄ°V DOSYALARININ AÃILMASI\n=== #: lib/gettor/i18n.py:205 msgid @@ -330,7 +330,7 @@ msgid your computer yet, you can download it here:\n \n http://www.7-zip.org/; -msgstr AldıÄınız dosyaları açmanızın en kolay yolu, ücretsiz bir dosya \nsıkıÅtırma/açma aracı olan 7-Zip kurmaktır. EÄer bilgisayarınızda\nkurulu deÄilse aÅaÄıdaki adresten edinebilirsiniz.\n\nhttp://www.7-zip.org/; +msgstr Elinize geçen arÅiv dosyalarını açmanın en kolay yolu, ücretsiz bir dosya \nsıkıÅtırma/açma aracı olan 7-Zip kurmaktır. EÄer bilgisayarınızda\nkurulu deÄilse aÅaÄıdaki adresten edinebilirsiniz.\n\nhttp://www.7-zip.org/; #: lib/gettor/i18n.py:211 msgid @@ -344,7 +344,7 @@ msgid .zip. For example, if you recevied a file called \windows.z\, rename it to \n \windows.zip\. You should then be able to extract the archive with common \n file archiver programs that probably are already installed on your computer. -msgstr .z dosyalarını açman bir alternatif yolu da isimlerini .zip olarak \ndeÄiÅtirmektir. ÃrneÄin, \windows.z\ isminde bir dosya edindiyseniz,\nismini \windows.zip\ olarak deÄiÅtirin. Bundan sonra muhtemelen bilgisayarınızda kurulu olan yaygın dosya açma programlarını kullanabilirsiniz. +msgstr .z dosyalarını açman bir alternatif yolu da isimlerini .zip olarak deÄiÅtirmektir. \nÃrneÄin, \windows.z\ isminde bir dosya edindiyseniz, ismini \windows.zip\ \nolarak deÄiÅtirin. Sonrasında bilgisayarınızda kurulu olan yaygın arÅiv açma programlarını kullanabilirsiniz. #: lib/gettor/i18n.py:219 msgid ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/gettor_completed] Update translations for gettor_completed
commit 1444b772f9c249a7e46a83666218a85ae6f2faaf Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 12:15:09 2015 + Update translations for gettor_completed --- tr/gettor.po | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tr/gettor.po b/tr/gettor.po index 82fdd3e..71fc97a 100644 --- a/tr/gettor.po +++ b/tr/gettor.po @@ -16,7 +16,7 @@ msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: \n POT-Creation-Date: 2013-01-19 13:40+0100\n -PO-Revision-Date: 2015-04-29 11:13+\n +PO-Revision-Date: 2015-04-29 12:14+\n Last-Translator: Bullgeschichte bullgeschic...@riseup.net\n Language-Team: Turkish (http://www.transifex.com/projects/p/torproject/language/tr/)\n MIME-Version: 1.0\n @@ -315,13 +315,13 @@ msgid requested. Please send us another package name or request the same package \n again, but remove the 'split' keyword. In that case we'll send you the whole \n package. Make sure this is what you want. -msgstr Ne yazık ki istediÄiniz paket için parçalı paket mevcut deÄil. Lütfen bize baÅka\nbir paket adı yollayın veya aynı paketi isteyin, ancak bu defa 'split' sözcüÄünü\nçıkartın. Bu durumda size tüm paketi yollarız. Ä°stediÄinizin bu olduÄundan\nemin olun. +msgstr Ne yazık ki istediÄiniz paket için parçalı gönderim seçeneÄi mevcut deÄil. \nLütfen bize baÅka bir paket adı yollayın ya da aynı paketi 'split' sözcüÄünü\nçıkartarak isteyin. Bu durumda paket tek parça olarak yollanacaktır. \nÄ°stediÄinizin bu olduÄundan emin olun. #: lib/gettor/i18n.py:202 msgid UNPACKING THE FILES\n === -msgstr PAKETLERÄ°N AÃILMASI\n=== +msgstr ARÅÄ°V DOSYALARININ AÃILMASI\n=== #: lib/gettor/i18n.py:205 msgid @@ -330,7 +330,7 @@ msgid your computer yet, you can download it here:\n \n http://www.7-zip.org/; -msgstr AldıÄınız dosyaları açmanızın en kolay yolu, ücretsiz bir dosya \nsıkıÅtırma/açma aracı olan 7-Zip kurmaktır. EÄer bilgisayarınızda\nkurulu deÄilse aÅaÄıdaki adresten edinebilirsiniz.\n\nhttp://www.7-zip.org/; +msgstr Elinize geçen arÅiv dosyalarını açmanın en kolay yolu, ücretsiz bir dosya \nsıkıÅtırma/açma aracı olan 7-Zip kurmaktır. EÄer bilgisayarınızda\nkurulu deÄilse aÅaÄıdaki adresten edinebilirsiniz.\n\nhttp://www.7-zip.org/; #: lib/gettor/i18n.py:211 msgid @@ -344,7 +344,7 @@ msgid .zip. For example, if you recevied a file called \windows.z\, rename it to \n \windows.zip\. You should then be able to extract the archive with common \n file archiver programs that probably are already installed on your computer. -msgstr .z dosyalarını açman bir alternatif yolu da isimlerini .zip olarak \ndeÄiÅtirmektir. ÃrneÄin, \windows.z\ isminde bir dosya edindiyseniz,\nismini \windows.zip\ olarak deÄiÅtirin. Bundan sonra muhtemelen bilgisayarınızda kurulu olan yaygın dosya açma programlarını kullanabilirsiniz. +msgstr .z dosyalarını açman bir alternatif yolu da isimlerini .zip olarak deÄiÅtirmektir. \nÃrneÄin, \windows.z\ isminde bir dosya edindiyseniz, ismini \windows.zip\ \nolarak deÄiÅtirin. Sonrasında bilgisayarınızda kurulu olan yaygın arÅiv açma programlarını kullanabilirsiniz. #: lib/gettor/i18n.py:219 msgid ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor_animation] Update translations for tor_animation
commit a2bd68f8b00f39a5cb67ebf0fc8c3b40552f05e9 Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 13:16:41 2015 + Update translations for tor_animation --- fi.srt | 89 ++-- 1 file changed, 42 insertions(+), 47 deletions(-) diff --git a/fi.srt b/fi.srt index 3044d5d..83fd959 100644 --- a/fi.srt +++ b/fi.srt @@ -20,145 +20,140 @@ Annappa kun selitän paremmin. 6 00:00:14,920 -- 00:00:17,740 -Right at this moment, -if someone attempts to look you up, +Juuri tällä hetkellä, jos joku yrittää etsiä sinua, 7 00:00:18,060 -- 00:00:22,480 -they'll see your real identity, -precise location, operating system, +he näkevät todellisen identiteettisi, tarkan sijaintisi, käyttöjärjestelmäsi, 8 00:00:22,800 -- 00:00:26,500 -all the sites you've visited, -the browser you use to surf the web, +kaikki sivustot, joilla olet vieraillut, selaimen, jolla surffailet netissä, 9 00:00:26,700 -- 00:00:29,140 -and so much more information -about you and your life +ja niin paljon muuta tietoja sinusta ja elämästäsi 10 -00:00:29,620 -- 00:00:32,460 -which you probably didn't mean -to share with unknown strangers, +00:00:29,200 -- 00:00:31,500 +jota et luultavasti tarkoita jakaa tuntemattomien muukalaisten kanssa, 11 -00:00:32,920 -- 00:00:35,840 -who could easily use this data -to exploit you. +00:00:31,700 -- 00:00:34,000 +jotka voivat käyttää näität tietoja helposti +käyttääkseen sinua hyödyksi. 12 -00:00:36,220 -- 00:00:38,120 -But not if you're using Tor! +00:00:34,500 -- 00:00:37,000 +Mutta ei, jos käytät Tor-ohjelmistoa! 13 -00:00:39,140 -- 00:00:42,840 -Tor Browser protects our privacy -and identity on the Internet. +00:00:37,140 -- 00:00:40,840 +Tor-selain suojelee yksityisyyttäsi +ja identiteettiasi Internetissä. 14 -00:00:43,560 -- 00:00:46,760 -Tor secures your connection -with three layers of encryption +00:00:41,560 -- 00:00:44,760 +Tor varmistaa yhteytesi kolmen +kerroksen salauksella 15 -00:00:46,940 -- 00:00:51,760 -and passes it through three voluntarily -operated servers around the world, +00:00:44,940 -- 00:00:49,760 +ja välittää sen kolmen vapaaehtoisesti ympäri +maailman ylläpidetyn palvelimen kautta, 16 -00:00:52,280 -- 00:00:55,520 -which enables us to communicate -anonymously over the Internet. +00:00:50,280 -- 00:00:53,520 +jotka ottavat käyttöön anonyymin +viestinnän Internetissä. 17 -00:00:58,560 -- 00:01:00,280 +00:00:56,560 -- 00:00:58,280 Tor also protects our data 18 -00:01:00,400 -- 00:01:03,900 +00:00:58,400 -- 00:01:01,900 against corporate or government targeted and mass surveillance. 19 -00:01:04,880 -- 00:01:09,340 +00:01:02,880 -- 00:01:07,340 Perhaps you live in a repressive country which tries to control and surveil the Internet. 20 -00:01:09,900 -- 00:01:13,800 +00:01:07,900 -- 00:01:11,800 Or perhaps you don't want big corporations taking advantage of your personal information. 21 -00:01:14,880 -- 00:01:17,640 +00:01:12,880 -- 00:01:15,640 Tor makes all of its users to look the same 22 -00:01:17,920 -- 00:01:20,800 +00:01:15,920 -- 00:01:18,800 which confuses the observer and makes you anonymous. 23 -00:01:21,500 -- 00:01:24,980 +00:01:19,500 -- 00:01:22,980 So, the more people use the Tor network, the stronger it gets 24 -00:01:25,140 -- 00:01:29,800 +00:01:23,140 -- 00:01:27,800 as it's easier to hide in a crowd of people who look exactly the same. 25 -00:01:30,700 -- 00:01:33,240 +00:01:28,700 -- 00:01:31,240 You can bypass the censorship without being worried about 26 -00:01:33,400 -- 00:01:36,100 +00:01:31,400 -- 00:01:34,100 the censor knowing what you do on the Internet. 27 -00:01:38,540 -- 00:01:41,440 +00:01:36,540 -- 00:01:39,440 The ads won't follow you everywhere for months, 28 -00:01:41,640 -- 00:01:43,300 +00:01:39,640 -- 00:01:41,300 starting when you first clicked on a product. 29 -00:01:45,880 -- 00:01:49,380 +00:01:43,880 -- 00:01:47,380 By using Tor, the sites you visit won't even know who you are, 30 -00:01:49,540 -- 00:01:51,760 +00:01:47,540 -- 00:01:49,760 from what part of the world you're visiting them, 31 -00:01:51,920 -- 00:01:53,920 +00:01:49,920 -- 00:01:51,920 unless you login and tell them so. 32 -00:01:56,200 -- 00:01:57,840 +00:01:54,200 -- 00:01:55,840 By downloading and using Tor, 33 -00:01:58,200 -- 00:02:00,560 +00:01:56,200 -- 00:01:58,560 you can protect the people who need anonymity, 34 -00:02:00,880 -- 00:02:03,640 +00:01:58,880 -- 00:02:01,640 like activists, journalists and bloggers. 35 -00:02:04,000 -- 00:02:09,000 +00:02:02,000 -- 00:02:07,000 Download and use Tor! Or run a relay! ___ 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 86a46be7252970fa3c33f342b99b5e14858aa918 Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 13:16:22 2015 + Update translations for torbutton-torbuttondtd --- fi/torbutton.dtd |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fi/torbutton.dtd b/fi/torbutton.dtd index 5aedada..b214a1b 100644 --- a/fi/torbutton.dtd +++ b/fi/torbutton.dtd @@ -158,8 +158,8 @@ !ENTITY torbutton.prefs.sec_font_rend_svg_tooltip SVG OpenType-kirjasinrenderointimekanismi on poissa käytöstä. !ENTITY torbutton.prefs.sec_med_low Keskitaso-Alhainen !ENTITY torbutton.prefs.sec_gen_desc Tällä turvatasolla toteutetaan seuraavat muutokset (katso yksityiskohdat siirtämällä hiiriosoitin kohdalle): -!ENTITY torbutton.prefs.sec_html5_desc HTML5 video and audio media become click-to-play via NoScript. -!ENTITY torbutton.prefs.sec_html5_tooltip On some sites, you might need to use the NoScript toolbar button to enable these media objects. +!ENTITY torbutton.prefs.sec_html5_desc HTML5-videomedia ja -audiomedia voivat tulla napsauksella soitettavaksi NoScript-painikkeen kautta. +!ENTITY torbutton.prefs.sec_html5_tooltip Joillakin sivustoilla saatat tarvita NoScript-työkalupalkkipainikkeen käyttöä näiden media-objektien käyttöönottamiseksi. !ENTITY torbutton.prefs.sec_some_jit_desc Jotkut JavaScript-suorituskykyoptimoinnit ovat poissa käytöstä. !ENTITY torbutton.prefs.sec_jit_desc_tooltip ION JIT, Tyyppipäättely, ASM.JS. !ENTITY torbutton.prefs.sec_baseline_jit_desc_tooltip Baseline JIT. @@ -175,7 +175,7 @@ !ENTITY torbutton.prefs.sec_svg_desc Jotkut kuvien tyypit ovat poissa käytöstä. !ENTITY torbutton.prefs.sec_svg_desc_tooltip SVG-kuvat ovat poissa käytöstä. !ENTITY torbutton.prefs.sec_js_https_desc JavaScript on oletuksena poissa käytöstä kaikilla ei-HTTPS-sivustoilla. -!ENTITY torbutton.prefs.sec_js_desc_tooltip JavaScript can be enabled on a per-site basis via the NoScript toolbar button. +!ENTITY torbutton.prefs.sec_js_desc_tooltip JavaScript voidaan ottaa käyttöön sivustokohtaisesti NoScript-työkalupalkkipainikkeen kautta. !ENTITY torbutton.prefs.sec_high Korkea !ENTITY torbutton.prefs.sec_all_js_desc JavaScript on oletuksena poissa käytöstä kaikilla sivustoilla. !ENTITY torbutton.prefs.sec_audio_video_desc Useimmat audio- ja videomuodot ovat poissa käytöstä. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torcheck] Update translations for torcheck
commit 266dc52476506a2af0f63632301eba3fed4ef5af Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 10:15:15 2015 + Update translations for torcheck --- tr/torcheck.po | 21 +++-- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/tr/torcheck.po b/tr/torcheck.po index 6f319bf..7e22776 100644 --- a/tr/torcheck.po +++ b/tr/torcheck.po @@ -2,6 +2,7 @@ # Copyright (C) 2008-2013 The Tor Project, Inc # # Translators: +# Bullgeschichte bullgeschic...@riseup.net, 2015 # canacar cana...@gmail.com, 2012 # Emir Sarı bitig...@openmailbox.org, 2014 # erg26 ergungor...@gmail.com, 2012 @@ -11,8 +12,8 @@ msgid msgstr Project-Id-Version: The Tor Project\n POT-Creation-Date: 2012-02-16 20:28+PDT\n -PO-Revision-Date: 2015-02-14 12:00+\n -Last-Translator: Volkan Gezer volkange...@gmail.com\n +PO-Revision-Date: 2015-04-29 10:08+\n +Last-Translator: Bullgeschichte bullgeschic...@riseup.net\n Language-Team: Turkish (http://www.transifex.com/projects/p/torproject/language/tr/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -28,10 +29,10 @@ msgid Please refer to the a href=\https://www.torproject.org/\;Tor website/a for further information about using Tor safely. You are now free to browse the Internet anonymously. -msgstr Tor'u güvenli olarak kullanmak konusunda daha fazla bilgi almak için a href=\https://www.torproject.org/\;Tor websitesini/a ziyaret ediniz. Åu andan itibaren Ä°nternet'te özgürce anonim olarak dolaÅmakta serbestsiniz. +msgstr Tor'u güvenli olarak kullanmak konusunda daha fazla bilgi almak için a href=\https://www.torproject.org/\;Tor websitesini/a ziyaret ediniz. Åu andan itibaren Ä°nternet'te anonim olarak dolaÅabilirsiniz. msgid There is a security update available for Tor Browser. -msgstr Tor Tarayıcı için bir güvenlik güncelleÅtirmesi mevcut. +msgstr Tor Browser için bir güvenlik güncelleÅtirmesi mevcut. msgid a href=\https://www.torproject.org/download/download-easy.html\;Click @@ -39,14 +40,14 @@ msgid msgstr a href=\https://www.torproject.org/download/download-easy.html\;Ä°ndirme sayfasına gitmek için tıklayın/a msgid Sorry. You are not using Tor. -msgstr Ãzgünüz. Tor kullanmıyorsunuz. +msgstr Ãzgünüz ama Åu an Tor kullanmıyorsunuz. msgid If you are attempting to use a Tor client, please refer to the a href=\https://www.torproject.org/\;Tor website/a and specifically the a href=\https://www.torproject.org/docs/faq#DoesntWork\;instructions for configuring your Tor client/a. -msgstr Bir Tor kullanıcısı olmak istiyorsanız a href=\https://www.torproject.org/\;Tor websitesini/a ve özellikle a href=\https://www.torproject.org/docs/faq#DoesntWork\;Tor istemcisi yapılandırma talimatları/a sayfasını inceleyiniz. +msgstr Bir Tor istemcisi kullanmak istiyorsanız a href=\https://www.torproject.org/\;Tor websitesini/a ve özellikle a href=\https://www.torproject.org/docs/faq#DoesntWork\;Tor istemcisi yapılandırma talimatları/a sayfasını inceleyiniz. msgid Sorry, your query failed or an unexpected response was received. msgstr Ãzgünüz, yapmıŠolduÄunuz sorgulama baÅarısız oldu ya da beklenmeyen bir cevap alındı. @@ -66,12 +67,12 @@ msgid This page is also available in the following languages: msgstr Bu sayfa ayrıca Åu dillerde de kullanılabilir: msgid For more information about this exit relay, see: -msgstr Bu çıkıŠaynası hakkında daha fazla bilgi için, bkz: +msgstr Bu çıkıŠaktarıcısı hakkında daha fazla bilgi için, bkz: msgid The Tor Project is a US 501(c)(3) non-profit dedicated to the research, development, and education of online anonymity and privacy. -msgstr Tor Projesi kendini çevrimiçi gizliliÄin ve mahremiyetin araÅtırılmasına, geliÅtirilmesine ve eÄitimine adamıŠABD 501(c)(3) kar amacı gütmeyen bir kuruluÅtur. +msgstr Tor Projesi kendini çevrimiçi gizlilik ve mahremiyetin araÅtırılmasına, geliÅtirilmesine ve eÄitimine adamıŠABD 501(c)(3) kar amacı gütmeyen bir kuruluÅtur. msgid Learn More raquo; msgstr Daha Fazlasını ÃÄrenin raquo; @@ -98,10 +99,10 @@ msgid JavaScript is disabled. msgstr JavaScript devre dıÅı. msgid However, it does not appear to be Tor Browser. -msgstr Ancak, Tor Tarayıcı kullanıyor gibi görünmüyor. +msgstr Ancak, Tor Browser kullanıyor gibi görünmüyor. msgid Run a Relay -msgstr Bir Ayna ÃalıÅtır +msgstr Bir Aktarıcı Görevini Ãstlen msgid Stay Anonymous msgstr Anonim Kal ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/bridgedb] Update translations for bridgedb
commit 24babd0e709672ad54e8b70a4c120e51a15dafa6 Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 10:15:03 2015 + Update translations for bridgedb --- tr/LC_MESSAGES/bridgedb.po | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tr/LC_MESSAGES/bridgedb.po b/tr/LC_MESSAGES/bridgedb.po index f4a22ac..d10d5c2 100644 --- a/tr/LC_MESSAGES/bridgedb.po +++ b/tr/LC_MESSAGES/bridgedb.po @@ -18,7 +18,7 @@ msgid msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDBkeywords=bridgedb-reported,msgidcc=isis,sysrqbowner=isis'POT-Creation-Date: 2015-03-19 22:13+\n -PO-Revision-Date: 2015-04-26 14:06+\n +PO-Revision-Date: 2015-04-29 10:14+\n Last-Translator: Bullgeschichte bullgeschic...@riseup.net\n Language-Team: Turkish (http://www.transifex.com/projects/p/torproject/language/tr/)\n MIME-Version: 1.0\n @@ -134,16 +134,16 @@ msgstr Ek olarak BridgeDB %s hiçbir Eklenebilir Aktarıma sahip olmayan %s bir #: lib/bridgedb/strings.py:76 msgid What are bridges? -msgstr Köprüler nedir? +msgstr Köprü nedir? #: lib/bridgedb/strings.py:77 #, python-format msgid %s Bridges %s are Tor relays that help you circumvent censorship. -msgstr %s Köprüler %s sansürü aÅmanıza yardımcı olan Tor aynalarıdır. +msgstr %s Köprüler %s sansürü aÅmanıza yardımcı olan Tor aktarıcılarıdır. #: lib/bridgedb/strings.py:82 msgid I need an alternative way of getting bridges! -msgstr Köprü edinmek için baÅka bir yola gereksinimim var! +msgstr Köprü adresi edinmek için baÅka bir yola gereksinimim var! #: lib/bridgedb/strings.py:83 #, python-format @@ -171,7 +171,7 @@ msgid Try including as much info about your case as you can, including the list of\n bridges and Pluggable Transports you tried to use, your Tor Browser version,\n and any messages which Tor gave out, etc. -msgstr Durumunuz hakkında olabildiÄince fazla bilgi içermeyi deneyin.\nÃrneÄin kullanmaya çalıÅtıÄınız Eklenebilir Aktarımlar, Tor Tarayıcı sürümünüz ve\nTor'un gösterdiÄi tüm hata iletileri vb. +msgstr Durumunuz hakkında olabildiÄince fazla bilgi verin.\nÃrneÄin kullanmaya çalıÅtıÄınız Eklenebilir TaÅıyıcılar, Tor Browser sürümünüz, Tor'un gösterdiÄi tüm hata iletileri vb. #: lib/bridgedb/strings.py:103 msgid Here are your bridge lines: @@ -200,7 +200,7 @@ msgstr Tarayıcınız resimleri düzgün görüntülemiyor. #: lib/bridgedb/strings.py:115 msgid Enter the characters from the image above... -msgstr Yukarıdaki görüntüdeki karakterlerini giriniz... +msgstr Yukarıdaki görseldeki karakterlerini giriniz... #: lib/bridgedb/strings.py:119 msgid How to start using your bridges @@ -220,7 +220,7 @@ msgstr Tor Browser'a köprü tanımlamak için önce %s Tor Browser indirme say msgid When the 'Tor Network Settings' dialogue pops up, click 'Configure' and follow\n the wizard until it asks: -msgstr 'Tor AÄ Ayarları' penceresi açıldıÄında, 'Yapılandır' tıklayın ve Åunu soruncaya dek\nsihirbazı izleyin: +msgstr 'Tor AÄ Ayarları' penceresi açıldıÄında, 'Yapılandır'ı tıklayın ve Åunu soruncaya dek\nsihirbazı izleyin: #. TRANSLATORS: Please DO NOT translate Tor. #: lib/bridgedb/strings.py:130 @@ -236,7 +236,7 @@ msgid paste the bridge lines into the text input box. Finally, click 'Connect', and\n you should be good to go! If you experience trouble, try clicking the 'Help'\n button in the 'Tor Network Settings' wizard for further assistance. -msgstr 'Evet' ve ardından 'Ä°leri' tıklayın. Yeni köprülerinizi yapılandırmak için,\nköprü satırlarını kopyalayarak metin kutusu girdisine yapıÅtırın. Son olarak\n'BaÄlan' tıkladıÄınızda baÅlamak için hazır olmalısınız! EÄer sorun yaÅıyorsanız,\ndaha fazla yardım için 'Tor AÄ Ayarları' sihirbazındaki 'Yardım' düÄmesine\ntıklamayı deneyin. +msgstr 'Evet' ve ardından 'Ä°leri' tıklayın. Yeni köprülerinizi yapılandırmak için,\nköprü satırlarını kopyalayarak metin kutusuna yapıÅtırın. 'BaÄlan'ı da tıkladıÄınızda artık hazırsınız! EÄer sorun yaÅıyorsanız, daha fazla yardım için 'Tor AÄ Ayarları' sihirbazındaki 'Yardım' düÄmesine tıklamayı deneyin. #: lib/bridgedb/strings.py:142 msgid Displays this message. @@ -247,11 +247,11 @@ msgstr Bu iletiyi görüntüler. #. plain-ol'-vanilla bridges. #: lib/bridgedb/strings.py:146 msgid Request vanilla bridges. -msgstr Ãzelliksiz köprüleri talep et. +msgstr Sıradan köprüler iste. #: lib/bridgedb/strings.py:147 msgid Request IPv6 bridges. -msgstr IPv6 köprüleri talep et. +msgstr IPv6 köprüleri iste. #. TRANSLATORS: Please DO NOT translate the word the word TYPE. #: lib/bridgedb/strings.py:149 ___ tor-commits mailing list
[tor-commits] [translation/torcheck_completed] Update translations for torcheck_completed
commit 5b6ef7a6a3ac50608c4f5344287d3a131f02a562 Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 10:15:19 2015 + Update translations for torcheck_completed --- tr/torcheck.po | 21 +++-- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/tr/torcheck.po b/tr/torcheck.po index 6f319bf..7e22776 100644 --- a/tr/torcheck.po +++ b/tr/torcheck.po @@ -2,6 +2,7 @@ # Copyright (C) 2008-2013 The Tor Project, Inc # # Translators: +# Bullgeschichte bullgeschic...@riseup.net, 2015 # canacar cana...@gmail.com, 2012 # Emir Sarı bitig...@openmailbox.org, 2014 # erg26 ergungor...@gmail.com, 2012 @@ -11,8 +12,8 @@ msgid msgstr Project-Id-Version: The Tor Project\n POT-Creation-Date: 2012-02-16 20:28+PDT\n -PO-Revision-Date: 2015-02-14 12:00+\n -Last-Translator: Volkan Gezer volkange...@gmail.com\n +PO-Revision-Date: 2015-04-29 10:08+\n +Last-Translator: Bullgeschichte bullgeschic...@riseup.net\n Language-Team: Turkish (http://www.transifex.com/projects/p/torproject/language/tr/)\n MIME-Version: 1.0\n Content-Type: text/plain; charset=UTF-8\n @@ -28,10 +29,10 @@ msgid Please refer to the a href=\https://www.torproject.org/\;Tor website/a for further information about using Tor safely. You are now free to browse the Internet anonymously. -msgstr Tor'u güvenli olarak kullanmak konusunda daha fazla bilgi almak için a href=\https://www.torproject.org/\;Tor websitesini/a ziyaret ediniz. Åu andan itibaren Ä°nternet'te özgürce anonim olarak dolaÅmakta serbestsiniz. +msgstr Tor'u güvenli olarak kullanmak konusunda daha fazla bilgi almak için a href=\https://www.torproject.org/\;Tor websitesini/a ziyaret ediniz. Åu andan itibaren Ä°nternet'te anonim olarak dolaÅabilirsiniz. msgid There is a security update available for Tor Browser. -msgstr Tor Tarayıcı için bir güvenlik güncelleÅtirmesi mevcut. +msgstr Tor Browser için bir güvenlik güncelleÅtirmesi mevcut. msgid a href=\https://www.torproject.org/download/download-easy.html\;Click @@ -39,14 +40,14 @@ msgid msgstr a href=\https://www.torproject.org/download/download-easy.html\;Ä°ndirme sayfasına gitmek için tıklayın/a msgid Sorry. You are not using Tor. -msgstr Ãzgünüz. Tor kullanmıyorsunuz. +msgstr Ãzgünüz ama Åu an Tor kullanmıyorsunuz. msgid If you are attempting to use a Tor client, please refer to the a href=\https://www.torproject.org/\;Tor website/a and specifically the a href=\https://www.torproject.org/docs/faq#DoesntWork\;instructions for configuring your Tor client/a. -msgstr Bir Tor kullanıcısı olmak istiyorsanız a href=\https://www.torproject.org/\;Tor websitesini/a ve özellikle a href=\https://www.torproject.org/docs/faq#DoesntWork\;Tor istemcisi yapılandırma talimatları/a sayfasını inceleyiniz. +msgstr Bir Tor istemcisi kullanmak istiyorsanız a href=\https://www.torproject.org/\;Tor websitesini/a ve özellikle a href=\https://www.torproject.org/docs/faq#DoesntWork\;Tor istemcisi yapılandırma talimatları/a sayfasını inceleyiniz. msgid Sorry, your query failed or an unexpected response was received. msgstr Ãzgünüz, yapmıŠolduÄunuz sorgulama baÅarısız oldu ya da beklenmeyen bir cevap alındı. @@ -66,12 +67,12 @@ msgid This page is also available in the following languages: msgstr Bu sayfa ayrıca Åu dillerde de kullanılabilir: msgid For more information about this exit relay, see: -msgstr Bu çıkıŠaynası hakkında daha fazla bilgi için, bkz: +msgstr Bu çıkıŠaktarıcısı hakkında daha fazla bilgi için, bkz: msgid The Tor Project is a US 501(c)(3) non-profit dedicated to the research, development, and education of online anonymity and privacy. -msgstr Tor Projesi kendini çevrimiçi gizliliÄin ve mahremiyetin araÅtırılmasına, geliÅtirilmesine ve eÄitimine adamıŠABD 501(c)(3) kar amacı gütmeyen bir kuruluÅtur. +msgstr Tor Projesi kendini çevrimiçi gizlilik ve mahremiyetin araÅtırılmasına, geliÅtirilmesine ve eÄitimine adamıŠABD 501(c)(3) kar amacı gütmeyen bir kuruluÅtur. msgid Learn More raquo; msgstr Daha Fazlasını ÃÄrenin raquo; @@ -98,10 +99,10 @@ msgid JavaScript is disabled. msgstr JavaScript devre dıÅı. msgid However, it does not appear to be Tor Browser. -msgstr Ancak, Tor Tarayıcı kullanıyor gibi görünmüyor. +msgstr Ancak, Tor Browser kullanıyor gibi görünmüyor. msgid Run a Relay -msgstr Bir Ayna ÃalıÅtır +msgstr Bir Aktarıcı Görevini Ãstlen msgid Stay Anonymous msgstr Anonim Kal ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/bridgedb_completed] Update translations for bridgedb_completed
commit 88fffc9a17bfd1ea38cffea5ed6c92ca5c897a0a Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 10:15:08 2015 + Update translations for bridgedb_completed --- tr/LC_MESSAGES/bridgedb.po | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tr/LC_MESSAGES/bridgedb.po b/tr/LC_MESSAGES/bridgedb.po index f4a22ac..d10d5c2 100644 --- a/tr/LC_MESSAGES/bridgedb.po +++ b/tr/LC_MESSAGES/bridgedb.po @@ -18,7 +18,7 @@ msgid msgstr Project-Id-Version: The Tor Project\n Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDBkeywords=bridgedb-reported,msgidcc=isis,sysrqbowner=isis'POT-Creation-Date: 2015-03-19 22:13+\n -PO-Revision-Date: 2015-04-26 14:06+\n +PO-Revision-Date: 2015-04-29 10:14+\n Last-Translator: Bullgeschichte bullgeschic...@riseup.net\n Language-Team: Turkish (http://www.transifex.com/projects/p/torproject/language/tr/)\n MIME-Version: 1.0\n @@ -134,16 +134,16 @@ msgstr Ek olarak BridgeDB %s hiçbir Eklenebilir Aktarıma sahip olmayan %s bir #: lib/bridgedb/strings.py:76 msgid What are bridges? -msgstr Köprüler nedir? +msgstr Köprü nedir? #: lib/bridgedb/strings.py:77 #, python-format msgid %s Bridges %s are Tor relays that help you circumvent censorship. -msgstr %s Köprüler %s sansürü aÅmanıza yardımcı olan Tor aynalarıdır. +msgstr %s Köprüler %s sansürü aÅmanıza yardımcı olan Tor aktarıcılarıdır. #: lib/bridgedb/strings.py:82 msgid I need an alternative way of getting bridges! -msgstr Köprü edinmek için baÅka bir yola gereksinimim var! +msgstr Köprü adresi edinmek için baÅka bir yola gereksinimim var! #: lib/bridgedb/strings.py:83 #, python-format @@ -171,7 +171,7 @@ msgid Try including as much info about your case as you can, including the list of\n bridges and Pluggable Transports you tried to use, your Tor Browser version,\n and any messages which Tor gave out, etc. -msgstr Durumunuz hakkında olabildiÄince fazla bilgi içermeyi deneyin.\nÃrneÄin kullanmaya çalıÅtıÄınız Eklenebilir Aktarımlar, Tor Tarayıcı sürümünüz ve\nTor'un gösterdiÄi tüm hata iletileri vb. +msgstr Durumunuz hakkında olabildiÄince fazla bilgi verin.\nÃrneÄin kullanmaya çalıÅtıÄınız Eklenebilir TaÅıyıcılar, Tor Browser sürümünüz, Tor'un gösterdiÄi tüm hata iletileri vb. #: lib/bridgedb/strings.py:103 msgid Here are your bridge lines: @@ -200,7 +200,7 @@ msgstr Tarayıcınız resimleri düzgün görüntülemiyor. #: lib/bridgedb/strings.py:115 msgid Enter the characters from the image above... -msgstr Yukarıdaki görüntüdeki karakterlerini giriniz... +msgstr Yukarıdaki görseldeki karakterlerini giriniz... #: lib/bridgedb/strings.py:119 msgid How to start using your bridges @@ -220,7 +220,7 @@ msgstr Tor Browser'a köprü tanımlamak için önce %s Tor Browser indirme say msgid When the 'Tor Network Settings' dialogue pops up, click 'Configure' and follow\n the wizard until it asks: -msgstr 'Tor AÄ Ayarları' penceresi açıldıÄında, 'Yapılandır' tıklayın ve Åunu soruncaya dek\nsihirbazı izleyin: +msgstr 'Tor AÄ Ayarları' penceresi açıldıÄında, 'Yapılandır'ı tıklayın ve Åunu soruncaya dek\nsihirbazı izleyin: #. TRANSLATORS: Please DO NOT translate Tor. #: lib/bridgedb/strings.py:130 @@ -236,7 +236,7 @@ msgid paste the bridge lines into the text input box. Finally, click 'Connect', and\n you should be good to go! If you experience trouble, try clicking the 'Help'\n button in the 'Tor Network Settings' wizard for further assistance. -msgstr 'Evet' ve ardından 'Ä°leri' tıklayın. Yeni köprülerinizi yapılandırmak için,\nköprü satırlarını kopyalayarak metin kutusu girdisine yapıÅtırın. Son olarak\n'BaÄlan' tıkladıÄınızda baÅlamak için hazır olmalısınız! EÄer sorun yaÅıyorsanız,\ndaha fazla yardım için 'Tor AÄ Ayarları' sihirbazındaki 'Yardım' düÄmesine\ntıklamayı deneyin. +msgstr 'Evet' ve ardından 'Ä°leri' tıklayın. Yeni köprülerinizi yapılandırmak için,\nköprü satırlarını kopyalayarak metin kutusuna yapıÅtırın. 'BaÄlan'ı da tıkladıÄınızda artık hazırsınız! EÄer sorun yaÅıyorsanız, daha fazla yardım için 'Tor AÄ Ayarları' sihirbazındaki 'Yardım' düÄmesine tıklamayı deneyin. #: lib/bridgedb/strings.py:142 msgid Displays this message. @@ -247,11 +247,11 @@ msgstr Bu iletiyi görüntüler. #. plain-ol'-vanilla bridges. #: lib/bridgedb/strings.py:146 msgid Request vanilla bridges. -msgstr Ãzelliksiz köprüleri talep et. +msgstr Sıradan köprüler iste. #: lib/bridgedb/strings.py:147 msgid Request IPv6 bridges. -msgstr IPv6 köprüleri talep et. +msgstr IPv6 köprüleri iste. #. TRANSLATORS: Please DO NOT translate the word the word TYPE. #: lib/bridgedb/strings.py:149 ___ tor-commits
[tor-commits] [webwml/master] adding @torproject_fa to the twitter section
commit 90f388024671813196a04faaff3cc00a67eff67f Author: Nima Fatemi mr...@riseup.net Date: Wed Apr 29 13:42:43 2015 -0400 adding @torproject_fa to the twitter section --- about/en/contact.wml |7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/about/en/contact.wml b/about/en/contact.wml index 787cfed..f2581bf 100644 --- a/about/en/contact.wml +++ b/about/en/contact.wml @@ -88,7 +88,12 @@ a id=twitter/a h3a class=anchor href=#twitterTwitter/a/h3 -pFollow a href=https://twitter.com/torproject;@TorProject/a on Twitter!/p +pFollow us on Twitter: + ul + liEnglish account: a href=https://twitter.com/TorProject;@TorProject/a/li + liFarsi (Persian) account: a href=https://twitter.com/torproject_fa;@TorProject_fa/a/li + /ul +/p a id=phone/a h3a class=anchor href=#phoneTelephone/a/h3 ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [bridgedb/develop] Refactor b.p.descriptors.deduplicate() to improve benchmark results.
commit 1befc9a07f30490decb01c9ab873d37ea77e1fae Author: Isis Lovecruft i...@torproject.org Date: Sat Apr 18 00:04:34 2015 + Refactor b.p.descriptors.deduplicate() to improve benchmark results. --- lib/bridgedb/parse/descriptors.py | 104 +++-- 1 file changed, 53 insertions(+), 51 deletions(-) diff --git a/lib/bridgedb/parse/descriptors.py b/lib/bridgedb/parse/descriptors.py index efdedc9..bec10b3 100644 --- a/lib/bridgedb/parse/descriptors.py +++ b/lib/bridgedb/parse/descriptors.py @@ -144,7 +144,29 @@ def parseServerDescriptorsFile(filename, validate=True): routers = list(document) return routers -def deduplicate(descriptors): +def __cmp_published__(x, y): +A custom ``cmp()`` which sorts descriptors by published date. + +:rtype: int +:returns: Return negative if xy, zero if x==y, positive if xy. + +if x.published y.published: +return -1 +elif x.published == y.published: +# This *shouldn't* happen. It would mean that two descriptors for +# the same router had the same timestamps, probably meaning there +# is a severely-messed up OR implementation out there. Let's log +# its fingerprint (no matter what!) so that we can look up its +# ``platform`` line in its server-descriptor and tell whoever +# wrote that code that they're probably (D)DOSing the Tor network. +logging.warn((Duplicate descriptor with identical timestamp (%s) + for bridge %s with fingerprint %s !) % + (x.published, x.nickname, x.fingerprint)) +return 0 +elif x.published y.published: +return 1 + +def deduplicate(descriptors, statistics=False): Deduplicate some descriptors, returning only the newest for each router. .. note:: If two descriptors for the same router are discovered, AND both @@ -155,68 +177,48 @@ def deduplicate(descriptors): :param list descriptors: A list of :api:`stem.descriptor.server_descriptor.RelayDescriptor`s, :api:`stem.descriptor.extrainfo_descriptor.BridgeExtraInfoDescriptor`s, -:api:`stem.descriptor.router_status_entry.RouterStatusEntryV2`s. +or :api:`stem.descriptor.router_status_entry.RouterStatusEntryV2`s. +:param bool statistics: If ``True``, log some extra statistics about the +number of duplicates. +:rtype: dict +:returns: A dictionary mapping router fingerprints to their newest +available descriptor. duplicates = {} -nonDuplicates = {} +newest = {} for descriptor in descriptors: fingerprint = descriptor.fingerprint - logging.debug(Deduplicating %s descriptor for router %s % (str(descriptor.__class__).rsplit('.', 1)[1], safelog.logSafely(fingerprint))) - -if fingerprint in nonDuplicates.keys(): -# We already found a descriptor for this fingerprint: -conflict = nonDuplicates[fingerprint] - -# If the descriptor we are currently parsing is newer than the -# last one we found: -if descriptor.published conflict.published: -# And if this is the first duplicate we've found for this -# router, then create a list in the ``duplicates`` dictionary -# for the router: -if not fingerprint in duplicates.keys(): -duplicates[fingerprint] = list() -# Add this to the list of duplicates for this router: -duplicates[fingerprint].append(conflict) -# Finally, put the newest descriptor in the ``nonDuplicates`` -# dictionary: -nonDuplicates[fingerprint] = descriptor -# Same thing, but this time the one we're parsing is older: -elif descriptor.published conflict.published: -if not fingerprint in duplicates.keys(): -duplicates[fingerprint] = list() -duplicates[fingerprint].append(descriptor) -# This *shouldn't* happen. It would mean that two descriptors for -# the same router had the same timestamps, probably meaning there -# is a severely-messed up OR implementation out there. Let's log -# its fingerprint (no matter what!) so that we can look up its -# ``platform`` line in its server-descriptor and tell whoever -# wrote that code that they're probably (D)DOSing the Tor network. -else: -try: -raise DescriptorWarning( -(Duplicate descriptor with identical timestamp (%s) - for router with fingerprint '%s'!) -% (descriptor.published, fingerprint)) -# And just in case it does happen, catch the warning: -except DescriptorWarning as descwarn: -
[tor-commits] [bridgedb/develop] Remove bridgedb.Storage.openOrConvertDatabase().
commit fbe46fb0ef8103f3cd09842677034899098e7b8a Author: Isis Lovecruft i...@torproject.org Date: Tue Apr 21 22:52:25 2015 + Remove bridgedb.Storage.openOrConvertDatabase(). The databases were converted *many* years ago. We don't need this cruft anymore. --- lib/bridgedb/Main.py|2 +- lib/bridgedb/Storage.py | 66 ++- 2 files changed, 3 insertions(+), 65 deletions(-) diff --git a/lib/bridgedb/Main.py b/lib/bridgedb/Main.py index d5f4c24..116f827 100644 --- a/lib/bridgedb/Main.py +++ b/lib/bridgedb/Main.py @@ -412,7 +412,7 @@ def run(options, reactor=reactor): # Initialize our DB. bridgedb.Storage.initializeDBLock() -db = bridgedb.Storage.openOrConvertDatabase(cfg.DB_FILE + .sqlite, cfg.DB_FILE) +db = bridgedb.Storage.openDatabase(cfg.DB_FILE + .sqlite) bridgedb.Storage.setDBFilename(cfg.DB_FILE + .sqlite) load(state, splitter, clear=False) diff --git a/lib/bridgedb/Storage.py b/lib/bridgedb/Storage.py index 732d8ab..f9fcf43 100644 --- a/lib/bridgedb/Storage.py +++ b/lib/bridgedb/Storage.py @@ -130,11 +130,8 @@ class BridgeData: self.last_seen = last_seen class Database(object): -def __init__(self, sqlite_fname, db_fname=None): -if db_fname is None: -self._conn = openDatabase(sqlite_fname) -else: -self._conn = openOrConvertDatabase(sqlite_fname, db_fname) +def __init__(self, sqlite_fname): +self._conn = openDatabase(sqlite_fname) self._cur = self._conn.cursor() self.sqlite_fname = sqlite_fname @@ -326,62 +323,6 @@ def openDatabase(sqlite_file): return conn -def openOrConvertDatabase(sqlite_file, db_file): -Open a sqlite database, converting it from a db file if needed. -if os.path.exists(sqlite_file): -return openDatabase(sqlite_file) - -conn = sqlite3.Connection(sqlite_file) -cur = conn.cursor() -cur.executescript(SCHEMA3_SCRIPT) -conn.commit() - -import anydbm - -try: -db = anydbm.open(db_file, 'r') -except anydbm.error: -return conn - -try: -# We handle all the sp| keys first, since other tables have -# dependencies on Bridges. -for k in db.keys(): -v = db[k] -if k.startswith(sp|): -assert len(k) == 23 -cur.execute(INSERT INTO Bridges ( hex_key, distributor ) -VALUES (?, ?), (toHex(k[3:]),v)) -# Now we handle the other key types. -for k in db.keys(): -v = db[k] -if k.startswith(fs|): -assert len(k) == 23 -cur.execute(UPDATE Bridges SET first_seen = ? -WHERE hex_key = ?, (v, toHex(k[3:]))) -elif k.startswith(ls|): -assert len(k) == 23 -cur.execute(UPDATE Bridges SET last_seen = ? -WHERE hex_key = ?, (v, toHex(k[3:]))) -#elif k.startswith(em|): -#keys = list(toHex(i) for i in -#bridgedb.Bridges.chopString(v, bridgedb.Bridges.ID_LEN)) -#cur.executemany(INSERT INTO EmailedBridges ( email, id ) -#SELECT ?, id FROM Bridges WHERE hex_key = ?, -#[(k[3:],i) for i in keys]) -elif k.startswith(sp|) or k.startswith(em|): -pass -else: -logging.warn(Unrecognized key %r, k) -except: -conn.rollback() -conn.close() -os.unlink(sqlite_file) -raise - -conn.commit() -return conn - class DBGeneratorContextManager(GeneratorContextManager): Helper for @contextmanager decorator. @@ -470,9 +411,6 @@ def initializeDBLock(): _LOCK = threading.RLock() assert _LOCK -def checkAndConvertDB(sqlite_file, db_file): -openOrConvertDatabase(sqlite_file, db_file).close() - def setDBFilename(sqlite_fname): global _DB_FNAME _DB_FNAME = sqlite_fname ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [bridgedb/develop] Add a test utility for benchmarking code.
commit d49112515ce338334b75a795ab6aaf08daa5b489 Author: Isis Lovecruft i...@torproject.org Date: Fri Apr 17 23:49:13 2015 + Add a test utility for benchmarking code. --- lib/bridgedb/test/util.py | 31 +++ 1 file changed, 31 insertions(+) diff --git a/lib/bridgedb/test/util.py b/lib/bridgedb/test/util.py index 234a9b6..9e401a5 100644 --- a/lib/bridgedb/test/util.py +++ b/lib/bridgedb/test/util.py @@ -18,6 +18,7 @@ import errno import ipaddr import os import random +import time from functools import wraps @@ -146,3 +147,33 @@ def randomIPString(): #: being run as a ``TestCase`` by ``twisted.trial``. TestCaseMixin = bdbutil.mixin TestCaseMixin.register(unittest.TestCase) + + +class Benchmarker(object): +Wrap a context with a timer to benchmark execution time. + +.. hint:: Use like so:: + +with Benchmarker(): + foo(bar, baz) + +Once the ``with`` context exits, something like:: + +Benchmark: 180.269957ms (0s) + +will be printed to stdout (if **verbose** is set to ``True``). + + +def __init__(self, verbose=True): +self.verbose = verbose + +def __enter__(self): +self.start = time.time() +return self + +def __exit__(self, *args): +self.end = time.time() +self.seconds = self.end - self.start +self.milliseconds = self.seconds * 1000 +if self.verbose: +print(Benchmark: %12fms %12fs % (self.milliseconds, self.seconds)) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [bridgedb/develop] Add benchmark tests for b.p.descriptors.deduplicate().
commit c9ad39af644d5d4ea7165203b4719ee25f187b29 Author: Isis Lovecruft i...@torproject.org Date: Sat Apr 18 00:03:23 2015 + Add benchmark tests for b.p.descriptors.deduplicate(). --- lib/bridgedb/test/test_parse_descriptors.py | 77 +++ 1 file changed, 77 insertions(+) diff --git a/lib/bridgedb/test/test_parse_descriptors.py b/lib/bridgedb/test/test_parse_descriptors.py index aa3b662..5ef3f6a 100644 --- a/lib/bridgedb/test/test_parse_descriptors.py +++ b/lib/bridgedb/test/test_parse_descriptors.py @@ -13,11 +13,13 @@ from __future__ import print_function import datetime import glob +import hashlib import io import os import textwrap from twisted.trial import unittest +from twisted.trial.unittest import SkipTest HAS_STEM = False @@ -31,6 +33,8 @@ except (ImportError, NameError), error: else: HAS_STEM = True +from bridgedb.test.util import Benchmarker + BRIDGE_NETWORKSTATUS_0 = '''\ r MiserLandfalls 4IsyTSCtChPhFPAnq5rD8yymlqA /GMC4lz8RXT/62v6kZNdmzSmopk 2014-11-04 06:23:22 2.215.61.223 4056 0 @@ -441,6 +445,79 @@ class ParseDescriptorsTests(unittest.TestCase): datetime.datetime.strptime(2014-12-04 03:10:25, %Y-%m-%d %H:%M:%S), We should have the newest available descriptor for this router.) +def createDuplicatesForBenchmark(self, b=1, n=1200): +Create a bunch of duplicate extrainfos for benchmark tests. + +:param int b: The number of fake bridges to create **n** duplicate +descriptors for. +:param int n: The number of duplicate descriptors for each bridge +**b**. + +descFiles = [] + +# The timestamp and fingerprint from BRIDGE_EXTRA_INFO_DESCRIPTOR: +timestamp = 2014-11-04 06:23:22 +Y, M, rest = timestamp.split(-) +fpr= E08B324D20AD0A13E114F027AB9AC3F32CA696A0 +newerFpr = E08B324D20AD0A13E114F027AB9AC3F32CA696A0 + +total = 0 +needed = b * n +for x in range(b): +if total = needed: +break +# Re-digest the fingerprint to create a new bridge +newerFpr = hashlib.sha1(newerFpr).hexdigest().upper() +# Generate n extrainfos with different timestamps: +count = 0 +for year in range(1, ((n + 1)/ 12) + 2): # Start from the next year +if count = n: +break +for month in range(1, 13): +if count n: +newerTimestamp = -.join([str(int(Y) + year), %02d % month, rest]) +newerDuplicate = BRIDGE_EXTRA_INFO_DESCRIPTOR[:].replace( +fpr, newerFpr).replace( +timestamp, newerTimestamp) +descFiles.append(io.BytesIO(newerDuplicate)) +count += 1 +total += 1 +else: +break + +print(Deduplicating %5d total descriptors (%4d per bridge; %3d bridges): + % (len(descFiles), n, b), end='\t') +return descFiles + +def test_parse_descriptors_parseExtraInfoFiles_benchmark_100_bridges(self): +Benchmark test for ``b.p.descriptors.parseExtraInfoFiles``. +print() +for i in range(1, 11): +descFiles = self.createDuplicatesForBenchmark(b=100, n=i) +with Benchmarker(): +routers = descriptors.parseExtraInfoFiles(*descFiles) + +def test_parse_descriptors_parseExtraInfoFiles_benchmark_1000_bridges(self): +Benchmark test for ``b.p.descriptors.parseExtraInfoFiles``. +print() +for i in range(1, 11): +descFiles = self.createDuplicatesForBenchmark(b=1000, n=i) +with Benchmarker(): +routers = descriptors.parseExtraInfoFiles(*descFiles) + +def test_parse_descriptors_parseExtraInfoFiles_benchmark_1_bridges(self): +Benchmark test for ``b.p.descriptors.parseExtraInfoFiles``. +The algorithm should grow linearly in the number of duplicates. + +raise SkipTest((This test takes ~7 minutes to complete. +Run it on your own free time.)) + +print() +for i in range(1, 11): +descFiles = self.createDuplicatesForBenchmark(b=1, n=i) +with Benchmarker(): +routers = descriptors.parseExtraInfoFiles(*descFiles) + def test_parse_descriptors_parseExtraInfoFiles_no_validate(self): Test for ``b.p.descriptors.parseExtraInfoFiles`` with descriptor validation disabled. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [bridgedb/develop] Fix whitespace identation for Sphinx docstrings in bridgedb.Bridges.
commit 77782beea451270bdf0401c42798be7fbc2002dc Author: Isis Lovecruft i...@torproject.org Date: Sun Apr 19 03:19:33 2015 + Fix whitespace identation for Sphinx docstrings in bridgedb.Bridges. --- lib/bridgedb/Bridges.py | 73 +-- 1 file changed, 33 insertions(+), 40 deletions(-) diff --git a/lib/bridgedb/Bridges.py b/lib/bridgedb/Bridges.py index 0239730..191dc08 100644 --- a/lib/bridgedb/Bridges.py +++ b/lib/bridgedb/Bridges.py @@ -109,54 +109,49 @@ class BridgeRing(BridgeHolder): :type key: bytes :param key: The HMAC key, generated with -:func:`bridgedb.crypto.getKey`. + :func:`~bridgedb.crypto.getKey`. :type answerParameters: :class:`BridgeRingParameters` :param answerParameters: DOCDOC :ivar dict bridges: A dictionary which maps HMAC keys to -:class:`~bridgedb.Bridges.Bridge`s. +:class:`~bridgedb.bridges.Bridge`s. :ivar dict bridgesByID: A dictionary which maps raw hash digests of -bridge ID keys to -:class:`~bridgedb.Bridges.Bridge`s. +bridge ID keys to :class:`~bridgedb.bridges.Bridge`s. :type hmac: callable :ivar hmac: An HMAC function, which uses the **key** parameter to -generate new HMACs for storing, inserting, and retrieving -:class:`~bridgedb.Bridges.Bridge`s within mappings. + generate new HMACs for storing, inserting, and retrieving + :class:`~bridgedb.bridges.Bridge`s within mappings. :ivar bool isSorted: ``True`` if ``sortedKeys`` is currently sorted. :ivar list sortedKeys: A sorted list of all of the HMACs. :ivar str name: A string which identifies this hashring, used mostly -for differentiating this hashring in log messages, but -it is also used for naming subrings. If this hashring -is a subring, the ``name`` will include whatever -distinguishing parameters differentiate that -particular subring (i.e. ``'(port-443 subring)'`` or -``'(Stable subring)'``) +for differentiating this hashring in log messages, but it is also +used for naming subrings. If this hashring is a subring, the +``name`` will include whatever distinguishing parameters +differentiate that particular subring (i.e. ``'(port-443 +subring)'`` or ``'(Stable subring)'``) :type subrings: list :ivar subrings: A list of other ``BridgeRing``s, each of which -contains bridges of a particular type. For example, a -subring might contain only ``Bridge``s which have been -given the Stable flag, or it might contain only IPv6 -bridges. Each item in this list should be a 4-tuple: +contains bridges of a particular type. For example, a subring +might contain only ``Bridge``s which have been given the Stable +flag, or it might contain only IPv6 bridges. Each item in this +list should be a 4-tuple:: - ``(type, value, count, ring)`` +(type, value, count, ring) -where: +where: - * ``type`` is a string which describes what kind of -parameter is used to determine if a ``Bridge`` -belongs in that subring, i.e. ``'port'`` or -``'flag'``. + - ``type`` is a string which describes what kind of parameter is +used to determine if a ``Bridge`` belongs in that subring, +i.e. ``'port'`` or ``'flag'``. - * ``value`` is a specific value pertaining to the -``type``, e.g. ``type='port'; value=443``. + - ``value`` is a specific value pertaining to the ``type``, +e.g. ``type='port'; value=443``. - * ``count`` is an integer for the current total - number of bridges in the subring. + - ``count`` is an integer for the current total number of +bridges in the subring. - * ``ring`` is a -:class:`~bridgedb.Bridges.BridgeRing`; it is the -sub hashring which contains ``count`` number of -:class:`~bridgedb.Bridges.Bridge`s of a certain -``type``. + - ``ring`` is a :class:`BridgeRing`; it is the subhashring which +contains ``count`` number of +
[tor-commits] [bridgedb/develop] Fix log statement parameter for Stem descriptor class names.
commit 7e99a163a15cdc6c66b202aa91cc2fac2c440b52 Author: Isis Lovecruft i...@torproject.org Date: Sun Apr 19 03:21:00 2015 + Fix log statement parameter for Stem descriptor class names. --- lib/bridgedb/parse/descriptors.py |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bridgedb/parse/descriptors.py b/lib/bridgedb/parse/descriptors.py index bec10b3..3f8d48e 100644 --- a/lib/bridgedb/parse/descriptors.py +++ b/lib/bridgedb/parse/descriptors.py @@ -190,7 +190,7 @@ def deduplicate(descriptors, statistics=False): for descriptor in descriptors: fingerprint = descriptor.fingerprint logging.debug(Deduplicating %s descriptor for router %s - % (str(descriptor.__class__).rsplit('.', 1)[1], + % (descriptor.__class__.__name__.rsplit('.', 1)[-1], safelog.logSafely(fingerprint))) if fingerprint in duplicates: duplicates[fingerprint].append(descriptor) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [bridgedb/develop] Remove pygpgme from the list of Python modules mocked in Sphinx builds.
commit 8bfa27dbf90de970441d82d8a790bfd09aad5283 Author: Isis Lovecruft i...@torproject.org Date: Tue Apr 21 22:45:30 2015 + Remove pygpgme from the list of Python modules mocked in Sphinx builds. --- doc/sphinx/source/conf.py |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx/source/conf.py b/doc/sphinx/source/conf.py index ac8ce2d..2f01b4c 100644 --- a/doc/sphinx/source/conf.py +++ b/doc/sphinx/source/conf.py @@ -81,7 +81,7 @@ class Mock(object): else: return Mock() -MOCK_MODULES = ['pygpgme', 'ipaddr'] +MOCK_MODULES = ['ipaddr'] for mod_name in MOCK_MODULES: sys.modules[mod_name] = Mock() ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [bridgedb/develop] PEP8 some whitespace fixes in bridgedb.Storage module.
commit 3e860317f561ea7b2af81a1a3b707254ce6941c2 Author: Isis Lovecruft i...@torproject.org Date: Tue Apr 21 22:47:09 2015 + PEP8 some whitespace fixes in bridgedb.Storage module. --- lib/bridgedb/Storage.py | 15 +++ 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/bridgedb/Storage.py b/lib/bridgedb/Storage.py index 439634f..732d8ab 100644 --- a/lib/bridgedb/Storage.py +++ b/lib/bridgedb/Storage.py @@ -189,14 +189,12 @@ class Database(object): def cleanEmailedBridges(self, expireBefore): cur = self._cur t = timeToStr(expireBefore) - cur.execute(DELETE FROM EmailedBridges WHERE when_mailed ?, (t,)) def getEmailTime(self, addr): addr = hashlib.sha1(addr).hexdigest() cur = self._cur -cur.execute(SELECT when_mailed FROM EmailedBridges WHERE -email = ?, (addr,)) +cur.execute(SELECT when_mailed FROM EmailedBridges WHERE email = ?, (addr,)) v = cur.fetchone() if v is None: return None @@ -246,8 +244,7 @@ class Database(object): def getWarnedEmail(self, addr): addr = hashlib.sha1(addr).hexdigest() cur = self._cur -cur.execute(SELECT * FROM WarnedEmails WHERE - email = ?, (addr,)) +cur.execute(SELECT * FROM WarnedEmails WHERE email = ?, (addr,)) v = cur.fetchone() if v is None: return False @@ -261,8 +258,7 @@ class Database(object): cur.execute(INSERT INTO WarnedEmails (email,when_warned) VALUES (?,?), (addr, t,)) elif warned == False: -cur.execute(DELETE FROM WarnedEmails WHERE -email = ?, (addr,)) +cur.execute(DELETE FROM WarnedEmails WHERE email = ?, (addr,)) def cleanWarnedEmails(self, expireBefore): cur = self._cur @@ -302,10 +298,13 @@ class Database(object): def getBridgesLastUpdatedBefore(self, statusPublicationMillis): cur = self._cur -v = cur.execute(SELECT * FROM BridgeHistory WHERE lastUpdatedWeightedTime ?, (statusPublicationMillis,)) +v = cur.execute(SELECT * FROM BridgeHistory WHERE lastUpdatedWeightedTime ?, +(statusPublicationMillis,)) if v is None: return for h in v: yield BridgeHistory(h[0],IPAddress(h[1]),h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9],h[10]) + + def openDatabase(sqlite_file): conn = sqlite3.Connection(sqlite_file) cur = conn.cursor() ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [bridgedb/develop] Decrease the time spent in deduplicate() benchmarks.
commit a64de660b46c19ddaa17f7cf9688464d09202e1d Author: Isis Lovecruft i...@torproject.org Date: Sun Apr 19 04:51:55 2015 + Decrease the time spent in deduplicate() benchmarks. [noci] It's taking a super long time on some of the CI machines. --- lib/bridgedb/test/test_parse_descriptors.py |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/bridgedb/test/test_parse_descriptors.py b/lib/bridgedb/test/test_parse_descriptors.py index 5ef3f6a..a7b22cf 100644 --- a/lib/bridgedb/test/test_parse_descriptors.py +++ b/lib/bridgedb/test/test_parse_descriptors.py @@ -492,7 +492,7 @@ class ParseDescriptorsTests(unittest.TestCase): def test_parse_descriptors_parseExtraInfoFiles_benchmark_100_bridges(self): Benchmark test for ``b.p.descriptors.parseExtraInfoFiles``. print() -for i in range(1, 11): +for i in range(1, 6): descFiles = self.createDuplicatesForBenchmark(b=100, n=i) with Benchmarker(): routers = descriptors.parseExtraInfoFiles(*descFiles) @@ -500,7 +500,7 @@ class ParseDescriptorsTests(unittest.TestCase): def test_parse_descriptors_parseExtraInfoFiles_benchmark_1000_bridges(self): Benchmark test for ``b.p.descriptors.parseExtraInfoFiles``. print() -for i in range(1, 11): +for i in range(1, 6): descFiles = self.createDuplicatesForBenchmark(b=1000, n=i) with Benchmarker(): routers = descriptors.parseExtraInfoFiles(*descFiles) @@ -513,7 +513,7 @@ class ParseDescriptorsTests(unittest.TestCase): Run it on your own free time.)) print() -for i in range(1, 11): +for i in range(1, 6): descFiles = self.createDuplicatesForBenchmark(b=1, n=i) with Benchmarker(): routers = descriptors.parseExtraInfoFiles(*descFiles) ___ 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 5c32e84f8e6da94b001d52d85e68a902d176a76d Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 22:15:38 2015 + Update translations for tor-launcher-network-settings_completed --- fr/network-settings.dtd |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr/network-settings.dtd b/fr/network-settings.dtd index 877dc1a..0ca1938 100644 --- a/fr/network-settings.dtd +++ b/fr/network-settings.dtd @@ -8,7 +8,7 @@ !ENTITY torSettings.no Non !ENTITY torSettings.firstQuestion Laquelle des phrases suivantes décrit le mieux votre situation ? -!ENTITY torSettings.configurePrompt1 Le connexion internet de cet ordinateur est bloqué ou utilise un proxy. +!ENTITY torSettings.configurePrompt1 Le connexion internet de cet ordinateur est restreinte (censurée) ou passe par un proxy. !ENTITY torSettings.configurePrompt2 Je dois configurer le pont réseau ou les paramètres du proxy. !ENTITY torSettings.configure Configurer !ENTITY torSettings.connectPrompt2 Je souhaite me connecter directement au réseau Tor. ___ 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 6a10fd878b3295c93e2462a21d63d88db9d7887e Author: Translation commit bot translat...@torproject.org Date: Wed Apr 29 22:15:32 2015 + Update translations for tor-launcher-network-settings --- fr/network-settings.dtd |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr/network-settings.dtd b/fr/network-settings.dtd index 877dc1a..0ca1938 100644 --- a/fr/network-settings.dtd +++ b/fr/network-settings.dtd @@ -8,7 +8,7 @@ !ENTITY torSettings.no Non !ENTITY torSettings.firstQuestion Laquelle des phrases suivantes décrit le mieux votre situation ? -!ENTITY torSettings.configurePrompt1 Le connexion internet de cet ordinateur est bloqué ou utilise un proxy. +!ENTITY torSettings.configurePrompt1 Le connexion internet de cet ordinateur est restreinte (censurée) ou passe par un proxy. !ENTITY torSettings.configurePrompt2 Je dois configurer le pont réseau ou les paramètres du proxy. !ENTITY torSettings.configure Configurer !ENTITY torSettings.connectPrompt2 Je souhaite me connecter directement au réseau Tor. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor-browser-spec/master] Update fingerprinting section and rework its introduction.
commit 8bb3bb891c08073c8e1ec73682ca269bda47e3b9 Author: Mike Perry mikeperry-...@torproject.org Date: Wed Apr 29 15:14:00 2015 -0700 Update fingerprinting section and rework its introduction. --- design-doc/design.xml | 377 - 1 file changed, 218 insertions(+), 159 deletions(-) diff --git a/design-doc/design.xml b/design-doc/design.xml index 5a7ee28..5c16ce8 100644 --- a/design-doc/design.xml +++ b/design-doc/design.xml @@ -220,7 +220,8 @@ it out of scope, and/or leave it to the operating system/platform to implement ephemeral-keyed encrypted swap. /para/listitem - + +!-- XXX-4.5: Add a section for this. listitemlink linkend=update-safetycommandUpdate Safety/command/link para @@ -231,6 +232,7 @@ MUST have defenses against holdback/freeze attacks, downgrade attacks, and general availability attacks. /para/listitem +-- /orderedlist @@ -723,8 +725,6 @@ interpreter speed/ulink. In the future, new JavaScript features such as Timing/ulink may leak an unknown amount of network timing related information. -!-- FIXME: resource-timing stuff? -- - /para /listitem @@ -923,10 +923,10 @@ as set the pref commandmedia.peerconnection.enabled/command to false. We also patch Firefox in order to provide several defense-in-depth mechanisms for proxy safety. Notably, we ulink -url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1id=8c6604d2b776f0d8e33ed9130c5f5b8cf744bac8;patch +url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1amp;id=8c6604d2b776f0d8e33ed9130c5f5b8cf744bac8;patch the DNS service/ulink to prevent any browser or addon DNS resolution, and we also ulink -url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1id=c96c854c0eca21fed1362d1ddd164b657d351795;patch +url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1amp;id=c96c854c0eca21fed1362d1ddd164b657d351795;patch OCSP and PKIX code/ulink to prevent any use of the non-proxied command-line tool utility functions from being functional while linked in to the browser. In both cases, we could find no direct paths to these routines in the browser, @@ -978,10 +978,10 @@ restricted from automatic load through Firefox's click-to-play preference In addition, to reduce any unproxied activity by arbitrary plugins at load time, and to reduce the fingerprintability of the installed plugin list, we also patch the Firefox source code to ulink -url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1id=465cb8295db58a6450dc14a593d29372cbebc71d; +url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1amp;id=465cb8295db58a6450dc14a593d29372cbebc71d; prevent the load of any plugins except for Flash and Gnash/ulink. Even for Flash and Gnash, we also patch Firefox to ulink url= -https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1id=e5531b1baa3c96dee7d8d4274791ff393bafd241;prevent loading them into the +https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1amp;id=e5531b1baa3c96dee7d8d4274791ff393bafd241;prevent loading them into the address space/ulink until they are explicitly enabled. /para @@ -1062,14 +1062,14 @@ Private Browsing preference Private Browsing Mode is enabled. We need to ulink -url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1id=44b8ae43a83191bbf5161cbdbf399e10c1b943d0;prevent +url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1amp;id=44b8ae43a83191bbf5161cbdbf399e10c1b943d0;prevent the permissions manager from recording HTTPS STS state/ulink, ulink -url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1id=e5abcb28f131aa96e8762212573488d303b3614d;prevent +url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1amp;id=e5abcb28f131aa96e8762212573488d303b3614d;prevent intermediate SSL certificates from being recorded/ulink, ulink -url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1id=ee34e122ac2929a7668314483e36e58a88c98c08;prevent +url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1amp;id=ee34e122ac2929a7668314483e36e58a88c98c08;prevent the clipboard cache from being written to disk for large pastes/ulink, and ulink -url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1id=c8e357740dd7bafa2a129007f27d2b243e36f4a2;prevent +url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1amp;id=c8e357740dd7bafa2a129007f27d2b243e36f4a2;prevent the content preferences service from recording site zoom/ulink. We also had to disable the media cache with the pref commandmedia.cache_size/command, to prevent HTML5 videos from being
[tor-commits] [tor-browser-spec/master] Add 4.5 TODOs; Fix gitweb links; Remove Cruft.
commit 8d336aa7bf850567cc0b6f686421682f16ba0d0c Author: Mike Perry mikeperry-...@torproject.org Date: Tue Apr 28 21:25:46 2015 -0700 Add 4.5 TODOs; Fix gitweb links; Remove Cruft. --- design-doc/design.xml | 449 - 1 file changed, 73 insertions(+), 376 deletions(-) diff --git a/design-doc/design.xml b/design-doc/design.xml index 16007f3..91d64cc 100644 --- a/design-doc/design.xml +++ b/design-doc/design.xml @@ -23,14 +23,9 @@ addressemailsjmurdoch#torproject org/email/address /affiliation /author - pubdateNovember 6th, 2014/pubdate + pubdateApril 30th, 2015/pubdate /articleinfo -!-- -- Introduction and Threat model: [Mostly Torbutton] - - [Remove the security requirements section] --- - sect1 titleIntroduction/title para @@ -40,7 +35,7 @@ This document describes the link linkend=adversaryadversary model/link, linkend=Implementationimplementation/link !-- and link linkend=Packagingpackaging/link and link linkend=Testingtesting procedures/link -- of the Tor Browser. It is current as of Tor Browser -4.5-alpha-1. +4.5. /para para @@ -51,6 +46,8 @@ against active network adversaries, in addition to the passive forensic local adversary currently addressed by the major browsers. /para + +!-- XXX-4.5: Link to hacking document -- sect2 id=components titleBrowser Component Overview/title para @@ -61,10 +58,10 @@ Support Release (ESR) Firefox branch/ulink. We have a ulink url=https://gitweb.torproject.org/tor-browser.git;series of patches/ulink against this browser to enhance privacy and security. Browser behavior is additionally augmented through the ulink -url=https://gitweb.torproject.org/torbutton.git/tree/master;Torbutton +url=https://gitweb.torproject.org/torbutton.git/tree/;Torbutton extension/ulink, though we are in the process of moving this functionality into direct Firefox patches. We also ulink -url=https://gitweb.torproject.org/tor-browser.git/blob/refs/heads/tor-browser-31.2.0esr-4.x-1:/browser/app/profile/000-tor-browser.js;change +url=https://gitweb.torproject.org/tor-browser.git/tree/browser/app/profile/000-tor-browser.js?h=tor-browser-31.6.0esr-4.5-1;change a number of Firefox preferences/ulink from their defaults. /para @@ -83,7 +80,7 @@ To help protect against potential Tor Exit Node eavesdroppers, we include provide users with optional defense-in-depth against Javascript and other potential exploit vectors, we also include ulink url=http://noscript.net/;NoScript/ulink. We also modify ulink -url=https://gitweb.torproject.org/builders/tor-browser-bundle.git/blob/refs/heads/master:/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js;several +url=https://gitweb.torproject.org/builders/tor-browser-bundle.git/tree/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js;several extension preferences/ulink from their defaults. /para @@ -93,7 +90,7 @@ To provide censorship circumvention in areas where the public Tor network is blocked either by IP, or by protocol fingerprint, we include several ulink url=https://trac.torproject.org/projects/tor/wiki/doc/AChildsGardenOfPluggableTransports;Pluggable Transports/ulink in the distribution. As of this writing, we include ulink -url=https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/blob/HEAD:/doc/obfs3/obfs3-protocol-spec.txt;Obfsproxy/ulink, +url=https://gitweb.torproject.org/pluggable-transports/obfs4.git;Obfs4proxy/ulink, ulink url=https://trac.torproject.org/projects/tor/wiki/doc/meek;meek/ulink, ulink url=https://fteproxy.org/;FTE/ulink, and ulink @@ -215,7 +212,8 @@ it out of scope, and/or leave it to the operating system/platform to implement ephemeral-keyed encrypted swap. /para/listitem - + +!-- XXX-4.5: Now present in 4.5 -- !-- listitemlink linkend=update-safetycommandUpdate Safety/command/link @@ -894,7 +892,7 @@ Proxy obedience is assured through the following: para Our ulink -url=https://gitweb.torproject.org/tor-browser.git/blob/refs/heads/tor-browser-31.2.0esr-4.x-1:/browser/app/profile/000-tor-browser.js;Firefox +url=https://gitweb.torproject.org/tor-browser.git/tree/browser/app/profile/000-tor-browser.js?h=tor-browser-31.6.0esr-4.5-1;Firefox preferences file/ulink sets the Firefox proxy settings to use Tor directly as a SOCKS proxy. It sets commandnetwork.proxy.socks_remote_dns/command, commandnetwork.proxy.socks_version/command, @@ -913,10 +911,10 @@ as set the pref commandmedia.peerconnection.enabled/command to false. We also patch Firefox in order to provide several defense-in-depth mechanisms for proxy safety. Notably, we ulink -url=https://gitweb.torproject.org/tor-browser.git/commitdiff/8527bec0ad59fb3d885c5639735fb188eefa336f;patch +url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1id=8c6604d2b776f0d8e33ed9130c5f5b8cf744bac8;patch the DNS service/ulink to
[tor-commits] [tor-browser-spec/master] Update and clarify security slider section.
commit 4aa6d6fd6de7f17be33813848893a4135a9f6ff1 Author: Mike Perry mikeperry-...@torproject.org Date: Wed Apr 29 22:00:34 2015 -0700 Update and clarify security slider section. --- design-doc/design.xml | 81 - 1 file changed, 53 insertions(+), 28 deletions(-) diff --git a/design-doc/design.xml b/design-doc/design.xml index 90f8032..01559a6 100644 --- a/design-doc/design.xml +++ b/design-doc/design.xml @@ -2163,10 +2163,11 @@ privacy and security issues. para In order to provide vulnerability surface reduction for users that need high -security, we have implemented a Security Slider that essentially represents a -tradeoff between usability and security. Using metrics collected from -Mozilla's bug tracker, we analyzed the vulnerability counts of core components, -and used ulink +security, we have implemented a Security Slider to allow users to make a +tradeoff between usability and security while minimizing the total number of +choices (to reduce fingerprinting). Using metrics collected from +Mozilla's bug tracker, we analyzed the vulnerability counts of core +components, and used ulink url=https://github.com/iSECPartners/publications/tree/master/reports/Tor%20Browser%20Bundle;information gathered from a study performed by iSec Partners/ulink to inform which features should be disabled at which security levels. @@ -2174,32 +2175,56 @@ features should be disabled at which security levels. /para para -!-- XXX-4.5: These values have changed slightly.. Also SVG and MathML prefs -- - -The Security Slider consists of four positions. At the lowest security level -(the default), we disable -commandgfx.font_rendering.graphite.enabled/command for Latin locales, as -well as commandgfx.font_rendering.graphite.enabled/command. At the -medium-low level, we disable most Javascript JIT and related optimizations -(commandjavascript.options.ion.content/command, -commandjavascript.options.typeinference/command, -commandjavascript.options.asmjs/command). We also make HTML5 media -click-to-play (commandnoscript.forbidMedia/command), and disable WebAudio -(commandmedia.webaudio.enabled/command). At the medium-high level, we -disable the baseline JIT -(commandjavascript.options.baselinejit.content/command), disable -Javascript entirely all elements that are loaded when the URL bar is not -HTTPS (commandnoscript.globalHttpsWhitelist/command), and fully disable -graphite font rendering for all locales -(commandgfx.font_rendering.graphite.enable/command). At the highest level, -Javascript is fully disabled (commandnoscript.global/command), as well as -all non-WebM HTML5 codecs (commandmedia.ogg.enabled/command, -commandmedia.opus.enabled/command, commandmedia.opus.enabled/command, -commandmedia.DirectShow.enabled/command, -commandmedia.wave.enabled/command, and -commandmedia.apple.mp3.enabled/command). +The Security Slider consists of four positions: /para + itemizedlist + listitemcommandLow/command + para + +At this security level, the preferences are the Tor Browser defaults. + + /para + /listitem + listitemcommandMedium-Low/command + para + +At this security level, we disable the ION JIT +(commandjavascript.options.ion.content/command), TypeInference JIT +(commandjavascript.options.typeinference/command), ASM.JS +(commandjavascript.options.asmjs/command), WebAudio +(commandmedia.webaudio.enabled/command), MathML +(commandmathml.disabled/command), block remote JAR files +(commandnetwork.jar.block-remote-files/command), and make HTML5 audio and +video click-to-play via NoScript (commandnoscript.forbidMedia/command). + + /para + /listitem + listitemcommandMedium-High/command + para + +This security level inherits the preferences from the Medium-Low level, and +additionally disables the baseline JIT +(commandjavascript.options.baselinejit.content/command), disables graphite +font rendering (commandgfx.font_rendering.graphite.enabled/command), and +only allows Javascript to run if it is loaded over HTTPS and the URL bar is +HTTPS (by setting commandnoscript.global/command to false and +commandnoscript.globalHttpsWhitelist/command to true). + + /para + /listitem + listitemcommandHigh/command + para + +This security level inherits the preferences from the Medium-Low and +Medium-High levels, and additionally disables remote fonts +(commandnoscript.forbidFonts/command), completely disables Javascript (by +unsetting commandnoscript.globalHttpsWhitelist/command), and disables SVG +images (commandsvg.in-content.enabled/command). + + /para + /listitem + /itemizedlist /listitem listitem id=traffic-fingerprinting-defensescommandWebsite Traffic Fingerprinting Defenses/command para ___ tor-commits mailing list tor-commits@lists.torproject.org
[tor-commits] [webwml/master] Update Tor Browser Design Doc for 4.5.
commit 0ab80d6a0fcd16a3041c2204f0bbacd58a8ba8d1 Author: Mike Perry mikeperry-...@torproject.org Date: Wed Apr 29 22:25:35 2015 -0700 Update Tor Browser Design Doc for 4.5. --- projects/torbrowser/design/index.html.en | 566 ++ 1 file changed, 339 insertions(+), 227 deletions(-) diff --git a/projects/torbrowser/design/index.html.en b/projects/torbrowser/design/index.html.en index e063944..51f5fc0 100644 --- a/projects/torbrowser/design/index.html.en +++ b/projects/torbrowser/design/index.html.en @@ -1,9 +1,9 @@ ?xml version=1.0 encoding=UTF-8? -!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd;html xmlns=http://www.w3.org/1999/xhtml;headmeta http-equiv=Content-Type content=text/html; charset=UTF-8 /titleThe Design and Implementation of the Tor Browser [DRAFT]/titlemeta name=generator content=DocBook XSL Stylesheets V1.78.1 //headbodydiv class=articlediv class=titlepagedivdivh2 class=titlea id=design/aThe Design and Implementation of the Tor Browser [DRAFT]/h2/divdivdiv class=authorh3 class=authorspan class=firstnameMike/span span class=surnamePerry/span/h3div class=affiliationdiv class=addresspcode class=emaillt;a class=email href=mailto:mikeperry#torproject orgmikeperry#torproject org/agt;/code/p/div/div/div/divdivdiv class=authorh3 class=authorspan class=firstnameErinn/span span class=surnameClark/span/h3div class=a ffiliationdiv class=addresspcode class=emaillt;a class=email href=mailto:erinn#torproject orgerinn#torproject org/agt;/code/p/div/div/div/divdivdiv class=authorh3 class=authorspan class=firstnameSteven/span span class=surnameMurdoch/span/h3div class=affiliationdiv class=addresspcode class=emaillt;a class=email href=mailto:sjmurdoch#torproject orgsjmurdoch#torproject org/agt;/code/p/div/div/div/divdivp class=pubdateNovember 6th, 2014/p/div/divhr //divdiv class=tocpstrongTable of Contents/strong/pdl class=tocdtspan class=sect1a href=#idp597205281. Introduction/a/span/dtdddldtspan class=sect2a href=#components1.1. Browser Component Overview/a/span/dt/dl/dddtspan class=sect1a href=#DesignRequirements2. Design Requirements and Philosophy/a/span/dtdddldtspan class=sect2a href=#security2.1. Secu rity Requirements/a/span/dtdtspan class=sect2a href=#privacy2.2. Privacy Requirements/a/span/dtdtspan class=sect2a href=#philosophy2.3. Philosophy/a/span/dt/dl/dddtspan class=sect1a href=#adversary3. Adversary Model/a/span/dtdddldtspan class=sect2a href=#adversary-goals3.1. Adversary Goals/a/span/dtdtspan class=sect2a href=#adversary-positioning3.2. Adversary Capabilities - Positioning/a/span/dtdtspan class=sect2a href=#attacks3.3. Adversary Capabilities - Attacks/a/span/dt/dl/dddtspan class=sect1a href=#Implementation4. Implementation/a/span/dtdddldtspan class=sect2a href=#proxy-obedience4.1. Proxy Obedience/a/span/dtdtspan class=sect2a href=#state-separation4.2. State Separation/a/span/dtdtspan class=sect2a href=#disk-avoidance4.3. Disk Avoidance/a/span/dtdtspan class=sect2a href=#app-data-isol ation4.4. Application Data Isolation/a/span/dtdtspan class=sect2a href=#identifier-linkability4.5. Cross-Origin Identifier Unlinkability/a/span/dtdtspan class=sect2a href=#fingerprinting-linkability4.6. Cross-Origin Fingerprinting Unlinkability/a/span/dtdtspan class=sect2a href=#new-identity4.7. Long-Term Unlinkability via New Identity button/a/span/dtdtspan class=sect2a href=#other-security4.8. Other Security Measures/a/span/dt/dl/dddtspan class=sect1a href=#BuildSecurity5. Build Security and Package Integrity/a/span/dtdddldtspan class=sect2a href=#idp605979045.1. Achieving Binary Reproducibility/a/span/dtdtspan class=sect2a href=#idp606328005.2. Package Signatures and Verification/a/span/dtdtspan class=sect2a href=#idp606367365.3. Anonymous Verification/a/span/dt/dl/dddtspan class=appendixa href=#TransparencyA. Towards Tran sparency in Navigation Tracking/a/span/dtdddldtspan class=sect1a href=#deprecateA.1. Deprecation Wishlist/a/span/dtdtspan class=sect1a href=#idp60669376A.2. Promising Standards/a/span/dt/dl/dd/dl/divdiv class=sect1div class=titlepagedivdivh2 class=title style=clear: botha id=idp59720528/a1. Introduction/h2/div/div/divp +!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd;html xmlns=http://www.w3.org/1999/xhtml;headmeta http-equiv=Content-Type content=text/html; charset=UTF-8 /titleThe Design and Implementation of the Tor Browser [DRAFT]/titlemeta name=generator content=DocBook XSL Stylesheets V1.78.1 //headbodydiv class=articlediv class=titlepagedivdivh2 class=titlea id=design/aThe Design and Implementation of the Tor Browser [DRAFT]/h2/divdivdiv class=authorh3 class=authorspan class=firstnameMike/span span class=surnamePerry/span/h3div class=affiliationdiv class=addresspcode class=emaillt;a class=email href=mailto:mikeperry#torproject
[tor-commits] [tor-browser-spec/master] The version file no longer needs to be updated immediately.
commit b9b1014d531c793f7779b524240b1ef62dc72a1a Author: Mike Perry mikeperry-...@torproject.org Date: Wed Apr 29 22:02:40 2015 -0700 The version file no longer needs to be updated immediately. --- processes/ReleaseProcess |1 - 1 file changed, 1 deletion(-) diff --git a/processes/ReleaseProcess b/processes/ReleaseProcess index f742047..925f3ce 100644 --- a/processes/ReleaseProcess +++ b/processes/ReleaseProcess @@ -103,7 +103,6 @@ static-update-component dist.torproject.org #. Update website's torbrowser versions file in the website git -# NOTE: This *must* be done immediately after the previous step! cd webwml torsocks git pull origin # Update `version-win32-stable` as well if we include a new stable tor ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor-browser-spec/master] Speel chek desine dock.
commit d7662cd672c7af14eee7609a45cc0da36c888e66 Author: Mike Perry mikeperry-...@torproject.org Date: Wed Apr 29 22:18:48 2015 -0700 Speel chek desine dock. --- design-doc/design.xml | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/design-doc/design.xml b/design-doc/design.xml index 01559a6..7711d19 100644 --- a/design-doc/design.xml +++ b/design-doc/design.xml @@ -936,7 +936,7 @@ geolocation queries, searchbox queries, XPCOM addon HTTPS/HTTP activity, WebSockets, and live bookmark updates. We have also verified that IPv6 connections are not attempted, through the proxy or otherwise (Tor does not yet support IPv6). We have also verified that external protocol helpers, such -as smb urls and other custom protocol handlers are all blocked. +as SMB URLs and other custom protocol handlers are all blocked. /para /listitem @@ -1321,7 +1321,7 @@ interest to an adversary. /para para -URIs created with URL.createObjectURI MUST be limited in scope to the first +URIs created with URL.createObjectURL MUST be limited in scope to the first party URL bar domain that created them. We provide this isolation in Tor Browser via a ulink url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1amp;id=0d67ab406bdd3cf095802cb25c081641aa1f0bcc;direct @@ -1445,7 +1445,7 @@ fingerprinting makes use of any information that can be extracted from the browser by some specific website action, usually involving Javascript. Some definitions of browser fingerprinting also include supercookies and cookie-like identifier storage, but we deal with those issues separately in -the link linkend=identifier-linkabilitypreceeding section on identifier +the link linkend=identifier-linkabilitypreceding section on identifier linkability/link. /para @@ -1503,14 +1503,14 @@ concurrent activity, we are less concerned with this mechanism of extracting this information. We also expect that reducing the resolution of Javascript's time sources will significantly increase the duration of execution required to extract accurate results, and thus make statistical approaches both -unattractive and highly noticable due to execessive resource consumption. +unattractive and highly noticeable due to excessive resource consumption. /para /listitem listitemcommandOperating System Vendor and Version Differences/command para -Operating system vendor and version differences permiate many different +Operating system vendor and version differences permeate many different aspects of the browser. While it is possible to address these issues with some effort, the relative lack of diversity in operating systems causes us to primarily focus our efforts on passive operating system fingerprinting @@ -1529,7 +1529,7 @@ Due to vast differences in feature set and implementation behavior even between different versions of the same browser, browser vendor and version differences are simply not possible to conceal in any realistic way. It is only possible to minimize the differences among different installations of -the same browser vendor and version. We make no effort to mimick any other +the same browser vendor and version. We make no effort to mimic any other major browser vendor, and in fact most of our fingerprinting defenses serve to differentiate Tor Browser users from normal Firefox users. Because of this, any study that lumps browser vendor and version differences in to its analysis @@ -2121,7 +2121,7 @@ closed (this does not spawn a new Firefox process, only a new window). Upon the close of the final window, an unload handler is fired to invoke the ulink url=https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMWindowUtils#garbageCollect%28%29;garbage collector/ulink, which has the effect of immediately purging any blob:UUID -urls that were created by website content via ulink +URLs that were created by website content via ulink url=https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL;URL.createObjectURL/ulink. /para @@ -2569,10 +2569,10 @@ consensus, and encoding the package hashes in the Bitcoin blockchain. para The Windows releases are also signed by a hardware token provided by Digicert. -In order to verify package integrity, the signature must be sripped off using +In order to verify package integrity, the signature must be stripped off using the osslsigncode tool, as described on the ulink url=https://www.torproject.org/docs/verifying-signatures.html.en#BuildVerification;Signature -Vericication/ulink page. +Verification/ulink page. /para /sect2 ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor-browser-spec/master] Add update security info.
commit 351f4868291f16da605191c6f0597b632277d841 Author: Mike Perry mikeperry-...@torproject.org Date: Wed Apr 29 20:55:25 2015 -0700 Add update security info. --- design-doc/design.xml | 55 + 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/design-doc/design.xml b/design-doc/design.xml index 5c16ce8..90f8032 100644 --- a/design-doc/design.xml +++ b/design-doc/design.xml @@ -221,19 +221,6 @@ ephemeral-keyed encrypted swap. /para/listitem -!-- XXX-4.5: Add a section for this. - listitemlink linkend=update-safetycommandUpdate Safety/command/link - -para -The browser MUST NOT perform unsafe updates or upgrades. Update checks -and downloads MUST protected by a pinned TLS certificate. All automatic update -packages SHOULD be signed with at least one offline key. The update mechanism -MUST have defenses against holdback/freeze attacks, downgrade attacks, and -general availability attacks. - -/para/listitem --- - /orderedlist /sect2 @@ -1121,13 +1108,6 @@ $HOME environment variable to be the TBB extraction directory. /para /sect2 -!-- FIXME: Write me... - sect2 id=update-safety - titleUpdate Safety/title - paraFIXME: Write me.. - /para - /sect2 --- sect2 id=identifier-linkability titleCross-Origin Identifier Unlinkability/title para @@ -2367,7 +2347,6 @@ of its update pings. sect1 id=BuildSecurity titleBuild Security and Package Integrity/title para -!-- XXX-4.5: signatures of MARs and exes are reproducibly removable -- In the age of state-sponsored malware, ulink url=https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise;we @@ -2532,7 +2511,6 @@ time-based dependency tracking/ulink that only appear in LXC containers. /sect2 sect2 -!-- XXX-4.5: unsigning -- titlePackage Signatures and Verification/title para @@ -2565,11 +2543,11 @@ consensus, and encoding the package hashes in the Bitcoin blockchain. /para para -At the time of this writing, we do not yet support native code signing for Mac -OS or Windows. Because these signatures are embedded in the actual packages, -and by their nature are based on non-public key material, providing native -code-signed packages while still preserving ease of reproducibility -verification has not yet been achieved. +The Windows releases are also signed by a hardware token provided by Digicert. +In order to verify package integrity, the signature must be sripped off using +the osslsigncode tool, as described on the ulink +url=https://www.torproject.org/docs/verifying-signatures.html.en#BuildVerification;Signature +Vericication/ulink page. /para /sect2 @@ -2598,6 +2576,29 @@ verifier. /para /sect2 + sect2 id=update-safety + titleUpdate Safety/title + para + +We make use of the Firefox updater in order to provide automatic updates to +users. We make use of certificate pinning to ensure that update checks +be tampered with, and we sign the individual MAR update files with an offline +signing key. + + /para + para + +The Firefox updater also has code to ensure that it can reliably access the +update server to prevent availability attacks, and complains to the user of 48 +hours go by without a successful response from the server. Additionally, we +use Tor's SOCKS username and password isolation to ensure that every new +request to the updater traverses a separate circuit, to avoid holdback attacks +by exit nodes. + + /para + /sect2 + + /sect1 !-- sect2 id=components ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor-browser-spec/master] Update identifier linkability section.
commit 45aac71b4d114ca9e03e49a9c12fdb7cb11320ec Author: Mike Perry mikeperry-...@torproject.org Date: Wed Apr 29 02:27:05 2015 -0700 Update identifier linkability section. --- design-doc/design.xml | 126 - 1 file changed, 93 insertions(+), 33 deletions(-) diff --git a/design-doc/design.xml b/design-doc/design.xml index 91d64cc..5a7ee28 100644 --- a/design-doc/design.xml +++ b/design-doc/design.xml @@ -47,7 +47,15 @@ adversary currently addressed by the major browsers. /para -!-- XXX-4.5: Link to hacking document -- + para + +For more practical information regarding Tor Browser development, please +consult the ulink +url=https://trac.torproject.org/projects/tor/wiki/doc/TorBrowser/Hacking;Tor +Browser Hacking Guide/ulink. + + /para + sect2 id=components titleBrowser Component Overview/title para @@ -213,13 +221,17 @@ ephemeral-keyed encrypted swap. /para/listitem -!-- XXX-4.5: Now present in 4.5 -- -!-- - listitemlink linkend=update-safetycommandUpdate -Safety/command/link + listitemlink linkend=update-safetycommandUpdate Safety/command/link + +para +The browser MUST NOT perform unsafe updates or upgrades. Update checks +and downloads MUST protected by a pinned TLS certificate. All automatic update +packages SHOULD be signed with at least one offline key. The update mechanism +MUST have defenses against holdback/freeze attacks, downgrade attacks, and +general availability attacks. + +/para/listitem -paraThe browser SHOULD NOT perform unsafe updates or upgrades./para/listitem --- /orderedlist /sect2 @@ -1161,8 +1173,6 @@ form history, login values, and so on within a context menu for each site. /caption /figure orderedlist -!-- XXX-4.5: SharedWorkers are disabled -- -!-- XXX-4.5: blob: URIs are isolated -- listitemCookies paracommandDesign Goal:/command @@ -1283,13 +1293,11 @@ file on Windows, so Flash remains difficult to enable. /para /listitem -listitemSSL+TLS session resumption, HTTP Keep-Alive and SPDY +listitemSSL+TLS session resumption paracommandDesign Goal:/command -!-- XXX-4.5: keep-alive is now properly isolated -- TLS session resumption tickets and SSL Session IDs MUST be limited to the url -bar origin. HTTP Keep-Alive connections from a third party in one url bar -origin MUST NOT be reused for that same third party in another url bar origin. +bar origin. /para paracommandImplementation Status:/command @@ -1305,20 +1313,82 @@ these performance optimizations, we also enable False Start/ulink via the Firefox Pref commandsecurity.ssl.enable_false_start/command. /para -para +/listitem +listitemIP address, Tor Circuit, and HTTP Keep-Alive linkability + para + +IP addresses, Tor Circuits, and HTTP connections from a third party in one URL +bar origin MUST NOT be reused for that same third party in another URL bar +origin. + /para + para + +This isolation functionality is provided by the combination of a ulink +url=https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-31.6.0esr-4.5-1id=b3ea705cc35b79a9ba27323cb3e32d5d004ea113;Firefox +patch to allow SOCKS username and passwords/ulink, as well as a Torbutton +component that ulink +linkend=https://gitweb.torproject.org/torbutton.git/tree/src/components/domain-isolator.js;sets +the SOCKS username and password for each request/ulink. The Tor client has +logic to prevent connections with different SOCKS usernames and passwords from +using the same Tor Circuit, which provides us with IP address unlinkability. +Firefox has existing logic to ensure that connections with SOCKS proxy do not +re-use existing HTTP Keep Alive connections unless the proxy settings match. +We extended this logic to cover SOCKS username and password authentication, +providing us with HTTP Keep-Alive unlinkability. + + /para +/listitem +listitemSharedWorkers + para + +ulink +url=https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker;SharedWorkers/ulink +are a special form of Javascript Worker Threads that have a shared scope +between all threads from the same Javascript origin. + /para + paracommandDesign Goal:/command + +SharedWorker scope MUST be isolated to the URL bar domain. A SharedWorker +launched from a third party from one URL bar domain MUST NOT have access to +the objects created by that same third party loaded under another URL bar domain. + + /para + paracommandImplementation Status:/command + +For now, we disable SharedWorkers via the pref +commanddom.workers.sharedWorkers.enabled/command. + + /para +/listitem +listitemblob: URIs (URL.createObjectURL) + para + +The ulink +url=https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL;URL.createObjectURL/ulink +API allows a site to load arbitrary content into a random UUID that is stored +in the user's browser, and this content can be accessed via a URL