[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 1daeb578ed944463866aec4a52de9f707eb3253a
Author: Translation commit bot 
Date:   Tue Dec 1 21:45:13 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po | 24 ++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index 8e85a79a25..a83e0a5bcc 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -16326,6 +16326,18 @@ msgid ""
 "hope, as an organization committed to protecting the privacy of its "
 "customers, you'll agree that this is a valuable technology."
 msgstr ""
+"הודעת הפגיעה בזכויות יוצרים קרוב לודאי שנ
שלחה עקב תוכנה שאנו מפעילים בשם "
+"Tor. Tor הנה תוכנת רשת שעוזרת למשתמשים להגן על 
פרטיותם,  אבטחת המידע שלהם, "
+"ובטיחותם בפעילותם המקוונת. היא אינה שומרת 
כל תוכן. . במקום זאת, היא פשוט חלק"
+" מרשת של צמתים אשר מעבירים פאקטים של מידע 
בינם לבין עצמם לפני ששולחים אותם "
+"ליעדם. ההבדל טמון בכך ש Tor מנהל את התקשורת 
כך שאף תחנה לא תוכל לזהות את "
+"המקור ואת הידע של הפאקטים, מה שנותן 
למשתמשים הגנה מפני חטטנות חשודה בתעבורת "
+"האנטרנט. התוצאה הנה, שלא כמו בתעבורת אנטרנ
ט רגילה, כתובת ה IP שהיעד מקבל "
+"אינה כתובת ה IP של השולח. Tor מגן על משתמשים נ
גד מפגעים כגון הטרדות, ספאם, "
+"וגניבת זהות. . הפיתוח הראשוני של Tor, כולל 
השימוש הציבורי של רשת Tor, היה "
+"פרויקט שלU.S. Naval Research Laboratory, במימות מ ONR ו 
DARPA. (למידע נוסף "
+"על  Tor, ראו https://www.torproject.org/.) אנו מקווים 
שכארגון שמחויב להגן על"
+" הפרטיות של לקוחותיו, תסכימו שמדובר בטכנ
ולוגמה בעלת ערך. "
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
@@ -16341,6 +16353,11 @@ msgid ""
 "vicarious liability. Therefore, you should continue to be protected under "
 "the DMCA 512(a) safe harbor without taking any further action."
 msgstr ""
+"בעוד שצומת Tor שאני מפעיל אולי נראית כאילו 
היא המקור של החומר שנראה כמו הפרת"
+" זכויות יוצרים, אינננו מאחסנים את החומר 
הזה. איננו בוחרים את התוכן שעובר דרך"
+" צומת Tor שאנו מפעילים, לא באופן ישיר ולא תחת 
ההנחה של תרומה או אחריות "
+"עקיפה. לכן, אתם צריכים להיות מוגנים תחת ה 
DMCA 512(a) safe harbor ללא נקיטת "
+"צעדים נוספים כלשהם."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
@@ -16350,16 +16367,19 @@ msgid ""
 "DMCA 512 put any concerns you may have to rest. If not, please contact me "
 "with any further questions."
 msgstr ""
+"תודה לכם שעבדתם עמנו על סוגיה זו. כנרשם נ
אמן, אנו מעריכים את זאת שעדכנתם "
+"אותונו לגבי הבעיה ומקווים שההגנה של DMCA 512  
מסירה כל דאגה שעלולה לעלות "
+"אצלכם. אם לא, אנא צרו קשר עמנו בכל שאלה נ
וספת שהיא."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
 msgid "Very truly yours,"
-msgstr ""
+msgstr "שלכם,"
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
 msgid "Your customer, [User]"
-msgstr ""
+msgstr "לקוחכם הנאמן , [User]"
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.title)

___
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] Bug 40008: Add Fenix84 net audit

2020-12-01 Thread gk
commit b5ae80caf42ac4ef1a09441e65d2feca51e9217e
Author: Matthew Finkel 
Date:   Wed Nov 25 17:21:54 2020 +

Bug 40008: Add Fenix84 net audit
---
 audits/FF84_NETWORK_AUDIT | 158 ++
 1 file changed, 158 insertions(+)

diff --git a/audits/FF84_NETWORK_AUDIT b/audits/FF84_NETWORK_AUDIT
new file mode 100644
index 000..039dd96
--- /dev/null
+++ b/audits/FF84_NETWORK_AUDIT
@@ -0,0 +1,158 @@
+`git diff 1cb2c4893850a5b0a246f821a6390c07064c1227 
9e429e392ec8446ff0f078f991d6332a307bc98f`
+and then go over all the changes containing the
+below mentioned potentially dangerous calls and features. Grep the diff for
+the following strings and examine surrounding usage.
+
+=== Native DNS Portion =
+
+PR_GetHostByName
+PR_GetIPNodeByName
+PR_GetAddrInfoByName
+PR_StringToNetAddr (itself is good as it passes AI_NUMERICHOST to getaddrinfo. 
No resolution.)
+
+# FF84:
+# Bug 1220810:
+#   - When |network.proxy.allow_hijacking_localhost| is false, then localhost 
== loopback
+#   - Tor Browser set |network.proxy.allow_hijacking_localhost| as true in 
#31065
+# Proxy-safe when pref is true
+
+# Bug 1667579:
+#   - New pref |network.connectivity-service.nat64-prefix| for specifying a 
NAT64 prefix
+# for use if IPv4 is not available (default "")
+# Proxy-safe, only affects order of internal DNS records
+
+
+MDNS
+
+# FF84: Nothing new
+
+
+TRR (DNS Trusted Recursive Resolver)
+
+# FF84:
+# Bug 1673590:
+#  - Still protected by https://bugzil.la/1636411
+
+
+Direct Paths to DNS resolution:
+nsDNSService::Resolve
+nsDNSService::AsyncResolve
+nsHostResolver::ResolveHost
+
+# FF84:
+# Bug 1667356
+#   - Protected by Mozilla's proxy-bypass protection for 
https://bugzil.la/1618271
+
+# Bug 1671939:
+#   - Protected by Mozilla's proxy-bypass protection for 
https://bugzil.la/1618271
+
+# Bug 1220810:
+#   - Protected by Mozilla's proxy-bypass protection for 
https://bugzil.la/1636411
+
+ Misc Socket Portion ==
+
+SOCK_
+SOCKET_
+_SOCKET
+
+# FF84: Nothing of interest (mostly reformatting)
+
+
+UDPSocket
+TCPSocket
+  PR_NewTCPSocket
+  AsyncTCPSocket
+
+# FF84: Nothing of interest (mostly reformatting)
+
+
+Misc PR_Socket
+
+# FF84: Nothing new
+
+=== Misc XPCOM Portion 
+
+Misc XPCOM (including commands for pre-diff review approach)
+ *SocketProvider
+ grep -R udp-socket .
+ grep -R tcp-socket .
+ grep for tcpsocket
+ grep -R "NS_" | grep SOCKET | grep "_C"
+ grep -R "@mozilla.org/network/" . | grep socket | grep -v udp-socket
+
+# FF84: Zero instances outside of tests and moved code
+
+ Rust Portion 
+
+Rust
+ - XXX: What do we grep for here? Or do we rely on Ritter's compile-time tool?
+ - Check for new sendmsg and recvmsg usage
+
+# FF84: Nothing of interest (mostly reformatting and new web audio behavior 
for 1346880, and Pipewire for 1672945)
+
+
+
+ Android Portion =
+
+Android Java calls
+ - URLConnection
+   - XXX: getInputStream? other methods?
+ - HttpURLConnection
+ - UrlConnectionDownloader
+ - ch.boye.httpclientandroidlib.impl.client.* (look for execute() calls)
+ - grep -n openConnection\( mobile/android/thirdparty/
+ - java.net.URL -- has SEVERAL proxy bypass URL fetching methods :/
+ - java.net
+ - javax.net
+ - ch.boye.httpclientandroidlib.conn.* (esp ssl)
+ - ch.boye.httpclientandroidlib.impl.conn.* (esp ssl)
+ - Sudden appearance of thirdparty libs:
+   - OkHttp
+   - Retrofit
+   - Glide
+   - com.amitshekhar.android
+ - IntentHelper
+   - openUriExternal (can come from GeckoAppShell too)
+   - getHandlersForMimeType
+   - getHandlersForURL
+   - getHandlersForIntent
+ - android.content.Intent - too common; instead find launch methods:
+   - startActivity
+   - startActivities
+   - sendBroadcast
+   - sendOrderedBroadcast
+   - startService
+   - bindService
+ - android.app.PendingIntent
+ - android.app.DownloadManager
+ - ActivityHandlerHelper.startIntentAndCatch
+
+# FF84: Nothing new (using `java_audit.sh`)
+
+ Application Services Portion =
+
+Start: 8e63363359c3d20385ed55f5308d19e321816898 # v63.0.0
+End: 6a234c2b1e1972f11e585551d4cf2e40e84bf16f # v67.0.0
+
+# FF84: Nothing related to networking in Java/Koltlin/Rust code (using 
`java_audit.sh`)
+
+ Android Components Portion =
+
+Start: 0a2993d44aae3d877bb97cee925096f83af01b3a # v63.0.8
+End: 614386935ec94cac531eb8cb061409e9a8410d09 # v67.0.3
+
+# FF84: Zero new usage found of known proxy-bypass APIs (using `java_audit.sh`)
+
+ Fenix Portion =
+
+Start: 5441935698f4d9e3606f3d6baf892f6e0106a2f6 # v83.1.0-rc.1
+End: 670e61b2b97d4f8066497e79178729c5802fe428 # v84.0.0-beta.2
+
+# FF84: Zero new usage found of known proxy-bypass APIs (using `java_audit.sh`)
+
+ Regression/Prior Vuln Review =
+
+Review proxy bypass bugs; check for new vectors to look for:
+ - 

[tor-commits] [tor-browser-spec/master] Use correct word in network audit template

2020-12-01 Thread gk
commit 7be360991f5614cfbfa75913d0e367013dba921a
Author: Matthew Finkel 
Date:   Tue Dec 1 16:39:06 2020 +

Use correct word in network audit template
---
 audits/NETWORK_AUDIT_RUBRIC | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/audits/NETWORK_AUDIT_RUBRIC b/audits/NETWORK_AUDIT_RUBRIC
index 89ec61c..b58bb49 100644
--- a/audits/NETWORK_AUDIT_RUBRIC
+++ b/audits/NETWORK_AUDIT_RUBRIC
@@ -1,5 +1,5 @@
 `git diff esrA esrB` and then go over all the changes containing the
-above mentioned potentially dangerous calls and features. Grep the diff for
+below mentioned potentially dangerous calls and features. Grep the diff for
 the following strings and examine surrounding usage.
 
 === Native DNS Portion =

___
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 rust symbols in audit script

2020-12-01 Thread gk
commit 033222ab1543cd4dae20fc8c40f5a1449cd3dd17
Author: Matthew Finkel 
Date:   Wed Nov 25 17:20:39 2020 +

Add rust symbols in audit script
---
 audits/java_audit.sh | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/audits/java_audit.sh b/audits/java_audit.sh
index 3e94fa3..51c9bf4 100644
--- a/audits/java_audit.sh
+++ b/audits/java_audit.sh
@@ -53,6 +53,13 @@ KEYWORDS+=(ActivityHandlerHelper.startIntentAndCatch)
 KEYWORDS+=(AppLinksInterceptor)
 KEYWORDS+=(AppLinksUseCases)
 
+# Rust symbols
+KEYWORDS+=("connect\(")
+KEYWORDS+=("recvmsg\(")
+KEYWORDS+=("sendmsg\(")
+KEYWORDS+=("::post\(")
+KEYWORDS+=("::get\(")
+
 cd $REPO_DIR
 #function join_by { local d=$1; shift; local f=$1; shift; printf %s "$f" 
"${@/#/ $d}"; }
 #GREP_LINE="$(join_by \-G ${KEYWORDS[@]})"



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 751048e74b39106d1835d8206a62b826f6bc13cc
Author: Translation commit bot 
Date:   Tue Dec 1 18:45:19 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po | 20 +++-
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index b07b59ab5c..8e85a79a25 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -14391,53 +14391,53 @@ msgstr "NicknamemyBSDRelay"
 #: https//community.torproject.org/relay/setup/guard/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
 msgid "# You might want to use/try a different port, should you want to"
-msgstr ""
+msgstr "# יתכן שתרצו להשתמש או לנסות ערוץ אחר, 
אם תרצו"
 
 #: https//community.torproject.org/relay/setup/guard/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
 msgid "ORPort  443"
-msgstr ""
+msgstr "ORPort  443"
 
 #: https//community.torproject.org/relay/setup/guard/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
 msgid "# 4. Start the service"
-msgstr ""
+msgstr "# 4. אתחלו את השרות"
 
 #: https//community.torproject.org/relay/setup/guard/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
 msgid "echo \"tor_setuid=YES\" >> /etc/rc.conf"
-msgstr ""
+msgstr "echo \"tor_setuid=YES\" >> /etc/rc.conf"
 
 #: https//community.torproject.org/relay/setup/guard/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
 msgid "echo \"tor_enable=YES\" >> /etc/rc.conf"
-msgstr ""
+msgstr "echo \"tor_enable=YES\" >> /etc/rc.conf"
 
 #: https//community.torproject.org/relay/setup/guard/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
 msgid "# 5. Final Notes"
-msgstr ""
+msgstr "# 5. הערות אחרונות"
 
 #: https//community.torproject.org/relay/setup/bridge/freebsd/
 #: 
(content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.subtitle)
 msgid "How to deploy an obfs4 bridge on FreeBSD"
-msgstr ""
+msgstr "כיצד ליישם גשר  obfs4 על  FreeBSD"
 
 #: https//community.torproject.org/relay/setup/bridge/freebsd/
 #: 
(content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
 #: https//community.torproject.org/relay/setup/bridge/openbsd/
 #: 
(content/relay-operations/technical-setup/bridge/openbsd/contents+en.lrpage.body)
 msgid "### 1. Install packages"
-msgstr ""
+msgstr "### 1. התקינו את התוכנות"
 
 #: https//community.torproject.org/relay/setup/bridge/freebsd/
 #: 
(content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
 msgid "pkg install obfs4proxy-tor tor ca_root_nss"
-msgstr ""
+msgstr "pkg install obfs4proxy-tor tor ca_root_nss"
 
 #: https//community.torproject.org/relay/setup/bridge/freebsd/
 #: 
(content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)
@@ -14445,6 +14445,8 @@ msgid ""
 "### 2. Edit your Tor config file, usually located at `/usr/local/etc/tor` "
 "and replace its content with:"
 msgstr ""
+"### 2. ערכו את קובץ הקונפיגורציה של  Tor, שנמצא 
בדרך כלל ב  "
+"`/usr/local/etc/tor` והחליפו את התוכן עם:"
 
 #: https//community.torproject.org/relay/setup/bridge/freebsd/
 #: 
(content/relay-operations/technical-setup/bridge/freebsd/contents+en.lrpage.body)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 143cd18795ac46d96de6fcfbc5c7b02888714b4f
Author: Translation commit bot 
Date:   Tue Dec 1 18:15:10 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po | 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index 6577b6ecd9..b07b59ab5c 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -4980,6 +4980,11 @@ msgid ""
 "learned; 2. Tor project; and 3. Tor in general. It can also be questions - "
 "keep in mind that any feedback is a good feedback."
 msgstr ""
+"לפני שמסיימים את התרגול, תאמו את המשוב עם 
המתרגל. שניכם צריכים לעבוד יחדיו "
+"בכדי למסור את post-it, אתם יכולים לספק לכל 
משתתף post-it בצבע אחר לכל שאלה "
+"ולבקש מהם לענות עליה עם מה שהם חושבים 
לגביה: 1. השרות אתו למדוו זה עתה, 2. "
+"פרויקט Tor,  ו 3 Tor באופן כללי. אפשר גם שאולות - 
הביאו בחשבון שכל משוב הנו "
+"משוב טוב."
 
 #: https//community.torproject.org/user-research/guidelines/
 #: (content/user-research/guidelines/contents+en.lrpage.body)
@@ -10508,6 +10513,8 @@ msgid ""
 "even then), it's still possible that a given judge will not interpret things"
 " the way the lawyers expect."
 msgstr ""
+"כמובן, תצטרכו להבין שללא תקדים אקטואלי 
ברור (ואפילו אז), עדיין אפשרי ששופט "
+"נתון לא יפרש דברים באופן שעורכי דין מצפים."
 
 #: 
https//community.torproject.org/relay/community-resources/tor-relay-universities/
 #: 
(content/relay-operations/community-resources/tor-relay-universities/contents+en.lrpage.body)
@@ -12483,7 +12490,7 @@ msgstr ""
 #: https//community.torproject.org/onion-services/advanced/onion-location/
 #: (content/onion-services/advanced/onion-location/contents+en.lrpage.body)
 msgid "ServerName "
-msgstr ""
+msgstr "ServerName "
 
 #: https//community.torproject.org/onion-services/advanced/onion-location/
 #: (content/onion-services/advanced/onion-location/contents+en.lrpage.body)
@@ -14374,12 +14381,12 @@ msgstr "הציבו את קובץ ההגדרות  
`/etc/tor/torrc` in place:"
 #: https//community.torproject.org/relay/setup/guard/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
 msgid "#change the nickname \"myBSDrelay\" to a name that you like"
-msgstr ""
+msgstr "#שנו את שם החיבה  \"myBSDrelay\" לכל שם שתחפצו"
 
 #: https//community.torproject.org/relay/setup/guard/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)
 msgid "NicknamemyBSDRelay"
-msgstr ""
+msgstr "NicknamemyBSDRelay"
 
 #: https//community.torproject.org/relay/setup/guard/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/guard/dragonflybsd/contents+en.lrpage.body)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 7223739b463cd67c826cf211c72d9f95d163e23e
Author: Translation commit bot 
Date:   Tue Dec 1 17:45:11 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po | 13 -
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index f757865d3c..6577b6ecd9 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -1,9 +1,9 @@
 # 
 # Translators:
+# ION, 2019
 # itaizand, 2019
 # erinm, 2019
 # Emma Peel, 2019
-# ION, 2020
 # Giovanni Pellerano , 2020
 # Zeev Shilor , 2020
 # 
@@ -69,7 +69,7 @@ msgstr "כמה רעיונות לפרויקטים עבור 
GSoC."
 
 #: https//community.torproject.org/gsoc/ (content/gsoc/contents+en.lrpage.cta)
 msgid "Get coding"
-msgstr ""
+msgstr "התחילו לפתח"
 
 #: https//community.torproject.org/gsoc/
 #: (content/gsoc/contents+en.lrpage.body)
@@ -266,7 +266,7 @@ msgstr ""
 #: https//community.torproject.org/outreach/
 #: (content/outreach/contents+en.lrpage.title)
 msgid "Outreach"
-msgstr ""
+msgstr "חשיפה"
 
 #: https//community.torproject.org/outreach/
 #: (content/outreach/contents+en.lrpage.subtitle)
@@ -17103,11 +17103,14 @@ msgid ""
 "user research with your local community, and learn more about best practices"
 " for working with users at-risk."
 msgstr ""
+"האם אתם חוקרי עיצוב, חוקרי משתמשים, סטודנ
טים, אם מי שמעונין ללמוד יותר על "
+"משתמשי Tor? עזרו לנו על ידי ארגון מחקרי 
משתמשים בקהילה המקומית שלכם, ולימדו "
+"יותר על תהליכים מיטביים לעבוד עם משתמשים 
בסיכון."
 
 #: templates/user-research.html:35
 msgid "UX team mailing list"
-msgstr ""
+msgstr "רשימת הדוא\"ל של צוות UX"
 
 #: templates/macros/projects.html:20
 msgid "Read more."
-msgstr "קרא עוד."
+msgstr "קראו עוד."

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-browser-build/master] Bug 40081: Build Mozilla code with --enable-rust-simd

2020-12-01 Thread sysrqb
commit 1f62decb1be130639412774a06b358eca06a4faf
Author: Georg Koppen 
Date:   Sun Nov 8 10:25:00 2020 +

Bug 40081: Build Mozilla code with --enable-rust-simd

Mozilla builds their CI and shipped code with Rust SIMD enabled
(see: https://bugzilla.mozilla.org/show_bug.cgi?id=1578677#c4). We
should therefore do the same. Thanks to a cypherpunk for pointing that
out.
---
 projects/firefox/mozconfig-linux-i686| 1 +
 projects/firefox/mozconfig-linux-x86_64  | 1 +
 projects/firefox/mozconfig-linux-x86_64-asan | 1 +
 projects/firefox/mozconfig-osx-x86_64| 1 +
 projects/firefox/mozconfig-windows-i686  | 1 +
 projects/firefox/mozconfig-windows-x86_64| 1 +
 projects/geckoview/mozconfig-android-aarch64 | 1 +
 projects/geckoview/mozconfig-android-armv7   | 1 +
 projects/geckoview/mozconfig-android-x86 | 1 +
 projects/geckoview/mozconfig-android-x86_64  | 1 +
 10 files changed, 10 insertions(+)

diff --git a/projects/firefox/mozconfig-linux-i686 
b/projects/firefox/mozconfig-linux-i686
index 76c3ba3..2d0e08f 100755
--- a/projects/firefox/mozconfig-linux-i686
+++ b/projects/firefox/mozconfig-linux-i686
@@ -17,6 +17,7 @@ export BINDGEN_CFLAGS='--gcc-toolchain=/var/tmp/dist/gcc'
 ac_add_options --target=i686-linux-gnu
 
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --enable-official-branding
 
 # Let's support GTK3 for ESR60
diff --git a/projects/firefox/mozconfig-linux-x86_64 
b/projects/firefox/mozconfig-linux-x86_64
index 251cdc0..47c23e9 100755
--- a/projects/firefox/mozconfig-linux-x86_64
+++ b/projects/firefox/mozconfig-linux-x86_64
@@ -15,6 +15,7 @@ HOST_CXX=$CXX
 export BINDGEN_CFLAGS='--gcc-toolchain=/var/tmp/dist/gcc'
 
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --enable-official-branding
 
 # Let's support GTK3 for ESR60
diff --git a/projects/firefox/mozconfig-linux-x86_64-asan 
b/projects/firefox/mozconfig-linux-x86_64-asan
index a1c4e46..8bee813 100644
--- a/projects/firefox/mozconfig-linux-x86_64-asan
+++ b/projects/firefox/mozconfig-linux-x86_64-asan
@@ -23,6 +23,7 @@ ac_add_options --disable-elf-hack
 ac_add_options --with-clang-path=/var/tmp/dist/clang/bin/clang
 
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --enable-official-branding
 
 # Let's support GTK3 for ESR60
diff --git a/projects/firefox/mozconfig-osx-x86_64 
b/projects/firefox/mozconfig-osx-x86_64
index 09c53fc..4609839 100644
--- a/projects/firefox/mozconfig-osx-x86_64
+++ b/projects/firefox/mozconfig-osx-x86_64
@@ -33,6 +33,7 @@ ac_add_options --enable-application=browser
 ac_add_options --enable-strip
 ac_add_options --enable-official-branding
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --disable-debug
 
 ac_add_options --enable-tor-browser-data-outside-app-dir
diff --git a/projects/firefox/mozconfig-windows-i686 
b/projects/firefox/mozconfig-windows-i686
index 3708dd7..0f267a5 100644
--- a/projects/firefox/mozconfig-windows-i686
+++ b/projects/firefox/mozconfig-windows-i686
@@ -23,6 +23,7 @@ export MOZILLA_OFFICIAL=1
 
 ac_add_options --disable-debug
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --enable-strip
 ac_add_options --enable-official-branding
 
diff --git a/projects/firefox/mozconfig-windows-x86_64 
b/projects/firefox/mozconfig-windows-x86_64
index 52956e2..d1b0793 100644
--- a/projects/firefox/mozconfig-windows-x86_64
+++ b/projects/firefox/mozconfig-windows-x86_64
@@ -23,6 +23,7 @@ export MOZILLA_OFFICIAL=1
 
 ac_add_options --disable-debug
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --enable-strip
 ac_add_options --enable-official-branding
 
diff --git a/projects/geckoview/mozconfig-android-aarch64 
b/projects/geckoview/mozconfig-android-aarch64
index 5839477..4084714 100644
--- a/projects/geckoview/mozconfig-android-aarch64
+++ b/projects/geckoview/mozconfig-android-aarch64
@@ -7,6 +7,7 @@ CXX="clang++"
 ac_add_options --with-android-min-sdk=21
 
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --enable-official-branding
 
 ac_add_options --enable-application=mobile/android
diff --git a/projects/geckoview/mozconfig-android-armv7 
b/projects/geckoview/mozconfig-android-armv7
index 2530049..1ac85f7 100644
--- a/projects/geckoview/mozconfig-android-armv7
+++ b/projects/geckoview/mozconfig-android-armv7
@@ -7,6 +7,7 @@ CXX="clang++"
 ac_add_options --with-android-min-sdk=16
 
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --enable-official-branding
 
 ac_add_options --enable-application=mobile/android
diff --git a/projects/geckoview/mozconfig-android-x86 
b/projects/geckoview/mozconfig-android-x86
index 160f95f..03de28b 100644
--- a/projects/geckoview/mozconfig-android-x86
+++ b/projects/geckoview/mozconfig-android-x86
@@ -7,6 +7,7 @@ CXX="clang++"
 

[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 424aa058bbafe3f8a0d4ef5132c14f8ede07e32d
Author: Translation commit bot 
Date:   Tue Dec 1 17:15:13 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index bcd7173f97..f757865d3c 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -17083,14 +17083,17 @@ msgid ""
 "an in-person training, we may still be able to help. Contact the community "
 "team and let's talk."
 msgstr ""
+"האם אתם מעונינים להזמין מישהו מ Tor לתרגל את 
הקבוצה שלכם? בעוד שאנו מקבלים "
+"כמות נכבדת של בקשות תרגול ואולי לא נוכל 
להציע תרגול פנים אל פנים, אנו עדיין "
+"אולי נוכל לעזור. התקשרו אל צוות הקהילה 
והבה נשוחח."
 
 #: templates/training.html:32
 msgid "Community mailing list"
-msgstr ""
+msgstr "קבוצת הדוא\"ל של הקהילה"
 
 #: templates/user-research.html:31
 msgid "Become a Community User Researcher"
-msgstr ""
+msgstr "העשו חוקרי משתמשי הקהילה"
 
 #: templates/user-research.html:33
 msgid ""

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 7be2eb3f28e279744ea4eefc11699ce7001b0a65
Author: Translation commit bot 
Date:   Tue Dec 1 16:45:15 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+es.po |  6 ++
 contents+he.po | 17 +++--
 2 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/contents+es.po b/contents+es.po
index 90d5e0cc58..9db269795a 100644
--- a/contents+es.po
+++ b/contents+es.po
@@ -12037,6 +12037,7 @@ msgstr ""
 msgid ""
 "For the header to be valid the following conditions need to be fulfilled:"
 msgstr ""
+"Para funcionar la cabecera las siguentes condiciones se ocupa completar:"
 
 #: https//community.torproject.org/onion-services/advanced/onion-location/
 #: (content/onion-services/advanced/onion-location/contents+en.lrpage.body)
@@ -12044,18 +12045,23 @@ msgid ""
 "* The Onion-Location value must be a valid URL with http: or https: protocol"
 " and a .onion hostname."
 msgstr ""
+"*La cifra del Sitio-Onion sea un URL valido con protocolo http: o https: y "
+"un nombre de host .onion."
 
 #: https//community.torproject.org/onion-services/advanced/onion-location/
 #: (content/onion-services/advanced/onion-location/contents+en.lrpage.body)
 msgid ""
 "* The webpage defining the Onion-Location header must be served over HTTPS."
 msgstr ""
+"*El sitio web que contiene el cabacera de Sitio-Onion sea presentado por "
+"HTTPS."
 
 #: https//community.torproject.org/onion-services/advanced/onion-location/
 #: (content/onion-services/advanced/onion-location/contents+en.lrpage.body)
 msgid ""
 "* The webpage defining the Onion-Location header must not be an onion site."
 msgstr ""
+"*El sitio web que contiene el cabacera de Sitio-Onion no sea un sitio onion."
 
 #: https//community.torproject.org/onion-services/advanced/onion-location/
 #: (content/onion-services/advanced/onion-location/contents+en.lrpage.body)
diff --git a/contents+he.po b/contents+he.po
index 329b2bf716..bcd7173f97 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -17040,36 +17040,41 @@ msgid ""
 "speak...@torproject.org with your preferred topic, language requirement, "
 "date, and other details."
 msgstr ""
+"יש לנו קבוצת ליבה של תומכי Tor אשר מוכנים 
לדבר באירוע הבא שלכם. אתם יכולים "
+"לבקש דובר בעזרת יצירת כקשר עם speak...@torproject.org 
בנושא המועדף עליכם, "
+"השפה הנדרשת, המועד ופרטים אחרים."
 
 #: templates/outreach.html:32
 msgid "Request a Speaker"
-msgstr ""
+msgstr "בקשת דובר"
 
 #: templates/outreach.html:36
 msgid "Upcoming Tor Events"
-msgstr ""
+msgstr "אירועי Tor שבדרך"
 
 #: templates/project.html:40
 msgid "Back to "
-msgstr ""
+msgstr "חזרה אל"
 
 #: templates/relay-operations.html:23
 msgid "Connect with other Relay Operators"
-msgstr ""
+msgstr "התקשרו עם מפעילי ניתוב אחרים"
 
 #: templates/relay-operations.html:24
 msgid ""
 "The best resource of all is the active community of relay operators on tor-"
 "relays mailing list and on IRC #tor-relays in irc.oftc.net. "
 msgstr ""
+"המשאבים הטובים ביותר מכל פעילי הקהילה של 
מפעילי ניתוב הנה הרשימה של קבוצת "
+"הדוא\"ל וזו שעל  IRC #tor-relays ב irc.oftc.net. "
 
 #: templates/relay-operations.html:26
 msgid "Relay Operators mailing list"
-msgstr ""
+msgstr "רשימת הדוא\"ל של מפעילי ניתוב "
 
 #: templates/training.html:27
 msgid "Join the Community"
-msgstr ""
+msgstr "הצטרפו לקהילה"
 
 #: templates/training.html:29
 msgid ""

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit d10929648de979d2965189d6e42aa7a3c21ae75a
Author: Translation commit bot 
Date:   Tue Dec 1 16:15:22 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+es.po | 11 +++
 contents+he.po | 36 ++--
 2 files changed, 29 insertions(+), 18 deletions(-)

diff --git a/contents+es.po b/contents+es.po
index 7eb67fe457..90d5e0cc58 100644
--- a/contents+es.po
+++ b/contents+es.po
@@ -12,6 +12,7 @@
 # David Figuera , 2020
 # cacu , 2020
 # Burro Moro , 2020
+# Dylan Boren , 2020
 # 
 msgid ""
 msgstr ""
@@ -19,7 +20,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-11-05 12:55+EST\n"
 "PO-Revision-Date: 2019-12-11 10:50+\n"
-"Last-Translator: Burro Moro , 2020\n"
+"Last-Translator: Dylan Boren , 2020\n"
 "Language-Team: Spanish (https://www.transifex.com/otf/teams/1519/es/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -12010,17 +12011,17 @@ msgstr ""
 #: https//community.torproject.org/onion-services/advanced/onion-location/
 #: (content/onion-services/advanced/onion-location/contents+en.lrpage.title)
 msgid "Onion-Location"
-msgstr ""
+msgstr "Sitio-Onion"
 
 #: https//community.torproject.org/onion-services/advanced/onion-location/
 #: (content/onion-services/advanced/onion-location/contents+en.lrpage.subtitle)
 msgid "Learn how to set up an Onion-Location for your onion site."
-msgstr ""
+msgstr "Aprende como configurar un Sitio-Onion para su sitio .onion."
 
 #: https//community.torproject.org/onion-services/advanced/onion-location/
 #: (content/onion-services/advanced/onion-location/contents+en.lrpage.body)
 msgid "Onion-Location is an easy way to advertise an onion site to the users."
-msgstr ""
+msgstr "Sitio-Onion ayuda promocionar su sitio .onion facilmente."
 
 #: https//community.torproject.org/onion-services/advanced/onion-location/
 #: (content/onion-services/advanced/onion-location/contents+en.lrpage.body)
@@ -12028,6 +12029,8 @@ msgid ""
 "You can either configure a web server to show an Onion-Location Header or "
 "add an HTML meta attribute in the website."
 msgstr ""
+"Se puede configurar un servidor de web para mostrar un Sitio-Onion o añadir "
+"un atributo meta HTML en el sitio web."
 
 #: https//community.torproject.org/onion-services/advanced/onion-location/
 #: (content/onion-services/advanced/onion-location/contents+en.lrpage.body)
diff --git a/contents+he.po b/contents+he.po
index c11a72c6ef..329b2bf716 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -16942,88 +16942,96 @@ msgid ""
 "Are you interested in learning more about onion services? Join our tor-"
 "onions mailing list to speak with other onion service operators."
 msgstr ""
+"האם הנכם מעונינים ללמוד עוד על שרותי הבצל? 
הצטרפו לקבוצל הדוא\"ל של שרותי "
+"הבצל של Tor כדי לשוחח עם מפעילי שרות בצל 
אחרים."
 
 #: templates/onion-services.html:77
 msgid "Tor Onions mailing list"
-msgstr ""
+msgstr "קבוצת הדוא\"ל של Tor Onions"
 
 #: templates/outreach-talk.html:3
 msgid ""
 "Word of mouth is critical to reaching new people and helping them protect "
 "themselves online. Here's how you can help: "
 msgstr ""
+"מפה לאוזן הנו קריטי להגיע לאנשים חדשים 
ולעזור להם להגן על עצמם ברשת. להלן "
+"כיצד תוכלו לסייע:"
 
 #: templates/outreach-talk.html:11
 msgid "Privacy and freedom are human rights."
-msgstr ""
+msgstr "פרטיות וחופש הנם זכויות הפרט."
 
 #: templates/outreach-talk.html:12
 msgid ""
 "These rights are denied online around the world, but Tor gives them back."
 msgstr ""
+"זכויות אלה אינן ניתנות בעולם המקוון בכל 
העולם , אך Tor מספק אותם בחזרה."
 
 #: templates/outreach-talk.html:22
 msgid "Tracking and surveillance are widespread."
-msgstr ""
+msgstr "מעקב ומעקבים סמויים הנם נפוצים ביותר."
 
 #: templates/outreach-talk.html:23
 msgid ""
 "We think privacy should be the default online, and that's what our software "
 "provides."
 msgstr ""
+"אנו סבורים שפרטיות חייבת להיות ברירת 
המחדל בעולם המקוון, וזה מה שהתוכנה שלנו"
+" מספקת."
 
 #: templates/outreach-talk.html:33
 msgid "Privacy isn't about having something to hide."
-msgstr ""
+msgstr "פרטיות אינה עבור משהו שאנו רוצים 
להסתיר."
 
 #: templates/outreach-talk.html:34
 msgid ""
 "Privacy is about protecting who we are as human beings: our fears, our "
 "relationships, and our vulnerabilities."
 msgstr ""
+"פרטיות הנה מה שמגן על מי שאנחנו כבני אדם: 
פחדינו, יחסינו, ורגישויותינו."
 
 #: templates/outreach-talk.html:44
 msgid "People shouldn't be exploited for using the internet."
-msgstr ""

[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 56d043bbb45f1eb11f0108a4f6f735f8468af37a
Author: Translation commit bot 
Date:   Tue Dec 1 14:45:13 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po | 30 +++---
 1 file changed, 19 insertions(+), 11 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index 2fc412332c..c11a72c6ef 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -1,8 +1,8 @@
 # 
 # Translators:
 # itaizand, 2019
+# erinm, 2019
 # Emma Peel, 2019
-# erinm, 2020
 # ION, 2020
 # Giovanni Pellerano , 2020
 # Zeev Shilor , 2020
@@ -16872,18 +16872,20 @@ msgid ""
 "None of these ideas seem appealing? You may also want to propose your own "
 "project idea — which often results in the best projects."
 msgstr ""
+"האם אף אחד מהרעיונות האלה נראה מפתה? תוכלו 
גם להציע את רעיונות הפרויקט שלכם "
+"-- אשר לעתים מביא לפרויקטים הטובים בביותר."
 
 #: templates/gsoc.html:22
 msgid "We invite you to contact us to discuss your own project idea."
-msgstr ""
+msgstr "אנו מזמינים אתכם להתקשר אלינו כדי ללבן 
את רעיונות הפרויקט שלכם."
 
 #: templates/homepage.html:4 templates/meta.html:10
 msgid "Tor Project"
-msgstr "מיזם Tor"
+msgstr "פרויקט Tor"
 
 #: templates/localization.html:27
 msgid "Can you help us improve our translations?"
-msgstr ""
+msgstr "האם תוכלו לסייע לנו בתגרגם?"
 
 #: templates/localization.html:29
 msgid ""
@@ -16891,19 +16893,22 @@ msgid ""
 "improvements we could make to our translations? Open a ticket, reach out to "
 "us, or become part of our translators squad."
 msgstr ""
+"לוקליזציה הנה מאמץ מתמשך בכל מרחב 
היישומים שלנו. שמתם לב לשיפורים שנוכל לבצע"
+" לתרגומים שלנו? פתחו קריאות שרות, פנו אלינ
ו, או הצטרפו כחלק מיחידת המתרגמים "
+"שלנו."
 
 #: templates/localization.html:32
 msgid "Translators mailing list"
-msgstr ""
+msgstr "קבוצת הדוא\"ל של המתרגמים"
 
 #: templates/meta.html:3
 msgid ""
 "Defend yourself against tracking and surveillance. Circumvent censorship."
-msgstr "הגן על עצמך מפני מעקב וציתות. עקיפת צנ
זורה."
+msgstr "הגנו על עצמכם מפני מעקב וציתות. עקפו צנ
זורה."
 
 #: templates/onion-services.html:27
 msgid "Onionize any website"
-msgstr ""
+msgstr "\"בצלו\" כל אתר שהוא"
 
 #: templates/onion-services.html:29
 msgid ""
@@ -16912,22 +16917,25 @@ msgid ""
 " just regular sites. There is an installation guide for how to use this "
 "toolkit to onionize your site."
 msgstr ""
+"ישנו סט כלים אשר מאפשר לכם לקחת כל אתר קיים 
שהוא ולארח אותו כאתר .onion גם "
+"כן.  כדאי לעשות זאת  כיון שאתרי  .onion הנם 
יותר מאובטחים מאשר אתרים רגילים."
+" יש מדריך התקנה שמסביר כיצד להשתמש בסט 
כלים זה ל\"בצל\" את אתרכם."
 
 #: templates/onion-services.html:32
 msgid "Check out the code"
-msgstr ""
+msgstr "עיינו בקוד"
 
 #: templates/onion-services.html:36
 msgid "Featured .onion sites"
-msgstr ""
+msgstr "אתרי .onion בולטים"
 
 #: templates/onion-services.html:55
 msgid "Tools"
-msgstr "כלי עבודה"
+msgstr "כלים"
 
 #: templates/onion-services.html:72
 msgid "Learn More"
-msgstr "למד עוד"
+msgstr "למדו עוד"
 
 #: templates/onion-services.html:74
 msgid ""

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal

2020-12-01 Thread translation
commit a7cea08defb83e18e5972a84bf541c51694af1ca
Author: Translation commit bot 
Date:   Tue Dec 1 14:19:18 2020 +

https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
 contents+he.po | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/contents+he.po b/contents+he.po
index c4c6c396b6..a753039ff7 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -9902,6 +9902,8 @@ msgid ""
 "Download Tor Browser to experience real private browsing without tracking, "
 "surveillance, or censorship."
 msgstr ""
+"הורידו את דפדפן  Tor כדי להתנסות בגלישה 
פרטית אמיתית ללא מעקב, מעקב סמוי, או"
+" צנזורה."
 
 #: lego/templates/footer.html:35 templates/footer.html:35
 msgid "Our mission:"
@@ -9914,6 +9916,9 @@ msgid ""
 "availability and use, and furthering their scientific and popular "
 "understanding."
 msgstr ""
+"לקדם את זכויות הפרט והחופש באמצעות יצירה 
ויישום  של טכנולוגיות קוד פתוח "
+"חופשי לאנונימיות ופרטיות, תמיכה בזמינות 
שאינה מוגבלת ושימוש, וקידום המדע "
+"וההבנה של הציבור שלהן. "
 
 #: lego/templates/footer.html:64 lego/templates/footer.html:66
 #: lego/templates/navbar.html:18 lego/templates/navbar.html:20
@@ -9940,6 +9945,8 @@ msgid ""
 "Trademark, copyright notices, and rules for use by third parties can be "
 "found in our %(link_to_faq)s"
 msgstr ""
+"סימנים מסחריים, הודעות זכויות יוצרים, 
וכללי השימוש בתוכנות צד שלישי ניתן "
+"למצוא ב  %(link_to_faq)s"
 
 #: lego/templates/navbar.html:25 templates/navbar.html:25
 msgid "Menu"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tpo-web] https://gitweb.torproject.org/translation.git/commit/?h=tpo-web

2020-12-01 Thread translation
commit 4f131ebef0204814abcc4cd1f4b7b82fe4e4074c
Author: Translation commit bot 
Date:   Tue Dec 1 14:19:00 2020 +

https://gitweb.torproject.org/translation.git/commit/?h=tpo-web
---
 contents+he.po | 12 ++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index 96e2dc8009..1990a8aa03 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -6,8 +6,9 @@
 # itaizand, 2019
 # erinm, 2020
 # ION, 2020
-# Omer I.S., 2020
+# Omeritzics Games , 2020
 # Gus, 2020
+# Zeev Shilor , 2020
 # 
 msgid ""
 msgstr ""
@@ -15,7 +16,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-02-24 13:39+CET\n"
 "PO-Revision-Date: 2019-03-09 10:41+\n"
-"Last-Translator: Gus, 2020\n"
+"Last-Translator: Zeev Shilor , 2020\n"
 "Language-Team: Hebrew (https://www.transifex.com/otf/teams/1519/he/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -647,6 +648,8 @@ msgid ""
 "Download Tor Browser to experience real private browsing without tracking, "
 "surveillance, or censorship."
 msgstr ""
+"הורידו את דפדפן  Tor כדי להתנסות בגלישה 
פרטית אמיתית ללא מעקב, מעקב סמוי, או"
+" צנזורה."
 
 #: lego/templates/footer.html:35 templates/footer-min.html:9
 #: templates/footer.html:35
@@ -661,6 +664,9 @@ msgid ""
 "availability and use, and furthering their scientific and popular "
 "understanding."
 msgstr ""
+"לקדם את זכויות הפרט והחופש באמצעות יצירה 
ויישום  של טכנולוגיות קוד פתוח "
+"חופשי לאנונימיות ופרטיות, תמיכה בזמינות 
שאינה מוגבלת ושימוש, וקידום המדע "
+"וההבנה של הציבור שלהן. "
 
 #: lego/templates/footer.html:73 templates/footer-min.html:46
 #: templates/footer.html:73
@@ -684,6 +690,8 @@ msgid ""
 "Trademark, copyright notices, and rules for use by third parties can be "
 "found in our %(link_to_faq)s"
 msgstr ""
+"סימנים מסחריים, הודעות זכויות יוצרים, 
וכללי השימוש בתוכנות צד שלישי ניתן "
+"למצוא ב  %(link_to_faq)s"
 
 #: lego/templates/navbar.html:25 templates/navbar.html:25
 msgid "Menu"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tbmanual-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=tbmanual-contentspot

2020-12-01 Thread translation
commit 4475d252d1867fe859dc516be8554078090a9f52
Author: Translation commit bot 
Date:   Tue Dec 1 14:17:45 2020 +

https://gitweb.torproject.org/translation.git/commit/?h=tbmanual-contentspot
---
 contents+he.po | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/contents+he.po b/contents+he.po
index 435de06e6e..2d2d6e7382 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -4,7 +4,7 @@
 # erinm, 2019
 # ION, 2020
 # itaizand, 2020
-# Omer I.S., 2020
+# Omeritzics Games , 2020
 # Gus, 2020
 # Zeev Shilor , 2020
 # 
@@ -3031,6 +3031,8 @@ msgid ""
 "Download Tor Browser to experience real private browsing without tracking, "
 "surveillance, or censorship."
 msgstr ""
+"הורידו את דפדפן  Tor כדי להתנסות בגלישה 
פרטית אמיתית ללא מעקב, מעקב סמוי, או"
+" צנזורה."
 
 #: lego/templates/footer.html:35 templates/footer.html:35
 msgid "Our mission:"
@@ -3043,6 +3045,9 @@ msgid ""
 "availability and use, and furthering their scientific and popular "
 "understanding."
 msgstr ""
+"לקדם את זכויות הפרט והחופש באמצעות יצירה 
ויישום  של טכנולוגיות קוד פתוח "
+"חופשי לאנונימיות ופרטיות, תמיכה בזמינות 
שאינה מוגבלת ושימוש, וקידום המדע "
+"וההבנה של הציבור שלהן. "
 
 #: lego/templates/footer.html:64 lego/templates/footer.html:66
 #: lego/templates/navbar.html:18 lego/templates/navbar.html:20
@@ -3076,6 +3081,8 @@ msgid ""
 "Trademark, copyright notices, and rules for use by third parties can be "
 "found in our %(link_to_faq)s"
 msgstr ""
+"סימנים מסחריים, הודעות זכויות יוצרים, 
וכללי השימוש בתוכנות צד שלישי ניתן "
+"למצוא ב  %(link_to_faq)s"
 
 #: lego/templates/navbar.html:25 templates/navbar.html:25
 msgid "Menu"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 33e5938853e8c1c9de0ccd9764e4afad0a9950d8
Author: Translation commit bot 
Date:   Tue Dec 1 14:15:22 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po | 95 --
 1 file changed, 52 insertions(+), 43 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index 3fdd8c9e4a..2fc412332c 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -2,10 +2,9 @@
 # Translators:
 # itaizand, 2019
 # Emma Peel, 2019
-# Gus, 2020
 # erinm, 2020
-# Giovanni Pellerano , 2020
 # ION, 2020
+# Giovanni Pellerano , 2020
 # Zeev Shilor , 2020
 # 
 msgid ""
@@ -16539,123 +16538,123 @@ msgstr "APT::Periodic::Verbose \"1\";"
 #: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
 #: 
(content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
 msgid "# 4. Test"
-msgstr ""
+msgstr "# 4. בצעו בדיקה"
 
 #: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
 #: 
(content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
 msgid ""
 "You can test your unattended-upgrades setup with the following command:"
-msgstr ""
+msgstr "אתם יכולים לבדוק את הגדרות ה 
unattended-upgrades בפקודה הבאה:"
 
 #: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
 #: 
(content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.body)
 msgid "sudo unattended-upgrade -d"
-msgstr ""
+msgstr "sudo unattended-upgrade -d"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 
(content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.title)
 msgid "RPM Distributions"
-msgstr ""
+msgstr "RPM Distributions"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 
(content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
 msgid "# CentOS and RHEL"
-msgstr ""
+msgstr "# CentOS ו RHEL"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 
(content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
 msgid "For CentOS and RHEL the yum-cron package is the preferred approach:"
-msgstr ""
+msgstr "ל CentOS ו RHEL התוכנה yum-cron package הנה הגישה 
המועדפת:"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 
(content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
 msgid "yum install yum-cron"
-msgstr ""
+msgstr "yum install yum-cron"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 
(content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
 msgid "In /etc/yum/yum-cron.conf set:"
-msgstr ""
+msgstr "הגדירו ב /etc/yum/yum-cron.conf:"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 
(content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
 msgid "download_updates = yes"
-msgstr ""
+msgstr "download_updates = yes"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 
(content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
 msgid "apply_updates = yes"
-msgstr ""
+msgstr "apply_updates = yes"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 
(content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
 msgid "Enable and start automatic updates via:"
-msgstr ""
+msgstr "שפעלו הבצעו אל האיתחול האוטומטי דרך:"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 
(content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
 msgid "systemctl start yum-cron.service"
-msgstr ""
+msgstr "systemctl start yum-cron.service"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 
(content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
 msgid "# openSUSE"
-msgstr ""
+msgstr "# openSUSE"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 
(content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
 msgid "First, you need to install the automatic update package"
-msgstr ""
+msgstr "תחילה עליכם להתקין את תוכנת העדכון 
האוטומטי"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 
(content/relay-operations/technical-setup/guard/centosrhel/updates/contents+en.lrpage.body)
 msgid "zypper install  yast2-online-update-configuration"
-msgstr ""
+msgstr "zypper install  yast2-online-update-configuration"
 
 #: https//community.torproject.org/relay/setup/guard/centosrhel/updates/
 #: 

[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit b05ac0fa41b39f3e6f3a5096b18846526d680d0d
Author: Translation commit bot 
Date:   Tue Dec 1 13:45:13 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po | 64 +-
 1 file changed, 37 insertions(+), 27 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index 1970929042..3fdd8c9e4a 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -16356,12 +16356,12 @@ msgstr ""
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.title)
 msgid "*BSD"
-msgstr ""
+msgstr "*BSD"
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
 msgid "# DragonFlyBSD / FreeBSD / HardenedBSD"
-msgstr ""
+msgstr "# DragonFlyBSD / FreeBSD / HardenedBSD"
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
@@ -16370,47 +16370,51 @@ msgid ""
 "machine/server/system only provides Tor relay services. please be aware that"
 " other services running might stop/restart during the upgrade._"
 msgstr ""
+"**הערה:** _כל הצעדים המתוארים בדף זה מניחים 
שאתם רק מספקים שרותי ניתוב Tor "
+"machine/server/system. אנא היו מודעים לכך ששרותים 
אחרים שפועלים עלולים "
+"לעצור/להתחיל מחדש בעת השדרוג._"
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
 msgid "#1. Create the script to perform the updates."
-msgstr ""
+msgstr "#1. צרו את הסקריפט שיבצע את העדכונים."
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
 msgid "Let's use `/root/pkg_upgrade.sh`"
-msgstr ""
+msgstr "הבה נשתמש ב  `/root/pkg_upgrade.sh`"
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
 msgid "#!/usr/bin/env sh"
-msgstr ""
+msgstr "#!/usr/bin/env sh"
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
 msgid "PATH=\"/bin:/usr/bin:/sbin:/usr/sbin\""
-msgstr ""
+msgstr "PATH=\"/bin:/usr/bin:/sbin:/usr/sbin\""
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
 msgid "RAND=$(jot -r 1 300)"
-msgstr ""
+msgstr "RAND=$(jot -r 1 300)"
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
 msgid "sleep ${RAND}"
-msgstr ""
+msgstr "sleep ${RAND}"
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
 msgid ""
 "env AUTOCLEAN=YES ASSUME_ALWAYS_YES=YES HANDLE_RC_SCRIPTS=YES pkg upgrade"
 msgstr ""
+"env AUTOCLEAN=YES ASSUME_ALWAYS_YES=YES HANDLE_RC_SCRIPTS=YES pkg upgrade"
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
 msgid "#2. Schedule the job to run."
-msgstr ""
+msgstr "#2. תזמנו את הג'וב לריצה."
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
@@ -16418,36 +16422,38 @@ msgid ""
 "# echo \"0 0 * * * root /bin/sh /root/pkg_upgrade.sh >/dev/null\" >> "
 "/etc/crontab"
 msgstr ""
+"# echo \"0 0 * * * root /bin/sh /root/pkg_upgrade.sh >/dev/null\" >> "
+"/etc/crontab"
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
 msgid "#3. Restart cron's service."
-msgstr ""
+msgstr "#3. אתחלו את שרות  cron."
 
 #: https//community.torproject.org/relay/setup/guard/freebsd/updates/
 #: 
(content/relay-operations/technical-setup/guard/freebsd/updates/contents+en.lrpage.body)
 msgid "# service cron restart"
-msgstr ""
+msgstr "# service cron restart"
 
 #: https//community.torproject.org/relay/setup/guard/debianubuntu/updates/
 #: 
(content/relay-operations/technical-setup/guard/debianubuntu/updates/contents+en.lrpage.title)
 msgid "Debian and Ubuntu"
-msgstr ""
+msgstr "Debian and Ubuntu"
 
 #: 

[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 12387abd6e95c3a676655ea4c2b86ce56c730daf
Author: Translation commit bot 
Date:   Tue Dec 1 12:45:21 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po| 6 ++
 contents+pt-BR.po | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/contents+he.po b/contents+he.po
index 15a98bf7c1..1970929042 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -16291,6 +16291,12 @@ msgid ""
 "otherwise qualify for the safe harbor, you should be free from fear of "
 "copyright damages."
 msgstr ""
+"במסגרת DMCA 512(a), ספקי שרות כמוכם בדרך כלל 
מוגנים בפני תביעות פגיעה "
+"בזכויות יוצרים אם אתם גם מנהלים \"מדיניות 
אשר מספקת תנאי הפסקת שרות בתנאים "
+"מתאימים לנרשמים או בעלי חשבון של המערכת של 
ספק השרות או הרשת אשר ממשיכה "
+"לפגוע בזכויות יוצרים.\" אם יש לכם ואתם 
מיישמים מדיניות שכזו, ולכן מכוסים "
+"במסגרת חוף המבטחים, אתם יכולים להיות 
חופשיים מהחשש של נזקי פגיעה בזכויות "
+"היוצרים."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
diff --git a/contents+pt-BR.po b/contents+pt-BR.po
index 238b8ba133..705fd82cee 100644
--- a/contents+pt-BR.po
+++ b/contents+pt-BR.po
@@ -10708,6 +10708,9 @@ msgid ""
 "please review Tor’s recommendations, including telling your ISP and "
 "obtaining a separate IP address for the exit relay."
 msgstr ""
+"Se você decidir rodar um relay de saída de sua casa, apesar desses riscos, "
+"reveja as recomendações do Tor, incluindo informar seu Provedor de Internet 
"
+"e obter um endereço IP separado para o relay de saída."
 
 #: https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/contents+en.lrpage.body)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 338d1d7e997d719b4ad630efc101628749e9f29f
Author: Translation commit bot 
Date:   Tue Dec 1 12:15:16 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po| 31 ++-
 contents+pt-BR.po | 27 +--
 2 files changed, 51 insertions(+), 7 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index ef1c9206ea..15a98bf7c1 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -16184,7 +16184,7 @@ msgstr ""
 msgid ""
 "This template letter is for informational purposes only and does not "
 "constitute legal advice."
-msgstr ""
+msgstr "מכתב תבנית זה הנו למטרות מידע בלבד ואינ
ו מהווה מסמך משפטי."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
@@ -16192,19 +16192,21 @@ msgid ""
 "Whether and how you should respond when you or your ISP has received a "
 "copyright notice will turn on the particular facts of your situation."
 msgstr ""
+"אם וכיצד עליכם להגיב כאשר אתם או ה ISP שלכם 
מקבלים הודעת זכויות יוצרים תלוי "
+"בנסיבות הספציפיות של מצבכם."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
 msgid ""
 "This template is intended as a starting point, but you should tailor it to "
 "your own circumstances."
-msgstr ""
+msgstr "מטרת התבנית היא להוות נקודת פתיחה, אך 
עליכם לתפור אותה לנסיבות שלכם."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
 msgid ""
 "In addition, it's up to you to comply with your ISP's terms of service."
-msgstr ""
+msgstr "בנוסף, זו החלטה שלכם לעמוד בתנאי השרות 
של ספק שרות האנטרנט שלכם."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
@@ -16212,6 +16214,8 @@ msgid ""
 "If you're not comfortable including so much legal explanation, feel free to "
 "invite the ISP to contact EFF for a fuller discussion."
 msgstr ""
+"אם אין זה נוח לכם לכלול כל כך הרבה הסברים 
משפטיים, הרגישו חופשי להזמין את ה "
+"ISP להתקשר אל EFF לדיון מקיף יותר."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
@@ -16220,16 +16224,19 @@ msgid ""
 "site or [tor-dmca-response](/relay/community-resources/eff-tor-legal-faq"
 "/tor-dmca-response), it may be out of date."
 msgstr ""
+"כמו כן, אם קבלתם מסמך זה מכל גורם אחר מאשר 
אתר  EFF web  או [tor-dmca-"
+"response](/relay/community-resources/eff-tor-legal-faq/tor-dmca-response), "
+"יתכן שהוא לא מעודכן."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
 msgid "Follow the link to get the latest version."
-msgstr ""
+msgstr "המשיכו לקישור כדי לקבל את הגירסה 
האחרונה."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
 msgid "Dear [ISP]:"
-msgstr ""
+msgstr " [ISP] יקר:"
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
@@ -16241,6 +16248,10 @@ msgid ""
 "liability arising from this complaint. The notice is likely based upon "
 "misunderstandings about the law and about some of the software I run."
 msgstr ""
+"תודה על העברת ההודעה שקיבלתם מ  [copyright claimant] 
 בהקשר ל  [content]. "
+"אנו מבטיחים שאיננו מאחסנים את החומרים 
המדוברים, ויתרה מזאת, הMillennium "
+"Copyright Act's (\"DMCA\") safe harbors מגן עלינו מתביעות של 
המתלונן. ההודעה"
+" ככל הנראה מבוססת על אי הבנות לגבי החוק 
ולגבי התוכנה שאנו 

[tor-commits] [tor-browser/tor-browser-83.0-10.5-1] squash! TB3: Tor Browser's official .mozconfigs.

2020-12-01 Thread gk
commit cc3f3dc643124975e0c298363542d26a52e45cba
Author: Georg Koppen 
Date:   Mon Nov 30 07:54:38 2020 +

squash! TB3: Tor Browser's official .mozconfigs.

Bug 40252: Add --enable-rust-simd to our tor-browser mozconfig files
---
 .mozconfig | 1 +
 .mozconfig-android | 1 +
 .mozconfig-asan| 1 +
 .mozconfig-mac | 1 +
 .mozconfig-mingw   | 1 +
 5 files changed, 5 insertions(+)

diff --git a/.mozconfig b/.mozconfig
index d71c858844e3..c50c57d410de 100755
--- a/.mozconfig
+++ b/.mozconfig
@@ -14,6 +14,7 @@ mk_add_options MOZ_APP_DISPLAYNAME="Tor Browser"
 export MOZILLA_OFFICIAL=1
 
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --enable-official-branding
 
 # Let's support GTK3 for ESR60
diff --git a/.mozconfig-android b/.mozconfig-android
index 1b5e3f3178b7..50015ec615ef 100755
--- a/.mozconfig-android
+++ b/.mozconfig-android
@@ -3,6 +3,7 @@ mk_add_options MOZ_APP_DISPLAYNAME="Tor Browser"
 export MOZILLA_OFFICIAL=1
 
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --enable-official-branding
 
 # Android
diff --git a/.mozconfig-asan b/.mozconfig-asan
index ca05fb12eedb..e42ff6c86bc5 100644
--- a/.mozconfig-asan
+++ b/.mozconfig-asan
@@ -22,6 +22,7 @@ ac_add_options --disable-jemalloc
 ac_add_options --disable-elf-hack
 
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --enable-official-branding
 
 # Let's support GTK3 for ESR60
diff --git a/.mozconfig-mac b/.mozconfig-mac
index 9be7751f8241..5b4624ef1f67 100644
--- a/.mozconfig-mac
+++ b/.mozconfig-mac
@@ -38,6 +38,7 @@ ac_add_options --enable-application=browser
 ac_add_options --enable-strip
 ac_add_options --enable-official-branding
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --disable-debug
 
 ac_add_options --enable-tor-browser-data-outside-app-dir
diff --git a/.mozconfig-mingw b/.mozconfig-mingw
index 29c58d8fdab2..ce6ace1dad67 100644
--- a/.mozconfig-mingw
+++ b/.mozconfig-mingw
@@ -10,6 +10,7 @@ export MOZILLA_OFFICIAL=1
 
 ac_add_options --disable-debug
 ac_add_options --enable-optimize
+ac_add_options --enable-rust-simd
 ac_add_options --enable-strip
 ac_add_options --enable-official-branding
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [collector/master] Use java8 datetime classes in bridgedesc module.

2020-12-01 Thread karsten
commit 27a21c0b37d504b4ab3eeb5b206b5590fc82d396
Author: Karsten Loesing 
Date:   Tue Dec 1 11:15:21 2020 +0100

Use java8 datetime classes in bridgedesc module.

Implements #25309.
---
 .../bridgedescs/SanitizedBridgeNetworkStatus.java  | 31 ++-
 .../bridgedescs/SanitizedBridgesWriter.java| 64 +++---
 .../BridgePoolAssignmentsProcessor.java|  8 +--
 3 files changed, 51 insertions(+), 52 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgeNetworkStatus.java
 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgeNetworkStatus.java
index d94cb0d..8087e84 100644
--- 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgeNetworkStatus.java
+++ 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgeNetworkStatus.java
@@ -15,8 +15,8 @@ import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.StringReader;
 import java.nio.charset.StandardCharsets;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.SortedMap;
 import java.util.TreeMap;
 
@@ -186,24 +186,25 @@ public class SanitizedBridgeNetworkStatus extends 
SanitizedBridgeDescriptor {
 
   /* Check if we can tell from the descriptor publication times
* whether this status is possibly stale. */
-  SimpleDateFormat formatter = new SimpleDateFormat(
-  "-MM-dd HH:mm:ss");
+  DateTimeFormatter formatter = DateTimeFormatter.ofPattern(
+  "-MM-dd HH:mm:ss");
   if (null == mostRecentDescPublished) {
 logger.warn("The bridge network status published at {}"
 + " does not contain a single entry. Please ask the bridge "
 + "authority operator to check!", this.publishedString);
-  } else if (formatter.parse(this.publishedString).getTime()
-  - formatter.parse(mostRecentDescPublished).getTime()
-  > 60L * 60L * 1000L) {
-logger.warn("The most recent descriptor in the bridge "
-+ "network status published at {} was published at {} which is 
"
-+ "more than 1 hour before the status. This is a sign for "
-+ "the status being stale. Please check!",
-this.publishedString, mostRecentDescPublished);
+  } else {
+LocalDateTime networkStatusTime
+= LocalDateTime.parse(this.publishedString, formatter);
+LocalDateTime mostRecentDescTime
+= LocalDateTime.parse(mostRecentDescPublished, formatter);
+if (mostRecentDescTime.isBefore(networkStatusTime.minusHours(1L))) {
+  logger.warn("The most recent descriptor in the bridge "
+  + "network status published at {} was published at {} which is "
+  + "more than 1 hour before the status. This is a sign for "
+  + "the status being stale. Please check!",
+  this.publishedString, mostRecentDescPublished);
+}
   }
-} catch (ParseException e) {
-  logger.warn("Could not parse timestamp in bridge network status.", e);
-  return false;
 } catch (IOException e) {
   logger.warn("Could not parse bridge network status.", e);
   return false;
diff --git 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
index d5009e1..5e24f5d 100644
--- 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
+++ 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
@@ -30,9 +30,9 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.nio.file.StandardOpenOption;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
 import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.util.HashSet;
 import java.util.Set;
@@ -99,10 +99,9 @@ public class SanitizedBridgesWriter extends CollecTorMain {
 Path statsDirectory = config.getPath(Key.StatsPath);
 boolean replaceIpAddressesWithHashes =
 config.getBool(Key.ReplaceIpAddressesWithHashes);
-SimpleDateFormat rsyncCatFormat = new SimpleDateFormat(
-"-MM-dd-HH-mm-ss");
-this.rsyncCatString = rsyncCatFormat.format(
-System.currentTimeMillis());
+DateTimeFormatter rsyncCatFormat = DateTimeFormatter.ofPattern(
+"-MM-dd-HH-mm-ss");
+this.rsyncCatString = LocalDateTime.now().format(rsyncCatFormat);
 
 Path bridgeIpSecretsFile = statsDirectory.resolve("bridge-ip-secrets");
 if (replaceIpAddressesWithHashes) {
@@ -332,7 +331,7 @@ public class SanitizedBridgesWriter extends CollecTorMain {
 }
   }
 
-  

[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 6d276aed98e99cc285f7a6b0a2abda6956dd44a1
Author: Translation commit bot 
Date:   Tue Dec 1 10:15:19 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po | 28 +---
 1 file changed, 21 insertions(+), 7 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index 1f0eafb7bb..ef1c9206ea 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -16081,7 +16081,7 @@ msgstr "pkg install tor-devel  obfs4proxy-tor"
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
 msgid "### 3. Configure `/usr/local/etc/tor/torrc` to run **Tor** as a Bridge"
-msgstr ""
+msgstr "### 3. הגדירו את `/usr/local/etc/tor/torrc` להריץ את  
**Tor** כגשר"
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -16090,31 +16090,33 @@ msgid ""
 "can talk to `tor` over the loopback interface - do not forget to allow the "
 "**ExtORPort**."
 msgstr ""
+"* האם אתם מגינים על DragonflyBSD בחומת אש? אם כך, 
וודאו ש `obfs4proxy` יכול "
+"לדבר עם 'tor' מעל ממשק loopback  - לא לשכוח להרשות 
את  **ExtORPort**."
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
 msgid "### 4. Start `tor`:"
-msgstr ""
+msgstr "### 4. אתחלו את 'tor'"
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
 msgid "tail /var/log/tor/notices.log"
-msgstr ""
+msgstr "tail /var/log/tor/notices.log"
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
 msgid "### 6. Final Notes"
-msgstr ""
+msgstr "### 6. הערות אחרונות"
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.title)
 msgid "Response template for Tor relay operator to ISP"
-msgstr ""
+msgstr "תבנית תגובה עבור מפעיל ניתוב Tor ל  ISP"
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.subtitle)
 msgid "Got a DMCA notice? Check out our sample response letter!"
-msgstr ""
+msgstr "קיבלתם הודעת  DMCA? בידקו את דוגמת מכתב 
התגובה שלנו!"
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
@@ -16122,6 +16124,8 @@ msgid ""
 "Written by the Electronic Frontier Foundation ([EFF](https://www.eff.org/))."
 " Last updated March 27, 2020."
 msgstr ""
+"נכתב על ידי Electronic Frontier Foundation 
([EFF](https://www.eff.org/)). "
+"Lעודכן לאחרונה ב 27 במרץ, 2020."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
@@ -16129,6 +16133,8 @@ msgid ""
 "Note to Tor relay operators: In this litigious era, anyone providing routing"
 " services may face copyright complaints for transmitted content."
 msgstr ""
+"הערה למפעילי ניתוב Tor: בתקופה מרובת תביעות 
זו, כל אחד שמספק שרותי ניתוב "
+"עלול להקלע לתלונות הפרת זכויות יוצרים עקב 
העברת תוכן."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
@@ -16136,6 +16142,8 @@ msgid ""
 "Fortunately, copyright law should provide protections from many of them both"
 " to you and to your upstream provider."
 msgstr ""
+"למרבה המזל, חוק זכויות היוצרים מספק הגנה 
מרבות מהן גם לכם וגם לספק התשתית "
+"שלכם."
 
 #: 
https//community.torproject.org/relay/community-resources/eff-tor-legal-faq/tor-dmca-response/
 #: 
(content/relay-operations/community-resources/eff-tor-legal-faq/tor-dmca-response/contents+en.lrpage.body)
@@ -16144,11 +16152,13 @@ msgid ""
 "this template to write a response, though you will need to customize it to "
 "your situation."
 msgstr ""
+"אם מארח האינטרנט שלכם מעביר לכם תלונות 
זכויות 

[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 03e7751c65aaf732261c91701768a01118f0837c
Author: Translation commit bot 
Date:   Tue Dec 1 09:45:12 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po | 22 +++---
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index 2e6153112b..1f0eafb7bb 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -16014,12 +16014,12 @@ msgstr "* CentOS / RHEL / OpenSUSE:"
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.subtitle)
 msgid "How to deploy an obfs4 bridge on DragonflyBSD"
-msgstr ""
+msgstr "כיצד ליישם גשר  obfs4 על  DragonflyBSD"
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
 msgid "### 1. Bootstrap `pkg`"
-msgstr ""
+msgstr "### 1. בנה  `pkg`"
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -16028,11 +16028,13 @@ msgid ""
 "`pkg` already installed. Upgrades from earlier releases, however, will not "
 "have it."
 msgstr ""
+"צילומי מצב יומיים של DragonFlyBSD's וגורסאות  
(starting with 3.4) מגיעות עם"
+"   `pkg` בעת ההתקנה. אבל שדרוג מגירסות קודמות 
אינן מכילות אותן."
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
 msgid "# 1.1. Recommended Steps to Setup `pkg`"
-msgstr ""
+msgstr "# 1.1. צעדים מומלצים להגדרת `pkg`"
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -16041,11 +16043,14 @@ msgid ""
 " going to use HTTPS to fetch our packages, and updates - so here we also "
 "need an extra package to help us out (`ca_root_nss`)."
 msgstr ""
+"כאן הדבר יהיה דומה למה שעשינו במערכת  
**FreeBSD**, ואנו הולכים להשתמש ב "
+"HTTPS כדי להביא את התוכנות שלנו, והעדכונים - 
אז כאן אנו זקוקים לתוכנה נוספת "
+"שתעזור לנו בכך (`ca_root_nss`)."
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
 msgid "**DragonflyBSD** has 2 packages repositories:"
-msgstr ""
+msgstr "DragonflyBSD בעל 2 ספריות תוכנה:"
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
@@ -16054,21 +16059,24 @@ msgid ""
 "`/usr/local/etc/pkg/repos/df-latest` and that's it! Remember to use "
 "**pkg+https://** for Avalon."
 msgstr ""
+"אנו פשוט יכולים לעדכן את ה **URL** שבשימוש 
להצביע על הספריות ב "
+"`/usr/local/etc/pkg/repos/df-latest` וזהו זהi זכרו להשתמש ב 
**pkg+https://**;
+" עבור Avalon."
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
 msgid "### 2. Install `tor` and `obfs4proxy` DragonflyBSD's Package"
-msgstr ""
+msgstr "### 2. התקינו `tor` וחבילת תוכנה `obfs4proxy` 
DragonflyBSD's"
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
 msgid "pkg install tor obfs4proxy-tor"
-msgstr ""
+msgstr "pkg install tor obfs4proxy-tor"
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)
 msgid "pkg install tor-devel  obfs4proxy-tor"
-msgstr ""
+msgstr "pkg install tor-devel  obfs4proxy-tor"
 
 #: https//community.torproject.org/relay/setup/bridge/dragonflybsd/
 #: 
(content/relay-operations/technical-setup/bridge/dragonflybsd/contents+en.lrpage.body)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [collector/master] Move sanitizing code to one class per type.

2020-12-01 Thread karsten
commit 2e8cdf7fe1cd11b6afe599512e4844c4234e257a
Author: Karsten Loesing 
Date:   Tue Dec 1 10:35:26 2020 +0100

Move sanitizing code to one class per type.

Part of #20542.
---
 .../bridgedescs/SanitizedBridgeDescriptor.java | 118 
 .../SanitizedBridgeExtraInfoDescriptor.java| 192 +
 .../bridgedescs/SanitizedBridgeNetworkStatus.java  | 230 ++
 .../SanitizedBridgeServerDescriptor.java   | 360 ++
 .../bridgedescs/SanitizedBridgesWriter.java| 771 +
 5 files changed, 934 insertions(+), 737 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgeDescriptor.java
 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgeDescriptor.java
new file mode 100644
index 000..5ddeefe
--- /dev/null
+++ 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgeDescriptor.java
@@ -0,0 +1,118 @@
+/* Copyright 2010--2020 The Tor Project
+ * See LICENSE for licensing information */
+
+package org.torproject.metrics.collector.bridgedescs;
+
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.nio.charset.StandardCharsets;
+
+public abstract class SanitizedBridgeDescriptor {
+
+  private static final Logger logger = LoggerFactory.getLogger(
+  SanitizedBridgeDescriptor.class);
+
+  protected byte[] originalBytes;
+
+  protected SensitivePartsSanitizer sensitivePartsSanitizer;
+
+  protected byte[] sanitizedBytes;
+
+  protected String publishedString;
+
+  SanitizedBridgeDescriptor(byte[] originalBytes,
+  SensitivePartsSanitizer sensitivePartsSanitizer) {
+this.originalBytes = originalBytes;
+this.sensitivePartsSanitizer = sensitivePartsSanitizer;
+  }
+
+  protected String parseMasterKeyEd25519FromIdentityEd25519(
+  String identityEd25519Base64) {
+byte[] identityEd25519 = Base64.decodeBase64(identityEd25519Base64);
+if (identityEd25519.length < 40) {
+  logger.warn("Invalid length of identity-ed25519 (in bytes): {}",
+  identityEd25519.length);
+} else if (identityEd25519[0] != 0x01) {
+  logger.warn("Unknown version in identity-ed25519: {}",
+  identityEd25519[0]);
+} else if (identityEd25519[1] != 0x04) {
+  logger.warn("Unknown cert type in identity-ed25519: {}",
+  identityEd25519[1]);
+} else if (identityEd25519[6] != 0x01) {
+  logger.warn("Unknown certified key type in identity-ed25519: {}",
+  identityEd25519[1]);
+} else if (identityEd25519[39] == 0x00) {
+  logger.warn("No extensions in identity-ed25519 (which "
+  + "would contain the encoded master-key-ed25519): {}",
+  identityEd25519[39]);
+} else {
+  int extensionStart = 40;
+  for (int i = 0; i < (int) identityEd25519[39]; i++) {
+if (identityEd25519.length < extensionStart + 4) {
+  logger.warn("Invalid extension with id {} in identity-ed25519.", i);
+  break;
+}
+int extensionLength = identityEd25519[extensionStart];
+extensionLength <<= 8;
+extensionLength += identityEd25519[extensionStart + 1];
+int extensionType = identityEd25519[extensionStart + 2];
+if (extensionLength == 32 && extensionType == 4) {
+  if (identityEd25519.length < extensionStart + 4 + 32) {
+logger.warn("Invalid extension with id {} in identity-ed25519.", 
i);
+break;
+  }
+  byte[] masterKeyEd25519 = new byte[32];
+  System.arraycopy(identityEd25519, extensionStart + 4,
+  masterKeyEd25519, 0, masterKeyEd25519.length);
+  String masterKeyEd25519Base64 = Base64.encodeBase64String(
+  masterKeyEd25519);
+  return masterKeyEd25519Base64.replaceAll("=", "");
+}
+extensionStart += 4 + extensionLength;
+  }
+}
+logger.warn("Unable to locate master-key-ed25519 in identity-ed25519.");
+return null;
+  }
+
+  protected String computeDescriptorDigest(byte[] descriptorBytes,
+  String startToken, String sigToken) {
+String descriptorDigest = null;
+String ascii = new String(descriptorBytes, StandardCharsets.US_ASCII);
+int start = ascii.indexOf(startToken);
+int sig = ascii.indexOf(sigToken) + sigToken.length();
+if (start >= 0 && sig >= 0 && sig > start) {
+  byte[] forDigest = new byte[sig - start];
+  System.arraycopy(descriptorBytes, start, forDigest, 0, sig - start);
+  descriptorDigest = DigestUtils.sha1Hex(DigestUtils.sha1(forDigest));
+}
+if (descriptorDigest == null) {
+  logger.warn("Could not calculate extra-info descriptor digest.");
+}
+return descriptorDigest;
+  }
+
+  protected String computeSha256Base64Digest(byte[] descriptorBytes,
+  String startToken, String sigToken) {
+String 

[tor-commits] [collector/master] Move lower-level sanitizing code to its own class.

2020-12-01 Thread karsten
commit a2fdbf3c6f67e5ddb735773e1ab456ee4f464555
Author: Karsten Loesing 
Date:   Mon Nov 30 21:59:17 2020 +0100

Move lower-level sanitizing code to its own class.

Part of #20542.
---
 .../bridgedescs/SanitizedBridgesWriter.java| 404 ++---
 .../bridgedescs/SensitivePartsSanitizer.java   | 378 +++
 .../bridgedescs/SanitizedBridgesWriterTest.java|   2 +
 3 files changed, 410 insertions(+), 374 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
index 34156c2..843aa40 100644
--- 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
+++ 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
@@ -3,8 +3,6 @@
 
 package org.torproject.metrics.collector.bridgedescs;
 
-import static java.time.ZoneOffset.UTC;
-
 import org.torproject.descriptor.BridgeExtraInfoDescriptor;
 import org.torproject.descriptor.BridgeNetworkStatus;
 import org.torproject.descriptor.BridgeServerDescriptor;
@@ -35,18 +33,12 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.nio.file.StandardOpenOption;
-import java.security.GeneralSecurityException;
-import java.security.SecureRandom;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.Instant;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.SortedMap;
@@ -89,26 +81,14 @@ public class SanitizedBridgesWriter extends CollecTorMain {
 
   private Path inputDirectory;
 
-  private boolean replaceIpAddressesWithHashes;
-
-  private boolean persistenceProblemWithSecrets;
-
-  private SortedMap secretsForHashingIpAddresses;
-
-  private String bridgeSanitizingCutOffTimestamp;
-
-  private boolean haveWarnedAboutInterval;
-
-  private Path bridgeIpSecretsFile;
-
-  private SecureRandom secureRandom;
-
   private Path outputDirectory;
 
   private Path recentDirectory;
 
   private Path statsDirectory;
 
+  private SensitivePartsSanitizer sensitivePartsSanitizer;
+
   @Override
   public String module() {
 return "bridgedescs";
@@ -128,90 +108,30 @@ public class SanitizedBridgesWriter extends CollecTorMain 
{
 .resolve(BRIDGE_DESCRIPTORS);
 this.inputDirectory = config.getPath(Key.BridgeLocalOrigins);
 this.statsDirectory = config.getPath(Key.StatsPath);
-this.replaceIpAddressesWithHashes =
+boolean replaceIpAddressesWithHashes =
 config.getBool(Key.ReplaceIpAddressesWithHashes);
 SimpleDateFormat rsyncCatFormat = new SimpleDateFormat(
 "-MM-dd-HH-mm-ss");
 this.rsyncCatString = rsyncCatFormat.format(
 System.currentTimeMillis());
 
-/* Initialize secure random number generator if we need it. */
-if (this.replaceIpAddressesWithHashes) {
-  try {
-this.secureRandom = SecureRandom.getInstance("SHA1PRNG", "SUN");
-  } catch (GeneralSecurityException e) {
-logger.warn("Could not initialize secure "
-+ "random number generator! Not calculating any IP address "
-+ "hashes in this execution!", e);
-this.persistenceProblemWithSecrets = true;
-  }
-}
-
-/* Read hex-encoded secrets for replacing IP addresses with hashes
- * from disk. */
-this.secretsForHashingIpAddresses = new TreeMap<>();
-this.bridgeIpSecretsFile = statsDirectory.resolve("bridge-ip-secrets");
-if (Files.exists(this.bridgeIpSecretsFile)) {
-  try {
-for (String line : Files.readAllLines(this.bridgeIpSecretsFile)) {
-  String[] parts = line.split(",");
-  if ((line.length() != ("-MM,".length() + 31 * 2)
-  && line.length() != ("-MM,".length() + 50 * 2)
-  && line.length() != ("-MM,".length() + 83 * 2))
-  || parts.length != 2) {
-logger.warn("Invalid line in bridge-ip-secrets file "
-+ "starting with '{}'! "
-+ "Not calculating any IP address hashes in this "
-+ "execution!", line.substring(0, 7));
-this.persistenceProblemWithSecrets = true;
-break;
-  }
-  String month = parts[0];
-  byte[] secret = Hex.decodeHex(parts[1].toCharArray());
-  this.secretsForHashingIpAddresses.put(month, secret);
-}
-if (!this.persistenceProblemWithSecrets) {
-  logger.debug("Read {} secrets for hashing bridge IP addresses.",
-  this.secretsForHashingIpAddresses.size());
-}
-  } catch (DecoderException e) {
-logger.warn("Failed to decode hex string in {}! Not 

[tor-commits] [collector/master] Simplify the bridgedescs module.

2020-12-01 Thread karsten
commit 106852425554f6001f114ee711648798c78609ec
Author: Karsten Loesing 
Date:   Sat Nov 28 22:14:53 2020 +0100

Simplify the bridgedescs module.

The separation between BridgeSnapshotReader, BridgeDescriptorParser,
and SanitizedBridgesWriter doesn't make much sense anymore:

 - BridgeSnapshotReader only has a constructor of more than 200 lines
   of code.

 - BridgeDescriptorParser actually only determines the descriptor type
   and

 - SanitizedBridgesWriter performs parsing and obfuscation.

There are better ways to structure this code. The first step in that
direction is to remove clutter by moving the code to read bridge
snapshots to SanitizedBridgesWriter and deleting the other two
classes.

Part of #20542.
---
 .../bridgedescs/BridgeDescriptorParser.java|  55 -
 .../bridgedescs/BridgeSnapshotReader.java  | 248 -
 .../bridgedescs/SanitizedBridgesWriter.java| 228 ++-
 .../bridgedescs/BridgeDescriptorParserTest.java|  43 
 4 files changed, 223 insertions(+), 351 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParser.java
 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParser.java
deleted file mode 100644
index b5e30bc..000
--- 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeDescriptorParser.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2010--2020 The Tor Project
- * See LICENSE for licensing information */
-
-package org.torproject.metrics.collector.bridgedescs;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.StringReader;
-import java.nio.charset.StandardCharsets;
-
-public class BridgeDescriptorParser {
-
-  private SanitizedBridgesWriter sbw;
-
-  private static final Logger logger = LoggerFactory.getLogger(
-  BridgeDescriptorParser.class);
-
-  /** Initializes a new bridge descriptor parser and links it to a
-   * sanitized bridges writer to sanitize and store bridge descriptors. */
-  public BridgeDescriptorParser(SanitizedBridgesWriter sbw) {
-if (null == sbw) {
-  throw new IllegalArgumentException("SanitizedBridgesWriter has to be "
-  + "provided, but was null.");
-}
-this.sbw = sbw;
-  }
-
-  /** Parses the first line of the given descriptor data to determine the
-   * descriptor type and passes it to the sanitized bridges writer. */
-  public void parse(byte[] allData, String dateTime,
-  String authorityFingerprint) {
-try {
-  BufferedReader br = new BufferedReader(new StringReader(
-  new String(allData, StandardCharsets.US_ASCII)));
-  String line = br.readLine();
-  if (line == null) {
-return;
-  }
-  if (line.startsWith("router ")) {
-this.sbw.sanitizeAndStoreServerDescriptor(allData);
-  } else if (line.startsWith("extra-info ")) {
-this.sbw.sanitizeAndStoreExtraInfoDescriptor(allData);
-  } else {
-this.sbw.sanitizeAndStoreNetworkStatus(allData, dateTime,
-authorityFingerprint);
-  }
-} catch (IOException e) {
-  logger.warn("Could not parse or write bridge descriptor.", e);
-}
-  }
-}
-
diff --git 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java
 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java
deleted file mode 100644
index de9cd4b..000
--- 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/BridgeSnapshotReader.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/* Copyright 2010--2020 The Tor Project
- * See LICENSE for licensing information */
-
-package org.torproject.metrics.collector.bridgedescs;
-
-import org.apache.commons.codec.binary.Hex;
-import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
-import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.StringReader;
-import java.nio.charset.StandardCharsets;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.Stack;
-import java.util.TreeSet;
-
-public class BridgeSnapshotReader {
-
-  private static final Logger logger = LoggerFactory.getLogger(
-  BridgeSnapshotReader.class);
-
-  /**
-   * Reads the half-hourly snapshots of bridge descriptors from Bifroest.
-   */
-  public BridgeSnapshotReader(BridgeDescriptorParser bdp,
-  File 

[tor-commits] [collector/master] Make some minor optimizations to bridgedescs code.

2020-12-01 Thread karsten
commit 47a4c7a962de55ee8354c1c8605216965f68d116
Author: Karsten Loesing 
Date:   Mon Nov 30 22:45:22 2020 +0100

Make some minor optimizations to bridgedescs code.

Part of #20542.
---
 .../collector/bridgedescs/DescriptorBuilder.java   |  3 ++
 .../bridgedescs/SanitizedBridgesWriter.java| 62 ++
 2 files changed, 32 insertions(+), 33 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/DescriptorBuilder.java
 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/DescriptorBuilder.java
index b4b63e7..946fcdb 100644
--- 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/DescriptorBuilder.java
+++ 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/DescriptorBuilder.java
@@ -96,4 +96,7 @@ class DescriptorBuilder {
 return value;
   }
 
+  public byte[] toBytes() {
+return this.toString().getBytes();
+  }
 }
diff --git 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
index 843aa40..77ab406 100644
--- 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
+++ 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
@@ -79,14 +79,10 @@ public class SanitizedBridgesWriter extends CollecTorMain {
 
   private String rsyncCatString;
 
-  private Path inputDirectory;
-
   private Path outputDirectory;
 
   private Path recentDirectory;
 
-  private Path statsDirectory;
-
   private SensitivePartsSanitizer sensitivePartsSanitizer;
 
   @Override
@@ -106,8 +102,8 @@ public class SanitizedBridgesWriter extends CollecTorMain {
 .resolve(BRIDGE_DESCRIPTORS);
 this.recentDirectory = config.getPath(Key.RecentPath)
 .resolve(BRIDGE_DESCRIPTORS);
-this.inputDirectory = config.getPath(Key.BridgeLocalOrigins);
-this.statsDirectory = config.getPath(Key.StatsPath);
+Path inputDirectory = config.getPath(Key.BridgeLocalOrigins);
+Path statsDirectory = config.getPath(Key.StatsPath);
 boolean replaceIpAddressesWithHashes =
 config.getBool(Key.ReplaceIpAddressesWithHashes);
 SimpleDateFormat rsyncCatFormat = new SimpleDateFormat(
@@ -126,7 +122,7 @@ public class SanitizedBridgesWriter extends CollecTorMain {
 }
 
 // Import bridge descriptors
-this.readBridgeSnapshots(this.inputDirectory, this.statsDirectory);
+this.readBridgeSnapshots(inputDirectory, statsDirectory);
 
 // Finish writing sanitized bridge descriptors to disk
 if (replaceIpAddressesWithHashes) {
@@ -362,11 +358,16 @@ public class SanitizedBridgesWriter extends CollecTorMain 
{
 }
 
 /* Parse the given network status line by line. */
-DescriptorBuilder header = new DescriptorBuilder();
 boolean includesFingerprintLine = false;
-SortedMap scrubbedLines = new TreeMap<>();
+DescriptorBuilder scrubbed = new DescriptorBuilder();
+scrubbed.append(Annotation.Status.toString());
+SortedMap scrubbedEntries = new TreeMap<>();
+StringBuilder publishedStringBuilder = new StringBuilder();
+scrubbed.append("published ").append(publishedStringBuilder).newLine();
+DescriptorBuilder header = new DescriptorBuilder();
+scrubbed.append(header);
+
 try {
-  DescriptorBuilder scrubbed = new DescriptorBuilder();
   BufferedReader br = new BufferedReader(new StringReader(new String(
   data, StandardCharsets.US_ASCII)));
   String line;
@@ -374,6 +375,7 @@ public class SanitizedBridgesWriter extends CollecTorMain {
   byte[] fingerprintBytes = null;
   String descPublicationTime = null;
   String hashedBridgeIdentityHex = null;
+  DescriptorBuilder scrubbedEntry = new DescriptorBuilder();
   while ((line = br.readLine()) != null) {
 
 /* Use publication time from "published" line instead of the
@@ -403,10 +405,10 @@ public class SanitizedBridgesWriter extends CollecTorMain 
{
 } else if (line.startsWith("r ")) {
 
   /* Clear buffer from previously scrubbed lines. */
-  if (scrubbed.hasContent()) {
-String scrubbedLine = scrubbed.toString();
-scrubbedLines.put(hashedBridgeIdentityHex, scrubbedLine);
-scrubbed = new DescriptorBuilder();
+  if (scrubbedEntry.hasContent()) {
+scrubbedEntries.put(hashedBridgeIdentityHex,
+scrubbedEntry.toString());
+scrubbedEntry = new DescriptorBuilder();
   }
 
   /* Parse the relevant parts of this r line. */
@@ -452,7 +454,7 @@ public class SanitizedBridgesWriter extends CollecTorMain {
   orPort, fingerprintBytes, descPublicationTime);
   String scrubbedDirPort = this.sensitivePartsSanitizer.scrubTcpPort(
   dirPort, fingerprintBytes, descPublicationTime);
-  scrubbed.append("r ").append(nickname).space()
+  

[tor-commits] [collector/master] Update most of the bridgedescs module to NIO.

2020-12-01 Thread karsten
commit c0ee1a6cf76f6f6b1677edccc1dc7e4055de50e9
Author: Karsten Loesing 
Date:   Sun Nov 29 00:05:47 2020 +0100

Update most of the bridgedescs module to NIO.

Replace all File references with their Path equivalents, and use Files
methods wherever feasible.

Part of #20542.
---
 .../bridgedescs/SanitizedBridgesWriter.java| 288 +
 1 file changed, 127 insertions(+), 161 deletions(-)

diff --git 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
index 8db7db5..34156c2 100644
--- 
a/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
+++ 
b/src/main/java/org/torproject/metrics/collector/bridgedescs/SanitizedBridgesWriter.java
@@ -26,16 +26,15 @@ import org.slf4j.LoggerFactory;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedReader;
-import java.io.BufferedWriter;
 import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.FileWriter;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.StringReader;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.nio.file.StandardOpenOption;
 import java.security.GeneralSecurityException;
 import java.security.SecureRandom;
 import java.text.ParseException;
@@ -45,7 +44,6 @@ import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -89,12 +87,7 @@ public class SanitizedBridgesWriter extends CollecTorMain {
 
   private String rsyncCatString;
 
-  private File bridgeDirectoriesDirectory;
-
-  /**
-   * Output directory for writing sanitized bridge descriptors.
-   */
-  private File sanitizedBridgesDirectory;
+  private Path inputDirectory;
 
   private boolean replaceIpAddressesWithHashes;
 
@@ -106,13 +99,15 @@ public class SanitizedBridgesWriter extends CollecTorMain {
 
   private boolean haveWarnedAboutInterval;
 
-  private File bridgeIpSecretsFile;
+  private Path bridgeIpSecretsFile;
 
   private SecureRandom secureRandom;
 
-  private String outputPathName;
+  private Path outputDirectory;
+
+  private Path recentDirectory;
 
-  private String recentPathName;
+  private Path statsDirectory;
 
   @Override
   public String module() {
@@ -127,25 +122,12 @@ public class SanitizedBridgesWriter extends CollecTorMain 
{
   @Override
   protected void startProcessing() throws ConfigurationException {
 
-outputPathName = Paths.get(config.getPath(Key.OutputPath).toString(),
-BRIDGE_DESCRIPTORS).toString();
-recentPathName = Paths.get(config.getPath(Key.RecentPath).toString(),
-BRIDGE_DESCRIPTORS).toString();
-File bridgeDirectoriesDirectory =
-config.getPath(Key.BridgeLocalOrigins).toFile();
-File sanitizedBridgesDirectory = new File(outputPathName);
-File statsDirectory = config.getPath(Key.StatsPath).toFile();
-
-if (bridgeDirectoriesDirectory == null
-|| sanitizedBridgesDirectory == null || statsDirectory == null) {
-  throw new ConfigurationException("BridgeSnapshotsDirectory, "
-  + "SanitizedBridgesWriteDirectory, StatsPath should be set. "
-  + "Please, edit the 'collector.properties' file.");
-}
-
-/* Memorize argument values. */
-this.bridgeDirectoriesDirectory = bridgeDirectoriesDirectory;
-this.sanitizedBridgesDirectory = sanitizedBridgesDirectory;
+this.outputDirectory = config.getPath(Key.OutputPath)
+.resolve(BRIDGE_DESCRIPTORS);
+this.recentDirectory = config.getPath(Key.RecentPath)
+.resolve(BRIDGE_DESCRIPTORS);
+this.inputDirectory = config.getPath(Key.BridgeLocalOrigins);
+this.statsDirectory = config.getPath(Key.StatsPath);
 this.replaceIpAddressesWithHashes =
 config.getBool(Key.ReplaceIpAddressesWithHashes);
 SimpleDateFormat rsyncCatFormat = new SimpleDateFormat(
@@ -168,13 +150,10 @@ public class SanitizedBridgesWriter extends CollecTorMain 
{
 /* Read hex-encoded secrets for replacing IP addresses with hashes
  * from disk. */
 this.secretsForHashingIpAddresses = new TreeMap<>();
-this.bridgeIpSecretsFile = new File(statsDirectory,
-"bridge-ip-secrets");
-if (this.bridgeIpSecretsFile.exists()) {
-  try (BufferedReader br = new BufferedReader(new FileReader(
-  this.bridgeIpSecretsFile))) {
-String line;
-while ((line = br.readLine()) != null) {
+this.bridgeIpSecretsFile = statsDirectory.resolve("bridge-ip-secrets");
+if (Files.exists(this.bridgeIpSecretsFile)) {
+  try {
+for (String line : 

[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot

2020-12-01 Thread translation
commit 15ae4300a38f0a0ffe880b9fc764a08039d3d756
Author: Translation commit bot 
Date:   Tue Dec 1 09:15:13 2020 +


https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
---
 contents+he.po | 35 ---
 1 file changed, 20 insertions(+), 15 deletions(-)

diff --git a/contents+he.po b/contents+he.po
index 3c9782e2cd..2e6153112b 100644
--- a/contents+he.po
+++ b/contents+he.po
@@ -15908,12 +15908,12 @@ msgstr "sudo cp $GOPATH/bin/obfs4proxy 
/usr/local/bin/"
 #: https//community.torproject.org/relay/setup/bridge/fedora/
 #: 
(content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
 msgid "And tell selinux to allow Tor to use obfs4proxy:"
-msgstr ""
+msgstr "ואמרו ל  selinux לאפשר ל Tor להשתמש ב obfs4proxy:"
 
 #: https//community.torproject.org/relay/setup/bridge/fedora/
 #: 
(content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
 msgid "/sbin/restorecon -v /usr/local/bin/obfs4proxy"
-msgstr ""
+msgstr "/sbin/restorecon -v /usr/local/bin/obfs4proxy"
 
 #: https//community.torproject.org/relay/setup/bridge/fedora/
 #: 
(content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
@@ -15922,6 +15922,7 @@ msgstr ""
 msgid ""
 "sudo semanage port -a -t tor_port_t -p tcp [OR port set earlier, in TODO1]"
 msgstr ""
+"sudo semanage port -a -t tor_port_t -p tcp [OR port set earlier, in TODO1]"
 
 #: https//community.torproject.org/relay/setup/bridge/fedora/
 #: 
(content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
@@ -15931,63 +15932,65 @@ msgid ""
 "sudo semanage port -a -t tor_port_t -p tcp [obfs4 port set earlier, in "
 "TODO2]"
 msgstr ""
+"sudo semanage port -a -t tor_port_t -p tcp [obfs4 port set earlier, in "
+"TODO2]"
 
 #: https//community.torproject.org/relay/setup/bridge/fedora/
 #: 
(content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
 msgid "systemctl restart tor"
-msgstr ""
+msgstr "systemctl restart tor"
 
 #: https//community.torproject.org/relay/setup/bridge/fedora/
 #: 
(content/relay-operations/technical-setup/bridge/fedora/contents+en.lrpage.body)
 #: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
 #: 
(content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
 msgid "### 5. Monitor your logs (usually in your syslog)"
-msgstr ""
+msgstr "### 5. נטרו את הלוגים שלכם  (שבדרך כלל נ
מצאים ב  syslog)"
 
 #: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
 #: 
(content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.title)
 msgid "CentOS / RHEL / OpenSUSE"
-msgstr ""
+msgstr "CentOS / RHEL / OpenSUSE"
 
 #: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
 #: 
(content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.subtitle)
 msgid "How to deploy an obfs4 bridge on CentOS / RHEL / OpenSUSE"
-msgstr ""
+msgstr "כיצד ליישם גשר  obfs4 על  CentOS / RHEL / OpenSUSE"
 
 #: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
 #: 
(content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
 msgid "* CentOS / RHEL:"
-msgstr ""
+msgstr "* CentOS / RHEL:"
 
 #: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
 #: 
(content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
 msgid "yum install epel-release -y"
-msgstr ""
+msgstr "yum install epel-release -y"
 
 #: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
 #: 
(content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
 msgid "Then add the following to the `/etc/yum.repos.d/tor.repo` file."
-msgstr ""
+msgstr "ואז להוסיף אל קובץ  `/etc/yum.repos.d/tor.repo` ."
 
 #: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
 #: 
(content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
 msgid "And then install the following packages."
-msgstr ""
+msgstr "ואז להתקין את חבילות התוכנה הבאות:"
 
 #: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
 #: 
(content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
 msgid "yum install git golang tor policycoreutils-python-utils"
-msgstr ""
+msgstr "yum install git golang עבור policycoreutils-python-utils"
 
 #: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
 #: 
(content/relay-operations/technical-setup/bridge/centos-rhel-opensuse/contents+en.lrpage.body)
 msgid "* OpenSUSE:"
-msgstr ""
+msgstr "* OpenSUSE:"
 
 #: https//community.torproject.org/relay/setup/bridge/centos-rhel-opensuse/
 #: