[tor-commits] [tor-browser-build/master] Bug 40416: updated obfsproxy to 0.0.12

2022-01-31 Thread boklm
commit d3e8a8ac42ae311a1f76d1b453c34a492d65deca
Author: Pier Angelo Vendrame 
Date:   Mon Jan 24 09:29:46 2022 +0100

Bug 40416: updated obfsproxy to 0.0.12
---
 projects/edwards25519-extra/config | 31 +++
 projects/edwards25519/config   | 17 +
 projects/gobsaes/config|  8 ++--
 projects/goutls/config |  3 +--
 projects/goutls/sessionid.patch| 25 -
 projects/obfs4/build   |  3 ++-
 projects/obfs4/config  | 14 --
 7 files changed, 65 insertions(+), 36 deletions(-)

diff --git a/projects/edwards25519-extra/config 
b/projects/edwards25519-extra/config
new file mode 100644
index 000..2aa7390
--- /dev/null
+++ b/projects/edwards25519-extra/config
@@ -0,0 +1,31 @@
+# vim: filetype=yaml sw=2
+version: '[% c("abbrev") %]'
+git_url: https://gitlab.com/yawning/edwards25519-extra.git
+git_hash: 2f91fcc9fbdb888f3c795849b6777940135559b7
+filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% 
c("var/build_id") %].tar.gz'
+
+build: '[% c("projects/go/var/build_go_lib") %]'
+
+var:
+  container:
+use_container: 1
+  go_lib: gitlab.com/yawning/edwards25519-extra.git
+  go_lib_deps:
+- goxcrypto
+- edwards25519
+  go_lib_install:
+- gitlab.com/yawning/edwards25519-extra.git/elligator2
+- gitlab.com/yawning/edwards25519-extra.git/h2c
+- gitlab.com/yawning/edwards25519-extra.git/vrf
+
+input_files:
+  - project: container-image
+  - name: go
+project: go
+  - name: goxcrypto
+project: goxcrypto
+  - name: edwards25519
+project: edwards25519
+  - name: '[% c("var/compiler") %]'
+project: '[% c("var/compiler") %]'
+enable: '[% c("var/android") %]'
diff --git a/projects/edwards25519/config b/projects/edwards25519/config
new file mode 100644
index 000..0f3377d
--- /dev/null
+++ b/projects/edwards25519/config
@@ -0,0 +1,17 @@
+# vim: filetype=yaml sw=2
+version: '[% c("abbrev") %]'
+git_url: https://github.com/FiloSottile/edwards25519.git
+git_hash: 390f27c3be2014e4912ce88c6a1fff52ec60428b
+filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% 
c("var/build_id") %].tar.gz'
+
+build: '[% c("projects/go/var/build_go_lib") %]'
+
+var:
+  container:
+use_container: 1
+  go_lib: filippo.io/edwards25519
+
+input_files:
+  - project: container-image
+  - name: go
+project: go
diff --git a/projects/gobsaes/config b/projects/gobsaes/config
index 3674488..cd8af1a 100644
--- a/projects/gobsaes/config
+++ b/projects/gobsaes/config
@@ -1,7 +1,7 @@
 # vim: filetype=yaml sw=2
 git_url: https://gitlab.com/yawning/bsaes.git
 version: '[% c("abbrev") %]'
-git_hash: 26d1add596b6d800bdeeb3bc3b2c7b316c056b6d
+git_hash: 0a714cd429ec754482b4001e918db30cd2094405
 filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% 
c("var/build_id") %].tar.gz'
 
 build: '[% c("projects/go/var/build_go_lib") %]'
@@ -9,7 +9,9 @@ build: '[% c("projects/go/var/build_go_lib") %]'
 var:
   container:
 use_container: 1
-  go_lib: git.schwanenlied.me/yawning/bsaes.git
+  go_lib: gitlab.com/yawning/bsaes.git
+  go_lib_deps:
+- goxsys
 
 targets:
   android:
@@ -21,6 +23,8 @@ input_files:
   - project: container-image
   - name: go
 project: go
+  - name: goxsys
+project: goxsys
   - name: '[% c("var/compiler") %]'
 project: '[% c("var/compiler") %]'
 enable: '[% c("var/android") %]'
diff --git a/projects/goutls/config b/projects/goutls/config
index 7a46517..8052176 100644
--- a/projects/goutls/config
+++ b/projects/goutls/config
@@ -1,6 +1,6 @@
 # vim: filetype=yaml sw=2
 git_url: https://gitlab.com/yawning/utls.git
-version: 0.0.10-1
+version: 0.0.12-1
 git_hash: 'v[% c("version") %]'
 tag_gpg_id: 1
 gpg_keyring: yawning.gpg
@@ -33,7 +33,6 @@ input_files:
 project: gocompress
   - name: gobsaes
 project: gobsaes
-  - filename: sessionid.patch
   - name: '[% c("var/compiler") %]'
 project: '[% c("var/compiler") %]'
 enable: '[% c("var/android") %]'
diff --git a/projects/goutls/sessionid.patch b/projects/goutls/sessionid.patch
deleted file mode 100644
index fd3636d..000
--- a/projects/goutls/sessionid.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 4da67951864128358459681399dd208c49d5d001 Mon Sep 17 00:00:00 2001
-From: Rod Hynes 
-Date: Mon, 12 Aug 2019 17:06:06 -0400
-Subject: [PATCH] Fix all-zeroes SessionID (#31)
-

- u_conn.go | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/u_conn.go b/u_conn.go
-index 9079460..2706373 100644
 a/u_conn.go
-+++ b/u_conn.go
-@@ -121,7 +121,7 @@ func (uconn *UConn) SetSessionState(session 
*ClientSessionState) error {
-   }
-   }
-   var sessionID [32]byte
--  _, err := io.ReadFull(uconn.config.rand(), 
uconn.HandshakeState.Hello.SessionId)
-+  _, err := io.ReadFull(uconn.config.rand(), sessionID[:])
-   

[tor-commits] [tor-browser-build/master] Revert "Bug 40420: Temporarily stop building ofs4 master on nightly"

2022-01-31 Thread boklm
commit 9f0ce975cab384e83905706414f14ac83ccbd1af
Author: Nicolas Vigier 
Date:   Mon Jan 31 20:08:51 2022 +0100

Revert "Bug 40420: Temporarily stop building ofs4 master on nightly"

This reverts commit 247d79f92476f65998962ba3ed4eb187b0d59e9d.
---
 projects/obfs4/config | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/projects/obfs4/config b/projects/obfs4/config
index 80b39c1..eec61bb 100644
--- a/projects/obfs4/config
+++ b/projects/obfs4/config
@@ -10,6 +10,12 @@ var:
   container:
 use_container: 1
 
+targets:
+  nightly:
+git_hash: master
+version: '[% c("abbrev") %]'
+tag_gpg_id: 0
+
 input_files:
   - project: container-image
   - name: go



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


[tor-commits] [translation/communitytpo-contentspot] new staging, ref: tpo/community/l10n#40049

2022-01-31 Thread emmapeel
commit e8d1085b706a0db40cb9ab1de3018fba76e67e58
Author: emma peel 
Date:   Mon Jan 31 17:05:36 2022 +

new staging, ref: tpo/community/l10n#40049
---
 .gitlab-ci.yml | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 462bcdd74b..68d34de398 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,8 @@
-variables:  
+variables:
   TRANSLATION_BRANCH : "communitytpo-contentspot"
-
-include:
-  project: tpo/community/l10n
-  file: ci-templates/lektor-with-more-langs.yml
+  LEKTOR_PROJECT: tpo/web/community
+
+include:
+  - project: tpo/tpa/ci-templates
+file: lektor-l10n-staging-trigger.yml
+

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


[tor-commits] [translation/tbmanual-contentspot] new staging, ref: tpo/community/l10n#40049

2022-01-31 Thread emmapeel
commit e12fb4a3a92d414e50793672b584e4b7cfe1e7da
Author: emma peel 
Date:   Mon Jan 31 17:01:48 2022 +

new staging, ref: tpo/community/l10n#40049
---
 .gitlab-ci.yml | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4176f818e6..a9d8ecb6e2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,7 @@
-variables:  
-  TRANSLATION_BRANCH : "tbmanual-contentspot"   
-
-include:
-  project: tpo/community/l10n
-  file: ci-templates/lektor-with-more-langs.yml
+variables:
+  TRANSLATION_BRANCH : "tbmanual-contentspot"
+  LEKTOR_PROJECT: tpo/web/manual
+
+include:
+  - project: tpo/tpa/ci-templates
+file: lektor-l10n-staging-trigger.yml

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


[tor-commits] [translation/communitytpo-contentspot] new translations in communitytpo-contentspot

2022-01-31 Thread translation
commit f57fe396c1c2d432ab62f4d24a0e53284ee1623b
Author: Translation commit bot 
Date:   Mon Jan 31 16:45:10 2022 +

new translations in communitytpo-contentspot
---
 contents+ru.po | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/contents+ru.po b/contents+ru.po
index 4e0c4d97c4..c0d80fc6e4 100644
--- a/contents+ru.po
+++ b/contents+ru.po
@@ -599,7 +599,7 @@ msgstr "Проверьте наши ресурсы"
 #: https//community.torproject.org/training/
 #: (content/training/contents+en.lrpage.body)
 msgid "## We want to teach the world about Tor. Can you help?"
-msgstr "## Мы хотим рассказать миру о Tor. Можете 
ли вы помочь?"
+msgstr "## Мы рассказываем миру о Tor. Поможете 
нам?"
 
 #: https//community.torproject.org/training/
 #: (content/training/contents+en.lrpage.body)
@@ -607,8 +607,9 @@ msgid ""
 "Are you a Tor trainer or interested in becoming one? Looking for resources "
 "to help your community learn the most about Tor? We've got you covered."
 msgstr ""
-"Вы являетесь инструктором Tor или хотите им 
стать? Ищете ресурсы, которые "
-"помогут вашему сообществу узнать о Tor как 
можно больше? Мы поможем вам."
+"Вы обучаете людей пользованию Tor? Хотите 
этим заняться? Ищете ресурсы, "
+"которые помогут вашему сообществу узнать 
о Tor как можно больше? "
+"Присоединяйтесь!"
 
 #: https//community.torproject.org/training/
 #: (content/training/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/support-portal] new staging, ref: tpo/community/l10n#40049

2022-01-31 Thread emmapeel
commit 3a4fda302c9f0b0ebb0893aca5edbb1e53670c15
Author: emma peel 
Date:   Mon Jan 31 16:26:07 2022 +

new staging, ref: tpo/community/l10n#40049
---
 .gitlab-ci.yml | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 10ea31cf4d..9f23ae5a53 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,8 @@
-variables:  
-  TRANSLATION_BRANCH : "support-portal"   
-
-include:
-  project: tpo/community/l10n
-  file: ci-templates/lektor-with-more-langs.yml
+variables:
+  TRANSLATION_BRANCH : "support-portal"
+  LEKTOR_PROJECT: tpo/web/support
+
+include:
+  - project: tpo/tpa/ci-templates
+file: lektor-l10n-staging-trigger.yml
+

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


[tor-commits] [translation/communitytpo-contentspot] new translations in communitytpo-contentspot

2022-01-31 Thread translation
commit 69e28e64249334899a4e9a0a1296191e9bca
Author: Translation commit bot 
Date:   Mon Jan 31 13:15:11 2022 +

new translations in communitytpo-contentspot
---
 contents+zh-TW.po | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/contents+zh-TW.po b/contents+zh-TW.po
index 25ed5d53e4..5b88df680f 100644
--- a/contents+zh-TW.po
+++ b/contents+zh-TW.po
@@ -2942,7 +2942,7 @@ msgstr "追蹤與監控無所不在。"
 msgid ""
 "We think privacy should be the default online, and that's what our software "
 "provides."
-msgstr "我們深信網路應該é 
è¨­å°±æ˜¯è¦å°Šé‡éš±ç§çš„,這且是我們的軟體所要提供給大家的。"
+msgstr "我們深信網路應該é 
è¨­å°±æ˜¯è¦å°Šé‡éš±ç§çš„,這也是我們的軟體所要提供給大家的。"
 
 #: (dynamic)
 msgid "Privacy isn't about having something to hide."
@@ -3096,28 +3096,30 @@ msgid ""
 " and [Social "
 
"Contract](https://gitweb.torproject.org/community/policies.git/tree/social_contract.txt)."
 msgstr ""
+"- "
+"符合洋蔥路由的[行為準則](https://gitweb.torproject.org/community/policies.git/tree/code_of_conduct.txt)、[價值宣言](https://gitweb.torproject.org/community/policies.git/tree/statement_of_values.txt)以及[社會契約](https://gitweb.torproject.org/community/policies.git/tree/social_contract.txt)。"
 
 #: https//community.torproject.org/training/best-practices/
 #: (content/training/best-practices/contents+en.lrpage.cta)
 msgid "Best Practices for Trainers"
-msgstr ""
+msgstr "教育訓練講師的最佳實務作法"
 
 #: https//community.torproject.org/training/best-practices/
 #: (content/training/best-practices/contents+en.lrpage.body)
 msgid ""
 "Running security training is a fun and rewarding way to help your community "
 "conduct human rights work safely."
-msgstr ""
+msgstr "辦理數位安å…
¨æ•™è‚²å°æ–¼ä¿è­·æ‚¨çš„在地社群裡的人權推動來說,是很有趣且也很有效的方式。"
 
 #: https//community.torproject.org/training/best-practices/
 #: (content/training/best-practices/contents+en.lrpage.body)
 msgid "## Before the training"
-msgstr ""
+msgstr "## 訓練開始之前"
 
 #: https//community.torproject.org/training/best-practices/
 #: (content/training/best-practices/contents+en.lrpage.body)
 msgid "_Am I the right person to give this training?_"
-msgstr ""
+msgstr "_我是否適合擔任這場訓練課程的講師?_"
 
 #: https//community.torproject.org/training/best-practices/
 #: (content/training/best-practices/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] new translations in communitytpo-contentspot

2022-01-31 Thread translation
commit ec8b972bd1712de650ceb9d5a356087ed7801975
Author: Translation commit bot 
Date:   Mon Jan 31 12:45:10 2022 +

new translations in communitytpo-contentspot
---
 contents+zh-TW.po | 59 +--
 1 file changed, 31 insertions(+), 28 deletions(-)

diff --git a/contents+zh-TW.po b/contents+zh-TW.po
index 570dcdadd1..25ed5d53e4 100644
--- a/contents+zh-TW.po
+++ b/contents+zh-TW.po
@@ -2916,68 +2916,70 @@ msgid ""
 " to the [Tor Community Team](https://lists.torproject.org/cgi-;
 "bin/mailman/listinfo/tor-community-team) mailing list."
 msgstr ""
+"活動結束後,記得將場地清潔還原,並撤掉張貼的海å 
±æ–‡å®£ï¼Œä¹Ÿè«‹æŠŠæ‚¨çš„活動相關記錄寄送到[洋蔥路由社群發展團隊](https://lists.torproject.org/cgi-;
+"bin/mailman/listinfo/tor-community-team)的郵件通訊清單。"
 
 #: (dynamic)
 msgid ""
 "Word of mouth is critical to reaching new people and helping them protect "
 "themselves online. Here's how you can help:"
-msgstr ""
+msgstr 
"口耳相傳是招募新人的關鍵,可以讓更多了解如何保護自己的網路活動,底下是您可以協助的方式:"
 
 #: (dynamic)
 msgid "Privacy and freedom are human rights."
-msgstr ""
+msgstr "隱私與自由是基本人權。"
 
 #: (dynamic)
 msgid ""
 "These rights are denied online around the world, but Tor gives them back."
-msgstr ""
+msgstr "在現今的å…
¨çƒè³‡è¨Šç¶²ä¸Šï¼Œé€™äº›æ¬Šåˆ©å·²ç¶“被剝奪了,但是洋蔥路由可以幫他們取回這些基本人權。"
 
 #: (dynamic)
 msgid "Tracking and surveillance are widespread."
-msgstr ""
+msgstr "追蹤與監控無所不在。"
 
 #: (dynamic)
 msgid ""
 "We think privacy should be the default online, and that's what our software "
 "provides."
-msgstr ""
+msgstr "我們深信網路應該é 
è¨­å°±æ˜¯è¦å°Šé‡éš±ç§çš„,這且是我們的軟體所要提供給大家的。"
 
 #: (dynamic)
 msgid "Privacy isn't about having something to hide."
-msgstr ""
+msgstr "捍衛隱私並不代表是有什麼見不得人的事情要隱藏,"
 
 #: (dynamic)
 msgid ""
 "Privacy is about protecting who we are as human beings: our fears, our "
 "relationships, and our vulnerabilities."
-msgstr ""
+msgstr "隱私是要保護身為人類的本質,包
括我們的恐懼、我們的人際關係以及我們的弱點,"
 
 #: (dynamic)
 msgid "People shouldn't be exploited for using the internet."
-msgstr ""
+msgstr "人們不應該為了使用網路而被剝奪這項權利。"
 
 #: (dynamic)
 msgid ""
 "Trackers are harvesting our every move, but a safer internet is possible."
-msgstr ""
+msgstr "網路上的追蹤者
正在收集與監控我們的一舉一動,然而要營造更安å…
¨çš„網路環境仍是有可能的。"
 
 #: (dynamic)
 msgid ""
 "Tor software is developed by the Tor Project, a 501(c)(3) nonprofit "
 "organization."
-msgstr ""
+msgstr 
"洋蔥路由軟體是由洋蔥路由專案計畫所開發維護的,是依據美國501(c)(3)所設立的非營利事業機構。"
 
 #: (dynamic)
 msgid "We build free and open source software anyone can use."
-msgstr ""
+msgstr "我們開發與維護任何人都能使用的開源與自由軟體,"
 
 #: (dynamic)
 msgid "Tor software is used by millions of people around the world."
-msgstr ""
+msgstr "全世界有上百萬的人都在使用洋蔥路由軟體,"
 
 #: (dynamic)
 msgid "Journalists, activists, and everyday internet users rely on Tor."
-msgstr ""
+msgstr "其中包括媒體記者、社運人士以及普通的網路使用者
。"
 
 #: (dynamic)
 msgid "Contributors to this page:"
@@ -2986,7 +2988,7 @@ msgstr "此頁面的貢獻者:"
 #: https//community.torproject.org/outreach/kit/
 #: (content/outreach/kit/contents+en.lrpage.body)
 msgid "## Street Team Kit"
-msgstr ""
+msgstr "## 街頭團隊包"
 
 #: https//community.torproject.org/training/resources/
 #: (content/training/resources/contents+en.lrpage.section)
@@ -2997,12 +2999,12 @@ msgstr ""
 #: https//community.torproject.org/training/risks/
 #: (content/training/risks/contents+en.lrpage.section)
 msgid "training"
-msgstr ""
+msgstr "教育訓練"
 
 #: https//community.torproject.org/training/resources/
 #: (content/training/resources/contents+en.lrpage.cta)
 msgid "Check out our resources"
-msgstr ""
+msgstr "查看我們提供的資源"
 
 #: https//community.torproject.org/training/resources/
 #: (content/training/resources/contents+en.lrpage.body)
@@ -3010,7 +3012,7 @@ msgid ""
 "Our Community team delivers digital security training about Tor to human "
 "rights defenders, journalists, activists and marginalized communities around"
 " the world."
-msgstr ""
+msgstr 
"我們的社群發展團隊有提供一系列的教育訓練課程,針對媒體記è€
…、社運人士、弱勢族群等對象,其議題包
括洋蔥路由、數位安全、人權捍衛宣導等。"
 
 #: https//community.torproject.org/training/resources/
 #: 

[tor-commits] [translation/communitytpo-contentspot] new translations in communitytpo-contentspot

2022-01-31 Thread translation
commit 9bb3744a0f0dc390564a487cf43699a23dcddaf7
Author: Translation commit bot 
Date:   Mon Jan 31 12:15:10 2022 +

new translations in communitytpo-contentspot
---
 contents+zh-TW.po | 49 +
 1 file changed, 25 insertions(+), 24 deletions(-)

diff --git a/contents+zh-TW.po b/contents+zh-TW.po
index 352ece77e9..570dcdadd1 100644
--- a/contents+zh-TW.po
+++ b/contents+zh-TW.po
@@ -2756,26 +2756,26 @@ msgstr "### 中繼資料的混淆與清除"
 msgid ""
 "When you use the Tor network to browse the web you are not sending any "
 "information by default of who you are or where you are connecting from."
-msgstr ""
+msgstr "當您透過洋蔥路由網路來瀏覽網頁時,預設狀æ…
‹ä¸‹æ‚¨çš„é›»è…
¦æ˜¯ä¸æœƒç™¼é€ä»»ä½•æœ‰é—œæ–¼æ‚¨çš„個人資訊,也不會揭露您的所在位置。"
 
 #: https//community.torproject.org/onion-services/talk/
 #: (content/onion-services/talk/contents+en.lrpage.body)
 msgid ""
 "The Onion Services use the Tor network to eliminate information about where "
 "they are situated."
-msgstr ""
+msgstr "而洋蔥服務則是藉由洋蔥路由網路來清
除掉有關網站所在地的相關資訊,"
 
 #: https//community.torproject.org/onion-services/talk/
 #: (content/onion-services/talk/contents+en.lrpage.body)
 msgid ""
 "Using them eliminates all metadata that may be associated with the service "
 "otherwise."
-msgstr ""
+msgstr "和普通的網路連線方式相較之下,這項科技能夠清
除掉任何可以與該網站服務產生關聯的中繼資料。"
 
 #: https//community.torproject.org/onion-services/talk/
 #: (content/onion-services/talk/contents+en.lrpage.body)
 msgid "### One onion a day keeps the surveillance away"
-msgstr ""
+msgstr "### 一天一洋蔥,監控遠離我"
 
 #: https//community.torproject.org/onion-services/talk/
 #: (content/onion-services/talk/contents+en.lrpage.body)
@@ -2784,6 +2784,7 @@ msgid ""
 " an [onion site](../setup/) and read about the [protocol "
 "overview](../overview/)."
 msgstr ""
+"現在您已經了解洋蔥服務的優勢,或許可以考æ…
®æž¶è¨­ä¸€å€‹[洋蔥站臺](../setup/),也可以參閱[通訊協定概覽](../overview/)以取得更多資訊。"
 
 #: https//community.torproject.org/onion-services/advanced/
 #: (content/onion-services/advanced/contents+en.lrpage.body)
@@ -2791,7 +2792,7 @@ msgid ""
 "In this section you will find how to configure your onion service to enable "
 "client authorization, Onion-Location and tips to make your onion service "
 "more secure."
-msgstr ""
+msgstr "在這個章
節裡,會教您如何在您的洋蔥服務上啟用客戶端驗證機制和Onion-Location表é
 ­ï¼Œä»¥åŠå¯ä»¥æ›´é€²ä¸€æ­¥å¼·åŒ–洋蔥服務安全性的建議。"
 
 #: https//community.torproject.org/outreach/meetup/
 #: (content/outreach/meetup/contents+en.lrpage.section)
@@ -2800,113 +2801,113 @@ msgstr ""
 #: https//community.torproject.org/outreach/kit/
 #: (content/outreach/kit/contents+en.lrpage.section)
 msgid "outreach"
-msgstr ""
+msgstr "推廣"
 
 #: https//community.torproject.org/outreach/meetup/
 #: (content/outreach/meetup/contents+en.lrpage.body)
 msgid ""
 "Organized by the community, meetups are a great way to find and strengthen "
 "the privacy supporters community in your local area."
-msgstr ""
+msgstr 
"由社群發起的聚會活動,是尋找與強化您的在地社群裡認同隱私倡議è€
…的好方式。"
 
 #: https//community.torproject.org/outreach/meetup/
 #: (content/outreach/meetup/contents+en.lrpage.body)
 msgid "### Step 1"
-msgstr ""
+msgstr "### 第1步"
 
 #: https//community.torproject.org/outreach/meetup/
 #: (content/outreach/meetup/contents+en.lrpage.body)
 msgid ""
 "Connect with a local space that will allow you to meet for an hour or two."
-msgstr ""
+msgstr "與您當地的公共場館聯繫,預約申請一到å…
©å€‹å°æ™‚的使用時段,"
 
 #: https//community.torproject.org/outreach/meetup/
 #: (content/outreach/meetup/contents+en.lrpage.body)
 msgid ""
 "A public library, a social center, a hackerspace or a room in a university "
 "are some spaces that you can usually host your event."
-msgstr ""
+msgstr "像是公å…
±åœ–書館、社區活動中心、駭客工坊或是社區大學裡的講演廳等,都是舉辦這類活動的好地方。"
 
 #: https//community.torproject.org/outreach/meetup/
 #: (content/outreach/meetup/contents+en.lrpage.body)
 msgid "### Step 2"
-msgstr ""
+msgstr "### 第2步"
 
 #: https//community.torproject.org/outreach/meetup/
 #: (content/outreach/meetup/contents+en.lrpage.body)
 msgid ""
 "Choose a date and time that is convenient for your group and the local "
 "space."
-msgstr ""
+msgstr "選定一個您在地社群團體與å 
´åœ°çš†æœ‰ç©ºæª”的日期與時段,"
 
 #: https//community.torproject.org/outreach/meetup/
 #: (content/outreach/meetup/contents+en.lrpage.body)
 msgid ""
 "On weekends or during week days, after working hours (7 pm) might be better."
-msgstr 

[tor-commits] [snowflake/main] Use log instead of fmt in proxy event logger

2022-01-31 Thread shelikhoo
commit e828b0607662c7325f4d1bbf4c5072ce81f38fb9
Author: Shelikhoo 
Date:   Fri Jan 28 14:46:45 2022 +

Use log instead of fmt in proxy event logger

See also:

https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/72#note_2772839
---
 proxy/lib/pt_event_logger.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/proxy/lib/pt_event_logger.go b/proxy/lib/pt_event_logger.go
index f6552c8..b0dbf60 100644
--- a/proxy/lib/pt_event_logger.go
+++ b/proxy/lib/pt_event_logger.go
@@ -1,8 +1,8 @@
 package snowflake_proxy
 
 import (
-   "fmt"
"git.torproject.org/pluggable-transports/snowflake.git/v2/common/task"
+   "log"
"time"
 
"git.torproject.org/pluggable-transports/snowflake.git/v2/common/event"
@@ -36,7 +36,7 @@ func (p *logEventLogger) OnNewSnowflakeEvent(e 
event.SnowflakeEvent) {
 func (p *logEventLogger) logTick() error {
inbound, inboundUnit := formatTraffic(p.inboundSum)
outbound, outboundUnit := formatTraffic(p.inboundSum)
-   fmt.Printf("In the last %v, there are %v connections. Traffic Relayed 
↑ %v %v, ↓ %v %v.\n",
+   log.Printf("In the last %v, there are %v connections. Traffic Relayed 
↑ %v %v, ↓ %v %v.\n",
p.logPeriod.String(), p.connectionCount, inbound, inboundUnit, 
outbound, outboundUnit)
p.outboundSum = 0
p.inboundSum = 0

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


[tor-commits] [snowflake/main] Fix ProxyEventLogger output

2022-01-31 Thread shelikhoo
commit eb229d512b3b1015e28dfcb744000b66a66e648a
Author: Shelikhoo 
Date:   Mon Dec 20 16:27:12 2021 +

Fix ProxyEventLogger output
---
 proxy/lib/pt_event_logger.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/proxy/lib/pt_event_logger.go b/proxy/lib/pt_event_logger.go
index 6c4f4e9..f6552c8 100644
--- a/proxy/lib/pt_event_logger.go
+++ b/proxy/lib/pt_event_logger.go
@@ -36,7 +36,7 @@ func (p *logEventLogger) OnNewSnowflakeEvent(e 
event.SnowflakeEvent) {
 func (p *logEventLogger) logTick() error {
inbound, inboundUnit := formatTraffic(p.inboundSum)
outbound, outboundUnit := formatTraffic(p.inboundSum)
-   fmt.Printf("In the last %v, there are %v connections. Traffic Relaied 
↑ %v %v, ↓ %v %v.\n",
+   fmt.Printf("In the last %v, there are %v connections. Traffic Relayed 
↑ %v %v, ↓ %v %v.\n",
p.logPeriod.String(), p.connectionCount, inbound, inboundUnit, 
outbound, outboundUnit)
p.outboundSum = 0
p.inboundSum = 0



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


[tor-commits] [snowflake/main] Add Proxy Event Logger

2022-01-31 Thread shelikhoo
commit 1116bc81c86580316e13b07ecd8d7f0a3ac5ffd5
Author: Shelikhoo 
Date:   Mon Dec 20 15:42:16 2021 +

Add Proxy Event Logger
---
 proxy/lib/pt_event_logger.go | 49 
 proxy/main.go| 10 +
 2 files changed, 59 insertions(+)

diff --git a/proxy/lib/pt_event_logger.go b/proxy/lib/pt_event_logger.go
new file mode 100644
index 000..5804614
--- /dev/null
+++ b/proxy/lib/pt_event_logger.go
@@ -0,0 +1,49 @@
+package snowflake_proxy
+
+import (
+   "fmt"
+   "git.torproject.org/pluggable-transports/snowflake.git/v2/common/task"
+   "time"
+
+   "git.torproject.org/pluggable-transports/snowflake.git/v2/common/event"
+)
+
+func NewProxyEventLogger(logPeriod time.Duration) event.SnowflakeEventReceiver 
{
+   el := {}
+   el.task = {Interval: logPeriod, Execute: el.logTick}
+   el.task.Start()
+   return el
+}
+
+type logEventLogger struct {
+   inboundSum  int
+   outboundSum int
+   connectionCount int
+   logPeriod   time.Duration
+   task*task.Periodic
+}
+
+func (p *logEventLogger) OnNewSnowflakeEvent(e event.SnowflakeEvent) {
+   switch e.(type) {
+   case event.EventOnProxyConnectionOver:
+   e := e.(event.EventOnProxyConnectionOver)
+   p.inboundSum += e.InboundTraffic
+   p.outboundSum += e.OutboundTraffic
+   p.connectionCount += 1
+   }
+}
+
+func (p *logEventLogger) logTick() error {
+   inbound, inboundUnit := formatTraffic(p.inboundSum)
+   outbound, outboundUnit := formatTraffic(p.inboundSum)
+   fmt.Printf("In the last %v, there are %v connections. Traffic Relaied 
↑ %v %v, ↓ %v %v.",
+   p.logPeriod.String(), p.connectionCount, inbound, inboundUnit, 
outbound, outboundUnit)
+   p.outboundSum = 0
+   p.inboundSum = 0
+   p.connectionCount = 0
+   return nil
+}
+
+func (p *logEventLogger) Close() error {
+   return p.task.Close()
+}
diff --git a/proxy/main.go b/proxy/main.go
index b85dde0..de31913 100644
--- a/proxy/main.go
+++ b/proxy/main.go
@@ -2,6 +2,7 @@ package main
 
 import (
"flag"
+   "git.torproject.org/pluggable-transports/snowflake.git/v2/common/event"
"io"
"log"
"os"
@@ -21,9 +22,17 @@ func main() {
relayURL := flag.String("relay", sf.DefaultRelayURL, "websocket relay 
URL")
NATTypeMeasurementInterval := flag.Duration("nat-retest-interval", 
time.Hour*24,
"the time interval in second before NAT type is retested, 0s 
disables retest. Valid time units are \"s\", \"m\", \"h\". ")
+   SummaryInterval := flag.Duration("summary-interval", time.Hour,
+   "the time interval to output summary, 0s disables retest. Valid 
time units are \"s\", \"m\", \"h\". ")
 
flag.Parse()
 
+   periodicEventLogger := sf.NewProxyEventLogger(*SummaryInterval)
+
+   eventLogger := event.NewSnowflakeEventDispatcher()
+
+   eventLogger.AddSnowflakeEventListener(periodicEventLogger)
+
proxy := sf.SnowflakeProxy{
Capacity:   uint(*capacity),
STUNURL:*stunURL,
@@ -32,6 +41,7 @@ func main() {
RelayURL:   *relayURL,
 
NATTypeMeasurementInterval: *NATTypeMeasurementInterval,
+   EventDispatcher:eventLogger,
}
 
var logOutput io.Writer = os.Stderr



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


[tor-commits] [snowflake/main] Fix build break in Go 1.16 for missing import

2022-01-31 Thread shelikhoo
commit bf3bd635f71fd5faae1ebaa05d5987cfa464b30b
Author: Shelikhoo 
Date:   Wed Jan 26 13:39:12 2022 +

Fix build break in Go 1.16 for missing import

See also:
https://gitlab.torproject.org/shelikhoo/snowflake/-/jobs/86751
---
 go.mod | 1 +
 1 file changed, 1 insertion(+)

diff --git a/go.mod b/go.mod
index e8038f1..03541eb 100644
--- a/go.mod
+++ b/go.mod
@@ -15,6 +15,7 @@ require (
github.com/prometheus/client_golang v1.10.0
github.com/prometheus/client_model v0.2.0
github.com/smartystreets/goconvey v1.6.4
+   github.com/stretchr/testify v1.7.0 // indirect
github.com/xtaci/kcp-go/v5 v5.6.1
github.com/xtaci/smux v1.5.15
gitlab.torproject.org/tpo/anti-censorship/geoip 
v0.0.0-20210928150955-7ce4b3d98d01



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


[tor-commits] [snowflake/main] Fix ProxyEventLogger output

2022-01-31 Thread shelikhoo
commit 88af9da4a25c26169cadaee9256ce7539db17b19
Author: Shelikhoo 
Date:   Mon Dec 20 16:22:55 2021 +

Fix ProxyEventLogger output
---
 proxy/lib/pt_event_logger.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/proxy/lib/pt_event_logger.go b/proxy/lib/pt_event_logger.go
index 5804614..6c4f4e9 100644
--- a/proxy/lib/pt_event_logger.go
+++ b/proxy/lib/pt_event_logger.go
@@ -9,7 +9,7 @@ import (
 )
 
 func NewProxyEventLogger(logPeriod time.Duration) event.SnowflakeEventReceiver 
{
-   el := {}
+   el := {logPeriod: logPeriod}
el.task = {Interval: logPeriod, Execute: el.logTick}
el.task.Start()
return el
@@ -36,7 +36,7 @@ func (p *logEventLogger) OnNewSnowflakeEvent(e 
event.SnowflakeEvent) {
 func (p *logEventLogger) logTick() error {
inbound, inboundUnit := formatTraffic(p.inboundSum)
outbound, outboundUnit := formatTraffic(p.inboundSum)
-   fmt.Printf("In the last %v, there are %v connections. Traffic Relaied 
↑ %v %v, ↓ %v %v.",
+   fmt.Printf("In the last %v, there are %v connections. Traffic Relaied 
↑ %v %v, ↓ %v %v.\n",
p.logPeriod.String(), p.connectionCount, inbound, inboundUnit, 
outbound, outboundUnit)
p.outboundSum = 0
p.inboundSum = 0



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


[tor-commits] [snowflake/main] Extract traffic formatter

2022-01-31 Thread shelikhoo
commit 9208364475bddb186cb9d6fba6508a420ba1734d
Author: Shelikhoo 
Date:   Mon Dec 20 14:46:18 2021 +

Extract traffic formatter
---
 proxy/lib/util.go | 34 +-
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/proxy/lib/util.go b/proxy/lib/util.go
index a9ac8aa..c7b3684 100644
--- a/proxy/lib/util.go
+++ b/proxy/lib/util.go
@@ -72,28 +72,28 @@ func (b *bytesSyncLogger) AddInbound(amount int) {
 
 // ThroughputSummary view a formatted summary of the throughput totals
 func (b *bytesSyncLogger) ThroughputSummary() string {
-   var inUnit, outUnit string
-   units := []string{"B", "KB", "MB", "GB"}
-
inbound := b.inbound
outbound := b.outbound
 
-   for i, u := range units {
-   inUnit = u
-   if (inbound < 1000) || (i == len(units)-1) {
-   break
-   }
-   inbound = inbound / 1000
-   }
-   for i, u := range units {
-   outUnit = u
-   if (outbound < 1000) || (i == len(units)-1) {
-   break
-   }
-   outbound = outbound / 1000
-   }
+   inbound, inUnit := formatTraffic(inbound)
+   outbound, outUnit := formatTraffic(outbound)
+
t := time.Now()
return fmt.Sprintf("Traffic throughput (up|down): %d %s|%d %s -- (%d 
OnMessages, %d Sends, over %d seconds)", inbound, inUnit, outbound, outUnit, 
b.outEvents, b.inEvents, int(t.Sub(b.start).Seconds()))
 }
 
 func (b *bytesSyncLogger) GetStat() (in int, out int) { return b.inbound, 
b.outbound }
+
+func formatTraffic(amount int) (value int, unit string) {
+   value = amount
+   units := []string{"B", "KB", "MB", "GB"}
+   for i, u := range units {
+   unit = u
+   if (value < 1000) || (i == len(units)-1) {
+   break
+   }
+   value = value / 1000
+   }
+   return
+
+}



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


[tor-commits] [snowflake/main] Add proxy event logger state propagate

2022-01-31 Thread shelikhoo
commit f12cfe6a9f682c479314440ac9d53389cb38a54f
Author: Shelikhoo 
Date:   Mon Dec 20 13:45:53 2021 +

Add proxy event logger state propagate
---
 proxy/lib/snowflake.go | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/proxy/lib/snowflake.go b/proxy/lib/snowflake.go
index cef5644..8747f66 100644
--- a/proxy/lib/snowflake.go
+++ b/proxy/lib/snowflake.go
@@ -115,6 +115,7 @@ type SnowflakeProxy struct {
NATProbeURL string
// NATTypeMeasurementInterval is time before NAT type is retested
NATTypeMeasurementInterval time.Duration
+   EventDispatcherevent.SnowflakeEventDispatcher
shutdown   chan struct{}
 }
 
@@ -340,7 +341,7 @@ func (sf *SnowflakeProxy) makePeerConnectionFromOffer(sdp 
*webrtc.SessionDescrip
close(dataChan)
 
pr, pw := io.Pipe()
-   conn := {pc: pc, dc: dc, pr: pr}
+   conn := {pc: pc, dc: dc, pr: pr, eventLogger: 
sf.EventDispatcher}
conn.bytesLogger = newBytesSyncLogger()
 
dc.OnOpen(func() {
@@ -524,6 +525,9 @@ func (sf *SnowflakeProxy) Start() error {
if sf.NATProbeURL == "" {
sf.NATProbeURL = DefaultNATProbeURL
}
+   if sf.EventDispatcher == nil {
+   sf.EventDispatcher = event.NewSnowflakeEventDispatcher()
+   }
 
broker, err = newSignalingServer(sf.BrokerURL, sf.KeepLocalAddresses)
if err != nil {



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


[tor-commits] [snowflake/main] Add EventOnProxyConnectionOver Event

2022-01-31 Thread shelikhoo
commit d64af3139496481436f8870f4f43f43dca0d4552
Author: Shelikhoo 
Date:   Mon Dec 20 13:23:33 2021 +

Add EventOnProxyConnectionOver Event
---
 common/event/interface.go | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/common/event/interface.go b/common/event/interface.go
index 697f2b7..b41d7c3 100644
--- a/common/event/interface.go
+++ b/common/event/interface.go
@@ -28,6 +28,12 @@ type EventOnSnowflakeConnectionFailed struct {
Error error
 }
 
+type EventOnProxyConnectionOver struct {
+   SnowflakeEvent
+   InboundTraffic  int
+   OutboundTraffic int
+}
+
 type SnowflakeEventReceiver interface {
// OnNewSnowflakeEvent notify receiver about a new event
// This method MUST not block



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


[tor-commits] [snowflake/main] Add EventOnProxyConnectionOver Reporting

2022-01-31 Thread shelikhoo
commit e4305a4d2b01f248f70546f745f64b3373f84a2e
Author: Shelikhoo 
Date:   Mon Dec 20 13:36:22 2021 +

Add EventOnProxyConnectionOver Reporting
---
 proxy/lib/snowflake.go  | 6 ++
 proxy/lib/webrtcconn.go | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/proxy/lib/snowflake.go b/proxy/lib/snowflake.go
index a9ac399..cef5644 100644
--- a/proxy/lib/snowflake.go
+++ b/proxy/lib/snowflake.go
@@ -40,6 +40,7 @@ import (
"sync"
"time"
 
+   "git.torproject.org/pluggable-transports/snowflake.git/v2/common/event"

"git.torproject.org/pluggable-transports/snowflake.git/v2/common/messages"
"git.torproject.org/pluggable-transports/snowflake.git/v2/common/task"
"git.torproject.org/pluggable-transports/snowflake.git/v2/common/util"
@@ -350,6 +351,11 @@ func (sf *SnowflakeProxy) makePeerConnectionFromOffer(sdp 
*webrtc.SessionDescrip
defer conn.lock.Unlock()
log.Println("OnClose channel")
log.Println(conn.bytesLogger.ThroughputSummary())
+   in, out := conn.bytesLogger.GetStat()
+   
conn.eventLogger.OnNewSnowflakeEvent(event.EventOnProxyConnectionOver{
+   InboundTraffic:  in,
+   OutboundTraffic: out,
+   })
conn.dc = nil
dc.Close()
pw.Close()
diff --git a/proxy/lib/webrtcconn.go b/proxy/lib/webrtcconn.go
index 6e16bec..919a679 100644
--- a/proxy/lib/webrtcconn.go
+++ b/proxy/lib/webrtcconn.go
@@ -9,6 +9,7 @@ import (
"sync"
"time"
 
+   "git.torproject.org/pluggable-transports/snowflake.git/v2/common/event"
"github.com/pion/ice/v2"
"github.com/pion/sdp/v3"
"github.com/pion/webrtc/v3"
@@ -30,6 +31,7 @@ type webRTCConn struct {
once sync.Once  // Synchronization for PeerConnection destruction
 
bytesLogger bytesLogger
+   eventLogger event.SnowflakeEventReceiver
 }
 
 func (c *webRTCConn) Read(b []byte) (int, error) {



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


[tor-commits] [snowflake/main] Add Raw Data Output for bytesLogger

2022-01-31 Thread shelikhoo
commit 91379a42f3c9c36a09c8cfd0769bffed626ffe46
Author: Shelikhoo 
Date:   Mon Dec 20 12:29:23 2021 +

Add Raw Data Output for bytesLogger
---
 proxy/lib/util.go | 5 +
 1 file changed, 5 insertions(+)

diff --git a/proxy/lib/util.go b/proxy/lib/util.go
index 5055187..a9ac8aa 100644
--- a/proxy/lib/util.go
+++ b/proxy/lib/util.go
@@ -11,6 +11,7 @@ type bytesLogger interface {
AddOutbound(int)
AddInbound(int)
ThroughputSummary() string
+   GetStat() (in int, out int)
 }
 
 // bytesNullLogger Default bytesLogger does nothing.
@@ -25,6 +26,8 @@ func (b bytesNullLogger) AddInbound(amount int) {}
 // ThroughputSummary in bytesNullLogger does nothing
 func (b bytesNullLogger) ThroughputSummary() string { return "" }
 
+func (b bytesNullLogger) GetStat() (in int, out int) { return -1, -1 }
+
 // bytesSyncLogger uses channels to safely log from multiple sources with 
output
 // occuring at reasonable intervals.
 type bytesSyncLogger struct {
@@ -92,3 +95,5 @@ func (b *bytesSyncLogger) ThroughputSummary() string {
t := time.Now()
return fmt.Sprintf("Traffic throughput (up|down): %d %s|%d %s -- (%d 
OnMessages, %d Sends, over %d seconds)", inbound, inUnit, outbound, outUnit, 
b.outEvents, b.inEvents, int(t.Sub(b.start).Seconds()))
 }
+
+func (b *bytesSyncLogger) GetStat() (in int, out int) { return b.inbound, 
b.outbound }



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


[tor-commits] [translation/communitytpo-contentspot] new translations in communitytpo-contentspot

2022-01-31 Thread translation
commit 0bce465d064babc795d58a56f3bb54e5502b2290
Author: Translation commit bot 
Date:   Mon Jan 31 11:45:09 2022 +

new translations in communitytpo-contentspot
---
 contents+zh-TW.po | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/contents+zh-TW.po b/contents+zh-TW.po
index 62d8126dda..352ece77e9 100644
--- a/contents+zh-TW.po
+++ b/contents+zh-TW.po
@@ -2718,14 +2718,14 @@ msgstr "因此不會有任何中央伺服器被攻擊者
入侵的可能性。"
 #: https//community.torproject.org/onion-services/talk/
 #: (content/onion-services/talk/contents+en.lrpage.body)
 msgid "### Educate users about privacy by design"
-msgstr ""
+msgstr "### 教導使用者有關由設計出發的隱私觀念"
 
 #: https//community.torproject.org/onion-services/talk/
 #: (content/onion-services/talk/contents+en.lrpage.body)
 msgid ""
 "Onion services are an excellent example of privacy by design technology, "
 "where one is secure and anonymous by default."
-msgstr ""
+msgstr "洋蔥服務是以隱私為設計出發的科技å…
¸ç¯„,可以同時確保安全性與匿名性,"
 
 #: https//community.torproject.org/onion-services/talk/
 #: (content/onion-services/talk/contents+en.lrpage.body)
@@ -2734,6 +2734,7 @@ msgid ""
 "educate the general public about Tor and how a more secure way to access the"
 " internet looks like: easy as browsing a web page."
 msgstr ""
+"透過洋蔥服務來提供您的網路服務是一個教育廣大群眾的好機會,可以讓大眾有機會了解洋蔥路由技術,也讓他們知道還有這種更安å
…¨çš„方式可以上網,而且就跟瀏覽普通網頁一樣簡單。"
 
 #: https//community.torproject.org/onion-services/talk/
 #: (content/onion-services/talk/contents+en.lrpage.body)
@@ -2742,11 +2743,13 @@ msgid ""
 "[#MoreOnionsPorFavor](https://blog.torproject.org/more-onions-porfavor) and "
 "teach others about the importance of anonymity."
 msgstr ""
+"可以藉由我們的[#MoreOnionsPorFavor](https://blog.torproject.org/more-onions-;
+"porfavor)活動來獲得更多啟發,並且讓更多人了解匿名的重要性。"
 
 #: https//community.torproject.org/onion-services/talk/
 #: (content/onion-services/talk/contents+en.lrpage.body)
 msgid "### Metadata obfuscation or elimination"
-msgstr ""
+msgstr "### 中繼資料的混淆與清除"
 
 #: https//community.torproject.org/onion-services/talk/
 #: (content/onion-services/talk/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/support-portal] new translations in support-portal

2022-01-31 Thread translation
commit 93318486aa2df2a4919191e4049a983d3cb79092
Author: Translation commit bot 
Date:   Mon Jan 31 09:17:33 2022 +

new translations in support-portal
---
 contents+id.po | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/contents+id.po b/contents+id.po
index 3e0cc87405..e8858f82d6 100644
--- a/contents+id.po
+++ b/contents+id.po
@@ -15,8 +15,8 @@
 # Sidiq Pangestu , 2022
 # Emma Peel, 2022
 # hadymaggot <9...@tuta.io>, 2022
-# Dewie Ang, 2022
 # I Putu Cahya Adi Ganesha, 2022
+# Dewie Ang, 2022
 # 
 msgid ""
 msgstr ""
@@ -24,7 +24,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-10-30 12:55+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
-"Last-Translator: I Putu Cahya Adi Ganesha, 2022\n"
+"Last-Translator: Dewie Ang, 2022\n"
 "Language-Team: Indonesian (https://www.transifex.com/otf/teams/1519/id/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -8170,7 +8170,7 @@ msgid ""
 "complete a TLS handshake with the directory authorities."
 msgstr ""
 "Jika Anda melihat baris seperti ini di log Tor Anda, itu berarti Tor gagal "
-"menyelesaikan jabat tangan TLS dengan otoritas direktori."
+"menyelesaikan TLS handshake dengan otoritas direktori."
 
 #: https//support.torproject.org/connecting/connecting-2/
 #: (content/connecting/connecting-2/contents+en.lrquestion.description)

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