Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits: 50eeb222 by Pier Angelo Vendrame at 2025-02-27T08:39:38+01:00 Bug 41379: Bundle some Moat settings with the browser.
- - - - -
6 changed files:
- projects/browser/build - projects/browser/build.android - projects/browser/config - + projects/moat-settings/README.md - + projects/moat-settings/build - + projects/moat-settings/config
Changes:
===================================== projects/browser/build ===================================== @@ -125,6 +125,7 @@ mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b rm "$TBDIR/$TORBINPATH/tor-gencert.exe" [% END %]
+ tar -xf [% c('input_files_by_name/moat-settings') %] [% END -%]
for tbdir in "${TBDIRS[@]}" @@ -258,11 +259,11 @@ do tbdir="$tbdir[% IF c('var/macos') %]/Contents/Resources[% END %]/" [% IF c("var/tor-browser") -%] pushd "$rootdir" - pt_config_dir=chrome/toolkit/content/global - mkdir -p "$pt_config_dir" - cp "pt_config.json" "$pt_config_dir/" - [% c("touch") %] "$pt_config_dir/pt_config.json" - zip -Xm "$tbdir/omni.ja" "$pt_config_dir/pt_config.json" + config_dir=chrome/toolkit/content/global + mkdir -p "$config_dir" + cp moat_countries.json pt_config.json "$config_dir/" + [% c("touch") %] "$config_dir/"*.json + zip -Xm "$tbdir/omni.ja" "$config_dir/moat_countries.json" "$config_dir/pt_config.json" rm -rf chrome popd [% END -%]
===================================== projects/browser/build.android ===================================== @@ -26,7 +26,8 @@ unzip $rootdir/[% c('input_files_by_name/noscript') %] popd
[%IF c("var/tor-browser") -%] - tar -xaf "$rootdir/[% c("input_files_by_name/tor-expert-bundle") %]/tor-expert-bundle.tar.gz" tor/pluggable_transports/pt_config.json + tar -xaf "$rootdir/[% c('input_files_by_name/tor-expert-bundle') %]/tor-expert-bundle.tar.gz" tor/pluggable_transports/pt_config.json + tar -xf "$rootdir/[% c('input_files_by_name/moat-settings') %]" [% END -%]
# This function generates a signed APK from a given APK file. @@ -56,8 +57,8 @@ function generate_apk { mkdir omni pushd omni unzip ../omni.ja - [%IF c("var/tor-browser") -%] - cp -an ../tor/pluggable_transports/pt_config.json chrome/toolkit/content/global/pt_config.json + [% IF c("var/tor-browser") -%] + cp -a ../moat_countries.json ../tor/pluggable_transports/pt_config.json chrome/toolkit/content/global/ [% END -%] [% c('zip', { zip_src => [ '.' ], @@ -68,7 +69,7 @@ function generate_apk { mkdir apk pushd apk 7zz x "$apk" - cp -Rn ../assets ./ + cp -R ../assets ./ find -type f -exec touch -m -t '[% USE date; date.format(pc("geckoview", "timestamp"), format = "%Y%m%d%H%M") %]' {} ; find -type f ! -name resources.arsc -printf '%P\n' | sort > ../files.txt 7zz a -tzip -mx9 -mtc- -spf ../repacked.apk @../files.txt
===================================== projects/browser/config ===================================== @@ -103,6 +103,9 @@ input_files: enable: '[% c("var/macos_universal") && c("var/tor-browser") %]' target_replace: '^torbrowser-macos.*': torbrowser-macos-aarch64 + - project: moat-settings + name: moat-settings + enable: '[% c("var/tor-browser") %]' - project: fonts name: fonts enable: '[% ! c("var/android") %]'
===================================== projects/moat-settings/README.md ===================================== @@ -0,0 +1,2 @@ +We use this project to fetch the Moat circumvention data to make sure we have it +even before running non-Tor requests on the browser.
===================================== projects/moat-settings/build ===================================== @@ -0,0 +1,11 @@ +#!/bin/bash +[% c("var/set_default_env") -%] + +tar -xf [% project %]-[% c("version") %].tar.[% c('compress_tar') %] [% project %]-[% c("version") %]/conf/circumvention.json +jq -c keys [% project %]-[% c("version") %]/conf/circumvention.json > moat_countries.json + +[% c("touch") %] moat_countries.json +[% c('tar', { + tar_src => 'moat_countries.json', + tar_args => '-caf ' _ dest_dir _ '/' _ c('filename'), + }) %]
===================================== projects/moat-settings/config ===================================== @@ -0,0 +1,7 @@ +# vim: filetype=yaml sw=2 +filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' +git_url: https://gitlab.torproject.org/tpo/anti-censorship/rdsys-admin.git +git_hash: 810fb24bd5fe36c8c0a67ecf8f8ec47b479eee31 +version: '[% c("abbrev") %]' +# Use gz for now, since we do not support Zstandard on Linux containers. +compress_tar: 'gz'
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/50...