Показ дописів із міткою rtorrent. Показати всі дописи
Показ дописів із міткою rtorrent. Показати всі дописи

05.01.13

Настройка Rutorrent для работы с Nginx


После долгого использования rtorrent в консольном режиме решил наконец прикрутить к нему rutorrent Почему именно rutorrent? Потому что насколько я понял морда wtorrent с nginx не дружит совсем. Итак, я не буду рассказывать сейчас как настраивать rtorrent, тот кто читает наверняка уже его использует давно,а расскажу конкретно как к rtorrent прикрутить веб морду. Везде где я читал rutorrent слушал порт по протоколу TCP/IP, но я считаю использование unix socket будет и безопаснее как то правильнее чтоли. Приступим: Для начала нам нужно иметь хотя бы рабочий nginx, rtorrent собранный

--with-xmlrpc
и собственно сам rutorrent с плагином RPC Скачиваем по этим двум ссылкам и расспаковываем:
cd /srv/http sudo tar -xvzpf /path/to/rutorrent-3.1.tar.gz
После чего переходим в директорию plugins:
cd /srv/http/rutorrent/plugins  sudo tar -xvzpf /path/to/rpc-3.1.tar.gz
Меняем владельца директории rutorrent на того от которого запущен nginx,например http
sudo chown -R http:http /srv/http/rutorrent/
Затем открываем вашим любимым текстовым редактором конфигурационный файл rutorrent
nano -w /srv/http/rutorrent/conf/config.php
и прописываем порт и хост для прослушки:
$scgi_port = 0; $scgi_host = "unix:///tmp/ru.sock";
Далее открываем конфиг rtorrent'a
nano ~/.rtorrent.rc
и прописываем адрес сокета который будет создавать rtorrent при старте.
scgi_local = /tmp/ru.sock
Единственная загвоздка в том что запуск rtorrent у меня происходит от другого пользователя нежели запуск nginx. Проблема эта решается путем добавления в init скрипт rtorrentd нужного umask. Прямо в скрипте прописываем:
umask 111
Теперь займемся nginx'ом: Создадим новый локэйшен для этого:
location /rutorrent {
root /srv/http/; 
auth_basic "You need the password";
auth_basic_user_file /etc/nginx/conf/torrent; 

} location ~* \.php$ { index index.html; fastcgi_pass unix:/tmp/ru.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /srv/http$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; }
Теперь при обращении www.yourdomain.ru/rutorrent будет открываться веб морда rutorrent. Хочу заметить что ее надо скрыть от посторонних глаз. Так как сам rutorrent не обладает никакими собственными методами аутенфикации мы сделали ее средствами nginx и прописали выше:

auth_basic "You need the password";  auth_basic_user_file /etc/nginx/conf/torrent
Теперь создадим с помощью httpasswd (утилита Apache) зашифрованный пароль и запишем его хеш в /etc/nginx/conf/torrent.

sudo htpasswd -b /etc/nginx/conf/torrent your_login your_password
Собственно все, теперь перезапускаем nginx и rtorrent и открываем в браузере http://127.0.0.1/rutorrent. Выдастся запрос на авторизацию после ввода которого вы можете рулить закачками на сервере хоть с дивана, хоть с работы.

03.09.12

rtorrent.servise

pacman -S tmux
[Unit]
Description=rTorrent for dima

[Service]
ExecStart=/usr/bin/tmux new-session -d -s rtorrent rtorrent
Type=forking
User=dima

[Install]
WantedBy=multi-user.target

Помилки rtorrent

#summary Детальное описание сообщений об ошибках.
== Детальное описание сообщений об ошибках ==

 * *Ошибка добавления закачки.*

 Ошибка может возникнуть при попытке добавления нового торрента на скачку. Означает она то, что ruTorrent не смог корректно обработать ссылку на торрент файл, или сам торрент файл. Причины могут быть разнообразные - например, Вы попытались добавить ссылку на торрент с трекера, который требует авторизации. Или торрент файл побился в процессе скачки.