Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
-
efdc0f34
by Pier Angelo Vendrame at 2025-03-26T12:21:51+01:00
-
912bbd1d
by Pier Angelo Vendrame at 2025-03-26T12:21:52+01:00
8 changed files:
- − projects/browser/Bundle-Data/Docs-TBB/Licenses/PluggableTransports/LICENSE.SNOWFLAKE
- projects/browser/build
- − projects/snowflake/README.md
- − projects/snowflake/build
- − projects/snowflake/config
- projects/tor-expert-bundle/build
- projects/tor-expert-bundle/config
- projects/tor-expert-bundle/pt_config.json
Changes:
| 1 | - This file contains the license for "Snowflake"
|
|
| 2 | - a free software project which provides a WebRTC pluggable transport.
|
|
| 3 | - |
|
| 4 | -================================================================================
|
|
| 5 | -Copyright (c) 2016, Serene Han, Arlo Breault
|
|
| 6 | -All rights reserved.
|
|
| 7 | - |
|
| 8 | -Redistribution and use in source and binary forms, with or without modification,
|
|
| 9 | -are permitted provided that the following conditions are met:
|
|
| 10 | - |
|
| 11 | - * Redistributions of source code must retain the above copyright notice, this
|
|
| 12 | -list of conditions and the following disclaimer.
|
|
| 13 | - |
|
| 14 | - * Redistributions in binary form must reproduce the above copyright notice,
|
|
| 15 | -this list of conditions and the following disclaimer in the documentation and/or
|
|
| 16 | -other materials provided with the distribution.
|
|
| 17 | - |
|
| 18 | - * Neither the names of the copyright owners nor the names of its
|
|
| 19 | -contributors may be used to endorse or promote products derived from this
|
|
| 20 | -software without specific prior written permission.
|
|
| 21 | - |
|
| 22 | -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
| 23 | -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
| 24 | -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
| 25 | -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
| 26 | -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
| 27 | -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
| 28 | -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
| 29 | -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
| 30 | -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
| 31 | -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
| 32 | -================================================================================ |
| ... | ... | @@ -108,9 +108,7 @@ mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b |
| 108 | 108 | [% END -%]
|
| 109 | 109 | |
| 110 | 110 | # Move READMEs from tor-expert-bundle to the doc dir
|
| 111 | - mkdir -p "$TBDIR/$DOCSPATH/snowflake" [% IF c("var/macos_universal") %]"$TBDIR_AARCH64/$DOCSPATH/snowflake"[% END %]
|
|
| 112 | 111 | mkdir -p "$TBDIR/$DOCSPATH/conjure" [% IF c("var/macos_universal") %]"$TBDIR_AARCH64/$DOCSPATH/conjure"[% END %]
|
| 113 | - mv_tbdir tor/pluggable_transports/README.SNOWFLAKE.md "$DOCSPATH/snowflake/README.md"
|
|
| 114 | 112 | mv_tbdir tor/pluggable_transports/README.CONJURE.md "$DOCSPATH/conjure/README.md"
|
| 115 | 113 | |
| 116 | 114 | # Move the PTs to where TB expects them
|
| 1 | -This is the Snowflake pluggable transport.
|
|
| 2 | - |
|
| 3 | -# Vendored dependencies
|
|
| 4 | - |
|
| 5 | -Snowflake is written in Go, and we version the expected hash of the vendored
|
|
| 6 | -dependencies. Please refer to `doc/how-to-update-go-dependencies.txt` for
|
|
| 7 | -further information on how we manage dependencies of Go projects. |
| 1 | -#!/bin/bash
|
|
| 2 | -[% c("var/set_default_env") -%]
|
|
| 3 | -[% pc('go', 'var/setup', { go_tarfile => c('input_files_by_name/go') }) %]
|
|
| 4 | -distdir=/var/tmp/dist/[% project %]
|
|
| 5 | -mkdir -p $distdir
|
|
| 6 | - |
|
| 7 | -[% IF c("var/android") -%]
|
|
| 8 | - [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
|
|
| 9 | - # We need to explicitly set CGO_ENABLED with Go 1.13.x as the Android build
|
|
| 10 | - # breaks otherwise.
|
|
| 11 | - export CGO_ENABLED=1
|
|
| 12 | -[% END -%]
|
|
| 13 | - |
|
| 14 | -mkdir -p /var/tmp/build
|
|
| 15 | -tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
|
|
| 16 | -cd /var/tmp/build/[% project %]-[% c('version') %]
|
|
| 17 | - |
|
| 18 | -tar -xf $rootdir/[% c('input_files_by_name/go_vendor') %]
|
|
| 19 | - |
|
| 20 | -cd client
|
|
| 21 | -go build -ldflags '-s[% IF c("var/android") %] -checklinkname=0[% END %]' -tags 'nopshufb,noasm,packetioSizeHardlimit,purego,safe,appengine,disableunsafe'
|
|
| 22 | -cp -a client[% IF c("var/windows") %].exe[% END %] $distdir/snowflake-client[% IF c("var/windows") %].exe[% END %]
|
|
| 23 | - |
|
| 24 | -cd ..
|
|
| 25 | -cp -a README.md $distdir/README.SNOWFLAKE.md
|
|
| 26 | - |
|
| 27 | -cd $distdir
|
|
| 28 | -[% c('tar', {
|
|
| 29 | - tar_src => [ '.' ],
|
|
| 30 | - tar_args => '-caf ' _ dest_dir _ '/' _ c('filename'),
|
|
| 31 | - }) %] |
| 1 | -# vim: filetype=yaml sw=2
|
|
| 2 | -version: '2.11.0'
|
|
| 3 | -git_url: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
|
|
| 4 | -git_hash: 'v[% c("version") %]'
|
|
| 5 | -gpg_keyring: anti-censorship.gpg
|
|
| 6 | -tag_gpg_id: 1
|
|
| 7 | - |
|
| 8 | -container:
|
|
| 9 | - use_container: 1
|
|
| 10 | - |
|
| 11 | -var:
|
|
| 12 | - go_vendor_sha256sum: 4c21a75c2fd0997a13fc5bb99991ff2c7149fb2342b857b06c70a18c4cb2ac89
|
|
| 13 | - |
|
| 14 | -targets:
|
|
| 15 | - nightly:
|
|
| 16 | - git_hash: main
|
|
| 17 | - version: '[% c("abbrev") %]'
|
|
| 18 | - tag_gpg_id: 0
|
|
| 19 | - var:
|
|
| 20 | - go_vendor_sha256sum: ''
|
|
| 21 | - |
|
| 22 | -steps:
|
|
| 23 | - build:
|
|
| 24 | - filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
|
|
| 25 | - input_files:
|
|
| 26 | - - project: container-image
|
|
| 27 | - - name: go
|
|
| 28 | - project: go
|
|
| 29 | - - name: '[% c("var/compiler") %]'
|
|
| 30 | - project: '[% c("var/compiler") %]'
|
|
| 31 | - enable: '[% c("var/android") %]'
|
|
| 32 | - - name: go_vendor
|
|
| 33 | - pkg_type: go_vendor
|
|
| 34 | - project: snowflake
|
|
| 35 | - norec:
|
|
| 36 | - sha256sum: '[% c("var/go_vendor_sha256sum") %]'
|
|
| 37 | - target_replace:
|
|
| 38 | - '^torbrowser-(?!testbuild).*': 'torbrowser-linux-x86_64' |
| ... | ... | @@ -14,7 +14,6 @@ cd tor |
| 14 | 14 | mkdir pluggable_transports && cd pluggable_transports
|
| 15 | 15 | |
| 16 | 16 | tar -xkf $rootdir/[% c('input_files_by_name/lyrebird') %]
|
| 17 | -tar -xkf $rootdir/[% c('input_files_by_name/snowflake') %]
|
|
| 18 | 17 | [% IF c('input_files_by_name/conjure') -%]
|
| 19 | 18 | tar -xkf $rootdir/[% c('input_files_by_name/conjure') %]
|
| 20 | 19 | [% END -%]
|
| ... | ... | @@ -35,8 +34,7 @@ cd $distdir |
| 35 | 34 | mkdir -p aar/assets/common
|
| 36 | 35 | |
| 37 | 36 | cp -a tor/libTor.so aar/jni/$abi/
|
| 38 | - cp -a tor/pluggable_transports/lyrebird aar/jni/$abi/libObfs4proxy.so
|
|
| 39 | - cp -a tor/pluggable_transports/snowflake-client aar/jni/$abi/libSnowflake.so
|
|
| 37 | + cp -a tor/pluggable_transports/lyrebird aar/jni/$abi/libLyrebird.so
|
|
| 40 | 38 | [% IF c('input_files_by_name/conjure') -%]
|
| 41 | 39 | cp -a tor/pluggable_transports/conjure-client aar/jni/$abi/libConjure.so
|
| 42 | 40 | [% END -%]
|
| ... | ... | @@ -16,8 +16,6 @@ input_files: |
| 16 | 16 | project: tor
|
| 17 | 17 | - name: lyrebird
|
| 18 | 18 | project: lyrebird
|
| 19 | - - name: snowflake
|
|
| 20 | - project: snowflake
|
|
| 21 | 19 | - name: conjure
|
| 22 | 20 | project: conjure
|
| 23 | 21 | enable: '[% !c("var/android-x86") && !c("var/android-x86_64") %]'
|
| 1 | 1 | {
|
| 2 | 2 | "recommendedDefault" : "obfs4",
|
| 3 | 3 | "pluggableTransports" : {
|
| 4 | - "lyrebird" : "ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit,webtunnel exec ${pt_path}lyrebird${pt_extension}",
|
|
| 5 | - "snowflake" : "ClientTransportPlugin snowflake exec ${pt_path}snowflake-client${pt_extension}",
|
|
| 4 | + "lyrebird" : "ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit,snowflake,webtunnel exec ${pt_path}lyrebird${pt_extension}",
|
|
| 6 | 5 | "conjure" : "ClientTransportPlugin conjure exec ${pt_path}conjure-client${pt_extension} -registerURL https://registration.refraction.network/api"
|
| 7 | 6 | },
|
| 8 | 7 | "bridges" : {
|