🚀 Полная инструкция: TorrServer + SSL

Установка, получение сертификата Let's Encrypt и настройка HTTPS


Результат: После выполнения инструкции ваш TorrServer будет доступен по защищённому протоколу https://ваш-домен:8091.

📦 Часть 1: Установка TorrServer

Подключитесь к серверу по SSH
ssh root@ваш-сервер-ip
Скачайте и выполните скрипт установки
curl -s https://raw.githubusercontent.com/YouROK/TorrServer/master/installTorrServerLinux.sh -o installTorrServerLinux.sh && chmod 755 installTorrServerLinux.sh

sudo bash ./installTorrServerLinux.sh --install --silent

Скрипт автоматически установит последнюю версию, создаст системную службу и пользователя torrserver.

Проверьте, что служба запущена
systemctl status torrserver

По умолчанию TorrServer слушает порт 8090 (HTTP).

⚠️ Важно: По умолчанию служба запускается от пользователя torrserver. Для работы с сертификатами Let's Encrypt нам понадобятся права root — это будет настроено в Части 3.

🔐 Часть 2: Получение SSL-сертификата Let's Encrypt

Установите Certbot
apt update && apt install certbot -y
Получите сертификат для вашего домена
certbot certonly --standalone -d ваш-домен.ru --non-interactive --agree-tos -m ваш-email@example.com

Замените ваш-домен.ru на ваш реальный домен, а ваш-email@example.com — на вашу почту.

⚠️ На время выполнения команды порт 80 должен быть свободен. Если на нём висит другой сервис, остановите его на минуту.
Проверьте, что сертификаты созданы
ls -la /etc/letsencrypt/live/ваш-домен.ru/

В папке должны быть файлы:

✅ Сертификат будет автоматически обновляться каждые 60 дней благодаря встроенному планировщику Certbot.

⚙️ Часть 3: Настройка SSL в TorrServer

Остановите службу TorrServer
systemctl stop torrserver
Отредактируйте файл службы
nano /etc/systemd/system/torrserver.service
Приведите файл к следующему виду

Измените User=torrserver на User=root и добавьте SSL-параметры в ExecStart:

[Unit]
Description=TorrServer - stream torrent to http
Wants=network-online.target
After=network.target

[Service]
User=root
Group=root
Type=simple
NonBlocking=true
EnvironmentFile=/opt/torrserver/torrserver.config
ExecStart=/opt/torrserver/TorrServer-linux-amd64 $DAEMON_OPTIONS --ssl --sslcert /etc/letsencrypt/live/ваш-домен.ru/fullchain.pem --sslkey /etc/letsencrypt/live/ваш-домен.ru/privkey.pem
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -INT $MAINPID
TimeoutSec=30
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target
⚠️ Не забудьте заменить ваш-домен.ru на ваш реальный домен во всех путях.
Или (альтернативный способ): используйте конфигурационный файл

Вместо редактирования ExecStart вы можете добавить параметры в файл /opt/torrserver/torrserver.config:

DAEMON_OPTIONS="--ssl --sslcert /etc/letsencrypt/live/ваш-домен.ru/fullchain.pem --sslkey /etc/letsencrypt/live/ваш-домен.ru/privkey.pem"

Этот способ удобнее, если вы планируете часто менять параметры.

Перезагрузите конфигурацию systemd и запустите службу
systemctl daemon-reload
systemctl start torrserver
systemctl enable torrserver
Проверьте статус и логи
systemctl status torrserver
journalctl -u torrserver -f

В логах не должно быть ошибок, связанных с сертификатами.

Проверьте, что сервер слушает HTTPS-порт
netstat -tulpn | grep 8091

По умолчанию HTTPS порт — 8091. Если вы хотите использовать стандартный порт 443, добавьте флаг --sslport 443.


🌐 Часть 4: Проверка и доступ

Откройте в браузере
https://ваш-домен.ru:8091

Вы должны увидеть интерфейс TorrServer с "зелёным замком" 🔒

Дополнительная проверка через командную строку
curl -k https://ваш-домен.ru:8091

Должен вернуться HTML-код главной страницы.


💡 Дополнительные советы


📋 Полезные команды для управления

# Остановка службы
systemctl stop torrserver

# Запуск службы
systemctl start torrserver

# Перезапуск службы
systemctl restart torrserver

# Просмотр логов в реальном времени
journalctl -u torrserver -f

# Просмотр статуса сертификатов
certbot certificates

# Принудительное обновление сертификата
certbot renew --force-renewal

🎉 Поздравляем! Теперь ваш TorrServer работает по защищённому протоколу HTTPS. Все данные между вами и сервером шифруются.