Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build

Commits:

6 changed files:

Changes:

  • projects/browser/build
    ... ... @@ -125,6 +125,7 @@ mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b
    125 125
         rm "$TBDIR/$TORBINPATH/tor-gencert.exe"
    
    126 126
       [% END %]
    
    127 127
     
    
    128
    +  tar -xf [% c('input_files_by_name/moat-settings') %]
    
    128 129
     [% END -%]
    
    129 130
     
    
    130 131
     for tbdir in "${TBDIRS[@]}"
    
    ... ... @@ -258,11 +259,11 @@ do
    258 259
       tbdir="$tbdir[% IF c('var/macos') %]/Contents/Resources[% END %]/"
    
    259 260
       [% IF c("var/tor-browser") -%]
    
    260 261
         pushd "$rootdir"
    
    261
    -    pt_config_dir=chrome/toolkit/content/global
    
    262
    -    mkdir -p "$pt_config_dir"
    
    263
    -    cp "pt_config.json" "$pt_config_dir/"
    
    264
    -    [% c("touch") %] "$pt_config_dir/pt_config.json"
    
    265
    -    zip -Xm "$tbdir/omni.ja" "$pt_config_dir/pt_config.json"
    
    262
    +    config_dir=chrome/toolkit/content/global
    
    263
    +    mkdir -p "$config_dir"
    
    264
    +    cp moat_countries.json pt_config.json "$config_dir/"
    
    265
    +    [% c("touch") %] "$config_dir/"*.json
    
    266
    +    zip -Xm "$tbdir/omni.ja" "$config_dir/moat_countries.json" "$config_dir/pt_config.json"
    
    266 267
         rm -rf chrome
    
    267 268
         popd
    
    268 269
       [% END -%]
    

  • projects/browser/build.android
    ... ... @@ -26,7 +26,8 @@ unzip $rootdir/[% c('input_files_by_name/noscript') %]
    26 26
     popd
    
    27 27
     
    
    28 28
     [%IF c("var/tor-browser") -%]
    
    29
    -  tar -xaf "$rootdir/[% c("input_files_by_name/tor-expert-bundle") %]/tor-expert-bundle.tar.gz" tor/pluggable_transports/pt_config.json
    
    29
    +  tar -xaf "$rootdir/[% c('input_files_by_name/tor-expert-bundle') %]/tor-expert-bundle.tar.gz" tor/pluggable_transports/pt_config.json
    
    30
    +  tar -xf "$rootdir/[% c('input_files_by_name/moat-settings') %]"
    
    30 31
     [% END -%]
    
    31 32
     
    
    32 33
     # This function generates a signed APK from a given APK file.
    
    ... ... @@ -56,8 +57,8 @@ function generate_apk {
    56 57
       mkdir omni
    
    57 58
       pushd omni
    
    58 59
       unzip ../omni.ja
    
    59
    -  [%IF c("var/tor-browser") -%]
    
    60
    -    cp -an ../tor/pluggable_transports/pt_config.json chrome/toolkit/content/global/pt_config.json
    
    60
    +  [% IF c("var/tor-browser") -%]
    
    61
    +    cp -a ../moat_countries.json ../tor/pluggable_transports/pt_config.json chrome/toolkit/content/global/
    
    61 62
       [% END -%]
    
    62 63
       [% c('zip', {
    
    63 64
             zip_src   => [ '.' ],
    
    ... ... @@ -68,7 +69,7 @@ function generate_apk {
    68 69
       mkdir apk
    
    69 70
       pushd apk
    
    70 71
       7zz x "$apk"
    
    71
    -  cp -Rn ../assets ./
    
    72
    +  cp -R ../assets ./
    
    72 73
       find -type f -exec touch -m -t '[% USE date; date.format(pc("geckoview", "timestamp"), format = "%Y%m%d%H%M") %]' {} \;
    
    73 74
       find -type f ! -name resources.arsc -printf '%P\n' | sort > ../files.txt
    
    74 75
       7zz a -tzip -mx9 -mtc- -spf ../repacked.apk @../files.txt
    

  • projects/browser/config
    ... ... @@ -103,6 +103,9 @@ input_files:
    103 103
         enable: '[% c("var/macos_universal") && c("var/tor-browser") %]'
    
    104 104
         target_replace:
    
    105 105
           '^torbrowser-macos.*': torbrowser-macos-aarch64
    
    106
    +  - project: moat-settings
    
    107
    +    name: moat-settings
    
    108
    +    enable: '[% c("var/tor-browser") %]'
    
    106 109
       - project: fonts
    
    107 110
         name: fonts
    
    108 111
         enable: '[% ! c("var/android") %]'
    

  • projects/moat-settings/README.md
    1
    +We use this project to fetch the Moat circumvention data to make sure we have it
    
    2
    +even before running non-Tor requests on the browser.

  • projects/moat-settings/build
    1
    +#!/bin/bash
    
    2
    +[% c("var/set_default_env") -%]
    
    3
    +
    
    4
    +tar -xf [% project %]-[% c("version") %].tar.[% c('compress_tar') %] [% project %]-[% c("version") %]/conf/circumvention.json
    
    5
    +jq -c keys [% project %]-[% c("version") %]/conf/circumvention.json > moat_countries.json
    
    6
    +
    
    7
    +[% c("touch") %] moat_countries.json
    
    8
    +[% c('tar', {
    
    9
    +        tar_src => 'moat_countries.json',
    
    10
    +        tar_args => '-caf ' _ dest_dir _ '/' _ c('filename'),
    
    11
    +    }) %]

  • projects/moat-settings/config
    1
    +# vim: filetype=yaml sw=2
    
    2
    +filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
    
    3
    +git_url: https://gitlab.torproject.org/tpo/anti-censorship/rdsys-admin.git
    
    4
    +git_hash: 810fb24bd5fe36c8c0a67ecf8f8ec47b479eee31
    
    5
    +version: '[% c("abbrev") %]'
    
    6
    +# Use gz for now, since we do not support Zstandard on Linux containers.
    
    7
    +compress_tar: 'gz'