Anti-censorship issueshttps://gitlab.torproject.org/groups/tpo/anti-censorship/-/issues2021-06-08T14:10:49Zhttps://gitlab.torproject.org/tpo/anti-censorship/team/-/issues/6Rename git master to main2021-06-08T14:10:49ZCecylia BocovichRename git master to mainTor is in the process of updating repositories to rename the default branch from `master` branch to `main`. This is a ticket to collect and track the work needed on this for the anti-censorship team. We've already started using `main` fo...Tor is in the process of updating repositories to rename the default branch from `master` branch to `main`. This is a ticket to collect and track the work needed on this for the anti-censorship team. We've already started using `main` for new repositories. This ticket is to update existing ones. We have *a lot* of repositories, so this will be quite a task. Once we collect a full list, we'll make an announcement on the anti-censorship mailing list and weekly meeting.
We have several repositories that are maintained primarily by community members, and we will let these maintainers decide how to migrate branch names if they wish.
- [x] gettor-web ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/gettor-project/gettor-web), [git.tpo repo](https://gitweb.torproject.org/project/web/gettor-web.git/))
- [x] gettor ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/gettor-project/gettor), [git.tpo repo](https://gitweb.torproject.org/gettor.git/))
- [x] gettor-ansible ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/gettor-project/gettor-ansible), [git.tpo repo](https://gitweb.torproject.org/admin/services/gettor.git/))
- [x] snowflake ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake), [git.tpo repo](https://gitweb.torproject.org/pluggable-transports/snowflake.git/))
- [x] snowflake-mobile ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake-mobile), [git.tpo repo](https://gitweb.torproject.org/pluggable-transports/snowflake-mobile.git/))
- [x] snowflake-webext ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake-webext), [git.tpo repo](https://gitweb.torproject.org/pluggable-transports/snowflake-webext.git/))
- [x] bridge-port-scan ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/bridge-port-scan), no git.tpo repo)
- [x] bridgedb ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/bridgedb/-/tree/develop), [git.tpo repo](https://gitweb.torproject.org/bridgedb.git/))
- [x] bridgedb-admin ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/bridgedb-admin), [git.tpo repo](https://gitweb.torproject.org/project/bridges/bridgedb-admin.git/))
- [x] bridgestrap ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/bridgestrap), no git.tpo repo)
- [X] censorship-analysis ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/censorship-analysis), no git.tpo repo)
- [x] docker-obfs4-bridge ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/docker-obfs4-bridge), no git.tpo repo)
- [x] emma ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/emma), no git.tpo repo)
- [x] monit-configuration ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/monit-configuration), no git.tpo repo)
- [x] private-bridges (private GitLab repo)
- [x] rdsys ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/rdsys), no git.tpo repo)
- [x] rdsys-admin ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/rdsys-admin), no git.tpo repo)
- [x] state-of-censorship ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/state-of-censorship), no git.tpo repo)
- [x] statsd-client ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/statsd-client), no git.tpo repo)
- [x] sysmon-configuration ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/sysmon-configuration), no git.tpo repo)
- [x] wolpertinger ([GitLab repo](https://gitlab.torproject.org/tpo/anti-censorship/wolpertinger), no git.tpo repo)
- [x] goptlib (not yet migrated to GitLab, [git.tpo repo](https://gitweb.torproject.org/pluggable-transports/goptlib.git/))
**Note:** I don't have permissions to push new branches to the git.tpo repo
- [x] meek (not yet migrated to GitLab, [git.tpo repo](https://gitweb.torproject.org/pluggable-transports/meek.git/))
**Note:** I don't have permissions to push new branches to the git.tpo repo
- [x] obfs4 (not yet migrated to GitLab, [git.tpo repo](https://gitweb.torproject.org/pluggable-transports/obfs4.git/))
Migration Checklist:
- [x] Update project contributors and maintainers about the plan
- [x] Update any wiki pages that make references to branch names
- [ ] We'll need to check that our gitweb <--> gitlab mirrors push the right branches
- [x] Do we have any scripts or documentation that rely on branch names?
- [x] Anything we need to for tor-browser? (https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40280)
**Note:** Snowflake is okay, but obfs4 and goptlib are set up to pull the master branch for builds
- [x] Will removing the master branch break existing Merge Requests?
- [x] Translations!! I think these are hooked up to master branches
Other efforts at Tor:
- The default in GitLab is now main: https://gitlab.torproject.org/tpo/tpa/gitlab/-/issues/75
- https://gitlab.torproject.org/tpo/core/team/-/issues/2
- https://gitlab.torproject.org/tpo/applications/team/-/issues/3https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40043Fix listenAndServe error check in server2023-04-03T06:19:34ZDavid Fifielddcf@torproject.orgFix listenAndServe error check in serverCommit ea7b9c02 added a hack ([ref](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/commit/ea7b9c02231cc03f1f0a879528310a93681b80ff#2bfd4afce737f8dc3bb3ba69c068895274dac4e5_210_213)) to wait a brief mom...Commit ea7b9c02 added a hack ([ref](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/commit/ea7b9c02231cc03f1f0a879528310a93681b80ff#2bfd4afce737f8dc3bb3ba69c068895274dac4e5_210_213)) to wait a brief moment to see if `listenAndServe` returns an error. But commit 70126177 broke it, by reassigning `err` ([ref](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/commit/70126177fbdf5b1fa4977f2fc26f624641708098#2bfd4afce737f8dc3bb3ba69c068895274dac4e5_179_380)) in between `err = <-errChan` and `return server, err`.David Fifielddcf@torproject.orgDavid Fifielddcf@torproject.orghttps://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40042Client Transport.Dial fails to release resources on error2021-05-28T16:55:08ZDavid Fifielddcf@torproject.orgClient Transport.Dial fails to release resources on errorThe client [`lib.Handler`](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/blob/eff73c3016ec259918e117665833df04f1755e80/client/lib/snowflake.go#L99) function does not close `pconn` and `sess` in the ev...The client [`lib.Handler`](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/blob/eff73c3016ec259918e117665833df04f1755e80/client/lib/snowflake.go#L99) function does not close `pconn` and `sess` in the event that `sess.OpenStream()` returns an error. This is a minor resource leak.
The `pconn.Close()` and `sess.Close()` statements should be moved up and placed in a `defer`.
This is issue UCB-02-001 from the 2021 security audit of Turbo Tunnel by Cure53. Quoted below:
> ### UCB-02-001 WP1: Memory leak in Handler() routine of Snowflake client lib (Low)
>
> During a review of the Snowflake client library, the discovery was made that the
*Handler()* function - responsible for establishing a WebRTC connection to the remote
peer - does not correctly close the connection and established smux session in the
eventuality that a stream cannot be opened. This could result in a memory leak on the
Snowflake client side, as well as a resource leak on the server side of the connection.
>
> **Affected file:**
> *snowflake/client/lib/snowflake.go*
>
> **Affected code:**
> ```
> func Handler(socks net.Conn, tongue Tongue) error {
> [...]
> // Create a new smux session
> log.Printf("---- Handler: starting a new session ---")
> pconn, sess, err := newSession(snowflakes)
> if err != nil {
> return err
> }
> // On the smux session we overlay a stream.
> stream, err := sess.OpenStream()
> if err != nil {
> return err
> }
> [...]
> }
> ```
>
> It is recommended to close all open connections using [*defer*](https://tour.golang.org/flowcontrol/12) in order to properly
alleviate all allocated resources when the function returns.
----
!31 restructured things and this issue now applies to [`Transport.Dial`](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/blob/ef4d0a1da56e15327173923fa14a28d9ca40789c/client/lib/snowflake.go#L76). If `newSession` fails, then `snowflakes` leaks; and if `sess.OpenStream` fails, then `snowflakes`, `pconn`, and `sess` leak. There's also an error at the [call site](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/blob/ef4d0a1da56e15327173923fa14a28d9ca40789c/client/snowflake.go#L73): any error is logged, but then the code goes on to call `copyLoop` with the `nil` `Conn` that was returned.David Fifielddcf@torproject.orgDavid Fifielddcf@torproject.orghttps://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40041update the torrc file in snowflake/client2021-06-24T18:44:06Ztoralfupdate the torrc file in snowflake/clientOtherwise it yields at a system with an already configured and running Tor client to
```
tfoerste@t44 ~/devel/go/src/snowflake/client $ tor -f torrc
Apr 19 18:55:47.450 [notice] Tor 0.4.7.0-alpha-dev (git-e7c407d927c80a94) running on Lin...Otherwise it yields at a system with an already configured and running Tor client to
```
tfoerste@t44 ~/devel/go/src/snowflake/client $ tor -f torrc
Apr 19 18:55:47.450 [notice] Tor 0.4.7.0-alpha-dev (git-e7c407d927c80a94) running on Linux with Libevent 2.1.11-stable, OpenSSL 1.1.1k, Zlib 1.2.11, Liblzma 5.2.5, Libzstd 1.4.9 and Glibc 2.32 as libc.
Apr 19 18:55:47.450 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Apr 19 18:55:47.450 [notice] This version is not a stable Tor release. Expect more bugs than usual.
Apr 19 18:55:47.450 [notice] Read configuration file "/home/tfoerste/devel/go/src/snowflake/client/torrc".
Apr 19 18:55:47.451 [warn] Path for DataDirectory (datadir) is relative and will resolve to /home/tfoerste/devel/go/src/snowflake/client/datadir. Is this what you wanted?
Apr 19 18:55:47.453 [notice] Opening Socks listener on 127.0.0.1:9050
Apr 19 18:55:47.453 [warn] Could not bind to 127.0.0.1:9050: Address already in use. Is Tor already running?
Apr 19 18:55:47.453 [warn] Failed to parse/validate config: Failed to bind one of the listener ports.
Apr 19 18:55:47.453 [err] Reading config failed--see warnings above.
```https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40040Prevent more than one snowflake in the same network2021-04-12T20:09:45ZcypherpunksPrevent more than one snowflake in the same network"[You should not](https://mastodon.social/@torproject/105816673233457564) run more than one snowflake in the same network."
Can that be prevented programmatically? Operators who run a snowflake in a browser don't always know what else i..."[You should not](https://mastodon.social/@torproject/105816673233457564) run more than one snowflake in the same network."
Can that be prevented programmatically? Operators who run a snowflake in a browser don't always know what else is running on the network.
Asked by: https://blog.torproject.org/comment/291286#comment-291286https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40039probetest is spinning with 100% CPU2021-10-28T16:35:01ZDavid Fifielddcf@torproject.orgprobetest is spinning with 100% CPUI just now (2021-04-05 16:22:49) noticed that probetest (#40013) on the broker is using 100% CPU:
```
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1486 root 20 0 765744 239348 9832 S 98.3 5.9...I just now (2021-04-05 16:22:49) noticed that probetest (#40013) on the broker is using 100% CPU:
```
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1486 root 20 0 765744 239348 9832 S 98.3 5.9 91550:09 probetest
```
Judging by the CPU time of 91500 minutes and 9 seconds, it has been like this for about (91550 * 60 + 9) / 3600. / 24 = 63 days.meskiomeskio@torproject.orgmeskiomeskio@torproject.orghttps://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake-webext/-/issues/25Please consider releasing Burmese (my) locale2021-04-12T20:34:53ZemmapeelPlease consider releasing Burmese (my) localeWe are preparing a Tor Browser release with Burmese (မြန်မာဘာသာ) locale, and the SnowflakeAddOn.json file is translated and reviewed for Burmese.
It would be great to have Snowflake publish the Burmese မြန်မာဘာသာ (my) version as well.We are preparing a Tor Browser release with Burmese (မြန်မာဘာသာ) locale, and the SnowflakeAddOn.json file is translated and reviewed for Burmese.
It would be great to have Snowflake publish the Burmese မြန်မာဘာသာ (my) version as well.Cecylia BocovichCecylia Bocovichhttps://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40038Upgrade bridge to OpenSSL 1.1.1k for CVE-2021-34492021-03-26T13:31:03ZDavid Fifielddcf@torproject.orgUpgrade bridge to OpenSSL 1.1.1k for CVE-2021-3449https://lists.torproject.org/pipermail/tor-relays/2021-March/019442.html
> There is a new version of OpenSSL out today, with a security advisory
that affects Tor. The vulnerability is CVE-2021-3449, as described on
https://www.openssl....https://lists.torproject.org/pipermail/tor-relays/2021-March/019442.html
> There is a new version of OpenSSL out today, with a security advisory
that affects Tor. The vulnerability is CVE-2021-3449, as described on
https://www.openssl.org/news/secadv/20210325.txt . It affects OpenSSL
versions 1.1.1 through 1.1.1j. OpenSSL 1.1.1k is the first version
with a fix.
>
> I haven't tested this bug, but I believe that it would allow an
adversary to remotely crash Tor relays and authorities. It won't have
any effect on Tor clients.
>
> I suggest that everybody should upgrade to the latest OpenSSL when it
becomes available on their platform.Cecylia BocovichCecylia Bocovichhttps://gitlab.torproject.org/tpo/anti-censorship/team/-/issues/5Suggestion obfusicating bridges information2021-06-08T17:47:54ZsmoutwortelSuggestion obfusicating bridges informationDue to the open source nature of Tor a censor can and often will extract the contact information of default obfs4 bridges directly from the source code and they can have some intern continuously request bridges from the private bridges r...Due to the open source nature of Tor a censor can and often will extract the contact information of default obfs4 bridges directly from the source code and they can have some intern continuously request bridges from the private bridges redistribution system.
I think I found a solution for this which forces the censor to either start mapping the large portions of the internet, block expensive domains, tolerate circumvention or actively search with potentially identifiable methods rising the financial cost of censorship.
My solution is:
a. Put the bridge's information in a chunck of information that also contains the required information to connect to some other web participants.
b. Have the browser send to each of the web participants mentioned in the chunck a pre-programmed and preferably chunck and bridge specific request that has no meaning to those web participants.
c. program the bridge to emit a sign of recognition when receiving the previously mentioned request.
d. Now have the client and the bridge built a connection, while ignoring the rest of the web participants they have just identified to be unimportant for their purposes.
If we were to implement this I suggest we use high value web services that block Tor or have agreed to participate and have the recognition request use little bandwidth to avoid getting blocked out of spite or lack of blocking cost.https://gitlab.torproject.org/tpo/anti-censorship/bridgestrap/-/issues/16bridgestrap returning ECONNREFUSED for all bridges?2021-08-12T01:34:32ZRoger Dingledinebridgestrap returning ECONNREFUSED for all bridges?First reported on tor-relays@ but I just checked a bridge I got from bridgedb, and which I used successfully in my tor browser, but e.g.
https://bridges.torproject.org/status?id=892CF98FB2151BA4C1AD519E63B1F84C48238616 says
```
Bridge 8...First reported on tor-relays@ but I just checked a bridge I got from bridgedb, and which I used successfully in my tor browser, but e.g.
https://bridges.torproject.org/status?id=892CF98FB2151BA4C1AD519E63B1F84C48238616 says
```
Bridge 892CF98FB2151BA4C1AD519E63B1F84C48238616 advertises:
* obfs4: dysfunctional
Error: We got an ECONNREFUSED while connecting to the target OR.
Last tested: 2021-03-22 22:51:46.804048996 +0000 UTC (8h4m5.867658121s ago)
```
I'm guessing something got wedged. Maybe the Tor client connected to bridgestrap crashed? Maybe we want some sort of monitoring for this service? Maybe we already have it? :)Cecylia BocovichCecylia Bocovichhttps://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40037Update version of pion webrtc to fix CVE-2021-286812021-04-01T13:21:09ZCecylia BocovichUpdate version of pion webrtc to fix CVE-2021-28681This was patched in v3.0.15This was patched in v3.0.15Cecylia BocovichCecylia Bocovichhttps://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake-mobile/-/issues/22Localization2021-06-17T14:23:56ZCecylia BocovichLocalizationWe should localize this app. I'm unfamiliar with localization in the Android ecosystem, but we're using a lot of the same strings as the webextension. So if there's an easy way to just include those strings that would be ideal :)We should localize this app. I'm unfamiliar with localization in the Android ecosystem, but we're using a lot of the same strings as the webextension. So if there's an easy way to just include those strings that would be ideal :)https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake-mobile/-/issues/21Assess app readiness for app store2021-06-17T14:23:56ZCecylia BocovichAssess app readiness for app storeThis project is mostly done. We should do a more rigorous assessment of whether it's at the point where we can upload it to app stores. Specifically I want to check the following:
- [ ] Run it on our devices for a few days to make sure t...This project is mostly done. We should do a more rigorous assessment of whether it's at the point where we can upload it to app stores. Specifically I want to check the following:
- [ ] Run it on our devices for a few days to make sure there aren't any bugs
- [ ] Make sure we report the NAT type as restricted since we are not performing an NAT checks yethttps://gitlab.torproject.org/tpo/anti-censorship/censorship-analysis/-/issues/40013Task 4.3 Explore the parameter space in a Salmon reputation design2022-03-01T20:13:35ZGabagaba@torproject.orgTask 4.3 Explore the parameter space in a Salmon reputation designThis step happens after https://gitlab.torproject.org/tpo/anti-censorship/censorship-analysis/-/issues/40012
The question here is to understand better how broad or narrow is the range of workable parameters.
For example, what rates of ...This step happens after https://gitlab.torproject.org/tpo/anti-censorship/censorship-analysis/-/issues/40012
The question here is to understand better how broad or narrow is the range of workable parameters.
For example, what rates of discovery vs rates of fresh bridges should be workable and what rates should be unworkable?
(If we need more fresh bridges than we can get, that is an unworkable system.)https://gitlab.torproject.org/tpo/anti-censorship/censorship-analysis/-/issues/40012Task 4.2 Put components together as a design based on the "Salmon" reputation...2022-11-10T17:38:15ZGabagaba@torproject.orgTask 4.2 Put components together as a design based on the "Salmon" reputation bridge distribution framework, highlighting the missing and underspecified pieces.- We need some anti-sybil signup step, which in the original paper was requiring an established (more than n months old) Facebook account. What is a workable option for us, engineering-wise and social-community-wise?
- How dangerous is t...- We need some anti-sybil signup step, which in the original paper was requiring an established (more than n months old) Facebook account. What is a workable option for us, engineering-wise and social-community-wise?
- How dangerous is the social graph? How much to remember? Where to store it?
- False positives, where a bridge gets blocked but not because it got assigned to a bad user.
- False positives, where a bridge goes down but we call it blocked.
- How to adapt to multiple countries? Or regions really.
- Do we need to batch the reassignment events? Otherwise the people from the old bridge all get the new bridge.
- Predicting better adversary strategies.Cecylia BocovichCecylia Bocovichhttps://gitlab.torproject.org/tpo/anti-censorship/censorship-analysis/-/issues/40011Task 4.1 Identify the input components that feed into a bridge distribution f...2023-10-03T18:54:14ZGabagaba@torproject.orgTask 4.1 Identify the input components that feed into a bridge distribution framework.- [ ] Track reachability of bridges in various regions.
- [ ] Understand ways that censors can enumerate or block bridges, and how to recognize or detect if each is
happening.
- [ ] Track load on bridges to know which distribution strate...- [ ] Track reachability of bridges in various regions.
- [ ] Understand ways that censors can enumerate or block bridges, and how to recognize or detect if each is
happening.
- [ ] Track load on bridges to know which distribution strategies are working.
- [ ] Approaches to maintain enough fresh proxies that we can rotate to new ones when they are needed.
- [ ] Identity mechanisms for tying client activities together if needed, including what client-side state is needed for each.Roger DingledineRoger Dingledinehttps://gitlab.torproject.org/tpo/anti-censorship/censorship-analysis/-/issues/40008Task 2.2 Understand the OONI data format and constraints on OONI tests.2023-03-31T17:39:47ZGabagaba@torproject.orgTask 2.2 Understand the OONI data format and constraints on OONI tests.Understand the OONI data format, and the constraints on OONI tests, to build a plan for either converting our data into the OONI data format, or adding some of our tests to the ooniprobe app, or some other smart way to integrate.Understand the OONI data format, and the constraints on OONI tests, to build a plan for either converting our data into the OONI data format, or adding some of our tests to the ooniprobe app, or some other smart way to integrate.shelikhooshelikhoohttps://gitlab.torproject.org/tpo/anti-censorship/team/-/issues/4document rdsys, bridgestrap, and bridgedb in TPA service pages2021-07-21T08:28:10Zanarcatdocument rdsys, bridgestrap, and bridgedb in TPA service pagesHi!
It would be great if you could make documentation for the services ran by the anti-censorship team inside TPA infrastructure and/or at least make sure (existing) docs are linked from the service page here:
https://gitlab.torproject...Hi!
It would be great if you could make documentation for the services ran by the anti-censorship team inside TPA infrastructure and/or at least make sure (existing) docs are linked from the service page here:
https://gitlab.torproject.org/tpo/tpa/team/-/wikis/service
We currently have only "gettor" documented in there, and the documentation is quite minimal, the equivalent of the "Pager playbook" section of the template:
https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/template
In https://gitlab.torproject.org/tpo/anti-censorship/gettor-project/gettor/-/issues/77#note_2728419, @cohosh identified "rdsys, bridgestrap, and bridgedb" as services running on polyanthum that should be documented, but there might be more!
I am aware that the documentation template is quite extensive. ;) You don't necessarily have to fill it all up, the most critical stuff to fill in is the "Pager playbook" and "Disaster recovery" sections. But I think it's a good template to start from when documenting a service. We're still working on the documentation, and your feedback on how it works will be extremely valuable! :)meskiomeskio@torproject.orgmeskiomeskio@torproject.orghttps://gitlab.torproject.org/tpo/anti-censorship/censorship-analysis/-/issues/40006Task 2.1: Publish ongoing scan results as a public (privacy-preserving as nee...2023-03-31T17:40:33ZGabagaba@torproject.orgTask 2.1: Publish ongoing scan results as a public (privacy-preserving as needed) dataset, and have a web page that highlights recent data and steers researchers toward trends/questions raised by the data.Much of this data is already in the [metrics portal](https://metrics.torproject.org) (passive bridge measurements for example) but much will be new.
- [ ] Publish ongoing scan results as a public (privacy-preserving as needed) dataset.
...Much of this data is already in the [metrics portal](https://metrics.torproject.org) (passive bridge measurements for example) but much will be new.
- [ ] Publish ongoing scan results as a public (privacy-preserving as needed) dataset.
- [ ] Have a web page that highlights recent data and steers researchers toward trends/questions raised by the data.shelikhooshelikhoohttps://gitlab.torproject.org/tpo/anti-censorship/censorship-analysis/-/issues/40005Task 1.4: Identify set of wishlist/missing features for Tor client and plugga...2023-03-31T17:37:15ZGabagaba@torproject.orgTask 1.4: Identify set of wishlist/missing features for Tor client and pluggable transports to better assess Tor blockingUse this ongoing library of events to identify a set of wish list features for the Tor client and the various transports for how they could make scans more accurate and/or more productive.Use this ongoing library of events to identify a set of wish list features for the Tor client and the various transports for how they could make scans more accurate and/or more productive.