diff --git a/.github/workflows/build-all.yml b/.github/workflows/build-all.yml index b962137..b9cbc82 100644 --- a/.github/workflows/build-all.yml +++ b/.github/workflows/build-all.yml @@ -61,6 +61,7 @@ jobs: mingw-w64-x86_64-libevent mingw-w64-x86_64-miniupnpc mingw-w64-x86_64-zlib + mingw-w64-x86_64-tor - name: Set VERSION from source run: | @@ -143,19 +144,16 @@ jobs: - name: Download Tor shell: powershell run: | - $TOR_VERSION = "15.0.8" - $TOR_URL = "https://dist.torproject.org/torbrowser/${TOR_VERSION}/tor-expert-bundle-windows-x86_64-${TOR_VERSION}.tar.gz" - Invoke-WebRequest -Uri $TOR_URL -OutFile tor-bundle.tar.gz - New-Item -ItemType Directory -Path tor-extract -Force - tar -xzf tor-bundle.tar.gz -C tor-extract New-Item -ItemType Directory -Path tor-files -Force - Copy-Item tor-extract/tor/tor.exe tor-files/ - Copy-Item tor-extract/tor/tor-gencert.exe tor-files/ -ErrorAction SilentlyContinue - if (Test-Path tor-extract/tor/pluggable_transports) { - Copy-Item -Recurse tor-extract/tor/pluggable_transports tor-files/ + $torExe = Get-ChildItem -Path C:\msys64\mingw64\bin,C:\msys64\usr\bin -Filter tor.exe -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1 + if (-not $torExe) { + throw "tor.exe not found in MSYS2 installation" } - if (Test-Path tor-extract/data) { - Copy-Item -Recurse tor-extract/data tor-files/data + Copy-Item $torExe.FullName tor-files/ + + $torGenCert = Get-ChildItem -Path C:\msys64\mingw64\bin,C:\msys64\usr\bin -Filter tor-gencert.exe -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1 + if ($torGenCert) { + Copy-Item $torGenCert.FullName tor-files/ } - name: Install NSIS via MSYS2 @@ -204,6 +202,7 @@ jobs: mingw-w64-x86_64-libevent mingw-w64-x86_64-miniupnpc mingw-w64-x86_64-zlib + mingw-w64-x86_64-tor - name: Configure run: | @@ -232,14 +231,11 @@ jobs: - name: Bundle Tor for daemon shell: powershell run: | - $TOR_VERSION = "15.0.8" - Invoke-WebRequest -Uri "https://dist.torproject.org/torbrowser/${TOR_VERSION}/tor-expert-bundle-windows-x86_64-${TOR_VERSION}.tar.gz" -OutFile tor-bundle.tar.gz - New-Item -ItemType Directory -Path tor-extract -Force - tar -xzf tor-bundle.tar.gz -C tor-extract - Copy-Item tor-extract/tor/tor.exe daemon-dist/tor/ - if (Test-Path tor-extract/data) { - Copy-Item -Recurse tor-extract/data daemon-dist/tor/data + $torExe = Get-ChildItem -Path C:\msys64\mingw64\bin,C:\msys64\usr\bin -Filter tor.exe -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1 + if (-not $torExe) { + throw "tor.exe not found in MSYS2 installation" } + Copy-Item $torExe.FullName daemon-dist/tor/ - name: Upload artifact uses: actions/upload-artifact@v4 @@ -265,7 +261,8 @@ jobs: sudo apt-get install -y build-essential cmake ninja-build \ qtbase5-dev qttools5-dev-tools \ libboost-all-dev libssl-dev libdb++-dev \ - libleveldb-dev libevent-dev libminiupnpc-dev zlib1g-dev + libleveldb-dev libevent-dev libminiupnpc-dev zlib1g-dev \ + tor - name: Configure run: | @@ -284,10 +281,6 @@ jobs: - name: Build .deb package (fully self-contained) run: | - TOR_VERSION="15.0.8" - curl -sL "https://dist.torproject.org/torbrowser/${TOR_VERSION}/tor-expert-bundle-linux-x86_64-${TOR_VERSION}.tar.gz" -o tor-bundle.tar.gz - mkdir -p tor-extract && tar -xzf tor-bundle.tar.gz -C tor-extract - PKG="cryptographic-triangles_${VERSION}_amd64" mkdir -p ${PKG}/DEBIAN mkdir -p ${PKG}/usr/lib/cryptographic-triangles/lib @@ -297,9 +290,8 @@ jobs: mkdir -p ${PKG}/usr/share/pixmaps cp build/bin/triangles-qt ${PKG}/usr/lib/cryptographic-triangles/ - cp tor-extract/tor/tor ${PKG}/usr/lib/cryptographic-triangles/tor/ + cp /usr/bin/tor ${PKG}/usr/lib/cryptographic-triangles/tor/ chmod +x ${PKG}/usr/lib/cryptographic-triangles/tor/tor - [ -d tor-extract/data ] && cp -r tor-extract/data ${PKG}/usr/lib/cryptographic-triangles/tor/data # Bundle ALL shared library dependencies (except glibc/kernel) ldd build/bin/triangles-qt | grep '=> /' | awk '{print $3}' | while read lib; do @@ -377,7 +369,7 @@ jobs: sudo apt-get update sudo apt-get install -y build-essential cmake ninja-build \ libboost-all-dev libssl-dev libdb++-dev libleveldb-dev \ - libevent-dev libminiupnpc-dev zlib1g-dev + libevent-dev libminiupnpc-dev zlib1g-dev tor - name: Configure run: | @@ -396,10 +388,6 @@ jobs: - name: Build .deb package (fully self-contained) run: | - TOR_VERSION="15.0.8" - curl -sL "https://dist.torproject.org/torbrowser/${TOR_VERSION}/tor-expert-bundle-linux-x86_64-${TOR_VERSION}.tar.gz" -o tor-bundle.tar.gz - mkdir -p tor-extract && tar -xzf tor-bundle.tar.gz -C tor-extract - PKG="cryptographic-triangles-daemon_${VERSION}_amd64" mkdir -p ${PKG}/DEBIAN mkdir -p ${PKG}/usr/lib/cryptographic-triangles/lib @@ -408,9 +396,8 @@ jobs: mkdir -p ${PKG}/etc/systemd/system cp build/bin/trianglesd ${PKG}/usr/lib/cryptographic-triangles/ - cp tor-extract/tor/tor ${PKG}/usr/lib/cryptographic-triangles/tor/ + cp /usr/bin/tor ${PKG}/usr/lib/cryptographic-triangles/tor/ chmod +x ${PKG}/usr/lib/cryptographic-triangles/tor/tor - [ -d tor-extract/data ] && cp -r tor-extract/data ${PKG}/usr/lib/cryptographic-triangles/tor/data # Bundle ALL shared library dependencies (except glibc/kernel) ldd build/bin/trianglesd | grep '=> /' | awk '{print $3}' | while read lib; do @@ -500,7 +487,7 @@ jobs: - name: Install dependencies run: | - brew install cmake ninja qt@5 openssl@3 boost berkeley-db@5 leveldb libevent miniupnpc + brew install cmake ninja qt@5 openssl@3 boost berkeley-db@5 leveldb libevent miniupnpc tor - name: Configure run: | @@ -566,14 +553,10 @@ jobs: - name: Bundle Tor into app run: | - TOR_VERSION="15.0.8" - curl -sL "https://dist.torproject.org/torbrowser/${TOR_VERSION}/tor-expert-bundle-macos-aarch64-${TOR_VERSION}.tar.gz" -o tor-bundle.tar.gz - mkdir -p tor-extract && tar -xzf tor-bundle.tar.gz -C tor-extract APP=$(find build/bin -name "*.app" -maxdepth 1 | head -1) mkdir -p "$APP/Contents/MacOS/tor" - cp tor-extract/tor/tor "$APP/Contents/MacOS/tor/" + cp "$(brew --prefix)/bin/tor" "$APP/Contents/MacOS/tor/" chmod +x "$APP/Contents/MacOS/tor/tor" - [ -d tor-extract/data ] && cp -r tor-extract/data "$APP/Contents/MacOS/tor/data" - name: Create DMG run: |