Перейти к собственно контенту

Архив

Метка: torrent

Статья расчитана, на то,что у Вас уже установлен репозитории Entware ( статья об установке тут
Устанавливаем transmission:
opkg install transmission-daemon
opkg install transmission-cli
opkg install transmission-web
opkg install transmission-remote

Приводим конфиг /opt/etc/transmission/settings.json к такому виду:

{
"alt-speed-down": 500,
"alt-speed-enabled": false,
"alt-speed-time-begin": 600,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": true,
"alt-speed-time-end": 1320,
"alt-speed-up": 500,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"blocklist-url": "http://list.iblocklist.com/?list=bt_level1",
"cache-size-mb": 2,
"dht-enabled": true,
"download-dir": "/tmp/mnt/disca_1/torrent/complete",
"download-queue-enabled": true,
"download-queue-size": 5,
"encryption": 0,
"idle-seeding-limit": 10080,
"idle-seeding-limit-enabled": true,
"incomplete-dir": "/tmp/mnt/disca_1/torrent/incomplete",
"incomplete-dir-enabled": true,
"lazy-bitfield-enabled": true,
"lpd-enabled": true,
"message-level": 1,
"open-file-limit": 5,
"peer-congestion-algorithm": "",
"peer-limit-global": 100,
"peer-limit-per-torrent": 20,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": "lowcost",
"pex-enabled": true,
"port-forwarding-enabled": false,
"preallocation": 1,
"prefetch-enabled": 0,
"proxy": "",
"proxy-auth-enabled": false,
"proxy-auth-password": "",
"proxy-auth-username": "",
"proxy-enabled": false,
"proxy-port": 80,
"proxy-type": 0,
"queue-stalled-enabled": false,
"queue-stalled-minutes": 30,
"ratio-limit": 50,
"ratio-limit-enabled": true,
"rename-partial-files": true,
"rpc-authentication-required": true,
(далее…)

Данная статья предполагает, что у Вас уже установлен и настроен web-сервер Apache 2.2 + PHP 5.
Информация о системе
deathstar# uname -a
FreeBSD deathstar.name 8.1-STABLE-201009 FreeBSD 8.1-STABLE-201009 #0: Tue Sep 7 15:09:53 UTC 2010 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386

Собираем торрент (обязательно с опцией XMLRPC)

deathstar# cd /usr/ports/net-p2p/rtorrent
deathstar# make install clean

Собираем менеджер виртуальных сессий (все опции по умолчанию)
deathstar# cd /usr/ports/sysutils/screen
deathstar# make install clean

Добавляем фиктивного пользователя, от которого будет работать торрент
deathstar# pw useradd rtorrent -s /sbin/nologin

Создаём рабочие папки для торрента
deathstar# mkdir -p /usr/local/rtorrent/downloads
deathstar# mkdir -p /usr/local/rtorrent/sessions
deathstar# chown -R rtorrent:rtorrent /usr/local/rtorrent/

Создаём скрипт для управления демоном торрента
deathstar# ee /usr/local/etc/rc.d/rtorrent
#!/bin/sh
#
#

# PROVIDE: rtorrent
# REQUIRE: LOGIN
# KEYWORD: shutdown

. /etc/rc.subr

name="rtorrent"
rcvar=`set_rcvar`

load_rc_config $name

: ${rtorrent_enable="NO"}
: ${rtorrent_downloads="/usr/local/rtorrent/downloads"}
: ${rtorrent_sessions="/usr/local/rtorrent/sessions"}
: ${rtorrent_scgi_port=""}
: ${rtorrent_encoding_list="UTF-8;cp1251;koi8-r"}
: ${rtorrent_args=""}
: ${rtorrent_user="rtorrent"}
: ${rtorrent_autoload_dir=""}

command="/usr/local/bin/rtorrent"
screen="/usr/local/bin/screen"

rtorrent_args="-d ${rtorrent_downloads} -s ${rtorrent_sessions} ${rtorrent_args}"

[ -n "${rtorrent_autoload_dir}" ] && rtorrent_args="-O schedule='watch_directory,5,5,load_start=${rtorrent_autoload_dir}' ${rtorrent_args}"
[ -n "${rtorrent_scgi_port}" ] && rtorrent_args="-O scgi_port='${rtorrent_scgi_port}' ${rtorrent_args}"
[ -n "${rtorrent_encoding_list}" ] && rtorrent_args="-O encoding_list='${rtorrent_encoding_list}' ${rtorrent_args}"

start_cmd="echo Starting (далее…)