Transmission-daemon: различия между версиями
(дополнение, исправление, орфография) |
|||
(не показано 8 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
==Введение== | ==Введение== | ||
Bittorrent — протокол для обмена данными, обеспечивающий закачку и раздачу файлов фрагментарно; скачанные фрагменты становятся доступными для загрузки другими участниками. В отличие от DC++ и eDonkey Bittorrent позволяет формировать комплекты файлов. | |||
<br> | |||
Torrent — файл с описанием комплекта. | |||
<br> | |||
Magnet — ссылка на комплект, эквивалент для файла torrent. | |||
Использование торрентов становится необходимостью в работе ПК дома и на производстве. Иметь в портфеле домашнего или малого офиса этот инструмент полезно при решении различных задач. В этой статье рассматривается использование торрент-клиента '''transmission-daemon''', работающего в качестве службы на стороне сервера, управлять которым можно с любого устройства, где есть браузер. | |||
==Программы== | |||
Сервер ALT Linux xxx pX | |||
:Установка | |||
<pre>[root@torrent ~]# apt-get update | |||
[root@torrent ~]# apt-get install transmission-daemon</pre> | |||
==Настройка== | |||
Устанавливаем право «запись» для пользователя <code>_transmission-daemon</code> (он создан при установке пакета <code>transmission-daemon</code>) на каталог для скачиваемых им файлов (например, в каталоге сервера FTP): | |||
<pre> | |||
[root@torrent ~]# | |||
mkdir -p /srv/public/torrento | |||
chown -R _transmission-daemon:_transmission-daemon /srv/public/torrento | |||
</pre> | |||
При необходимости вносим изменения в файл конфигурации: | |||
<pre>[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 | |||
} | |||
</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> | |||
Настраиваем буфер ядра для 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> | |||
Запускаем службу: | |||
: в системе с SysV | |||
<pre>[root@torrent ~]# chkconfig transmission-daemon on ; service transmission-daemon start</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