Сервер загрузки, http, ftp, торрент...
#214
Работает на DS209+, остальное на свой страх и риск

Что такое rutorrent?

Это аналог любимого многими uTorrent, только сделан на базе rtorrent и оболочки rutorrent. Все видно из скринов:

rutorrent01.png


rutorrent04.png


Настройки аналогичны uTorrent

rutorrent02.png



Самой важной на мой взгляд функцией является возможность выбирать папку, куда будут скачиваться файлы!!!

rutorrent03.png
rutorrent03.png (5.72 КБ) 9339 просмотров



Установка проста:
За основу взята статья autoinstall ipkg+lighttpd+rtorrent+xmlrpc-c+rutorrent

  1. отключите Download Station
    rutorrent05.png

  2. создайте файл install.sh со следующим содержимом:

    [syntax="bash"]
    #!/bin/sh

    LIGHTTPDCONF=/opt/etc/lighttpd/lighttpd.conf
    RTORRENTCONF=/opt/etc/rtorrent.conf

    mkdir -p /volume1/@tmp
    cd /volume1/@tmp/

    # IPKG
    echo -e "\033[1mInstalling IPKG\033[0m"
    #Устанавливаем IPKG для своего процессора...
    #wget http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/syno-e500-bootstrap_1.2-7_powerpc.xsh
    #syno-e500-bootstrap_1.2-7_powerpc.xsh & sleep 20
    ipkg update

    # Lighttpd
    echo -e "\033[1mInstalling Lighttpd\033[0m"
    ipkg install lighttpd php-fcgi
    echo 'server.event-handler = "poll"' >> ${LIGHTTPDCONF}
    echo 'server.modules += ("mod_auth","mod_cgi","mod_scgi")' >> ${LIGHTTPDCONF}
    echo '
    scgi.server = ("/RPC2" =>
    ("127.0.0.1" =>
    ("host" => "127.0.0.1",
    "port" => 5050,
    "check-local" => "disable")
    )
    )
    ' >> ${LIGHTTPDCONF}

    # rtorrent
    echo -e "\033[1mInstalling RTorrent\033[0m"
    ipkg install rtorrent screen
    ipkg remove xmlrpc-c
    mkdir -p /opt/share/torrent/session/
    echo 'scgi_port = 127.0.0.1:5050' >> ${RTORRENTCONF}
    echo '#!/bin/sh

    NAME=rtorrent
    CONFIG=/opt/etc/rtorrent.conf
    LOGFILE=/opt/var/log/rtorrentInit.log
    TORRENTFILE=/opt/bin/rtorrent
    OPTIONS="-n -o import=$CONFIG"

    getsession() {
    session=`sed -n "/session\s*=/s/^\s*session\s*=\s*//p" $CONFIG`
    echo $session
    }

    case "$1" in
    start)
    screen -list|grep -sq $NAME && exit 0
    session=`getsession`
    [ -e $session/rtorrent.lock ] && rm -rf $session/rtorrent.lock
    /opt/bin/screen -dmS $NAME $TORRENTFILE $OPTIONS 2>$LOGFILE
    ;;
    stop)
    session=`getsession`
    ! [ -e $session/rtorrent.lock ] && exit 0
    pid=`sed "s/[^0-9]//g" $session/rtorrent.lock`
    ps|grep -v grep|grep -sq $pid.*rtorrent && kill $pid
    ;;
    restart)
    $0 stop
    sleep 2
    $0 start
    ;;
    status)
    screen -list|grep -s $NAME
    ;;
    *)
    echo $"Usage: \$0 {start|stop|status|restart}"
    exit 1
    esac
    exit 0
    ' > /opt/etc/init.d/S99rtorrent

    # xmlrpc-c
    echo -e "\033[1mInstalling xmlrpc-c\033[0m"
    ipkg install gcc binutils optware-devel libcurl-dev
    svn co http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable xmlrpc-c
    cd xmlrpc-c
    ./configure --prefix=/opt
    make ARCH=arm
    make install

    # ruTorrent 3.0
    echo -e "\033[1mInstalling ruTorrent\033[0m"
    cd /opt/share/www
    svn co http://rutorrent.googlecode.com/svn/trunk/rutorrent/
    cd rutorrent
    rm -r plugins
    svn co http://rutorrent.googlecode.com/svn/trunk/plugins/
    cd plugins
    rm -r darkpal rpc
    cd ..
    sed -i 's/scgi_port\s*=\s*5000/scgi_port = 5050/' conf/config.php

    echo -e "\033[1mAutoinstall complete\033[0m"
    reboot
    [/syntax]

    или скачайте отсюда:
    (1.21 КБ) 440 скачиваний



    Файл загрузите на сервер и запустите его:
    Код: Выделить всёsh install.sh

  3. После установки сервер перегрузится...
  4. Теперь просто зайдите по ссылке: http://DiskStation:8081/rutorrent

Внимание!
Я закомментировал установку IPKG, если у вас не стоит IPKG просто расскомментируйте строки
Код: Выделить всё#Устанавливаем IPKG для своего процессора...
#wget http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/syno-e500-bootstrap_1.2-7_powerpc.xsh
#syno-e500-bootstrap_1.2-7_powerpc.xsh & sleep 20


Вроде все =)

PS прикручиваем пароль на доступ к странице (простой способ)

так же вы можете использовать удобный гаджет RuTrntUpt от Scratch
Последний раз редактировалось Axl 31 окт 2010, 21:05, всего редактировалось 9 раз. Причина: добавил пароль на доступ
#219
После перезагрузки и входа по http://diskstation:8081/rutorrent/ пишет в логе: Нет связи с rTorrent. Проверьте, запущен ли он. Проверьте, что параметры $scgi_port и $scgi_host в файле config.php совпадают со значением переменной scgi_port в файле конфигурации rTorrent. Может надо обратно включить Download Station?
#221
Lesort писал(а):После перезагрузки и входа по http://diskstation:8081/rutorrent/ пишет в логе: Нет связи с rTorrent. Проверьте, запущен ли он. Проверьте, что параметры $scgi_port и $scgi_host в файле config.php совпадают со значением переменной scgi_port в файле конфигурации rTorrent. Может надо обратно включить Download Station?


запустите свежеустановленный rtorrent:
/opt/etc/init.d/S99rtorrent start
#223
Все равно пишет, что нет связи. :(
Код: Выделить всёDiskStation> ./S99rtorrent
$Usage: $0 {start|stop|status|restart}
DiskStation> ./S99rtorrent start
DiskStation> ./S99rtorrent status
DiskStation> ./S99rtorrent stop
DiskStation> ./S99rtorrent status
И файл лога (/opt/var/log/rtorrentInit.log) имеет нулевую длину.

Кстати, команда reboot из intall.sh подвешивает Diskstation. То есть доступ (ssh и web) теряется, а перезагрузка не происходит. Лампочка статуса горит зеленым, лампочка сети помигивает, а лампочка диска не горит вообще. Явно он чего-то ждет. Где можно посмотреть кто мешает перезагрузке?

И у меня есть несколько вопросов по самомe rtorrent:

1. Нужно ли при этом включать Download Station?
2. Могут ли оба rtorrent (встроенный и установленный) работать одновременно?
3. Можно ли заменить/добавить ссылку на страничку управления ruTorrent на рабочий стол Diskstation?
Последний раз редактировалось Lesort 07 июн 2010, 14:41, всего редактировалось 7 раз.
#227
Я раньше пытался руками установить rtorrent, но в силу малых знанийи у меня не получилось его запустить, повлияет ли это на автоматическую установку?
Если да, то как лучше почистить NAS до установки?
#228
1. я ставил особо не заморачиваясь... при первом запуске выскочила ошибка как у вас, я отключил Download Station и запустил руками rTorrent Все заработало.
2. одновременно работать не будут, либо один, либо другой...
3. ссылку добавить можно будет только при условии, если сервис добавлен как пакет.

я постараюсь сделать ruTorrent в виде пакета, придется заморочиться с совместимостью для разных процов разные пакеты ставить... Видимо потребуется и ваша помощь в тестировании =)

на всякий случай выкладываю оригинальный скрипт инсталляции
!!!Ставится на чистую машину без IPKG!!!

[syntax="bash"]
#!/bin/sh

LIGHTTPDCONF=/opt/etc/lighttpd/lighttpd.conf
RTORRENTCONF=/opt/etc/rtorrent.conf

mkdir -p /volume1/@tmp
cd /volume1/@tmp/

# IPKG
echo -e "\033[1mInstalling IPKG\033[0m"
wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/syno-mvkw-bootstrap_1.2-7_arm.xsh
sh syno-mvkw-bootstrap_1.2-7_arm.xsh &
sleep 20
ipkg update

# Lighttpd
echo -e "\033[1mInstalling Lighttpd\033[0m"
ipkg install lighttpd php-fcgi
echo 'server.event-handler = "poll"' >> ${LIGHTTPDCONF}
echo 'server.modules += ("mod_auth","mod_cgi","mod_scgi")' >> ${LIGHTTPDCONF}
echo '
scgi.server = ("/RPC2" =>
("127.0.0.1" =>
("host" => "127.0.0.1",
"port" => 5050,
"check-local" => "disable")
)
)
' >> ${LIGHTTPDCONF}

# rtorrent
echo -e "\033[1mInstalling RTorrent\033[0m"
ipkg install rtorrent screen
ipkg remove xmlrpc-c
mkdir -p /opt/share/torrent/session/
echo 'scgi_port = 127.0.0.1:5050' >> ${RTORRENTCONF}
echo '#!/bin/sh

NAME=rtorrent
CONFIG=/opt/etc/rtorrent.conf
LOGFILE=/opt/var/log/rtorrentInit.log
TORRENTFILE=/opt/bin/rtorrent
OPTIONS="-n -o import=$CONFIG"

getsession() {
session=`sed -n "/session\s*=/s/^\s*session\s*=\s*//p" $CONFIG`
echo $session
}

case "$1" in
start)
screen -list|grep -sq $NAME && exit 0
session=`getsession`
[ -e $session/rtorrent.lock ] && rm -rf $session/rtorrent.lock
/opt/bin/screen -dmS $NAME $TORRENTFILE $OPTIONS 2>$LOGFILE
;;
stop)
session=`getsession`
! [ -e $session/rtorrent.lock ] && exit 0
pid=`sed "s/[^0-9]//g" $session/rtorrent.lock`
ps|grep -v grep|grep -sq $pid.*rtorrent && kill $pid
;;
restart)
$0 stop
sleep 2
$0 start
;;
status)
screen -list|grep -s $NAME
;;
*)
echo $"Usage: \$0 {start|stop|status|restart}"
exit 1
esac
exit 0
' > /opt/etc/init.d/S99rtorrent

# xmlrpc-c
echo -e "\033[1mInstalling xmlrpc-c\033[0m"
ipkg install gcc binutils optware-devel libcurl-dev
svn co http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable xmlrpc-c
cd xmlrpc-c
./configure --prefix=/opt
make ARCH=arm
make install

# ruTorrent 3.0
echo -e "\033[1mInstalling ruTorrent\033[0m"
cd /opt/share/www
svn co http://rutorrent.googlecode.com/svn/trunk/rutorrent/
cd rutorrent
rm -r plugins
svn co http://rutorrent.googlecode.com/svn/trunk/plugins/
cd plugins
rm -r darkpal rpc
cd ..
sed -i 's/scgi_port\s*=\s*5000/scgi_port = 5050/' conf/config.php

echo -e "\033[1mAutoinstall complete\033[0m"
reboot
[/syntax]

я ставил через этот скрипт, закомментировав установку IPKG. Только потом прочитал, что в прошивке 2.3 уже содержится xmlrpc-c. Может в этом дело?
#229
Alexnf писал(а):Я раньше пытался руками установить rtorrent, но в силу малых знанийи у меня не получилось его запустить, повлияет ли это на автоматическую установку?
Если да, то как лучше почистить NAS до установки?


надо сравнить, если раньше так же ставился через IPKG, думаю новая инсталляция ничего плохого не сделает...

обновить установленные пакеты через IPKG можно командой:
ipkg upgrade

к сожалению как обновить отдельный пакет не написано

если хотите удалить пакет, выполните
ipkg remove имя_пакета


справка по всем ключам IPKG
ipkg ?
#230
Lesort писал(а):2. Могут ли оба rtorrent (встроенный и установленный) работать одновременно?


Блин, могут работать, это я тупанул... сейчас у меня оба работают и все Ok!
#234
Lesort писал(а):make ARCH=arm

Думаю, что в моем случае надо поставить powerpc, чтобы сынсталлировать xmlrpc-c?


да если собирать так под свой процессор... в том то и сложность создания универсального инсталлятора...