automate/100_mobian-torbrowser.sh

151 lines
6.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Fetch the lastest version of tor-browser-ports using https://sourceforge.net/projects/<projectname>/best_release.json and jq
PROJECT_NAME="tor-browser-ports"
#SF_MIRROR="https://versaweb.dl.sourceforge.net"
SF_MIRROR="https://sourceforge.net"
# RELEASE_JSON_URL="${SF_MIRROR}/projects/${PROJECT_NAME}/best_release.json"
# VERSION="13.0.3"
ARCH="arm64"
DL_DIR="/var/tmp"
WGET_ARGS="--directory-prefix=${DL_DIR} --content-disposition"
# Get the URL for the armhf version
JSON="$(curl -s "https://sourceforge.net/projects/${PROJECT_NAME}/best_release.json")"
LINUX_FILENAME="$(echo "${JSON}" | jq -r '.platform_releases.linux.filename')" # /13.0.3/tor-browser-linux-armhf-13.0.3.tar.xz
echo "LINUX_FILENAME: ${LINUX_FILENAME}"
VERSION="$(echo "${LINUX_FILENAME}" | awk -F'/' '{print $2}')"
echo "VERSION: ${VERSION}"
FILENAME="$(echo "${LINUX_FILENAME}" | awk -F'/' '{print $3}')"
echo "FILENAME_1: ${FILENAME}"
FILENAME="${FILENAME//armhf/${ARCH}}"
echo "FILENAME_2: ${FILENAME}"
# URL=$(echo "${JSON}" | jq -r '.platform_releases.linux.url')" # http://downloads.sourceforge.net/project/tor-browser-ports/13.0.3/tor-browser-linux-armhf-13.0.3.tar.xz?ts=gAAAAABlWy5eHDl8CF3KA6Ja87f36RamtBO2hapKpnviOEUOXnkmbbBIthBZFx_TErKR9W1pMpMyOEteXy_XpEYcruyZBv6YgA%3D%3D
TAR_URL="${SF_MIRROR}/projects/${PROJECT_NAME}/files/${VERSION}/${FILENAME}/download"
ASC_URL="${SF_MIRROR}/projects/${PROJECT_NAME}/files/${VERSION}/${FILENAME}.asc/download"
# Replace "armhf" with "arm64" in the URL
# TAR_URL="https://versaweb.dl.sourceforge.net/project/tor-browser-ports/${VERSION}/tor-browser-linux-${ARCH}-${VERSION}.tar.xz"
# ASC_URL="https://versaweb.dl.sourceforge.net/project/tor-browser-ports/${VERSION}/tor-browser-linux-${ARCH}-${VERSION}.tar.xz.asc"
# TAR_URL="${URL//armhf/${ARCH}}"
# ASC_URL="${TAR_URL//tar.xz/tar.xz.asc}"
wget -c "${WGET_ARGS}" "${TAR_URL}" -O "${FILENAME}"
wget -c "${WGET_ARGS}" "${ASC_URL}" -O "${FILENAME}".asc
# check downloaded tar using asc file, if valid unpack the tar
DEST="/home/mobian"
# An if statement that uses gpg verify to check the downloaded tar.gz and if valid unpack the tar.gz to DEST
gpg --auto-key-locate nodefault,wkd --locate-keys torbrowser@torproject.org
conf_print_public_key() {
cat <<-'EOF'
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEYLy7zxYJKwYBBAHaRw8BAQdA5PXKfnbxV/lViTGAgW34jh2jVahatLnFgKpU
i1aZVqW0HkhlaWtraSBMaW5kaG9sbSA8aG9saW5AaWtpLmZpPoiaBBMWCgBCFiEE
JPFBo7mItsNQuTdYavFdHkX9zskFAmC8u88CGwEFCQWjmoAFCwkIBwIDIgIBBhUK
CQgLAgQWAgMBAh4HAheAAAoJEGrxXR5F/c7Jp7gBAL8vm5jf36L+SL2+MsiX6pYi
uVvEMs0Fqns5UmH+eO9CAP9sTv4e1XUSG3kcNPxDHNhb390EALIKJOafuzIUFOkt
AbgzBGC8vBMWCSsGAQQB2kcPAQEHQHkjBFnRo4dXVzwJ0PTECXGk2no5CMTXwqWc
XNmrDlfFiPUEGBYKACYWIQQk8UGjuYi2w1C5N1hq8V0eRf3OyQUCYLy8EwIbAgUJ
AeEzgACBCRBq8V0eRf3OyXYgBBkWCgAdFiEEnQ+3JDWrYv30FZVUWJDtuAD3xT0F
AmC8vBMACgkQWJDtuAD3xT1KHQEAp6gkZRQYzLLCEnFDronvnGgPRMgfnzs3eCFW
x843EJoA/RWbZQeuv2tgh7pUYJk5Kzoi6PCklnw2DWuhJST9QPYMxbUBAJeTn5+q
fMa1fGLF6rcr1yvf2cO0u5ow45Tft0+jxjMNAQDlp0YaC4vF0dJF8QyWMAwgNbms
OfPns7bfiACf4DnrB7g4BGC8vFISCisGAQQBl1UBBQEBB0BZCKDIGp38Qw2HtRXj
iZcIrNUjZRKo7QuMcdZy+/gzWgMBCAeIfgQYFgoAJhYhBCTxQaO5iLbDULk3WGrx
XR5F/c7JBQJgvLxSAhsMBQkFo5qAAAoJEGrxXR5F/c7Jw8EBAMlDEXhUjZFnuwPy
hMSepnihBjoHZnmoI4EdcD40iYoLAQD9FSwq0k5Zs9rQ8U3zyif72YUS89lXoU6N
Y7OFUzKJA7gzBGKjHaUWCSsGAQQB2kcPAQEHQBaImogK8gMA5DWG7lI6KTYTb9aS
TS9Mwl8qi0LjwenZiPUEGBYIACYWIQQk8UGjuYi2w1C5N1hq8V0eRf3OyQUCYqMd
pQIbAgUJAeEzgACBCRBq8V0eRf3OyXYgBBkWCAAdFiEEF2RjZu/4LbE+XM2yOlV4
WcljRCsFAmKjHaUACgkQOlV4WcljRCuAagD/dK4FTGwTs0vs8BCOHPUYfsts7aBl
0ZtzL9QlNa4Fkq4BAMtzw2nEo/m/eiMM4/PVOBZTRZV4j5hghV9ZFibmLfIA9VsB
AJvhCUd/Wu0LpyyiImSFxQ9++t65ia1UOxPDmPY44I2RAP9YJKOs45Gc5E8og8QX
yoRKGGcUJ42MbUNtzAamQct7CbgzBGSGC5wWCSsGAQQB2kcPAQEHQGxgntjMTWS3
j3WzShW2tmRQYvHLS/RPK7t04QZhFl7ciPUEGBYIACYWIQQk8UGjuYi2w1C5N1hq
8V0eRf3OyQUCZIYLnAIbAgUJAeEzgACBCRBq8V0eRf3OyXYgBBkWCAAdFiEE9dqu
16Olui9CnSxcz/8dQTbzr6YFAmSGC5wACgkQz/8dQTbzr6YlBwD5AYYvw5BUo9jS
crYioNDHMxW6oxuxfrJQQATPT9aR1uoA/Rj1C3F5VmCbtTd0BRiWO8dPi1JliPtH
DIglI8tPI48AJA8A/1R9YhNXA9XxmJDKvVkBTRa9c/aO3mtQ7/9d+0n+c/yTAP9D
CcviCFW7hh242TYZgVFNfqs/9b66X7QBT5k2wCidCA==
=KkEP
-----END PGP PUBLIC KEY BLOCK-----
EOF
}
conf_print_public_key | gpg --import
gpg --lsign-key 24F141A3B988B6C350B937586AF15D1E45FDCEC9
gpg --no-default-keyring -a \
--export 24F141A3B988B6C350B937586AF15D1E45FDCEC9 | gpg --no-default-keyring \
--keyring ~/.gnupg/trustedkeys.gpg \
--import -
gpg --update-trustdb
if [ -f "${DL_DIR}"/tor-browser-linux-${ARCH}-"${VERSION}".tar.xz.asc ]; then
if gpg --verify ${DL_DIR}/tor-browser-linux-"${ARCH}"-"${VERSION}".tar.xz.asc "${DL_DIR}"/tor-browser-linux-"${ARCH}"-"${VERSION}".tar.xz; then
echo "Valid GPG signature"
tar -C "${DEST}" -xf "${DL_DIR}"/tor-browser-linux-"${ARCH}"-"${VERSION}".tar.xz
else
echo "Invalid GPG signature; not unpacking."
fi
fi
# Create the desktop file.
# DESKTOP_FILE="https://raw.githubusercontent.com/RightToPrivacy/Tor-Browser-Pinephone/main/start-tor-browser.desktop"
APP_DEST="/usr/share/applications/"
# APP_DEST="~/.local/share/applications/"
# sudo wget -c -O ${APP_DEST}/mobian-torbrowser.desktop $DESKTOP_FILE
cat <<-EOF | sudo tee ${APP_DEST}/mobian-torbrowser.desktop
#!/usr/bin/env /home/mobian/tor-browser/Browser/execdesktop
#
# *Slightly modified to work on Mobian*
#
# This file is a self-modifying .desktop file that can be run from the shell.
# It preserves arguments and environment for the start-tor-browser script.
#
# Run './start-tor-browser.desktop --help' to display the full set of options.
#
# When invoked from the shell, this file must always be in a Tor Browser root
# directory. When run from the file manager or desktop GUI, it is relocatable.
#
# After first invocation, it will update itself with the absolute path to the
# current TBB location, to support relocation of this .desktop file for GUI
# invocation. You can also add Tor Browser to your desktop's application menu
# by running './start-tor-browser.desktop --register-app'
#
# If you use --register-app, and then relocate your TBB directory, Tor Browser
# will no longer launch from your desktop's app launcher/dock. However, if you
# re-run --register-app from inside that new directory, the script
# will correct the absolute paths and re-register itself.
#
# This file will also still function if the path changes when TBB is used as a
# portable app, so long as it is run directly from that new directory, either
# via the shell or via the file manager.
[Desktop Entry]
Type=Application
Name=Tor Browser Setup
GenericName=Web Browser
Comment=Tor Browser is +1 for privacy and 1 for mass surveillance
Categories=Network;WebBrowser;Security;
Exec=/bin/bash ${DEST}/tor-browser_en-US/Browser/start-tor-browser --detach
X-TorBrowser-ExecShell=/home/mobian/tor-browser/Browser/start-tor-browser --detach
Icon=web-browser
StartupWMClass=Tor Browser
EOF
sudo chmod +x /usr/share/applications/mobian-torbrowser.desktop