diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a3436e498c20f41ae4be3280598a35458a799a3a..85818957ef06207dc6ad53c5431a3857f6ca4e26 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,7 +24,7 @@ build: test: stage: test script: - - docker run -v `pwd`:/opt/go-reproducer ${TEST_IMAGE} /bin/bash -c "./build-obfs4proxy.py 0.0.9 && ./verify-obfs4proxy.py 0.0.9" + - docker run -v `pwd`:/opt/go-reproducer ${TEST_IMAGE} /bin/bash -c "./build-obfs4proxy.py && ./verify-obfs4proxy.py" allow_failure: true artifacts: paths: diff --git a/Dockerfile b/Dockerfile index bfb43d15f0aa9edc2602b67572b703f77534d09e..38bcb5260d396f1e3c71ae4f2fb1e10634e9521c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:stretch +FROM debian:buster ARG IGNORE_EXPIRY=0 ENV LANG=C.UTF-8 diff --git a/build-obfs4proxy.py b/build-obfs4proxy.py index 094e21d336e5ae1e5435d3441a30234b10f60e6d..3bb73927ab1745fa297190b0273e45c2d0b866d5 100755 --- a/build-obfs4proxy.py +++ b/build-obfs4proxy.py @@ -85,6 +85,11 @@ def build_android(versions): env['GOARM'] = "7" build_android_arch(versions, env, "arm-linux-androideabi", ndk_arch="arm", pie=True) + env = os.environ.copy() + env['GOARCH'] = "arm64" + env['GOARM'] = "7" + build_android_arch(versions, env, "aarch64-linux-android", ndk_arch="arm64", pie=True) + env = os.environ.copy() env['GOARCH'] = "386" build_android_arch(versions, env, "i686-linux-android", ndk_arch="x86", pie=False) @@ -93,6 +98,10 @@ def build_android(versions): env['GOARCH'] = "386" build_android_arch(versions, env, "i686-linux-android", ndk_arch="x86", pie=True) + env = os.environ.copy() + env['GOARCH'] = "amd64" + build_android_arch(versions, env, "x86_64-linux-android", ndk_arch="x86_64", pie=True) + def build_android_arch(versions, env, tool, ndk_arch, pie): toolchain = os.path.join("toolchain", ndk_arch) @@ -126,8 +135,8 @@ def build_linux(versions): def package_android(versions): - file_list = ['obfs4proxy_arm.zip', 'obfs4proxy_arm_pie.zip', - 'obfs4proxy_x86.zip', 'obfs4proxy_x86_pie.zip'] + file_list = ['obfs4proxy_arm.zip', 'obfs4proxy_arm_pie.zip', 'obfs4proxy_arm64_pie.zip', + 'obfs4proxy_x86.zip', 'obfs4proxy_x86_pie.zip', 'obfs4proxy_x86_64_pie.zip'] package(versions, file_list, android=True) diff --git a/install.sh b/install.sh index 37f2413680cfdbed185ff5a2414a7c7d3f3b5b78..3d20cb4c0f1495804e3211c5380596e0270b88eb 100755 --- a/install.sh +++ b/install.sh @@ -3,10 +3,10 @@ set -e set -x # use snapshot repos for deterministic package versions -DATE="20190219T000000Z" +DATE="20191004T000000Z" cat << EOF > /etc/apt/sources.list -deb http://snapshot.debian.org/archive/debian/${DATE}/ stretch main -deb http://snapshot.debian.org/archive/debian-security/${DATE}/ stretch/updates main +deb http://snapshot.debian.org/archive/debian/${DATE}/ buster main +deb http://snapshot.debian.org/archive/debian-security/${DATE}/ buster/updates main EOF # ignore expired package releases if env variable is set @@ -16,7 +16,7 @@ then fi # update package sources -apt-get update +apt-get update --allow-releaseinfo-change apt-get -y upgrade # do not install documentation to keep image small diff --git a/versions.json b/versions.json index 6f89db4e832af625deb67fb712650829d40c5992..68415b3c4945cb7fef8e6b2821f292b5c9038ce1 100644 --- a/versions.json +++ b/versions.json @@ -1,5 +1,19 @@ { "obfs4proxy": { + "0.0.11": { + "repo_url": "https://git.torproject.org/pluggable-transports/obfs4.git", + "revision": "obfs4proxy-0.0.11", + "build_path": "obfs4proxy", + "go": { + "version": "go1.11.5", + "sha256": "bc1ef02bb1668835db1390a2e478dcbccb5dd16911691af9d75184bbe5aa943e" + }, + "ndk": { + "url": "https://dl.google.com/android/repository/android-ndk-r18-linux-x86_64.zip", + "revision": "18.0.5002713", + "sha256": "c413dd014edc37f822d0dc88fabc05b64232d07d5c6e9345224e47073fdf140b" + } + }, "0.0.9": { "repo_url": "https://git.torproject.org/pluggable-transports/obfs4.git", "revision": "obfs4proxy-0.0.9",