Results 1 to 15 of 3396

Thread: Еще раз про rTorrent и web-морду к нему.

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Ага, прогресс налицо, продолжим далее. Общие замечания -
    1) Стартер для rtorrent у Вас имеет упрощенный вид. По уму, rtorrent нельзя стартовать из под администратора, это довольно серьезная дырка в безопасности. Со стандартным стартером у Вас, очевидно, не получилось из-за того, что там, как раз, и используется запуск из-под пользователя p2p. А его нужно сначала завести, home директорию ему куда-нибудь внутрь /opt настроить, директории ему передать во владение и т.п. Вообщем, довольно много мороки. Пока попробуем так, как есть.
    2) Конфиг у rtorrent у Вас, на мой взгляд, излишне агрессивен. Это же маленький роутер, а не большая машина. В частности, по крайней мере, на период отладки, я бы предложил а) вообще убрать send_buffer_size б) download_rate, upload_rate, min_peers и max_peers уменьшить раза так в два в) дописать строку safe_sync=yes г) если провайдер не вставляет палки в колеса, то три порта rtorrent-у нафиг не нужно. Достаточно одного - port_range = 51777-51777. Именно его и нужно открыть наружу (см предыдущую простыню фрагмент про post-firewall).
    3) Я таки засомневался. Вы на роутере rtorrent заводите, или на большой машине? Если первое, то что это за директории у Вас в кофиге - /torrent2/* ? Это где вообще? Они у Вас действительно существуют? Ж)
    4) Приведенный Вами фрагмент лога говорит, скорее всего, о том, что rtorrent у Вас отвалился. Либо не запустился вообще. Посему, нечего баловаться со screen, в целях отладки запускайте его руками. Так:
    rtorrent -n -o import=/opt/etc/rtorrent.conf
    Если таки стартует, и покажется консоль, то тогда уже и продолжайте тыркаться браузером.
    Выход (с загаской rtorrent) - ^Q

  2. #2
    Quote Originally Posted by Novik View Post
    Ага, прогресс налицо, продолжим далее. Общие замечания -
    3) Я таки засомневался. Вы на роутере rtorrent заводите, или на большой машине? Если первое, то что это за директории у Вас в кофиге - /torrent2/* ? Это где вообще? Они у Вас действительно существуют? Ж)
    Спасибо, что не бросаете тонущего. Все замечания буду исправлять дома вечером. По пункту 3. На роутере, делал аналогично папкам для Трансмиссион
    Code:
    mkdir /tmp/harddisk/torrent
    mkdir /tmp/harddisk/torrent/source
    mkdir /tmp/harddisk/torrent/work
    mkdir /tmp/harddisk/torrent/target
    chmod ugoa+w /tmp/harddisk/torrent
    chmod ugoa+w /tmp/harddisk/torrent/source
    chmod ugoa+w /tmp/harddisk/torrent/target
    chmod ugoa+w /tmp/harddisk/torrent/work
    То есть из винды: Сеть\Рабочая группа\Роутер, заходим и видим папки opt и, созданные мною, torrent (для трансмиссион) и torrent2 (для rtorrent).
    оффтоп: как я так расшарил роутер не знаю, где это делается?

  3. #3
    Quote Originally Posted by kanSki View Post
    То есть из винды: Сеть\Рабочая группа\Роутер, заходим и видим папки opt и, созданные мною, torrent (для трансмиссион) и torrent2 (для rtorrent).
    rtorrent у Вас не на винде работает. На роутере. Ему глубоко все равно, как там у Вас шары на самбе называются. Он их все равно увидеть не сможет, насколько мне известно, нет на роутере smb клиента, только smb сервер. Шары - это для Вас, чтобы Вы туда чего-нибудь клали (torrent файлы) и забирали (то, что скачалось).
    А rtorrent нужны рабочие директории. Причем, их, в отличие от transmission, ему нужны не 4, а 3.
    Короче говоря,
    1) Шару на rtorrent2 убрать.
    2) Сделать директории для rtorrent, так:
    mkdir -p /opt/share/torrent/dl
    mkdir -p /opt/share/torrent/session
    mkdir -p /opt/share/torrent/work
    3) Изменить файл rtorrent.conf так:
    directory = /opt/share/torrent/work/
    schedule = watch_directory,5,5,load_start=/opt/share/torrent/dl/*.torrent
    session = /opt/share/torrent/session
    4) Расшарить для виндов директории /opt/share/torrent/dl (сюда *.torrent файлы бросать будете) и /opt/share/torrent/work (отсель будете забирать результаты).
    Quote Originally Posted by kanSki View Post
    как я так расшарил роутер не знаю, где это делается?
    Ходить про самбу читать. В ветке "настройка с нуля".

  4. #4

    Thumbs up

    Novik,
    УРААААА! Заработало! Спасибо-спасибо!!!!!!!

    Действительно выполнив руками так
    "rtorrent -n -o import=/opt/etc/rtorrent.conf" - рторрент запустился, то есть у меня неправильный стартер для него. И вы еще писали, что под админом не стоит запускать, так понимаю еще не конец настраивания.

    PS. Погуглил, нашел ваше же сообщение:
    И после такой команды "chmod a+x /opt/bin/rtorrent", rtorrent стал запускаться вот так: "/opt/bin/screen -dmS rtorrent rtorrent -o import="/opt/etc/rtorrent.conf" >&1 >/tmp/rtl"
    Last edited by kanSki; 21-05-2008 at 08:37.

  5. #5
    Quote Originally Posted by kanSki View Post
    то есть у меня неправильный стартер для него.
    Скорее всего, у Вас таки были неправильно настроенные директории для него.
    Quote Originally Posted by kanSki View Post
    И вы еще писали, что под админом не стоит запускать, так понимаю еще не конец настраивания.
    0) Если какой-либо из нижеописанных шагов привел к неудаче, или выводу сообщений об ошибках, дальнейшие шаги не предпринимать. Т.к. пишу я "из головы", вполне возможно, что что-нибудь написал неправильно или забыл.
    0+) Если rtorrent еще не стоит, сказать ipkg install rtorrent, создать его рабочие директории, так
    mkdir -p /opt/share/torrent/dl
    mkdir -p /opt/share/torrent/work
    mkdir -p /opt/share/torrent/session
    если уже стоит, то ipkg upgrade rtorrent
    В любом случае советую заменить бинарники rtorrent на соотв. из корневого поста.
    1) Сказать
    ipkg install adduser
    это доставит пакет adduser (если он еще не стоит), который позволяет добавлять в систему пользователей с несколько большим комфортом, нежели чем редактирование passwd руками. Если уже есть - ipkg так и скажет.
    2) mkdir -p /opt/home/p2p
    сделать домашний каталог пользователю p2p
    3) adduser --home /opt/home/p2p p2p
    добавить пользователя p2p. Спросит пароль - вводите на Ваше усмотрение, он Вам в дальнейшем не понадобится.
    4) chown p2p /opt/home/p2p
    chown p2p /opt/share/torrent/dl
    chown p2p /opt/share/torrent/work
    chown p2p /opt/share/torrent/session
    chmod a+r /opt/etc/rtorrent.conf
    chmod a+x /opt/bin/rtorrent
    передать во владение пользователю p2p его home каталог и рабочие директории rtorrent, разрешить всем читать файл конфигурации rtorrent,
    разрешить всем выполнять rtorrent. Последнее необходимо, если Вы таки прислушались к совету из стартового постинга, и поменяли бинарники rtorrent на мои.
    5) Файл /opt/etc/init.d/S99rtorrent оформляем следующим образом:
    Code:
    #!/bin/sh
    
    user="p2p"
    config="/opt/etc/rtorrent.conf"
    options="-n -o import=/opt/etc/rtorrent.conf"
    base="/opt/share/torrent"
    srnname="rtorrent"
    logfile="/opt/var/log/rtorrentInit.log"
    
    PATH=/opt/bin:/opt/sbin:/usr/bin:/sbin:/bin:/usr/sbin
    DESC="rtorrent"
    NAME=rtorrent
    DAEMON=$NAME
    SCRIPTNAME=/etc/init.d/$NAME
    
    # Do not proceed unless some apps are available.
    test -x /opt/bin/screen || ( echo "screen not found." | tee -a "$logfile" >&2 ; exit 2 )
    test -x /opt/bin/su -o -x /bin/su || ( echo "su not found." | tee -a "$logfile" >&2 ; exit 2 )
    
    checkcnfg() {
    	exists=0
    	for i in `echo "$PATH" | tr ':' '\n'` ; do
    		if [ -f $i/$NAME ] ; then
    			exists=1
    			break
    		fi
    	done
    	if [ $exists -eq 0 ] ; then
    		echo "cannot find rtorrent binary in PATH $PATH" | tee -a "$logfile" >&2
    		exit 3
    	fi
    	if ! [ -r "${config}" ] ; then 
    		echo "cannot find readable config ${config}. check that it is there and permissions are appropriate" | tee -a "$logfile" >&2
    		exit 3 
    	fi 
    	session=`getsession "$config"` 
    	if ! [ -d "${session}" ] ; then
    		echo "cannot find readable session directory ${session} from config ${config}. check permissions" | tee -a "$logfile" >&2
    		exit 3
    	fi
    }
    
    d_start() {
      [ -d "${base}" ] && cd "${base}"
      stty stop undef && stty start undef
      su -c "screen -ls | grep -sq "\.${srnname}[[:space:]]" " ${user} || su -c "screen -dm -S ${srnname} 2>&1 1>/dev/null" ${user} | tee -a "$logfile" >&2
      # this works for the screen command, but starting rtorrent below adopts screen session gid
      # even if it is not the screen session we started (e.g. running under an undesirable gid
      #su -c "screen -ls | grep -sq "\.${srnname}[[:space:]]" " ${user} || su -c "sg \"$group\" -c \"screen -fn -dm -S ${srnname} 2>&1 1>/dev/null\"" ${user} | tee -a "$logfile" >&2
      su -c "screen -S "${srnname}" -X screen rtorrent ${options} 2>&1 1>/dev/null" ${user} | tee -a "$logfile" >&2
    }
    
    d_stop() {
    	session=`getsession "$config"`
    	if ! [ -s ${session}/rtorrent.lock ] ; then
    		return
    	fi
    	pid=`cat ${session}/rtorrent.lock | awk -F: '{print($2)}' | sed "s/[^0-9]//g"`
    	if ps -A | grep -sq ${pid}.*rtorrent ; then # make sure the pid doesn't belong to another process
    		kill -s INT ${pid}
    	fi
    }
    
    getsession() { 
    	session=`awk '/^[[:space:]]*session[[:space:]]*=[[:space:]]*/{print($3)}' "$config"`
    	echo $session
    }
    
    checkcnfg
    
    case "$1" in
      start)
    	echo -n "Starting $DESC: $NAME"
    	d_start
    	echo "."
    	;;
      stop)
    	echo -n "Stopping $DESC: $NAME"
    	d_stop
    	echo "."
    	;;
      restart|force-reload)
    	echo -n "Restarting $DESC: $NAME"
    	d_stop
    	sleep 1
    	d_start
    	echo "."
    	;;
      *)
    	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
    	exit 1
    	;;
    esac
    
    exit 0
    Замечу, что данный скрипт предполагает, что пакеты procps, grep, gawk и screen установлены в системе. Если это не так, не забудьте сказать
    ipkg install procps
    ipkg install grep
    ipkg install screen
    ipkg install gawk
    Так же не забудьте, что переводы каретки должны быть в дОлжном виде.
    6) В файл /tmp/local/root/.profile добавляем строчки для нормальной работы в консоли rtorrent. Полностью файл у меня выглядит так:
    Code:
    export TERMINFO="/opt/share/terminfo"
    export TERM="xterm"
    alias rt='su -c "screen -r" p2p'
    chmod a+rw `tty`
    stty start undef
    stty stop undef
    После изменения не забыть сказать flashfs save && flashfs commit && flashfs enable - данный файл во флеш памяти находится, без данных команд все изменения исчезнут после перезагрузки. Собственно, это должно быть "на автомате" - если меняете что-либо не на /opt - не забыть сохраниться.
    7) Копируем данный файл пользователю p2p
    cp /tmp/local/root/.profile /opt/home/p2p/.profile
    chown p2p /opt/home/p2p/.profile
    8) Проверяем результаты. Для начала убедимся, что пользователь завелся, и rtorrent под ним работает. Так:
    su p2p
    /opt/bin/rtorrent -n -o import=/opt/etc/rtorrent.conf
    Если консоль показалась - ^Q.
    завершить telnet сессию (или ssh, если его используете). Сие необходимо, чтобы написанное в файле .profile вступило в действие.
    9) Залогиниться снова. На всякий случай - mc не запускать!
    Последовательно сказать
    /opt/etc/init.d/S99rtorrent start
    rt
    Если консоль показалась - сказать ^A ^D.
    Все, Вы отсоединились от консоли, но rtorrent продолжает работать.
    10) Убедиться, что в файле /usr/tmp/local/.files есть следующие строчки:
    Code:
    /etc/passwd
    /etc/group
    При необходимости отредактировать и сказать flashfs save && flashfs commit && flashfs enable. Если этого не сделать (или, например, если в /usr/tmp/local/.files будут отсутствовать строчки /etc/passwd и /etc/group) то только что заведенный пользователь при перезагрузке исчезнет.
    11) Теперь можно перегрузить роутер и убедиться, что все заводится и автоматом тоже.

    UPD. На всякий случай добавил вложения с конфигурационными файлами. Обращаю, однако, внимание, что настройки в rtorrent.conf нужно подбирать индивидуально, они зависят от ширины Вашего канала, нагрузки, используемых трекеров и т.п.
    Attached Files Attached Files
    Last edited by Novik; 22-06-2008 at 16:51. Reason: Дополнил

  6. #6
    Версия 0.9 - исправил некорректные "выбросы" на графиках скорости при выдаче команд старт/стоп и т.п.

  7. #7
    Novik,
    Действовал по инструкции.
    1. "6) В файл /tmp/local/root/.profile" - такого файла не оказалось, создал.
    2. После ребута rtorrent не запустился.
    3. При попытке руками:
    Code:
    [admin@wl500g root]$ /opt/etc/init.d/S99rtorrent start
    Starting rtorrent: rtorrentsu: unknown id: p2p
    su: unknown id: p2p
    su: unknown id: p2p
    .
    [admin@wl500g root]$ adduser --home /opt/home/p2p p2p
    adduser: /opt/home/p2p: File exists
    Changing password for p2p
    Enter the new password (minimum of 5, maximum of 8 characters)
    Please use a combination of upper and lower case letters and numbers.
    Enter new password:
    Re-enter new password:
    Password changed.
    [admin@wl500g root]$ /opt/etc/init.d/S99rtorrent start
    Starting rtorrent: rtorrent.
    [admin@wl500g root]$ rt
    [detached]
    [admin@wl500g root]$
    а) S99rtorrent не стартанул, ругнувшись на unknown id: p2p
    б) пробую пересоздать юзера, тот существует
    в) повторяю пунк а) - работает
    г) rt работает

  8. #8
    Quote Originally Posted by Novik View Post
    0) Если какой-либо из нижеописанных шагов привел к неудаче, или выводу сообщений об ошибках, дальнейшие шаги не предпринимать.
    ...

    6) В файл /tmp/local/root/.profile добавляем строчки для нормальной работы в консоли rtorrent.
    А на моем WL700gE_kc_1078_02.nas такого файла нет. Его нужно создать самому?

  9. #9
    Скажите почему rtorrent не запускается автоматом? Только когда зайдешь под администратором и скажешь
    Code:
    /opt/etc/init.d/S99rtorrent start
    rt
    Где можно посмотреть что не так? Или нужно это прописывать в pos-mount чтобы автозапуск был?

  10. #10
    Quote Originally Posted by revenant View Post
    Где можно посмотреть что не так? Или нужно это прописывать в pos-mount чтобы автозапуск был?
    Нужно пойти и внимательно прочитать первый постинг, уделив внимание пункту "настройка post- и pre- файлов".
    Какие параметры rTorrent необходимо настраивать?
    Нигде не настроить. Отдача и закачка с роутера будет заведомо идти медленнее, чем с компьютера. В силу бОльшей ограниченности ресурсов. Прелесть торрентоводства на роутере не в том, что будет качаться быстро. А в том, что качаться/отдаваться будет 24/7. Если для Вас критично время закачки - rTorrent на роутере Вам не нужен, пользуйте uTorrent с обычной машины.
    Last edited by Novik; 15-12-2008 at 11:08.

  11. #11

    торрент на паузе -(

    Поставил rtorrent, добавил торрент, он висит на паузе. Не знаю почему не качается, помогите плиз?

    Через пару часов, он вообще пропал, а логе ruTorrent написано:

    [05:24:42] WebUI started.
    [05:24:46] Bad response: (500) <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>500 - Internal Server Error</title> </head> <body> <h1>500 - Internal Server Error</h1> </body> </html>

    Помогите плиз разобраться, в чём ошибка?
    Last edited by starpiv; 14-03-2009 at 02:30.

  12. #12

    Высокий процент загрузки процессора роу&

    Привет. Если не ошибаюсь в одной из инструкции по установке написано, что после завершения кеширования процент загрузки процессора роутера rTorrent'ом составляет меньше 15%. В течении нескольких дней всё было в норме, а теперь: загрузка процессора только rTorrent'ом 48-50% (торренты в не хешируются) и торрренты практически не качаются. Может кто-то сталкивался с подобным?
    Last edited by wyatt; 14-03-2009 at 04:09.
    WL-500gP V2 (1.9.2.7-10 by Oleg) + USB HDD Seagate 160

  13. #13
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    Quote Originally Posted by starpiv View Post
    Поставил rtorrent, добавил торрент, он висит на паузе. Не знаю почему не качается, помогите плиз?

    Через пару часов, он вообще пропал, а логе ruTorrent написано:

    [05:24:42] WebUI started.
    [05:24:46] Bad response: (500) <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>500 - Internal Server Error</title> </head> <body> <h1>500 - Internal Server Error</h1> </body> </html>

    Помогите плиз разобраться, в чём ошибка?
    Пары часов при запущенной веб морде оказалось достаточнно, чтобы рторрент упал.

Similar Threads

  1. [How to] rtorrent & ntorrent
    By mancub in forum WL-500gP Tutorials
    Replies: 101
    Last Post: 18-12-2008, 07:21
  2. older rtorrent version
    By FastJack in forum WL-500gP Q&A
    Replies: 1
    Last Post: 23-10-2007, 09:40

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •