Pull to refresh

Comments 145

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

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

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

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

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

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

Так писать вообще недопустимо, даже на начальных уровнях. К автору нет претензий, он учится, но поддерживать подобный подход, это вообще полная глупость, на мой взгляд.
Хотя-бы так
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.
Я посчитал такой подход не очень удобным. Функции получения страниц достаточно сильно отличаются по передаваемым параметрам, а выносить данные POST`а в код и передавать их функции на мой взгляд было не очень красиво. Хотя согласен — одна функция вместо трёх — на много красивее, но не удобнее.
Ну так я это и имел в виду. Параметров много, ради трех вызовов городить столько глупо.
Не сильно они отличаются, я когда парсил lostfilm мне подобной функции хватило. Различие вы либо сами себе выдумываете (разве так критично 2 разных таймаута?), либо они возникают потому, что вы не до конца curl освоили (например, работа с куками). Все различие легко вписываются в опциональные опции или массив опций (хотя, не знаю, чем вам может не хватить для парсинга даже в той функции что выше, при условии полной ее реализации).

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

if (preg_match("/^[\.\+\sa-zA-Z0-9]+$/", $data))
	return TRUE;
else
	return FALSE;

Нет, вы безусловно правы про индусокод, даже спорить не стану, там одной функции getContent() достаточно для понимания этого. Просто всё это писалось в разные отрезки времени, что то раньше, что то позже, и переписывать всё с нуля — не будешь, я бы давно уже забросил проект, и где то конечно остаются вот такие вещи. То что вы привели пример с preg_match, ну да, тернарный операторатор и в одну строку, но зачем? 95% пользователей не заглянут в исходники, поддерживаю проект я один, я пишу как мне удобнее, по-моему это логично.
А свои трекеры то можно добавить?
Без напоминая новых моделей — нет. Но и я открыт к предложениям о новых трекерах.
Ну может вы бы какое-нибудь API сделали или систему плагинов. У нас в городе есть пара популярных трекеров, с них скорость значительно выше, чем с rutracker. Зачем вам заморачиваться с такими локальными трекерами, я бы и сам их поддержку допилил, если бы была возможность.
У меня была такая идея, но в силу того, что я не могу назвать себя программистом — эта функция так и не была реализована.
Вообще, если обладать небольшим познаниями в PHP — не так сложно написать модуль для своего трекера, взять за основу уже имеющийся модуль, как и что реализовано я вам могу отдельно в личке подсказать, останется только внедрить его в систему (а это делается крайне просто, по тому что я в какой то момент времени попытался реализовать «модульность») и всё будет работать.
Мне самому хотелось сделать какой то простой способ добавления новых трекеров, самому поддерживать «основной набор», а дополнительные модули от пользователей выкладывать отдельно, но мне для этого нужна помощь. Если этот топик поможет найти единомышленников, которым захочется поработать над проектом — это будет первым пунктом на повестке дня после рефакторинга кода.
Будет время — обязательно посмотрю ваш проект. Постараюсь прикрутить пару «своих» трекеров.
Буду только рад помощи!
riper.am если можно, там русские сериалы в основном
ОК, спасибо.
А можно это дело как-то к постгресу приделать?
А то не хочется два сервера СУБД поднимать.
Вообще работа скрипта с БД огранизована по средствам PDO, т.е. в теории pgsql поддерживается и метод коннекта к pgsql базе у меня реализован в классе, но на практике не проверялось, нет под рукой постгреса. Что бы скрипт работал с pgsql, нужно в конфиге указать
Config::write('db.type', 'pgsql');
Могу дать доступ к своему — скажите только как база должна называться.
Имя базы вы так же сами указываете в конфигурационном файле
Config::write('db.basename', 'torrentmonitor');
Разверните у себя в БД дамп из архива, и укажите в конфига тип бд как — pgsql, поидее должно всё работать.
В общем если есть желание попользоваться моим постгресом ( в разумных пределах ) — пишите в личку.
> Вы не можете следить за этим сериалом на трекере — lostfilm.tv, пока не введёте свои учётные данные!
А где простите их вводить? Там только рутрекер и nnm можно вводить, а лостфильма нет
ох, добавить пользователя это оказывается не добавить учетную запись. сорри
Ничего, всё-таки выходной :)
По этому поводу, к сожалению, не ко мне. Этим проектом занимается Андреев Андрей (andy@andyapps.cz), вы можете ему написать письмо, но на сколько я знаю — из-за достаточно больших изменений в Xcode он оставил поддержку 10.5/6
Да, я понял… ) просто вы упомянули. А у него сис. требований на сайте нет. Скачал, установил, облом.
Написал чтоб другие знали. А вам только спасибо.
К сожалению, Андрей мне эти данные так же не предоставлял, по этому был не в курсе, пойду сейчас сделаю пометки, спасибо за замечание.
Поздравляю с очередным релизом. Вы делаете хорошее дело.

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

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

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

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

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

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

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

Ну и описанная у вас же в комментах на сайте проблема с несохранением логинов для сайтов. Браузер — сафари. Пришлось через базу добавлять вручную. Благо их всего 4.
Приношу извинения за рутрекер. Добавила раздачу Теории большого взрыва… А ее как раз этой ночью прикрыли правообладатели. Печалька =(
С другими раздачами все ОК.
С лостфильмом по прежнему беда.
Теорию большого взрыва прикрыли правообладатели???? 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] => LibXMLError Object
(
[level] => 3
[code] => 32
[column] => 42
[message] => Unsupported encoding windows-1251

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

Текст в хмл не хотел преобразовываться. На кодировку ругался. Сначала я ее преобразовала в утф-8, но не помогло, так как в тексте хмл все равно указана старая кодировка. Пришлось заменить и все заработало. Говорят, в правильно скомпиллированном php с поддержкой iconv такого не бывает. Может быть дело в чем-то еще. Я вообще в этих серверах, кодировках и пхп ничо не понимаю.
А я просто не в курсах что есть optware :)
Вообще неплохо бы полное описание системы, что бы понять суть.
optware — репозиторий для систем с mips-архитектурой (роутеры, nas, медиасерверы и прочие потребители контента).
В моем случае это роутер с подключенным к нему внешним жестаком, крутящимся transmission-daemon, и запущенным сервером lighttpd.
Вот такая специфичная система со своими неожиданными проблемами, которые на сервере или десктопе могут никогда не возникнуть.
Кстати, откопала php класс для transmission rpc (api для удаленного управления торрент-клиентом с php оберткой). Уже пытаюсь сделать сразу передачу в клиент, без мониторинга папки. Плюсы — можно указать папку, в которую скачивать файл. Ну и задать всякие параметры при желании, типа скорости и тп. Если получится — выложу патч.
Интересно, если вы ещё расскажете какая именно у вас коробочка — будет вообще замечательно. Я давно уже хотел проверить работу систему на подобных девайсах, но у меня под рукой ничего такого не нашлось, а на форуме ixbt мне так никто и не ответил в ветке прошивок dd-wrt
Asus RT-N66U с прошивкой TomatoUSB от Toastman. Все прекрасно работает. Теперь уже.
Спасибо за информацию.
Если вы ещё покажете phpinfo(); на тему iconv — было бы вообще замечательно, по тому что он на самом деле используется там везде, и для рутрекера в том числе (все трекеры сидят на cp-1251) и ошибка поидее должна появляться и с ними…
Не знаю точно, что именно показать, но все про 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 есть в веб-интерфейсе. Но не уверена.
Да пожалуйста:
тык
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
странно тогда почему вылезает ошибка, ваш iconv знает что такое windows-1251, php собран с iconv, в чём проблема — мне не понятно. хотя я и понимаю что это упирается в сборку php, но в чём конкретно трабл я что то никак понять не могу.
да, с JS есть косяк, при чём проявляется крайне рандомно, пока не найду зависимость — не смогу пофиксить :( у меня в тафари всё ок
Попытался авторизоваться через яндекс — ошибка 500
Вы о чём, простите?
Простите, не к тому топику написал комментарий -)
С этого поста habrahabr.ru/post/170539/ прошелся по всем сервисам, это у них не работает =)
Поставил, настроил, добавил сериал и тему. Cron отработал. Смотрим вкладку «Торренты» — «Rutracker Сверхестественное обновлено 30 янв 03:40:00». В каталоге /torrent лежит торрент-файл с rutacker.
Все хорошо, все отработало.

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

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

Ну и напоследок — список любимых тем/сериалов/пользователей для образца работы скрипта (и не только), плис :) (вроде топа или для старта, чтобы понять, всю прелесть работы со скриптом).
На самом деле впервые поднимается вопрос доступа к 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
так что разобраться тоже будет не сложно
Это понятно, что можно отсортировать, и как это сделать сообразить может даже школьник. Но чем это проще, чем просто зайти по ссылке на торрент-трекер и там дернуть .torrent? Смысл-то тогда какой в скрипте (RSS можно добавить в различные rss-reader-ы)?
При этом все данные у скрипта есть, подставить на фразу «Обновлено 00:00:00» линк на торрент — элементарно. Это и есть удобство для пользователя. Такую же ссылку можно и в почтовое уведомление об обновлении бросать — видим письмо, в нем уже все готово — кликаем, открывается сразу качалка.
Программа уже делает львиную долю сложных действий, а вот такие простые удобства добавляют ей дополнительную любовь и уважение пользователя (чем меньше придется прыгать по разным интерфейсам и быстрее, чтобы получить желаемое, тем приятнее работать).
Сейчас это выглядит так — запустил web-интерфейс, залогинился, вижу сообщения об обновлениях. Лезу через самбу/ssh/ftp в каталог с торрентам. Сортирую, ищу, что нужно мне (а если этих файлов 10-50?), потом качалку запускаю. С почтовым уведомлением то же самое -вижу уведомление (а за 5 дней, пока отсутствовал, их может нападать несколько десятков) и начинаю по одному сортировать/проверять.
В то же время — простой линк: увидел, кликнул, открылась качалка, поставил галочки по нужным файлам, качаем.

Собственно, вы создатель, вам виднее, но то, о чем я говорю, это очень и очень приятная фишечка.
Задача скрипта — автоматизировать процесс закачки. Кликать по ссылке можно и в RSS клиенте, благо многие трекеры дают в ленте ссылки на torrent-файлы. По логике это должно выглядеть так — запускаете torrent-клиент, а он из уже заведомо известной ему директории подсасывает torrent-файлы и боавляет закачки. Тут проблема в том что файлик может быть и удалён (допустим случайно), в итоге получится битая ссылка, которую придётся ещё и проверять на всякий случай. Ну в общем я подумаю над вашим предложением, но по логике — скрипт просто предполагается использовать несколько иначе.
Спасибо, добавлю себе чуток из списка.
Еще раз, спасибо за скрипт.
Only those users with full accounts are able to leave comments. Log in, please.