Идеальный Торрент монитор и прочие радости жизни. Мысли вокруг да около.

Давно не писалось почему-то в блог, многое поменялось. Не смотря на лидирующие позиции моего первого и единственного опроса на сайте о том, кто лучше, кот или муж, кота я все-таки не завела. А вот муж появился. Но это отдельная история.

Сменила я недавно свой любименький asus rt-n16, пришлось оставить у родителей. Не забирать же у них в связи с тем, что дочь выросла и уехала жить отдельно, правильно? Мучались с старым нетгиром полгода, и наконец-то купили новенький, с иголочки топовый Asus RT-n66u. Радости было.. Захотелось сразу написать, как я собирала прошивку для него сама (все та же томата, все того же тостмана, ничего не изменилось). Потом, какие серверы я поднимала и как настраивала тайм-машину и daap-сервер..
Но что-то не пошло. Может еще напишу.

А пока у меня есть более любопытная тема.

На хабре нашла статью про любопытное приложение TorrentMonitor (http://habrahabr.ru/post/157319/). Попало оно как раз в жилу, если бы не оно, я бы сама начала что-то похожее писать. Скриншоты выглядели радужно, очень обнадеживающе. Как мне показалось, при наличии роутера, крутящегося на нем веб-сервера, подключенного жестака и трансмишн, там же работающем в постоянном режиме, TorrentMonitor был как раз кстати и вписывался в картину почти идеально. Не без проблем (http://habrahabr.ru/post/157319/#comment_5392719 ) я его поставила и запустила.

Никто не будет отрицать, что во времена таких клевых сериалов, как Декстер, Теория большого Взрыва и так далее хочется держать руку на пульсе и иметь всегда свежие версии. В случае с utorrent можно добавить rss-ленты и скачивать автоматом. Transmission тоже предлагает свои варианты такой реализации (мне не подходящие, кстати). Почти все клиенты дают возможность мониторить папку с торрентами и добавлять в загрузку появившиеся там файлы.

Но, увы, все это только костыли. Большинство торрент-трекеров не имеют своей ленты rss с торрентами, а если и имеют, накладываются всякие другие ограничения, поэтому появление TorrentMonitor зажгло в моей душе надежду, что все это наконец-то в прошлом.
К сожалению, за красивой аякс-оболочкой скрывался скудный функционал, не достойный такого дизайна (извините меня, пожалуйста, автор). Кому-то наверное достаточно 4х трекеров и единственного функционала складывания ентого в папочку. Но этого конечно мало. Теперь по порядку.


Умеет эта радость из коробки:
+Следить за темами rutracker.org и nnm-club.ru
+Следить за раздачами определенных авторов на вышеуказаных форумах
+Следить за rss лентами lostfilm.tv и novafilm.tv
+Логиниться с вашими логин-паролями на вышеуказанные трекеры
+Запускаться каждые 10 минут (силами крона, или в моем случае cru), проверять обновления, если что — качать.
+Аккуратно складывать все скачанные торрент-файлы в обозначенную папочку
В общем вроде бы и все, что она умеет. Сразу недостатки — чтобы это работало, нужно чтобы торрент-клиент и сервер были на одной машине (либо использоваеть shared directory, либо dropbox, либо что-то похожее). Дропбокс на роутер или другую железяку такого типа уже не поставишь. Шарить папку удаленному vps уже проблематично. Хотя было бы желание.. В общем, меня не устроило. Еще одна проблема — даже если бы я натравила трансмишн на папку с торрентами, они бы скачивались абсолютно хаотично, в одну папку, а мне это не нужно. Хочу раскладывать по папочкам, каждому сериалу своя. Еще немного подумав и обмозговав я решила, чего мне не хватает для идеального ТоррентМонитора, который даже не стыдно друзьям показать, к примеру.. хотя это наверное лишнее. Вот эти фичи:
-Перестать быть зависимыми от четырех трекеров, дать возможность добавлять самим rss-ленты. Да, там не будет логина-пароля, зато можно передать куки и работаь это будет для всех лент, особенно специфических релиз-групп, где релизы появляются раньше всех, где сложно набрать рейтинг(да, там все еще есть рейтинг), да и на сайтах релиз-групп обычно есть рсс с торрентами, как надо. Надеюсь, суть понятна.
-Мой клиент, transmission, обладает хорошим api для удаленного управления. В котором можно указать и ссылку на торрент, и путь, куда скачивать файл и вообще, настраивать как угодно. Поэтому это стало для меня условием использования вообще этого инструмента.
-Когда я тестировала работу торрент-монитора, меня постигла неудача, многие заметили, что последний сезон Теории Большого Взрыва пропал с рутрекера (закрыли правообладатели) и тогда следующим моим желанием стало добавление одного специфического внутригородского трекера, детища одного из провайдеров города. Попозже расскажу подбробнее.
-Ну для себя лично я все проблемы закрыла предыдущими пунктами, но мне показалось, что для идеала не хватает еще одной возможности. Собственной rss-ленты, которая бы отдавала все, нашел в ленте с прямыми ссылками на торренты. Это бы помогло добиться единообразия в ленте, в utorrente, и вообще, сделало бы использование сервера-ТоррентМонитор и торрент клиента на разных машинах намного более возможным.

А теперь самое интересное.
При моем почти нулевом знании php и сильном нежелании его изучать я, давно усвоив со времен Miranda IM, что если хочешь что-то, пришли патч, реализовала почти все, что мне нужно было за две недели.
1. Нашла первый попавшийся php-модуль для работы с transmission api, почти сразу заработал. Добавила во все файлы его вызов. Много правила в базе, добавила для каждого торрента папку, куда скачивать файл. Очень быстро, за три дня было готово все.
2. Наступило затишье, в общем-то можно было начинать пользоваться, что я и сделала. Затем я все-таки не выдержала, и расколупала модуль для работы с lostfilm (по большей частью комментированием и удалением) и сделала из этого всего модуль для работы с rss. На удивление тоже все заработало.
3. С локальным трекером было сложнее всего. Сначала я хотела писать свой парсер для него, потому что без поллитра не разобрать его так просто. Чтобы попасть к прямой ссылке на торрент, надо пройти квест из кликов.
Не захотев изобретать велосипед и переискав весь интернет я все-таки вернулась к уже проверенному инструменту. Yahoo Pipes. Дело осложнялось тем, что ссылки на торренты отдаются только внутри города, а значит американцу они не очень-то доверяются. Нашла совет в том же гугле, что можно поднять у себя прокси, и через него отдавать ссылки yahoo pipes. Поставила по совету оттуда же Glype® proxy. За 5 минут. Результат меня в общем-то порадовал, одно только омрачило мою радость. Yahoo ломился на robots.txt и не шел, куда не надо. Пришлось немного править. В общем-то все было готово, яху успешно забирал страничку трекера, парсил, находил все как надо, но долго. Потом я просто заменила прокси на php файлик

<? readfile ($HTTP_GET_VARS [«u»]); ?>

Самый простейший прокси, который можно придумать. Но для моих целей годится.

Кстати о yahoo pipes. За последние пару дней я поняла, что rss можно сделать из абсолютно любого сайта и в абсолютно произвольной форме. Если честно, в процессе написания «трубы» у меня возникало ощущение, что я выворачиваю сайт наизнанку или вытаскиваю у него кишки, дабы они были на всеобщем обозрении.. Маленький хинт, если вы копаете «вглубь» какого-то сайта в pipes, делайте это в два этапа. Напишите сначала трубу, которая в качестве input берет ссылку на страницу и какие-нибудь параметры, парсит и возвращает результат. Тогда в другой «трубе» можно будет вызывать эту в цикле, и в input передавать как в параметр все что угодно. У меня, например, была ссылка на страницу с описанием сериала, в котором была другая ссылка, ведушая  уже на страницу с ссылкой на торрент. Вот мне нужно было к каждой такой ссылке в новости сопоставить ссылку на торрент. Ничего. Получилось.

А кто дочитал этот скучный текст без картинок молодец. Тому в качестве награды полезная ссылка http://habrahabr.ru/post/159029/ . Самый просто способ использования Hulu. Смотрели сегодня с мужем очередную серию Теории с сабами. Не только на дд-врт канает, но и на томато. Вот и все.

P.s. Как выложить свои исходники наработок по torrentmonitor не придумала. Кому надо — пишите, решим.

One thought on “Идеальный Торрент монитор и прочие радости жизни. Мысли вокруг да около.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *