TorrentMonitor

Как говорится — лень — двигатель прогресса. Я не открыл ничего нового и так же ничего нового не придумал. Взяться за реализацию этой идея меня подтолкнуло то, что универсальные мониторилки не в состоянии работать с некоторыми нашими трекерами (например rutracker.org), да и функционал немного не тот, что мне нужен. Проект изначально писался исключительно под себя, под свои требования и задачи, а потом захотелось поделиться им с людьми.

Список возможностей приложения выглядит следующим образом:
— слежение за темами на nnm-club.ru
— слежение за темами на rutracker.org
— слежение за релизерами на nnm-club.ru
— слежение за релизерами на rutracker.org
— поиск новых серий на lostfilm.tv
— поиск новых серий на novafilm.tv

Если вам стало хоть немного интересно, добро пожаловать под кат.


На самом деле я веду работу над проектом уже почти 2 года, выпуская новые версии, борясь с трекерами, падающими RSS лентами и сменой вёрстки. Для меня это не более чем хобби, но за эти практически 2 года я на столько его полюбил, что выпустил совершенно новую версию, которая удовлетворяет меня на 96% и это на 1% больше (лично для меня), что бы вот так писать о нём на хабре. Я не программист, поэтому код конечно далёк от идеала, да и я, за время работы над проектом, постоянно узнавал (и благодаря ему в том числе) для себя что то новое, что то переделывал, дописывал, удалял и писал с нуля. Вообще я считаю что у каждого человека должен быть вот такой вот свой проект, который он будет любить, работать над ним и получать от этого удовольствие.

Но это было лирическое отступление, вернёмся к теме.

За полтора года, я увидел интерес к этому проекту со стороны пользователей. Без какой-либо рекламы, имея только страничку у себя в уютной жжешечке блоге, систему скачали более 700 человек. За время работы над проектом я познакомился с отличным разработчиком под Mac OS, с которым мы работаем по сей день (уже над другими проектами), которому понравилась моя идея и он реализовал её под вышеупомянутую ОСь.

Спустя 3 месяца тишины (которые я активно трудился над функционалом), я представляю вам совершенно новую версию, которая получила огромное количество обновлений, о которых я сейчас и расскажу.

Во-первых — полностью изменён дизайн! Старая версия, как бы я её не переворачивал — не отвечала требованиям удобства работы с системой, поэтому в конце-концов было принято решение отрисовать дизайн с нуля. Разработкой дизайна занималась Татьяна Смирнова, и я остался очень доволен проделанной ей работой. Дизайн стал лёгким, при этом удобным. Вёрсткой и допиливанием JS кода занимался Максим Софронов (maxsof), и я хочу сказать огромное спасибо этим людям за помощь в работе над проектом. Думаю если бы не их помощь, проект застрял бы ещё очень на долго.

Во-вторых — движок был в очередной раз достаточно сильно переписан, скорость работы увеличилась в среднем на 15%, а стабильность и «цепкость» системы увеличилась в лучшую сторону.

В-третьих — я немного расширил функционал монитора. Наверное не только мне, порой крайне интересно следить не только за обновляемыми раздачами, но и за определёнными релизерами на трекерах, так вот, отныне эта функция реализована. Возможно на первый взгляд работы с этим разделом покажется несколько сложной, но думаю к этому все быстро привыкнут. После добавления пользователя вы видите 20 последних созданных им раздач, вы можете удалить отдельные темы из этого списка, можете поставить некоторые из них на закачку (торренты будут скачаны при следующем запуске движка), а можете переместить тему в мониторинг (если это обновляемая раздача), ну а в конце всех списков есть кнопка «очистить», которая удаляет все найденные раздачи для всех пользователей. Думаю попробовав разок-другой вы вполне разберётесь с этой, на мой взгляд, крайне полезной функцией.

В-четвёртых — добавлена функция проверки работы всех модулей системы, это то, о чём меня уже давно многие просили и я, наконец то, взялся за реализацию данной функции. Надеюсь она окажется для вас полезной при первом запуске.

Конечно многие скажут — «это можно реализовать парсингом RSS торрент-качалки» или «смотреть он-лайн круче» или «я вижу новые ссылки у себя в профиле на myshows.ru» и все они будут правы. Другой вопрос — кому что удобнее.
Как я говорил в самом начале — система писалась под себя, под собственные требования и нужды, а лично мне удобно получить уведомление о том что вышла новая серия, и я знаю, что придя домой я спокойно завалюсь на диван после рабочего дня и посмотрю свеженькую серию любимого сериала. Ведь всё что нужно для этого — один раз настроить мониторинг, один раз настроить торрент-клиент на «подсасывание» torrent-файлов из папки и вуаля — получаем готовую систему, которая разве что за вас посмотреть сериал не сможет :)

Надеюсь этот пост и моя небольшая разработочка покажутся кому то полезными и пусть даже если всего один человек после прочтения станет ей пользоваться — мне и этого будет достаточно.

А вообще мне крайне интересно развивать проект дальше, мне будет крайне интересно поработать с программистами (возможно и не только PHP) что бы улучшить систему или добавить в неё новый функционал, добавить для работы новые торрент-трекеры и узнать для себя ещё что то новое.

Ну и самое главное, ссылка на последнюю версию 0.7. ну а как развернуть и проверить систему, описано в readme файле в архиве.

Ну и какой пост без картинок? :)
Скрытый текст











Задаётся много вопросов на тему того, что на lostfilm/novafilm не происходит обновление, объясню метод работы мониторинга: Технология работы монитора с lostfilm/novafilm — чтение RSS ленты, т.к. ленты возвращает только последние 20 раздач, соответственно если последняя серия вашего сериала вышла более 2-3 дней назад — скорее всего её уже в раздача нет, как только выйдет новая серия (появится в RSS ленте) — всё обновится. Поиск последних вышедших серий я не реализовывал, т.к. мне это показалось нецелесообразным.

Системные требования:
PHP 5.3 и выше, должен быть собран с поддержкой cURL и PDO.
Так же, в php.ini (для CLI) необходимо изменить следующие параметры:
max_execution_time = 300
allow_url_fopen = on (эту опцию желательно включить в php.ini как для CLI, так и для веб-сервера)
выставить date.timezone

Разворачиваем:
— скачиваем архив
— разворачиваем дамп базы torrentmonitor.sql
— переносим все файлы в папку на вашем сервере (например /var/www/htdocs/torrentmonitor/)
— правим config.php и указываем данные для доступа к БД
— заходим в веб-интерфейс (пароль по умолчанию — torrentmonitor, смените(!) его после первого входа).
— указываем учётные данные от трекеров
— указываем в настройках путь для сохранения торрентов (папка, которая мониторится вашим торрент-клиентом), e-mail и включаем/отключаем отправку уведомлений
— добавляем торренты для мониторинга
— переходим на вкладку «тест» и проверяем — всё ли верно работает
— добавляем в cron engine.php
*/10 * * * * php -q /path/to/folder/torrent_monitor/engine.php

upd: выложил исходники на github, приглашают всех заинтересованных
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 145
  • 0
    А как дела с безопасностью? не в обиду автору, но если честно — страшно оставлять пароли от учетных записей в программе которую поддерживает один человек. А в целом выглядит полезно и вполне прилично.
    • +9
      Пароли хранятся у вас в БД, ко мне ничего не отправляется :)
      Параноики могут закрыть любую активность на мой домен, кроме файла korphome.ru/torrent_monitor/version.xml, он нужен для проверки обновления.
      • +16
        Исходники доступны, проверяйте.
      • 0
        идея интересная, в архиве не хватает небольшого readme по быстрой настройке для «чайников».
        Немного не понял, система будет работать если веб сервер и компьютер с торрент качалкой два разных пк?
        • +1
          Быстрая настройка у меня в блоге описана, но пожалуй вы правы, сейчас положу туда readme
          Система будет работать на разных машинах, при условии что на машине с веб-сервером смонтирована удаляённая директория, которую мониторит машина с качалкой. Мне один человек даже писал что использовал для обмена Dropbox и всё прекрасно работало.
          • 0
            Да, ридми нехватает, как минимум пароя по-умолчанию в нем.
            И из поста вообще не понятно, толи оно под мак, толи под win тоже есть, толи, как выяснилось, вообще написано на php :)
            • 0
              Пароль указан у меня в блоге, просто инструкция по установке изначально вела на него, а потом предложили выложить ещё и readme, а пароль туда вписать я забыл :-[

              Так из поста в хаб php по-моему должно быть понятно что оно на php, а в тексте я лишь оговорился о существовании отдельной версии под Mac OS.
        • НЛО прилетело и опубликовало эту надпись здесь
          • 0
            Не будет. Скрипт умеет сам авторизовываться на трекерах и работать.
            • 0
              Или вы про себя? Если вы это имеете ввиду, то вас будет выбрасывать только на рутрекере, остальные трекеры спокойно относятся к этому и авторизация слетать не будет.
              • НЛО прилетело и опубликовало эту надпись здесь
                • 0
                  А где вы, простите, на lostfilm.tv или novafilm.tv видели DVDRip или 1080p? Фильтр простой, по тому что на этих трекерах есть только 2 версии (на лосте 3) качества — HD и SD. А ваше расширение выполняет немного другие функции — оно ищет заданные вещи на всех трекерах, у меня же скрипт занимается немного другим, у меня не поисковик, а именно — мониторилка конкретных раздач на конкретных трекерах.
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • 0
                      Нет, такого функционала у меня нет, таких поисков по-моему есть уже не меньше сотни, в виде различных расширений к браузерам и в виде отдельных приложений, я ставил себе немного другие задачи.
            • +5
              И тут я снова пускаю скупую слезу по http://kinobaza.tv/
              • 0
                А можно чуть подробнее? Я как то давно пытался ей пользоваться, но не далеко продвинулся и забил :)
                Ну и я думаю она торрент-файлы вам в клиент не запихивает :)
                • 0
                  Ну, когда то, на ней появлялись новинки со всех вышеупомянутых трекеров.
                  • 0
                    Ну а теперь есть myshows.ru, но они torrent-файлами вас не снабдят :)
            • 0
              Утилита полезная, думал исходники использовать для системы на домашнем сервере (у вас больше трекеров), но посмотрел в код и увидел такое: i.fs.ua/img/f/5/f55f3afc0eb80df8b99620e2d6839bf4.png а потом такое: i.fs.ua/img/5/e/5e233e57b7ba08c182a1793825cc2f92.png

              В общем, тут есть еще над чем работать в плане качества кода.
              • +1
                Ну в общем то именно это и охарактеризовывает первый абзац под картинкой :) И, как заключения ваших слов, — второй с конца :)
                • +3
                  А что не так? CURL не ООП, там всегда такая лапша.
                  • 0
                    Обертки нужно писать, дело даже не в ООП. Зачем копипастить кучу строк?
                    • +2
                      Да, видел я таких «оберточников», которые curl-функции оборачивали. АД кромешный. Такой код потом почти не читается, т.к. чтобы несколько чуть-чуть разных участков обернуть, нужно кучу мусора городить
                      • 0
                        Ну и что, что у кого-то ад кромешный?

                        Я предлагаю сделать нормально, а не как в самых плохих случаях.

                        Сколько нужно в коде обсуждаемого продукта сделать теложвижений, чтобы просто user agent поменять? А таймаут?

                        Ну ладно, это можно в конфиг вынести, но чтобы прикрутить даже просто возможность работы через прокси, уже нужно в кучу мест добавлять одинаковые строки и стараться ничего не пропустить.

                        Так писать вообще недопустимо, даже на начальных уровнях. К автору нет претензий, он учится, но поддерживать подобный подход, это вообще полная глупость, на мой взгляд.
                        • 0
                          Приведите пример, как правильно.
                          • +1
                            Хотя-бы так
                            function get_url($url,$post=array(),$headers=0)
                            {
                            	$defaults = array(
                            	CURLOPT_HEADER => $headers,
                            	CURLOPT_URL => $url,
                            	CURLOPT_RETURNTRANSFER => 1,
                            	CURLOPT_TIMEOUT => 4,
                            	CURLOPT_COOKIEFILE =>'/tmp/cook1',
                            	CURLOPT_COOKIEJAR =>'/tmp/cook1',
                            	CURLOPT_USERAGENT=>'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)',
                            	);
                            
                            	if(sizeof($post))
                            	{
                            		$defaults[CURLOPT_POSTFIELDS]=http_build_query($post);
                            		$defaults[CURLOPT_POST]=1;
                            	}
                            
                            	$ch = curl_init();
                            	foreach ($defaults as $k=>$v)
                            	curl_setopt($ch,$k,$v);
                            
                            
                            	$result = curl_exec($ch);
                            	curl_close($ch);
                            	return $result;
                            }
                            


                            Это примитивная реализация, чтобы показать подход. Например, headers не используется (хотя, должно возвращать заголовки). Первое что нашел в инете.

                            Тут многое не учтено, но важно что получение страницы делается через одну функцию, которую можно поменять, при смене требований. Если задача сложнее, то имеет смысл сделать для этого класс с несколькими методами, скрывающими детали непосредственного взаимодействия с curl.
                            • 0
                              Я посчитал такой подход не очень удобным. Функции получения страниц достаточно сильно отличаются по передаваемым параметрам, а выносить данные POST`а в код и передавать их функции на мой взгляд было не очень красиво. Хотя согласен — одна функция вместо трёх — на много красивее, но не удобнее.
                              • –1
                                Ну так я это и имел в виду. Параметров много, ради трех вызовов городить столько глупо.
                                • +1
                                  Не сильно они отличаются, я когда парсил lostfilm мне подобной функции хватило. Различие вы либо сами себе выдумываете (разве так критично 2 разных таймаута?), либо они возникают потому, что вы не до конца curl освоили (например, работа с куками). Все различие легко вписываются в опциональные опции или массив опций (хотя, не знаю, чем вам может не хватить для парсинга даже в той функции что выше, при условии полной ее реализации).

                                  Про удобство вы вспомните, когда нужно будет что-то менять. Количество одинаковых строк в проектах вообще стоит минимизировать, если вы не индус, у которого зп от количества строк зависит. Это касается и

                                  if (preg_match("/^[\.\+\sa-zA-Z0-9]+$/", $data))
                                  	return TRUE;
                                  else
                                  	return FALSE;
                                  
                                  
                                  • +1
                                    Нет, вы безусловно правы про индусокод, даже спорить не стану, там одной функции getContent() достаточно для понимания этого. Просто всё это писалось в разные отрезки времени, что то раньше, что то позже, и переписывать всё с нуля — не будешь, я бы давно уже забросил проект, и где то конечно остаются вот такие вещи. То что вы привели пример с preg_match, ну да, тернарный операторатор и в одну строку, но зачем? 95% пользователей не заглянут в исходники, поддерживаю проект я один, я пишу как мне удобнее, по-моему это логично.
                          • 0
                            Да что вы говорите? Я multi_curl в классы оборачивал github.com/barbushin/multirequest И где тут АД? А про Guzzle слышали?
                    • 0
                      А свои трекеры то можно добавить?
                      • 0
                        Без напоминая новых моделей — нет. Но и я открыт к предложениям о новых трекерах.
                        • 0
                          Ну может вы бы какое-нибудь API сделали или систему плагинов. У нас в городе есть пара популярных трекеров, с них скорость значительно выше, чем с rutracker. Зачем вам заморачиваться с такими локальными трекерами, я бы и сам их поддержку допилил, если бы была возможность.
                          • 0
                            У меня была такая идея, но в силу того, что я не могу назвать себя программистом — эта функция так и не была реализована.
                            Вообще, если обладать небольшим познаниями в PHP — не так сложно написать модуль для своего трекера, взять за основу уже имеющийся модуль, как и что реализовано я вам могу отдельно в личке подсказать, останется только внедрить его в систему (а это делается крайне просто, по тому что я в какой то момент времени попытался реализовать «модульность») и всё будет работать.
                            Мне самому хотелось сделать какой то простой способ добавления новых трекеров, самому поддерживать «основной набор», а дополнительные модули от пользователей выкладывать отдельно, но мне для этого нужна помощь. Если этот топик поможет найти единомышленников, которым захочется поработать над проектом — это будет первым пунктом на повестке дня после рефакторинга кода.
                            • 0
                              Будет время — обязательно посмотрю ваш проект. Постараюсь прикрутить пару «своих» трекеров.
                              • 0
                                Буду только рад помощи!
                          • 0
                            riper.am если можно, там русские сериалы в основном
                        • 0
                          А какая БД?
                          • 0
                            Config::write('db.type', 'mysql');
                            • 0
                              ОК, спасибо.
                              А можно это дело как-то к постгресу приделать?
                              А то не хочется два сервера СУБД поднимать.
                              • 0
                                Вообще работа скрипта с БД огранизована по средствам PDO, т.е. в теории pgsql поддерживается и метод коннекта к pgsql базе у меня реализован в классе, но на практике не проверялось, нет под рукой постгреса. Что бы скрипт работал с pgsql, нужно в конфиге указать
                                Config::write('db.type', 'pgsql');
                                • –4
                                  Могу дать доступ к своему — скажите только как база должна называться.
                                  • 0
                                    Имя базы вы так же сами указываете в конфигурационном файле
                                    Config::write('db.basename', 'torrentmonitor');
                                    Разверните у себя в БД дамп из архива, и укажите в конфига тип бд как — pgsql, поидее должно всё работать.
                                    • –5
                                      В общем если есть желание попользоваться моим постгресом ( в разумных пределах ) — пишите в личку.
                          • 0
                            > Вы не можете следить за этим сериалом на трекере — lostfilm.tv, пока не введёте свои учётные данные!
                            А где простите их вводить? Там только рутрекер и nnm можно вводить, а лостфильма нет
                            • 0
                              ох, добавить пользователя это оказывается не добавить учетную запись. сорри
                              • 0
                                Ничего, всё-таки выходной :)
                            • 0
                              По поводу версии под Mac OS… требует минимум 10.7
                              огорчило.
                              • 0
                                По этому поводу, к сожалению, не ко мне. Этим проектом занимается Андреев Андрей (andy@andyapps.cz), вы можете ему написать письмо, но на сколько я знаю — из-за достаточно больших изменений в Xcode он оставил поддержку 10.5/6
                                • 0
                                  Да, я понял… ) просто вы упомянули. А у него сис. требований на сайте нет. Скачал, установил, облом.
                                  Написал чтоб другие знали. А вам только спасибо.
                                  • +1
                                    К сожалению, Андрей мне эти данные так же не предоставлял, по этому был не в курсе, пойду сейчас сделаю пометки, спасибо за замечание.
                              • +5
                                Поздравляю с очередным релизом. Вы делаете хорошее дело.

                                Позвольте дать Вам несколько советов, которые могут облегчить жизнь и развитие проекта:

                                • Сделайте код доступным где-то (советую github.com). Это поможет подключить сообщество к разработке проекта
                                • Думаю этот ресурс будет полезен для Вас: http://www.phptherightway.com/
                                • Подумайте над использованием како-го либо фреймворка в качестве базы. Это похволит концентрироваться на функционале. Использовать монстров типа Zend или Symfony наверняка будет лишним в данном случае, так что советую http://silex.sensiolabs.org/
                                • 0
                                  Спасибо за поздравление :)
                                  Я уже думал о том, что бы выложить проект на github, но мне хочется «быть знакомым» с теми, кто подключится к проекту, а не просто видеть чужие коммиты, так что я жду когда появятся желающие. А главным ресурсом для меня пока остаётся phpclub.ru/talk/ :) Про фреймворки так же думал, но учитывая то, что я не программист, а время на изучения фреймворка так же понадобиться (помню я с yii пытался поковыряться...) не мало, по крайней мере пока эту идею отбросил — это только усложнит мне жизнь, хотя свои плюсы я в этом тоже вижу.
                                  • +2
                                    Выложить на github — не значит открыть доступ всем. Все будут видеть код, но коммитить по умолчанию сможете только Вы.
                                    • 0
                                      Кажется, вы заблуждаетесь на счет github, это как-раз социальный сервис, а выкидывание архива с исходниками — антисоциальный, т. е. если мне захочется что-то подправить в свободное время — вы об это не узнеете и не увидите фиксы, писать код и пообщаться с автором — разные вещи и не всегда есть время и на то и на другое. Так же если вы что-то исправите, мне придется вручную разбираться, что вы меняли, и как это слить с тем что я дописал, в итоге хорошо не будет никому.
                                    • +1
                                      Картинки — вырви глаз. Увеличьте качество скриншотов.
                                      • +1
                                        Как хабрасторэдж сжал…
                                      • +1
                                        Хорошее дело делаете, полезное! =)
                                        У меня реализован подобный функционал для себя и друзей. Для своего домашнего сервера тоже делал на php + mysql. Когда же друзья начали просить и им «настроить автоматическое скачивание новых серий», пришёл к следующим выводам:
                                        1) Для популярных систем типа Ubuntu надо оборачивать всё в пакет, где в зависимостях указывать тот же php5-curl и mysql-server, и выкладывать в свой репозиторий. Пакет сделать недолго, а устанавливать и обновлять пользователям будет гораздо удобнее.
                                        2) (спорно) Для конечного пользователя, возможно, будет проще связка perl + sqlite, т.к. в той же Ubuntu perl уже стоит по умолчанию, недостающие модули спокойно устанавливаются через зависимости пакета, а sqlite избавляет от необходимости крутить сервер mysql (есть у меня некое предубеждение против запуска серверных демонов на рабочей машине). Но при таком раскладе встанет вопрос с GUI (в перловом варианте у меня всё реализовано через консоль).
                                        • +3
                                          Хотелось бы такое, только онлайновове
                                          • 0
                                            Ошибка
                                            PHP Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
                                            
                                            • 0
                                              Попробуйте заменить константу __DIR__ (PHP 5.3.0 и выше) на dirname(__FILE__) во всех файлах. Скорее всего — это единственная причина, почему оно не работает на Вашем PHP 5.2.6.

                                              Но лучше просто обновить устаревший PHP.
                                              • 0
                                                Уже сделал ранее.
                                                • 0
                                                  Что именно? Обновили PHP?
                                                  • 0
                                                    Поменял _DIR_
                                                    • 0
                                                      Где происходит ошибка? Файл и строка?
                                                      • 0
                                                        Кажется, получилось. На PHP 5.2.17, следующие изменения починили авторизацию (дальше не проверял):

                                                        1. Заменить __DIR__ на dirname(__FILE__) во всех файлах.
                                                        2. Файл action.php, строка 52
                                                        Заменить
                                                        if ($class::checkRule($threme))
                                                        

                                                        на
                                                        if(call_user_func(array($class, 'checkRule', $threme)))
                                                        
                                                        3. Файл action.php, строка 117
                                                        Заменить
                                                        if ($class::checkRule($_POST["name"]))
                                                        

                                                        на
                                                        if(call_user_func(array($class, 'checkRule', $_POST["name"])))
                                                        
                                                        • +2
                                                          Обновите уже php
                                                          • 0
                                                            Извиняюсь, в предыдущем комментарии допущена ошибка. Вот так правильно:
                                                            Файл action.php, строка 52
                                                            if(call_user_func(array($class, 'checkRule'), $threme))
                                                            Файл action.php, строка 117
                                                            if(call_user_func(array($class, 'checkRule'), $_POST["name"]))
                                            • 0
                                              PHP 5.2.6-1+lenny13
                                              • 0
                                                Попробуйте добавить сериал, у меня не получилось, ругается на недопустимые символы в названии. А так идея проекта отличная, поставил использоваться вместе с rutorrent на сервере-качалке.
                                                • 0
                                                  Попробуйте добавить просто Hawaii Five, должен его цеплять спокойно, не обязательно вводить полное название (ну если конечно нет подобного названия)
                                                  • 0
                                                    Добавил, работает или нет увижу с выходом новой версии. Еще с лоста «не цепляет» если указать галочку HD. Отслеживание не всегда добавляется с первого раза, иногда со второго-третьего. Работает ли автодобавление торрентов будет видно только когда выйдет что-то новое из списка. Еще периодически «отваливается» при тесте nnm-club.ru. Хороший нужный проект, надеюсь будет развиваться.
                                                    • 0
                                                      на лосте есть проблема с RSS лентой (этот гемор меня уже достал, ибо длиться почти год :(), по этому он может не всегда с первого прохода «зацепить», хотя у меня по крону раз в 10 минут работает и вроде я не жалуюсь что сильно «отстаю», вроде оперативно работает.
                                                      На ннм-клабе порой скрипт не может авторизоваться, у них скрипт авторизации периодически отваливается, но обычно это бывает 1-2 раза в неделю и почти не заметно (главное уведомления об ошибках на мыло отключить :))

                                                      я тоже надеюсь :)
                                                      • 0
                                                        Может имеет смысл на лосте отслеживать сам сериал, а не RSS да и добавлять удобней? Еще такая проблема, торренты добавленные через torrentmonitor не хотят автоматом ставиться на закачку связкой rtorrent+rutorrent, файлы помечаются как fail, трансмиссия добавляет нормально. Хотелось бы чтоб и rtorrent работал, при ручном добавлении такой торрент файлов в папку автолоада проблеммы нет, может система как-то модифицирует torrent файлы?
                                                        • 0
                                                          Так с постановкой файлов разобрался, сорри мой бок с правами был.
                                                • +2
                                                  А вы есть на github?
                                                • +4
                                                  Пользуюсь похожей вещью, плагин для хрома USSR torrents monitor

                                                  • 0
                                                    Код на гитхабе для пулл-реквестов есть? А почему? :)
                                                  • 0
                                                    Сделай отдельно пакет для обновления.
                                                    Иначе конфиг затирается.
                                                    • 0
                                                      В смысле? перетаскивайте из архива всё кроме конфига — в чём проблема? :)
                                                      • 0
                                                        :) так никаких проблем.
                                                        Кстати у меня пишет «Последний запуск» на час вперед от реального.
                                                        на сервер и в php.ini установлена одна и таже тайм зона. Европа/минск.
                                                        • 0
                                                          в php.ini для CLI у вас наверное не установлена временная зона
                                                    • 0
                                                      А что с лостфильмом? только у меня проблема с коннектом?
                                                      • 0
                                                        что именно вы подразумеваете под «коннектом»?
                                                        • 0
                                                          в ошибках пишет неправильные учетные данные хотя проверял пару раз должно быть точно.
                                                          • 0
                                                            вы второй, у кого не работает авторизация на лосте. думаю в чём может быть проблема
                                                            • 0
                                                              Третий, у меня такая же проблема с lostfilm. «Неправильные учётные данные».
                                                              • 0
                                                                Проблему нашёл, это связано с приблудой от bogi.ru которую лост себе прикрутил, в данный момент как раз борюсь с ней
                                                                • 0
                                                                  Приветствую. Похоже мне удалось побороть проблему, грабли правда конечно получились, но вроде работает. Давайте проверим.
                                                                  korphome.ru/torrent_monitor/lostfilm.zip
                                                                  Файл нужно положить в папку trackers
                                                              • 0
                                                                Приветствую. Похоже мне удалось побороть проблему, грабли правда конечно получились, но вроде работает. Давайте проверим.
                                                                korphome.ru/torrent_monitor/lostfilm.zip
                                                                Файл нужно положить в папку trackers
                                                                • 0
                                                                  Ошибки теперь с лостом нет, правда не хочет качать
                                                                  «Person of interest» как определяется обновление?
                                                                  • 0
                                                                    Значит апдейт не помог, что странно, ибо проверял на одном из таких «нелогинящихся» логинов…
                                                                    • 0
                                                                      Пришлите мне свой логин с паролем в личку — буду отдельно проверять и искать в чём проблема.
                                                            • 0
                                                              Нужно еще добавить about и ссылки на сайт.
                                                              • 0
                                                                у меня и лостфильм и рутрекер выдают неправильные учетные данные. Программа поддерживает логин на кирилице (на рутрекере)? При добавлении сериала It`s Always Sunny in Philadelphia приложение ругается на недопустимый символ. без апострофа добавляет — это равнозначные варианты?
                                                                • 0
                                                                  Пишите просто — Always Sunny in Philadelphia, этого будет достаточно
                                                                  На тему русских логинов надо тестить — не проверял, но судя по тому что есть ошибка — не работает, скорее всего дело в кодировках, так что правится достаточно просто.
                                                                  • +1
                                                                    Реализовал поддержку логинов на кирилице, перекачайте архив и замените все файлы в папке trackers
                                                                    • 0
                                                                      спасибо! рутрекер и нонейм работают, но лостфильм не обновляется как и у sonic.
                                                                      • 0
                                                                        Что именно не обновляется (какой сериал)?
                                                                        Технология работы монитора с лостом и новой — чтение RSS ленты, т.к. ленты возвращает только последние 20 раздач, соответственно если последняя серия вашего сериала вышла более 2-3 дней назад — скорее всего её уже в раздача нет, как только выйдет новая серия (появится в RSS ленте) — всё обновится.
                                                                        • 0
                                                                          Да, раздачи старые. буду пробовать другие.
                                                                          • 0
                                                                            Можете для пробы сейчас добавить SuperNatural — думаю всё подхватит.
                                                                            • 0
                                                                              Все работает. Спасибо!!!
                                                                              • 0
                                                                                Ну и отличненько :) спасибо что дождались решения проблемы, а не быстро удалили всё нафиг и плюнули на затею :)
                                                                      • 0
                                                                        Большое спасибо, с последним обновлением заработал lostfilm. ;)
                                                                        • +1
                                                                          Не за что — пользуйтесь на здоровье! :)
                                                                          • 0
                                                                            Можно одну хотелку? :) Неплохо бы добавить гиперссылки на топики с сериалами на лосте и нове. ;) Необязательно автоматом, можно дополнительным полем в разделе «Добавить сериал», с последующим ручным вводом. Я правильно понимаю, что скачивание торрента добавлено только в режиме «Следить за раздачами пользователя»? Потому что у меня только в этом режиме автоматически скачиваются торренты при следующем дергании скрипта кроном. Может я чего-то не докрутил? Спасибо.
                                                                            • 0
                                                                              Только что обновился Fringe и торрент успешно автоматом скачался с лоста, а вот при первом обращении (после фикса авторизации на lostfilm) и обновлении информации о 3-х сериалах — в папке для торрентов было пусто. Странно, но скорее всего я просто что-то недоглядел. ;)
                                                                              • 0
                                                                                Еще немного потестировал, все прекрасно работает, торренты автоматом качаются, transmission-daemon их цепляет, красота. Спасибо еще раз.
                                                                                • +1
                                                                                  Так и было задумано, и я старался :) Не за что :)
                                                                              • +1
                                                                                Я, честно сказать, не очень вижу смысл этой ссылки. Описание сериала там скудно (да и обычно знаешь что ты смотришь). Если бы парсили сайт, а не RSS, можно было бы ставить ссылку на описание каждого эпизода — это хоть как то полезно.
                                                                                Вопрос не понял, сформулируйте пожалуйста более ясно :)
                                                                      • 0
                                                                        В логах ошибок пишет:
                                                                        07 Ноя 2012 03:40 rutracker.org Не могу получить доступ к трекеру.
                                                                        07 Ноя 2012 03:40 lostfilm.tv Ошибка при чтении XML файла RSS ленты.

                                                                        На рутрекере вроде авторизуется, ибо выбрасывает авторизацию, когда захожу через браузер.

                                                                        Пока что получилось только с ноунеймом, с первого раза.

                                                                        Слегка ошиблась в пути сохранения торрент файлов (забыла последний слеш), сохранился в каталоге предыдущего уровня. Может имеет смысл проверять и добавлять последний слеш?

                                                                        Ну и описанная у вас же в комментах на сайте проблема с несохранением логинов для сайтов. Браузер — сафари. Пришлось через базу добавлять вручную. Благо их всего 4.
                                                                        • 0
                                                                          Приношу извинения за рутрекер. Добавила раздачу Теории большого взрыва… А ее как раз этой ночью прикрыли правообладатели. Печалька =(
                                                                          С другими раздачами все ОК.
                                                                          С лостфильмом по прежнему беда.
                                                                          • 0
                                                                            Теорию большого взрыва прикрыли правообладатели???? 0_0
                                                                            Посмотрел на трекере — действительно, есть такая фигня, хотя ещё вчера она обновилась и я посмотрел. Откуда там правообладатели мне тока не понятно…
                                                                          • 0
                                                                            Сама нашла проблему — сама решила.

                                                                            Скорее всего дело в моем веб-сервере, который где-то неправильно собран и криво понимает кодировки, но решение следующее:
                                                                            lostfilm.tv.engine.php:
                                                                            277 строка:
                                                                            lostfilm::$page = lostfilm::getContent();
                                                                            lostfilm::$page=str_replace('<?xml version="1.0" encoding="windows-1251" ?>','<?xml version="1.0" encoding="utf-8"?>',lostfilm::$page);
                                                                            119 строка:
                                                                            curl_close($ch);
                                                                            $result = iconv("windows-1251", "utf-8", $result);

                                                                            Скорее всего поможет тем, кто ставит на серверах-роутерах дома, используя пакеты из optware.
                                                                            • 0
                                                                              хм… не совсем понял проблему, если честно, но раз помогло и заработало — всё хорошо :)
                                                                              • 0
                                                                                Ну если интересно, то при включении обработки ошибок пользователем выпадала такая штука:
                                                                                [0] => LibXMLError Object
                                                                                (
                                                                                [level] => 3
                                                                                [code] => 32
                                                                                [column] => 42
                                                                                [message] => Unsupported encoding windows-1251

                                                                                [file] =>
                                                                                [line] => 1
                                                                                )

                                                                                Текст в хмл не хотел преобразовываться. На кодировку ругался. Сначала я ее преобразовала в утф-8, но не помогло, так как в тексте хмл все равно указана старая кодировка. Пришлось заменить и все заработало. Говорят, в правильно скомпиллированном php с поддержкой iconv такого не бывает. Может быть дело в чем-то еще. Я вообще в этих серверах, кодировках и пхп ничо не понимаю.
                                                                                • 0
                                                                                  А я просто не в курсах что есть optware :)
                                                                                  Вообще неплохо бы полное описание системы, что бы понять суть.
                                                                                  • 0
                                                                                    optware — репозиторий для систем с mips-архитектурой (роутеры, nas, медиасерверы и прочие потребители контента).
                                                                                    В моем случае это роутер с подключенным к нему внешним жестаком, крутящимся transmission-daemon, и запущенным сервером lighttpd.
                                                                                    Вот такая специфичная система со своими неожиданными проблемами, которые на сервере или десктопе могут никогда не возникнуть.
                                                                                    Кстати, откопала php класс для transmission rpc (api для удаленного управления торрент-клиентом с php оберткой). Уже пытаюсь сделать сразу передачу в клиент, без мониторинга папки. Плюсы — можно указать папку, в которую скачивать файл. Ну и задать всякие параметры при желании, типа скорости и тп. Если получится — выложу патч.
                                                                                    • 0
                                                                                      Интересно, если вы ещё расскажете какая именно у вас коробочка — будет вообще замечательно. Я давно уже хотел проверить работу систему на подобных девайсах, но у меня под рукой ничего такого не нашлось, а на форуме ixbt мне так никто и не ответил в ветке прошивок dd-wrt
                                                                                      • 0
                                                                                        Asus RT-N66U с прошивкой TomatoUSB от Toastman. Все прекрасно работает. Теперь уже.
                                                                                        • 0
                                                                                          Спасибо за информацию.
                                                                                          Если вы ещё покажете phpinfo(); на тему iconv — было бы вообще замечательно, по тому что он на самом деле используется там везде, и для рутрекера в том числе (все трекеры сидят на cp-1251) и ошибка поидее должна появляться и с ними…
                                                                                          • 0
                                                                                            Не знаю точно, что именно показать, но все про iconv:
                                                                                            тык
                                                                                            System Linux asus 2.6.22.19 #1 Fri Oct 26 16:42:29 YEKT 2012 mips
                                                                                            Build Date Feb 23 2012 12:09:49
                                                                                            Configure Command './configure' '--build=i386-pc-linux-gnu' '--host=mipsel-linux' '--target=mipsel-linux' '--prefix=/opt' '--with-config-file-scan-dir=/opt/etc/php.d' '--with-layout=GNU' '--disable-static' '--enable-dba=shared' '--with-inifile' '--with-flatfile' '--enable-dom=shared' '--enable-exif=shared' '--enable-ftp=shared' '--enable-pdo=shared' '--enable-shmop=shared' '--enable-sockets=shared' '--enable-sysvmsg=shared' '--enable-sysvshm=shared' '--enable-sysvsem=shared' '--enable-xml=shared' '--enable-xmlreader=shared' '--with-bz2=shared,/home/slug/optware/ddwrt/staging/opt' '--with-db4=/home/slug/optware/ddwrt/staging/opt' '--with-dom=shared,/home/slug/optware/ddwrt/staging/opt' '--with-gdbm=/home/slug/optware/ddwrt/staging/opt' '--with-openssl=shared,/home/slug/optware/ddwrt/staging/opt' '--with-sqlite=shared' '--with-pdo-sqlite=shared' '--with-xsl=shared,/home/slug/optware/ddwrt/staging/opt' '--with-zlib=shared,/home/slug/optware/ddwrt/staging/opt' '--with-libxml-dir=/home/slug/optware/ddwrt/staging/opt' '--with-jpeg-dir=/home/slug/optware/ddwrt/staging/opt' '--with-png-dir=/home/slug/optware/ddwrt/staging/opt' '--with-freetype-dir=/home/slug/optware/ddwrt/staging/opt' '--with-zlib-dir=/home/slug/optware/ddwrt/staging/opt' '--with-gettext=/home/slug/optware/ddwrt/staging/opt' '--enable-maintainer-zts' '--with-pcre-regex=/home/slug/optware/ddwrt/staging/opt' '--with-regex=php' '--without-iconv' '--without-pear' '--enable-spl' '--enable-memory-limit' '--disable-cli' '--enable-cgi' '--enable-fastcgi' '--enable-force-cgi-redirect'

                                                                                            additional .ini files parsed /opt/etc/php.d/curl.ini, /opt/etc/php.d/iconv.ini, /opt/etc/php.d/mbstring.ini, /opt/etc/php.d/mysql.ini

                                                                                            iconv

                                                                                            iconv support enabled
                                                                                            iconv implementation libiconv
                                                                                            iconv library version 1.13

                                                                                            Directive Local Value Master Value
                                                                                            iconv.input_encoding ISO-8859-1 ISO-8859-1
                                                                                            iconv.internal_encoding ISO-8859-1 ISO-8859-1
                                                                                            iconv.output_encoding ISO-8859-1 ISO-8859-1


                                                                                            Еще про роутеры — вместо cron в tomato используется cru. Синтаксис заданий такой же. В dd-wrt кажется cron есть в веб-интерфейсе. Но не уверена.
                                                                                            • 0
                                                                                              а выхлоп iconv -l покажите плиз
                                                                                              • 0
                                                                                                Да пожалуйста:
                                                                                                тык
                                                                                                root@asus:/tmp/home/root# iconv -l
                                                                                                ANSI_X3.4-1968 ANSI_X3.4-1986 ASCII CP367 IBM367 ISO-IR-6 ISO646-US ISO_646.IRV:1991 US US-ASCII CSASCII
                                                                                                UTF-8
                                                                                                ISO-10646-UCS-2 UCS-2 CSUNICODE
                                                                                                UCS-2BE UNICODE-1-1 UNICODEBIG CSUNICODE11
                                                                                                UCS-2LE UNICODELITTLE
                                                                                                ISO-10646-UCS-4 UCS-4 CSUCS4
                                                                                                UCS-4BE
                                                                                                UCS-4LE
                                                                                                UTF-16
                                                                                                UTF-16BE
                                                                                                UTF-16LE
                                                                                                UTF-32
                                                                                                UTF-32BE
                                                                                                UTF-32LE
                                                                                                UNICODE-1-1-UTF-7 UTF-7 CSUNICODE11UTF7
                                                                                                UCS-2-INTERNAL
                                                                                                UCS-2-SWAPPED
                                                                                                UCS-4-INTERNAL
                                                                                                UCS-4-SWAPPED
                                                                                                C99
                                                                                                JAVA
                                                                                                CP819 IBM819 ISO-8859-1 ISO-IR-100 ISO8859-1 ISO_8859-1 ISO_8859-1:1987 L1 LATIN1 CSISOLATIN1
                                                                                                ISO-8859-2 ISO-IR-101 ISO8859-2 ISO_8859-2 ISO_8859-2:1987 L2 LATIN2 CSISOLATIN2
                                                                                                ISO-8859-3 ISO-IR-109 ISO8859-3 ISO_8859-3 ISO_8859-3:1988 L3 LATIN3 CSISOLATIN3
                                                                                                ISO-8859-4 ISO-IR-110 ISO8859-4 ISO_8859-4 ISO_8859-4:1988 L4 LATIN4 CSISOLATIN4
                                                                                                CYRILLIC ISO-8859-5 ISO-IR-144 ISO8859-5 ISO_8859-5 ISO_8859-5:1988 CSISOLATINCYRILLIC
                                                                                                ARABIC ASMO-708 ECMA-114 ISO-8859-6 ISO-IR-127 ISO8859-6 ISO_8859-6 ISO_8859-6:1987 CSISOLATINARABIC
                                                                                                ECMA-118 ELOT_928 GREEK GREEK8 ISO-8859-7 ISO-IR-126 ISO8859-7 ISO_8859-7 ISO_8859-7:1987 ISO_8859-7:2003 CSISOLATINGREEK
                                                                                                HEBREW ISO-8859-8 ISO-IR-138 ISO8859-8 ISO_8859-8 ISO_8859-8:1988 CSISOLATINHEBREW
                                                                                                ISO-8859-9 ISO-IR-148 ISO8859-9 ISO_8859-9 ISO_8859-9:1989 L5 LATIN5 CSISOLATIN5
                                                                                                ISO-8859-10 ISO-IR-157 ISO8859-10 ISO_8859-10 ISO_8859-10:1992 L6 LATIN6 CSISOLATIN6
                                                                                                ISO-8859-11 ISO8859-11 ISO_8859-11
                                                                                                ISO-8859-13 ISO-IR-179 ISO8859-13 ISO_8859-13 L7 LATIN7
                                                                                                ISO-8859-14 ISO-CELTIC ISO-IR-199 ISO8859-14 ISO_8859-14 ISO_8859-14:1998 L8 LATIN8
                                                                                                ISO-8859-15 ISO-IR-203 ISO8859-15 ISO_8859-15 ISO_8859-15:1998 LATIN-9
                                                                                                ISO-8859-16 ISO-IR-226 ISO8859-16 ISO_8859-16 ISO_8859-16:2001 L10 LATIN10
                                                                                                KOI8-R CSKOI8R
                                                                                                KOI8-U
                                                                                                KOI8-RU
                                                                                                CP1250 MS-EE WINDOWS-1250
                                                                                                CP1251 MS-CYRL WINDOWS-1251
                                                                                                CP1252 MS-ANSI WINDOWS-1252
                                                                                                CP1253 MS-GREEK WINDOWS-1253
                                                                                                CP1254 MS-TURK WINDOWS-1254
                                                                                                CP1255 MS-HEBR WINDOWS-1255
                                                                                                CP1256 MS-ARAB WINDOWS-1256
                                                                                                CP1257 WINBALTRIM WINDOWS-1257
                                                                                                CP1258 WINDOWS-1258
                                                                                                850 CP850 IBM850 CSPC850MULTILINGUAL
                                                                                                862 CP862 IBM862 CSPC862LATINHEBREW
                                                                                                866 CP866 IBM866 CSIBM866
                                                                                                CP1131
                                                                                                MAC MACINTOSH MACROMAN CSMACINTOSH
                                                                                                MACCENTRALEUROPE
                                                                                                MACICELAND
                                                                                                MACCROATIAN
                                                                                                MACROMANIA
                                                                                                MACCYRILLIC
                                                                                                MACUKRAINE
                                                                                                MACGREEK
                                                                                                MACTURKISH
                                                                                                MACHEBREW
                                                                                                MACARABIC
                                                                                                MACTHAI
                                                                                                HP-ROMAN8 R8 ROMAN8 CSHPROMAN8
                                                                                                NEXTSTEP
                                                                                                ARMSCII-8
                                                                                                GEORGIAN-ACADEMY
                                                                                                GEORGIAN-PS
                                                                                                KOI8-T
                                                                                                CP154 CYRILLIC-ASIAN PT154 PTCP154 CSPTCP154
                                                                                                KZ-1048 RK1048 STRK1048-2002 CSKZ1048
                                                                                                MULELAO-1
                                                                                                CP1133 IBM-CP1133
                                                                                                ISO-IR-166 TIS-620 TIS620 TIS620-0 TIS620.2529-1 TIS620.2533-0 TIS620.2533-1
                                                                                                CP874 WINDOWS-874
                                                                                                VISCII VISCII1.1-1 CSVISCII
                                                                                                TCVN TCVN-5712 TCVN5712-1 TCVN5712-1:1993
                                                                                                ISO-IR-14 ISO646-JP JIS_C6220-1969-RO JP CSISO14JISC6220RO
                                                                                                JISX0201-1976 JIS_X0201 X0201 CSHALFWIDTHKATAKANA
                                                                                                ISO-IR-87 JIS0208 JIS_C6226-1983 JIS_X0208 JIS_X0208-1983 JIS_X0208-1990 X0208 CSISO87JISX0208
                                                                                                ISO-IR-159 JIS_X0212 JIS_X0212-1990 JIS_X0212.1990-0 X0212 CSISO159JISX02121990
                                                                                                CN GB_1988-80 ISO-IR-57 ISO646-CN CSISO57GB1988
                                                                                                CHINESE GB_2312-80 ISO-IR-58 CSISO58GB231280
                                                                                                CN-GB-ISOIR165 ISO-IR-165
                                                                                                ISO-IR-149 KOREAN KSC_5601 KS_C_5601-1987 KS_C_5601-1989 CSKSC56011987
                                                                                                EUC-JP EUCJP EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE CSEUCPKDFMTJAPANESE
                                                                                                MS_KANJI SHIFT-JIS SHIFT_JIS SJIS CSSHIFTJIS
                                                                                                CP932
                                                                                                ISO-2022-JP CSISO2022JP
                                                                                                ISO-2022-JP-1
                                                                                                ISO-2022-JP-2 CSISO2022JP2
                                                                                                CN-GB EUC-CN EUCCN GB2312 CSGB2312
                                                                                                GBK
                                                                                                CP936 MS936 WINDOWS-936
                                                                                                GB18030
                                                                                                ISO-2022-CN CSISO2022CN
                                                                                                ISO-2022-CN-EXT
                                                                                                HZ HZ-GB-2312
                                                                                                EUC-TW EUCTW CSEUCTW
                                                                                                BIG-5 BIG-FIVE BIG5 BIGFIVE CN-BIG5 CSBIG5
                                                                                                CP950
                                                                                                BIG5-HKSCS:1999
                                                                                                BIG5-HKSCS:2001
                                                                                                BIG5-HKSCS BIG5-HKSCS:2004 BIG5HKSCS
                                                                                                EUC-KR EUCKR CSEUCKR
                                                                                                CP949 UHC
                                                                                                CP1361 JOHAB
                                                                                                ISO-2022-KR CSISO2022KR
                                                                                                • 0
                                                                                                  странно тогда почему вылезает ошибка, ваш iconv знает что такое windows-1251, php собран с iconv, в чём проблема — мне не понятно. хотя я и понимаю что это упирается в сборку php, но в чём конкретно трабл я что то никак понять не могу.
                                                                            • 0
                                                                              да, с JS есть косяк, при чём проявляется крайне рандомно, пока не найду зависимость — не смогу пофиксить :( у меня в тафари всё ок
                                                                            • 0
                                                                              Попытался авторизоваться через яндекс — ошибка 500
                                                                              • 0
                                                                                Вы о чём, простите?
                                                                                • 0
                                                                                  Простите, не к тому топику написал комментарий -)
                                                                                  С этого поста habrahabr.ru/post/170539/ прошелся по всем сервисам, это у них не работает =)
                                                                              • 0
                                                                                Поставил, настроил, добавил сериал и тему. Cron отработал. Смотрим вкладку «Торренты» — «Rutracker Сверхестественное обновлено 30 янв 03:40:00». В каталоге /torrent лежит торрент-файл с rutacker.
                                                                                Все хорошо, все отработало.

                                                                                Спасибо за скрипт.
                                                                                Но, подскажите, а почему на вкладке «Торренты» ссылка идет только на тему и ни где нет ссылки на torrent-файл? Завтра у меня этих торрент-файлов в каталоге будет под сотню и как мне искать нужный? Просто переходить на тему на torrent-tracker-е (это же снижает полезность скрипта — торрент-файл есть, а от какой темы он — не поймешь, пока не запустишь)?

                                                                                Еще пожелание — может как то можно с этих торрент-трекеров, на которые в скрипт заведены данные аккаунтов можно получать новинки или новые раздачи, не вводя руками темы/пользователей, хотя бы списки?

                                                                                Ну и напоследок — список любимых тем/сериалов/пользователей для образца работы скрипта (и не только), плис :) (вроде топа или для старта, чтобы понять, всю прелесть работы со скриптом).
                                                                                • 0
                                                                                  На самом деле впервые поднимается вопрос доступа к torrent-файлу на локальной машине. Вообще на самом деле это сделать крайне легко, есть несколько способов средствами ОС, например:
                                                                                  1. отсортировать файлы по дате и найти по времени обновления
                                                                                  2. Для rutracker, к примеру, будет всего один torrent-файл, который будет перезаписываться при каждом обновлении, а для lostfilm, например, будет нумерация примерно такая:
                                                                                  [lostfilm.tv]_Almost.Human.S01E06.HD.torrent
                                                                                  [lostfilm.tv]_Almost.Human.S01E07.HD.torrent
                                                                                  [lostfilm.tv]_Almost.Human.S01E08.HD.torrent
                                                                                  так что разобраться тоже будет не сложно
                                                                                  • 0
                                                                                    Это понятно, что можно отсортировать, и как это сделать сообразить может даже школьник. Но чем это проще, чем просто зайти по ссылке на торрент-трекер и там дернуть .torrent? Смысл-то тогда какой в скрипте (RSS можно добавить в различные rss-reader-ы)?
                                                                                    При этом все данные у скрипта есть, подставить на фразу «Обновлено 00:00:00» линк на торрент — элементарно. Это и есть удобство для пользователя. Такую же ссылку можно и в почтовое уведомление об обновлении бросать — видим письмо, в нем уже все готово — кликаем, открывается сразу качалка.
                                                                                    Программа уже делает львиную долю сложных действий, а вот такие простые удобства добавляют ей дополнительную любовь и уважение пользователя (чем меньше придется прыгать по разным интерфейсам и быстрее, чтобы получить желаемое, тем приятнее работать).
                                                                                    Сейчас это выглядит так — запустил web-интерфейс, залогинился, вижу сообщения об обновлениях. Лезу через самбу/ssh/ftp в каталог с торрентам. Сортирую, ищу, что нужно мне (а если этих файлов 10-50?), потом качалку запускаю. С почтовым уведомлением то же самое -вижу уведомление (а за 5 дней, пока отсутствовал, их может нападать несколько десятков) и начинаю по одному сортировать/проверять.
                                                                                    В то же время — простой линк: увидел, кликнул, открылась качалка, поставил галочки по нужным файлам, качаем.

                                                                                    Собственно, вы создатель, вам виднее, но то, о чем я говорю, это очень и очень приятная фишечка.
                                                                                    • 0
                                                                                      Задача скрипта — автоматизировать процесс закачки. Кликать по ссылке можно и в RSS клиенте, благо многие трекеры дают в ленте ссылки на torrent-файлы. По логике это должно выглядеть так — запускаете torrent-клиент, а он из уже заведомо известной ему директории подсасывает torrent-файлы и боавляет закачки. Тут проблема в том что файлик может быть и удалён (допустим случайно), в итоге получится битая ссылка, которую придётся ещё и проверять на всякий случай. Ну в общем я подумаю над вашим предложением, но по логике — скрипт просто предполагается использовать несколько иначе.
                                                                                  • 0
                                                                                    Что смотрю я
                                                                                    take.ms/mXa6I
                                                                                    • 0
                                                                                      Спасибо, добавлю себе чуток из списка.
                                                                                      Еще раз, спасибо за скрипт.

                                                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.