Skip to content
Merged
41 changes: 41 additions & 0 deletions .github/workflows/updates/Tor Browser Nightly (aarch64 build).sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/bash
# Thanks GitHub Copilot for parsing/sorting code.

URL="https://nightlies.tbb.torproject.org/nightly-builds/tor-browser-builds"

# Fetch directory listing
html="$(wget -qO- "$URL" 2>/dev/null || true)"
if [ -z "${html}" ]; then
error "Error: failed to fetch URL: $URL"
fi

# Extract versions from the specific structure:
# Lines look like:
# <img ...> <a href="tbb-nightly.2025.09.24/">tbb-nightly.2025.09.24/</a> 2025-09-24 14:28 -

versions="$(
echo "$html" \
| sed -nE 's@.*href="tbb-nightly\.([0-9]{4}\.[0-9]{2}\.[0-9]{2})/".*@\1@p'
)"

if [ -z "$versions" ]; then
error "Error: no nightly versions found at $URL"
fi

# Sort by YYYYMMDD numerically to be portable (no reliance on sort -V).
latest="$(
printf '%s\n' "$versions" \
| awk -F. 'NF==3 { printf "%s %s%s%s\n", $0, $1, $2, $3 }' \
| LC_ALL=C sort -k2,2n \
| tail -n 1 \
| cut -d' ' -f1
)"

if [ -z "$latest" ]; then
echo "Error: failed to determine latest nightly from parsed versions."
fi

webVer="$latest"
arm64_url="https://nightlies.tbb.torproject.org/nightly-builds/tor-browser-builds/tbb-nightly.$webVer/nightly-linux-aarch64/tor-browser-linux-aarch64-tbb-nightly.$webVer.tar.xz"

source $GITHUB_WORKSPACE/.github/workflows/update_github_script.sh
5 changes: 5 additions & 0 deletions apps/Tor Browser Nightly (aarch64 build)/credits
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Tor Browser is developed by The Tor Project, Inc.
https://www.torproject.org/about/people/

Tor Browser ARM64 Nightly was put to Pi-Apps by oovlad
https://github.com/ooovlad
10 changes: 10 additions & 0 deletions apps/Tor Browser Nightly (aarch64 build)/description
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
The Tor Browser is a free web browser built on Firefox that helps you surf the web anonymously by routing your connection through a secure, global network of volunteer servers. Your data is encrypted, and your IP address is hidden, protecting you from trackers, advertisers, and prying eyes. With built-in features like tracker blocking and script protection, Tor Browser ensures a safer online experience. Perfect for private browsing, accessing restricted sites, or exploring the web without leaving a trace.

Native aarch64 builds are coming! This is an official nightly aarch64 Linux build taken from https://nightlies.tbb.torproject.org/nightly-builds/tor-browser-builds/

WARNING! This is a build that is currently in development. It is mainly for testing purposes, you should expect bugs.

To run: Menu -> Internet -> Tor Browser Nightly
To run from terminal: `~/.local/share/tor-browser-nightly/start-tor-browser.desktop`

To remove user-data after uninstall use `rm -rf ~/.local/share/tor-browser-nightly`
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 38 additions & 0 deletions apps/Tor Browser Nightly (aarch64 build)/install-64
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/bash

version=2025.09.24
INSTALL_DIR=${INSTALL_DIR:-~/.local/share}

rm -f /tmp/tbb-nightly.tar.xz
wget -O /tmp/tbb-nightly.tar.xz "https://nightlies.tbb.torproject.org/nightly-builds/tor-browser-builds/tbb-nightly.$version/nightly-linux-aarch64/tor-browser-linux-aarch64-tbb-nightly.$version.tar.xz" || error "Failed to download Tor Browser Nightly ver. $version"

status 'Looking for previous installations and remaining user data... '
if [ -d "$INSTALL_DIR"/tor-browser-nightly ]; then
#if data folder exists, prepare to import its user-data
if [ -d "$INSTALL_DIR"/tor-browser-nightly/Browser/TorBrowser/Data/Browser ];then
mv -f "$INSTALL_DIR"/tor-browser-nightly/Browser/TorBrowser/Data/Browser/ "$INSTALL_DIR"/tor-browser-nightly.temp/ || error 'Failed to move existing user data to temporary folder'
fi
rm -rf "$INSTALL_DIR"/tor-browser-nightly/* || error 'Failed to remove old Tor Browser files'
else
mkdir -p "$INSTALL_DIR"/tor-browser-nightly || error 'Failed to create installation directory'
fi
status_green 'Done'

status "Extracting Tor Browser to $INSTALL_DIR/tor-browser-nightly ... "
tar -xpJf /tmp/tbb-nightly.tar.xz -C "$INSTALL_DIR"/tor-browser-nightly --strip-components=1 || error 'Failed to extract Tor Browser'
rm -f /tmp/tbb-nightly.tar.xz
status_green 'Done'

#if tor-browser.temp folder exists, import its user-data
if [ -d "$INSTALL_DIR"/tor-browser-nightly.temp ];then
status 'Importing existing user data... '
rm -rf "$INSTALL_DIR"/tor-browser-nightly/Browser/TorBrowser/Data/Browser
mv -f "$INSTALL_DIR"/tor-browser-nightly.temp "$INSTALL_DIR"/tor-browser-nightly/Browser/TorBrowser/Data/Browser
rm -rf "$INSTALL_DIR"/tor-browser-nightly.temp
status_green 'Done'
fi

status 'Registering Tor Browser as a desktop app for this user'
cd "$INSTALL_DIR"/tor-browser-nightly || error 'Fatal error! Cannot cd to app!'
"$INSTALL_DIR"/tor-browser-nightly/start-tor-browser.desktop --register-app || error 'Failed to register a desktop app'
status_green 'Done'
33 changes: 33 additions & 0 deletions apps/Tor Browser Nightly (aarch64 build)/uninstall
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/bin/bash

INSTALL_DIR=${INSTALL_DIR:-~/.local/share}

status 'Unregistering Tor Browser desktop app... '
cd "$INSTALL_DIR"/tor-browser-nightly || error 'Fatal error! Cannot cd to app!'
"$INSTALL_DIR"/tor-browser-nightly/start-tor-browser.desktop --unregister-app || error 'Failed to unregister a desktop app'
status_green 'Done'

status 'Copying user data files to temporary folder...'
if [ -d "$INSTALL_DIR"/tor-browser-nightly/Browser/TorBrowser/Data/Browser ];then
rm -rf "$INSTALL_DIR"/tor-browser-nightly.temp
mv -n "$INSTALL_DIR"/tor-browser-nightly/Browser/TorBrowser/Data/Browser "$INSTALL_DIR"/tor-browser-nightly.temp
fi
status_green 'Done'

status 'Removing all browser internals...'
rm -rfv "$INSTALL_DIR"/tor-browser-nightly || error "Cannot remove $INSTALL_DIR/tor-browser-nightly directory"
status_green 'Done'

#move back the temporary folder containing user-data
if [ -d "$INSTALL_DIR"/tor-browser-nightly.temp ];then
status 'Moving user data files back...'
mkdir -p "$INSTALL_DIR"/tor-browser-nightly/Browser/TorBrowser/Data
mv "$INSTALL_DIR"/tor-browser-nightly.temp "$INSTALL_DIR"/tor-browser-nightly/Browser/TorBrowser/Data/Browser
status_green 'Done'

#let the user know where configuration is
echo "Tor Browser has been uninstalled, but user-data like settings and bookmarks remain intact.
To remove these files, run this command:
rm -rf $INSTALL_DIR/tor-browser-nightly"

fi
1 change: 1 addition & 0 deletions apps/Tor Browser Nightly (aarch64 build)/website
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https://www.torproject.org/
1 change: 1 addition & 0 deletions etc/categories
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@ TiLP|Tools
Timeshift|System Management
tldr|Tools
Tor|Internet/Browsers
Tor Browser Nightly (aarch64 build)|Internet/Browsers
Transmission|Internet
Turbowarp|Programming
Ulauncher|Appearance
Expand Down