diff options
-rw-r--r--wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop/iceweasel.pngbin4421 -> 0 bytes
-rw-r--r--wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop/tor-browser.pngbin0 -> 5402 bytes
22 files changed, 136 insertions, 664 deletions
diff --git a/config/chroot_local-includes/usr/local/sbin/unsafe-browser b/config/chroot_local-includes/usr/local/sbin/unsafe-browser
index 3c34213..80b5427 100755
--- a/config/chroot_local-includes/usr/local/sbin/unsafe-browser
+++ b/config/chroot_local-includes/usr/local/sbin/unsafe-browser
@@ -147,14 +147,14 @@ configure_chroot () {
chmod a+r ${CHROOT}/etc/resolv.conf
- # Remove all Iceweasel addons: some adds proxying, which we don't
+ # Remove all addons: some adds proxying, which we don't
# want; some may change the fingerprint compared to a standard
- # Iceweasel install. Note: We cannot use apt-get since we don't ship its
+ # Firefox install. Note: We cannot use apt-get since we don't ship its
# lists (#6531). Too bad, APT supports globbing, while dkpg does not.
dpkg -l 'xul-ext-*' | /bin/grep '^ii' | awk '{print $2}' | \
xargs chroot ${CHROOT} dpkg --remove
- # Create a fresh Iceweasel profile for the clearnet user
+ # Create a fresh browser profile for the clearnet user
@@ -210,7 +210,7 @@ EOF
run_browser_in_chroot () {
- # Start Iceweasel in the chroot
+ # Start the browser in the chroot
echo "* Starting Unsafe Browser"
sudo -u ${SUDO_USER} xhost +SI:localuser:${CLEARNET_USER} 2>/dev/null
diff --git a/config/chroot_local-includes/usr/share/amnesia/browser/searchplugins/locale/README b/config/chroot_local-includes/usr/share/amnesia/browser/searchplugins/locale/README
index 89f95fe..a0978ff 100644
--- a/config/chroot_local-includes/usr/share/amnesia/browser/searchplugins/locale/README
+++ b/config/chroot_local-includes/usr/share/amnesia/browser/searchplugins/locale/README
@@ -1,5 +1,5 @@
When Tails is built, the searchplugins defined in these directories
will be symlinked to the corresponding locale directory in
-/etc/iceweasel/searchplugins/locale. With one twist: if a language
-has more than one locale, the searchplugins will be symlinked in all
-the corresponding directories.
+/usr/local/lib/tor-browser/Browser/distribution/searchplugins/locale with
+one twist: if a language has more than one locale, the searchplugins
+will be symlinked in all the corresponding directories.
diff --git a/wiki/src/contribute/design.mdwn b/wiki/src/contribute/design.mdwn
index 527eb70..319906b 100644
--- a/wiki/src/contribute/design.mdwn
+++ b/wiki/src/contribute/design.mdwn
@@ -745,9 +745,9 @@ See [[doc/about/features]].
## 3.3 Internationalization
Tails ships, as is, localization files provided by the installed
-Debian packages. All available iceweasel localization packages
+Debian packages. All available Tor Browser localization packages
are installed. Spell checking software and data is installed for the
-set of best supported languages; it is usable at least is Iceweasel,
+set of best supported languages; it is usable at least is Tor Browser,
LibreOffice and gedit.
### 3.3.1 Input methods
@@ -945,77 +945,58 @@ granting `sudo` privileges to the `amnesia` user by default.
Unless an administrator password is set in tails-greeter,
no root access is possible afterwards.
-### 3.6.13 Iceweasel
-(Note: Iceweasel is the name of the web browser, based on Mozilla
-Firefox, that is shipped by Debian and thus by Tails.)
-Tails ships custom Iceweasel ESR packages built with the Torbrowser
-patches to better blend in the Tor Browser Bundle's anonymity set.
-Some patches, that are not relevant for Tails, are not
-applied, though: see the Tails browser's
-for the current status.
-Iceweasel uses the Torbutton extension in order to prevent attacks
-using JavaScript, plugins and other non-HTTP features like web
-bugs. It is configured to always be enabled on Iceweasel start and
-uses Tor as SOCKS5 proxy. SOCKS is configured to perform name
-resolution through this proxy. Iceweasel is also configured to not
-cache to disk (mainly to reduce memory usage for DVD users as disk
-writes will be stored there), history is disabled (just in case) and
-many other things. It is also set up not to automatically check for
-updates of its installed extensions. Java support is disabled.
-Iceweasel is shipped with some extensions to help users manage their
-browsing experience. The Torbutton settings treat all cookies as
-session cookies by default. This prevents the
-known leak of browsing information cookies can lead to. The [Adblock
-plus]( extension
-protects against many tracking possibilities by removing most ads.
-Tails ships the [HTTPS
-Everywhere]( extension that
-forces HTTPS usage for requests to a number of major websites.
-Tails also ships the
-extension that:
-- allows using I2P instead of Tor to visit eepsites (I2P's own hidden
- services look-alike); see [[the design document dedicated to Tails
- use of I2P|I2P]] for details;
-- could help [[!tails_todo FTP_in_Iceweasel desc="fixing Iceweasel's FTP support"]].
-Thanks to Torbutton, to the Tor Browser patches, and to us importing
-(most of) the TBB preferences, Iceweasel is configured so that Tor browser
-fingerprint appears uniformly among Torbutton users. Tails enables
-Torbutton's EN-US locale spoofing to avoid partitioning Tails
-users into per-language anonymity sets.
-Torbutton is also configured to spoof the timezone settings the same
-way as the Tor Browser Bundle does, i.e. to `UTC+00:00`.
-Thanks to the Tor Browser patches, the in-memory web cache is isolated
-to the url bar origin.
-The Iceweasel config is poorly commented but the commit messages in
-Git history explains it all. In a nutshell, Iceweasel preferences are
-set in various ways:
-* A Tor Browser patch called
- `0022-Tor-Browser-s-Firefox-preference-overrides.patch` bundles
- their prefs directly into `omni.ja`.
-* `/etc/iceweasel/*/*.js` contains:
- - Torbutton preferences that the TBB also sets;
- - some Tails-specific settings.
-Whenever the user tries to start Iceweasel before Tor is ready, they
-are informed it won't work, and asked whether to start the browser
-- [[!tails_gitweb config/chroot_local-includes/usr/local/bin/iceweasel]]
-- [[!tails_gitweb config/chroot_local-includes/usr/local/sbin/tor-has-bootstrapped]]
+### 3.6.13 Tor Browser
+Tails ships with the Tor Browser, which is based on Mozilla Firefox
+and patched by the Tor Project for improved anonymity by reducing
+information leaks, decreasing attack surface and similar. The actual
+binaries etc. used in Tails are those distributed by the Tor Project,
+but the configuration differs slightly, which is described below.
+In Tails we diverge from the TBB's one-profile-only design, and
+install the Tor Browser in a globally accessible directory used by all
+browser profiles (and other XUL applications).
+- [[!tails_gitweb config/chroot_local-hooks/10-tbb]]
+The default profile is split from the binaries and application data:
+- [[!tails_gitweb_dir config/chroot_local-includes/etc/tor-browser]]
+As for extensions we have the following differences:
+* Tails also installs the
+ [Adblock plus](
+ extension to protect against many tracking possibilities by removing
+ most ads.
+* Tails also ships the
+ [FoxyProxy](
+ extension that:
+ - allows using I2P instead of Tor to visit eepsites (I2P's own
+ hidden services look-alike); see
+ [[the design document dedicated to Tails use of I2P|I2P]] for
+ details;
+ - could help
+ [[!tails_todo FTP_in_Iceweasel desc="fixing web browser FTP support"]].
+* Tails does not install the same Torbutton as in the TBB. We
+ installed a patched version.
+* Tails does not install the Tor Launcher extension as part of the
+ browser. A patched Tor Launcher is installed for use as a
+ stand-alone XUL application, though.
+In Tails we do not use the `start-tor-browser` script, since it does a
+lot of stuff not needed in Tails (error checking mainly) and isn't
+flexible since it looks for the browser profile in a specific
+place. Our custom script makes use of the global installation and also
+makes sure the default profile is used as a basis. Also, whenever the
+user tries to start the Tor Browser before Tor is ready, they are
+informed it won't work, and asked whether to start the browser anyway:
+- [[!tails_gitweb config/chroot_local-includes/usr/local/bin/tor-browser]]
+- [[!tails_gitweb config/chroot_local-includes/usr/local/bin/generate-tor-browser-profile]]- [[!tails_gitweb config/chroot_local-includes/usr/local/sbin/tor-has-bootstrapped]]
- [[!tails_gitweb config/chroot_local-includes/etc/sudoers.d/zzz_tor-has-bootstrapped]]
Once Tor is ready to be used, the user is informed they can now use
@@ -1023,15 +1004,13 @@ the Internet:
- [[!tails_gitweb config/chroot_local-includes/etc/NetworkManager/dispatcher.d/]]
-Source code, scripts and configuration:
+The remaining configuration differences can be found in:
-- [[!tails_gitweb_dir config/chroot_local-includes/etc/iceweasel]]
-- Tails' Iceweasel source [[lives in Git|contribute/git]]
-- [[!tails_gitweb config/chroot_local-hooks/12-remove_unwanted_iceweasel_searchplugins]]
-- [[!tails_gitweb config/chroot_local-hooks/13-iceweasel_sqlite]]
+- [[!tails_gitweb_dir config/chroot_local-includes/etc/tor-browser/preferences/zzz_tails.js]]
+- [[!tails_gitweb config/chroot_local-hooks/12-remove_unwanted_browser_searchplugins]]
- [[!tails_gitweb config/chroot_local-hooks/13-override-tbb-branding]]
-- [[!tails_gitweb config/chroot_local-hooks/14-add_localized_iceweasel_searchplugins]]
-- [[!tails_gitweb config/chroot_local-hooks/14-generate-iceweasel-profile]]
+- [[!tails_gitweb config/chroot_local-hooks/14-add_localized_browser_searchplugins]]
+- [[!tails_gitweb config/chroot_local-hooks/14-generate-tor-browser-profile]]
- [[!tails_gitweb config/chroot_local-hooks/15-symlink-places.sqlite]]
### 3.6.14 Claws Mail
@@ -1244,7 +1223,7 @@ release candidates images before they are officially published.
### 3.8.3 Upgrades
Keeping Tor (stable releases only, unless the Tor core developers
-recommend otherwise) and Iceweasel up-to-date is a priority.
+recommend otherwise) and the Tor Browser up-to-date is a priority.
Remaining applications, including the base system, will be upgraded
using Debian standard upgrade process, and generally based on the
@@ -1299,11 +1278,11 @@ where Tails is heading to.
Tails tries to make it as difficult as possible to distinguish Tails
users from other Tor users.
-Iceweasel is configured to match the fingerprint of the Tor Browser
+The Tor Browser used in Tails is configured to match the fingerprint of the Tor Browser
Bundle and the known differences, if any, are listed in the [[known
issues|support/known_issues]] page.
-However the fact that different extensions are installed in Tails and in
+However the fact that different browser extensions are installed in Tails and in
the TBB surely allows more sophisticated attacks that usual fingerprint
as returned by tools such as <> and
<>. For example, the fact that Adblock is removing
diff --git a/wiki/src/contribute/design/I2P.mdwn b/wiki/src/contribute/design/I2P.mdwn
index 3b8b789..3f7473e 100644
--- a/wiki/src/contribute/design/I2P.mdwn
+++ b/wiki/src/contribute/design/I2P.mdwn
@@ -11,7 +11,7 @@ be able to access eepsites from Tails.
-[I2P](https:/ has been included since Tails v0.7 with Iceweasel
+[I2P](https:/ has been included since Tails v0.7 with the web browser
preconfigured using FoxyProxy so that eepsites (`.i2p` TLD) are directed to
I2P. All other traffic gets routed through Tor.
@@ -78,12 +78,12 @@ participating in I2P traffic:
[[!tails_gitweb config/chroot_local-hooks/16-i2p_config]].
[[!tails_todo iceweasel_addon_-_FoxyProxy desc="FoxyProxy"]] has been installed
-system-wide, and the default iceweasel profile provides with a
+system-wide, and the default web browser profile provides with a
configuration handling the I2P integration. FoxyProxy's whitelist
filter is used to make sure that the corresponding urls will be
proxied appropriately.
-Below are the patterns that each url handled by iceweasel will be
+Below are the patterns that each url handled by the web browser will be
matched against. These patterns will be tried in order, from top to
bottom, until the first match is found:
@@ -231,7 +231,7 @@ Things to meditate upon
SOCKS5. This effectively breaks FTP completely, so there's room for
adding a pattern above number 4 which matches ftp connections
(i.e. `^ftp://.*`) and proxies them through some ftp proxy using Tor
- as its parent proxy. See [[!tails_todo FTP_in_Iceweasel]]. As an addition,
+ as its parent proxy. See [[!tails_todo FTP_in_Iceweasel desc="FTP in Tor Browser"]]. As an addition,
at the moment (versions <=0.8) ftp does not work in I2P for
technical reasons, so no pattern for that is needed.
@@ -258,4 +258,4 @@ Things to meditate upon
* Are the patterns used above correct for their intended purposes?
Does the FoxyProxy setup in any way open up for attacks? See
- [[!tails_todo iceweasel_addon_-_FoxyProxy]].
+ [[!tails_todo iceweasel_addon_-_FoxyProxy desc="FoxyProxy"]].
diff --git a/wiki/src/contribute/design/Unsafe_Browser.mdwn b/wiki/src/contribute/design/Unsafe_Browser.mdwn
index b79ec39..6eae7d6 100644
--- a/wiki/src/contribute/design/Unsafe_Browser.mdwn
+++ b/wiki/src/contribute/design/Unsafe_Browser.mdwn
@@ -14,8 +14,8 @@ Internet access seem required for avoiding this problem.
-* It must run a completely separate Iceweasel profile from the
- Torified browser's.
+* It must run a completely separate browser profile from the
+ Torified browser.
* It must be hard to start by mistake.
* It must be hard to mistake for the Torified browser.
* It must be configured to use the DNS provided by DHCP (which is required
@@ -42,8 +42,8 @@ when started:
0. Show a dialog asking the user for verification, while also briefly
explaining that the Unsafe Browser won't be anonymous.
0. "No" is the default answer, but if "Yes", we start a separate
- Iceweasel instance.
-0. Iceweasel is configured to use a theme with scary colors (red). To
+ browser instance.
+0. The browser is configured to use a theme with scary colors (red). To
not raise suspicion the scary theme is not used when Windows
camouflage is activated, but instead the normal Internet Explorer
theme is used.
diff --git a/wiki/src/contribute/design/persistence.mdwn b/wiki/src/contribute/design/persistence.mdwn
index d08588b..d3e521b 100644
--- a/wiki/src/contribute/design/persistence.mdwn
+++ b/wiki/src/contribute/design/persistence.mdwn
@@ -23,8 +23,8 @@ This is relevant for the following applications:
- GnuPG, SSH and OTR key pairs
- GnuPG configuration
- SSH client configuration
-- iceweasel certificate trust
-- iceweasel bookmarks
+- Tor Browser certificate trust
+- Tor Browser bookmarks
- Pidgin configuration
- MUA configuration
- printers configuration
diff --git a/wiki/src/contribute/design/stream_isolation.mdwn b/wiki/src/contribute/design/stream_isolation.mdwn
index dda84de..588d6e0 100644
--- a/wiki/src/contribute/design/stream_isolation.mdwn
+++ b/wiki/src/contribute/design/stream_isolation.mdwn
@@ -26,8 +26,8 @@ Tails:
Web Browser
-Until Torbrowser implements clever fine-grained stream isolation
-([[!tor_bug 3455]]), Iceweasel is merely directed to a dedicated SOCKS port.
+Until the Tor Browser implements clever fine-grained stream isolation
+([[!tor_bug 3455]]) it is merely directed to a dedicated SOCKS port.
Destination address/port -based circuit isolation
@@ -46,7 +46,7 @@ However:
before we ship it to the masses.
For performance reasons, we will start with *not* using
-`IsolateDestAddr`/`IsolateDestPort` for iceweasel we ship: nowadays,
+`IsolateDestAddr`/`IsolateDestPort` for the Tor Browser: nowadays,
loading a mere web page often requires fetching resources from a dozen
or more remote sources. (Also, it looks like the use of
`IsolateDestAddr` in a modern web browser may create very uncommon
@@ -91,9 +91,7 @@ in [[!tails_gitweb config/chroot_local-includes/etc/tor/torrc]]:
Applications are configured to use the right SOCKS port:
-- [[!tails_gitweb config/chroot_local-includes/etc/iceweasel/pref/iceweasel.js]]
-- [[!tails_gitweb config/chroot_local-includes/etc/iceweasel/profile/foxyproxy.xml]]
-- [[!tails_gitweb config/chroot_local-includes/etc/iceweasel/profile/user.js]]
+- [[!tails_gitweb config/chroot_local-includes/etc/tor-browser/profile/preferences/zzz_tails.js]]
- [[!tails_gitweb config/chroot_local-includes/etc/init.d/htpdate]]
- [[!tails_gitweb config/chroot_local-includes/etc/tor/tor-tsocks-mua.conf]]
- [[!tails_gitweb config/chroot_local-includes/usr/local/bin/tails-security-check]]
diff --git a/wiki/src/contribute/how/documentation/guidelines.mdwn b/wiki/src/contribute/how/documentation/guidelines.mdwn
index 8a76014..bde1d40 100644
--- a/wiki/src/contribute/how/documentation/guidelines.mdwn
+++ b/wiki/src/contribute/how/documentation/guidelines.mdwn
@@ -119,7 +119,7 @@ is described in its principal use cases. For example:
The screen reading functionality of <span class="application">GNOME
Orca</span> does not work neither with the <span
-class="application">Iceweasel Web Browser</span> nor with the <span
+class="application">Tor Browser</span> nor with the <span
class="application">Unsafe Web Browser</span>.
diff --git a/wiki/src/contribute/release_process.mdwn b/wiki/src/contribute/release_process.mdwn
index ff68330..2df84bd 100644
--- a/wiki/src/contribute/release_process.mdwn
+++ b/wiki/src/contribute/release_process.mdwn
@@ -41,12 +41,6 @@ Pre-freeze
The [[contribute/working_together/roles/release_manager]] role
documentation has more tasks that should be done early enough.
-Update Iceweasel preferences
-* update `extensions.adblockplus.currentVersion` in
- `config/chroot_local-includes/etc/iceweasel/profile/user.js`
Coordinate with Debian security updates
@@ -71,22 +65,22 @@ AdBlock patterns
Patterns are stored in
1. Boot Tails
-2. Open *Tools* → *Addons*
+2. Start the tor Browser and open *Tools* → *Addons*
3. Select *Adblock Plus* in extensions
4. Open *Preferences* → *Filter preferences…*
5. For each filters, click *Actions* → *Update filters*
-6. Close Iceweasel
-7. Copy the `.mozilla/firefox/default/adblockplus/patterns.ini` from
- this Iceweasel instance to the
- `config/chroot_local-includes/etc/iceweasel/profile/adblockplus`
+6. Close the Tor Browser
+7. Copy the `.tor-browser/profile.default/adblockplus/patterns.ini` from
+ this Tor Browser instance to the
+ `config/chroot_local-includes/etc/tor-browser/profile.default/adblockplus`
directory in the Tails Git checkout.
8. Commit:
git commit -m 'Update AdBlock Plus patterns.' \
- config/chroot_local-includes/etc/iceweasel/profile/adblockplus/patterns.ini
+ config/chroot_local-includes/etc/tor-browser/profile.default/adblockplus/patterns.ini
Upgrade bundled binary Debian packages
@@ -116,7 +110,6 @@ Correct all the errors that are not in the ignored list of
Then see the relevant release processes:
-* [[iceweasel]]
* [[liveusb-creator]]
* [[tails-greeter]]
* [[perl5lib]]
@@ -127,6 +120,11 @@ Then see the relevant release processes:
* build a Debian package
* upload it to our [[APT repository]]
+Upgrade the Tor Browser
+See the dedicated page: [[tor-browser]]
Update PO files
@@ -479,15 +477,6 @@ Prepare upgrade-description files
Upload images
-Sanity check
-Verify that the current source for Firefox is still the same we've
-used when preparing our custom Iceweasel package: e.g. FF17.0.8 got
-re-tagged and re-uploaded at the last minute, due to a test failure.
-Better catch this before people spend time doing manual tests.
## Announce, seed and test the Torrents
Announce and seed the Torrents.
@@ -622,7 +611,7 @@ image to be released was *built*. Including:
- the list of BSA fixed in packages we ship since those that were in
the previous release of Tails:
-- the list of MFSA fixed by the iceweasel update:
+- the list of MFSA fixed by the Tor Browser update:
If preparing a release candidate
@@ -679,12 +668,6 @@ Testing
Go wild!
-Sanity check
-Verify once more that the current source for Firefox is still the same
-we've used when preparing our custom Iceweasel packages.
diff --git a/wiki/src/contribute/release_process/Debian_security_updates.mdwn b/wiki/src/contribute/release_process/Debian_security_updates.mdwn
index f0d696c..06bdaf3 100644
--- a/wiki/src/contribute/release_process/Debian_security_updates.mdwn
+++ b/wiki/src/contribute/release_process/Debian_security_updates.mdwn
@@ -5,17 +5,6 @@ by delaying a Tails release a bit to wait for a DSA to happen.
[[!toc levels=2]]
-Mozilla updates are scheduled in advance. Searching the web for the
-next (point-)release number tells you when it will be released. Add
-2-3 days to this release date, and you know when a xulrunner/iceweasel
-Debian security update will be ready on the mirrors.
-See the [releases page]( on Mozilla
Debian security team
diff --git a/wiki/src/contribute/release_process/iceweasel.mdwn b/wiki/src/contribute/release_process/iceweasel.mdwn
deleted file mode 100644
index 8f36ee7..0000000
--- a/wiki/src/contribute/release_process/iceweasel.mdwn
+++ /dev/null
@@ -1,479 +0,0 @@
-[[!meta title="Releasing Iceweasel + Torbrowser patches"]]
-[[!toc levels=2]]
-1. Prepare environment
-* Clone our Tor browser
- [[Git repository|contribute/git#other-repositories]] if you do not
- have it handy yet.
-* Add (and fetch from) a Git remote for the Debian iceweasel packaging
- repository:
- git remote add -f debian git://
-* Export the new upstream release to the environment of the one shell
- or three that will be used:
- export VERSION=17.0.9esr
-2. Was Iceweasel updated?
-It might have been updated in one of these sources:
-* branch `esr/master` in `git://`
-* <>
-**If** it was updated, then skip to [[New Iceweasel release|iceweasel#new-iceweasel-release]].
-**Else**, skip to [[New Firefox release|iceweasel#new-firefox-release]].
-<a id="new-firefox-release"></a>
-3. New Firefox release
-If Iceweasel was not updated to match the new Firefox release we want,
-a bit more work is needed.
-Note that usually, we're doing these steps (usually on Sunday or
-Monday) *before* the new ESR was officially released (which usually
-happens on Tuesday). Mozilla make the source available on previous
-Friday or Saturday, so that downstreams (such as us!) can get their
-stuff ready in time for the security announce.
-* Download the Firefox tarball and detached signature from
- <>
- (`VERSION` is the version we want to build, that is something like
- `17.0.7esr`).
- If it's not ready there yet, look at
- <>
- instead: Mozilla now only moves the tarballs to the `releases` directory after
- it has passed their internal QA.
-* Check the signature.
-* Put the tarball in the parent directory of your Iceweasel Git repository.
-* Extract the tarball.
-* `cd` into the extracted directory.
-* Copy the `debian/` directory from our previous package into the new
- upstream source directory.
-* Add a `debian/changelog` entry matching the new
- upstream version. Use 0 for the Debian packaging version, e.g.
- `17.0.5esr-0`, to leave room for the official packaging that we will
- want to merge when it's out:
- dch -v ${VERSION}-0 "New upstream release."
-* If you had to download a *candidate* version above, patch
- `debian/` so that it downloads stuff from the same place,
- e.g.:
- --- a/debian/
- +++ b/debian/
- @@ -89,12 +89,12 @@ ifndef L10N_CHANNEL
- endif
- +BASE_URL =$(PRODUCT_NAME)/candidates
- L10N_FILTER = awk '(NF == 1 || /linux/) && $$1 != "en-US" { print $$1 }'
- $(call lazy,L10N_LANGS,$$(shell $$(L10N_FILTER) $(PRODUCT)/locales/shipped-locales))
- ifeq ($(SOURCE_TYPE),releases)
- +SOURCE_URL = $(BASE_URL)/$(SOURCE_VERSION)-candidates/build1/source/$(PRODUCT_NAME)-$(SOURCE_VERSION).source.tar.bz2
- SOURCE_REV = $(call uc,$(PRODUCT_NAME))_$(subst .,_,$(SOURCE_VERSION))_RELEASE
- **Beware**: make sure to replace `build1` with the name of the
- directory you downloaded the upstream candidate tarball above.
-* Download and repack the other tarballs:
- make -f debian/rules download
-* `cd` into our Iceweasel Git directory.
-* Checkout the `tails/master` branch.
-* Unapply all quilt patches and commit:
- quilt pop -a && \
- git add . && git reset HEAD .pc && git commit -a -m 'Unapply all quilt patches.'
-* Get yourself a new upstream branch:
- git branch -D upstream && \
- git branch upstream tails/master
-* Trick the tarball importer to import the correct version:
- cp ../mozilla-esr24/browser/config/version.txt browser/config/ && \
- cp ../mozilla-esr24/debian/changelog debian/
-* Import the new upstream release into the `upstream` branch:
- make -f debian/rules import
-* Merge the import commit into `tails/master`:
- git reset --hard && git merge upstream
-* Get the `debian` directory back:
- git checkout HEAD^ -- debian && \
- git commit -m 'Get Debian packaging directory back.'
-* Don't ignore `.mozconfig`'s:
- grep -v -F '/.mozconfig*' .gitignore | sponge .gitignore && \
- git commit -m "Don't ignore .mozconfig's." .gitignore
-* Cleanup quilt status:
- rm -rf .pc
-* Apply all quilt patches:
- quilt push -a
- It might be that the last patch (`configure.patch`) fails. Ignore it
- for now.
-* Commit:
- git add . && git reset HEAD .pc && git commit -a -m 'Apply all quilt patches.'
-<a id="new-iceweasel-release"></a>
-4. New Iceweasel release
-Skip this entire stage if you imported a new Firefox release.
-The way to proceed is different depending on whether Debian's
-iceweasel was pushed to it yet, or not.
-If Debian's iceweasel was pushed to Git already
-* Retrieve the update from the iceweasel Git repository and verify the
- Git tag you want to import, e.g.
- git fetch debian && git tag -v debian/17.0.8esr-1
-* Checkout our `tails/master` branch.
-* Unapply all Torbrowser patches:
- - If quilt knows they are applied (`quilt applied` will tell you),
- then use `quilt pop` as many times as needed.
- - Else, some manual care is needed so that quilt internal state
- matches the actual state of the source tree. We need to manually
- unapply all quilt patches, then reapply them all:
- for p in $(tac debian/patches/series) ; do
- patch -p1 -R < "debian/patches/$p"
- done && quilt push -a
- ... and then use `quilt pop` as many times as needed to unapply
- all Torbrowser patches.
-* `git add` the new files and the modified ones
-* `git rm` the deleted files
-* Commit:
- git commit -m 'Remove Torbrowser patches.'
-* Merge the tag, e.g.
- git merge debian/17.0.8esr-1
-* Verify with that `tails/master` is in the same state as Debian's
- iceweasel, e.g.
- git diff --stat debian/17.0.8esr-1..tails/master
- All expected differences should be:
- * files modified: `.gitignore`,
- `debian/{changelog,rules,control,}`,
- `debian/{browser.mozconfig,}`
- * files added: `.mozconfig*`, `debian/tails.*.mozconfig`,
- `debian/patches/series`, and the Torbrowser patches.
-If Debian's iceweasel was not pushed to Git yet
-Then, we have to import the source package into Git ourselves, and
-merge from Debian's Vcs-Git later.
-* Download, verify and extract the new iceweasel source package with dget.
-* Checkout our `tails/master` branch.
-* Unapply all quilt patches and commit:
- quilt pop -a
-* `git rm` the deleted files
-* `git add` the new files and the modified ones
-* Commit:
- git commit -m 'Remove all quilt patches.'
-* Overwrite the files in the Git checkout with the new ones.
- Assuming the new extracted iceweasel package is in
- `iceweasel-17.0.2esr`, and our iceweasel Git repository checkout is
- in `git`:
- rsync --stats -a --exclude=.git --delete iceweasel-17.0.2esr/ git/
-* `git rm` the deleted files
-* `git add *`
-* Add other added or modified files *but* `.pc`.
-* Commit:
- git commit -m "Import $(head -n 1 debian/changelog | sed -e 's,).*,),')"
-* Verify with `diff` that the current state of the `tails/master` is
- exactly the same as Debian's iceweasel source package one:
- diff -Naur --exclude=.git iceweasel-17.0.2esr/ git/
-* Bring our changes back:
- * files modified: `.gitignore`,
- `debian/{changelog,rules,control,}`,
- `debian/{browser.mozconfig,}`
- * files added: `.mozconfig*`, `debian/tails.*.mozconfig`,
- `debian/patches/series`, and the Torbrowser patches.
-5. Update Torbrowser patches
-First, check if the Torbrowser patches were updated since the last
-time we imported them (that's why we always record in
-`debian/changelog` the TorBrowser Git commit we are importing from).
-**If** the Torbrowser patches were not updated, then just apply them
-and commit:
- quilt push -a && git commit -a -m 'Apply Torbrowser patches.'
-... then skip this entire stage.
-**Else**, proceed with the following steps.
-* Make sure all quilt patches are applied.
-* Unapply all Torbrowser patches: use `quilt pop` as many times as
- needed.
-* Revert our changes (with `--no-commit`) to
- `debian/patches/configure.patch` if needed, and deapply it:
- cat debian/patches/configure.patch | patch -p1 --reverse
-* `quilt delete` the `configure.patch` if it exists.
-* Remove all Torbrowser patches from the series:
- quilt unapplied | grep --color=never '^torbrowser/' | xargs -n 1 quilt delete
-* Remove Torbrowser patches from Git:
- git rm -r debian/patches/torbrowser/
-* Commit:
- git commit -a -m 'Remove Torbrowser patches.'
-* Import the latest TorBrowser patches:
- - Ensure you have Mike Perry's latest stuff available:
- git remote add -f mikeperry
- git remote add -f ttp
- - Find the most recent commit in ttp/tor-browser-24.2.0esr-1
- that is an import from Mozilla (see e.g. 5175d069); save its ID:
- - Export the Torbrowser patches:
- git format-patch -o "$TORBROWSER_PATCHES_DIR" \
- "$LAST_MOZILLA_COMMIT..ttp/tor-browser-$VERSION-3.x-1"
- - Remove from $TORBROWSER_PATCHES_DIR the patches we don't want.
- See `debian/changelog` for the - list of patches skipped last
- time, see the TorBrowser Git log to make your opinion about new or
- updated patches, use common sense. Take note of your decisions and
- its rationale, you will need it later.
- - Import the Torbrowser patches:
- for patch in $(\ls --reverse ${TORBROWSER_PATCHES_DIR}/*.patch) ; do
- p=$(basename "$patch")
- quilt import -P "torbrowser/$p" "$patch"
- done
- git add debian/patches/torbrowser debian/patches/series && \
- TORBROWSER_COMMIT=$(git rev-parse ttp/tor-browser-$VERSION-3.x-1)
- git commit -m "Import Torbrowser patches at commit ${TORBROWSER_COMMIT}."
-* Apply Torbrowser patches:
- quilt push -a && git add . && git reset HEAD .pc && git commit -a -m 'Apply Torbrowser patches.'
-* Update `debian/tails.*.mozconfig`:
- - copy all `ac_add_options` lines from `.mozconfig` into the *Tor
- Browser's options* section in `debian/tails.common.mozconfig`,
- *but* the ones that break the xulrunner build, that go into *Tor
- Browser's options specific to the browser component* section in
- `debian/tails.browser.mozconfig` instead
- - review the changes to these settings
- - if needed, update the `debian/tails.common.mozconfig`'s *Override
- Tor Browser's options* section
-* Push to Git:
- git push origin tails/master && git push --tags
-6. Build packages
-Update debian/changelog
-* set a version such as `17.0.5esr-0+tails1`, e.g.
- dch -v "${VERSION}-0+tails1"
-* list our changes, especially the TorBrowser commit at which the
- patches were imported, and the ones we skipped
-* set distribution to unstable
-* commit:
- git commit debian/changelog \
- -m "$(head -n 1 debian/changelog | sed -e 's,).*,),')"
-Tag the release
- DEB_VERSION=$(dpkg-parsechangelog -SVersion)
- git tag -s -m "$(head -n 1 debian/changelog | sed -e 's,).*,),')" "debian/${DEB_VERSION}"
-Clean up the source tree
- git clean -fdx -e /.pc/
-Build for unstable
-If you have no available non-Tails setup to comfortably test these
-packages, then skip this step.
-* Build for unstable and the architecture you can test on (most likely
- amd64), e.g. using our [[contribute/Debian_package_builder]].
- **Note:** if building locally in a ramdisk, it needs to be at least
- 14GB large.
-* Copy `browser/app/profile/000-tor-browser.js` into
- `/etc/iceweasel/pref/` on the test system.
-* Install and test the resulting packages.
-Build for wheezy-backports
-* Checkout the `tails/wheezy` branch and merge the tag:
- git checkout tails/wheezy && git merge "debian/${DEB_VERSION}"
-* Add a wheezy-backport changelog entry:
- dch --bpo
- Adjust as needed.
-* Commit:
- git commit debian/changelog \
- -m "$(head -n 1 debian/changelog | sed -e 's,).*,),')"
-* Tag the backport:
- git tag -s -m "$(head -n 1 debian/changelog | sed -e 's,).*,),')" \
- "debian/$(dpkg-parsechangelog -SVersion | sed -e 's,~,_,')"
-* Build for wheezy-backports and i386, e.g. using our
- [[contribute/Debian_package_builder]]. You may also do it yourself
- using `pbuilder`. Note that this repo is *not* adapted to be built
- with `git-buildpackage` or `git-pbuilder`.
-* Integrate these debs into your apt-cacher cache. That's one cp to
- `/var/cache/apt-cacher-ng/_import/` away, + 1 click in the
- web interface.
-* Test the resulting packages in Tails.
-* Make sure the `.orig.*` tarballs are included in the `.changes`
- file. FIXME: check if that's needed, or done automatically by the
- above instructions.
-* Upload the resulting packages to the relevant suite of our
- [[contribute/APT repository]].
-* Merge this APT suite where you need it: generally, that's `devel`,
- `experimental`, one of `stable` or `testing`, and maybe
- a release tag.
-* Push to Git:
- git push origin tails/wheezy && git push --tags
-Import bundled preferences
-* Copy `browser/app/profile/000-tor-browser.js` from the tag the
- Wheezy backport was built from, into
- `config/chroot_local-includes/etc/iceweasel/pref/`.
-* Commit this to the branch that is being used to prepare the release:
- ideally, a topic branch that will be reviewed and merged; in
- practice, more likely this will be `stable` or `testing`.
-7. Potential problems (and solutions)
-Problems with ./configure
-E.g. `configure.patch` does not apply, or the build fails since
-`{js/src/,}` was modified but `{js/src/,}configure` was
-not refreshed.
-In a nutshell, the solution is to:
-1. Make sure the patches that modify `{js/src/,}` are
- applied (this is the case after a `quilt push -a`, that is during
- most of the steps documented above).
-1. Update `{js/src/,}configure`:
- sudo apt-get install autoconf2.13
- make -f configure
- The `make` command may fail due to missing dependencies. We don't
- care, as long as `{js/src/,}configure` have been refreshed.
-1. Replace `configure.patch` with the diff between the original and
- updated version of `{js/src/,}configure`:
- configure_diff=$(mktemp) && \
- git diff configure js/src/configure > "$configure_diff" && \
- git reset --hard && \
- git clean -fdx -e /.pc/ && \
- quilt import -f -P configure.patch "$configure_diff" && \
- git commit debian/patches -m "Refresh configure.patch." && \
- quilt push && \
- git commit -a -m 'Apply configure.patch.'
-Note that `configure.patch` must always be the *last* patch in the
-quilt series file, after the TorBrowser ones.
diff --git a/wiki/src/contribute/release_process/test.mdwn b/wiki/src/contribute/release_process/test.mdwn
index 6cfb58c..b4bb830 100644
--- a/wiki/src/contribute/release_process/test.mdwn
+++ b/wiki/src/contribute/release_process/test.mdwn
@@ -73,7 +73,7 @@ implemented, but it either hasn't been reviewed, had a confirmed pass
by someone other than the test author, or has issues. The latter is
tracked by tickets prefixed with `todo/test_suite:`.
-# Iceweasel
+# Tor Browser
## Security and fingerprinting
@@ -94,7 +94,7 @@ tracked by tickets prefixed with `todo/test_suite:`.
`ifconfig | grep inet | grep -v inet6 | cut -d" " -f2 | tail -n1`
* One should be able to switch identities from the web browser.
* Running `getTorBrowserUserAgent` should produce the User-Agent set by the
- installed version of Torbutton, and used in Iceweasel.
+ installed version of Torbutton, and used in the Tor Browser.
## Functionality
@@ -265,11 +265,11 @@ the appropriate tcpdump or tshark filters.
sudo watch -n 0.1 'netstat -taupen | grep perl'
-* Make sure iceweasel uses its dedicated `SocksPort`: quit Iceweasel
+* Make sure the Tor Browser uses its dedicated `SocksPort`: quit the Tor Browser
then start it with the following command running in another
- sudo watch -n 0.1 'netstat -taupen | grep iceweasel'
+ sudo watch -n 0.1 'netstat -taupen | grep firefox'
* Make sure other applications use the default system-wide
@@ -416,14 +416,14 @@ correctly.
security critical bugs were fixed.
* Check that "Applications -> Internet -> I2P" works:
- You get the "Starting I2P..." pop-up.
- - The router console opens in Iceweasel upon success.
+ - The router console opens in the Tor Browser upon success.
- You get the "I2P failed to start" pop-up on failure (e.g. no
network so tordate failed).
* Check that I2P connects to the network:
- Go to <>
- You should get "Network: Hidden" in the "General" section.
- The numbers in the "Peers" section of the sidebar should be non-zero.
-* Check that you can reach some eepsites within Iceweasel, like
+* Check that you can reach some eepsites within the Tor Browser, like
<http://i2p-projekt.i2p> and <http://forum.i2p>.
* Check that you can connect to the I2P IRC server through Pidgin and
the preconfigured IRC account on
@@ -519,7 +519,7 @@ correctly.
Enable Windows camouflage via the Tails Greeter checkbox and:
* Tails OpenPGP Applet's context menu should look readable
-* iceweasel should use a Internet Explorer theme
+* The Tor Browser should use a Internet Explorer theme
* The Unsafe Browser has no scary red theme
# Unsafe Web Browser
@@ -529,7 +529,7 @@ Enable Windows camouflage via the Tails Greeter checkbox and:
* On start, if no DNS server was configured in NetworkManager
(e.g. if there's no network connection), there must be an error.
* Once started, check that:
- - the iceweasel instance runs as the `clearnet` user.
+ - the Tor Browser instance runs as the `clearnet` user.
- it has no proxy configured.
- no extensions are installed.
- there are no bookmarks.
@@ -567,7 +567,7 @@ language.
* The Startpage search engine must be localized for the languages we ship a
searchplug for:
- find /usr/share/amnesia/iceweasel/searchplugins/locale/ -iname startpage-*.xml
+ find /usr/local/lib/tor-browser/Browser/distribution/searchplugins/locale -iname startpage-*.xml
* The Wikipedia search engine must be localized for all languages.
- Except for Farsi, see [[!tails_ticket 6884]]
diff --git a/wiki/src/contribute/release_process/test/usage.mdwn b/wiki/src/contribute/release_process/test/usage.mdwn
index 14b3892..1535360 100644
--- a/wiki/src/contribute/release_process/test/usage.mdwn
+++ b/wiki/src/contribute/release_process/test/usage.mdwn
@@ -17,7 +17,7 @@ A typical example run of a few `@product` features could be:
--iso path/to/tails.iso \
features/apt.feature features/erase_memory.feature
-which will test only the `iceweasel` and `erase_memory` features (if
+which will test only the `apt` and `erase_memory` features (if
no feature paths are given, all features in `features/cucumber` will
be tested) of the given ISO image `tails.iso` while showing the test
session in a VNC viewer (`--view`) and also capturing it into a video
diff --git a/wiki/src/contribute/release_process/tor-browser.mdwn b/wiki/src/contribute/release_process/tor-browser.mdwn
new file mode 100644
index 0000000..b707c2b
--- /dev/null
+++ b/wiki/src/contribute/release_process/tor-browser.mdwn
@@ -0,0 +1,22 @@
+[[!meta title="Releasing the Tor Browser"]]
+[[!toc levels=1]]
+Have a look at
+and see if the desired version is available. We prefer
+`` since the other sources periodically cleans
+up old releases.
+Fetch the version's `sha256sums.txt` (and verify it with
+`sha256sums.txt.asc`) and then update the variables in
+`config/chroot_local-hooks/10-tbb` as follows:
+* set `TBB_DIST_URL` to the url chosen above.
+* set `BUNDLES` to the output of:
+ grep "tor-browser-linux32-.*\.tar.xz" sha256sums.txt
diff --git a/wiki/src/contribute/working_together/roles/release_manager.mdwn b/wiki/src/contribute/working_together/roles/release_manager.mdwn
index 1b94901..c532fe0 100644
--- a/wiki/src/contribute/working_together/roles/release_manager.mdwn
+++ b/wiki/src/contribute/working_together/roles/release_manager.mdwn
@@ -18,26 +18,6 @@
## Around two weeks before the freeze
-- Have a look at recent changes in:
- * the prefs shipped as part of the [Tor Browser build
- scripts](
- (e.g. `git log -p Bundle-Data/linux/Data/Browser/profile.default/preferences/*.js`)
- * the [Tor Browser](
- patch that creates `browser/app/profile/000-tor-browser.js`:
- browser/app/profile/000-tor-browser.js
- - `$LAST_IMPORT_COMMIT` is the commit from which we imported the
- Tor Browser patches last time: see our iceweasel's
- `debian/changelog`
- - `$CURRENT_WIP_BRANCH` is the name of the branch the Tor Browser
- folks are working on these days, or the most recent one (for the
- relevant version of Firefox) that can be found in
- their repository, e.g. *tor-browser-24.3.0esr-2*
-- Import the relevant changes into our Iceweasel configuration,
- following the normal review'n'merge process.
- Have a look at recent changes
in [Torbutton](, and
do whatever is needed to get the fixes we need in the release.
diff --git a/wiki/src/doc/anonymous_internet/Tor_Browser.mdwn b/wiki/src/doc/anonymous_internet/Tor_Browser.mdwn
index 24d16a3..728666b 100644
--- a/wiki/src/doc/anonymous_internet/Tor_Browser.mdwn
+++ b/wiki/src/doc/anonymous_internet/Tor_Browser.mdwn
@@ -1,6 +1,6 @@
[[!meta title="Browsing the web with Tor Browser"]]
-[[!img Tor_Browser/mozicon128.png link=no alt="Iceweasel icon"]]
+[[!img Tor_Browser/mozicon128.png link=no alt="Tor Browser icon"]]
Tor Browser is a rebranded version of the [[Mozilla
Firefox|]] web browser. Given its popularity many
diff --git a/wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop.mdwn b/wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop.mdwn
index 1672128..7d6c621 100644
--- a/wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop.mdwn
+++ b/wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop.mdwn
@@ -96,7 +96,7 @@ On the right of these two menu entries, a few shortcuts allow to
launch the most frequently used applications.
<div class="icon">
-[[!img iceweasel.png link=no]]
+[[!img tor-browser.png link=no]]
<div class="text">
<strong>Tor Browser</strong>: browse the World Wide Web<br/>
[[See the corresponding documentation|anonymous_internet/Tor_Browser]]
diff --git a/wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop/iceweasel.png b/wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop/iceweasel.png
deleted file mode 100644
index f38d430..0000000
--- a/wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop/iceweasel.png
+++ /dev/null
Binary files differ
diff --git a/wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop/tor-browser.png b/wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop/tor-browser.png
new file mode 100644
index 0000000..5f445ae
--- /dev/null
+++ b/wiki/src/doc/first_steps/introduction_to_gnome_and_the_tails_desktop/tor-browser.png
Binary files differ
diff --git a/wiki/src/doc/get/verify_the_iso_image_using_gnome.html b/wiki/src/doc/get/verify_the_iso_image_using_gnome.html
index 288680e..da3887e 100644
--- a/wiki/src/doc/get/verify_the_iso_image_using_gnome.html
+++ b/wiki/src/doc/get/verify_the_iso_image_using_gnome.html
@@ -38,7 +38,7 @@ key. Otherwise, first download Tails signing key:</p>
this action. It will add Tails signing key to your keyring, the
collection of OpenPGP keys you already imported:</p>
-<p>[[!img import_key.png alt="What should Iceweasel do with this file? Open
+<p>[[!img import_key.png alt="What should the web browser do with this file? Open
with: Import Key (default)" link="no"]]</p>
<p>You will get notified will the following message:</p>
@@ -61,7 +61,7 @@ image you want to verify:</p>
<p>Your browser should propose you to open it with "Verify Signature".
Choose this action to start the cryptographic verification:</p>
-<p>[[!img verify_signature.png alt="What should Iceweasel do with this file?
+<p>[[!img verify_signature.png alt="What should the web browser do with this file?
Open with: Verify Signature (default)" link="no"]]</p>
<p>Browse your files to select the Tails ISO image you want to verify.
diff --git a/wiki/src/misc/unsafe_browser_warning.mdwn b/wiki/src/misc/unsafe_browser_warning.mdwn
index c641c1a..ec46038 100644
--- a/wiki/src/misc/unsafe_browser_warning.mdwn
+++ b/wiki/src/misc/unsafe_browser_warning.mdwn
@@ -6,7 +6,7 @@ You are currently using the Unsafe Browser. As its name suggests, the
Unsafe Browser's network activity is **not anonymous**. If you want a
safe, anonymous web browser, please shut this browser down immediately
and start the following web browser instead: *Applications* →
-*Internet* → *Iceweasel*.
+*Internet* → *Tor Browser*.
If you want to login to a captive portal to get Internet access (as is
commonly necessary at Internet cafés, libraries, schools and other
diff --git a/wiki/src/support/faq.mdwn b/wiki/src/support/faq.mdwn
index 94723a7..eadc6ae 100644
--- a/wiki/src/support/faq.mdwn
+++ b/wiki/src/support/faq.mdwn
@@ -192,7 +192,7 @@ considered safe to use in this context.
<div class="next">
<li>[[Warnings about persistence|doc/first_steps/persistence/warnings#index3h1]]</li>
- <li>[[Browsing the web with Iceweasel|doc/anonymous_internet/Tor_browser]]</li>
+ <li>[[Browsing the web with the Tor Browser|doc/anonymous_internet/Tor_browser]]</li>
<li>[[Can I hide the fact that I am using Tails?|doc/about/fingerprint/]]</li>