Как стать автором
Обновить

Torrent Updater — OS X Open Source программа для проверки новых версий .torrent файлов на популярных трекерах

Время на прочтение 2 мин
Количество просмотров 2.6K
Torrent Updater

Год назад у меня появилась проблема. Проблема заключалась в том, что я устал следить за выходом новых серий моих любимых сериалов, скачивать .torrent файл с трекера, и ставить его на скачку. Хотелось это дело как-то автоматизировать.

Если есть проблема, то надо ее решать. Опыта разработки под OS X на Obj-c у меня не было, зато было время и желание попробовать.



Недели две у меня ушло на изучение теории и еще месяц на написание программы. Программа работала только с трекером RuTracker.org и дико глючила. Первоначально я собирался выложить исходники на GitHub, но, посмотрев на качество получившегося кода, передумал. Я сам еле-еле мог найти в этом коде хоть что-нибудь. Программу выложил на тот же RuTracker, получил много хороших отзывов, но и много багов и просьб. Спустя два промежуточных релиза исправил все баги, сменил графику приложения (спасибо пользователю olenyev с форума RuTracker.org) и добавил пару функций.

По неопытности я напридумывал кучу костылей и сделал немало ошибок:
  • Логин/пароль хранился в обычном plist файле, никак не защищенный.
  • Большая часть кода была прямо в AppDelegate.
  • Система обновлений работала так: на своем сайте я сделал страничку, где просто в plain тексте был написан номер актуального релиза. Программа сравнивала этот номер с номером релиза запущенной программы, и, если что, предлагала перейти на RuTracker.org, чтобы скачать свежую версию программы.
  • Переменные везде названы по разному.
  • Нет единого стиля кода.


Почти целый год я не возвращался к этому проекту, как и к Objective-C в общем. Ушёл с корнями в web development, и не было времени на развитие программы. И так бы ничего и не изменилось, если бы мне не написал человек, который поблагодарил меня за столь полезную программу. А затем аккуратно поинтересовался, можно ли сделать поддержку New-Rutor.org.

Сам же я давно хотел сделать поддержку Kinozal.tv, но не хватало мотивации. Тот код я не хотел трогать даже длинной палкой с безопасного расстояния, но благодарное письмо пробудило во мне веру в человечество, и я решил переписать все с нуля.

Пять дней я не работал, делал только этот проект. Писал все честно с нуля, копипастил старый код всего лишь пару раз. Olenyev нарисовал новую графику, я сделал сайт на GitHub Pages. Ещё месяц на тестировку и исправление багов, и я готов представить своё творение миру.

Вот что получилось в итоге:
  • В теории поддержка 10.7 — 10.9 (на практике 10.7 — 10.8 не проверялась, т.к. мало бета тестеров у меня).
  • Все настройки трекеров находятся в .plist файле => новые трекеры добавить можно за минимальное кол-во времени.
  • Код, на мой сугобо непрофессиональный (в этой сфере) взгляд, читабелен.
  • Система обновления с помощью фреймворка Sparkle.
  • Логины/пароли вообще нигде не вводится и не хранится. Используется Cookie Jar браузера Safari.

Ещё пара скриншотов



Теперь мне не стыдно показать исходники миру, посмотреть можно в GitHub репозитории проекта.
Скачать программу можно на официально сайте проекта.
Теги:
Хабы:
+4
Комментарии 6
Комментарии Комментарии 6

Публикации

Истории

Ближайшие события

PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн
Weekend Offer в AliExpress
Дата 20 – 21 апреля
Время 10:00 – 20:00
Место
Онлайн