Create authoritative, parseable list of Tor Browser's default bridges
The authoritative list of default bridges that Tor Browser ships with is part of the tor-browser-build.git repository. Other repositories however use this list; most importantly OONI, as part of the "TCP Connect" scan, and possibly others. Having the authoritative list in tor-browser-build.git is error-prone because whenever it changes, we need to manually sync OONI's list. (We now have a wiki page that maps our default bridges to their respective owners but the page can be edited by anyone and can therefore not be authoritative.)
To solve this problem, we could create a separate, authoritative list of these default bridges. We also need this list to be easy to parse, e.g., in the form of a simple CSV file. irl mentioned on IRC that our CI infrastructure can then notify us if repositories that include default bridges are out-of-date. In fact, we could even automate the inclusion of default bridges in other repositories: boklm mentioned that tor-browser-build.git could automatically generate the JavaScript file that includes default bridges, and OONI may be able to do the same.
To get things started, here's what I propose:
- Create a new git repository, say tor-browser-default-bridges.git, that contains our list of default bridges as CSV files.
- This repository is public and can therefore be referenced and included by other projects.
- This repository is maintained by the anti-censorship team, which takes responsibility that its content is up-to-date.
Does this sound reasonable? Is there a simpler solution?