Transmission-daemon: различия между версиями

Материал из ALT Linux Wiki
(дополнение, исправление, орфография)
 
(не показаны 2 промежуточные версии 2 участников)
Строка 1: Строка 1:
==Введение==
==Введение==
Torrent—протокол для обмена данными, обеспечивающий закачку и раздачу файлов фрагментально, скаченные фрагменты встают на раздачу.
Bittorrent — протокол для обмена данными, обеспечивающий закачку и раздачу файлов фрагментарно; скачанные фрагменты становятся доступными для загрузки другими участниками. В отличие от DC++ и eDonkey Bittorrent позволяет формировать комплекты файлов.
Использование такого удобного сервиса как торренто, становится необходимостью в работе ПК дома и на производстве. Иметь в портфеле домашнего\малого офиса этот инструмент становится необходимостью при решении различных задач. Рассмотрим торрент клиент, работающий как служба (Transmission-daemon), который удобно использовать на стороне сервера, в качестве управляющего менеджера - любой браузер.
<br>
Torrent — файл с описанием комплекта.
<br>
Magnet — ссылка на комплект, эквивалент для файла torrent.
 
Использование торрентов становится необходимостью в работе ПК дома и на производстве. Иметь в портфеле домашнего или малого офиса этот инструмент полезно при решении различных задач. В этой статье рассматривается использование торрент-клиента '''transmission-daemon''', работающего в качестве службы на стороне сервера, управлять которым можно с любого устройства, где есть браузер.


==Программы==
==Программы==
Сервер ALT Linux xxx Centaurus pX
Сервер ALT Linux xxx pX
:Установить
:Установка
<pre>[root@torrent ~]# apt-get update
<pre>[root@torrent ~]# apt-get update
[root@torrent ~]# apt-get install apache2 transmission-daemon</pre>
[root@torrent ~]# apt-get install transmission-daemon</pre>


==Настройка==
==Настройка==
Устанавить права пользователь\группа для пользователя _transmission-daemon, создан при установке,на папку ftp сервера(необязательно);
Устанавливаем право «запись» для пользователя <code>_transmission-daemon</code> (он создан при установке пакета <code>transmission-daemon</code>) на каталог для скачиваемых им файлов (например, в каталоге сервера FTP):
<pre>
<pre>
[root@torrent ~]#
[root@torrent ~]#
mkdir -p /srv/public/torrento  
mkdir -p /srv/public/torrento  
chown -R _transmission-daemon:_transmission-daemon /usr/public/torrento
chown -R _transmission-daemon:_transmission-daemon /srv/public/torrento
</pre>
</pre>
При необходимости вносим изменения в файл конфигурации:
При необходимости вносим изменения в файл конфигурации:
<pre>[root@torrent ~]# vim /var/lib/transmission-daemon/settings.json
<pre>[root@torrent ~]# vim /etc/transmission-daemon/settings.json
"alt-speed-down": 50,
"alt-speed-down": 50,
     "alt-speed-enabled": false,
     "alt-speed-enabled": false,
     "alt-speed-time-begin": 540,
     "alt-speed-time-begin": 540,
Строка 62: Строка 68:
     "rpc-bind-address": "0.0.0.0",
     "rpc-bind-address": "0.0.0.0",
     "rpc-enabled": true,
     "rpc-enabled": true,
     "rpc-password": "{867895dc3a63238bb66ff7889c3c0a222d490d83jazvX81H",
     "rpc-password": "<хэш пароля>",
     "rpc-port": 9091,                                                       //порт для удалённого доступа
     "rpc-port": 9091,   //порт для удалённого доступа
     "rpc-url": "/transmission/",
     "rpc-url": "/transmission/",
     "rpc-username": "",
     "rpc-username": "",
Строка 82: Строка 88:
     "upload-slots-per-torrent": 14,
     "upload-slots-per-torrent": 14,
     "utp-enabled": true                                                   
     "utp-enabled": true                                                   
}
</pre>
Проверяем и при необходимости изменяем параметры запуска демона (например, уменьшаем размер файла протокола — указываем сохранять в нём только ошибки):
<pre>[root@torrent ~]# vim /etc/sysconfig/transmission-daemon
TRANSMISSION_OPTIONS="-e /var/log/transmission-daemon/transmission-daemon.log -g /var/lib/transmission-daemon --log-error"
</pre>
</pre>
Настраиваем буфер ядра для UDP:
<pre>[root@torrent ~]# echo "net.core.rmem_max = 4194304" >>/etc/sysctl.d/50-transmission-daemon.conf
[root@torrent ~]# echo "net.core.wmem_max = 1048576" >>/etc/sysctl.d/50-transmission-daemon.conf</pre>
Запускаем службу:
Запускаем службу:
<pre>[root@torrent ~]# transmission-daemon start
: в системе с SysV
chkconfig transmission-daemon on
<pre>[root@torrent ~]# chkconfig transmission-daemon on ; service transmission-daemon start</pre>
</pre>
: в случае Systemd
<pre>[root@torrent ~]# systemctl enable transmission-daemon;  service transmission-daemon start</pre>


== Технические детали ==
Файл конфигурации <code>/etc/transmission-daemon/settings.json</code> при запуске демона копируется в <code>/var/lib/transmission-daemon/settings.json</code>. Поэтому все изменения конфигурации, сделанные во время работы программы в её интерфейсе, сохраняются только до остановки программы (изменения перезаписываются при следующем запуске).


Если не увеличить буферы ядра, програма в начале своей работы сообщит об ошибках:<br>
<code>UDP Failed to set receive buffer: requested 4194304, got 425984</code><br>
<code>UDP Failed to set send buffer: requested 1048576, got 425984</code>


{{Category navigation|title=Centaurus|category=Centaurus|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Centaurus|category=Centaurus|sortkey={{SUBPAGENAME}}}}

Текущая версия от 22:18, 9 сентября 2021

Введение

Bittorrent — протокол для обмена данными, обеспечивающий закачку и раздачу файлов фрагментарно; скачанные фрагменты становятся доступными для загрузки другими участниками. В отличие от DC++ и eDonkey Bittorrent позволяет формировать комплекты файлов.
Torrent — файл с описанием комплекта.
Magnet — ссылка на комплект, эквивалент для файла torrent.

Использование торрентов становится необходимостью в работе ПК дома и на производстве. Иметь в портфеле домашнего или малого офиса этот инструмент полезно при решении различных задач. В этой статье рассматривается использование торрент-клиента transmission-daemon, работающего в качестве службы на стороне сервера, управлять которым можно с любого устройства, где есть браузер.

Программы

Сервер ALT Linux xxx pX

Установка
[root@torrent ~]# apt-get update
[root@torrent ~]# apt-get install transmission-daemon

Настройка

Устанавливаем право «запись» для пользователя _transmission-daemon (он создан при установке пакета transmission-daemon) на каталог для скачиваемых им файлов (например, в каталоге сервера FTP):

[root@torrent ~]#
mkdir -p /srv/public/torrento 
chown -R _transmission-daemon:_transmission-daemon /srv/public/torrento

При необходимости вносим изменения в файл конфигурации:

[root@torrent ~]# vim /etc/transmission-daemon/settings.json
{   "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,
    "alt-speed-time-enabled": false,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 50,
    "bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": false,
    "blocklist-url": "http://www.example.com/blocklist",
    "cache-size-mb": 4,
    "dht-enabled": true,
    "download-dir": "/srv/public/torrento",     //закаченные
    "download-queue-enabled": true,
    "download-queue-size": 5,
    "encryption": 1,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/srv/public/torrento",  //розданные
    "incomplete-dir-enabled": false,
    "lpd-enabled": false,
    "message-level": 2,
    "peer-congestion-algorithm": "",
    "peer-id-ttl-hours": 6,
    "peer-limit-global": 200,
    "peer-limit-per-torrent": 50,
    "peer-port": 51413,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": "default",
    "pex-enabled": true,
    "port-forwarding-enabled": true,
    "preallocation": 1,
    "prefetch-enabled": 1,
    "queue-stalled-enabled": true,
    "queue-stalled-minutes": 30,
     "ratio-limit": 2,
    "ratio-limit-enabled": false,
    "rename-partial-files": true,
    "rpc-authentication-required": false,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-password": "<хэш пароля>",
    "rpc-port": 9091,    //порт для удалённого доступа
    "rpc-url": "/transmission/",
    "rpc-username": "",
    "rpc-whitelist": "127.0.0.1",
    "rpc-whitelist-enabled": true,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "seed-queue-enabled": false,
    "seed-queue-size": 10,
    "speed-limit-down": 100,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 100,
    "speed-limit-up-enabled": false,
    "start-added-torrents": true,
    "trash-original-torrent-files": false,
    "umask": 18,
    "upload-slots-per-torrent": 14,
    "utp-enabled": true                                                   
}

Проверяем и при необходимости изменяем параметры запуска демона (например, уменьшаем размер файла протокола — указываем сохранять в нём только ошибки):

[root@torrent ~]# vim /etc/sysconfig/transmission-daemon
TRANSMISSION_OPTIONS="-e /var/log/transmission-daemon/transmission-daemon.log -g /var/lib/transmission-daemon --log-error"

Настраиваем буфер ядра для UDP:

[root@torrent ~]# echo "net.core.rmem_max = 4194304" >>/etc/sysctl.d/50-transmission-daemon.conf
[root@torrent ~]# echo "net.core.wmem_max = 1048576" >>/etc/sysctl.d/50-transmission-daemon.conf

Запускаем службу:

в системе с SysV
[root@torrent ~]# chkconfig transmission-daemon on ; service transmission-daemon start
в случае Systemd
[root@torrent ~]# systemctl enable transmission-daemon;  service transmission-daemon start

Технические детали

Файл конфигурации /etc/transmission-daemon/settings.json при запуске демона копируется в /var/lib/transmission-daemon/settings.json. Поэтому все изменения конфигурации, сделанные во время работы программы в её интерфейсе, сохраняются только до остановки программы (изменения перезаписываются при следующем запуске).

Если не увеличить буферы ядра, програма в начале своей работы сообщит об ошибках:
UDP Failed to set receive buffer: requested 4194304, got 425984
UDP Failed to set send buffer: requested 1048576, got 425984