diff options
-rw-r--r-- | .SRCINFO | 43 | ||||
-rw-r--r-- | PKGBUILD | 75 | ||||
-rw-r--r-- | tor-browser.desktop | 8 | ||||
-rw-r--r-- | tor-browser.install | 43 | ||||
-rw-r--r-- | tor-browser.png | bin | 0 -> 13877 bytes | |||
-rwxr-xr-x | tor-browser.sh | 108 |
6 files changed, 277 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..d148658573fb --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,43 @@ +pkgbase = tor-browser + pkgdesc = Tor Browser Bundle: Anonymous browsing using firefox and tor (language-agnostic PKGBUILD) + pkgver = 6.5.1 + pkgrel = 1 + url = https://www.torproject.org/projects/torbrowser.html.en + install = tor-browser.install + arch = x86_64 + license = GPL + depends = gtk2 + depends = mozilla-common + depends = libxt + depends = startup-notification + depends = mime-types + depends = dbus-glib + depends = alsa-lib + depends = desktop-file-utils + depends = hicolor-icon-theme + depends = libvpx + depends = icu + depends = libevent + depends = nss + depends = hunspell + depends = sqlite + optdepends = zenity: simple dialog boxes + optdepends = kdialog: KDE dialog boxes + optdepends = gst-plugins-good: h.264 video + optdepends = gst-libav: h.264 video + optdepends = libpulse: PulseAudio audio driver + optdepends = libnotify: Gnome dialog boxes + noextract = tor-browser-linux64-6.5.1_it.tar.xz + source = https://dist.torproject.org/torbrowser/6.5.1/tor-browser-linux64-6.5.1_it.tar.xz + source = tor-browser.desktop + source = tor-browser.install + source = tor-browser.png + source = tor-browser.sh + md5sums = SKIP + md5sums = f0cfc7681d58a77251abc49b250802d3 + md5sums = 2bf2f92d3aef0e39a3a6d6ec0701d19c + md5sums = 494afbfa60fb4ce21840244cc3f7208c + md5sums = 3ef08aff0e2afebb1a2a7ffbf8f65897 + +pkgname = tor-browser + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..3a4b52af0d6a --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: grufo <madmurphy333 at gmail dot com> +# Contributor: Yardena Cohen <yardenack at gmail dot com> +# Contributor: Max Roder <maxroder@web.de> +# Contributor: Sebastian Jug <seb AT stianj DOT ug> + +pkgname='tor-browser' +pkgver='6.5.1' +pkgrel=1 +pkgdesc='Tor Browser Bundle: Anonymous browsing using firefox and tor (language-agnostic PKGBUILD)' +url='https://www.torproject.org/projects/torbrowser.html.en' +arch=('x86_64') +license=('GPL') +depends=('gtk2' 'mozilla-common' 'libxt' 'startup-notification' 'mime-types' + 'dbus-glib' 'alsa-lib' 'desktop-file-utils' 'hicolor-icon-theme' + 'libvpx' 'icu' 'libevent' 'nss' 'hunspell' 'sqlite') +optdepends=('zenity: simple dialog boxes' + 'kdialog: KDE dialog boxes' + 'gst-plugins-good: h.264 video' + 'gst-libav: h.264 video' + 'libpulse: PulseAudio audio driver' + 'libnotify: Gnome dialog boxes') +install="${pkgname}.install" + +_urlbase="https://dist.torproject.org/torbrowser/${pkgver}/${pkgname}-linux64-${pkgver}" + +_localetor() { + + local _fulllocale="$(locale | grep LANG | cut -d= -f2 | cut -d. -f1 | sed s/_/\-/)" + local _shortlocale="$(locale | grep LANG | cut -d= -f2 | cut -d_ -f1)" + + if curl --output /dev/null --silent --head --fail "${_urlbase}_${_fulllocale}.tar.xz"; then + echo -n "${_fulllocale}" + elif curl --output /dev/null --silent --head --fail "${_urlbase}_${_shortlocale}.tar.xz"; then + echo -n "${_shortlocale}" + else + echo 'en-US' + fi + +} + +_language=$(_localetor) + +source=("${_urlbase}_${_language}.tar.xz" + "${pkgname}.desktop" + "${pkgname}.install" + "${pkgname}.png" + "${pkgname}.sh") + +md5sums=('SKIP' + 'f0cfc7681d58a77251abc49b250802d3' + '2bf2f92d3aef0e39a3a6d6ec0701d19c' + '494afbfa60fb4ce21840244cc3f7208c' + '3ef08aff0e2afebb1a2a7ffbf8f65897') + +noextract=("tor-browser-linux64-${pkgver}_${_language}.tar.xz") + +package() { + + cd "${srcdir}" + + sed -i "s/REPL_NAME/${pkgname}/g" ${pkgname}.sh + sed -i "s/REPL_VERSION/${pkgver}/g" ${pkgname}.sh + sed -i "s/REPL_LANGUAGE/${_language}/g" ${pkgname}.sh + + sed -i "s/REPL_NAME/${pkgname}/g" ${pkgname}.desktop + sed -i "s/REPL_LANGUAGE/${_language}/g" ${pkgname}.desktop + sed -i "s/REPL_COMMENT/${pkgdesc}/g" ${pkgname}.desktop + + install -Dm 644 ${pkgname}.desktop ${pkgdir}/usr/share/applications/${pkgname}.desktop + install -Dm 644 ${pkgname}.png ${pkgdir}/usr/share/pixmaps/${pkgname}.png + install -Dm 755 ${pkgname}.sh ${pkgdir}/usr/bin/${pkgname} + + install -Dm 644 tor-browser-linux64-${pkgver}_${_language}.tar.xz ${pkgdir}/opt/${pkgname}/tor-browser-linux64-${pkgver}_${_language}.tar.xz + +} diff --git a/tor-browser.desktop b/tor-browser.desktop new file mode 100644 index 000000000000..14a9e67f6a5a --- /dev/null +++ b/tor-browser.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=Tor-Browser (REPL_LANGUAGE) +Exec=/usr/bin/REPL_NAME +Icon=/usr/share/pixmaps/REPL_NAME.png +Categories=Network; +Comment=REPL_COMMENT diff --git a/tor-browser.install b/tor-browser.install new file mode 100644 index 000000000000..427d086b9337 --- /dev/null +++ b/tor-browser.install @@ -0,0 +1,43 @@ +pkgname="tor-browser" + +pre_install() { + echo + echo "==> If you want to verify the gnupg signature you have to" + echo "==> import the proper public key first (Found on https://www.torproject.org/docs/signing-keys.html.en)." + echo "==> Choose one and use the following command to import it:" + echo "==> " + echo "==> gpg --recv-keys <keyid>" + echo "==> " + echo "==> After that, signature verifying should work." + echo +} + +post_install() { + echo + echo "==> ${pkgname} will be extracted to ~/.$pkgname" + echo "==> the first time you run $pkgname as your normal user!" + echo "==> Just start it and have fun." + echo +} + +pre_upgrade() { + # remove old files + rm -rf /opt/$pkgname +} + +post_upgrade() { + echo + echo "==> The $pkgname copy in your home directory will be upgraded at the" + echo "==> first time you run it as your normal user!" + echo "==> Just start and have fun." + echo +} + +post_remove() { + echo + echo "==> You have to remove the tor-brower directory in your home" + echo "==> directory by hand: As your normal user, do:" + echo "==> " + echo "==> rm -rf ~/.${pkgname}" + echo +} diff --git a/tor-browser.png b/tor-browser.png Binary files differnew file mode 100644 index 000000000000..39c4ab220c25 --- /dev/null +++ b/tor-browser.png diff --git a/tor-browser.sh b/tor-browser.sh new file mode 100755 index 000000000000..288b7561ec2e --- /dev/null +++ b/tor-browser.sh @@ -0,0 +1,108 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2009 Benjamin Drung <bdrung at ubuntu dot com> +# Copyright (C) 2012 Alessio Sergi <al3hex at gmail dot com> +# modified 2012 for tor-browser (Max Roder <maxroder at web dot de>) +# modified 2014 by Yardena Cohen <yardenack at gmail dot com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +set -e + +# filled by the PKGBUILD +NAME='REPL_NAME' +VERSION='REPL_VERSION' +LANGUAGE="REPL_LANGUAGE" + +ARCH=$(getconf LONG_BIT) + +notify() { + local title="$1" + local message="$2" + + if [ $(which zenity 2>/dev/null) ]; then + zenity --info --title "$title" --text "$message" + elif [ $(which notify-send 2>/dev/null) ]; then + notify-send "$title" "$message" + elif [ $(which kdialog 2>/dev/null) ]; then + kdialog --title "$title" --passivepopup "$message" + else + echo -e "$0: [$title] $message" >&2 + fi +} + +update() { + echo "$0: Extracting files to $INSTALL_DIRECTORY." >> $LOG_FILE + rm -rf $INSTALL_DIRECTORY/* + tar --strip-components=1 -xJf /opt/$NAME/tor-browser-linux${ARCH}-${VERSION}_${LANGUAGE}.tar.xz \ + -C $INSTALL_DIRECTORY >> $LOG_FILE 2>&1 || notify "Error" \ + "The tor-browser archive could not be extracted to your home directory. \ + \nCheck permissions of $INSTALL_DIRECTORY. \ + \nThe error log can be found in $LOG_FILE." + + [[ -f $INSTALL_DIRECTORY/Browser/start-tor-browser ]] && echo $VERSION > $VERSION_FILE +} + +usage() { + cat <<EOF +Usage: ${0##*/} [option] + +Options: + -h|--help Show this help message and exit + -u|--update Force update of the copy in your home directory + --dir=<directory> The Tor-Browser directory to use + + All unrecognized arguments will be passed to the browser. +EOF +} + +DIRECTORY=~/.$NAME +args=() +for arg; do + case "$arg" in + -h|--help) usage; exit 0 ;; + -u|--update) update=1 ;; + --dir=*) DIRECTORY="${arg#*=}" ;; + *) args+=("$arg") ;; + esac +done + +INSTALL_DIRECTORY=$DIRECTORY/INSTALL +VERSION_FILE=$DIRECTORY/VERSION +LOG_FILE=$DIRECTORY/LOG + +# create directory, if it is missing (e.g. first run) +[[ ! -d "$INSTALL_DIRECTORY" ]] && mkdir -p "$INSTALL_DIRECTORY" +cd "$DIRECTORY" + +# create version file if missing +[[ ! -f $VERSION_FILE ]] && echo 0 > $VERSION_FILE + +#get installed version +while read line +do + INSTALLED_VERSION=$line +done < $VERSION_FILE + +# start update if old or no tor-browser is installed +if [[ "$INSTALLED_VERSION" == "$VERSION" ]] && [[ $update != 1 ]]; then + # clear log + > $LOG_FILE +else + echo "$0: Your version in $DIRECTORY is outdated or you do not have installed $NAME yet." > $LOG_FILE + update +fi + +# start tor-browser +cd $INSTALL_DIRECTORY/Browser && ./start-tor-browser "${args[@]}" |