Сам считаю, что ничего легче и проще консольного интерфейса нет, но за проделанную работу большой respect!
Делалось на основе 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 следующим образом:
3) В браузере набирать http://адрес_роутера:порт_веб_сервера/rtorrentCode:scgi.server = ( "/RPC2" => ( "127.0.0.1" => ( "host" => "127.0.0.1", "port" => 5000, "check-local" => "disable" ) ) )
Аутентификация.
От используемой морды не зависит и настраивается полностью средствами 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
Сам считаю, что ничего легче и проще консольного интерфейса нет, но за проделанную работу большой respect!
Красота! WTorrent нервно курит в сторонке
Отличная работа!
Было: WL500gP (fw 1.9.2.7-10-USB-1.71) + Toshiba TravelStar 250Gb 2.5" inside router.
(ADOS + rTorrent WebUI+rtorrent + samba + rrdtool + XMail + QuiXplorer + ClamAV)
> Мои инструкции < Для новичков и ленивых > Wiki переехало сюда < "Ночные" сборки >
Огромное спасибо за работу!
Расположение элементов и дизайн на уровне!
з.ы. если возможно, добавь выбор директории куда качать файлы торрента в окно добавления нового задания. Спасибо!
Last edited by l2net; 10-05-2008 at 22:50.
Asus WL500GP
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.
мы друг-друга не поняли
я имею в виду такую ситуацию:
при загрузки файла музыка.torrent хотелось бы закачать данную папку (допустим "музыка") в папку "Audio" на подмонтированном диске
а при добавлении на скачивание bond007.torrent закачать его (фильм) в соответствующую папку "Video" на том же подмонтированном диске.
заранее спасибо!
upd: пока писал пост, не видел новых скринов. получается эта опция (выбор дирректории загрузки) есть.
еще раз спасибо за работу!
Last edited by l2net; 04-05-2008 at 22:05.
Asus WL500GP
Убедитьльная просьба сделать пошаговую инструкцию с нуля! я думаю многие будут очень благодарны))))
Красиво, маладца!!! Хоть я и не пользуюсь ничем кроме консольной морды, но такую красоту все равно поставлю =)))
Novik, спасибо, классная мордочка
Вопрос: не работают настройки.
В логе:
Куда рыть?Code:[09:09:30] JS error: [http://localhost:9191/rtorrent/script.js : 1949] auto is not defined
Тут их три или четыре, на русском и на английском. Ну и я сильно не уверен, что моей квалификации хватит для написания грамотного руководства по настройке rtorrent (Вам же это нужно, насколько я понимаю?). Т.к. уметь делать и научить делать - две большие разницы, чтобы там не говорил академик Капица. Может быть, потом.
1) Версия браузера?Originally Posted by bbsc
2) Файлик rtorrent/settings/settings.txt прикрепите, пожалуйста.
3) Это когда выдается? При попытке нажать кнопку "Настройки", я правильно понимаю? Или в другом месте?
Novik
1) Версия браузера?
Firefox 2.0.0.14
2) Файлик rtorrent/settings/settings.txt
3) Это когда выдается? При попытке нажать кнопку "Настройки", я правильно понимаю? Или в другом месте?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
Да, при попытке нажать кнопку "Настройки".
rtorrent - обновлен бинарник. Кстати, спасибо, с памятью он аккуратнее теперь себя ведет
1) Err, я не совсем корректно выразился. Не rtorrent.conf.
Файл настроек морды, он лежит в <www_root>/rtorrent/settings/settings.txt. Лучше аттачем к постингу - там довольно длинная текстовая строка без перевода каретки.
2) Firefox виндовый?
3) После прикрепления, попробуйте его (файл <www_root>/rtorrent/settings/settings.txt) удалить и перегрузить морду (F5). Не нормализуется?
Насчет файлика - это я сплоховал
Прилагаю.
Firefox виндовый.
После удаления файлика и обновления морды ситуация та же - настройки не доступны.