richard pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
-
991ebf57
by Richard Pospesel at 2024-04-22T19:24:31+00:00
13 changed files:
- Makefile
- projects/browser/build
- projects/lyrebird/config
- projects/tor-android-service/config
- projects/tor-expert-bundle/build
- projects/tor-expert-bundle/config
- projects/tor-expert-bundle/pt_config.json
- − projects/tor-onion-proxy-library/0001-Bug-40800-Add-WebTunnel-support.patch
- + projects/tor-onion-proxy-library/0001-Bug-41111-Use-Lyrebird-to-provide-WebTunnel-PT-Client.patch
- projects/tor-onion-proxy-library/build
- projects/tor-onion-proxy-library/config
- − projects/webtunnel/build
- − projects/webtunnel/config
Changes:
... | ... | @@ -643,9 +643,6 @@ go_vendor-snowflake: submodule-update |
643 | 643 | go_vendor-conjure: submodule-update
|
644 | 644 | $(rbm) build conjure --step go_vendor --target alpha --target torbrowser-linux-x86_64
|
645 | 645 | |
646 | -go_vendor-webtunnel: submodule-update
|
|
647 | - $(rbm) build webtunnel --step go_vendor --target alpha --target torbrowser-linux-x86_64
|
|
648 | - |
|
649 | 646 | go_vendor-lyrebird: submodule-update
|
650 | 647 | $(rbm) build lyrebird --step go_vendor --target alpha --target torbrowser-linux-x86_64
|
651 | 648 |
... | ... | @@ -109,11 +109,8 @@ mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b |
109 | 109 | |
110 | 110 | # Move READMEs from tor-expert-bundle to the doc dir
|
111 | 111 | mkdir -p "$TBDIR/$DOCSPATH/snowflake" [% IF c("var/macos_universal") %]"$TBDIR_AARCH64/$DOCSPATH/snowflake"[% END %]
|
112 | - |
|
113 | - mkdir -p "$TBDIR/$DOCSPATH/webtunnel" [% IF c("var/macos_universal") %]"$TBDIR_AARCH64/$DOCSPATH/webtunnel"[% END %]
|
|
114 | 112 | mkdir -p "$TBDIR/$DOCSPATH/conjure" [% IF c("var/macos_universal") %]"$TBDIR_AARCH64/$DOCSPATH/conjure"[% END %]
|
115 | 113 | mv_tbdir tor/pluggable_transports/README.SNOWFLAKE.md "$DOCSPATH/snowflake/README.md"
|
116 | - mv_tbdir tor/pluggable_transports/README.WEBTUNNEL.md "$DOCSPATH/webtunnel/README.md"
|
|
117 | 114 | mv_tbdir tor/pluggable_transports/README.CONJURE.md "$DOCSPATH/conjure/README.md"
|
118 | 115 | |
119 | 116 | # Move the PTs to where TB expects them
|
1 | 1 | # vim: filetype=yaml sw=2
|
2 | -version: 0.1.0
|
|
2 | +version: 0.2.0
|
|
3 | 3 | git_url: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird.git
|
4 | 4 | git_hash: 'lyrebird-[% c("version") %]'
|
5 | 5 | tag_gpg_id: 1
|
... | ... | @@ -9,7 +9,7 @@ container: |
9 | 9 | use_container: 1
|
10 | 10 | |
11 | 11 | var:
|
12 | - go_vendor_sha256sum: d95d1fa8ce3904b76395b20ef169e8ef2b039fa485764b74739bb6290631537d
|
|
12 | + go_vendor_sha256sum: dc6b2671250f4ffd0caff3ef020bd60f99207f519f6f5f1be47243677a13c695
|
|
13 | 13 | |
14 | 14 | targets:
|
15 | 15 | nightly:
|
1 | 1 | # vim: filetype=yaml sw=2
|
2 | 2 | version: '[% c("abbrev") %]'
|
3 | 3 | filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %]'
|
4 | -git_hash: 0438a9a4ce1548be08dd2df891a38987bb313d22
|
|
4 | +git_hash: 27924bc748044e987c188be854ff1471397cdb6a
|
|
5 | 5 | git_url: https://gitlab.torproject.org/tpo/applications/tor-android-service.git
|
6 | 6 | git_submodule: 1
|
7 | 7 | container:
|
... | ... | @@ -15,7 +15,6 @@ mkdir pluggable_transports && cd pluggable_transports |
15 | 15 | |
16 | 16 | tar -xkf $rootdir/[% c('input_files_by_name/lyrebird') %]
|
17 | 17 | tar -xkf $rootdir/[% c('input_files_by_name/snowflake') %]
|
18 | -tar -xkf $rootdir/[% c('input_files_by_name/webtunnel') %]
|
|
19 | 18 | tar -xkf $rootdir/[% c('input_files_by_name/conjure') %]
|
20 | 19 | |
21 | 20 | # add per-platform pt extension
|
... | ... | @@ -35,7 +34,6 @@ cd $distdir |
35 | 34 | cp -a tor/pluggable_transports/conjure-client aar/jni/[% c('arch') %]/libConjure.so
|
36 | 35 | cp -a tor/pluggable_transports/lyrebird aar/jni/[% c('arch') %]/Lyrebird.so
|
37 | 36 | cp -a tor/pluggable_transports/snowflake-client aar/jni/[% c('arch') %]/libSnowflake.so
|
38 | - cp -a tor/pluggable_transports/webtunnel-client aar/jni/[% c('arch') %]/libWebtunnel.so
|
|
39 | 37 | |
40 | 38 | cp -a data/* aar/assets/common/
|
41 | 39 |
... | ... | @@ -18,8 +18,6 @@ input_files: |
18 | 18 | project: lyrebird
|
19 | 19 | - name: snowflake
|
20 | 20 | project: snowflake
|
21 | - - project: webtunnel
|
|
22 | - name: webtunnel
|
|
23 | 21 | - name: conjure
|
24 | 22 | project: conjure
|
25 | 23 | - filename: pt_config.json
|
1 | 1 | {
|
2 | 2 | "recommendedDefault" : "obfs4",
|
3 | 3 | "pluggableTransports" : {
|
4 | - "lyrebird" : "ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit exec ${pt_path}lyrebird${pt_extension}",
|
|
4 | + "lyrebird" : "ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit,webtunnel exec ${pt_path}lyrebird${pt_extension}",
|
|
5 | 5 | "snowflake" : "ClientTransportPlugin snowflake exec ${pt_path}snowflake-client${pt_extension}",
|
6 | - "webtunnel" : "ClientTransportPlugin webtunnel exec ${pt_path}webtunnel-client${pt_extension}",
|
|
7 | 6 | "conjure" : "ClientTransportPlugin conjure exec ${pt_path}conjure-client${pt_extension} -registerURL https://registration.refraction.network/api"
|
8 | 7 | },
|
9 | 8 | "bridges" : {
|
1 | -From 3a6f835e8089dd15f5cd6487b5cfbdfafe7422f8 Mon Sep 17 00:00:00 2001
|
|
2 | -From: Shelikhoo <xiaokangwang@outlook.com>
|
|
3 | -Date: Tue, 14 Feb 2023 16:59:59 +0000
|
|
4 | -Subject: [PATCH] add WebTunnel Support
|
|
5 | - |
|
6 | ----
|
|
7 | - android/build.gradle | 3 +++
|
|
8 | - .../thali/toronionproxy/TorConfigBuilder.java | 19 +++++++++++++++----
|
|
9 | - 2 files changed, 18 insertions(+), 4 deletions(-)
|
|
10 | - |
|
11 | -diff --git a/android/build.gradle b/android/build.gradle
|
|
12 | -index e107e8e..acd92c1 100644
|
|
13 | ---- a/android/build.gradle
|
|
14 | -+++ b/android/build.gradle
|
|
15 | -@@ -102,6 +102,9 @@ task copyPluggableTransports(type: Copy) {
|
|
16 | - rename { filename ->
|
|
17 | - filename.replace 'conjure-client', 'libConjure.so'
|
|
18 | - }
|
|
19 | -+ rename { filename ->
|
|
20 | -+ filename.replace 'webtunnel-client', 'libWebtunnel.so'
|
|
21 | -+ }
|
|
22 | - }
|
|
23 | -
|
|
24 | - gradle.projectsEvaluated {
|
|
25 | -diff --git a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
|
|
26 | -index b87993d..5e6d6c5 100644
|
|
27 | ---- a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
|
|
28 | -+++ b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
|
|
29 | -@@ -109,8 +109,8 @@ public final class TorConfigBuilder {
|
|
30 | - return this;
|
|
31 | - }
|
|
32 | -
|
|
33 | -- public TorConfigBuilder configurePluggableTransportsFromSettings(File pluggableTransportObfs, File pluggableTransportSnow, File pluggableTransportConjure) throws IOException {
|
|
34 | -- if (pluggableTransportObfs == null || pluggableTransportSnow == null || pluggableTransportConjure == null) {
|
|
35 | -+ public TorConfigBuilder configurePluggableTransportsFromSettings(File pluggableTransportObfs, File pluggableTransportSnow, File pluggableTransportConjure, File pluggableTransportWebtunnel) throws IOException {
|
|
36 | -+ if (pluggableTransportObfs == null || pluggableTransportSnow == null || pluggableTransportConjure == null || pluggableTransportWebtunnel == null) {
|
|
37 | - return this;
|
|
38 | - }
|
|
39 | -
|
|
40 | -@@ -144,7 +144,17 @@ public final class TorConfigBuilder {
|
|
41 | - .getCanonicalPath());
|
|
42 | - }
|
|
43 | -
|
|
44 | -- transportPlugin(pluggableTransportObfs.getCanonicalPath(), pluggableTransportSnow.getCanonicalPath(), pluggableTransportConjure.getCanonicalPath());
|
|
45 | -+ if (!pluggableTransportWebtunnel.exists()) {
|
|
46 | -+ throw new IOException("Webtunnel binary does not exist: " + pluggableTransportWebtunnel
|
|
47 | -+ .getCanonicalPath());
|
|
48 | -+ }
|
|
49 | -+
|
|
50 | -+ if (!pluggableTransportWebtunnel.canExecute()) {
|
|
51 | -+ throw new IOException("Webtunnel binary is not executable: " + pluggableTransportWebtunnel
|
|
52 | -+ .getCanonicalPath());
|
|
53 | -+ }
|
|
54 | -+
|
|
55 | -+ transportPlugin(pluggableTransportObfs.getCanonicalPath(), pluggableTransportSnow.getCanonicalPath(), pluggableTransportConjure.getCanonicalPath(), pluggableTransportWebtunnel.getCanonicalPath());
|
|
56 | - return this;
|
|
57 | - }
|
|
58 | -
|
|
59 | -@@ -511,10 +521,11 @@ public final class TorConfigBuilder {
|
|
60 | - return transPort(settings.transPort());
|
|
61 | - }
|
|
62 | -
|
|
63 | -- public TorConfigBuilder transportPlugin(String obfsPath, String snowPath, String conjurePath) {
|
|
64 | -+ public TorConfigBuilder transportPlugin(String obfsPath, String snowPath, String conjurePath, String webtunnelPath) {
|
|
65 | - buffer.append("ClientTransportPlugin meek_lite,obfs3,obfs4 exec ").append(obfsPath).append('\n');
|
|
66 | - buffer.append("ClientTransportPlugin snowflake exec ").append(snowPath).append('\n');
|
|
67 | - buffer.append("ClientTransportPlugin conjure exec ").append(conjurePath).append(" -registerURL https://registration.refraction.network/api\n");
|
|
68 | -+ buffer.append("ClientTransportPlugin webtunnel exec ").append(webtunnelPath).append('\n');
|
|
69 | - return this;
|
|
70 | - }
|
|
71 | -
|
|
72 | ---
|
|
73 | -2.34.1
|
|
74 | - |
1 | +From 4aa1038fd0d3acc212579fbd94566e062dd187e6 Mon Sep 17 00:00:00 2001
|
|
2 | +From: Richard Pospesel <richard@torproject.org>
|
|
3 | +Date: Mon, 22 Apr 2024 17:38:49 +0000
|
|
4 | +Subject: [PATCH] add WebTunnel Support
|
|
5 | + |
|
6 | +---
|
|
7 | +diff --git a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
|
|
8 | +index 8a439f8..77e6f35 100644
|
|
9 | +--- a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
|
|
10 | ++++ b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
|
|
11 | +@@ -512,7 +512,7 @@ public final class TorConfigBuilder {
|
|
12 | + }
|
|
13 | +
|
|
14 | + public TorConfigBuilder transportPlugin(String obfsPath, String snowPath, String conjurePath) {
|
|
15 | +- buffer.append("ClientTransportPlugin meek_lite,obfs3,obfs4 exec ").append(obfsPath).append('\n');
|
|
16 | ++ buffer.append("ClientTransportPlugin meek_lite,obfs3,obfs4,webtunnel exec ").append(obfsPath).append('\n');
|
|
17 | + buffer.append("ClientTransportPlugin snowflake exec ").append(snowPath).append('\n');
|
|
18 | + buffer.append("ClientTransportPlugin conjure exec ").append(conjurePath).append(" -registerURL https://registration.refraction.network/api\n");
|
|
19 | + return this; |
... | ... | @@ -37,7 +37,7 @@ patch -p1 < $rootdir/gradle.patch |
37 | 37 | patch -p1 < $rootdir/0001-Bug-33931-Filter-bridges-in-stream-by-type.patch
|
38 | 38 | patch -p1 < $rootdir/0001-Bug-30318-Add-snowflake-support.patch
|
39 | 39 | patch -p1 < $rootdir/0001-Bug-41361-Add-conjure-support.patch
|
40 | -patch -p1 < $rootdir/0001-Bug-40800-Add-WebTunnel-support.patch
|
|
40 | +patch -p1 < $rootdir/0001-Bug-41111-Use-Lyrebird-to-provide-WebTunnel-PT-Client.patch
|
|
41 | 41 | |
42 | 42 | [% FOREACH arch = ['armv7', 'aarch64', 'x86', 'x86_64'] -%]
|
43 | 43 | # Extract tor-expert-bundle
|
... | ... | @@ -54,18 +54,14 @@ patch -p1 < $rootdir/0001-Bug-40800-Add-WebTunnel-support.patch |
54 | 54 | cp $ptdir/snowflake-client external/pluto/bin/armeabi/
|
55 | 55 | cp $ptdir/conjure-client external/pluto/bin/armeabi-v7a/
|
56 | 56 | cp $ptdir/conjure-client external/pluto/bin/armeabi/
|
57 | - cp $ptdir/webtunnel-client external/pluto/bin/armeabi-v7a/
|
|
58 | - cp $ptdir/webtunnel-client external/pluto/bin/armeabi/
|
|
59 | 57 | [% ELSIF arch == "aarch64" -%]
|
60 | 58 | cp $ptdir/lyrebird external/pluto/bin/arm64-v8a/obfs4proxy
|
61 | 59 | cp $ptdir/snowflake-client external/pluto/bin/arm64-v8a/
|
62 | 60 | cp $ptdir/conjure-client external/pluto/bin/arm64-v8a/
|
63 | - cp $ptdir/webtunnel-client external/pluto/bin/arm64-v8a/
|
|
64 | 61 | [% ELSE -%]
|
65 | 62 | cp $ptdir/lyrebird external/pluto/bin/[% arch %]/obfs4proxy
|
66 | 63 | cp $ptdir/snowflake-client external/pluto/bin/[% arch %]/
|
67 | 64 | cp $ptdir/conjure-client external/pluto/bin/[% arch %]/
|
68 | - cp $ptdir/webtunnel-client external/pluto/bin/[% arch %]/
|
|
69 | 65 | [% END -%]
|
70 | 66 | [% END -%]
|
71 | 67 |
... | ... | @@ -41,4 +41,4 @@ input_files: |
41 | 41 | - filename: 0001-Bug-33931-Filter-bridges-in-stream-by-type.patch
|
42 | 42 | - filename: 0001-Bug-30318-Add-snowflake-support.patch
|
43 | 43 | - filename: 0001-Bug-41361-Add-conjure-support.patch
|
44 | - - filename: 0001-Bug-40800-Add-WebTunnel-support.patch |
|
44 | + - filename: 0001-Bug-41111-Use-Lyrebird-to-provide-WebTunnel-PT-Client.patch |
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 main/client
|
|
21 | -go build -ldflags '-s'
|
|
22 | -cp -a client[% IF c("var/windows") %].exe[% END %] $distdir/webtunnel-client[% IF c("var/windows") %].exe[% END %]
|
|
23 | - |
|
24 | -cd /var/tmp/build/[% project %]-[% c('version') %]
|
|
25 | -cp -a README.md $distdir/README.WEBTUNNEL.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: '[% c("abbrev") %]'
|
|
3 | -git_url: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel.git
|
|
4 | -git_hash: 38eb55054a5c3c072acc1d8f9a9afa36e3a5c9b7
|
|
5 | -container:
|
|
6 | - use_container: 1
|
|
7 | - |
|
8 | -steps:
|
|
9 | - build:
|
|
10 | - filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
|
|
11 | - input_files:
|
|
12 | - - project: container-image
|
|
13 | - - name: go
|
|
14 | - project: go
|
|
15 | - - name: '[% c("var/compiler") %]'
|
|
16 | - project: '[% c("var/compiler") %]'
|
|
17 | - enable: '[% c("var/android") %]'
|
|
18 | - - name: go_vendor
|
|
19 | - pkg_type: go_vendor
|
|
20 | - project: webtunnel
|
|
21 | - norec:
|
|
22 | - sha256sum: e3b5a9b3c3939aafa5389246f3a7a7e78d70fe623bed495f99c39cc37bbbe645
|
|
23 | - target_replace:
|
|
24 | - '^torbrowser-(?!testbuild).*': 'torbrowser-linux-x86_64' |