LINUX.ORG.RU

Релиз Emonoda 2.0.9

 , , ,


7

3

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

  • emupdate — следит за раздачами, используя спецплагины для трекеров; обновляет торрент-файлы при добавлении новых серий или перезаливке раздачи; интегрируется с основными линуксовыми клиентами.
  • emfile — позволяет читать метаданные торрент-файлов и выдает их в человекочитаемом, либо удобном для скриптов формате.
  • emdiff — показывает разницу содержимого двух торрент-файлов в виде диффа.
  • emfind — служит для выполнения различных поисковых запросов, например для поиска в каталоге с данными файлов, не принадлежащих ни одному торренту, зарегистрированному в клиенте.
  • emload — Загружает торрент, создавая полный путь для данных и размещая в указанных местах симлинки.
  • emrm — Удаляет торрент из клиента.

Кроме того, Emonoda включает специализированные скрипты для rTorrent, позволяющие реализовать групповое управление трекерами (включение-отключения для раздач) и отправки статистики в collectd.

Программы написаны на Python 3 (требуется версия >= 3.4) и могут быть установлены из PIP или AUR.

Поддерживаемые трекеры:

Поддерживаемые клиенты:

  • rTorrent
  • KTorrent
  • Transmission

>>> Подробности



Проверено: splinter ()

Я уже давно пишу эту штуковину и использую ее для управления своим сервером с раздачами. Если бы не автоматизация, уследить за ~600 раздачами с анимушными и киносериалами примерно в 10Тб было бы вообще не реально. Emupdate избавляет от необходимости ковыряться с RSS - просто натравил на коллекцию и он следит за всеми раздачами, отправляя на почту и андроид оповещения об обновлениях. А тот же emfind, как только я его написал, нашел мне примерно 500 гигов всякого мусора, оставшегося от старых раздач, данные которых я забывал удалять.

Обычно подобный софт люди костыляют себе в виде баш-скриптов, но я решил сваять что-то удобоваримое и ънтерпрайзное. У системы килотонна параметров на все случаи жизни и хороший плагиновый интерфейс, так что добавление новых трекеров, клиентов и оповещалок не вызовет никаких трудностей. В документации все подробно описано.

Конкурентов у софтины не особо много, ближайший - http://blog.korphome.ru/torrentmonitor/. Он раскрученный, но написан на PHP, внутри чудовищен и работает через веб-морду с базой. Мое же поделие юниксвейно и состоит из кучи консольных программок, настраиваемых через простенький текстовый конфиг.

liksys ()

А вчера люди жаловались что на ЛОРе мало велосипедов, да их завались. Пиши дальше!

weare ★★ ()
Ответ на: комментарий от weare

На самом деле, совсем не велосипед. Торрентмонитор, например, не умеет в поиск, который умеет эмонода, ну и много чего еще. Да и ниши разные.

liksys ()
Ответ на: комментарий от liksys

На слово велосипед не обижайся, это только цитата из того топика.

weare ★★ ()
Ответ на: комментарий от weare

Да я не обижаюсь. Больше опенсорса, хорошего и разного)

liksys ()

Python 3 (требуется версия >= 3.4)

Нужная вешь. Только на Debian 8 не взлетит...Python версии 2.7.9-1...

Odalist ★★★★ ()
Последнее исправление: Odalist (всего исправлений: 2)
Ответ на: комментарий от anonymous

Спасибо добрый человек. Ошибся.Значит буду пробовать Emonoda.

Odalist ★★★★ ()

О, я джва года ждал такой приблуды! Спасибо, буду пробовать!

Turbid ★★★★★ ()

Проект полезный, те кто следит за большим количеством раздач с сериалами и аниме оценят его по достоинству. Жалко, что qBittorrent не поддерживается.

lucentcode ★★★★★ ()
Ответ на: комментарий от anonymous

Прокси юзать умеет? А то с этими сайтоборцами...

ST ()

Хорошая штука, но нужно больше трекеров, например тапочек и флибуста.

Bfgeshka ★★★★ ()
Ответ на: комментарий от ST

Разумеется. Socks/HTTP-прокси из коробки, отдельно для каждого трекера. Плюс, софтина проверяет, заблочен ли сайт (ищет ожидаемый кусочек в разметке), и если заблочен, отказывается продолжать работу, пока ты не настроишь обход.

liksys ()
Ответ на: комментарий от Bfgeshka

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

liksys ()
Ответ на: комментарий от liksys

если знаешь питон, то добавить новый сайт будет легче легкого.

Именно что «если».

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

ST ()

http://torrent.rus.ec/ http://booktracker.org/ Куда ж без обновляемых библиотек? Интересная прога, хотя и на питоне. И тут народ правильно говорит, лучше бы в конфиги трекеры заносить.

zh_v68 ()
Ответ на: комментарий от ST

В конфиги вынести можно, но это будут настолько монстроузные конфиги, да еще и с императивными вставками, что уж лучше питон. Дело в том, что трекеры, при их внешней похожести, очень разные. Это или хитрая процедура логина, или наркоманская разметка временных интервалов, или несколько торрентов под одной ссылкой.

Мне даже проще самому добавлять поддержку того, что люди попросят, чем разбираться с issues от пользователей, почему у них не работает огроменный конфиг.

liksys ()

Оно умеет обновлять только одну раздачу при добавлении новых? Ну т.е. есть онгоинг, каждая серия — новая раздача с названием типа:

[Group]_Title_-_Episode_[1080p]*.mkv
anonymous ()
Ответ на: комментарий от anonymous

Пока только обновляемые раздачи, как на рутрекере.

liksys ()

Python 3 (требуется версия >= 3.4)

питон 3 не нужен же

anonymous ()

Приветствую. [С наступающим]
Оно умеет торрент файлы в папку складывать? Так чтоб qBittorrent потом их автоматически из папки брал и ставил на закачку.

chaos_dremel ()
Последнее исправление: chaos_dremel (всего исправлений: 2)
Ответ на: комментарий от chaos_dremel

Да, умеет. Заменяет в той же папке, откуда взял.

liksys ()

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

sehellion ★★★ ()

1. Переводишь все на ангельский
2. Вбрасываешь на реддит в /r/linux, /r/opensource, /r/python
3. ???
4. Ты уважаемый опенсорс-разработчик с популярным проектом с кучей лойсов

entefeed ()
Ответ на: комментарий от entefeed

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

entefeed ()

Автор молодец, python 3.4+ это отлично! Пара вопросов/замечаний:

  • Зачем хранить версии чужих либ. Нет, оно наверное понятно, чтобы если либы изменят свой api, чтобы поделка не сломалась. Но можно же прописать в setup.py/requirements.txt конкретные версии пакетов.
  • Зачем использовать urllib, когда есть requests?
  • Свой логгер. Хотя вроде он как для цветов сделан, тогда, по-моему, лучше его по-другому назвать.
anonymous ()
Ответ на: комментарий от anonymous

Зачем хранить версии чужих либ.

Затем, что эти либы очень нераспространенные и почти никогда не бывают опакечены. То есть, если приспичит собрать эмоноду в пакет, зависимости почти всегда найдутся в самом дистрибутиве, а то, что не найдется, я тащу с собой. bcoding никто не собирает, а нужной версии pysocks вообще не найти.

Зачем использовать urllib, когда есть requests?

Изначально я писал на коленке, и все рецепты работы с сайтами были исторически на urllib. Потом urllib оказалось проще подружить с pysocks. Пока requests не разродятся нативной поддержкой Socks, смысла на них переходить я не вижу.

Свой логгер.

Цвета, анимация, работа с терминалом. В стандартный логгер использование всяких \r не укладывается.

liksys ()
Ответ на: комментарий от liksys

PySocks вроде есть на pypi. Про requests и socks не знал, теперь понятно. Насчёт логгера, я имел ввиду чисто название, про функциональность-то понятно.

anonymous ()
Ответ на: комментарий от anonymous

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

liksys ()

Если из всего этого добра нужно лишь отслеживание обновлений торрентов, то есть litr.cc

anonymous ()
Ответ на: комментарий от anonymous

Для активных раздающих функционала litr.cc катастрофически мало. Он для массового пользователя, а emonoda - для больших серверов.

liksys ()

Опция «качать только дельту, не скачивая удаленные локально файлы» есть?

t184256 ★★★★ ()
Ответ на: комментарий от t184256

Нет, но принципиально ничего не мешает добавить. Я не делал, потому что мне не нужно. Плагины клиентов умеют сохранять метаданные, которые были назначены на торрент. Скажем, для rtorrent сохраняются теги. Знаешь питон - можешь сделать pr, реализующий поддержку в своем клиенте, я приму. Сама emonoda ничего не качает, а только подменяет раздачи.

liksys ()
Ответ на: комментарий от liksys

Питон знаю, а вот за наличие такой функции в API моего клиента не ручаюсь. Да и если бы я взялся прикручивать эту фичу, прописывать логику с временем обновления и пр., то прикрутил бы это к своему 20-строчному костылю для litr.cc, а не к непонятно чему.

Другое дело, если бы оно там само появилось. Тогда бы это был бы повод мигрировать.

t184256 ★★★★ ()
Ответ на: комментарий от t184256

Там есть get_files/set_files. Нужно делать первое на старый торрент, а потом второе на новый. При этом следует учитывать, что в новом торренте может не быть файлов, которые есть в старом.

Что касается «само появилось» - это здорово, конечно, но клиентов тьма тьмущая, и ставить каждый из них, изучать API и проверять на нем тонну кейсов - убиться можно. Я реализовал основной функционал (в том числе и для трансмишна), сделал платформу и готов поддерживать ее код и то, что мне сдадут в pr. Но у меня нет возможности делать специфические хотелки, которые нужны полутора пользователям, да еще и для клиента, которым не пользуюсь сам. Тем более, раз вы знаете питон, имеете опыт работы с API своего клиента и имеете настроенную инсталляцию, то разобраться с «неизвестно чем» у вас займет 15 минут, используя документацию на русском, а еще час - реализация требуемой функциональности.

liksys ()
Ответ на: комментарий от liksys

Нет, извини. Это час на получение «настроенной инсталляции», 15 минут на написание логики и часы, если не месяцы на ее тестирование и отладку. Ты переоцениваешь простоту своего творения для сторонних людей, контекст его работы слишком сложен. Я даже XMPP-уведомления тебе за час не встрою — на чем мне их тестировать?

t184256 ★★★★ ()
Ответ на: комментарий от t184256

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

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

liksys ()
Ответ на: комментарий от t184256

Ну так я ответил, зачем было рассказывать про свои скрипты и прикручивание?)

liksys ()
Ответ на: комментарий от liksys

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

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

Получилось долговато.

Успехов твоему творению!

t184256 ★★★★ ()
Ответ на: комментарий от t184256

Ну так я и хочу сказать, что на самом деле все очень просто. Тем более, что трансмишн у меня уже поддерживается.

Спасибо.

liksys ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.