Прежде чем мы начнем, стоит сказать, что на форуме уже есть хорошая статья по базовой настройке Tails. В ней описано, как установить систему, настроить постоянное хранилище и подключить стандартные мосты. Наша статья пойдет дальше. Мы заменим нестабильные мосты на собственные прокси, научим Tails автоматически менять сетевой интерфейс и добавим удобную кастомизацию интерфейса. Все это будет работать в автоматическом режиме после каждой загрузки.

С чего всё начинается
Стандартный Tails использует мосты Tor: obfs4, webtunnel, snowflake. Это работает, но есть куча проблем. Мосты часто падают, потому что их адреса публичные. Провайдер может их заблокировать. Скорость через обфускацию низкая. И главное: вы не можете сами выбрать, через какую страну заходить на первом этапе.
Поэтому мы делаем по-другому. Вместо мостов мы поднимаем свой прокси на чистом сервере. Tor заходит в сеть через этот прокси, а уже потом строит свою стандартную цепочку из трех нод. Прокси видит только зашифрованный трафик Tor, так что анонимность не теряется. Зато блокировка мостов нам больше не страшна.
Что мы получим в итоге
После всех настроек вы получите Tails, который при каждом запуске сам подхватывает настройки прокси, сам настраивает клавиатуру и тему, умеет менять сетевой интерфейс с рандомизацией MAC-адреса. Все делается автоматически. Вам остается только загрузиться и работать.
Как всё устроено
Сначала срабатывает скрипт смены интерфейса. Он отключает сеть, меняет MAC-адрес, подключается заново и получает новый IP от провайдера или роутера. Потом запускается скрипт, который переписывает конфиг Tor, добавляя туда строки с адресом вашего прокси, логином и паролем. Tor перезапускается и теперь идет в сеть не через мосты, а через ваш прокси. Параллельно применяются настройки интерфейса: темная тема, русская и английская раскладка клавиатуры, отключается блокировка экрана.
Файл первый: настройка Tor через прокси
Создайте файл /live/persistence/TailsData_unlocked/setup_tor_proxy.sh. Внутри напишите следующее.
Сначала удаляем старый конфиг Tor и создаем пустой:
Потом нужно прописать свои данные прокси. Вместо айпи:шлюз подставьте реальный IP и порт вашего прокси-сервера, вместо имя и пароль свои логин и пароль, если прокси требует авторизации.
Дальше записываем основной конфиг. Tor будет слушать соксы на стандартных портах, поднимать DNS-порт для защиты от утечек и использовать ваш прокси как входную точку.
И в конце перезапускаем Tor:
Если у вас HTTP-прокси вместо SOCKS5, замените Socks5Proxy на HTTPProxy и уберите строки с Username и Password или оставьте их, если прокси требует базовую авторизацию.
Файл второй: смена сетевого интерфейса
Создайте файл /live/persistence/TailsData_unlocked/switch_interface.sh. Он будет автоматически определять, какой интерфейс сейчас используется, менять его MAC-адрес и перезапускать сеть.
Вот полное содержимое:
Этот скрипт можно запускать вручную, а можно поставить в cron, чтобы интерфейс менялся автоматически каждый час или каждые полчаса. Добавьте в cron такую строку:
Файл третий: кастомизация системы
Создайте /live/persistence/TailsData_unlocked/customize_tails.sh. Этот скрипт настраивает внешний вид и поведение GNOME.
Первая команда добавляет русскую раскладку клавиатуры рядом с английской. Переключать их можно стандартным сочетанием Win+Space. Вторая команда отключает блокировку экрана: полезно, если вы уходите от компьютера, но не хотите каждый раз вводить пароль. Третья и четвертая включают темную тему Adwaita. Пятая отключает анимации, чтобы интерфейс работал быстрее.
Автозапуск всех скриптов
Чтобы всё это поднималось автоматически при каждом запуске Tails, создайте файл /live/persistence/TailsData_unlocked/etc/xsessionrc. Он выполняется сразу после входа в графическую сессию.
После того как все файлы созданы, сделайте их исполняемыми. Откройте терминал и выполните:
Настройка Persistent Storage
Чтобы эти файлы не исчезали после перезагрузки, нужно включить сохранение некоторых папок в Persistent Storage. Загрузите Tails, откройте настройки Persistent Storage и отметьте галочками пункты Personal Files и Dotfiles. После этого созданная вами папка /live/persistence/TailsData_unlocked/ будет сохраняться между сессиями.
Как проверить, что всё работает
Первое: убедитесь, что Tor действительно использует прокси. Выполните в терминале:
Вы должны увидеть свой IP и порт прокси.
Второе: проверьте выходной IP через Tor. Выполните:
cu
В ответ придет JSON с IP-адресом выходного нода Tor. Если IP не ваш и не прокси-сервера, значит всё работает правильно.
Третье: убедитесь, что мосты не используются. Выполните:
Если ничего не нашлось или только старые записи, отлично: вы используете прокси вместо мостов.
Четвертое: проверьте тему и раскладку. Команда gsettings get org.gnome.desktop.input-sources sources должна показать две раскладки: us и ru. А команда gsettings get org.gnome.desktop.interface gtk-theme должна вернуть 'Adwaita-dark'.

С чего всё начинается
Стандартный Tails использует мосты Tor: obfs4, webtunnel, snowflake. Это работает, но есть куча проблем. Мосты часто падают, потому что их адреса публичные. Провайдер может их заблокировать. Скорость через обфускацию низкая. И главное: вы не можете сами выбрать, через какую страну заходить на первом этапе.
Поэтому мы делаем по-другому. Вместо мостов мы поднимаем свой прокси на чистом сервере. Tor заходит в сеть через этот прокси, а уже потом строит свою стандартную цепочку из трех нод. Прокси видит только зашифрованный трафик Tor, так что анонимность не теряется. Зато блокировка мостов нам больше не страшна.
Что мы получим в итоге
После всех настроек вы получите Tails, который при каждом запуске сам подхватывает настройки прокси, сам настраивает клавиатуру и тему, умеет менять сетевой интерфейс с рандомизацией MAC-адреса. Все делается автоматически. Вам остается только загрузиться и работать.
Как всё устроено
Сначала срабатывает скрипт смены интерфейса. Он отключает сеть, меняет MAC-адрес, подключается заново и получает новый IP от провайдера или роутера. Потом запускается скрипт, который переписывает конфиг Tor, добавляя туда строки с адресом вашего прокси, логином и паролем. Tor перезапускается и теперь идет в сеть не через мосты, а через ваш прокси. Параллельно применяются настройки интерфейса: темная тема, русская и английская раскладка клавиатуры, отключается блокировка экрана.
Файл первый: настройка Tor через прокси
Создайте файл /live/persistence/TailsData_unlocked/setup_tor_proxy.sh. Внутри напишите следующее.
Сначала удаляем старый конфиг Tor и создаем пустой:
Код:
#!/bin/sh
rm -f /etc/tor/torrc
touch /etc/tor/torrc
Код:
PROXY_IP="123.45.67.89"
PROXY_PORT="1080"
PROXY_USER="my_username"
PROXY_PASS="my_password"
Код:
cat >> /etc/tor/torrc <<EOF
AutomapHostsOnResolve 1
AutomapHostsSuffixes .exit,.onion
AvoidDiskWrites 1
ControlPort 127.0.0.1:9052
DNSPort 5353
RunAsDaemon 0
SocksPort 127.0.0.1:9050 IsolateDestAddr IsolateDestPort
SocksPort 127.0.0.1:9062 IsolateDestAddr IsolateDestPort
SocksPort 127.0.0.1:9063 NoIsolateDestAddr NoIsolateDestPort NoIsolateClientProtocol
SocksPort 10.200.1.1:9050 IsolateSOCKSAuth KeepAliveIsolateSOCKSAuth ExtendedErrors
TransPort 127.0.0.1:9040
WarnPlaintextPorts 23,109
Socks5Proxy ${PROXY_IP}:${PROXY_PORT}
Socks5ProxyUsername ${PROXY_USER}
Socks5ProxyPassword ${PROXY_PASS}
EOF
Код:
systemctl restart tor
echo "[+] Tor настроен на работу через прокси"
Файл второй: смена сетевого интерфейса
Создайте файл /live/persistence/TailsData_unlocked/switch_interface.sh. Он будет автоматически определять, какой интерфейс сейчас используется, менять его MAC-адрес и перезапускать сеть.
Вот полное содержимое:
Код:
#!/bin/bash
INTERFACE=$(ip route | grep default | awk '{print $5}' | head -1)
if [ -z "$INTERFACE" ]; then
echo "[!] Сетевой интерфейс не найден"
exit 1
fi
echo "[*] Работаем с интерфейсом: $INTERFACE"
sudo ifconfig $INTERFACE down
sudo macchanger -r $INTERFACE
sudo ifconfig $INTERFACE up
sudo dhclient -v $INTERFACE 2>/dev/null || sudo dhcpcd $INTERFACE 2>/dev/null
sudo systemctl restart networking
sudo systemctl restart NetworkManager
sudo systemctl restart tor
NEW_IP=$(curl --socks5 127.0.0.1:9050 -s ifconfig.me 2>/dev/null)
if [ ! -z "$NEW_IP" ]; then
echo "[+] Новый выходной IP Tor: $NEW_IP"
fi
Код:
(crontab -l 2>/dev/null; echo "*/30 * * * * /live/persistence/TailsData_unlocked/switch_interface.sh") | crontab -
Создайте /live/persistence/TailsData_unlocked/customize_tails.sh. Этот скрипт настраивает внешний вид и поведение GNOME.
Код:
#!/bin/sh
echo "[*] Применяем настройки интерфейса..."
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'ru')]"
gsettings set org.gnome.desktop.session idle-delay 0
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
gsettings set org.gnome.desktop.interface enable-animations false
echo "[+] Настройки интерфейса применены"
Автозапуск всех скриптов
Чтобы всё это поднималось автоматически при каждом запуске Tails, создайте файл /live/persistence/TailsData_unlocked/etc/xsessionrc. Он выполняется сразу после входа в графическую сессию.
Код:
#!/bin/bash
sleep 5
/live/persistence/TailsData_unlocked/setup_tor_proxy.sh
sleep 10
/live/persistence/TailsData_unlocked/customize_tails.sh
/live/persistence/TailsData_unlocked/switch_interface.sh
Код:
chmod +x /live/persistence/TailsData_unlocked/setup_tor_proxy.sh
chmod +x /live/persistence/TailsData_unlocked/switch_interface.sh
chmod +x /live/persistence/TailsData_unlocked/customize_tails.sh
chmod +x /live/persistence/TailsData_unlocked/etc/xsessionrc
Чтобы эти файлы не исчезали после перезагрузки, нужно включить сохранение некоторых папок в Persistent Storage. Загрузите Tails, откройте настройки Persistent Storage и отметьте галочками пункты Personal Files и Dotfiles. После этого созданная вами папка /live/persistence/TailsData_unlocked/ будет сохраняться между сессиями.
Как проверить, что всё работает
Первое: убедитесь, что Tor действительно использует прокси. Выполните в терминале:
Код:
sudo cat /etc/tor/torrc | grep Socks5Proxy
Второе: проверьте выходной IP через Tor. Выполните:
cu
Код:
curl --socks5 127.0.0.1:9050 https://check.torproject.org/api/ip
Третье: убедитесь, что мосты не используются. Выполните:
Код:
sudo journalctl -u tor | grep -i bridge
Четвертое: проверьте тему и раскладку. Команда gsettings get org.gnome.desktop.input-sources sources должна показать две раскладки: us и ru. А команда gsettings get org.gnome.desktop.interface gtk-theme должна вернуть 'Adwaita-dark'.