Okay tried to build 17.1.1.4-developers-only
and tor browser failed to download. Tried to use the command: update-torbrowser --resume
and it tried to download 13.0.8
of the arm port of tor browser. But it gets a 404. I went and checked sourceforge for the repository where arm tor browser is. And on Tor Browser Ports by holind. There are no 13.0.8
at the moment i tried to download it. Only 13.0.6
. Is this a fault from my end? or something else went wrong?
No.
The service you’re looking for, that is free, up-to-date Tor Browser ARM64 builds is not provided by anyone on the internet.
I see, well just reporting that the build is trying to download a version that does not exist anywhere.
What I could do is for non-redistributable builds setting the default to:
- A)
--tb none
(not attempt to download Tor Browser), or - B)
--tb open
(attempt to download but do not consider download failure a reason to break the build process. The latter would be bad for reproducible builds as this can lead to inconsistent (with or without Tor Browser) images but not an issue for the foreseeable future.
I had the exact same issue. Here’s how to fix it.
Check the latest version here: (remove space)
sourceforge. net/projects/tor-browser-ports/files/
Now use that specific version:
tbb_version=13.0.6 update-torbrowser
That worked well and installed it without any issues.
Was implemented.
- Will be the default in the next version after
17.1.1.5
. - Not yet in
17.1.1.5
.
I see, will see and wait then. But been a while since the repo has last been taged. So reason for me not saying much. Also thanks Dmitry, knew of way to get tor-browser to work again. Just want to make it work out of the box.
Wait for what? Not a big deal. Just read and use:
i know that i can build the project without the browser, but i want to check when it does build with it. If i just needed something that work then i would have just build without then installed it manually.
Did test/build 17.1.1.8-developers-only
and it worked perfectly on m1.
idk if this is a place to share stuff like this. But just wanna share how i build projects now. As i am doing this all the time. All i do is now to have a updated debian 12 vm. With user with sudo privileges with no password. Then i have this in my bashrc that will make sure i have all dependencies, build the project and clean up stuff. Maybe not the best way to do stuff and have no implemented a way to only run when the git repository is signed.
function whonix () {
WHONIX_VERSION=$1
VERSION_NUMBER="${WHONIX_VERSION%%-*}"
if [ -z "$1" ]; then
echo "Error: Missing whonix version. Please provide an whonix version."
return 1
fi
echo "Starting whonix build function"
rm -rf $HOME/derivative-maker
rm -rf $HOME/derivative-binary
rm -rf $HOME/whonix-binary
rm -rf $HOME/build-log
touch $HOME/build-log
echo "Ready to build whonix version $WHONIX_VERSION now?"
read -n 1 -s -r -p "Press any key to continue"
echo ""
echo "Too follow build use tail on the build log"
echo "Starting whonix build" >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
sudo apt update -y >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
sudo apt upgrade -y >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
sudo apt autoremove -y >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
sudo apt install -y git time curl apt-cacher-ng lsb-release fakeroot fasttrack-archive-keyring >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
echo "Git clone whonix version $WHONIX_VERSION" >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
git clone --depth=1 --branch $WHONIX_VERSION --jobs=4 --recurse-submodules --shallow-submodules https://github.com/Whonix/derivative-maker.git >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
cd $HOME/derivative-maker >> ~/build-log 2>&1
echo "Change directory too $(pwd)" >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
echo "Check if repository version matches and verify gpg signature" >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
git describe >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
GIT_VERSION=$(git describe --tags --abbrev=0)
if [ "$GIT_VERSION" == "$WHONIX_VERSION" ]; then
echo "Git version matches the desired version ($WHONIX_VERSION)." >> ~/build-log 2>&1
else
echo "Git version does not match the desired version ($WHONIX_VERSION)." >> ~/build-log 2>&1
echo "Build failed because desired whonix version did not match the git repository"
return 2
fi
git verify-tag $WHONIX_VERSION >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
echo "Building gateway" >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
~/derivative-maker/derivative-maker --flavor whonix-gateway-xfce --target utm --arch arm64 --tb open --repo true --vmsize 15G >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
echo "Building workstation" >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
~/derivative-maker/derivative-maker --flavor whonix-workstation-xfce --target utm --arch arm64 --tb open --repo true --vmsize 25G >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
mkdir $HOME/whonix-binary >> ~/build-log 2>&1
cp -vr $HOME/derivative-binary/$VERSION_NUMBER/*.utm.tar.gz $HOME/whonix-binary >> ~/build-log 2>&1
echo "" >> ~/build-log 2>&1
echo "Build of whonix version $WHONIX_VERSION is finished" >> ~/build-log 2>&1
cp $HOME/build-log $HOME/whonix-binary/
echo "Build function finished, please check log"
cd $HOME
}
Then i run this on the command line to build a project. Basically calling the function whonix then add as argument the tag you want to build. Just a fast way to build both project fast. And copies all the files i care about in its own folders so i can scp it out.
$ whonix 17.1.1.8-developers-only
If anyone wants to (or care too) improve this simple function then do please tell me.
I recommend to quote variables, use shellcheck, set -o nounset
, set -e
, git.
Maybe useful for you to have user/developer specific helper scripts here?
Not sure that would be useful for you.
8 posts were split to a new topic: Goldeneye128 - Simple script to build whonix on a mac with apple silicon
Big news from VirtualBox.
Downloads – Oracle VM VirtualBox is now showing both:
(Don’t use these direct links. Will become outdated over time. Go to the VirtualBox download page directly.)
Quote https://www.virtualbox.org/wiki/Changelog-7.1:
- macOS/Arm host: Arm virtualization for Linux and BSD VMs
Untested. You will probably still need an ARM64 (not an AMD64) based operating system to test it.
Please test!
Awesome, thanks for posting this, I will be testing and report back asap.
The amd64 based OS image didn’t work as you said, where can I get a arm64 image of whonix that will work with virutal box on apple silicon
Non-existing at time of writing.
Might be possible to build from source code but that’s unsupported.
So we are moving into virtualbox? not utm anymore? if so is it possible to make prebuild versions of whonix for macos with apple silicon now/soon?
VirtualBox ARM64 seems a more promising, simpler development direction than UTM.
However, non-existing at time of writing.
Might be possible to build from source code but that’s unsupported.
the build scripts found in this thread will work for building an ova that will work in virtualbox?