wTorrent — удобная графическая web-морда к популярному консольному клиенту rTorrent.
Удобен он тем, что поразительно (хотя и ожидаемо от консольной программки) не требователен к аппаратным ресурсам, прост в настройке и управлении и поддерживается большинством трекеров.
Здесь я опишу как установить надстройку над ним для управления своими торрентами через Интернет.
Особенно актуально это в случае, если компьютер подключен к сети не напрямую, а через домашний сервер, и торрент-клиент установлен именно там.
Системные требования:
Консольный torrent-клиент rTorrent, собранный с поддержкой xmlrpc и scgi-управления.
Web-сервер с поддержкой SCGI (lighthttpd или apache).
PHP5 с поддержкой PDO и XML-RPC.
В моем случае за основу взята система Gentoo. Для других дистрибутивов установка несколько отличается, но все нужные компоненты есть в репозиториях большинства дистрибутивов, ищите.
Для начала включим USE-флаги:
По зависимостям установятся xmlrpc-c, scgid и libtorrent.
Создадим пользователя rtorrent для функционирования клиента в качестве демона:
Pедактируем /etc/conf.d/rtorrent, заменив $USER на имя нашего пользователя.
Создадим конфигурационный файл rtorrent и впишем в него нужные настрйоки.
Настройка клиента закончена, запустим его командой /etc/init.d/rtorrent start
Отредактируем /etc/conf.d/apache2, добавив туда такое (если строка уже есть, дописать новые параметры в конец):
Приведем /etc/apache2/modules.d/20_mod_scgi.conf к виду (убрав мои кавычки, без них парсер съедает код):
Создаем htpasswd:
Качаем архив: www.wtorrent-project.org/trac/changeset/latest/trunk/?old_path=%2F&format=zip
Распаковываем.
Заходим на servername/install.php и следуем советам указанным там.
Если все сделано правильно, мы увидим вот такой интерфейс :)

Удобен он тем, что поразительно (хотя и ожидаемо от консольной программки) не требователен к аппаратным ресурсам, прост в настройке и управлении и поддерживается большинством трекеров.
Здесь я опишу как установить надстройку над ним для управления своими торрентами через Интернет.
Особенно актуально это в случае, если компьютер подключен к сети не напрямую, а через домашний сервер, и торрент-клиент установлен именно там.
Системные требования:
Консольный torrent-клиент rTorrent, собранный с поддержкой xmlrpc и scgi-управления.
Web-сервер с поддержкой SCGI (lighthttpd или apache).
PHP5 с поддержкой PDO и XML-RPC.
В моем случае за основу взята система Gentoo. Для других дистрибутивов установка несколько отличается, но все нужные компоненты есть в репозиториях большинства дистрибутивов, ищите.
Для начала включим USE-флаги:
net-p2p/rtorrent xmlrpc daemon
dev-lang/php pdo xmlrpc sqlite
Устанавливаем ПО.
emerge net-p2p/rtorrent dev-lang/php www-servers/apache www-apache/mod_scgi
По зависимостям установятся xmlrpc-c, scgid и libtorrent.
Настройка rTorrent.
Создадим пользователя rtorrent для функционирования клиента в качестве демона:
addgroup rtorrent
adduser -d /PATH/TO/DOWNLOADS -m -p password -g rtorrent rtorrent
Pедактируем /etc/conf.d/rtorrent, заменив $USER на имя нашего пользователя.
Создадим конфигурационный файл rtorrent и впишем в него нужные настрйоки.
cd /path/to/downloads
echo "scgi_port = localhost:5000" >> .rtorrent.rc
chown rtorrent:rtorrent
Настройка клиента закончена, запустим его командой /etc/init.d/rtorrent start
Настройка web-сервера.
Отредактируем /etc/conf.d/apache2, добавив туда такое (если строка уже есть, дописать новые параметры в конец):
APACHE2_OPTS="-D PHP5 -D SSL -D SCGI"
Приведем /etc/apache2/modules.d/20_mod_scgi.conf к виду (убрав мои кавычки, без них парсер съедает код):
"<"IfDefine SCGI">"
LoadModule scgi_module modules/mod_scgi.so
SCGIMount /RPC2 127.0.0.1:5000
"<"Location /RPC2">"
AuthName "Private Remote Procedure Call"
AuthType Basic
AuthBasicProvider file
AuthUserFile /path/to/webroot/htpasswd
Require user remotecall
"<"/Location">"
"<"/IfDefine">"
Создаем htpasswd:
htpasswd -c /path/to/webroot/htpasswd remotecall
Установка wTorrent
Качаем архив: www.wtorrent-project.org/trac/changeset/latest/trunk/?old_path=%2F&format=zip
Распаковываем.
Заходим на servername/install.php и следуем советам указанным там.
Если все сделано правильно, мы увидим вот такой интерфейс :)
