В наше время практиески нет пользователей сети Интернет, которые не знали бы, что такое торренты. Это замечательная технология, которая позволяет передавать файлы не только с сервера, но и от пользователя к пользователю. За счет чего скорость может быть существенно выше. Например, множество дистрибутивов Linux распространяются именно через torrent.

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

Плюсы первых - удобная графическая оболочка и настройки. Обычно так же большое количество опций.

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

Теперь немного о том, как настроить сл. торрент-клиент:

Transmission-daemon

  • Опции transmission-daemon
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-a   --allowed Разрешенные IP адреса для просмотра статуса закачек через браузер. По умолчанию разрешен только локальный адрес 127.0.0.1
-b   --blocklist Включить блок-лист
-B   --no-blocklist Выключить блок-лист
-c   --watch-dir Эта опция указывает директорию, откуда программа будет автоматом собирать скачанные файлы с расширением .torrent.
-C   --no-watch-dir Из этой директории torrent-файлы собираться не будут
--incomplete-dir В эту директорию будут записываться незавершенные закачки.
-e   --logfile Опция для того, чтобы указать в какой файл записывать состояние работы программы (логи).
-f   --foreground Работа в открытом режиме
-g   --config-dir Путь к конфигурационному файлу
-p   --port Порт для веб-страницы
-t   --auth Запрос аутентификации
-u   --username Имя пользователя для аутентификации
-v   --password Пароль для аутентификации
-V   --version Показать версию программы
-w   --download-dir директория, куда будут отправляться скачанные файлы. Учтите, что они там появяться только после завершения закачки и достижения установленного рейтинга.
--paused Не запускать закачку при включении.
-P   --peerport Порт для незавершенных закачек. По умолчанию используется 51413
-L   --peerlimit-global Лимит на закачку. По умолчанию 240
-l   --peerlimit-torrent Максимальное количество раздающих на закачку. По умолчанию 60
-er  --encryption-required Шифровать все соединения
-ep  --encryption-preferred Prefer encrypted peer connections
-i   --bind-address-ipv4 Соединяться только по протоколу [[Протоколы|IPv4]] 
-I   --bind-address-ipv6 Соединяться только по протоколу [[Протоколы|IPv6]]
-gsr --global-seedratio Завершать раздачу при достижении этого рейтинга

Настройка transmission-daemon в fedora

Итак, где можно найти файл настроек для Fedora, CentOS и других дистрибутивов, собранных на основе Red Hat? Этот файл /etc/sysconfig/transmission-daemon. Его содержимое:

1
 DAEMON_USER="user" #Укажите пользователя, от имени которого будет работать программа.

Сами понимаете, то не стоит доверять это пользователю root.

1
 DAEMON_ARGS="--incomplete-dir /home/user/torrents/incomplite --watch-dir /home/user/downloads --download-dir /home/user/torrents --allowed 192.168.0.* -T --blocklist -g  $TRANSMISSION_HOME/.config/transmission-daemon" #здесь у нас указаны директории для закачки, разрешен доступ к веб подсети 192.168.0.0-254 и указан файл конфигурации.

Если кого-либо заинтересует, то вот адрес blocklist: http://update.transmissionbt.com/level1

Скрипт оповещения для transmission-daemon

В основном конфиге /etc/transmission-daemon/settings.json нужно исправить 2 строчки:

1
2
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/home/user/send-mail-from-transmission",

И уже в папке вашего пользователя (в примере user) создайте скрипт send-mail-from-transmission следующего содержания:

1
2
 #!/bin/[[bash]]
 echo "Downloading torrent has been finished." | mail -s "YAHOO!!!" user@wikiadmin.net

Уменьшите обращение в жесткому диску

В настройках вы можете встретить такой пункт, как ‘’‘cache-size-mb’‘’. Я выставил его больше, чем в половину свободно памяти. Много занятой памяти у меня не предвидеться на этой машинке (роутер), а вот диск стал использоваться немного реже. Для SSD это, как я понимаю, не так и маловажно, учитывая ограничение на перезапись этих носителей.

Файл настроек самостоятельно возвращает настройки

Вы редактируете файл /etc/transmission-daemon/settings.json, перегружаете transmission-daemon, а настройки вдруг опять выставлены по-умолчанию. Тут все просто: ‘’‘прежде чем править конфиг, остановите службу’‘’!

К слову, в новой Ubuntu останавливаться это чудо искренне не желает. Restart и даже kill -9 не спасают, появляется новый процесс. Решается так:

  • редактируем /etc/default/transmission-daemon
1
 ENABLE_DAEMON=0
  • можно кильнуть процесс и уже вдоволь поиздеваться над конфигом….

Настройка TC, чтобы торренты имели меньший приоритет и не мешали другому трафику

Скрипт:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 #!/bin/sh
 
 ip link set ifb0 down
 rmmod ifb 2> /dev/null > /dev/null
 modprobe ifb
 ip link set ifb0 up
 
 tc qdisc del dev ppp0 [[root]] 2> /dev/null > /dev/null
 tc qdisc del dev ppp0 ingress 2> /dev/null > /dev/null
 tc qdisc del dev ifb0 [[root]] 2> /dev/null > /dev/null
 tc qdisc del dev ifb0 ingress 2> /dev/null > /dev/null
 
 tc qdisc add dev ppp0 handle ffff: ingress
 tc filter add dev ppp0 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
 
 tc qdisc add dev ifb0 root handle 1:0 htb default 11
 
 tc class add dev ifb0 parent 1:0 classid 1:1 htb rate 160kbps
 
 tc class add dev ifb0 parent 1:1 classid 1:11 htb rate 1kbps ceil 160kbps prio 5
 tc qdisc add dev ifb0 parent 1:11 handle 11: sfq perturb 10
 
 tc class add dev ifb0 parent 1:1 classid 1:10 htb rate 100kbps ceil 160kbps prio 0
 tc qdisc add dev ifb0 parent 1:10 handle 10: sfq perturb 10
 
 tc filter add dev ifb0 parent 1:0 protocol ip prio 0 u32 match ip sport 21 0xffff flowid 1:10
 tc filter add dev ifb0 parent 1:0 protocol ip prio 0 u32 match ip sport 22 0xffff flowid 1:10
 tc filter add dev ifb0 parent 1:0 protocol ip prio 0 u32 match ip sport 53 0xffff flowid 1:10
 tc filter add dev ifb0 parent 1:0 protocol ip prio 0 u32 match ip sport 80 0xffff flowid 1:10
 tc filter add dev ifb0 parent 1:0 protocol ip prio 0 u32 match ip sport 443 0xffff flowid 1:10

Скачивание торрентов в консоли

Используем aria2c. Смотрим, какие файлы есть в раздаче:

1
 aria2c -V -c --human-readable=true 1.torrent --show-files

Качаем только то, что нужно, например, файл 3 и 4

1
 aria2c -V -c --human-readable=true 1.torrent --select-file=3,4

Чтобы раздавать подольше, чем 1:1, укажите опцию

1
 --ratio=10.0

uTorrent подключается к пирам по IPv6, даже если эти адреса отключены

Запрещаем это в Windows следующим образом:

  • открываем реестр («Win+R» вводим regedit)

  • идём в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters

  • создаем параметр DisabledComponents (DWORD 32 бита) и ставим значение FF

  • перезагружаемся