7.7 KiB
Шаг 1. Подготовка системы и создание пользователя
-
Обновите систему:
apt update && apt upgrade -y -
Установите необходимые пакеты:
apt install rtorrent tmux curl build-essential ufw -y -
Создайте пользователя
torrent(без пароля, так как будем управлять им через systemd):adduser --disabled-password --gecos "" torrent
Шаг 2. Настройка rTorrent
Перейдем под созданного пользователя и создадим нужные папки и конфигурацию.
-
Переключитесь на пользователя
torrent:su - torrent -
Создайте структуру директорий для загрузок и сессий:
mkdir -p ~/rtorrent/{downloads,session,watch,add} -
Создайте конфигурационный файл
~/.rtorrent.rc:nano ~/.rtorrent.rc -
Вставьте в него следующую базовую конфигурацию:
# Директории directory.default.set = /home/torrent/rtorrent/downloads session.path.set = /home/torrent/rtorrent/session schedule = watch_directory,5,5,"load.normal=/home/torrent/rtorrent/add/*.torrent" # Порты для входящих соединений (для самих торрентов) network.port_range.set = 50000-50000 network.port_random.set = no # Настройка SCGI сокета для связи с Flood network.scgi.open_local = /home/torrent/rtorrent/rpc.socket execute.nothrow = chmod,770,/home/torrent/rtorrent/rpc.socket # Шифрование protocol.encryption.set = allow_incoming,try_outgoing,enable_retry # Трекеры и DHT dht.mode.set = auto dht.port.set = 6881 protocol.pex.set = yes trackers.use_udp.set = yesСохраните файл (
Ctrl+O,Enter) и закройте редактор (Ctrl+X). -
Выйдите из пользователя
torrentобратно вroot:exit
Шаг 3. Установка Node.js и Flood
Flood — это веб-приложение на Node.js. Установим актуальную версию Node.js.
-
Добавьте репозиторий Node.js (например, 20-ю LTS версию):
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - -
Установите Node.js:
apt-get install -y nodejs -
Установите Flood глобально через пакетный менеджер
npm:npm install -g flood
Шаг 3. Установка File Browser
-
Установка:
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash -
Запуск для получения пароля:
filebrowser \ -r /mnt/data \ --address 0.0.0.0 \ --port 8070 \ --database /root/filebrowser.db
Выключите скрипт (Ctrl+C).
НЕ ЗАБУДЬТЕ ЗАПИСАТЬ ВЫДАННЫЙ ПАРОЛЬ!
Шаг 4. Назначение необходимых прав на папки
- Установка ACL:
sudo apt install acl - Назначение общих прав на папки для нормальной работы File Browser
sudo setfacl -R -m u:torrent:rwx /home/torrent sudo setfacl -R -d -m u:torrent:rwx /home/torrent
Шаг 5. Создание сервисов (systemd)
Чтобы rTorrent и Flood работали в фоне и автоматически запускались при перезагрузке сервера, создадим для них systemd-сервисы.
1. Сервис для rTorrent
Создайте файл:
nano /etc/systemd/system/rtorrent.service
Вставьте код:
[Unit]
Description=rTorrent
After=network.target
[Service]
Type=forking
User=torrent
Group=torrent
# Запускаем rTorrent внутри tmux, чтобы при желании можно было подключиться к консоли
ExecStart=/usr/bin/tmux new-session -s rtorrent -n rtorrent -d rtorrent
ExecStop=/usr/bin/tmux send-keys -t rtorrent C-q
WorkingDirectory=/home/torrent
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
2. Сервис для Flood
Создайте файл:
nano /etc/systemd/system/flood.service
Вставьте код (здесь мы указываем порт 8099):
[Unit]
Description=Flood Web UI
After=rtorrent.service
[Service]
Type=simple
User=torrent
Group=torrent
ExecStart=/usr/bin/flood --port 8099 --host 0.0.0.0
WorkingDirectory=/home/torrent
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
2. Сервис для File Browser
Создайте файл:
sudo nano /etc/systemd/system/filebrowser.service
Вставьте код (здесь мы указываем порт 8099):
[Unit]
Description=File Browser
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/bin/filebrowser \
-r /home/torrent \
--address 0.0.0.0 \
--port 8070 \
--database /root/filebrowser.db
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Шаг 6. Запуск сервисов и настройка фаервола
-
Перезагрузите конфигурацию systemd:
systemctl daemon-reload -
Добавьте сервисы в автозагрузку и запустите их:
systemctl enable --now rtorrent systemctl enable --now flood systemctl enable --now filebrowser -
Проверьте статус (оба должны быть active (running)):
systemctl status rtorrent systemctl status flood systemctl status filebrowser -
Откройте необходимые порты в фаерволе (если вы используете UFW):
ufw allow 8099/tcp # Порт для веб-интерфейса Flood ufw allow 50000/tcp # Порт для входящих торрентов ufw allow 6881/udp # Порт для DHT ufw allow 8070/tcp # Порт для File Browser
Шаг 7. Первоначальная настройка в браузере
-
Откройте браузер и перейдите по адресу вашего сервера:
http://IP_ВАШЕГО_VPS:8099 -
Перед вами появится окно первоначальной настройки Flood:
- Username / Password: Придумайте логин и пароль для входа в веб-интерфейс.
- Client: Выберите
rTorrent. - Connection type: Выберите Socket (Сокет).
- Socket path: Введите путь, который мы указывали в конфиге:
/home/torrent/rtorrent/rpc.socket
-
Нажмите Connect (или Create Account).
Готово! File Browser, Flood + rTorrent установлены
Полезные команды для администрирования:
- Посмотреть логи Flood:
journalctl -u flood -f - Подключиться к голой консоли rTorrent:
Войдите под пользователем:
su - torrentПодключитесь к сессии:tmux attach-session -t rtorrentЧтобы выйти и не закрыть rTorrent, нажмите:Ctrl+B, затемD(detach).