[tor-commits] [translation/communitytpo-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=communitytpo-contentspot
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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
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
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.
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.
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.
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.
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.
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
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/ #: