-Tor Browser Launcher
-====================
-Tor Browser Launcher is intended to make the Tor Browser Bundle (TBB) easier to
-maintain and use for GNU/Linux users. You install ```torbrowser-launcher``` from your
-distribution's package manager and it handles everything else, including:
-
-* Downloading the most recent version of TBB for you, in your language and for
- your architecture
+# Tor Browser Launcher
+
+Tor Browser Launcher is intended to make the Tor Browser Bundle (TBB) easier to maintain and use for GNU/Linux users. You install ```torbrowser-launcher``` from your distribution's package manager and it handles everything else, including:
+
+* Downloading the most recent version of TBB for you, in your language and for your architecture
* Automatically updating (while preserving your bookmarks and preferences)
* Verifying the TBB's [GnuPG signature](http://www.gnupg.org/gph/en/manual/x135.html)
* Adding a "Tor Browser" application launcher to your desktop environment's menu
-When you first launch Tor Browser Launcher, it will download TBB from
-https://www.torproject.org/ and extract it in ```~/.torproject```, and then execute
-it. When you run it after that it will just execute TBB.
+If you use Ubuntu, you can install it now from my PPA (see "Installing in Ubuntu" below). [Soon](https://github.com/micahflee/torbrowser-launcher/issues/31) it will be in Debian. To install it in any other distribution, follow the "Quick Start" instructions.
-Building a Debian package
-=========================
+## Quick Start
-Dependencies
-------------
+First, clone the repository:
-You need to have ```stdeb``` installed. If you're using Debian or Ubuntu you can
-install it like this:
+ git clone https://github.com/micahflee/torbrowser-launcher.git
+ cd torbrowser-launcher
- apt-get install python-stdeb
+Then install dependencies, build a package, and install:
-Also install the ```torbrowser-launcher``` dependencies:
+### Debian, Ubuntu, Linux Mint, etc.
- apt-get install python-gtk2 python-psutil python-twisted wmctrl gnupg
+ sudo apt-get install build-essential python-all python-stdeb python-gtk2 python-psutil python-twisted python-pygame python-lzma wmctrl gnupg fakeroot
+ ./build_deb.sh
+ sudo dpkg -i deb_dist/torbrowser-launcher_*.deb
-Building and Installing
------------------------
+### Red Hat, Fedora, CentOS, etc.
-If you're using a Debian-based distribution, you can build a ```.deb``` and install it
-in one step by running:
+ sudo yum install python-psutil python-twisted pygame wmctrl gnupg fakeroot
+ ./build_rpm.sh
+ sudo yum install dist/torbrowser-launcher-*.rpm
- ./build_and_install.sh
+## Installing in Ubuntu
-To build a Debian source package:
+I've created a PPA where I'm maintaining torbrowser-launcher binaries. You can install in an Ubuntu-based distribution like this:
- python setup.py --command-packages=stdeb.command sdist_dsc
+ sudo add-apt-repository ppa:micahflee/ppa
+ sudo apt-get update
+ sudo apt-get install torbrowser-launcher
-To build a Debian binary package:
+## Enabling AppArmor Profiles
- python setup.py --command-packages=stdeb.command bdist_deb
+AppArmor is a Linux kernel hardening technology that lets you confine specific programs to only use specific resources. For example, if you visit a website that exploits a bug in the Tor Browser to get arbitrary code execution, the attacker won't be able to access files in ~/.gnupg. Here's how you turn on the AppArmor profiles for Tor Browser Launcher and for the programs bundled in the TBB.
-Once you've made a ```.deb```, you can install by running this as root:
+ sudo apt-get install apparmor-utils
+ sudo aa-enforce /etc/apparmor.d/usr.bin.torbrowser-launcher
+ sudo aa-enforce /etc/apparmor.d/torbrowser.start-tor-browser
+ sudo aa-enforce /etc/apparmor.d/torbrowser.Browser.firefox
+ sudo aa-enforce /etc/apparmor.d/torbrowser.Tor.tor
- dpkg -i deb_dist/torbrowser-launcher_VERSION_all.deb