EndGame/tor-patch/tor-build.sh
2024-07-08 14:09:12 -06:00

41 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
apt-get update
apt-get upgrade
apt-get install git
#update release branch to latest stable!
git clone https://gitlab.torproject.org/tpo/core/tor.git --branch release-0.4.8
DEBIAN_FRONTEND=noninteractive apt-get install -y -q apt-utils automake build-essential ca-certificates file libevent-dev liblzma-dev libscrypt-dev libseccomp-dev libssl-dev pkg-config python3 zlib1g-dev libzstd-dev
cp minwork.patch tor
cd tor || { echo "Error: No tor git folder. Check if you have the right branch!"; exit 1; }
#patch with POW
git apply minwork.patch > /dev/null 2>&1 || { echo "Error: Failed to patch the Tor source code."; exit 1; }
#Updating the min introduction value from 16384 to 163840.
sed -i 's/16384/163840/g' src/core/or/or.h || { echo "Error: Failed to update min introduction value."; exit 1; }
./autogen.sh
./configure --enable-fatal-warnings --disable-asciidoc --enable-gpl --enable-zstd --enable-lzma --disable-module-relay --disable-module-dirauth --disable-html-manual --prefix="/usr/" --sysconfdir="/etc/"
make -j4 -k all || { echo "Error: Failed to compile Tor."; exit 1; }
cd ..
mv tor/src/app/tor tor-patched-binary
cp tor-patched-binary /usr/sbin/tor
# echo -n "Finished Binary Patch!"
# echo -n "----------"
# echo -n "Do you want to install the patched tor binary? [y/n] "
# read answer || { echo "Error: User input not provided."; exit 1; }
#
# if [[ "$answer" =~ ^[Yy]$ ]]; then
# mv tor-patched-binary /usr/sbin/tor
# else
# echo "Patched tor binary saved as tor-patched-binary."
# fi