mirror of
https://github.com/onionshare/onionshare.git
synced 2025-06-17 11:09:19 -04:00
Rip out code to build tor, and just get it from Tor Browser again
This commit is contained in:
parent
144761c0bb
commit
f29cd31058
1 changed files with 32 additions and 566 deletions
|
@ -8,18 +8,15 @@ workflows:
|
||||||
ci:
|
ci:
|
||||||
jobs:
|
jobs:
|
||||||
- test-cli
|
- test-cli
|
||||||
# - test-gui
|
- test-gui
|
||||||
- build-tor-windows:
|
- build-win64:
|
||||||
requires:
|
requires:
|
||||||
- test-cli
|
- test-cli
|
||||||
# - build-win64:
|
# - test-gui
|
||||||
# requires:
|
- build-win32:
|
||||||
# - test-cli
|
requires:
|
||||||
# # - test-gui
|
- test-cli
|
||||||
# - build-win32:
|
# - test-gui
|
||||||
# requires:
|
|
||||||
# - test-cli
|
|
||||||
# # - test-gui
|
|
||||||
# - build-macos:
|
# - build-macos:
|
||||||
# requires:
|
# requires:
|
||||||
# - test-cli
|
# - test-cli
|
||||||
|
@ -85,389 +82,11 @@ jobs:
|
||||||
cd ~/project/desktop
|
cd ~/project/desktop
|
||||||
QT_DEBUG_PLUGINS=1 xvfb-run poetry run pytest -v ./tests/test_gui_*.py
|
QT_DEBUG_PLUGINS=1 xvfb-run poetry run pytest -v ./tests/test_gui_*.py
|
||||||
|
|
||||||
# Based off of https://github.com/ahf/tor-win32
|
|
||||||
build-tor-windows:
|
|
||||||
docker:
|
|
||||||
- image: debian:bullseye
|
|
||||||
resource_class: medium+
|
|
||||||
environment:
|
|
||||||
# NOTE: change when upgrading openssl
|
|
||||||
OPENSSL_VERSION: "3.0.3"
|
|
||||||
# NOTE: change when upgrading libevent
|
|
||||||
LIBEVENT_TAG: release-2.1.12-stable
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
TOR_TAG: tor-0.4.7.7
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Install build dependencies
|
|
||||||
command: |
|
|
||||||
apt-get update
|
|
||||||
apt-get install -y git wget curl build-essential autoconf automake libtool gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 libz-mingw-w64-dev
|
|
||||||
|
|
||||||
- run:
|
|
||||||
name: Create folders
|
|
||||||
command: |
|
|
||||||
mkdir -p /build
|
|
||||||
mkdir -p /build/{src,dist,prefix-openssl-x32,prefix-openssl-x64,prefix-libevent-x32,prefix-libevent-x64,prefix-tor-x32,prefix-tor-x64}
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading openssl
|
|
||||||
key: build-tor-windows-download-openssl-3.0.3-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Download openssl
|
|
||||||
command: |
|
|
||||||
if [[ -f "/build/dist/openssl-$OPENSSL_VERSION.tar.gz" ]]; then
|
|
||||||
echo "openssl already downloaded, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd /build/dist
|
|
||||||
|
|
||||||
# download
|
|
||||||
wget https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz
|
|
||||||
echo "ee0078adcef1de5f003c62c80cc96527721609c6f3bb42b7795df31f8b558c0b openssl-$OPENSSL_VERSION.tar.gz" | sha256sum --check --status
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "openssl checksum failed"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading openssl
|
|
||||||
key: build-tor-windows-download-openssl-3.0.3-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- /build/dist/openssl-3.0.3.tar.gz
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading libevent
|
|
||||||
key: build-tor-windows-download-libevent-2.1.12-stable-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Download libevent
|
|
||||||
command: |
|
|
||||||
if [[ -d "/build/dist/libevent" ]]; then
|
|
||||||
echo "livevent already downloaded, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# git clone
|
|
||||||
curl "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x9e3ac83a27974b84d1b3401db86086848ef8686d" | gpg --import
|
|
||||||
cd /build/dist
|
|
||||||
git clone https://github.com/libevent/libevent.git
|
|
||||||
cd libevent
|
|
||||||
git tag -v $LIBEVENT_TAG
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "libevent tag doesn't verify"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
git checkout $LIBEVENT_TAG
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading libevent
|
|
||||||
key: build-tor-windows-download-libevent-2.1.12-stable-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- /build/dist/libevent
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
key: build-tor-windows-download-tor-0.4.7.7-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Download tor
|
|
||||||
command: |
|
|
||||||
if [[ -d "/build/dist/tor" ]]; then
|
|
||||||
echo "tor already downloaded, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# git clone
|
|
||||||
curl https://keys.openpgp.org/vks/v1/by-fingerprint/B74417EDDF22AC9F9E90F49142E86A2A11F48D36 | gpg --import
|
|
||||||
cd /build/dist
|
|
||||||
git clone https://git.torproject.org/tor.git
|
|
||||||
cd tor
|
|
||||||
git tag -v $TOR_TAG
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "tor tag doesn't verify"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
git checkout $TOR_TAG
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
key: build-tor-windows-download-tor-0.4.7.7-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- /build/dist/tor
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading openssl
|
|
||||||
key: build-tor-windows-openssl-x32-3.0.3-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Build openssl (32-bit)
|
|
||||||
command: |
|
|
||||||
if [[ -f "/build/prefix-openssl-x32/bin/openssl.exe" ]]; then
|
|
||||||
echo "openssl (32-bit) already compiled, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# extract
|
|
||||||
tar zxfv /build/dist/openssl-$OPENSSL_VERSION.tar.gz -C /build/src/
|
|
||||||
mv /build/src/openssl-$OPENSSL_VERSION /build/src/openssl-x32
|
|
||||||
|
|
||||||
# build 32-bit
|
|
||||||
export MINGW=mingw
|
|
||||||
export HOST=i686-w64-mingw32
|
|
||||||
cd /build/src/openssl-x32
|
|
||||||
./Configure $MINGW shared --cross-compile-prefix=$HOST- --prefix=/build/prefix-openssl-x32
|
|
||||||
make -j$(nproc)
|
|
||||||
make install
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading openssl
|
|
||||||
key: build-tor-windows-openssl-x32-3.0.3-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- /build/prefix-openssl-x32
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading openssl
|
|
||||||
key: build-tor-windows-openssl-x64-3.0.3-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Build openssl (64-bit)
|
|
||||||
command: |
|
|
||||||
if [[ -f "/build/prefix-openssl-x64/bin/openssl.exe" ]]; then
|
|
||||||
echo "openssl (64-bit) already compiled, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# extract
|
|
||||||
tar zxfv /build/dist/openssl-$OPENSSL_VERSION.tar.gz -C /build/src/
|
|
||||||
mv /build/src/openssl-$OPENSSL_VERSION /build/src/openssl-x64
|
|
||||||
|
|
||||||
# build 64-bit
|
|
||||||
export MINGW=mingw64
|
|
||||||
export HOST=x86_64-w64-mingw32
|
|
||||||
cd /build/src/openssl-x64
|
|
||||||
./Configure $MINGW shared --cross-compile-prefix=$HOST- --prefix=/build/prefix-openssl-x64
|
|
||||||
make -j$(nproc)
|
|
||||||
make install
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading openssl
|
|
||||||
key: build-tor-windows-openssl-x64-3.0.3-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- /build/prefix-openssl-x64
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading libevent
|
|
||||||
key: build-tor-windows-libevent-x32-2.1.12-stable-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Build libevent (32-bit)
|
|
||||||
command: |
|
|
||||||
if [[ -d "/build/prefix-libevent-x32/lib" ]]; then
|
|
||||||
echo "libevent (32-bit) already compiled, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -r /build/dist/libevent /build/src/libevent-x32
|
|
||||||
|
|
||||||
# build 32-bit
|
|
||||||
export MINGW=mingw
|
|
||||||
export HOST=i686-w64-mingw32
|
|
||||||
cd /build/src/libevent-x32
|
|
||||||
./autogen.sh
|
|
||||||
./configure --host=$HOST --prefix=/build/prefix-libevent-x32 --disable-openssl
|
|
||||||
make -j$(nproc)
|
|
||||||
make install
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading libevent
|
|
||||||
key: build-tor-windows-libevent-x32-2.1.12-stable-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- /build/prefix-libevent-x32
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading libevent
|
|
||||||
key: build-tor-windows-libevent-x64-2.1.12-stable-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Build libevent (64-bit)
|
|
||||||
command: |
|
|
||||||
if [[ -d "/build/prefix-libevent-x64/lib" ]]; then
|
|
||||||
echo "libevent (64-bit) already compiled, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -r /build/dist/libevent /build/src/libevent-x64
|
|
||||||
|
|
||||||
# build 64-bit
|
|
||||||
export MINGW=mingw64
|
|
||||||
export HOST=x86_64-w64-mingw32
|
|
||||||
cd /build/src/libevent-x64
|
|
||||||
./autogen.sh
|
|
||||||
./configure --host=$HOST --prefix=/build/prefix-libevent-x64 --disable-openssl
|
|
||||||
make -j$(nproc)
|
|
||||||
make install
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading libevent
|
|
||||||
key: build-tor-windows-libevent-x64-2.1.12-stable-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- /build/prefix-libevent-x64
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
key: build-tor-windows-tor-x32-0.4.7.7-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Build tor (32-bit)
|
|
||||||
command: |
|
|
||||||
if [[ -f "/build/prefix-tor-x32/bin/tor.exe" ]]; then
|
|
||||||
echo "tor (32-bit) already compiled, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -r /build/dist/tor /build/src/tor-x32
|
|
||||||
|
|
||||||
# build 32-bit
|
|
||||||
export MINGW=mingw
|
|
||||||
export HOST=i686-w64-mingw32
|
|
||||||
cd /build/src/tor-x32
|
|
||||||
./autogen.sh
|
|
||||||
./configure --host=$HOST \
|
|
||||||
--disable-asciidoc \
|
|
||||||
--disable-zstd \
|
|
||||||
--disable-lzma \
|
|
||||||
--enable-static-libevent \
|
|
||||||
--with-libevent-dir=/build/prefix-libevent-x32 \
|
|
||||||
--enable-static-openssl \
|
|
||||||
--with-openssl-dir=/build/prefix-openssl-x32 \
|
|
||||||
--disable-tool-name-check \
|
|
||||||
--enable-fatal-warnings \
|
|
||||||
--prefix=/build/prefix-tor-x32 && \
|
|
||||||
make -j$(nproc) && \
|
|
||||||
make install
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
key: build-tor-windows-tor-x32-0.4.7.7-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- /build/prefix-tor-x32
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
key: build-tor-windows-tor-x64-0.4.7.7-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Build tor (64-bit)
|
|
||||||
command: |
|
|
||||||
if [[ -f "/build/prefix-tor-x64/bin/tor.exe" ]]; then
|
|
||||||
echo "tor (64-bit) already compiled, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -r /build/dist/tor /build/src/tor-x64
|
|
||||||
|
|
||||||
# build 64-bit
|
|
||||||
export MINGW=mingw64
|
|
||||||
export HOST=x86_64-w64-mingw32
|
|
||||||
./autogen.sh
|
|
||||||
cd /build/src/tor-x64
|
|
||||||
./configure --host=$HOST \
|
|
||||||
--disable-asciidoc \
|
|
||||||
--disable-zstd \
|
|
||||||
--disable-lzma \
|
|
||||||
--enable-static-libevent \
|
|
||||||
--with-libevent-dir=/build/prefix-libevent-x64 \
|
|
||||||
--enable-static-openssl \
|
|
||||||
--with-openssl-dir=/build/prefix-openssl-x64 \
|
|
||||||
--disable-tool-name-check \
|
|
||||||
--enable-fatal-warnings \
|
|
||||||
--prefix=/build/prefix-tor-x64 && \
|
|
||||||
make -j$(nproc) && \
|
|
||||||
make install
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
key: build-tor-windows-tor-x64-0.4.7.7-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- /build/prefix-tor-x64
|
|
||||||
|
|
||||||
- persist_to_workspace:
|
|
||||||
root: /build/prefix
|
|
||||||
paths:
|
|
||||||
- prefix-tor-x32
|
|
||||||
- prefix-tor-x64
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
key: build-tor-windows-tor-0.4.7.7-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Build tor
|
|
||||||
command: |
|
|
||||||
if [[ -f "/build/prefix-tor-x32/bin/tor.exe" ]]; then
|
|
||||||
echo "tor already compiled, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# git clone
|
|
||||||
curl https://keys.openpgp.org/vks/v1/by-fingerprint/B74417EDDF22AC9F9E90F49142E86A2A11F48D36 | gpg --import
|
|
||||||
cd /build/src
|
|
||||||
git clone https://git.torproject.org/tor.git
|
|
||||||
cd tor
|
|
||||||
git tag -v $TOR_TAG
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "tor tag doesn't verify"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
git checkout $TOR_TAG
|
|
||||||
|
|
||||||
cd /build
|
|
||||||
mv /build/src/tor /build/src/tor-x32
|
|
||||||
cp -r /build/src/tor-x32 /build/src/tor-x64
|
|
||||||
|
|
||||||
# build 32-bit
|
|
||||||
export MINGW=mingw
|
|
||||||
export HOST=i686-w64-mingw32
|
|
||||||
cd /build/src/tor-x32
|
|
||||||
./autogen.sh
|
|
||||||
./configure --host=$HOST \
|
|
||||||
--disable-asciidoc \
|
|
||||||
--disable-zstd \
|
|
||||||
--disable-lzma \
|
|
||||||
--enable-static-libevent \
|
|
||||||
--with-libevent-dir=/build/prefix-libevent-x32 \
|
|
||||||
--enable-static-openssl \
|
|
||||||
--with-openssl-dir=/build/prefix-openssl-x32 \
|
|
||||||
--disable-tool-name-check \
|
|
||||||
--enable-fatal-warnings \
|
|
||||||
--prefix=/build/prefix-tor-x32
|
|
||||||
make -j$(nproc)
|
|
||||||
make install
|
|
||||||
|
|
||||||
# build 64-bit
|
|
||||||
export MINGW=mingw64
|
|
||||||
export HOST=x86_64-w64-mingw32
|
|
||||||
./autogen.sh
|
|
||||||
cd /build/src/tor-x64
|
|
||||||
./configure --host=$HOST \
|
|
||||||
--disable-asciidoc \
|
|
||||||
--disable-zstd \
|
|
||||||
--disable-lzma \
|
|
||||||
--enable-static-libevent \
|
|
||||||
--with-libevent-dir=/build/prefix-libevent-x64 \
|
|
||||||
--enable-static-openssl \
|
|
||||||
--with-openssl-dir=/build/prefix-openssl-x64 \
|
|
||||||
--disable-tool-name-check \
|
|
||||||
--enable-fatal-warnings \
|
|
||||||
--prefix=/build/prefix-tor-x64
|
|
||||||
make -j$(nproc)
|
|
||||||
make install
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
key: build-tor-windows-tor-0.4.7.7-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- /build/prefix-tor-x32
|
|
||||||
- /build/prefix-tor-x64
|
|
||||||
|
|
||||||
- persist_to_workspace:
|
|
||||||
root: /build
|
|
||||||
paths:
|
|
||||||
- prefix-tor-x32
|
|
||||||
- prefix-tor-x64
|
|
||||||
|
|
||||||
build-win64:
|
build-win64:
|
||||||
executor:
|
executor:
|
||||||
name: win/default
|
name: win/default
|
||||||
shell: powershell.exe
|
shell: powershell.exe
|
||||||
environment:
|
environment:
|
||||||
# NOTE: change when upgrading libevent
|
|
||||||
LIBEVENT_TAG: release-2.1.12-stable
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
TOR_TAG: tor-0.4.7.7
|
|
||||||
# NOTE: change when upgrading obfs4proxy
|
# NOTE: change when upgrading obfs4proxy
|
||||||
OBFS4PROXY_TAG: obfs4proxy-0.0.13
|
OBFS4PROXY_TAG: obfs4proxy-0.0.13
|
||||||
# NOTE: change when upgrading snowflake
|
# NOTE: change when upgrading snowflake
|
||||||
|
@ -477,114 +96,6 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
|
|
||||||
- run:
|
|
||||||
name: Install cygwin and required packages
|
|
||||||
shell: bash.exe --login -eo pipefail
|
|
||||||
command: |
|
|
||||||
curl -o setup-x86_64.exe https://cygwin.com/setup-x86_64.exe
|
|
||||||
curl -o setup-x86_64.exe.sig https://cygwin.com/setup-x86_64.exe.sig
|
|
||||||
curl -o pubring.asc https://cygwin.com/key/pubring.asc
|
|
||||||
|
|
||||||
gpg --import pubring.asc
|
|
||||||
gpg --verify setup-x86_64.exe.sig setup-x86_64.exe
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "cygwin signature doesn't verify"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
|
|
||||||
./setup-x86_64.exe -q -s https://mirrors.kernel.org/sourceware/cygwin/ \
|
|
||||||
-P libssl-devel,zlib-devel,git,gcc-core,make,autoconf,automake,libtool,gnupg
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading libevent
|
|
||||||
key: build-win64-libevent-2.1.12-stable-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Build libevent
|
|
||||||
shell: C:\\cygwin64\\bin\\bash.exe --login -eo pipefail
|
|
||||||
command: |
|
|
||||||
if [[ -d "/cygdrive/c/Users/circleci/build/libevent" ]]; then
|
|
||||||
echo "libevent already compiled, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p /cygdrive/c/Users/circleci/src
|
|
||||||
mkdir -p /cygdrive/c/Users/circleci/build
|
|
||||||
|
|
||||||
# Get source
|
|
||||||
curl "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x9e3ac83a27974b84d1b3401db86086848ef8686d" | gpg --import
|
|
||||||
cd /cygdrive/c/Users/circleci/src
|
|
||||||
git clone https://github.com/libevent/libevent.git
|
|
||||||
cd libevent
|
|
||||||
git tag -v $LIBEVENT_TAG
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "libevent tag doesn't verify"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
git checkout $LIBEVENT_TAG
|
|
||||||
|
|
||||||
# Build
|
|
||||||
./autogen.sh
|
|
||||||
./configure \
|
|
||||||
--prefix=/cygdrive/c/Users/circleci/build/libevent \
|
|
||||||
--with-pic
|
|
||||||
make -j$(nproc)
|
|
||||||
make install
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading libevent
|
|
||||||
key: build-win64-libevent-2.1.12-stable-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- C:\Users\circleci\build\libevent
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
key: build-win64-tor-0.4.7.7-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Build tor
|
|
||||||
shell: C:\\cygwin64\\bin\\bash.exe --login -eo pipefail
|
|
||||||
command: |
|
|
||||||
if [[ -d "/cygdrive/c/Users/circleci/build/tor" ]]; then
|
|
||||||
echo "tor already compiled, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p /cygdrive/c/Users/circleci/src
|
|
||||||
mkdir -p /cygdrive/c/Users/circleci/build
|
|
||||||
|
|
||||||
# Get source
|
|
||||||
curl https://keys.openpgp.org/vks/v1/by-fingerprint/B74417EDDF22AC9F9E90F49142E86A2A11F48D36 | gpg --import
|
|
||||||
cd /cygdrive/c/Users/circleci/src
|
|
||||||
git clone https://git.torproject.org/tor.git
|
|
||||||
cd tor
|
|
||||||
git tag -v $TOR_TAG
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "tor tag doesn't verify"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
git checkout $TOR_TAG
|
|
||||||
|
|
||||||
# Build
|
|
||||||
./autogen.sh
|
|
||||||
./configure \
|
|
||||||
--prefix=/cygdrive/c/Users/circleci/build/tor \
|
|
||||||
--disable-asciidoc \
|
|
||||||
--enable-static-libevent \
|
|
||||||
--with-libevent-dir=/cygdrive/c/Users/circleci/build/libevent
|
|
||||||
make -j$(nproc)
|
|
||||||
make install
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
key: build-win64-tor-0.4.7.7-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- C:\Users\circleci\build\tor
|
|
||||||
|
|
||||||
- run:
|
|
||||||
name: Copy tor binaries into project
|
|
||||||
command: |
|
|
||||||
New-Item -ItemType Directory -Force -Path C:\Users\circleci\project\desktop\onionshare\resources\tor
|
|
||||||
Copy-Item -Path C:\Users\circleci\build\tor\bin\tor.exe -Destination C:\Users\circleci\project\desktop\onionshare\resources\tor
|
|
||||||
Copy-Item -Path C:\Users\circleci\build\tor\share\tor\geoip -Destination C:\Users\circleci\project\desktop\onionshare\resources\tor
|
|
||||||
Copy-Item -Path C:\Users\circleci\build\tor\share\tor\geoip6 -Destination C:\Users\circleci\project\desktop\onionshare\resources\tor
|
|
||||||
|
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
# NOTE: change when upgrading obfs4proxy
|
# NOTE: change when upgrading obfs4proxy
|
||||||
key: build-win64-obfs4proxy-v0.0.13-{{ .Environment.CACHE_VERSION }}
|
key: build-win64-obfs4proxy-v0.0.13-{{ .Environment.CACHE_VERSION }}
|
||||||
|
@ -679,6 +190,18 @@ jobs:
|
||||||
paths:
|
paths:
|
||||||
- C:\Users\circleci\AppData\Local\pypoetry\Cache\virtualenvs
|
- C:\Users\circleci\AppData\Local\pypoetry\Cache\virtualenvs
|
||||||
|
|
||||||
|
- restore_cache:
|
||||||
|
key: get-tor-{{ checksum "desktop/scripts/get-tor.py" }}-{{ .Environment.CACHE_VERSION }}
|
||||||
|
- run:
|
||||||
|
name: Get tor binaries from Tor Browser (32-bit)
|
||||||
|
command: |
|
||||||
|
cd desktop
|
||||||
|
poetry run .\scripts\get-tor.py
|
||||||
|
- save_cache:
|
||||||
|
key: get-tor-{{ checksum "desktop/scripts/get-tor.py" }}-{{ .Environment.CACHE_VERSION }}
|
||||||
|
paths:
|
||||||
|
- C:\Users\circleci\project\desktop\onionshare\resources\tor\obfs4proxy.exe
|
||||||
|
|
||||||
- run:
|
- run:
|
||||||
name: Build OnionShare
|
name: Build OnionShare
|
||||||
command: |
|
command: |
|
||||||
|
@ -700,8 +223,6 @@ jobs:
|
||||||
name: win/default
|
name: win/default
|
||||||
shell: powershell.exe
|
shell: powershell.exe
|
||||||
environment:
|
environment:
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
TOR_TAG: tor-0.4.7.7
|
|
||||||
# NOTE: change when upgrading obfs4proxy
|
# NOTE: change when upgrading obfs4proxy
|
||||||
OBFS4PROXY_TAG: obfs4proxy-0.0.13
|
OBFS4PROXY_TAG: obfs4proxy-0.0.13
|
||||||
# NOTE: change when upgrading snowflake
|
# NOTE: change when upgrading snowflake
|
||||||
|
@ -711,73 +232,6 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
|
|
||||||
- run:
|
|
||||||
name: Install cygwin (32-bit) and required packages
|
|
||||||
shell: bash.exe --login -eo pipefail
|
|
||||||
command: |
|
|
||||||
curl -o setup-x86.exe https://cygwin.com/setup-x86.exe
|
|
||||||
curl -o setup-x86.exe.sig https://cygwin.com/setup-x86.exe.sig
|
|
||||||
curl -o pubring.asc https://cygwin.com/key/pubring.asc
|
|
||||||
|
|
||||||
gpg --import pubring.asc
|
|
||||||
gpg --verify setup-x86.exe.sig setup-x86.exe
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "cygwin signature doesn't verify"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
|
|
||||||
./setup-x86.exe -q -s https://mirrors.kernel.org/sourceware/cygwin/ \
|
|
||||||
-P libssl-devel,libevent-devel,zlib-devel,git,gcc-core,make,autoconf,automake,libtool,gnupg
|
|
||||||
|
|
||||||
- restore_cache:
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
key: build-win32-tor-0.4.7.7-{{ .Environment.CACHE_VERSION }}
|
|
||||||
- run:
|
|
||||||
name: Build tor
|
|
||||||
shell: C:\\cygwin\\bin\\bash.exe --login -eo pipefail
|
|
||||||
command: |
|
|
||||||
if [[ -d "/cygdrive/c/Users/circleci/build/tor" ]]; then
|
|
||||||
echo "tor already compiled, skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p /cygdrive/c/Users/circleci/src
|
|
||||||
mkdir -p /cygdrive/c/Users/circleci/build
|
|
||||||
|
|
||||||
# Get source
|
|
||||||
curl https://keys.openpgp.org/vks/v1/by-fingerprint/B74417EDDF22AC9F9E90F49142E86A2A11F48D36 | gpg --import
|
|
||||||
cd /cygdrive/c/Users/circleci/src
|
|
||||||
git clone https://git.torproject.org/tor.git
|
|
||||||
cd tor
|
|
||||||
git tag -v $TOR_TAG
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "tor tag doesn't verify"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
git checkout $TOR_TAG
|
|
||||||
|
|
||||||
# Build
|
|
||||||
./autogen.sh
|
|
||||||
./configure \
|
|
||||||
--prefix=/opt/tor-build \
|
|
||||||
--disable-asciidoc
|
|
||||||
make -j$(nproc)
|
|
||||||
make install
|
|
||||||
cp -r /opt/tor-build /cygdrive/c/Users/circleci/build/tor
|
|
||||||
- save_cache:
|
|
||||||
# NOTE: change when upgrading tor
|
|
||||||
key: build-win32-tor-0.4.7.7-{{ .Environment.CACHE_VERSION }}
|
|
||||||
paths:
|
|
||||||
- C:\Users\circleci\build\tor
|
|
||||||
|
|
||||||
- run:
|
|
||||||
name: Copy tor binaries into project
|
|
||||||
command: |
|
|
||||||
New-Item -ItemType Directory -Force -Path C:\Users\circleci\project\desktop\onionshare\resources\tor
|
|
||||||
Copy-Item -Path C:\Users\circleci\build\tor\bin\tor.exe -Destination C:\Users\circleci\project\desktop\onionshare\resources\tor
|
|
||||||
Copy-Item -Path C:\Users\circleci\build\tor\share\tor\geoip -Destination C:\Users\circleci\project\desktop\onionshare\resources\tor
|
|
||||||
Copy-Item -Path C:\Users\circleci\build\tor\share\tor\geoip6 -Destination C:\Users\circleci\project\desktop\onionshare\resources\tor
|
|
||||||
|
|
||||||
- run:
|
- run:
|
||||||
name: Install golang (32-bit)
|
name: Install golang (32-bit)
|
||||||
command: |
|
command: |
|
||||||
|
@ -879,6 +333,18 @@ jobs:
|
||||||
paths:
|
paths:
|
||||||
- C:\Users\circleci\AppData\Local\pypoetry\Cache\virtualenvs
|
- C:\Users\circleci\AppData\Local\pypoetry\Cache\virtualenvs
|
||||||
|
|
||||||
|
- restore_cache:
|
||||||
|
key: get-tor-{{ checksum "desktop/scripts/get-tor.py" }}-{{ .Environment.CACHE_VERSION }}
|
||||||
|
- run:
|
||||||
|
name: Get tor binaries from Tor Browser (32-bit)
|
||||||
|
command: |
|
||||||
|
cd desktop
|
||||||
|
poetry run .\scripts\get-tor.py
|
||||||
|
- save_cache:
|
||||||
|
key: get-tor-{{ checksum "desktop/scripts/get-tor.py" }}-{{ .Environment.CACHE_VERSION }}
|
||||||
|
paths:
|
||||||
|
- C:\Users\circleci\project\desktop\onionshare\resources\tor\obfs4proxy.exe
|
||||||
|
|
||||||
- run:
|
- run:
|
||||||
name: Build OnionShare
|
name: Build OnionShare
|
||||||
command: |
|
command: |
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue