Page 1 of 227 1231151101 ... LastLast
Results 1 to 15 of 3396

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

  1. #1

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

    Делалось на основе WebUI к uTorrent, соответственно, на uTorrent внешне и похоже.
    Выглядит так:
    http://vif2ne.ru/nvk/stuff/novik/rtorrent/rtorrent.jpg [100K]

    Проект потихоньку переезжает на http://rutorrent.googlecode.com
    Соответственно, по всем вопросам - туда. Здесь остается только информация, специфичная для роутера.


    Установка и настройка.
    0) На всякий случай привожу ряд ссылок на постинги в данной ветке, которые к установке собственно морды отношения не имеют, но могут быть полезны:
    а. Настройка post- и pre- файлов: http://wl500g.info/showpost.php?p=97392&postcount=165
    б. Установка lighttpd: http://wl500g.info/showpost.php?p=97393&postcount=166
    в. Установка rtorrent: http://wl500g.info/showpost.php?p=97629&postcount=177
    1) Скачать архив ruTorrent и развернуть его содержимое в корень веб-сервера. Желательно проделать эту операцию из под пользователя, под которым работает веб-сервер, чтобы потом не разбираться с правами файлов/директорий.
    2) Если уже стоит к/л веб-морда типа wTorrent, то ничего более делать не надо. В противном случае нужно внести необходимые изменения в настройку веб-сервера и rtorrent. Те же, что и при настройке wTorrent.
    Т.е. добавить в rtorrent.conf (или .rtorrent.rc) строчку
    scgi_port = 127.0.0.1:5000
    Для веб-сервера (ради конкретики - lighttpd) отредактировать
    lighttpd.conf. Раскомментировать (или добавить, если таковой нет) строчку "mod_scgi" в разделе server.modules и оформить раздел scgi.server следующим образом:
    Code:
     
    scgi.server = (                                                            
            "/RPC2" =>                                                         
                    ( "127.0.0.1" =>
                            (                                                    
                                    "host" => "127.0.0.1",
                                    "port" => 5000,
                                    "check-local" => "disable"
                            )                                                    
                    )                                                            
            )
    3) В браузере набирать http://адрес_роутера:порт_веб_сервера/rtorrent

    Аутентификация.
    От используемой морды не зависит и настраивается полностью средствами web сервера.
    По уму нужно прикручивать https, реализация сего действа применительно к lighttpd расписана по шагам тут:
    http://wl500g.info/showpost.php?p=90459&postcount=343
    Замечу - подходить к написаному следует творчески, автор местами пишет /opt/etc/lighttpd.conf вместо /opt/etc/lighttpd/lighttpd.conf и т.п.

    Безотносительно данной конкретной морды.
    1) В rtorrent 0.8.1 (как и во всех предыдущих, впрочем) в блоке xmlrpc допущена ошибка, в результате которой при использовании любого front-end через этот xmlrpc работающего (а это 100% известных мне веб-морд) происходит довольно сильная утечка памяти. Автору я соотв. тикет оформил, в текущей сборке эта ошибка исправлена.
    2) В rtorrent 0.8.2 в блоке xmlrpc не учитывается тот факт, что трекер может сообщать имена файлов, диагностику и т.п. не в UTF-8. Как следствие, работа через front-end с такими файлами чревата либо падением rtorrent либо полной неработоспособностью веб морды. Данная проблема исправлена только в версии 0.8.4 начиная с r1093.

    В связи с этим выкладываю бинарники, соотв. 0.8.4, релизу 1093, в которых все упомянутые проблемы решены.
    http://vif2ne.ru/nvk/stuff/novik/rtorrent/rtorrent.gz [400K] - собственно rtorrent, файл из архива положить в /opt/bin, после чего сказать chmod a+x /opt/bin/rtorrent
    http://vif2ne.ru/nvk/stuff/novik/rto...torrent.tar.gz [300K] - библиотека libtorrent, три файла из архива положить в /opt/lib
    3) Выложенные бинарники корректно работают только с последней (на данный момент) версией libcurl из репозитария. Точнее говоря - версия библиотеки должна быть не менее 7.19.2.

    Про "русскоязычные" торренты.
    Читать тут - http://wl500g.info/showpost.php?p=117198&postcount=1087

    Про настройку работы всей связки через unix domain socket
    Читать тут - http://wl500g.info/showpost.php?p=121795&postcount=1146

    История изменений.
    Версия 2.5 - http://wl500g.info/showpost.php?p=151163&postcount=2347
    Версия 2.4 - http://wl500g.info/showpost.php?p=148587&postcount=2204
    ...
    Версия 0.1 - базовая.

    UPD by Vectorm:
    Достаточно полная инструкция по управлению Rtorrent из консоли есть тут.
    Last edited by vectorm; 05-10-2010 at 07:53. Reason: upgrade

  2. #2

    Thumbs up

    Сам считаю, что ничего легче и проще консольного интерфейса нет, но за проделанную работу большой respect!

  3. #3
    Join Date
    Feb 2007
    Location
    Moscow RF
    Posts
    355

    Thumbs up

    Красота! WTorrent нервно курит в сторонке

  4. #4
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    Отличная работа!

  5. #5
    Join Date
    Jan 2008
    Location
    Украина
    Posts
    107
    Огромное спасибо за работу!
    Расположение элементов и дизайн на уровне!

    з.ы. если возможно, добавь выбор директории куда качать файлы торрента в окно добавления нового задания. Спасибо!
    Last edited by l2net; 10-05-2008 at 22:50.
    Asus WL500GP

  6. #6
    Quote Originally Posted by l2net View Post
    з.ы. если возможно, добавь выбор директории куда качать файлы торрента в окно добавления нового задания.
    1) Если речь про собственно данные закачки, то такой выбор там есть. Я же написал "примерно так выглядит", а не "именно так"
    2) Если про собственно файлы .torrent - то это не нужно. Т.к. принимаются они веб-сервером, а тот заведомо не может (при правильной настройке) ничего класть на диск за пределами своего корня. Поэтому папка под .torrent файлы выбрана статическая - <www_root>/rtorrent/torrents. Настраивается в config.php.
    Аутентичный скриншот тут:
    http://vif2ne.ru/nvk/stuff/novik/rtorrent/rtorrent.jpg [100K]
    Собственно, разнообразных тулбаров/палитр/кнопок под это дело можно почерпнуть отсюда -
    http://forum.utorrent.com/viewforum.php?id=20
    там ребята каких только скинов не понаделали.
    Last edited by Novik; 04-05-2008 at 21:30.

  7. #7
    Join Date
    Jan 2008
    Location
    Украина
    Posts
    107
    мы друг-друга не поняли
    я имею в виду такую ситуацию:
    при загрузки файла музыка.torrent хотелось бы закачать данную папку (допустим "музыка") в папку "Audio" на подмонтированном диске
    а при добавлении на скачивание bond007.torrent закачать его (фильм) в соответствующую папку "Video" на том же подмонтированном диске.

    заранее спасибо!

    upd: пока писал пост, не видел новых скринов. получается эта опция (выбор дирректории загрузки) есть.

    еще раз спасибо за работу!
    Last edited by l2net; 04-05-2008 at 22:05.
    Asus WL500GP

  8. #8
    Убедитьльная просьба сделать пошаговую инструкцию с нуля! я думаю многие будут очень благодарны))))

  9. #9
    Quote Originally Posted by Novik View Post
    Вот, наваял собственную для личного пользования, решил поделиться - может, еще кому понравится. Делалось на основе WebUI к uTorrent, соответственно, на uTorrent внешне и похоже.
    Выглядит так примерно:
    http://torrentfreak.com//images/utorrentwebui.png

    Ради чего затевалось.
    1) В существующих front-end-ах (по крайней мере в тех, что я видел) бОльшая часть обработки вынесена на серверный конец. Грузить процессор роутера лишней работой не очень хорошо. Данная версия реализована на javascript, php же используется только там, где без этого не обойтись (добавление нового торрента, сохранение настроек). Соответственно, по большей части грузится клиентская часть.
    2) Существующие web-морды постоянно опрашивают rtorrent на предмет диагностики трекера по каждой закачке. В случае, если трекер выдает диагностику не в UTF-8, подобные запросы могут привести либо к коллапсу веб-морды, либо к крашу rtorrent. В данной реализации необходимость этого запроса повешена на отдельную галку в настройках (по умолчанию отключено).
    3) В целом, на мой взгляд, интерфейс выглядит красивше.

    Чего не может.
    1) Старт/стоп собственно rtorrent-a.
    2) Разграничение доступа.
    3) Ввиду особенностей реализации морда мыше-ориентирована. Клавиатурных хоткеев пока не предусмотрено.

    Чего требует для работы.
    1) Веб сервер с поддержкой php.
    2) Браузер. Оптимален IE >= 7.0, либо FireFox 2.x. В Opera 9.x работать не очень комфортно из-за проблем с контекстным меню. В Safari "едет" отображение таблиц. С IE < 7.0 не работает и не будет. Прочие браузеры не проверял.

    Установка и настройка.
    1) Скачать архив отсюда - http://vif2ne.ru/nvk/stuff/novik/rto...torrent.tar.gz [100K]
    развернуть в корень директории веб-сервера.
    2) Если уже стоит к/л веб-морда типа wTorrent, то ничего более делать не надо. В противном случае нужно внести необходимые изменения в настройку веб-сервера и rtorrent. Те же, что и при настройке wTorrent.
    Т.е. добавить в rtorrent.conf (или .rtorrent.rc) строчку
    scgi_port = 127.0.0.1:5000
    Для веб-сервера (ради конкретики - lighttpd) отредактировать
    lighttpd.conf. Раскомментировать строчку "mod_scgi" в разделе server.modules и оформить раздел scgi.server следующим образом:
    Code:
     
    scgi.server = (                                                            
            "/RPC2" =>                                                         
                    ( "127.0.0.1" =>
                            (                                                    
                                    "host" => "127.0.0.1",
                                    "port" => 5000,
                                    "check-local" => "disable"
                            )                                                    
                    )                                                            
            )
    3) В браузере набирать http://адрес_роутера:порт_веб_сервера/rtorrent

    Безотносительно данной конкретной морды.
    В релизе rtorrent 0.8.1 (как и во всех предыдущих, впрочем) в блоке xmlrpc допущена ошибка, в результате которой при использовании любого front-end через этот xmlrpc работающего (а это 100% известных мне веб-морд) происходит довольно сильная утечка памяти. Автору я соотв. тикет оформил, в текущей сборке (1057) эта ошибка исправлена. Однако когда это исправление попадет в наш репозитарий - бог весть.
    Соотв. бинарник брать тут -
    http://vif2ne.ru/nvk/stuff/novik/rtorrent/rtorrent.gz [400K]
    Разворачивать только поверх установленной версии 0.8.1.
    Шикарная мордочка!!!!!

    Можно ли все расписать пошагово как вот в этой теме "wl500gp c нуля до torrent (transmission) " Там у меня все получилось! Хотелось бы такое же описание от Вас! Ибо в Линухе полный профан((((Заранее благодарен)))

  10. #10
    Join Date
    Jun 2006
    Location
    Moscow, Russia
    Posts
    108
    Красиво, маладца!!! Хоть я и не пользуюсь ничем кроме консольной морды, но такую красоту все равно поставлю =)))

  11. #11
    Novik, спасибо, классная мордочка
    Вопрос: не работают настройки.
    В логе:
    Code:
    [09:09:30] JS error: [http://localhost:9191/rtorrent/script.js : 1949] auto is not defined
    Куда рыть?

  12. #12
    Quote Originally Posted by Aleksey44 View Post
    Убедитьльная просьба сделать пошаговую инструкцию с нуля!
    Тут их три или четыре, на русском и на английском. Ну и я сильно не уверен, что моей квалификации хватит для написания грамотного руководства по настройке rtorrent (Вам же это нужно, насколько я понимаю?). Т.к. уметь делать и научить делать - две большие разницы, чтобы там не говорил академик Капица. Может быть, потом.
    Quote Originally Posted by bbsc
    Вопрос: не работают настройки.
    1) Версия браузера?
    2) Файлик rtorrent/settings/settings.txt прикрепите, пожалуйста.
    3) Это когда выдается? При попытке нажать кнопку "Настройки", я правильно понимаю? Или в другом месте?

  13. #13
    Novik
    1) Версия браузера?
    Firefox 2.0.0.14
    2) Файлик rtorrent/settings/settings.txt
    Code:
    # This is an example resource file for rTorrent. Copy to
    # ~/.rtorrent.rc and enable/modify the options as needed. Remember to
    # uncomment the options you wish to enable.
    
    
    # scgi_local = /tmp/php-fastcgi.socket
    scgi_port = localhost:5000
    
    # Minumum amount of peers to connect per torrent, if available.
    min_peers = 5
    
    # Minumum amount of peers to connect per torrent.
    max_peers = 10
    
    # Same as above but for seeding completed torrents (-1 = same as downloading)
    min_peers_seed = 5
    max_peers_seed = 10
    
    # Maximum number of simultanious uploads per torrent.
    max_uploads = 5
    
    # Global download rate in KiB. "0" for unlimited.
    download_rate = 28
    
    # Global upload rate in KiB. "0" for unlimited.
    upload_rate = 28
    
    # Default directory to save downloaded files. Note it doesn't support
    # space yet.
    directory = /tmp/mnt/disc0_1/torrents/work/
    
    # Watch a directory for new torrents, and stop those that have been deleted.
    schedule = watch_directory,5,5,load_start=/tmp/mnt/disc0_1/torrents/dl/*.torrent
    schedule = untied_directory,5,5,stop_untied=
    
    # Close torrents when diskspace is low.
    schedule = low_diskspace,5,60,close_low_diskspace=100M
    
    # Default session directory. Make sure you don't run multiple instance
    # of rtorrent using the same session directory. Perhaps using a
    # relative path?
    session = /tmp/mnt/disc0_1/torrents/session
    
    # The ip address reported to the tracker.
    #ip = rakshasa
    
    # The ip address the listening socket and outgoing connections is
    # bound to.
    #bind = rakshasa
    
    # Port range to use for listening.
    port_range = 30004-30005
    
    # Start opening ports at a random position within the port range.
    #port_random = no
    
    # Check hash for finished torrents. Might be usefull until the bug is
    # fixed that causes lack of diskspace not to be properly reported.
    #check_hash = no
    
    # Set whetever the client should try to connect to UDP trackers.
    #use_udp_trackers = yes
    
    # Alternative calls to bind and ip that should handle dynamic ip's.
    #schedule = ip_tick,0,1800,ip=rakshasa
    #schedule = bind_tick,0,1800,bind=rakshasa
    
    #
    # Do not modify the following parameters unless you know what you're doing.
    #
    
    # Hash read-ahead controls how many MB to request the kernel to read
    # ahead. If the value is too low the disk may not be fully utilized,
    # while if too high the kernel might not be able to keep the read
    # pages in memory thus end up trashing.
    #hash_read_ahead = 10
    
    # Interval between attempts to check the hash, in milliseconds.
    #hash_interval = 100
    
    # Number of attempts to check the hash while using the mincore status,
    # before forcing. Overworked systems might need lower values to get a
    # decent hash checking rate.
    #hash_max_tries = 10
    
    # Max number of files to keep open simultaniously.
    #max_open_files = 128
    
    # Number of sockets to simultaneously keep open.
    #max_open_sockets = <no default>
    
    
    # Example of scheduling commands: Switch between two ip's every 5
    # seconds.
    #schedule = "ip_tick1,5,10,ip=torretta"
    #schedule = "ip_tick2,10,10,ip=lampedusa"
    
    # Remove a scheduled event.
    #schedule_remove = "ip_tick1"
    
    # Stop torrents when reaching upload ratio in percent,
    # when also reaching total upload in bytes, or when
    # reaching final upload ratio in percent.
    # example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0
    #schedule = ratio,60,60,"stop_on_ratio=200,200M,2000"
    schedule = ratio,200,5000000000,stop_on_ratio=2000
    
    
    # Encryption options, set to none (default) or any combination of the following:
    # allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
    #
    # The example value allows incoming encrypted connections, starts unencrypted
    # outgoing connections but retries with encryption if they fail, preferring
    # plaintext to RC4 encryption after the encrypted handshake
    #
    encryption = prefer_plaintext
    
    # Enable DHT support for trackerless torrents or when all trackers are down.
    # May be set to "disable" (completely disable DHT), "off" (do not start DHT),
    # "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
    # The default is "off". For DHT to work, a session directory must be defined.
    #
    
    dht = auto
    
    # UDP port to use for DHT.
    #
    
    dht_port = 30006
    
    # Enable peer exchange (for torrents not marked private)
    #
    
    peer_exchange = yes
    
    #
    # Do not modify the following parameters unless you know what you're doing.
    #
    
    max_memory_usage = 83886080
    safe_sync = yes
    3) Это когда выдается? При попытке нажать кнопку "Настройки", я правильно понимаю? Или в другом месте?
    Да, при попытке нажать кнопку "Настройки".

    rtorrent - обновлен бинарник. Кстати, спасибо, с памятью он аккуратнее теперь себя ведет

  14. #14
    Quote Originally Posted by bbsc View Post
    Файлик rtorrent/settings/settings.txt
    1) Err, я не совсем корректно выразился. Не rtorrent.conf.
    Файл настроек морды, он лежит в <www_root>/rtorrent/settings/settings.txt. Лучше аттачем к постингу - там довольно длинная текстовая строка без перевода каретки.
    2) Firefox виндовый?
    3) После прикрепления, попробуйте его (файл <www_root>/rtorrent/settings/settings.txt) удалить и перегрузить морду (F5). Не нормализуется?

  15. #15
    Насчет файлика - это я сплоховал
    Прилагаю.
    Firefox виндовый.
    После удаления файлика и обновления морды ситуация та же - настройки не доступны.
    Attached Files Attached Files

Page 1 of 227 1231151101 ... LastLast

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
  •