update-torbrowser(1) -- Tor Browser Updater by Whonix developers
================================================================

<!--
# Copyright (C) 2012 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
# See the file COPYING for copying conditions.
-->

## SYNOPSIS
`update-torbrowser` [option(s)]

## DESCRIPTION
Lets you safely download the Tor Browser Bundle (TBB)
from The Tor Project's (TPO) website. It enforces TLS encryption (https) for
TPO's website, downloads TBB from the TPO's website,
and uses OpenPGP verification.

Default action when no options are given is to performs an update check and ask
how you want to proceed.

## OPTIONS
  * `--alpha`

    Download alpha version instead.

  * `--onion`

    Download from Tor Project's onion rather than clearnet domain.

  * `--ordinary`

    Uses curl's ordinary progress bar. Only affects run in terminal.

    When using this option, the GUI progress bar will be stuck but downloading
    will still work. Note, when using this option, it wouldn't notice if the
    download server were to run an endless data attack, for example the server
    claiming to provide a 500.000 GB big file.

    (It does not use `/usr/libexec/helper-scripts/curl-prgrs`s
    `CURL_PRGRS_MAX_FILE_SIZE_BYTES`.)

    However, it can be compensated by either manually terminating
    `update-torbrowser` or by using the timeout utility as in the example
    below.

  * `--only-if-newer`

    Do not download the Tor Browser when it is already up-to-date.

  * `--noask`

    Installs whatever the remote version file is claiming to be the lowest
    version without user interaction.

  * `--noaskstart`

    Do not ask if Tor Browser should be started after update was completed.

  * `--nokilltb`

    Advanced users only. Do not kill all eventually still running instances of
    Tor Browser. Useful in case you want to update
    `~/.tb/tor-browser`, while still using
    `~/tor-browser_something_else`.

  * `--language lang`

    Specify which language specific version of Tor Browser you want to start or
    update.

  * `--no-tor-con-check`

    Skip Tor bootstrap connectivity check. (Only relevant in anonymity
    distributions.)

  * `--input`

    What to use as input method.

    `--input stdin`
    or
    `--input gui`

    When run in command line, by default, standard input
    (`--input stdin`) will be used. When using (`--input gui`), questions would be
    asked in the graphical user environment.

  * `--resume`

    Resume previous download.

  * `--reset`

    Advanced users only. Hard reset. Do not re-download Tor Browser but only
    overwrite (delete and re-install) Tor Browser.
    This feature is not designed to fix Tor Browser issues. When running this
    program normally without `--reset` it does download and overwrite
    Tor Browser. There is no additional benefit from using `--reset`.

## AVAILABLE LANGUAGES

As in October 2012:

* ar
* de
* en-US
* es-ES
* fa
* fr
* it
* ko
* nl
* pl
* pt-PT
* ru
* vi
* zh-CN

## MORE LANGUAGES

To check if further languages are supported visit:

https://www.torproject.org/dist/torbrowser/linux/

## CONFIG FILE

/etc/torbrowser.d/30_default.conf

## ENVIRONMENT VARIABLES
### Version
`tbb_version=version.number update-torbrowser`

See also EXAMPLES below.

## EXIT CODES
0 Success.

0 When using --devbuildpassthrough $tb_home_folder/tor-browser already exists.

1 Internal Error.

2 Aborted because running under an unsuitable user account.

3 Cancel button pressed.

4 Unknown command line option.

5 Tor not enabled yet. (Only when using Tor connection check.)

6 Tor not fully bootstrapped yet. (Only when using Tor connection check.)

7 Connectivity test failed.

8 Downloading version file failed.

9 Could not find out latest Tor Browser version.

10 User aborted update confirmation.

11 Download failed.

12 Gpg verification error.

13 Hash verification error.

14 User aborted installation confirmation.

15 Extraction failed.

130 Signal sigint received.

143 Signal sigterm received.

## EXAMPLES
`update-torbrowser`

`update-torbrowser --update --lang="vi"`

`timeout 600 update-torbrowser --ordinary`

`tbb_version=10.5 update-torbrowser`

`tbb_version=11.1a2 update-torbrowser`

## BUGS
This script may break when the file name or RecommendedTBBVersions format
changes or when upstream makes other changes to the start process or proxy
settings detection method.

In this case, Whonix developers will try to provide a fix as fast as possible.
Please check Whonix News Blogs, Whonix Forum for a fix or workaround.

In meanwhile you can also try the instructions for manually update Tor Browser
in Whonix:
https://www.whonix.org/wiki/Manually_Updating_Tor_Browser

## PORTING
This script is currently only tested in Whonix. It could be easily made to work
in Tails or on any Linux.

## WWW
https://www.whonix.org/wiki/Tor_Browser

## AUTHOR
This man page has been written by Patrick Schleizer (adrelanos@whonix.org).
