Peer-to-Peer

индекс
244,35

Управление торрент-клиентом через email

image

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

Я решил сократить это время и просматривал рецензии на фильмы в свободное время в метро, на своей старенькой Nokia с браузером Opera Mini. «Как бы хорошо, если бы можно было отправить себе на почту ссылку на фильм. Пришел домой, а он уже скачался», — думал я. После поиска различных решений я нашел замечательный веб-интерфейс к торрент-клиенту. Но воспользоваться им так и не получилось, для этого требуется хороший мобильный девайс, да и на айфоне своего друга я так и не смог заставить сделать то, что я хотел. Как-то всё было сложно.

Других вариантов не было, и я решил написать свое решение по автоматизации закачки фильмов. Решение простое, посылаем сами себе письмо с сабжем «utorrent» и ссылкой (или несколькими ссылками) на страницу с фильмом на rutracker. Специальная программа проверят наш ящик. Если поступила команда, то она скачивает торрент-файл со страницы фильма в определенную директорию. А дальше дело уже за специальным образом сконфигурированным торрент-клиентом (в моем случае это uTorrent).



Все входящие письма, распознанные как команды автоматически помечаются как просмотренные (чтобы лишний раз не захламлять свой ящик). Можно сделать отдельный ящик для этой программы. В данный момент нет никакой защиты от того, что вам кто-то пошлет ссылку с сабжем utorrent. Я посчитал эту функциональность излишней и не стал загромождать приложение. Если вам интересно, то вы можете добавить эту функциональность самостоятельно.

Сам проект на .NET и исходники доступны тут:

http://utorrentremote.codeplex.com/

Конфигурация торрент-клиента выглядит как-то так:

image

Лог работы программы выглядит примерно так:

22:10:01 Looking for commands in not.for.spam@gmail.com
22:11:06 Received messages: 1
22:11:07 Added rutracker.org/forum/viewtopic.php?t=111222333
22:11:16 OK Logged in to rutracker.org
22:11:16 Trying to download from rutracker.org/forum/viewtopic.php?t=111222333
22:11:22 Torrent file downloaded from dl.rutracker.org/forum/dl.php?t=111222333 to torrents\2011-03-30_22-11-22_888.torrent


В исходниках также есть примеры работы с протоколом IMAP на .NET. На данный момент, кроме базовой функциональности, проект представляет собой интересный playground. Поэтому если у вас будет свободный вечер, то вы можете, скажем, добавить уведомление о том, что команда была получена. Или добавить какие-либо альтернативные торрент-трекеры.

Я старался сделать архитектуру не очень сложной, одновременно понимая, что не смогу сделать код идеальным за короткое время. Поэтому некоторые недочеты могут быть. Оставляйте свои комментарии и пожелания к посту. Я надеюсь, что найдутся энтузиасты, которые смогут добавить ваш любимый торрент-трекер в программу.

(в данный момент я ищу работу в US/UK, если у вас есть что предложить, присылайте на мой емайл programmer.work/at/gmail.com)
+49
31 марта 2011, 13:15
61

комментарии (50)

0
imbeat #
Очень полезный пост!
Большое человеческое спасибо Вам!
+7
AmoN #
Конечно здорово, что своя программка, но избыточно, если есть уже готовые решения. Ставим дома Dropbox, в utorrent ставим забирать файлы из нужной папки. Через Opera mini загружаем нужный торрент в dropbox. Дома началось скачивание.
+3
Gangsta #
Согласен, я знал про это решение, но там возникает процесс под названием «загрузить торрент». Иногда рутрекер не пускает на сайт, говорит зайдите через какое-то время. Поэтому с мобильника сложновато туда входить. Также сложновата операция по скачке .torrent-файла и загрузки ее в определенную папку на мобильнике и синхронизации этой папки. Слишком много ненужных телодвижений на мой взгляд ИМХО. Все это выполнить на компьютере — без проблем. Но на каком-нибудь мобильном девайсе это надоедает.

В uTorrentRemote также предусмотрена возможность автоматического входа, он пробует входить до тех пор, пока не войдет на сайт.
0
NRJ #
Сейчас сайт все еще выдает информацию о перегруженности?

Я не берусь утверждать, мб есть и официальная информация, но когда в какой-то момент количество отданного уходит далеко за несколько терабайт, а ratio также становится гораздо больше единицы, сайт пускает без проблем.

По крайней мере, я не видел этой таблички про перегруженность рутрекера года 2.
0
EvilWolf #
Не вижу эту табличку уже как год точно). Ратио 0,76, скачано 1ТБ, роздано около 800гб.
–1
lasthero #
Дропбокса нету для моего роутера, а торренты качаю я именно им.
0
Gesper #
Тоже в свое время писал скриптик на питоне, который при получении письма с торрент файлом кидал этот файл в автолоад директорию торрент клиента. Но потом просто запихал эту директорию в дропбокс и жизнь стала проще.
0
Gangsta #
Ну тут просто ссылка кидается, или несколько ссылок. Без торрент-файлов и без dropbox'а. Это уже кому как удобно.
0
Mezomish #
А исходниками не поделитесь? А то дропбокс для меня не подходит — нет клиента под ARM-овый Дебиан (который у меня на домашней качалке).
–2
demonstr #
Для себя я данную проблему решил 100 мегабитным интернетом :) Теперь процесс скачки фильма занимает минуту — две. Но за интересное решение — спасибо, поиграюсь.
+2
Colobock #
Вы не поверите, но скоростью входящего канала не решается проблемы закачки с небольшого количества сидов, да еще и с низкой скоростью отдачи.
У меня интернет быстрее раз в пять, но некоторые раздачи качаются неделями.
0
Dyr #
Пятисотмегабитный интернет-канал?!
0
Colobock #
Да.
–1
t0H #
кааак у вас все сложно)
а я для этого же DropBox использую…
+1
Gangsta #
ну так это проще :) с самого дохлого мобильника все работает. Команд разных можно добавить (представляешь, приходишь домой, а комп уже не только торрент скачал, но и фильм за тебя посмотрел).
–1
t0H #
С самого дохлого мобильника напряжно посылать ссылки ))))
ну по крайней мере мне… и это у меня ещё кпк…
Хотя все на любителя)
+3
Gangsta #
просто поддержка email в дохлых мобильниках чаще всего все-таки есть, из этого и исходил :)
–2
alkash #
Согласен. DropBox`ом намного проще
–4
steam #
Вы что-же, качаете контрафакт? (прищуриваясь)
+8
Gangsta #
Только авторские раздачи, конечно. Все по закону, товарищ полковник!
–2
System32 #
Может, моя мысль покажется крамольной, но, быть может, можно подключить нормальный интернет-канал, чтобы на скачивание фильма уходило меньше времени, чем на его просмотр?
+7
Gesper #
А расскажите мне, где мне в Минске подключить такой канал? Я вам спасибо скажу.
0
Dyr #
По-моему, в последнее время стало популярней смотреть фильм с вконтактега, настолько там всего много выкладывается.
+2
Mezomish #
И всем сидерам заодно?
0
Che13 #
каждому добросовестному сиду по сидбоксу! :)
0
Intelligent #
Интересно, как такое же сделать для клиента на роутере? (задумываясь)
0
Gangsta #
надо подумать на эту тему, мне тоже интересно :)
0
WebMonet #
Как-то давно сделал web-интерфейс, куда можно было загрузить torrent-файл и оставить адрес почты. Сервер скачивал торрент и отправлял на мыло прямую ссылку на скачанные материалы.
Но хабрасообщество зарубило эту инициативу. Оживить?
0
t0H #
а зачем нужен скаченный где-то файл… который потом опять качать?
Вот если бы потом в место ссылки отправлялись диски с записанными файлами… Хотя такой сервис, по моему, уже существует…
0
WebMonet #
У меня в корп. сети торренты закрыты. Но есть много интересного. Так поставил закачку — оно скачалось, но уже на хорошей скорости, с докачками и прочими плюшками. Пришел домой — перезалил себе.
0
bismark #
У меня вебинтерфейс отлично работает. Телефон Nokia X6.
+1
AmoN #
Ну если X6 в твоем понятии «дохлый мобильник».
0
bismark #
У автора поста и на ифоне не заработало. А ифон покруче Нокии…
–1
MpaK999 #
Кстати, удобно было бы сделать из этого сервис, ты ему мыло шлёшь с ссылкой на рутрэкер и/ил рутор, он выкачивает торрент файл, подключается сам к вашему домашнему веб-интерфейсу и отдаёт ему уже торрент!
–1
KJouflay #
Мне проще удалённо зайти на работающую дома машину и назначить всё что надо.

Или же скачать во время прибытия домой. Благо канал позволяет.
0
SokoloffP #
Решение вполне имеет право на жизнь. Я решил эту задачу для себя связкой DropBox (дом + работа + wm-коммуникатор) и SyncToy.
+3
brammator #
Тем, у кого по каким-то причинам не работает дропбокс, можно использовать блог с рсс. Запостил линк на .torrent-файл — мюторрент сам его подхватил.
0
edwardoid #
Что-то мне подсказывает, что Вы не проверяете с какого адреса пришло письмо с командой.
Или я ошибаюсь?
Я просто использовал нечто подобное, когда мне надо было узнавать свой динамически меняющийся IP.
0
Batonchik #
а разве не легче было настроить клиент No-ip, DynDNS или их альтернатив и заходить по стабильно имени?
0
edwardoid #
Гораздо легче! Жаль только, что ed@netbook:~$ vim sendmyrealip.sh случился раньше, чем Applications->Internet->Google Chrome

:(
0
Gangsta #
Смысла проверять адрес нет, его легко можно подделать. Поэтому это нужно учесть, если вы захотите добавить в программу функционал по форматированию жесткого диска :)

Проблема проверки команды решается путем реализации механизма проверки цифровой подписи, но это будет уже антипаттерн «неоправданное усложнение».
0
Daemon_Hell #
Для всяких сериалов проблема отлично решается при помощи sick beard. Сам скачает torrent-файл, сам положит куда надо и потом скачанный файл положит в нужную папку с правильным именем.
sickbeard.com/
0
AmoN #
Ну эта штука ведь для сериалов на английском. А для русских сериалов, она и не нужна, с ними проблем нет. Что у лостфильма, что у новы есть rss для utorrent.
0
Daemon_Hell #
У сериалов на английском есть два огромных преимущества:
1. Они выходят раньше.
2. У них озвучка значительно лучше.
+1
AmoN #
Я да же спорить не стану, да и глупо было бы говорить, что сериалы переведенные на русский, могут быть лучше оригиналов(хотя вот переводы Кураж-Бомбей, если не лучше… то просто дают наш колорит сериалу). Понимать разговорный из сериалов, уровень английского все же надо иметь выше среднего :[
0
Demir0 #
слава богу, что человечество придумало субтитры!
0
Dyr #
Так вы сериалы читаете или смотрите? )
0
Demir0 #
Разве одно другое исключает?) У нас в Украине русские сериалы субтитрируют украинским по ТВ, кстати. И я читаю субтитры, хотя сам в жизни общаюсь на русском. Привычка такая, оно там мигает и привлекает внимание) Та же беда и в кинотеатрах.

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

Ну и наконец если смотреть с английскими сабами, то потом потребность в них отпадает совсем. Вчера буквально посмотрел Last Night без субтитров в оригинале и все ок, хотя еще несколько лет назад для меня это было бы фантастикой — на слух язык вообще не воспринимал.
0
Boiler #
Адрес вашего ящика не подскажите? :)
0
Gangsta #
так там написано повыше ;) Я все жду когда же кто-нибудь пришлет мне ссыль :)

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