Установка Tor Browser на Debian 13, 12 и 11

💡 Что такое Tor Browser и зачем он вам — это специальная версия Firefox, которая направляет весь ваш трафик через сеть Tor (The Onion Router). Это делает практически невозможным для сайтов, рекламщиков и наблюдателей в сети связать ваши действия с вашим реальным IP-адресом. Tor Browser не оставляет следов на вашем компьютере (если вы не настроили иначе).

⚠️ Важное предупреждение: Не путайте Tor Browser (браузер для приватного сёрфинга) с пакетом tor (фоновый демон и утилиты командной строки). Tor Browser — это графическое приложение, которое мы и устанавливаем. Пакет tor нужен для запуска релеев, прокси, onion-сервисов — это совсем другой инструмент.

Оглавление

Предварительные требования

Прежде чем начать, убедитесь, что ваша система готова:

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает:

  • sudo — выполняет команду от имени суперпользователя
  • whoami — показывает имя текущего пользователя

Зачем: Проверяет, может ли ваш пользователь выполнять команды с правами root.

✅ Если выводит root — всё в порядке, можете продолжать.

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.

Дополнительные требования:

  • Графическая среда (GNOME, KDE, XFCE) — Tor Browser требует X11 или Wayland
  • Интернет-соединение — для скачивания браузера и подключения к сети Tor
  • Для APT-метода: включён репозиторий contrib (инструкция ниже)
  • Для Flatpak-метода: установлен Flatpak (инструкция)
  • Для архива: ~200 МБ свободного места

Выбор метода установки Tor Browser

МетодИсточникЧто устанавливаетсяКак обновляетсяДля кого
APT (torbrowser-
launcher)
Debian contribЛаунчер (сам браузер
скачивается при
первом запуске)
Лаунчер через APT,
браузер —
самообновление
Рекомендуется
интеграция с APT,
минимум ручной
работы
FlatpakFlathubЛаунчер в контейнереFlatpak обновляет
лаунчер, браузер —
самообновление
Для пользователей
Flatpak
Архив с сайта Tor
Project
Официальный архив
Tor
Полный браузер
(прямая загрузка)
Встроенный updater
или скрипт
Те, кто хочет прямой
архив с проверкой
подписи

💡 Для большинства пользователей: APT-метод — самый простой и надёжный. Включаете contrib, ставите torbrowser-launcher, запускаете — и браузер сам скачивается и настраивается.

Метод 1: Установка Tor Browser через APT (рекомендуемый)

Этот метод использует пакет torbrowser-launcher из репозитория contrib Debian.

Шаг 1: Включение репозитория contrib

Debian разделяет пакеты на три категории: main (свободные), contrib (зависит от несвободного ПО) и non-free (несвободные). torbrowser-launcher находится в contrib.

Проверьте, включён ли contrib:

apt-cache policy torbrowser-launcher

Если вывод пустой — нужно включить contrib.

Как включить:

sudo sed -i 's/ main/ main contrib/g' /etc/apt/sources.list

Что делает: Добавляет contrib к каждой строке deb и deb-src в файле /etc/apt/sources.list.

Или вручную: Отредактируйте /etc/apt/sources.list и добавьте contrib в конец каждой строки, начинающейся с deb или deb-src.

Пример правильной строки:

deb http://deb.debian.org/debian trixie main contrib

Обновите список пакетов:

sudo apt update

Шаг 2: Установка torbrowser-launcher

sudo apt install -y torbrowser-launcher

Что делает: Устанавливает лаунчер Tor Browser.

Обратите внимание: APT может также установить пакеты tor, tor-geoipdb, torsocks как рекомендуемые. Это нормально — они не конфликтуют с браузером.

Шаг 3: Запуск и первая настройка

torbrowser-launcher

Что произойдёт при первом запуске:

  1. Лаунчер скачает свежую версию Tor Browser с официального сайта
  2. Проверит цифровую подпись (автоматически)
  3. Распакует браузер в ~/.local/share/torbrowser/
  4. Откроется окно подключения к сети Tor

Ожидаемое окно: «Connect to Tor» — обычно достаточно нажать «Connect».

Проверка установки:

dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package} ${Version}\n' torbrowser-launcher

Ожидаемый вывод: ii torbrowser-launcher 0.3.7-3 (версия может отличаться).

Метод 2: Установка Tor Browser через Flatpak

Подходит, если вы предпочитаете управлять приложениями через Flatpak.

Шаг 1: Установка Flatpak (если ещё не установлен)

sudo apt update
sudo apt install -y flatpak

Что делает: Устанавливает Flatpak — систему пакетов, не зависящую от Debian.

Шаг 2: Добавление репозитория Flathub

sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Что делает: Добавляет репозиторий Flathub (основной источник Flatpak-пакетов).

Шаг 3: Установка Tor Browser

sudo flatpak install -y flathub org.torproject.torbrowser-launcher

Что делает: Устанавливает лаунчер Tor Browser из Flathub.

Шаг 4: Запуск

flatpak run org.torproject.torbrowser-launcher

Проверка установки:

flatpak info org.torproject.torbrowser-launcher | grep -E '^[[:space:]]*(ID|Version|Origin):'

Ожидаемый вывод:

          ID: org.torproject.torbrowser-launcher
     Version: 0.3.9
      Origin: flathub

Метод 3: Установка из архива (прямая загрузка с проверкой подписи)

Этот метод даёт вам прямой контроль над установкой: вы скачиваете архив с сайта Tor Project, проверяете подпись и распаковываете вручную.

Шаг 1: Установка необходимых утилит

sudo apt update
sudo apt install -y curl ca-certificates gpg xz-utils desktop-file-utils

Что делает: Устанавливает curl (загрузка), gpg (проверка подписи), xz-utils (распаковка) и утилиты для .desktop-файлов.

Шаг 2: Создание скрипта-помощника

mkdir -p "$HOME/.local/bin"
helper="$HOME/.local/bin/update-tor-browser"

if [ -e "$helper" ] && ! grep -Fq 'UnishellRu Tor Browser archive helper' "$helper" 2>/dev/null; then
  printf 'Refusing to overwrite existing file: %s\n' "$helper" >&2
  printf 'Move that file or choose a different helper name before continuing.\n' >&2
  false
else
  cat > "$helper" <<'EOF'
#!/usr/bin/env bash
# UnishellRu Tor Browser archive helper
set -euo pipefail

dist_url='https://dist.torproject.org/torbrowser'
key_url='https://openpgpkey.torproject.org/.well-known/openpgpkey/torproject.org/hu/kounek7zrdx745qydx6p59t9mqjpuhdf'
key_fingerprint='EF6E286DDA85EA2A4BA7DE684E2C6E8793298290'
install_parent="$HOME/.local/share"
install_dir="$install_parent/tor-browser"
release_file="$install_dir/.unishellru-tor-browser-release"
desktop_dir="$install_parent/applications"
bin_dir="$HOME/.local/bin"
work_dir=''
backup_dir=''

die() {
  printf 'Error: %s\n' "$*" >&2
  exit 1
}

need_cmd() {
  command -v "$1" >/dev/null 2>&1 || die "Missing required command: $1"
}

cleanup() {
  status=$?
  if [ "$status" -ne 0 ]; then
    restore_backup || true
  fi
  if [ -n "$work_dir" ] && [ -d "$work_dir" ]; then
    rm -rf "$work_dir"
  fi
  exit "$status"
}

restore_backup() {
  if [ -n "$backup_dir" ]; then
    if [ -e "$backup_dir" ] && [ ! -e "$install_dir" ]; then
      mv "$backup_dir" "$install_dir"
      printf 'Restored previous Tor Browser folder after failure.\n' >&2
    fi
  fi
}

latest_version() {
  page=$(curl -fsSL "$dist_url/")
  versions=$(printf '%s\n' "$page" | sed -n 's/.*href="\([0-9][0-9.]*\)\/".*/\1/p')
  [ -n "$versions" ] || die 'Could not find Tor Browser release directories.'
  printf '%s\n' "$versions" | sort -V | tail -n 1
}

installed_version() {
  if [ -r "$release_file" ]; then
    sed -n '1p' "$release_file"
  fi
}

ensure_not_running() {
  if command -v pgrep >/dev/null 2>&1; then
    if pgrep -u "$(id -u)" -f "$install_dir/Browser/firefox|$install_dir/start-tor-browser.desktop" >/dev/null 2>&1; then
      die 'Close Tor Browser before updating the archive install.'
    fi
  fi
}

register_desktop() {
  [ -x "$install_dir/start-tor-browser.desktop" ] || die "Missing launcher: $install_dir/start-tor-browser.desktop"
  install -d "$desktop_dir"
  (
    cd "$install_dir"
    ./start-tor-browser.desktop --register-app
  )
  if command -v update-desktop-database >/dev/null 2>&1; then
    update-desktop-database "$desktop_dir" >/dev/null 2>&1 || true
  fi
}

write_launcher_wrapper() {
  install -d "$bin_dir"
  launcher="$bin_dir/tor-browser"
  if [ -e "$launcher" ] && ! grep -Fq 'UnishellRu Tor Browser archive wrapper' "$launcher" 2>/dev/null; then
    die "Refusing to overwrite existing non-helper file: $launcher"
  fi
  cat >"$launcher" <<WRAPPER
#!/usr/bin/env bash
# UnishellRu Tor Browser archive wrapper
exec "$install_dir/start-tor-browser.desktop" "\$@"
WRAPPER
  chmod 0755 "$launcher"
}

if [ "$(id -u)" -eq 0 ]; then
  die 'Run this helper as your normal desktop user, not root.'
fi

for cmd in awk chmod cp curl date gpg grep id install mkdir mktemp mv rm sed sort tail tar uname xz; do
  need_cmd "$cmd"
done

case "$(uname -m)" in
x86_64 | amd64)
  archive_arch='x86_64'
  ;;
*)
  die 'The automatic archive helper supports the Tor Browser Linux x86_64 build.'
  ;;
esac

install -d "$install_parent"
install -d "$desktop_dir"
install -d "$bin_dir"

target_version=$(latest_version)
current_version=$(installed_version || true)
printf 'Latest Tor Browser version: %s\n' "$target_version"

if [ -n "$current_version" ] && [ "$current_version" = "$target_version" ]; then
  register_desktop
  write_launcher_wrapper
  printf 'Tor Browser %s is already current.\n' "$target_version"
  exit 0
fi

ensure_not_running

work_dir=$(mktemp -d "${TMPDIR:-/tmp}/tor-browser-update.XXXXXX")
trap cleanup EXIT
export GNUPGHOME="$work_dir/gnupg"
install -m 0700 -d "$GNUPGHOME"

archive="tor-browser-linux-${archive_arch}-${target_version}.tar.xz"
signature="${archive}.asc"
base_url="${dist_url}/${target_version}"

curl -fsSL --retry 3 -o "$work_dir/$archive" "$base_url/$archive"
curl -fsSL --retry 3 -o "$work_dir/$signature" "$base_url/$signature"
printf 'Downloaded %s and signature.\n' "$archive"

curl -fsSL "$key_url" | gpg --batch --import >/dev/null
fingerprint=$(gpg --batch --with-colons --fingerprint "$key_fingerprint" | awk -F: '$1 == "fpr" {print $10; exit}')
[ "$fingerprint" = "$key_fingerprint" ] || die 'Tor Browser signing key fingerprint mismatch.'
gpg --batch --verify "$work_dir/$signature" "$work_dir/$archive"
printf 'Signature verified with Tor Browser Developers key.\n'

tar -xJf "$work_dir/$archive" -C "$work_dir"
stage_dir="$work_dir/tor-browser"
[ -x "$stage_dir/start-tor-browser.desktop" ] || die 'Extracted archive is missing start-tor-browser.desktop.'
app_name=$(awk -F= '$1 == "RemotingName" {print $2; exit}' "$stage_dir/Browser/application.ini")
[ "$app_name" = 'Tor Browser' ] || die 'Extracted archive did not identify as Tor Browser.'
printf '%s\n' "$target_version" >"$stage_dir/.unishellru-tor-browser-release"

if [ -d "$install_dir/Browser/TorBrowser/Data" ]; then
  rm -rf "$stage_dir/Browser/TorBrowser/Data"
  mkdir -p "$stage_dir/Browser/TorBrowser"
  cp -a "$install_dir/Browser/TorBrowser/Data" "$stage_dir/Browser/TorBrowser/Data"
  printf 'Preserved existing Tor Browser profile and Tor data.\n'
fi

if [ -e "$install_dir" ]; then
  backup_dir="${install_dir}.backup-$(date +%Y%m%d%H%M%S)"
  mv "$install_dir" "$backup_dir"
fi

mv "$stage_dir" "$install_dir"
register_desktop
write_launcher_wrapper

if [ -n "$backup_dir" ] && [ -e "$backup_dir" ]; then
  rm -rf "$backup_dir"
fi

printf 'Installed Tor Browser %s in %s\n' "$target_version" "$install_dir"
EOF

  chmod 0755 "$helper"
  export PATH="$HOME/.local/bin:$PATH"
  hash -r
  command -v update-tor-browser >/dev/null && printf 'update-tor-browser helper ready\n'
fi

Что делает этот скрипт (обзорно):

  • Определяет последнюю версию Tor Browser на сайте Tor Project
  • Скачивает архив и его цифровую подпись (.asc)
  • Импортирует ключ подписи Tor Browser Developers и проверяет его отпечаток
  • Проверяет подпись архива
  • Распаковывает архив в ~/.local/share/tor-browser
  • Регистрирует .desktop-файл и создаёт команду tor-browser
  • При обновлении сохраняет ваши данные (профиль, закладки)

Проверка:

command -v update-tor-browser

Ожидаемый вывод: /home/username/.local/bin/update-tor-browser

Шаг 3: Запуск установки

update-tor-browser

Ожидаемый вывод (первый запуск):

Latest Tor Browser version: 15.0.14
Downloaded tor-browser-linux-x86_64-15.0.14.tar.xz and signature.
Signature verified with Tor Browser Developers key.
Installed Tor Browser 15.0.14 in /home/username/.local/share/tor-browser

Шаг 4: Запуск Tor Browser

tor-browser

Запуск Tor Browser

Из терминала

МетодКоманда
APTtorbrowser-launcher
Flatpakflatpak run org.torproject.torbrowser-launcher
Архивtor-browser

Из меню приложений

Все три метода создают пункт в меню. Найдите «Tor Browser» в меню GNOME/KDE/XFCE.

Первое подключение к сети Tor

При первом запуске откроется окно «Tor Network Settings».

В большинстве случаев: Просто нажмите «Connect». Tor Browser сам найдёт путь к сети.

Если Tor заблокирован в вашей сети (например, в некоторых странах или корпоративных сетях):

  1. Нажмите «Configure Connection»
  2. Выберите «Tor is censored in my country»
  3. Выберите встроенный мост (bridge) — например, obfs4
  4. Нажмите «Connect»

⚠️ Важно: Не меняйте настройки прокси вручную, если не уверены. Tor Browser автоматически настраивается.

Обновление Tor Browser

Обновление APT-версии

sudo apt update
sudo apt install --only-upgrade torbrowser-launcher

Что делает: Обновляет лаунчер. Сам браузер обновится при следующем запуске.

Обновление Flatpak-версии

sudo flatpak update org.torproject.torbrowser-launcher

Обновление архивной версии

update-tor-browser

Что делает: Проверяет последнюю версию, скачивает, проверяет подпись, обновляет файлы (сохраняя ваш профиль).

Решение типичных проблем

8.1 Ошибка: E: Package ‘torbrowser-launcher’ has no installation candidate

Симптом: apt install torbrowser-launcher выдаёт ошибку «no installation candidate».

Причина: Репозиторий contrib не включён.

Пошаговое решение:

Шаг 1: Проверьте, включён ли contrib:

apt-cache policy torbrowser-launcher

Шаг 2: Включите contrib:

sudo sed -i 's/ main/ main contrib/g' /etc/apt/sources.list
sudo apt update

Шаг 3: Попробуйте установить снова.

8.2 Ошибка: Launcher fails to download the browser bundle

Симптом: APT или Flatpak лаунчер установлен, но при запуске не может скачать браузер.

Причина: Проблемы с сетью (Tor Project может быть заблокирован в вашей сети).

Пошаговое решение:

Шаг 1: Проверьте, открывается ли сайт Tor Project:

curl -fsSL https://dist.torproject.org/ | head -20

Шаг 2: Если не открывается — попробуйте другой метод установки (архив), скачав его вручную из другой сети.

Шаг 3: Если открывается — очистите кэш лаунчера:

rm -rf ~/.local/share/torbrowser
torbrowser-launcher

8.3 Ошибка: Tor Browser cannot connect or times out

Симптом: Tor Browser не может подключиться к сети Tor (крутится «Connecting to Tor»).

Причина: Часто — неправильное системное время или блокировка сети.

Пошаговое решение:

Шаг 1: Проверьте время системы:

timedatectl

Ожидаемый вывод: System clock synchronized: yes, NTP service: active.

Шаг 2: Если синхронизация выключена, включите NTP:

sudo timedatectl set-ntp true

Шаг 3: Если время правильное, попробуйте использовать мост:

  • Откройте Tor Browser
  • Нажмите «Configure Connection»
  • Выберите «Tor is censored in my country»
  • Выберите встроенный мост

8.4 Ошибка: Flatpak Tor Browser cannot access a folder

Симптом: Flatpak-версия не видит файлы в вашей домашней директории.

Причина: Flatpak-приложения изолированы и по умолчанию не имеют доступа ко всей домашней папке.

Решение: Добавьте доступ к нужной папке:

flatpak override --user --filesystem="$HOME/Downloads" org.torproject.torbrowser-launcher

Отмена: Если доступ больше не нужен:

flatpak override --user --reset org.torproject.torbrowser-launcher

8.5 Ошибка: Архивный скрипт не создаёт команду tor-browser

Симптом: update-tor-browser выполнился успешно, но команда tor-browser не найдена.

Причина: ~/.local/bin не в PATH текущей сессии.

Решение: Добавьте ~/.local/bin в PATH:

export PATH="$HOME/.local/bin:$PATH"

Чтобы добавить навсегда (Bash):

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

8.6 Ошибка: Archive method fails with «Refusing to overwrite existing file»

Симптом: При создании скрипта update-tor-browser выводится «Refusing to overwrite existing file».

Причина: Файл с таким именем уже существует, и это не наш скрипт.

Решение: Удалите существующий файл или используйте другое имя:

mv ~/.local/bin/update-tor-browser ~/.local/bin/update-tor-browser.bak

Затем повторите создание скрипта.

Удаление Tor Browser

Удаление APT-версии

sudo apt purge torbrowser-launcher
sudo apt autoremove

Удаление пользовательских данных:

rm -rf ~/.local/share/torbrowser ~/.cache/torbrowser ~/.config/torbrowser

Удаление Flatpak-версии

sudo flatpak uninstall org.torproject.torbrowser-launcher
sudo flatpak uninstall --unused

Удаление пользовательских данных:

rm -rf ~/.var/app/org.torproject.torbrowser-launcher

Удаление архивной версии

rm -rf ~/.local/share/tor-browser
rm -f ~/.local/bin/update-tor-browser ~/.local/bin/tor-browser
rm -f ~/.local/share/applications/start-tor-browser.desktop
hash -r

Чек-лист: что проверить после установки

  • [ ] sudo whoami выводит root
  • [ ] APT: dpkg-query -W torbrowser-launcher показывает пакет
  • [ ] APT/Flatpak/Архив: tor-browser или torbrowser-launcher запускается
  • [ ] Окно подключения к Tor появляется
  • [ ] После нажатия «Connect» браузер открывает страницу «About Tor»
  • [ ] Ваш IP-адрес в браузере не совпадает с вашим реальным IP

Заключение

Tor Browser установлен на Debian. Теперь вы можете выходить в интернет анонимно, обходя цензуру и защищая свою приватность.

Что дальше:

💡 Важно: Tor Browser защищает только трафик внутри браузера. Другие приложения на вашем компьютере (в том числе обновления системы, мессенджеры) не проходят через Tor. Для полной анонимности используйте специализированные ОС (Tails, Whonix). Никогда не устанавливайте дополнительные расширения в Tor Browser — они могут нарушить анонимность.