Удобная торрентокачалка с управлением через web и android для выделенного сервера

  • Tutorial

Преамбула


В данной заметке я хочу рассказать, как сделать универсальную торрентокачалку с управлением через интернет как с web интерфейса так и из Android приложения.
Тут будет рассказано о настройке связки rtorrent+rutorrent+nginx+php-fpm+transdroid на Debian Wheezy. Сразу отвечу на вопрос, почему не transmission, во первых при большом количестве раздач/закачек она падает, во вторых слабо кастомизируется и не имеет плагинов для автоматизации поиска и закачки новинок ну и просто лично мне не нравится.
В случае с rtorrent версия из репозитория собрана без xmlrpc-c, так что придется пересобрать самим, официальная документация проектов содержит только вариант настройки с apache, что мне не подошло о всех трудностях и их решении будет рассказано ниже.
Постараюсь максимально комментировать все настройки и конфиги, чтоб можно было понять как система работает, а не заниматься тупым копипастом.
Надеюсь владельцам собственных NASов и выделенных серверов будет интересно.

Все команды для удобства привожу из под root, без использования sudo.
Картинок будет мало, в основном команды и пояснения, для максимально быстрого воспроизведения конфигурации.


Настройка необходимых репозиториев.


В /etc/apt/sources.list добавим:
# Понадобится для некоторых плагинов.
deb http://www.deb-multimedia.org stable main non-free
# Свежая версия php и mysql
deb http://packages.dotdeb.org wheezy all
deb-src http://packages.dotdeb.org wheezy all
# Свежий nginx
deb http://nginx.org/packages/debian/ wheezy nginx
deb-src http://nginx.org/packages/debian/ wheezy nginx

Устанавливаем ключи
apt-get update && apt-get install deb-multimedia-keyring
wget http://www.dotdeb.org/dotdeb.gpg -O- |apt-key add -
gpg --keyserver hkp://keys.gnupg.net --recv-keys ABF5BD827BD9BF62
gpg -a --export 7BD9BF62 | apt-key add -

Обнобляемся.
apt-get update && apt-get upgrade

Ставим необходимые пакеты (надеюсь ничего не забыл)
apt-get install build-essential autoconf automake libtool libncurses5-dev libncursesw5-dev libcurl4-openssl-dev screen openssl php5 php5-cli curl libcppunit-dev libsigc++-2.0-dev subversion php5-cgi nginx php5-common php5-fpm php5-gd php-pear checkinstall git

Если в системе раньше стоял rtorrent из репозитория, удаляем его
apt-get purge rtorrent libtorrent*

Сборка нужных пакетов


При сборке всех трех пакетов может быть ошибка с номером версии, я предпочитаю задавать дату сборки, также при сборке может ругаться на отсутствие директорий, просто создать их и запустить заново.
Сборка и установка xmlrpc-c

Создадим директорию, где будут исходники
mkdir ~/svn 

Перейдем в нее
cd ~/svn 

Получим свежие сорсы
svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced/ xmlrpc-c 

Переходим в полученную директорию
cd xmlrpc-c 

Собираем:
./configure --disable-cplusplus 
make 
checkinstall -D

Сборка libtorrent (пункты те-же по-этому кратко)

cd ~/svn 
git clone https://github.com/rakshasa/libtorrent
cd libtorrent
./autogen.sh 
./configure 
make 
checkinstall -D

Сборка rtorrent

cd ~/svn 
git clone https://github.com/rakshasa/rtorrent
cd rtorrent
./autogen.sh 
./configure --with-xmlrpc-c 
make
checkinstall -D

Подключаем нужные либы, без этого в дальнейшем rtorrent не запустится.
echo "include /usr/local/lib" | tee -a /etc/ld.so.conf 
ldconfig

Пробуем запустить rtorrent, если все OK он запустится, но поругается на отсутствие конфигурационного файла, выйти можно по Ctrl+Q

Создадим пользователя (в моем примере это пользователь p2p ), домашней директорией которого будет наша папка с торрентами, группой для него сделаем www-data
adduser --home /hdd --shell /bin/bash --ingroup www-data p2p

перейдем в него
su p2p

Создадим конфиг для rtorrent
nano ~/.rtorrent.rc

с таким содержимым:
#Необходимо для взаимосвязи с rutorrent и transdroid
scgi_port = 127.0.0.1:5000

#IP нашего сервера, на котором будет работать rtorrent, если таких несколько
bind = 192.168.0.2
ip = 192.168.0.2

#минимальное число пиров на торрент
min_peers = 1
#максимальное число пиров на торрент
max_peers = 100
#максимальная скорость загрузки. 0 — не ограничена
download_rate = 0
#максимальная скорость отдачи. 0 — не ограничена
upload_rate = 10000
#Устанавливает количество раздач с торрента
max_uploads = 50
#каталог для сохранения закачек или откуда будут сидироваться торренты.
directory = /hdd/torrent/download/
#Где будем хранить сессии
session = /hdd/torrent/.session/
#Если мало свободного места, останавливаем все закачки. Порог остановки задан close_low_diskspace=
schedule = low_diskspace,5,60,close_low_diskspace=30000M
# отображаем подробное содержание ошибок
#промежуток между стартом rTorrent и первым после этого стартом ruTorrent никакой полезной работы производиться
# не будет. Чтобы избежать этого, нужно добавить в конфигурационный файл rTorrent специально обученную строчку:
# Путь к php и путь к initplugins.php, содержащемуся в скриптах rutorrent
execute = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php &}
#Задаем порт (или нескольких портов) который открывает клиент для обмена данными
# (не забываем разрешить на фаирволе)
port_range = 40500-40999
# Каждый раз использовать случайный порт из диапазона.
port_random = yes
#проверять хэш торрента после закачки
check_hash = yes
#сохранять сессию
session_save = yes
#принимать зашифрованные входящие соединения, устанавливать не зашифрованные
#исходящие соединения, если возвращает ошибку, повторять с шифрованием,
#предпочитать открытый текст после установления зашифрованного соединения
encryption = allow_incoming,enable_retry,prefer_plaintext
#использовать udp
use_udp_trackers = yes
# Разрешает работу DHT для безтрекерных торрентов или для случаев,
# когда все ретрекеры лежат (не работают).
# Может принимать значения «disable» (для полного отключения DHT),
#«off» (не стартует с DHT), «auto» (Включает DHT при возможности),
# или «on» (принудительно включает DHT). Значение DHT по умолчанию «off».
# Для правильной работы DHT каталог сеансов «session» должен быть определен.
#
dht = auto
#
# UDP порт, используемый DHT.
#
dht_port = 6881
# Принудительно устанавливает кодировку UTF-8 для xmlrpc.
# Рекомендуется для устранения проблем при использовании
# в наименованиях торрентов символов кириллицы.
# Актуально для GUI, работающих через xmlrpc.
encoding_list = utf8

Снова пробуем запустить rtorrent, если какой-либо параметр в конфиге не верный, получим ошибку с номером строки, исправляем, пробуем снова, если все нормально, создадим скрипт автозапуска, для этого вернемся в root, команда exit в терминале, вернет нас из сессии p2p в сессию root.
wget http://libtorrent.rakshasa.no/raw-attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh
mv rtorrentInit.sh /etc/init.d/rtorrent
chmod +x /etc/init.d/rtorrent

переходим в скрипт автозапуска
nano /etc/init.d/rtorrent

Изменяем строчку user=«p2p» на нашего пользователя.

Пробуем запуститься
/etc/init.d/rtorrent start

Проверяем что все запустилось
ps aux | grep rtorrent

Должны увидеть похожие строки
p2p 10443 0.0 0.0 23388 1516? Ss 13:17 0:00 SCREEN -dm -S rtorrent
p2p 10449 0.0 0.3 110904 7120 pts/2 Ssl+ 13:17 0:00 rtorrent


С rtorrent закончили, теперь перейдем к настройке фронтендов.



Настройка nginx.


Для простоты я выложу содержание своих конфигов, с комментариями где это необходимо.
nano /etc/nginx/nginx.conf

Приводим к виду
# Пользователь с правами которого работает nginx
user www-data;
# Рекомендуется устанавливать по числу ядер
worker_processes 2;
pid /var/run/nginx.pid;
worker_rlimit_nofile 8192;
events {
# Максимальное число подключений к серверу на один worker-процесс
worker_connections 1024;
# Эффективный метод обработки соединений, используемый в Linux 2.6+
use epoll;
}
http {
##
# Базовые настройки
#Организовываем кеш для FastCGI сервера, я использую раздел в ram
fastcgi_cache_path /tmp/fcgi-cache/ levels=1:2 keys_zone=one:10m;
#Используем sendfile, но осторожно, если надо отдавать большие файлы,
#то sendfile случается вредит
sendfile on;
#Ограничиваем размер сегмента отправляемой за одну
#блокируемую отдачу
sendfile_max_chunk 128k;
#Буфер отдачи которы используется для обрабатываемых данных
postpone_output 1460;
#Размер хеша для доменных имен.
server_names_hash_bucket_size 64;
#Размер данных принемаемых post запросом
client_max_body_size 15m;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# При ошибках не говорим врагу версию nginx
server_tokens off;
include /etc/nginx/mime.types;
default_type application/octet-stream;

# Это важный момент, помните мы задавали строку scgi_port в начале конфига .rtorrent.rc
# так вот тут в строке server введем те-же параметры. Необходимо будет для работы /RPC
upstream backendrtorrent {
server 127.0.0.1:5000;
}

##
# Настройка логов
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##

# Настройки сжатия
gzip on;
gzip_disable «msie6»;
ssi on;
##

# Настройка виртуальных доменов
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

nano /etc/nginx/sites-enabled/000-default

Приводим к виду
server {
# Папка, где будет располагаться rutorrent
root /var/www/rutorrent;
# Настройка логов, каждому виртуальному домену — свой лог
#access_log /var/log/nginx/default-access.log;
access_log off;
error_log /var/log/nginx/default-error.log;

#Замена .htaccess блокируем доступ к некоторым поддиректориям движка
location /conf/ {
deny all;
}
location /share/ {
deny all;
}
# А вот и /RPC2, через который наши фронтенды будут управлять rtorrent'ом
# Авторизация нужна обязательно, иначе кто угодно будет управлять вашей качалкой.
location /RPC2 {
auth_basic «Private ZONE.»;
auth_basic_user_file /var/www/rutorrent/.htpasswd;
include /etc/nginx/scgi_params;
scgi_pass backendrtorrent;
}

# Подключаем все шаблоны для проверки, на реальных хостах будем использовать только нужные.
include /etc/nginx/templates/default;
include /etc/nginx/templates/php;
}

nano /etc/nginx/templates/default

Приводим к виду
# Типовые настройки общие для всех доменов (если не захочется экзотики)
##
index index.html index.php;

location / {
# Basic HTTP authentication закрываем паролем доступ к нашему rutorrent
auth_basic «Private ZONE.»;
# auth_basic on;
auth_basic_user_file /var/www/rutorrent/.htpasswd;
}

# Закрываем доступ к файлами .htaccess и .htpassword и не логируем лишнее.
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { allow all; access_log off; log_not_found off; }
location = /apple-touch-icon.png { access_log off; log_not_found off; }
location = /apple-touch-icon-precomposed.png { access_log off; log_not_found off; }
location ~ /\. { deny all; access_log off; log_not_found off; }

#Усложняем жизнь скрипт-кидди и блочим популярные сканеры по UA
if ( $http_user_agent ~* (nmap|nikto|wikto|sf|sqlmap|bsqlbf|w3af|acunetix|havij|appscan) ) {
return 403;
}

nano /etc/nginx/templates/php

Приводим к виду
# Передаём обработку PHP-скриптов PHP-FPM
location ~ \.php$ {
try_files $uri =404;
#PHP-FPM слушает на Unix сокете, данная настройка должна совпадать с
# listen = /tmp/wwwpool.sock в файле /etc/php5/fpm/pool.d/www.conf
fastcgi_pass unix:/tmp/wwwpool.sock;
fastcgi_buffers 8 256k;
fastcgi_buffer_size 128k;
fastcgi_intercept_errors on;
#Использовать cache зона one
fastcgi_cache one;
#Помещать страницу в кеш, после 3-х использований. Меньшее число вызвало у меня труднообъяснимые глюки
# на формах регистрации
fastcgi_cache_min_uses 3;
#Кешировать перечисленные ответы
fastcgi_cache_valid 200 301 302 304 5m;
#Формат ключа кеша — по этому ключу nginx находит правильную страничку
fastcgi_cache_key "$request_method|$host|$request_uri";
#Если не использовать эту опцию — то в форумах все будут сидеть под именем первого вошедшего на форум
fastcgi_hide_header «Set-Cookie»;
#Этот запрос заставит nginx кешировать все что проходит через него
fastcgi_ignore_headers «Cache-Control» «Expires»;
fastcgi_index index.php;
# fastcgi_intercept_errors on; # только на период тестирования
# Включаем параметры из /etc/nginx/fastcgi_param
include fastcgi_params;
# Путь к скрипту, который будет передан в php-fpm
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_ignore_client_abort off;
}

Настройки кеширования можно отключить или использовать другие параметры на свое усмотрение, я брал типовые.
Также желательно задать таймзону в настройках php, для этого в файлах /etc/php5/fpm/php.ini и /etc/php5/cli/php.ini
зададим переменную со своей зоной, в моем случае это киевское время.
date.timezone = "Europe/Kiev"

Теперь займемся движком rutorrent

cd /var/www/
wget https://rutorrent.googlecode.com/files/rutorrent-3.5.tar.gz
tar -xzf rutorrent-3.5.tar.gz
rm rutorrent-3.5.tar.gz
cd rutorrent

Можно выкачивать плагины по одному с сайта
Я предпочитаю скачать все сразу, а потом удалить ненужное (описание плагинов есть тут)
rmdir plugins
wget https://rutorrent.googlecode.com/files/plugins-3.5.tar.gz
tar -xzf plugins-3.5.tar.gz
rm plugins-3.5.tar.gz

Чуток подправим конфиг движка:
В файле
nano conf/config.php

меняем переменную на корень файлов с торрентами.
$topDirectory = '/hdd/torrent/';

Сгенерируем логин и пароль для доступа к движку, можно использовать htpasswd из поставки apache,
но у нас его нет, по-этому сгенерим подручными средствами:
echo -e "your-username:`perl -le 'print crypt("your-password","salt")'`" > /var/www/rutorrent/.htpasswd

В имени пользователя не забываем в конце оставить двоеточие.

Меняем владельца дирректории на нашего
chown -R p2p:www-data /var/www/rutorrent

Перезапускаем nginx и php
service nginx restart
service php5-fpm restart

В браузере набираем ip нашего сервера, вводим сгенерированные ранее логин и пароль, и попадаем в панель управления нашей качалкой.



С web мордой закончили, тонкая настройка и описание возможностей есть на официальном сайте, повторяться не буду, перейдем к удобному управлению с android.


Скачиваем на телефон и/или планшет
http://transdroid.org/latest
http://transdroid.org/latest-search
устанавливаем и запускаем.

Выбираем «Добавить новый сервер»
Имя: Любое на выбор
Тип сервера: rTorrent
Ip адрес или имя домена: свой ip сервера или домен
Порт: 80
Использовать авторизацию: ставим галочку
Указываем свои имя и пароль в соответствующих полях.
Папка: без изменений
В дополнительных настройках галочки на свой вкус
Операционная система: Linux
Адрес ftp: p2p: пароль@ip_сервера/torrent/download/ (указываем доступ к ftp папке, об настройке ftp ниже.)
Так как ssl мы не использовали, остальное без изменений.

После этого можно зайти на свой сервер и увидеть текущие закачки, остальные настройки программы на свой вкус.



Ставим FTP сервер, очень кратко:


apt-get install proftpd

В стандартном конфиге /etc/proftpd/proftpd.conf меняем:
ServerName                      "My torrent server"
Раскоментируем
DefaultRoot                   ~ # Запираем пользователей в их домашних дирректориях
Добавляем
RootLogin                       off  # запрещаем подключать от пользователя root
# определять имя хоста клиента по IP адресу (желательно отключать для ускорения доступа)
UseReverseDNS                     off
PassivePorts                  40000 40499 # Чтоб не пересекались с rtorrent

Более тонкую настройку можно посмотреть в множестве статей на эту тему, в рамках данной статьи такого минимума достаточно
service proftpd restart



Ставим самбу


Необходима для удобства локального доступа, также очень кратко.
apt-get install samba

Приводим конфиг /etc/samba/smb.conf к виду:
Минимальный конфиг
; Глобальные настройки сервера
[global]
; General server settings
; Имя компа, как будет видно в сетевом окружении
netbios name = torrent-box
server string =
; Рабочая группа клиентов
workgroup = WORKGROUP
announce version = 5.0
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192
passdb backend = tdbsam
security = user
null passwords = true
; Файл для альясов имен юзеров
username map = /etc/samba/smbusers
name resolve order = hosts wins bcast
wins support = yes
; Логи
log file = /var/log/samba/log.%m
syslog = 0
syslog only = no
; Настройка привязки к интерфейсам, на каких слушать, если не указано слушает на все интерфейсах
interfaces = eth0
; bind interfaces only = true
; Шара жесткого диска
; Имя шары, видно у клиентов
[torrent]
; Путь к расшариваемому диску
path = /hdd/
; Можно ли просматривать
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0755

Генерируем пароль для нашего пользователя
smbpasswd -a p2p

Включаем пользователя
smbpasswd -e p2p

И так в результате мы получили работающий торрент сервер, с богатыми возможностями управления, доступ к скачанным файлам по smb и ftp, из дополнительных удобств могу посоветовать использовать ряд плагинов для rutorrent, позволяющих автоматизировать закачку новинок. Из связных проектов хотел бы отменить torrentmonitor от хабраюзера KorP.
Всем спасибо за внимание.
Share post

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 63

    +2
    Спасибо за упоминание :)
    transmission, во первых при большом количестве раздач/закачек она падает

    аналогично с rtorrent у меня на gentoo несколько лет назад, отказался от связки rtorrent + rutorrent в пользу deluge
      0
      20000 активных раздач/закачек на суперсиде — полет нормальный, делюга хороша, но тоже не умеет многое автоматизировать.
        0
        Да, но учитывая что он не умеет собственного демона, а работает через screen, это конечно пичалька.
          0
          А чем скрин не угодил, мне наоборот нравится, что именно в нем, при любых глюках можно зайти в сессию и глянуть, что происходит на самом клиенте. Вам спасибо за torrentmonitor, настраивать намного удобнее чем 4 отдельных плагина и синтаксис приятный.
            0
            Ну не то что бы не угодил… просто это огромные грабли на мой взгляд. Да и что может глючить в торрент-клиенте, что вы увидите это «на самом клиенте»? Это уже больше косяк rutorrent, по тому что он прост как 2 копейки и почти ничего не умеет, а так у того же делюга вся инфай есть в веб-морде, не меньше чем у rtorrent`а в консоле (а управляемость проще и больше).

            Не за что, ради этого и старался :))
        +1
        Советую сразу ставить Deluge — установка с полпинка, интерфейс приятный, без глюков, никаких screen не нужно.
        До этого мучался с torrentflux, а теперь счастлив, что все работает само, не падает и удобно админится.

        А в статье какие-то танцы с бубном.
          0
          А что не так было с torrentflux?
            0
            Зависал частенько. Да и интерфейс какой-то непонятный и кривой. Не во всех браузерах работал.
            0
            без глюков

            У вас не бывает такого, что после удаления торрента с файлом, файл на самом деле не удален? Я тут как-то залез в свою Downloads и немного удивился обнаружив там много чего «удаленного».
              0
              Бывает, с директориями.
                0
                Сейчас проверил — удалил торрент 18 гигабайт. Через полминуты папка с файлами исчезла.
                Версия без гуя (иксов на сервере нет).
                  0
                  примерно 1/3 не удаляется, от размера не зависит
                0
                У делюга есть косяк (если юзать версию без гуя) — очередь. Исходя из чего он её строит и по какой причине игнорирует настройки (сделанные через web) — я так понять и не смог, но последние 2 месяца постоянно вижу торренты в очереди, хотя на предыдущем сервере такого небыло. Уже и версии чего только можно было вперёд/назад накатал — толку 0, после 7-10 раздач — остальные в очереди. :(

                Но у него есьт ещё один неоспоримый плюс — собственный веб-сервер, не нужен ни веб-сервер, ни пхп, питон — отличная вещь :)
                  0
                  А этот косяк у меня однажды был, кстати. Всего однажды, но очень не кстати — как раз нужно было на торенте рейтинг своей раздачей поднять, а он поставил зачем-то на паузу раздачу.
                  У меня в раздаче постоянно только штук 15 файлов. В основном — по работе (компания раздает свои продукты и на торент-трекерах). Версия без гуя.
                    0
                    У меня такое бывало обычно после переустановки — первый запуск — такая фигня, после рестарта — всё ок, а тут на новом сервере уже второй месяц шляпа :(
              –2
              Да сколько можно одинаковых статей? На моей памяти уже пятая, пользуйтесь поиском.
                +1
                Повторение — мать заикания, ткните хоть в одну где во первых связка с nginx, во вторых связка с android в третьих конфиги комментированы, сборка с подключением нужных либ, без которых ничерта не пашет, а не сплошной поток сознания
                  0
                  Вот и вот. А то, что у вас название приложения для android — не повод для новой статьи.
                    +1
                    Вам таки жалко бумаги на эту статью?
                    0
                    воу, воу, палегче… nginx+fpm красаучек…
                  0
                  Упс, веткой промахнулся.
                    0
                    По первой ссылке вообще ни единого упоминания, по второй lighttpd и поток настроек, что за что отвечает не понять, хотя Вам нравится — используйте их.
                    +1
                    для меня фаворитом является deluge
                    Есть веб интерфейс, cli, полноценный клиент на gtk для linux и windows, ну и transdroid тоже поддерживает его, а настройка намного проще.
                      0
                      Я привык уже как-то к rtorrent, плагины настроены, где что находится, так раз в год пересобираю на новую версию, настройка у делюги проще, согласен, но привычка — вторая натура. Еще помню года 2 назад не мог делюгу с NASом подружить, который на ARM, как сейчас обстоит не знаю.
                      –2
                      Давно уже отказался от rtorrent+rutorrent в пользу utorrent. Функционал конечно все еще уступает, но зато стабильно, шустро, не нужна связка вебсервер+пхп.
                        0
                        На сервере у меня все равно эта связка есть, да и не обязательно она нужна, есть GUI и без веб сервера. utorrent, если не ошибаюсь для linux очень ранняя альфа со слабым функционалом. Для меня наличие веб-сервера огромный плюс, могу получить доступ с любого компа, ничего на него не ставя, замену этого и этого плагина у других качалок я не нашел (может плохо искал). Тут на вкус и цвет, что кому ближе.
                          +1
                          Альфа которой скоро 3 года. Пилят они его медленно, но все что мне нужно работает.
                          Для меня наличие веб-сервера огромный плюс, могу получить доступ с любого компа, ничего на него не ставя,

                          В utorrent своя вебморда — доступ с любого браузера. Ну а на счет плагинов я не спорю, rtorrent значительно богаче по функционалу благодаря им. Но далеко не всем нужен этот дополнительный функционал. Потому для домашней торрентокачалки я выбрал utorrent, а для клиентов смотрю по проекту — делал и на deluge, и на rtorrent, и даже просто на nginx(webseed), также пробовал делать на transmission и ctorrent — но не прижилось.
                            0
                            Ну тут что важнее, понятно что каждый сам выбирает по соотношению удобство/геморрой_настройки. Тоже на разных проектах делал по-разному, но из всех вариантов прижился rtorrent, может потому, что большинство проектов данной тематики пришлось на 2010 год, тогда альтернатив особо небыло, а сейчас, через 3 года, уже лень переучиваться и домой ставлю, то что хорошо знаю, так сказать не включая мозг.
                        +2
                        А что это за сервер показан на картинке «для привлечения внимания»? )))
                          0
                          Похожа на PowerVault MD но со снятой мордой гарантий не дам.
                            +1
                            Dell PowerVault MD3X60
                            +2
                            Покажите скрин где у вас в rtorrent 20 000 торрентов добавлено.
                              0
                              Делал систему суперсидов вот для этого проекта, там же был и скрин. Доступа к проекту давно не имею, сменил работу, сейчас отскринить не выйдет, чтоб не выглядело как отмазка — в треде есть отзывы других людей, кто проверял под высокой нагрузкой.
                                0
                                Да я не к голословности, просто у меня не получилось в свое время заставить стабильно работать rtorrent на большом количестве торентов.
                                  0
                                  +1. При 2ГБ оперативки система с rtorrent у меня начинала лагать когда набиралось 700-900 тяжелых раздач(много файлов/большой объем).
                                    0
                                    Раздачи были небольшие, огромное количество небольших mp3. 900 тяжелых раздач на 2ГБ оперативы — очень неслабый результат.
                                    0
                                    А что падало, сам rtorrent или морда? Именно rtorrent мне уронить не удавалось, а вот морда отваливалась, надо эксперементировать с кешированием, убрать галку генерировать большие таблицы полностью и возможно использовать плагины rpc и httprpc.
                                      0
                                      У меня валился сам рторрент, памяти на серверах гигов по 16.
                                      Тысячу торреннтов так по моему никогда и не смог я получить.
                                      Помню гонял ещё utorrent для linux консольный, но и он что то вел себя очень плохо.
                                      Надо будет снова поэксперементировать.
                                        0
                                        Может версия кривая была или собран неудачно или на самом железе что-то сбойное было, или в самой операционке дескрипторов нехватало с какой ошибкой крашился?
                                –1
                                Что то я не смекну: в чем практическая полезность такой истему?
                                Кому это надо.
                                Обычный пользователь при современной скорости скачивает что ему нужно из торрентов за 5 мин.
                                Если у человека есть мобильный тел и сервер, зачем ему удаленно что-то скачивать?!
                                Видимо я чего-то не понимаю.
                                  +1
                                  У меня например стоит дома минисервак(вебдев, файлопомойка, раздача инета в домашнюю сеть, длна) и все торренты качаются на него, в итоге контент доступен сразу на всех домашних устройствах(компах, ноутах, смартах, телеке) — не нужно носиться с флешками или копировать по сети лишний раз. Ну а сам процесс добавления торрента на скачку элементарен — просто сохраняем .torrent файл в заданную директорию и скачка сразу стартует. Но такой вариант не подойдет для тех кто любит сортировать/каталогизировать скачанное. Я раньше также поступал, но с приходом широкополосного инета пришел к выводу что проще заново скачать чем хранить чтобы раз в 3 года пересмотреть/поиграть/послушать. Ну и заодно отдача круглосуточная — рейтинги на трекерах набираются.
                                    0
                                    Во-первых удобно получать доступ к контенту со всех устройств, у меня больше 5, во-вторых удобно автоматизировать.
                                    Я, например, смотрю некоторые сериалы и вручную ждать когда выйдет новая серия мне лениво, а так сервер сам обнаружит новинку, сам скачает, сам создаст мне rss о том, что доступна новая серия для просмотра. Услышал от знакомого о хорошей новинке, ткнул 2 кнопки на телефоне и новинка уже качается на сервере, пришел домой — посмотрел. На любом из компов или ноутов у меня торрент автоматически передастся на сервер и там скачается в нужную папку в зависимости от своего типа, на маке использую клиент Nativa. Сервер умеет сам каталогизировать контент в зависимости от треккера с которого качается, регекспов в имени и прочего. Опять же телек, вот лениво мне к нему с флешкой бегать, а так натравлен на сервер и смотрит оттуда. Я пошел в гости к знакомым, хотим посмотреть новинку, окей, она скачана лежит на моем централизованном серваке с белым IP, 10 секунд и смотрим без скачивания с сетевой шары. Те же удобства с музыкой, книгами и софтом. Еще немаловажный факт, я очень чувствителен к шуму, на домашнем железе все винты SSD, везде пассивное охлаждение или сверхтихая работа и мне нравится что ночами торентокачалка хрустит себе в далекой от меня стойке на работе.
                                      0
                                      да, как-то я отстал от прогресса. спасибо )
                                        0
                                        Хотелось бы глянуть, как выглядит в живую. Покажете? :)
                                          0
                                          Говорите что показать — покажу, есть и готовые варианты, в списке плагинов есть скрины и красивое описание возможностей, сюда не стал перетягивать чтоб место не забивать.
                                            0
                                            Я про физическую часть (= «Жалезки».
                                              0
                                              Сервер для статьи — это личная помойка Dell PowerEdge 860, который был просто бесхозный на фирме и я забрал в личное пользование. А вообще в проектах с суперсидами использовалось очень разное железо. Из личных компов настроена работа с mac mini mc816, смартфоном JIAYU G3, планшетом nook HD+, Apple TV первого поколения, отдельный ПК с Windows. Может что конкретное из железок интересует?
                                                0
                                                Ничего конкретного, просто люблю смотреть у кого как что выглядит. У многих очень интересные визуальные решения бывают :3
                                      0
                                      Очень круто, но не хватает синхры с каким нить webdav для подцепки свежих торрентов, а так же какого нибудь адового скрипта который следит за новыми сериями на сериало-трекирах.
                                      И пара вопросов:
                                      А у вас это все как то сортируется, или лежит в одной папке?
                                      Переименование файлов как то происходит (пример kino.avi в кино.avi)?
                                      Есть ли какая то система удаления ненужных раздач? (ну допустим скачали, и более никому раздовать этот файл не планируете)
                                        0
                                        Очень круто, но не хватает синхры с каким нить webdav для подцепки свежих торрентов, а так же какого нибудь адового скрипта который следит за новыми сериями на сериало-трекирах.

                                        Про webdav не скажу, так как свой сервер на коло с белым адресом мне просто удобней, на остальные вопросы отвечу.
                                        Следить за новыми сериями: вариант плагина и второго плагина или даже отдельного движка.
                                        А у вас это все как то сортируется, или лежит в одной папке?

                                        У меня сортируется больше по треккерам, например lostfilm и novafilm автоматически кладутся в сериалы, есть и по имени, например все что с \.iso$ кладется в папку образы. Какие-то разовые закачки сортируются на этапе загрузки, у меня работает плагин который в зависимости от папки, куда положил торрент, скачает его в нужную папку, например у меня есть /autoload/Novinki если туда положить .torrent то закачка автоматически поместится в /download/Novinki и ей присвоится метка Novinki. Сама качалка позволяет через веб морду сортировать уже скачанные раздачи, плагин.
                                        Переименование файлов как то происходит (пример kino.avi в кино.avi)?

                                        Переименования файлов не делаю, кодировка UTF8 позволяет иметь имена на многих языках.
                                        Есть ли какая то система удаления ненужных раздач? (ну допустим скачали, и более никому раздовать этот файл не планируете)

                                        Да конечно есть, может отталкиваться например от ratio или времени, как вебморда так и любой из Gui позволяют удалить раздающийся фаил вместе с данными. Возможностей очень много, если есть запросы — говорите, дам ссылку на конкретные плагины.
                                          0
                                          У меня WD My Book, возможностей несколько меньше, но мне пока хватает. Довольствуюсь transsmission + скрипты для всех остальных задач. Спасибо за ответы, как надумаю сменить архитектуру просто перечитаю вашу статью)
                                        0
                                        А в свете последних новостей — где vpn?
                                          0
                                          Дешевле сервак держать в стране, которой пофиг, чем иметь поганый канал через анонимайзеры или vpn. Тем более использование торрентов само по себе не нарушает (пока что) ни один закон, может я образы Linux раздаю или другой открытый контент. Уж если очень надо статей по настройке VPN на Linux тут было полно даже за последний месяц.
                                            0
                                            Тогда поскажите такую страну! Тут многих эта информация заинтересует!
                                              0
                                              У меня сервер в Нидерландах, пока ничего удалять не просили.
                                          0
                                          Как раз на прошлой неделе экспериментировал с сидбоксом на слабеньком впсе.
                                          Сначала поставил rtorrent + rutorrent. Ставил много часов (не хватало памяти на компиляцию + не давало сделать своп на ovz), поставил, но памяти было всего 128 мегабайт и ее постоянно не хватало для работы связки.

                                          Снес, поставил transmission. Ставится одной командой за 30 секунд, памяти ест не более 10 мегабайт, в общем очень им доволен.

                                          learnedstuffs.wordpress.com/2012/12/29/installing-transmission-web-client-on-ubuntu-server-12-10/
                                            0
                                            Пока активных раздач не много — вариант хороший, при более 600 активных раздач\закачек у меня трансмиссия умирала наглухо, периодически теряла раздачи, раздача вроде в ней висит, а если пытаться скачать — не отдает и т.п. А то что 128 метров не хватало — это Вы какие то ужасы рассказываете, что было в качестве web сервака, не апач случайно? А собирать зачем на слабой ВПСке то, собрать пакет можно и в другом месте, потом просто перенести и поставить в 2 команды.
                                              0
                                              Апач, но память ел не он, а rtorrent.
                                              На трансмиссии тоже апач, но работает как часы, по крайней мере до 50 закачек.

                                              Фтп кстати не ставил, пользуюсь sftp.
                                                0
                                                Может и в rtorrent проблема была, сложно сказать, у меня уже года 4 полет нормальный :) Я ФТП почти не пользуюсь, его transdroid требует, ставил только из-за него, так или smb или afp. На сервере ssh только по ключам, так что использовать sftp с чужой машины несколько проблемно.
                                            +1
                                            А почему бы туда не добавить привязку к дропбоксу? Ставим загрузку всего, что имеется в папке Дропа, на телефон ставим программу. В любом месте качаем торрент файл и кидаем его в ту папку, дома уже все скачано.
                                              0
                                              Ну так эту функцию выполняет мобильный клиент (transdroid) им открываем торрент-фаил, а дома уже все скачано, зачем тут еще шайтанкоробка? Второй момент у сервера белый IP, можно ему в папку торрент хоть через ФТП положить, то-есть синхронизировать ЛЮБУЮ папку на телефоне напрямую с сервером без дропбокса. Хотя у кого белого ИП нету, использование сторонних сервисов типа гуглодрайва, дропбокса, etc может быть вариантом.
                                                0
                                                Я пишу вам из 15 года, есть ли какие-то улучшений/изменения в концепции? не хотите ли собрать Dockerfile для вашего решения?
                                                  0
                                                  Ну разве что отказался от трансдроид, т.к. сменил андроид на ios, а так чуть новее версия программы, пару плагинов добавил, переехал на домашнем сервере с Debian на Ubuntu 14.04 но концепция осталась та-же, связка прекрасно работает, собрать контейнер — в принципе можно, но лично на мой вкус докер не нравится, если и буду собирать, то под OpenVZ и не раньше кардинального абгрейда железа на сервере, пока и так все устраивает.

                                                Only users with full accounts can post comments. Log in, please.