Интересует именно можно ли менять параметры закачиваемых файлов в зависимости от времени, а не открытие или закрытие службы rtorrent.
Printable View
Тады Вам сюда - http://libtorrent.rakshasa.no/rtorrent/rtorrent.1.html - изучать возможности встроенного шедулера.
От себя могу несколько примеров привести:
Через 5 секунд после старта программы (первая цифра) каждые 5 секунд (вторая цифра) смотреть в директорию /opt/share/torrent/dl/ на предмет новых файлов *.torrent, и если таковые есть - стартовать их. Если закачка уже запущена, то повторная попытка ее запустить ни к чему плохому не приведет.Code:schedule = watch_directory,5,5,load_start=/opt/share/torrent/dl/*.torrent
На практике это означает, что для старта закачки достаточно положить torrent файл в соотв. директорию.
Через 5 секунд после старта программы (первая цифра) каждые 5 секунд (вторая цифра) смотреть на предмет отсутствия в tied запущенных ранее файлов *.torrent, и если таковые обнаружены - удалять соотв. закачки.Code:schedule = untied_directory,5,5,stop_untied=
На практике это означает, что для удаления закачки достаточно удалить torrent файл в соотв. директории.
В принципе, вместо секунд может стоять время в формате часы:минуты:секунды. Это бывает нужно для других действий - например, такой фрагмент
означает, что с часу ночи до пяти утра ограничения на исходящий траффик нет. А в остальное время - скорость исходящего траффика не более 80 кб/сек.Code:schedule = throttle_1,01:00:00,24:00:00,upload_rate=0
schedule = throttle_2,05:00:00,24:00:00,upload_rate=80
Факт. Что сможет. :)
Ежели в вашей инструкции по установке rtorrent в рекомендуемую вами же команду chmod a+r /opt/etc/rtorrent.conf добавить всего один ключик. Т.е. дать права всем не только на чтение, но и на запись.
Ну... В этой же инструкции по установке приведено не менее 25 команд, которые для "среднего пользователя" являются китайской грамотой, что однако, не мешает чайникам просто тупо копируя эти команды в консоль успешно устанавливать рторрент. Добавление к этим 25 командам еще одной для создания софт-линка совершенно не повлияет на общую сложность всей процедуры.Quote:
Во вторых, "средний пользователь" напрочь не знает, что такое софт линк и как его создать.
Ну хорошо, если душа сисадмина так протестует против доступа веб-сервера за пределы его каталога, почему бы не сделать наоборот? Если гора не идет к Магомету...Quote:
В третьих - это огромная дыра в безопасности.
Можно ведь конфиг попросту поместить в каталоге веб-сервера! Чуть-чуть меняем S99rtorrent, а именно строку:
options="-n -o import=/opt/etc/rtorrent.conf"
и все! Вопрос решен.
Так может даже и лучше, можно к инструкции приложить некий умолчательный конфиг для помещения в каталог веб-сервера, уже соответственно подчищенный, чтобы его было проще парсить, и полным набором опций.
Это серъезно. Вот только можно ведь не выводить эту настройку в WEB-UI. Из соображений безопасности.Quote:
При желании там под шедулер можно хоть форматирование диска упихать, и Вы про это не узнаете.
Ну уж... Полной защиты от дурака не сделаешь. И потом - разве нельзя сделать обработку ошибки совместного доступа к файлу?Quote:
что будет, если пользователь зайдет в консоль rtorrent и поменяет ряд настроек непосредственно из консоли. Или попытается поменять файл настроек rtorrent в процессе того, как веб-морда будет заниматься тем же самым.
Параметр 0 означает, что нет ограничений, а как задать, что бы он вообще не качал (а только отдавал) например с 8-ми утра до 2-х часов ночи следующего дня.
schedule = throttle_1,02:00:00,8:00:00,download_rate=0
schedule = throttle_2,08:00:00,2:00:00,download_rate=-1 ? Какое значение нужно ввести вместо параметра -1?
И куда вот эти строки вообще добавляются?
Вы почему то полагаете, что веб морда только на роутере должна работать. Это, вообщем, не так.
Да-да, кстати, о S99rtorrent. Часть параметров может передаваться не посредством конфигурационного файла, а напрямую через командную строку. У меня, например, так сертификат для novafilm.tv подставляется. И что делать будем? Предлагаете веб-морде анализировать еще и S99rtorrent?
А не получится. Веб-морда априори не может знать обо всех настройках, используемых rtorrent. Во первых, потому, что я замаюсь их выцеплять по исходному коду, а во вторых - они добавляются постоянно. Т.е. веб-морда заведомо не сможет корректно обработать ряд настроек, ей придется доверять пользователю и кидать их в файл "как есть". Либо она их утеряет, что неприемлимо. Все, здравствуй кул-хацкер.Quote:
Это серъезно. Вот только можно ведь не выводить эту настройку в WEB-UI. Из соображений безопасности.
Резюмируя.
Жестко зафиксировав процесс установки софта (т.е. веб-морды и rtorrent) для данной конкретной конфигурации (т.е. роутера) что-то такое, наверное, изобразить можно. Это приведет к
1) потере универсальности
2) усложнению процесса установки (как видно из этой ветки, пользователи зачастую выполняют процедуру установки не так, как написано, а так, как им хочется)
3) вероятным проблемам с безопасностью.
Ну и кучу труда придется положить. На мой взгляд, овчинка не стоит выделки. Впрочем, если Вы чувствуете себя в силах, то вполне можете попробовать реализовать сию процедуру самостоятельно. Код открыт, изменениям вполне поддается. Я лично не возьмусь, извините.
А не знаю, экспериментируйте. Если не поможет -1, задайте просто единицу. Вряд ли он там много накачает с такой скоростью. Еще можно попробовать min_peers в 0 выставить, тогда качать не будет (по крайней мере, я так думаю). Только нужно не забыть min_peers_seed поставить во что-нибудь больше 0, иначе и отдавать тоже не будет.
В rtorrent.conf. Там подобные строки, собственно, уже есть.
Да, и это не правильно. Первая цифирь - когда стартовать команду, вторая - как часто ее выполнять. Т.е. у Вас начиная с двух ночи каждые 8 часов ограничения на отдачу убираются, а с 8 утра каждые два часа - устанавливаются. Вряд ли это то, к чему Вы стремились.
Right off the bat I will say I apologize since I do not speak russian. I ran this thread through a web translator and this is the first I've stumbled upon this.
Let me say that I am very impressed with it. It was zero configuration without any issues at all. It bypasses the digest authentication that I placed on the /RPC2 folder. I assume it does this by connecting via socket. The combination of rtorrent + your rtorrent webui makes it a complete package. Thank you very much!
P.S. - I'll probably be placing some sort of basic authentication on it otherwise it is in the open right now. I'll do this via lighttpd though like I had done with transmission when I was using that.
EDIT: Is adding torrents via the webui not working? It won't do it via directory, url, or by uploading a local file. Any assistance is appreciated. I can upload directly to the folder defined to be scanned for torrent files however I would prefer to do it via the ui if possible. Everything else seems to work fine.
Dear shinji257, the uploading .torrent files by WebUI working fine! Just select file from Browse window, press Upload button and your download wil be started. Also you can paste URL of your .torrent file from any web-page. Of course, you can't download .torrent from any webpage, that have a password protection (WebUI can't access selected .torrent file in this case).
Вообще-то - нет. Это сделало S99rtorrent нерабочим, поскольку переменная "options" перестала существовать, а ссылка на нее в скрипте имеется. Соответственно S99rtorrent должен вываливаться с соответствующей ошибкой.
Я одного не понимаю - а чем вообще эта опция не понравилась? Откуда рторрент конфиг брать будет?
Кстати, может быть, что и сработает. Если пользовать формат URL вида
Но не проверял.
Что до оригинального вопроса насчет недобавления файла торрента, то нужно логи lighttpd смотреть, наверное. К сожалению, по англицки я больше читатель, чем писатель.
Я это сообщение для кого писал? ;)
Запускать указанную строчку в консоли и смотреть на то, что выдаст.
Ok. I have tried it again and I even disabled eaccelerator thinking it might be causing an issue and I still cannot upload torrent files directly to the router via the webui. Anything you need to figure out why it isn't working? I am using version 1.1 of the rTorrent WebUI. Let me know if you need any information from my router.
Asus WL-500gP. Прошивка Олега (последняя).
Устанавливаю rtorrent (и все сопутствующие программы и библиотеки, перечисленные в этой ветке).
Конфигурирую как написано в этой ветке.
Запускаю. Закачка идет. Раздача нет.
(Lighttpd запущен. RPC2 пустая страница)
Стираю все к черту (делаю ресет).
Повторяю операцию. Ситуация повторяется.
При запуске вот так: rtorrent options="-n -o import=/opt/etc/rtorrent.conf"
Выдает:
Could not read resource file: ~/.rtorrent.rc
Could not open file: "options=-n -o import=/opt/etc/rtorrent.conf"
При этом .rtorrent.rc находится в /opt/home/p2p
rtorrent.conf в /opt/etc/
В чем моежт быть проблема?
ЗЫ
Прикладываю на всякий случай конф. файлы
Так работает. Я добавил три строки в rtorrent.conf:
schedule = throttle_1,02:00:00,24:00:00,download_rate = 0
schedule = throttle_2,08:00:00,24:00:00,min_peers = 0
schedule = throttle_3,08:00:00,24:00:00,min_peers_seed = 100
В ответ получаю
rtorrent: Failed to parse command line option: Error in option file: /opt/etc/rtorrent.conf:32: Junk at end of input.
32-я строка как раз schedule = throttle_1,02:00:00,24:00:00,download_rate = 0
Файл редактировался из под windows?
НужноQuote:
При запуске вот так: rtorrent options="-n -o import=/opt/etc/rtorrent.conf"
rtorrent -n -o import=/opt/etc/rtorrent.conf
А вообще проблема, похоже, с неоткрытием порта.
1) May be, torrent wich you try to add already present in download list?Quote:
Let me know if you need any information from my router.
2) Please, list tail of lighttpd log file. (/share/opt/var/log/lighttpd/error.log in my config)
Actually I figured it out. For some reason the Web UI could not add torrents when the XML-RPC interface was working as a socket but it could do it fine if it was running on a port. It takes a minute but I blame it on the periodic scan that happens to locate new torrents.
Oh and here is the tail of my error.log file. Nothing of interest here really.
Alot of those are from earlier when I was troubleshooting a different issue. Also the torrent is a new one. It wasn't already listed.Quote:
2008-06-26 13:53:27: (mod_scgi.c.1330) connect failed: 8 No such file or directory 2 0 /tmp/rpc.socket
2008-06-26 13:53:27: (mod_scgi.c.2356) fcgi-server disabled: 0 /tmp/rpc.socket
2008-06-26 13:53:27: (mod_scgi.c.2825) no fcgi-handler found for: /RPC2
2008-06-26 13:53:28: (mod_scgi.c.2050) fcgi-server re-enabled: 0 /tmp/rpc.socket
2008-06-26 13:53:32: (server.c.1476) server stopped by UID = 0 PID = 561
2008-06-26 13:54:34: (log.c.75) server started
2008-06-26 14:22:49: (server.c.1476) server stopped by UID = 0 PID = 339
2008-06-26 14:22:50: (log.c.75) server started
2008-06-26 14:30:47: (server.c.1476) server stopped by UID = 0 PID = 424
2008-06-26 14:32:07: (log.c.75) server started
I understand. It really dosn't working, if you configure web->rtorrent link through unix domain socket. You need to edit file addtorrent.php,
change line
toCode:$socket = fsockopen("127.0.0.1", $scgi_port, $errno, $errstr);
where /tmp/rpc.socket - path to rtorrent unix domain socket (you specify it in rtorrent.conf, scgi_local variable)Code:$socket = fsockopen("unix:///tmp/rpc.socket", 0, $errno, $errstr);
I try to correct this error in future version.
Thanks Novik! That fixed the issue. Maybe create the ability to set the socket type and have options to define host/port if that way or socket location. Looks like everything else works fine even if you don't change that line so an option in the user interface could work.
Of course, i will use more correct way. Something like this:
File config.php:
File addtorrent.php:Code:<?php
// configuration parameters
$uploads = './torrents';
$uploads_mode = 0777;
$settings = './settings';
$scgi_port = 5000;
$scgi_host = "127.0.0.1";
// For web->rtorrent link through unix domain socket
// (scgi_local in rtorrent conf file), change variables
// above to something like this:
//
// $scgi_port = 0;
// $scgi_host = "unix:///tmp/rpc.socket";
?>
Code:...
$socket = fsockopen($scgi_host, $scgi_port, $errno, $errstr);
...
Выложил очередную версию, по большому счету, никаких критичных фиксов она не содержит.
1) Исправлена ошибка в результате которой 3й firefox иногда мог криво отображать список закачек.
2) Добавлена поддержка scgi_local (если не знаете, что это такое, то оно вам и не нужно)
3) Добавлена поддержка датского и литовского языков (несомненно очень нужное нововведение ;))
----
В порядке осваивания php наваял хм... даже не знаю как сказать. Вообщем, такую штуку, которая позволяет rTorrent-у прикинуться uTorrent-ом. Эмулятор Web API uTorrent, вообщем.
На данном этапе это, скорее, баловство. Можно ли что-либо из этого извлечь полезное - бог весть.
Брать тут - http://vif2ne.ru/nvk/stuff/novik/rtorrent/gui.tar.gz [200K]
Установка - развернуть в корень веб-сервера.
Настройка совпадает с описанной в корневом посте, т.е. если веб-морда уже стоит, то делать ничего не нужно.
А теперь что с этого можно поиметь.
1) http://my.router:web_port/gui
Увидете "родной" WebUI uTorrent.
Плюсы по сравнению с уже сделанной веб-мордой - меньше траффика жрет. Минусы - менее функционален, сильнее грузит процессор роутера. В целом, на мой взгляд, довольно бесполезная вещь.
2) http://my.router:web_port/gui/flash.html
flash-версия того же самого.
3) Куча клиентских приложений под это дело описана тут - http://forum.utorrent.com/viewtopic.php?id=33186
Всякие мобильные клиентские части (для телефонов и КПК), разнообразные гаджеты и т.п.
По большей части проверить я их не могу, т.к. у меня нет ни висты, ни КПК.
Обращаю внимание - часть приложений, скорее всего, не будет работать по https. Часть - не будет казать нормальные русские буквы, т.к. написано буржуями, которым UTF-8 до балды.
Вообщем, желающие могут полазить и посмотреть, нельзя ли из этой кучи мусора вытащить что-либо полезное. Ну и поделиться с общественностью результатами.
Dark Themed WEBUI и FlashUI смотреть не надо - первое эмулятором не поддерживается, второе см. пункт 2).
vectorm скажи какие параметры нужно выставить, чтобы rtorrent за раз качал только один торрент файл?
Вопрос, может кто знает.
как из скрипта корректно остановить закачки рторрент или уменьшить до минимума.