The Tor Project issueshttps://gitlab.torproject.org/groups/tpo/-/issues2023-06-08T17:42:47Zhttps://gitlab.torproject.org/tpo/tpa/team/-/issues/41193Redirect pluggable-transports to GitLab2023-06-08T17:42:47Zmeskiomeskio@torproject.orgRedirect pluggable-transports to GitLabI've migrated these repositories:
| gitolite | gitlab | fate |
| ------ | ------ | -----|
| pluggable-transports/httpsproxy.git | tpo/anti-censorship/pluggable-transports/httpsproxy | archive |
| pluggable-transports/obfs4.git | tpo/an...I've migrated these repositories:
| gitolite | gitlab | fate |
| ------ | ------ | -----|
| pluggable-transports/httpsproxy.git | tpo/anti-censorship/pluggable-transports/httpsproxy | archive |
| pluggable-transports/obfs4.git | tpo/anti-censorship/pluggable-transports/lyrebird | migrate |
| pluggable-transports/obfsproxy.git | tpo/anti-censorship/pluggable-transports/obfsproxy | archive |
| pluggable-transports/obfsproxy-legacy.git | tpo/anti-censorship/pluggable-transports/obfsproxy-legacy | archive |
| pluggable-transports/pyptlib.git | tpo/anti-censorship/pluggable-transports/pyptlib | archive |
| pluggable-transports/snowflake.git | tpo/anti-censorship/pluggable-transports/snowflake | migrate |
| pluggable-transports/snowflake-mobile.git | tpo/anti-censorship/pluggable-transports/snowflake-mobile | migrate |
| pluggable-transports/snowflake-webext.git | tpo/anti-censorship/pluggable-transports/snowflake-webext | migrate |
| pluggable-transports/websocket.git | tpo/anti-censorship/pluggable-transports/websocket | archive |legacy Git infrastructure retirement (TPA-RFC-36)anarcatanarcathttps://gitlab.torproject.org/tpo/tpa/team/-/issues/41190Redirect pluggable-transports/{bundle.git,fog.git} to GitLab2023-06-08T17:42:47ZDavid Fifielddcf@torproject.orgRedirect pluggable-transports/{bundle.git,fog.git} to GitLab(Following [migration instructions](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/git?version_id=1f73e6c85b6645782b2348fa368dc278d182bb56#user-part-importing-the-repository-into-gitlab).)
In addition to those in tpo/tpa/team#...(Following [migration instructions](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/git?version_id=1f73e6c85b6645782b2348fa368dc278d182bb56#user-part-importing-the-repository-into-gitlab).)
In addition to those in tpo/tpa/team#41182,
I've also migrated these repositories I am responsible for.
Both of them have been archived.
|gitolite|gitlab|fate|
|---|---|---|
|/pluggable-transports/bundle.git|/tpo/anti-censorship/pt-bundle|archive|
|/pluggable-transports/fog.git|/tpo/anti-censorship/pluggable-transports/fog|archive|legacy Git infrastructure retirement (TPA-RFC-36)anarcatanarcathttps://gitlab.torproject.org/tpo/tpa/team/-/issues/41189Migrating (etc) nickm's gitolite repositories.2023-07-04T13:58:51ZNick MathewsonMigrating (etc) nickm's gitolite repositories.Hello!
I believe that the following should be *archived*:
* `user/nickm/calltool`
* `user/nickm/tor`
* `user/nickm/tor-ideas`
* `user/nickm/tor-roadmaps`
* `user/nickm/torspec`
I believe that all other `user/nickm` repositories s...Hello!
I believe that the following should be *archived*:
* `user/nickm/calltool`
* `user/nickm/tor`
* `user/nickm/tor-ideas`
* `user/nickm/tor-roadmaps`
* `user/nickm/torspec`
I believe that all other `user/nickm` repositories should be destroyed, namely:
```
@ W user/nickm/bridgedb
@ W user/nickm/githax
R W user/nickm/libevent-ideas
@ W user/nickm/trunnel
```legacy Git infrastructure retirement (TPA-RFC-36)anarcatanarcat2023-06-09https://gitlab.torproject.org/tpo/tpa/team/-/issues/41182Redirect goptlib, meek, flashproxy repositories to GitLab2023-06-08T17:42:47ZDavid Fifielddcf@torproject.orgRedirect goptlib, meek, flashproxy repositories to GitLab(Following [migration instructions](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/git?version_id=1f73e6c85b6645782b2348fa368dc278d182bb56#user-part-importing-the-repository-into-gitlab).)
These repositories that I am responsi...(Following [migration instructions](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/git?version_id=1f73e6c85b6645782b2348fa368dc278d182bb56#user-part-importing-the-repository-into-gitlab).)
These repositories that I am responsible for have been moved to GitLab and need redirects.
The flashproxy respository has additionally been "archived" in GitLab.
|gitolite|gitlab|fate|
|---|---|---|
|/pluggable-transports/goptlib.git|/tpo/anti-censorship/pluggable-transports/goptlib|migrate|
|/pluggable-transports/meek.git|/tpo/anti-censorship/pluggable-transports/meek|migrate|
|/flashproxy.git|/tpo/anti-censorship/pluggable-transports|archive|legacy Git infrastructure retirement (TPA-RFC-36)anarcatanarcathttps://gitlab.torproject.org/tpo/tpa/team/-/issues/41181redirect applications team repositories to GitLab2023-06-08T17:42:47Zanarcatredirect applications team repositories to GitLabin 2020, the applications team [announced their gitolite repositories were deprecated](https://lists.torproject.org/pipermail/tor-project/2022-December/003518.html). those are the repositories that need to be redirected by TPA and have a...in 2020, the applications team [announced their gitolite repositories were deprecated](https://lists.torproject.org/pipermail/tor-project/2022-December/003518.html). those are the repositories that need to be redirected by TPA and have already been imported in GitLab:
| gitolite | gitlab | fate |
|----------------------------|--------------------------------------|---------|
| builders/tor-browser-build | tpo/applications/tor-browser-build | migrate |
| builders/rbm | tpo/applications/rbm | migrate |
| tor-android-service | tpo/applications/tor-android-service | migrate |
| tor-browser | tpo/applications/tor-browser/ | migrate |
| tor-browser-spec | tpo/applications/tor-browser-spec | migrate |
| tor-launcher | tpo/applications/tor-launcher | archive |
| torbutton | tpo/applications/torbutton | archive |legacy Git infrastructure retirement (TPA-RFC-36)anarcatanarcathttps://gitlab.torproject.org/tpo/tpa/team/-/issues/41180discuss TPA-RFC-36: gitolite and gitweb migration to GitLab2023-08-23T07:32:26Zanarcatdiscuss TPA-RFC-36: gitolite and gitweb migration to GitLabIn #40472 and gitlab#36, we had lengthy discussions on how we could possibly migrate everything to GitLab already, and came up with a proposal.
Those tickets are very long, however, and basically summarized in the TPA-RFC-36 proposal. T...In #40472 and gitlab#36, we had lengthy discussions on how we could possibly migrate everything to GitLab already, and came up with a proposal.
Those tickets are very long, however, and basically summarized in the TPA-RFC-36 proposal. This is therefore a new ticket aimed at receiving feedback on the proposal.
the full text of the proposal was sent to tor-internal and is also available in here:
https://gitlab.torproject.org/tpo/tpa/team/-/wikis/policy/tpa-rfc-36-gitolite-gitweb-retirement
Summary: Gitolite (`git.torproject.org` and `git-rw.torproject.org`) and
GitWeb (<https://gitweb.torproject.org>) will be fully retired within
9 to 12 months (by the end of Q2 2024). TPA will implement
redirections on the web interfaces to maintain limited backwards
compatibility for the old URLs. Start migrating your repositories now
by following the [migration procedure][].
[migration procedure]: https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/git#how-to-migrate-a-git-repository-from-legacy-to-gitlab
checklist of tasks to be done after this is adopted:
- [x] create issues for each step in the timeline
- [x] update wiki page to reflect the adoptionlegacy Git infrastructure retirement (TPA-RFC-36)anarcatanarcat2023-06-08https://gitlab.torproject.org/tpo/tpa/team/-/issues/40472draft TPA-RFC-36: establish policy on git repository mirroring, hosting and, ...2024-01-10T21:56:45Zanarcatdraft TPA-RFC-36: establish policy on git repository mirroring, hosting and, ultimately migration from gitoliteWe have already started mirroring (gitlab#18, gitlab#35) repositories from gitolite to GitLab. We need to decide how and/or if we will accept such requests in the future, and, in particular, whether we want to host all our git repositori...We have already started mirroring (gitlab#18, gitlab#35) repositories from gitolite to GitLab. We need to decide how and/or if we will accept such requests in the future, and, in particular, whether we want to host all our git repositories on GitLab in the long term.
If so, we need to come up with a migration plan on how the old repositories on gitolite will "map" to the ones in GitLab. This is particularly complicated by the fact that the namespace established on GitLab does not necessarily reflect the one in use on Gitolite, so we are very likely to have to come up with some rewrite rules to handle those redirections.
But at the very least, we need a plan, and we need it fast, because I am worried this migration will happen organically and we will then have to maintain *two* git hosting systems in parallel. This is similar to the problem of "hosting both trac and gitlab in parallel" that we have (succesfully, i think) avoided, but it was a near hit. ;)
TL;DR: this is the current state of the non-official policy:
* gitolite and gitweb will eventually be retired, probably in 2022
* new repositories are created on GitLab
* repositories can be [mirrored between gitolite and GitLab](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/git#mirroring-a-gitolite-repository-to-gitlab)
* repositories ("only small ones") can be [*migrated* to GitLab](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/git#how-to-migrate-a-git-repository-from-legacy-to-gitlab) as well
* an RFC will be written before the final migration is started, and discussed here
By "small ones", I think we meant "not tor browser",
We need to define the following policies:
1. [x] do we keep gitolite around forever? **no**. gitolite and gitweb will be replaced by GitLab eventually.
2. [x] if we do, do we keep the old codebase or upgrade? **N/A**
3. [x] if we do not, when do we retire git-rw (cupani) and gitweb (vineale)? **within 1 or 2 years, that is 2021 or 2022**
4. [x] if we do not, how do we protect our code against the larger attack surface of GitLab? <del>opened gitlab#81 for that discussion</del> this roadblock is removed. it's the responsability of teams to implement commit signing or other integrity measures they need.
5. [x] where do people create new git repositories? gitolite or gitlab? **new repositories are created on gitlab**
6. [x] can people **mirror** their git repositories from gitolite to gitlab? **yes, in a limited way** there are known issues with protected branches (gitlab#38)
7. [x] how do we **mirror** a repo from gitolite to gitlab? **documented**, see [this section](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/git#github-and-gitlab-mirrors)
8. [x] can people **migrate** their git repositories from gitolite to gitlab? **yes, but only small projects right now**, [documented here](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/gitlab/#how-to-migrate-a-git-repository-from-legacy-to-gitlab), missing support for redirection on clone
9. [x] how do we **migrate** a repo from gitolite to gitlab? using the [migration procedure](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/gitlab/#how-to-migrate-a-git-repository-from-legacy-to-gitlab)
10. [x] how do we redirect users from gitolite to gitlab? using the above migration procedure, although there are issues with SSH clones (which don't fire a hook) and HTTP clones need webserver-level redirection
Remaining task list:
* [x] figure out how to do redirections on `git clone`
* [x] figure out gitweb redirection patterns
* [ ] propose a migration plan for retiring the legacy gitolite infrastructure (cupani/git-rw, vineale/gitweb)
Those can be executed in parallel.legacy Git infrastructure retirement (TPA-RFC-36)anarcatanarcathttps://gitlab.torproject.org/tpo/onion-services/onionprobe/-/issues/79Onionprobe 1.2.0 release planning2023-08-04T17:02:08ZSilvio RhattoOnionprobe 1.2.0 release planningPlan the [1.2.0 milestone][].
* [x] Create the [1.2.0 milestone][].
* [x] Add initial set of tasks to the milestone.
* [x] Discuss and update the milestone.
* [x] Cleanup the milestone, removing all issues labelled with ~Icebox.
* [x] S...Plan the [1.2.0 milestone][].
* [x] Create the [1.2.0 milestone][].
* [x] Add initial set of tasks to the milestone.
* [x] Discuss and update the milestone.
* [x] Cleanup the milestone, removing all issues labelled with ~Icebox.
* [x] Set the correct deadlines to issues and update it's deadlines according to the milestone deadline.
[1.2.0 milestone]: https://gitlab.torproject.org/tpo/onion-services/onionprobe/-/milestones/1Onionprobe 1.2.0Silvio RhattoSilvio Rhatto2023-08-07https://gitlab.torproject.org/tpo/onion-services/onionprobe/-/issues/65config and examples installed to unusual locations2023-10-24T12:40:48Zgeorgconfig and examples installed to unusual locationsThe following bug was reported in Debian (-> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1025508):
```
The next upload of dh-python will change the layout of onionprobe's
installed data:
$ debdiff existing/onionprobe_1.0.0+ds-2.1...The following bug was reported in Debian (-> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1025508):
```
The next upload of dh-python will change the layout of onionprobe's
installed data:
$ debdiff existing/onionprobe_1.0.0+ds-2.1_all.deb new/onionprobe_1.0.0+ds-2.1_all.deb
[The following lists of changes regard files as different if they have
different names, permissions or owners.]
Files in second .deb but not in first
-------------------------------------
-rw-r--r-- root/root /usr/onionprobe/configs/real-world-onion-sites.yaml
-rw-r--r-- root/root /usr/onionprobe/configs/securedrop.yaml
-rw-r--r-- root/root /usr/onionprobe/configs/tor.yaml
-rwxr-xr-x root/root /usr/onionprobe/examples/real-world-onion-sites.py
-rwxr-xr-x root/root /usr/onionprobe/examples/securedrop.py
-rwxr-xr-x root/root /usr/onionprobe/examples/tpo.py
Files in first .deb but not in second
-------------------------------------
-rw-r--r-- root/root /usr/lib/python3/dist-packages/onionprobe/configs/real-world-onion-sites.yaml
-rw-r--r-- root/root /usr/lib/python3/dist-packages/onionprobe/configs/securedrop.yaml
-rw-r--r-- root/root /usr/lib/python3/dist-packages/onionprobe/configs/tor.yaml
-rwxr-xr-x root/root /usr/lib/python3/dist-packages/onionprobe/examples/real-world-onion-sites.py
-rwxr-xr-x root/root /usr/lib/python3/dist-packages/onionprobe/examples/securedrop.py
-rwxr-xr-x root/root /usr/lib/python3/dist-packages/onionprobe/examples/tpo.py
Control files: lines which differ (wdiff format)
------------------------------------------------
Installed-Size: [-263-] {+264+}
This is due to the fix for #1025485.
Neither of these looks quite correct. /usr/onionprobe would be against
the FHS.
If the package expects to find configs and examples within its module,
then this change will break it, and you'll probably need to patch the
setup.cfg or manually move the files around.
If it doesn't, then they should probably be moved to /etc/ and
/usr/share/doc/onionprobe/.
```Onionprobe 1.2.0Silvio RhattoSilvio Rhatto2024-02-29https://gitlab.torproject.org/tpo/onion-services/onion-launchpad/-/issues/82Create a privacy policy for Onion Launchpads2024-02-27T13:32:43ZrayaCreate a privacy policy for Onion Launchpads- [x] check with data is being collected in GP's backend system
- [x] write a short privacy policy (with USAGM agreement)
- [x] ask for review (isa or the rest of s145's team to review it (maybe with the board expertise))
cc: @rhatto- [x] check with data is being collected in GP's backend system
- [x] write a short privacy policy (with USAGM agreement)
- [x] ask for review (isa or the rest of s145's team to review it (maybe with the board expertise))
cc: @rhattoOnion Launchpad - 2024.Q2rayarayahttps://gitlab.torproject.org/tpo/onion-services/onion-launchpad/-/issues/81Onion Launchpad issue triage - 2024.Q12024-03-15T17:19:30ZSilvio RhattoOnion Launchpad issue triage - 2024.Q1# Tasks
* [x] Do an Onion Launchpad issue triage:
* [x] Close what does not make sense anymore.
* [x] Assign to the [2024.Q1 milestone][] what can be solved quickly.
* [x] Handle exceptions.
* [x] ~Icebox everything else.
[2024...# Tasks
* [x] Do an Onion Launchpad issue triage:
* [x] Close what does not make sense anymore.
* [x] Assign to the [2024.Q1 milestone][] what can be solved quickly.
* [x] Handle exceptions.
* [x] ~Icebox everything else.
[2024.Q1 milestone]: https://gitlab.torproject.org/tpo/onion-services/onion-launchpad/-/milestones/1
# Time estimation
* Complexity: very small (0.5 day)
* Uncertainty: low (x1.1)
* [Reference](https://jacobian.org/2021/may/25/my-estimation-technique/) (adapted)Onion Launchpad - 2024.Q2Silvio RhattoSilvio Rhatto2024-03-14https://gitlab.torproject.org/tpo/onion-services/onion-launchpad/-/issues/80Onion Launchpad build broken, maybe by some translation change2024-02-20T17:47:25ZSilvio RhattoOnion Launchpad build broken, maybe by some translation changeOnion Launchpad build is broken, possibly by some translation change.
Example job: https://gitlab.torproject.org/tpo/onion-services/onion-launchpad/-/jobs/458786
/cc @emmapeelOnion Launchpad build is broken, possibly by some translation change.
Example job: https://gitlab.torproject.org/tpo/onion-services/onion-launchpad/-/jobs/458786
/cc @emmapeelOnion Launchpad - 2024.Q2GusGus2024-03-28https://gitlab.torproject.org/tpo/core/arti/-/issues/1279Implement VanguardHsPathBuilder2024-03-20T18:09:26Zgabi-250Implement VanguardHsPathBuilderOr modify the existing `ExitPathBuilder` to provide path selection using vanguards.Or modify the existing `ExitPathBuilder` to provide path selection using vanguards.Arti: Guard discovery researchgabi-250gabi-250https://gitlab.torproject.org/tpo/core/arti/-/issues/1277Make VanguardMgr accessible to CircMgr2024-03-19T15:07:31Zgabi-250Make VanguardMgr accessible to CircMgr`CircMgr::launch_hs_unmanaged` will need to be able to launch circuits that use vanguards, so `CircMgr` will need a handle to `VanguardMgr`.
Depends on #1275`CircMgr::launch_hs_unmanaged` will need to be able to launch circuits that use vanguards, so `CircMgr` will need a handle to `VanguardMgr`.
Depends on #1275Arti: Guard discovery researchgabi-250gabi-250https://gitlab.torproject.org/tpo/core/arti/-/issues/1276Add vanguards info to the circuits in hspool::pool::Pool2024-03-20T18:09:25Zgabi-250Add vanguards info to the circuits in hspool::pool::PoolToday the pool contains a `Vec` of client circuits:
```rust
/// The collection of circuits themselves, in no particular order.
circuits: Vec<Arc<ClientCirc>>,
```
To support vanguards, we need to know for each circuit if it's
`STUB` or ...Today the pool contains a `Vec` of client circuits:
```rust
/// The collection of circuits themselves, in no particular order.
circuits: Vec<Arc<ClientCirc>>,
```
To support vanguards, we need to know for each circuit if it's
`STUB` or `STUB+`, and whether it is a vanguards-full or vanguards-lite
circuit. It should also be possible to disable vanguards altogether, so
this extra vanguards info should be optional.
This information will probably need to be returned, along with the `ClientCirc`,
from `CircMgr::launch_hs_unmanaged`. This could be included alongside
`ClientCirc`, or as a field within it (gated behind the `hs-common`
feature), depending on what we decide in #1274.Arti: Guard discovery researchgabi-250gabi-250https://gitlab.torproject.org/tpo/core/arti/-/issues/1274Use vanguards path selection in CircMgr::launch_hs_unmanaged.2024-03-20T18:09:26Zgabi-250Use vanguards path selection in CircMgr::launch_hs_unmanaged.The path selection will be handled by `VanguardHsPathBuilder`
(a new type similar to, or based on, the existing `ExitPathBuilder`).
See #1279
`CircMgr::launch_hs_unmanaged` will need to take an extra argument
specifying whether to use ...The path selection will be handled by `VanguardHsPathBuilder`
(a new type similar to, or based on, the existing `ExitPathBuilder`).
See #1279
`CircMgr::launch_hs_unmanaged` will need to take an extra argument
specifying whether to use full or lite vanguards when building the circuits.
`CircMgr::launch_hs_unmanaged` will only create STUB circuits.
If full vanguards are enabled, the circuits will be extended
by one hop as needed (outside of `launch_hs_unmanaged`), whenever
a STUB+ circuit is required (based on the `HsCircKind`).
Alternatively, `CircMgr::launch_hs_unmanaged` could
take an argument that specifies whether the circuit to launch
is STUB or STUB+. We will likely also need a corresponding
`TargetCircUsage::HsCircBaseWithVanguards (full|lite)` for it.
Then, based on the `TargetCircUsage`, `TargetCircUsage::build_path`
can dispatch to `VanguardHsPathBuilder::pick_path` (as opposed to
the `ExitPathBuilder::pick_path` currently used for
`TargetCircUsage::HsCircBase).
Since `launch_hs_circuits_as_needed`
preemptively populates the `HsCircPool` with circuits, it will need
to be modified too (to launch both STUB and STUB+ circuits).
Prerequisites: #1275, #1277, #1279Arti: Guard discovery researchgabi-250gabi-250https://gitlab.torproject.org/tpo/community/tor4zh/-/issues/4Mirror this repo in torproject github2024-03-21T22:41:18ZGusMirror this repo in torproject github- [x] Mirror `tor4zh` in GitHub. Instructions: https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/gitlab#how-to-mirror-a-git-repository-from-gitlab-to-github- [x] Mirror `tor4zh` in GitHub. Instructions: https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/gitlab#how-to-mirror-a-git-repository-from-gitlab-to-githubSponsor 96: Rapid Expansion of Access to the Uncensored Internet through Tor in China, Hong Kong, & TibetGusGushttps://gitlab.torproject.org/tpo/community/tor4zh/-/issues/3Short version: Tor browser introduction in Chinese2024-03-20T09:08:09ZHavenShort version: Tor browser introduction in ChineseHello @gus, I collected materials from Tor website and @tor4zh Mastodon posts, and summarized them into a short introduction like this.
----
### 什么是 Tor 浏览器?
Tor 是一款帮你私密浏览互联网的工具。它不仅能使你免受监控,还能帮你绕过最严格的互联网审查与封锁。
### 在中国怎样获得 Tor 浏览器?
1....Hello @gus, I collected materials from Tor website and @tor4zh Mastodon posts, and summarized them into a short introduction like this.
----
### 什么是 Tor 浏览器?
Tor 是一款帮你私密浏览互联网的工具。它不仅能使你免受监控,还能帮你绕过最严格的互联网审查与封锁。
### 在中国怎样获得 Tor 浏览器?
1. 获得 Tor 浏览器桌面版和 Android 版
- Tor 浏览器的官方网站。中国大陆地区不能直接访问这个网站,需要翻墙。https://www.torproject.org/zh-CN/download/
- 如果不能翻墙访问官方网站,也可以从 Tor 官方指定的镜像网站下载。https://tor.calyxinstitute.org/zh-CN/download/
- 如果你能使用 Telegram,可以关注这个机器人 https://t.me/gettor_bot 找它要 Tor 浏览器的下载链接。
- 如果你习惯使用 Email,也可以发邮件给 gettor@torproject.org 索取 Tor 浏览器的下载链接。记得在邮件标题里注明你的电脑操作系统名称,比如 Windows,macOS 或者 Linux。邮件正文留白就行。为了你的安全,不要使用 QQ、163 这些中国的邮件服务。
2. 获得 Onion Browser(Tor 浏览器 iOS 版)
Onion Browser 是运行在 iOS 设备上的 Tor 浏览器。
遗憾的是,如果你使用中国区 Apple ID, 那你可能无法在 App Store 找到 Onion Browser. 你需要想办法先拥有一个【非中国区】的 Apple ID, 才能在 App Store 下载它。
### 在中国怎样连接到 Tor 网络?
Tor 的所有公开节点都已被 GFW 封锁。为了解决这个问题,Tor 提供几种“可插拔式传输器”(Pluggable Transports)用于突破封锁。目前共有四种:obfs4/meek/Snowflake/WebTunnel,其中meek在中国大陆已经几乎无法使用,以下介绍另外三种。
- obfs4 会将上网流量伪装成随机数据流量。如果在 Tor 浏览器的“内置网桥”里选择 obfs4 网桥,在中国大陆可能也很难连上。一般需要手动添加 obfs4 网桥。
- Snowflake 能把用户的 Tor 流量伪装成视频通话。在 Tor 浏览器的“内置网桥”里选择 Snowflake 就行,无须更多配置。
- WebTunnel 使用户的 Tor 流量看上去像普通的 HTTPS 流量。WebTunnel 网桥需要专门获取,手动添加。
以下这些方式可以帮你获得 obfs4 网桥或者 WebTunnel 网桥。
- 从 Tor 的官方网站获取 https://bridges.torproject.org/
- 发邮件给 bridges@torproject.org ,只支持 Gmail 和 Riseup 邮箱。
- 添加 Telegram 机器人 https://t.me/GetBridgesBot 获取
手动添加网桥的位置:进入 Tor 浏览器,找到【设置】→【连接】→【网桥】→【添加新网桥】→【手动添加网桥】。把前面复制的网桥地址完整地粘贴在这里,点击“确认”即可。
`Below are new content about requesting bridges for users in China`
**如果以上途径获得的网桥无法正常连接,请发邮件给 frontdesk@torproject.org ,索取专门针对中国用户的网桥。你只需在邮件标题里写上“private bridge cn”即可收到回复。**
### 怎样可以获得帮助支持?
你有任何关于 Tor 浏览器的疑问和困难,都欢迎与我们联系。
- 电子邮件: frontdesk@torproject.org
- 社区论坛:https://forum.torproject.org/
- Mastodon:https://mastodon.social/@tor4zh
- Telegram: https://t.me/torprojectsupportbot
- WhatsApp: https://wa.me/447421000612
- Signal: https://signal.me/#p/+17787431312Sponsor 96: Rapid Expansion of Access to the Uncensored Internet through Tor in China, Hong Kong, & TibetHavenHaven2024-03-22https://gitlab.torproject.org/tpo/community/support/-/issues/40148Front desk - Create a template to help users connect to Snowflake2024-03-04T21:04:29ZGusFront desk - Create a template to help users connect to SnowflakeDue the ongoing issue with Fastly front domains (https://gitlab.torproject.org/tpo/anti-censorship/team/-/issues/135), and while it's not fixed on Tor Browser built-in bridge, let's create a template to help users from China to circumven...Due the ongoing issue with Fastly front domains (https://gitlab.torproject.org/tpo/anti-censorship/team/-/issues/135), and while it's not fixed on Tor Browser built-in bridge, let's create a template to help users from China to circumvent censorship with Snowflake.
I created a draft, but maybe we want to add the bridge-moji and other instructions?
https://rt.torproject.org/Articles/Article/Display.html?id=252
wdyt, @ebanam?Sponsor 96: Rapid Expansion of Access to the Uncensored Internet through Tor in China, Hong Kong, & Tibetebanamebanam@torproject.orgebanamebanam@torproject.orghttps://gitlab.torproject.org/tpo/community/l10n/-/issues/40132Improve GuardianProject Weblate setup2024-02-12T15:01:28ZemmapeelImprove GuardianProject Weblate setupLast year I helped the GuardianProject to fix their weblate setup, but I forgot to add a ticket about it.
I opened some tickets on GuardianProject's repos:
- https://github.com/guardianproject/orbot/issues/992
- https://github.com/guar...Last year I helped the GuardianProject to fix their weblate setup, but I forgot to add a ticket about it.
I opened some tickets on GuardianProject's repos:
- https://github.com/guardianproject/orbot/issues/992
- https://github.com/guardianproject/orbot/issues/991
And some pull requests:
- https://github.com/guardianproject/orbot/pull/937
- https://github.com/guardianproject/orbot/pull/936
I also got admin rights for [Weblate's GuardianProject](https://hosted.weblate.org/projects/guardianproject/) and configured the automatic pull requests and some translation checks/flags to allow for structured feedback for translators.
Lots of [screenshots](https://hosted.weblate.org/screenshots/guardianproject/orbot/) were also added to help translators understand the context.Sponsor 96: Rapid Expansion of Access to the Uncensored Internet through Tor in China, Hong Kong, & Tibetemmapeelemmapeel