NeoDownloader 6
Шоста версія написана з нуля. Ми хотіли зробити NeoDownloader кращим і зручнішим: щоб він працював не лише під Windows; щоб говорив вашою мовою і виглядав так, як подобається вам; щоб підтримка нового сайту не вимагала нового випуску програми. Нижче - наскільки це вдалося.
Знімки на скриншотах: Katsushika Hokusai, The Met, NASA
Скільки сайтів підтримується
Якщо коротко, то сотні й тисячі. Багато дають два рушії в комплекті: Video Downloader та Gallery Downloader, а разом це тисячі сайтів - скільки охоплює кожен, вказано в картках нижче. Наші власні рецепти вже покривають багато сайтів: як іменні, під конкретний майданчик, так і загальні, які беруть будь-яку галерею, гілку форуму чи профіль із передбачуваною структурою. Цей список постійно поповнюється, оскільки рецепт - це файл, а не випуск програми.
Що вже є і що попереду
Біля кожного пункту вказано його стан: реалізовано, частково або в планах.
Як це виглядає
Сучасний інтерфейс: темна тема та дванадцять кольорів
РеалізованоСвітла тема, темна або як у системі - перемикається на льоту, без перезапуску. Акцентний колір обирається з дванадцяти (бірюзовий, синій, фіолетовий, рожевий, червоний, помаранчевий, зелений та інші), і під нього перефарбовується весь інтерфейс, включно з картками проєктів і смугами прогресу.
Тринадцять мов - і ваша, якщо попросите
РеалізованоПопередні версії говорили лише англійською. Шоста розмовляє тринадцятьма мовами, і мова вибирається прямо в програмі, без перезапуску. Вашої серед них немає? Напишіть нам - ми перекладемо на будь-яку, якщо ви готові потім перевірити результат у живому інтерфейсі.
Переглядач і плеєр - швидші та зручніші
РеалізованоПереглядати завантажене, не виходячи з проєкту, стало значно зручніше. Зображення відкривається на весь екран, а внизу - стрічка мініатюр: решта проєкту залишається під рукою, і гортати файли можна, не закриваючи повноекранний режим. Плеєр став швидшим: він декодує відеокартою і тягне відео аж до 8K, тоді як п'ята версія зупинялася на 4K. З'явилися PDF і текстові формати - txt, md, csv, json, - тож зрозуміти, чи це потрібний файл, тепер можна взагалі без іншої програми.
Чим воно завантажує
Плагіни - з чого зібраний продукт
РеалізованоРаніше програма була монолітом: браузер, розбір сторінок і завантаження жили всередині одного файлу, і новий спосіб завантаження означав новий випуск усього. Тепер роботою з джерелом займається плагін - окрема програма зі своїм середовищем виконання та своїми залежностями, аж до власного браузера. У комплекті їх поки що чотири: Video Downloader, Gallery Downloader, власний краулер і плагін для прямого посилання. Вставте адресу - вони відповідають, хто з них із нею впорається, і проєкт дістається тому, хто відповів. Кожен додається, оновлюється і видаляється окремо, а падіння одного плагіна не тягне за собою всю програму.
Плагін Video Downloader у комплекті
РеалізованоVideo Downloader охоплює понад дев'ятсот платформ. Він забирає відео в найкращій доступній якості, разом зі звуком, субтитрами та розділами; бере цілі плейлисти й канали; трансляцію захоплює з її початку, а не з моменту вашого підключення. Якість вибирається зі списку, а папку призначення та журнал веде застосунок.
Плагін Gallery Downloader у комплекті
РеалізованоGallery Downloader - те саме для зображень: близько трьохсот сайтів, де важлива не сторінка, а автор, альбом, тег або добірка. Він проходить посторінкову навігацію до кінця і вміє входити так само, як ви - за паролем, через файли cookie з вашого браузера або через OAuth, - тобто бачить те, що бачите ви. Файли при цьому називаються за правилами, а не скидаються на купу.
Власний краулер і рецепти, що ним керують
РеалізованоПлагін, який ми написали самі, для всього, що не покривають два рушії вище: він обходить сайт - галерею, профіль, борд, гілку форуму, сторінку результатів пошуку - і збирає те, що знаходить. Що саме шукати на конкретному сайті, описано в рецепті: це невеликий файл поруч із плагіном, а не код усередині програми. Рецепти є для 500px, Bing Images, Flickr, Google Images, IMDb, Reddit та інших, а також загальні - на гілку форуму, галерею, окрему сторінку і на обхід сайту цілком.
Візуальний редактор рецептів
ЧастковоВікно, в якому програму вчать новому сайту: рецепт під потрібний майданчик збирається прямо на живій сторінці - зліва дерево того, що рецепт витягує, справа сама сторінка, а потрібний елемент вибирається мишею. Вказування замінює знання розмітки, тому створити рецепт під силу людині без жодного досвіду в цьому. У тому ж вікні лагодять рецепт, який перестав працювати після зміни верстки сайту. Поки що дописується - частина вже працює, частина ще будується, про що застосунок попереджає заздалегідь.
Прямі посилання та fusker-діапазони
РеалізованоАдреса, яка веде прямо на файл, завантажується без жодного розбору сторінки. Так само і діапазон на кшталт photo[1-50].jpg - той самий fusker з п'ятої версії: один шаблон розгортається в п'ятдесят адрес.
Відкритий вихідний код плагінів
РеалізованоКод, який обслуговує сайт, лежить у папці встановлення звичайним текстом на Python і читається як є: відкрийте його, щоб побачити, як саме обходиться сайт, змініть під власні потреби або візьміть за основу для чогось іншого. Залишити його нескомпільованим - це рішення, яке робить таке можливим, і воно було ухвалене саме заради цього.
Власні плагіни та рецепти - для розробників
У планахПлагін - це окремий процес на Python, а не клас усередині нашого коду, і SDK лежить під ліцензією MIT саме для того, щоб чужий плагін мав право з ним лінкуватися. Рецепт для конкретного сайту збирається в редакторі з селекторів, а там, де селекторів не вистачає, - обробником на Python або JavaScript.
Як цим користуються і що далі
Повторний запуск бере лише нове
РеалізованоЯкщо запустити проєкт вдруге, він збере лише ті файли, яких не вистачає, а не все заново: те, що вже збережено, пам'ятається пофайлово і не чіпається. У п'ятій версії це називалося smart update. Тут це просто спосіб роботи під час запуску, і нічого вмикати не потрібно.
Windows і macOS
РеалізованоПопередні версії працювали лише під Windows - для неї вони і були написані. Шоста версія ставиться до операційної системи як до деталі: збірки для Windows і macOS готові, підписані й лежать на сторінці завантаження.
Linux
У планахНаступна на черзі. Ядро вже кросплатформне, тож залишається спакувати збірку для Linux.
Керування з телефону або іншого комп'ютера
У планахДо запущеної копії можна буде звернутися ззовні, і вона виглядатиме так само, як на вашому власному комп'ютері. Керуйте завантаженнями з телефону або з ноутбука в іншій кімнаті, стежте за їхнім виконанням і переглядайте те, що вже завантажено - зображення, відео, звук, документи.
Повний HTTP API
ЧастковоПрограмою можна керувати зі свого скрипта: створити проєкт, запустити його і забрати результат - усе це звичайні запити до ядра. Інтерфейс використовує той самий API, тому ззовні ви маєте доступ до того ж, до чого і він. А саме ядро працюватиме взагалі без вікна - наприклад, на сервері.
Рецепти, які приїжджають самі
У планахТримати рецепти окремо від програми потрібно саме для цього: сайт ламається, і до вас приїжджає файл, а не нова версія. Сьогодні зламаний рецепт можна полагодити на власному комп'ютері, але ніщо не доставляє його вам - канал доставки ще не побудовано.
Запуск за розкладом
У планахПерезапустити проєкт за розкладом і забрати лише нове - те, що в п'ятій версії називалося smart update, тільки без людини за клавіатурою. Ядро зроблене так, щоб працювати без інтерфейсу; планувальник - наступне, що буде написано.
Самооновлення
ЧастковоПрограма помічає, що вийшла нова версія, і повідомляє про це. Завантаження та встановлення поки що потребують вашого кліку.
Чогось не вистачає?
Список вище - це те, що є сьогодні, а не те, чим усе закінчиться. Побажання вітаються: якщо ви чекаєте на те, чого ще немає, або на сайт, який не підтримується, напишіть нам. З таких листів формується наступний етап роботи, а сайти додаються найшвидше.
Ваша ліцензія та ваші проєкти
Якщо ви купували п'яту версію, ключ надіслано листом
Покупка п'ятої версії дає рік безкоштовних оновлень, і шоста версія входить до їх числа. Ми надіслали ключ окремим листом - нічого не потрібно було оформляти і купувати заново теж. Якщо ви купували п'яту версію і ключ до вас не дійшов, напишіть нам.
Ключ шостої версії реєструє четверту і п'яту
Сторінка активації, до якої звертаються ті версії, розуміє новий формат ключа і відповідає їм дійсною реєстрацією. Один ключ покриває три версії, тому перехід на нову не скасовує реєстрацію того, що вже встановлено.
Проєкти та налаштування не переносяться
Внутрішня будова шостої версії дуже відрізняється від п'ятої. Тому перенести налаштування та проєкти з однієї до іншої неможливо: те, що там було однією галочкою, тут може жити всередині плагіна, а не в самій програмі. Однак обидві версії можна тримати одночасно - кожна має свої папки та свої налаштування, і вони не заважають одна одній. Створюйте нові проєкти у шостій версії, а старі нехай спокійно дозавантажуються у п'ятій.
Щось не працює?
Напишіть нам: адресу сторінки, що ви очікували і що сталося натомість. Саме звіти з реальної роботи допомагають знайти помилки, які ми пропустили, і зрозуміти, чи справді зручне те, що ми зробили.