Торрент-клиент qBittorrent под Ubuntu

Представляю ещё один торрент-клиент, который я проверил на Ubuntu server. Тут, в отличии от ранее опубликованного Deluged + Deluge web, всё в одном сразу и демон торрент-сервера и веб-интерфейс. Всё что нужно для установки, это выполнить следующие команды.

add-apt-repository ppa:qbittorrent-team/qbittorrent-stable && \
apt install -y qbittorrent qbittorrent-nox
cat > /etc/systemd/system/qbittorrent-nox.service << EOF
[Unit]
Description=qBittorrent Command Line Client
After=network.target

[Service]
Type=forking
User=root
Group=root
UMask=000
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8212
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload && \
systemctl enable qbittorrent-nox && \
systemctl stop qbittorrent-nox && \
systemctl start qbittorrent-nox && \
systemctl status qbittorrent-nox

Теперь можно протестировать:

http://АдресСервера:8212

Пользователь по умолчанию: admin

Пароль: adminadmin

Старый добрый Transmission. Торрент-клиент проще некуда

Этот торрент-клиент я впервые установил ещё на Ubuntu 16 Server, и как не странно будет звучать, и сейчас в 2025 году, я тоже поставлю чистую 16 и на неё этот трансмишн. Все дело в том, что действительно хочется получить компактное и производительное решение, особенно, когда железо ушло далеко в перед, а софт оптимизирован уже был под старое. Кто не верит, может сравнить насколько быстрее работает (скорость ребута, сервисы, нагрузка на железо) 16 Убунта в отличии от 22 или 24. Transmission-daemon тоже сам по себе предельно прост, если честно, то проще него ничего не видел. В нем есть всё для меня необходимое:

  • Watch – папка, которая следит, не отправили ли в неё новый torrent-файл, и если отправили – подхватывает и автоматически начинает загрузку (не нужно жать плюс и подгружать торренты)
  • Есть WEB-интерфейс, не нужно устанавливать какой-то софт, а доступ к нему можно организовать из любой точки сети
  • Не отнимает много ресурсов на ESXi, когда работает как виртуальная машина

Итак, как его установить на Ubuntu 16:

sudo apt-get install transmission-daemon

Теперь нужно остановить сервис:

sudo service transmission-daemon stop

Далее нужно открыть файл /var/lib/transmission-daemon/.config/transmission-daemon/settings.json и указать опции.

  • download-dir – каталог для загруженных файлов
  • incomplete-dir – каталог для недозагруженных файлов (после загрузки будут перемещены в download-dir)
  • rpc-whitelist – следует добавить ip-адреса, с которых будет доступен веб-интерфейс, например, “127.0.0.1 192.168.1.*”, отделяя их пробелом
  • watch-dir – каталог, который будет следить не добавлен ли в него новый .torrent-файл. Эту опцию возможно придётся добавить в файл, т.к. в списке опций её может просто не быть
  • watch-dir-enable – установить в true. Этой опции тоже может не быть, её тоже тогда нужно добавить к остальным, например после последней.

Теперь нужно стартануть сервис:

sudo service transmission-daemon start

Веб-интерфейс будет доступен по адресу http://АдресСервера:9091

Как установить 3Proxy на Ubuntu

Скачать

wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz

Распаковать

tar xzf 0.9.3.tar.gz

Установить компилятор

sudo apt-get install make

sudo apt-get install gcc

Откомпилировать

cd ~/3proxy-0.9.3

sudo make -f Makefile.Linux

Скопировать откомпилированный файл в нужный каталог

sudo mkdir /etc/3proxy

cd ~/3proxy-0.9.3/bin

sudo cp 3proxy /usr/bin/

Создать административный логин

sudo adduser --system --no-create-home --disabled-login --group proxy3

id proxy3

Получится что-то вроде

uid=109(proxy3) gid=115(proxy3) groups=115(proxy3)

Создать файл настроек

sudo nano /etc/3proxy/3proxy.cfg

Заполнить его следующим кодом (в setgid и setuid поставить полученные только что значения)

# Запускаем сервер от пользователя proxy3
# (возможно в вашей ОС uid и gid пользователя proxy3
# будут другими. Для их определения воспользуйтесь командой id proxy3)
setgid 115
setuid 109
#
# Пропишите правильные серверы имен посмотрев их
# на своем сервере в /etc/resolv.conf
nserver 188.93.16.19
nserver 188.93.17.19
#
# Оставьте размер кэша для запросов DNS по умолчанию
nscache 65536
#
# Равно как и таймауты
timeouts 1 5 30 60 180 1800 15 60
#
# Если несколько IP на одном сервере, указываем тот,
# через который будем ходить во внешний мир.
# Иначе эту строку игнорируем
#external 
# Тоже самое, только указываем IP, который надо слушать
# Если проигнорировать, то прокси слушает все адреса на сервере
#internal 
#
# Указываем на расположение файла с пользователями и паролями
users $/etc/3proxy/.proxyauth
#
# укажите режим запуска как deamon
daemon
#
# путь к логам и формат лога, к имени лога будет добавляться дата создания
log /var/log/3proxy/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
#
# Включаем авторизацию по логинам и паролям
auth cache strong
#
# Конфигурация http(s) proxy
# Запускаем анонимный (-a) HTTP-proxy на порту (-p) 3128 и
# c отключенной NTLM-авторизацией (-n)
proxy -n -p3128 -a

Создать файл с учетными записями 3Proxy

sudo nano /etc/3proxy/.proxyauth

Заполнить пользователями

## addusers in this format:
#user:CL:password
##see for documentation: http://www.3proxy.ru/howtoe.asp#USERS
username:CL:strongpassword
abc:CL:mysecretpassword

Поддерживаются следующие типы паролей:

CL – в открытом виде

CR – в формате MD5

NT – пароль в формате NT в шестнадцатеричной кодировке

Дать права на папки

sudo chown proxy3:proxy3 -R /etc/3proxy

sudo chown proxy3:proxy3 /usr/bin/3proxy

sudo chmod 444 /etc/3proxy/3proxy.cfg

sudo chmod 400 /etc/3proxy/.proxyauth

Настроить каталог логирования

sudo mkdir /var/log/3proxy

sudo chown proxy3:proxy3 /var/log/3proxy

Создать файл описания сервиса

sudo nano/etc/systemd/system/3proxy.service

Вставить следующий код

[Unit]
Description=3proxy Proxy Server
After=network.target


[Service]
Type=simple
ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg
ExecStop=/bin/kill `/usr/bin/pgrep -u proxy3`
RemainAfterExit=yes
Restart=on-failure

[Install]
WantedBy=multi-user.target

Обновить конфигурацию сервисов

sudo systemctl daemon-reload

Добавить в автозагрузку

sudo systemctl enable 3proxy

Запустить сервис

sudo systemctl start 3proxy

Проверить статус

systemctl status 3proxy.service

Проверить наличие процесса

ps -ela | grep "3proxy"

Открыть порт

sudo iptables -I INPUT -p tcp -m tcp --dport 3128 -j ACCEPT