Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • cohosh/tor-browser-build
  • seb/tor-browser-build
  • Cortex65/tor-browser-build
  • gus/tor-browser-build
  • shelikhoo/tor-browser-build-2
  • meskio/tor-browser-build
  • msimonelli/tor-browser-build
  • dcf/tor-browser-build
  • ma1/tor-browser-build
  • dragjkngj/tor-browser-build
  • aguestuser/tor-browser-build
  • phw/tor-browser-build
  • yanmaani/tor-browser-build
  • acat/tor-browser-build
  • gk/tor-browser-build
  • boklm/tor-browser-build
  • tpo/applications/tor-browser-build
  • brade/tor-browser-build
  • sysrqb/tor-browser-build
  • JeremyRand/tor-browser-build
  • pierov/tor-browser-build
  • jla2040/tor-browser-build
  • dan/tor-browser-build
  • Sushrut1101/tor-browser-build
  • guest475646844/tor-browser-build
  • morgan/tor-browser-build
  • FlexFoot/tor-browser-build
  • Mynacol/tor-browser-build
  • NoisyCoil/tor-browser-build
  • murmelurmel/tor-browser-build
  • rustybird/tor-browser-build
  • jwilde/tor-browser-build
  • onyinyang/tor-browser-build
  • securitybrahh/tor-browser-build
  • Noino/tor-browser-build
  • ahf/tor-browser-build
  • cypherpunks1/tor-browser-build
  • henry/tor-browser-build
  • brizental/tor-browser-build
39 results
Show changes
Commits on Source (2)
Showing
with 26 additions and 1202 deletions
......@@ -100,8 +100,7 @@ for lang in $supported_locales; do
done
# Move Tor Android libraries
cp $rootdir/[% c('input_files_by_name/topl') %]/* app/
cp $rootdir/[% c('input_files_by_name/tor-android-service') %]/* app/
cp $rootdir/[% c('input_files_by_name/teb') %]/tor-expert-bundle.aar app/
mkdir -p "build/bin/nimbus/$as_version"
cp $distdir/application-services/nimbus-fml "build/bin/nimbus/$as_version"
......
......@@ -65,10 +65,8 @@ input_files:
- name: translation-fenix
project: translation
pkg_type: fenix
- project: tor-android-service
name: tor-android-service
- project: tor-onion-proxy-library
name: topl
- project: tor-expert-bundle-aar
name: teb
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
name: gradle-dependencies
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
......
......@@ -6,8 +6,6 @@ container:
var:
gradle_sha256sum:
5.6.4: 1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d
7.0.2: 0e46229820205440b48a5501122002842b82886e76af35f0f3a069243dca4b3c
7.5.1: f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4
7.6.1: 6147605a23b4eff6c334927a86ff3508cb5d6722cd624c97ded4c2e8640f1f87
......
#!/bin/bash
[% c("var/set_default_env") -%]
output_dir=[% dest_dir %]/[% c('filename') %]
gradle_repo=$rootdir/[% c('input_files_by_name/gradle-dependencies') %]
# The download script assumes artifact package name is the complete URL path.
# In some cases this is incorrect, so copy those artifacts to correct location
cp -r $gradle_repo/dl/android/maven2/* $gradle_repo
cp -r $gradle_repo/maven2/* $gradle_repo
mkdir -p /var/tmp/build $output_dir
[% pc(c('var/compiler'), 'var/setup', {
compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')),
gradle_tarfile => c("input_files_by_name/gradle"),
}) %]
# "Something" still uses this old binary name. Create a link as a workaround.
# The correct fix would involve updating the source and/or using a newer
# version of gradle.
pushd $ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin
for arch in arm armv7a; do
ln -s llvm-strip "$arch-linux-androideabi-strip"
done
for arch in aarch64 i686 x86_64; do
ln -s llvm-strip "$arch-linux-android-strip"
done
popd
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
unzip -d $rootdir $rootdir/[% c('input_files_by_name/jetifier') %]
cd /var/tmp/build/[% project %]-[% c('version') %]
# Replace pre-packaged tor library with the latest build
rm -fR service/src/main/jniLibs/*
[% FOREACH arch = ['armv7', 'aarch64', 'x86', 'x86_64'] -%]
# Extract tor-expert-bundle
tebdir=$rootdir/tor-expert-bundle-[% arch %]
mkdir $tebdir
tar -C $tebdir -xf $rootdir/[% c('input_files_by_name/tor-expert-bundle-' _ arch) %]/tor-expert-bundle.tar.gz
# Figure out our android abi from our arch
[% IF arch == "armv7" -%]
abi=armeabi-v7a
[% ELSIF arch == "aarch64" -%]
abi=arm64-v8a
[% ELSE -%]
abi=[% arch %]
[% END -%]
# Deploy the tor bin
mkdir -p service/src/main/jniLibs/$abi
cp $tebdir/tor/libTor.so service/src/main/jniLibs/$abi/libTor.so
# Copy over data (all archs have thesame data, so we only need to do this once)
[% IF arch == "armv7" -%]
# Copy over geoip(6)
mkdir -p service/src/main/assets/common
mv $tebdir/data/{geoip,geoip6} service/src/main/assets/common
# Update bridges list
PT_CONFIG="$tebdir/tor/pluggable_transports/pt_config.json"
# Writes bridge-line prefs for a given bridge type
BRIDGES_TXT="service/src/main/assets/common/bridges.txt"
echo -n "" > "${BRIDGES_TXT}"
function bridges_conf {
local bridge_type="$1"
jq -r ".bridges.\"$bridge_type\" | .[]" "${PT_CONFIG}" | while read -r line; do
echo $line >> "${BRIDGES_TXT}"
done
}
# Iterate over our bridge types and write default bridgelines for each
for bridge_type in $(jq -r ".bridges | keys[]" "${PT_CONFIG}"); do
bridges_conf $bridge_type
done
[% END -%]
[% END -%]
# Replace libraries with the config dependencies
rm service/libs/*
cp $rootdir/[% c('input_files_by_name/topl') %]/*{.aar,.jar} service/libs/
# Build Android Libraries and Apps
gradle --offline --no-daemon -P androidplugin=3.6.0 -P appcompatVersion=28.0.0 -P compileVersion=29 -P targetVersion=29 -P minVersion=16 -Dmaven.repo.local=$gradle_repo assembleRelease -x lint
# Bug 40398: Manually jetify each archive and save it in $output_dir
for aar in jsocksAndroid/build/outputs/aar/* service/build/outputs/aar/*; do
fn=`basename $aar`
$rootdir/jetifier-standalone/bin/jetifier-standalone -l info -i $aar -o $output_dir/$fn
done
#!/bin/bash
[% c("var/set_default_env") -%]
distdir=[% dest_dir %]/[% c('filename') %]
mkdir -p /var/tmp/build $distdir
mkdir tor-expert-bundle-aar
cd tor-expert-bundle-aar
[% FOREACH arch = ['armv7', 'aarch64', 'x86', 'x86_64'] -%]
unzip -o $rootdir/[% c('input_files_by_name/tor-expert-bundle-' _ arch) %]/tor-expert-bundle-[% arch %].aar
[% END -%]
jar -cvf $distdir/tor-expert-bundle.aar *
\ No newline at end of file
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
version: '[% c("var/torbrowser_version") %]'
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %]'
git_hash: 27924bc748044e987c188be854ff1471397cdb6a
git_url: https://gitlab.torproject.org/tpo/applications/tor-android-service.git
git_submodule: 1
container:
use_container: 1
var:
# this should be updated when the list of gradle dependencies is changed
gradle_dependencies_version: 5
gradle_version: 5.6.4
arch_deps:
- jq
input_files:
- project: container-image
- name: '[% c("var/compiler") %]'
project: '[% c("var/compiler") %]'
- project: gradle
name: gradle
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
name: gradle-dependencies
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
- project: tor-onion-proxy-library
name: topl
- project: tor-expert-bundle
name: tor-expert-bundle-armv7
target_replace:
......@@ -40,7 +25,4 @@ input_files:
- project: tor-expert-bundle
name: tor-expert-bundle-x86_64
target_replace:
'^torbrowser-(?!testbuild).*': 'torbrowser-android-x86_64'
- URL: 'https://dl.google.com/dl/android/studio/jetifier-zips/1.0.0-beta10/jetifier-standalone.zip'
name: jetifier
sha256sum: 38186db9c9d1b745890b3d35c0667da1cac146ceb3c26aae5bf0802119472c1b
'^torbrowser-(?!testbuild).*': 'torbrowser-android-x86_64'
\ No newline at end of file
......@@ -26,14 +26,16 @@ cd $distdir
[% IF c("var/android") -%]
aar_file=torExpertBundle-[% c('arch') %].aar
abi=[% c('var/abi') %]
mkdir aar
mkdir -p aar/jni/[% c('arch') %]
mkdir -p aar/jni/$abi
mkdir -p aar/assets/common
cp -a tor/libTor.so aar/jni/[% c('arch') %]/
cp -a tor/pluggable_transports/conjure-client aar/jni/[% c('arch') %]/libConjure.so
cp -a tor/pluggable_transports/lyrebird aar/jni/[% c('arch') %]/Lyrebird.so
cp -a tor/pluggable_transports/snowflake-client aar/jni/[% c('arch') %]/libSnowflake.so
cp -a tor/libTor.so aar/jni/$abi/
cp -a tor/pluggable_transports/conjure-client aar/jni/$abi/libConjure.so
cp -a tor/pluggable_transports/lyrebird aar/jni/$abi/libObfs4proxy.so
cp -a tor/pluggable_transports/snowflake-client aar/jni/$abi/libSnowflake.so
cp -a data/* aar/assets/common/
......
From e006e215b274b1b834e098b199ea2697bc11b0f1 Mon Sep 17 00:00:00 2001
From: Georg Koppen <gk@torproject.org>
Date: Sun, 10 May 2020 08:29:10 +0000
Subject: [PATCH] Bug 30318: Add snowflake support
diff --git a/android/build.gradle b/android/build.gradle
index a8d9bdc..2392731 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -93,6 +93,9 @@ task copyPluggableTransports(type: Copy) {
rename { filename ->
filename.replace 'obfs4proxy', 'libObfs4proxy.so'
}
+ rename { filename ->
+ filename.replace 'snowflake-client', 'libSnowflake.so'
+ }
}
gradle.projectsEvaluated {
diff --git a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
index 2405097..bcb6a37 100644
--- a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
+++ b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
@@ -109,22 +109,33 @@ public final class TorConfigBuilder {
return this;
}
- public TorConfigBuilder configurePluggableTransportsFromSettings(File pluggableTransportClient) throws IOException {
- if (pluggableTransportClient == null) {
+ public TorConfigBuilder configurePluggableTransportsFromSettings(File pluggableTransportObfs, File pluggableTransportSnow) throws IOException {
+ if (pluggableTransportObfs == null || pluggableTransportSnow == null) {
return this;
}
- if (!pluggableTransportClient.exists()) {
- throw new IOException("Bridge binary does not exist: " + pluggableTransportClient
+ if (!pluggableTransportObfs.exists()) {
+ throw new IOException("Obfs4proxy binary does not exist: " + pluggableTransportObfs
.getCanonicalPath());
}
- if (!pluggableTransportClient.canExecute()) {
- throw new IOException("Bridge binary is not executable: " + pluggableTransportClient
+ if (!pluggableTransportSnow.exists()) {
+ throw new IOException("Snowflake binary does not exist: " + pluggableTransportSnow
.getCanonicalPath());
}
- transportPlugin(pluggableTransportClient.getCanonicalPath());
+ if (!pluggableTransportObfs.canExecute()) {
+ throw new IOException("Obfs4proxy binary is not executable: " + pluggableTransportObfs
+ .getCanonicalPath());
+ }
+
+ if (!pluggableTransportSnow.canExecute()) {
+ throw new IOException("Snowflake binary is not executable: " + pluggableTransportSnow
+ .getCanonicalPath());
+ }
+
+
+ transportPlugin(pluggableTransportObfs.getCanonicalPath(), pluggableTransportSnow.getCanonicalPath());
return this;
}
@@ -491,8 +502,9 @@ public final class TorConfigBuilder {
return transPort(settings.transPort());
}
- public TorConfigBuilder transportPlugin(String clientPath) {
- buffer.append("ClientTransportPlugin meek_lite,obfs3,obfs4 exec ").append(clientPath).append('\n');
+ public TorConfigBuilder transportPlugin(String obfsPath, String snowPath) {
+ buffer.append("ClientTransportPlugin meek_lite,obfs3,obfs4 exec ").append(obfsPath).append('\n');
+ buffer.append("ClientTransportPlugin snowflake exec ").append(snowPath).append('\n');
return this;
}
@@ -557,6 +569,9 @@ public final class TorConfigBuilder {
case 3:
reqBridgeType = "meek_lite";
break;
+ case 4:
+ reqBridgeType = "snowflake";
+ break;
default:
throw new IOException("Requested unknown transport type: " + bridgesType);
}
--
2.26.2
From 9a2048f02d602cab7bd937c66a4d3f9c35fbfa9e Mon Sep 17 00:00:00 2001
From: Matthew Finkel <sysrqb@torproject.org>
Date: Thu, 30 Apr 2020 15:40:25 +0000
Subject: [PATCH] Bug 33931 - Filter bridges in stream by type
The InputStream contains a first-byte that indicates the format of the
following datastream. If the first-byte is 1, then the following stream
is a string of bridges that are separated by the '\n' byte. If the
first-byte is not 1, then the following data stream is default bridges
and that list should be filtered such that only the requested bridge
type is used.
---
.../thali/toronionproxy/TorConfigBuilder.java | 35 ++++++++++++++++---
1 file changed, 31 insertions(+), 4 deletions(-)
diff --git a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
index ab11948..2405097 100644
--- a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
+++ b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
@@ -535,9 +535,32 @@ public final class TorConfigBuilder {
TorConfigBuilder addBridgesFromResources() throws IOException {
if(settings.hasBridges()) {
InputStream bridgesStream = context.getInstaller().openBridgesStream();
- int formatType = bridgesStream.read();
- if (formatType == 0) {
- addBridges(bridgesStream);
+ // The first byte encodes the type of bridges contained within the
+ // following data stream. Currently, it may contain either default bridges
+ // or user-provided bridges.
+ int bridgesType = bridgesStream.read();
+
+ // When bridgesType is 0x01, then the following stream is
+ // user-provided (custom) bridges.
+ // When bridgesType is one of: 0x02 or 0x03, then the Stream
+ // consists of default PT bridges. That list must be filtered, after
+ // parsing each bridge line, such that only the requested bridge type
+ // is used.
+ if (bridgesType != 1) {
+ // Terrible hack. Must keep in sync with tas::CustomTorInstaller::openBridgesStream
+ // and transports defined by TorConfigBuilder::transportPlugin().
+ String reqBridgeType;
+ switch (bridgesType) {
+ case 2:
+ reqBridgeType = "obfs4";
+ break;
+ case 3:
+ reqBridgeType = "meek_lite";
+ break;
+ default:
+ throw new IOException("Requested unknown transport type: " + bridgesType);
+ }
+ addBridges(bridgesStream, reqBridgeType);
} else {
addCustomBridges(bridgesStream);
}
@@ -548,12 +571,16 @@ public final class TorConfigBuilder {
/**
* Add bridges from bridges.txt file.
*/
- private void addBridges(InputStream input) {
+ private void addBridges(InputStream input, String bridgeType) {
if (input == null) {
return;
}
List<Bridge> bridges = readBridgesFromStream(input);
for (Bridge b : bridges) {
+ if (!b.type.equals(bridgeType)) {
+ // This is not the transport we're looking for.
+ continue;
+ }
bridge(b.type, b.config);
}
}
--
2.20.1
From 4aa1038fd0d3acc212579fbd94566e062dd187e6 Mon Sep 17 00:00:00 2001
From: Richard Pospesel <richard@torproject.org>
Date: Mon, 22 Apr 2024 17:38:49 +0000
Subject: [PATCH] add WebTunnel Support
---
diff --git a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
index 8a439f8..77e6f35 100644
--- a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
+++ b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
@@ -512,7 +512,7 @@ public final class TorConfigBuilder {
}
public TorConfigBuilder transportPlugin(String obfsPath, String snowPath, String conjurePath) {
- buffer.append("ClientTransportPlugin meek_lite,obfs3,obfs4 exec ").append(obfsPath).append('\n');
+ buffer.append("ClientTransportPlugin meek_lite,obfs3,obfs4,webtunnel exec ").append(obfsPath).append('\n');
buffer.append("ClientTransportPlugin snowflake exec ").append(snowPath).append('\n');
buffer.append("ClientTransportPlugin conjure exec ").append(conjurePath).append(" -registerURL https://registration.refraction.network/api\n");
return this;
From edf4337158df11da3b6ef6d30050e2441cfeafeb Mon Sep 17 00:00:00 2001
From: Cecylia Bocovich <cohosh@torproject.org>
Date: Thu, 13 Oct 2022 10:20:59 -0400
Subject: [PATCH] Bug 41361: Add conjure support
---
android/build.gradle | 3 +++
.../thali/toronionproxy/TorConfigBuilder.java | 18 ++++++++++++++----
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/android/build.gradle b/android/build.gradle
index 2392731..b1aca0a 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -96,6 +96,9 @@ task copyPluggableTransports(type: Copy) {
rename { filename ->
filename.replace 'snowflake-client', 'libSnowflake.so'
}
+ rename { filename ->
+ filename.replace 'conjure-client', 'libConjure.so'
+ }
}
gradle.projectsEvaluated {
diff --git a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
index cc10783..c7e20c0 100644
--- a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
+++ b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfigBuilder.java
@@ -109,8 +109,8 @@ public final class TorConfigBuilder {
return this;
}
- public TorConfigBuilder configurePluggableTransportsFromSettings(File pluggableTransportObfs, File pluggableTransportSnow) throws IOException {
- if (pluggableTransportObfs == null || pluggableTransportSnow == null) {
+ public TorConfigBuilder configurePluggableTransportsFromSettings(File pluggableTransportObfs, File pluggableTransportSnow, File pluggableTransportConjure) throws IOException {
+ if (pluggableTransportObfs == null || pluggableTransportSnow == null || pluggableTransportConjure == null) {
return this;
}
@@ -124,6 +124,11 @@ public final class TorConfigBuilder {
.getCanonicalPath());
}
+ if (!pluggableTransportConjure.exists()) {
+ throw new IOException("Conjure binary does not exist: " + pluggableTransportConjure
+ .getCanonicalPath());
+ }
+
if (!pluggableTransportObfs.canExecute()) {
throw new IOException("Obfs4proxy binary is not executable: " + pluggableTransportObfs
.getCanonicalPath());
@@ -134,8 +139,12 @@ public final class TorConfigBuilder {
.getCanonicalPath());
}
+ if (!pluggableTransportConjure.canExecute()) {
+ throw new IOException("Conjure binary is not executable: " + pluggableTransportConjure
+ .getCanonicalPath());
+ }
- transportPlugin(pluggableTransportObfs.getCanonicalPath(), pluggableTransportSnow.getCanonicalPath());
+ transportPlugin(pluggableTransportObfs.getCanonicalPath(), pluggableTransportSnow.getCanonicalPath(), pluggableTransportConjure.getCanonicalPath());
return this;
}
@@ -502,9 +511,10 @@ public final class TorConfigBuilder {
return transPort(settings.transPort());
}
- public TorConfigBuilder transportPlugin(String obfsPath, String snowPath) {
+ public TorConfigBuilder transportPlugin(String obfsPath, String snowPath, String conjurePath) {
buffer.append("ClientTransportPlugin meek_lite,obfs3,obfs4 exec ").append(obfsPath).append('\n');
buffer.append("ClientTransportPlugin snowflake exec ").append(snowPath).append('\n');
+ buffer.append("ClientTransportPlugin conjure exec ").append(conjurePath).append(" -registerURL https://registration.refraction.network/api\n");
return this;
}
--
2.37.2
#!/bin/bash
[% c("var/set_default_env") -%]
output_dir=[% dest_dir %]/[% c('filename') %]
gradle_repo=$rootdir/[% c('input_files_by_name/gradle-dependencies') %]
# The download script assumes artifact package name is the complete URL path.
# In some cases this is incorrect, so copy those artifacts to correct location
cp -r $gradle_repo/guardianproject/gpmaven/master/* $gradle_repo
cp -r $gradle_repo/dl/android/maven2/* $gradle_repo
cp -r $gradle_repo/maven2/* $gradle_repo
mkdir -p /var/tmp/build $output_dir
[% pc(c('var/compiler'), 'var/setup', {
compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')),
gradle_tarfile => c("input_files_by_name/gradle"),
}) %]
# "Something" still uses this old binary name. Create a link as a workaround.
# The correct fix would involve updating the source and/or using a newer
# version of gradle.
pushd $ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin
for arch in arm armv7a; do
ln -s llvm-strip "$arch-linux-androideabi-strip"
done
for arch in aarch64 i686 x86_64; do
ln -s llvm-strip "$arch-linux-android-strip"
done
popd
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
# Patch projects
cd /var/tmp/build/[% project %]-[% c('version') %]
# Gradle patch provided so that when generating a gradle dependency list, the
# build will pull down the correct android tool versions
patch -p1 < $rootdir/gradle.patch
patch -p1 < $rootdir/0001-Bug-33931-Filter-bridges-in-stream-by-type.patch
patch -p1 < $rootdir/0001-Bug-30318-Add-snowflake-support.patch
patch -p1 < $rootdir/0001-Bug-41361-Add-conjure-support.patch
patch -p1 < $rootdir/0001-Bug-41111-Use-Lyrebird-to-provide-WebTunnel-PT-Client.patch
[% FOREACH arch = ['armv7', 'aarch64', 'x86', 'x86_64'] -%]
# Extract tor-expert-bundle
tebdir=$rootdir/tor-expert-bundle-[% arch %]
mkdir $tebdir
tar -C $tebdir -xf $rootdir/[% c('input_files_by_name/tor-expert-bundle-' _ arch) %]/tor-expert-bundle.tar.gz
ptdir=$tebdir/tor/pluggable_transports
# Overwrite the obfs4proxy binary provided by Pluto and add Snowflake
[% IF arch == "armv7" -%]
cp $ptdir/lyrebird external/pluto/bin/armeabi-v7a/obfs4proxy
cp $ptdir/lyrebird external/pluto/bin/armeabi/obfs4proxy
cp $ptdir/snowflake-client external/pluto/bin/armeabi-v7a/
cp $ptdir/snowflake-client external/pluto/bin/armeabi/
cp $ptdir/conjure-client external/pluto/bin/armeabi-v7a/
cp $ptdir/conjure-client external/pluto/bin/armeabi/
[% ELSIF arch == "aarch64" -%]
cp $ptdir/lyrebird external/pluto/bin/arm64-v8a/obfs4proxy
cp $ptdir/snowflake-client external/pluto/bin/arm64-v8a/
cp $ptdir/conjure-client external/pluto/bin/arm64-v8a/
[% ELSE -%]
cp $ptdir/lyrebird external/pluto/bin/[% arch %]/obfs4proxy
cp $ptdir/snowflake-client external/pluto/bin/[% arch %]/
cp $ptdir/conjure-client external/pluto/bin/[% arch %]/
[% END -%]
[% END -%]
# Build Android Libraries and Apps
gradle --offline --no-daemon -P androidplugin=3.6.0 -Dmaven.repo.local=$gradle_repo assembleRelease -x lint
# Package
cp universal/build/libs/* android/build/outputs/aar/* $output_dir
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %]'
git_hash: aeb63ebd079b646a3ec1b7b84d755653baa467d7
git_url: https://github.com/thaliproject/Tor_Onion_Proxy_Library.git
git_submodule: 1
container:
use_container: 1
var:
# this should be updated when the list of gradle dependencies is changed
gradle_dependencies_version: 5
gradle_version: 5.6.4
input_files:
- project: container-image
- name: '[% c("var/compiler") %]'
project: '[% c("var/compiler") %]'
- project: gradle
name: gradle
- project: tor-expert-bundle
name: tor-expert-bundle-armv7
target_replace:
'^torbrowser-(?!testbuild).*': 'torbrowser-android-armv7'
- project: tor-expert-bundle
name: tor-expert-bundle-aarch64
target_replace:
'^torbrowser-(?!testbuild).*': 'torbrowser-android-aarch64'
- project: tor-expert-bundle
name: tor-expert-bundle-x86
target_replace:
'^torbrowser-(?!testbuild).*': 'torbrowser-android-x86'
- project: tor-expert-bundle
name: tor-expert-bundle-x86_64
target_replace:
'^torbrowser-(?!testbuild).*': 'torbrowser-android-x86_64'
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
name: gradle-dependencies
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
- filename: gradle.patch
- filename: 0001-Bug-33931-Filter-bridges-in-stream-by-type.patch
- filename: 0001-Bug-30318-Add-snowflake-support.patch
- filename: 0001-Bug-41361-Add-conjure-support.patch
- filename: 0001-Bug-41111-Use-Lyrebird-to-provide-WebTunnel-PT-Client.patch
From a39b5c7b089c249f1ba04c297babe22d2bcd75f2 Mon Sep 17 00:00:00 2001
From: Georg Koppen <gk@torproject.org>
Date: Sat, 26 Dec 2020 21:17:59 +0000
Subject: [PATCH] test
diff --git a/android/build.gradle b/android/build.gradle
index a8d9bdc..e0eb541 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -7,6 +7,7 @@ buildscript {
mavenLocal()
mavenCentral()
google()
+ jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:${androidplugin}"
@@ -14,11 +15,11 @@ buildscript {
}
android {
- compileSdkVersion 28
+ compileSdkVersion 29
defaultConfig {
minSdkVersion 16
- targetSdkVersion 28
+ targetSdkVersion 29
versionCode 1
versionName "0.0.3"
consumerProguardFiles 'proguard-rules.pro'
@@ -40,7 +41,9 @@ publishing {
groupId 'com.msopentech.thali.toronionproxy.android'
artifactId 'android'
version '0.0.3'
- artifact(sourceJar)
+ afterEvaluate {
+ artifact(sourceJar)
+ }
artifact("$buildDir/outputs/aar/android-release.aar")
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
diff --git a/android_tor_installer/build.gradle b/android_tor_installer/build.gradle
index 554fd49..92e84d4 100644
--- a/android_tor_installer/build.gradle
+++ b/android_tor_installer/build.gradle
@@ -7,6 +7,7 @@ buildscript {
mavenLocal()
mavenCentral()
google()
+ jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:${androidplugin}"
@@ -14,11 +15,11 @@ buildscript {
}
android {
- compileSdkVersion 28
+ compileSdkVersion 29
defaultConfig {
minSdkVersion 16
- targetSdkVersion 28
+ targetSdkVersion 29
versionCode 1
versionName "0.0.3"
@@ -48,7 +49,7 @@ repositories {
mavenLocal()
mavenCentral()
google()
- maven { url "https://repo.spring.io/plugins-release" }
+ jcenter()
maven { url "https://raw.githubusercontent.com/guardianproject/gpmaven/master" }
}
diff --git a/build.gradle b/build.gradle
index a269024..43b9e13 100644
--- a/build.gradle
+++ b/build.gradle
@@ -8,7 +8,7 @@ subprojects {
repositories {
mavenLocal()
mavenCentral()
- maven { url "https://repo.spring.io/plugins-release" }
+ jcenter()
}
}
--
2.30.0.rc2