NeoDownloader 6
Шоста версія написана з нуля. Ми хотіли зробити NeoDownloader кращим і зручнішим: щоб він працював не лише під Windows; щоб говорив вашою мовою і виглядав так, як подобається вам; щоб підтримка нового сайту не вимагала нового випуску програми. Нижче — наскільки це вдалося.
Windows · 177 MB · підписаний інсталятор
Це окрема програма зі своїми папками. Встановлення залишає п'яту версію на місці, і вони працюють поруч.
Скільки сайтів підтримується
Якщо коротко, то сотні й тисячі. Багато дають два рушії в комплекті: yt-dlp для відео та gallery-dl для зображень, а разом це тисячі сайтів — скільки охоплює кожен, вказано в картках нижче. Наші власні рецепти вже покривають багато сайтів: як іменні, під конкретний майданчик, так і загальні, які беруть будь-яку галерею, гілку форуму чи профіль із передбачуваною структурою. Цей список постійно поповнюється, оскільки рецепт — це файл, а не випуск програми.
Що вже є і що попереду
Біля кожного пункту вказано його стан: реалізовано, частково або в планах.
Як це виглядає
Сучасний інтерфейс: темна тема та дванадцять кольорів
РеалізованоСвітла тема, темна або як у системі — перемикається на льоту, без перезапуску. Акцентний колір обирається з дванадцяти (бірюзовий, синій, фіолетовий, рожевий, червоний, помаранчевий, зелений та інші), і під нього перефарбовується весь інтерфейс, включно з картками проєктів і смугами прогресу.
Тринадцять мов — і ваша, якщо попросите
РеалізованоПопередні версії говорили лише англійською. Шоста розмовляє тринадцятьма мовами, і мова вибирається прямо в програмі, без перезапуску. Вашої серед них немає? Напишіть нам — ми перекладемо на будь-яку, якщо ви готові потім перевірити результат у живому інтерфейсі.
Переглядач і плеєр — швидші та зручніші
РеалізованоПереглядати завантажене, не виходячи з проєкту, стало значно зручніше. Зображення відкривається на весь екран, а внизу — стрічка мініатюр: решта проєкту залишається під рукою, і гортати файли можна, не закриваючи повноекранний режим. Плеєр став швидшим: він декодує відеокартою і тягне відео аж до 8K, тоді як п'ята версія зупинялася на 4K. З'явилися PDF і текстові формати — txt, md, csv, json, — тож зрозуміти, чи це потрібний файл, тепер можна взагалі без іншої програми.
Чим воно завантажує
Плагіни — з чого зібраний продукт
РеалізованоРаніше програма була монолітом: браузер, розбір сторінок і завантаження жили всередині одного файлу, і новий спосіб завантаження означав новий випуск усього. Тепер роботою з джерелом займається плагін — окрема програма зі своїм середовищем виконання та своїми залежностями, аж до власного браузера. У комплекті їх поки що чотири: yt-dlp для відео, gallery-dl для галерей, власний краулер і плагін для прямого посилання. Вставте адресу — вони відповідають, хто з них із нею впорається, і проєкт дістається тому, хто відповів. Кожен додається, оновлюється і видаляється окремо, а падіння одного плагіна не тягне за собою всю програму.
Плагін yt-dlp у комплекті
Реалізованоyt-dlp — це те, чим зараз завантажують відео: активно підтримуваний наступник youtube-dl, що охоплює понад півтори тисячі платформ. Він забирає відео в найкращій доступній якості, разом зі звуком, субтитрами та розділами; бере цілі плейлисти й канали; трансляцію захоплює з її початку, а не з моменту вашого підключення. Сам yt-dlp є інструментом командного рядка; тут якість вибирається зі списку, а папку призначення та журнал веде застосунок.
Плагін gallery-dl у комплекті
Реалізованоgallery-dl — те саме для зображень: близько трьохсот сайтів, де важлива не сторінка, а автор, альбом, тег або добірка. Він проходить посторінкову навігацію до кінця і вміє входити так само, як ви — за паролем, через файли 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 та Linux
ЧастковоПопередні версії працювали лише під Windows — для неї вони і були написані. Шоста версія ставиться до операційної системи як до деталі: збірка для Windows готова і підписана, вона й знаходиться на цій сторінці. Збірки для macOS та Linux з'являться найближчим часом — ядро вже кросплатформне, залишається лише спакувати та підписати.
Керування з телефону або іншого комп'ютера
У планахДо запущеної копії можна буде звернутися ззовні, і вона виглядатиме так само, як на вашому власному комп'ютері. Керуйте завантаженнями з телефону або з ноутбука в іншій кімнаті, стежте за їхнім виконанням і переглядайте те, що вже завантажено — зображення, відео, звук, документи.
Повний HTTP API
ЧастковоПрограмою можна керувати зі свого скрипта: створити проєкт, запустити його і забрати результат — усе це звичайні запити до ядра. Інтерфейс використовує той самий API, тому ззовні ви маєте доступ до того ж, до чого і він. А саме ядро працюватиме взагалі без вікна — наприклад, на сервері.
Рецепти, які приїжджають самі
У планахТримати рецепти окремо від програми потрібно саме для цього: сайт ламається, і до вас приїжджає файл, а не нова версія. Сьогодні зламаний рецепт можна полагодити на власному комп'ютері, але ніщо не доставляє його вам — канал доставки ще не побудовано.
Запуск за розкладом
У планахПерезапустити проєкт за розкладом і забрати лише нове — те, що в п'ятій версії називалося smart update, тільки без людини за клавіатурою. Ядро зроблене так, щоб працювати без інтерфейсу; планувальник — наступне, що буде написано.
Самооновлення
ЧастковоПрограма помічає, що вийшла нова версія, і повідомляє про це. Завантаження та встановлення поки що потребують вашого кліку.
Чогось не вистачає?
Список вище — це те, що є сьогодні, а не те, чим усе закінчиться. Побажання вітаються: якщо ви чекаєте на те, чого ще немає, або на сайт, який не підтримується, напишіть нам. З таких листів формується наступний етап роботи, а сайти додаються найшвидше.
Ваша ліцензія та ваші проєкти
Якщо ви купували п'яту версію, ключ надіслано листом
Покупка п'ятої версії дає рік безкоштовних оновлень, і шоста версія входить до їх числа. Ми надіслали ключ окремим листом — нічого не потрібно було оформляти і купувати заново теж. Якщо ви купували п'яту версію і ключ до вас не дійшов, напишіть нам.
Ключ шостої версії реєструє четверту і п'яту
Сторінка активації, до якої звертаються ті версії, розуміє новий формат ключа і відповідає їм дійсною реєстрацією. Один ключ покриває три версії, тому перехід на нову не скасовує реєстрацію того, що вже встановлено.
Проєкти та налаштування не переносяться
Внутрішня будова шостої версії дуже відрізняється від п'ятої. Тому перенести налаштування та проєкти з однієї до іншої неможливо: те, що там було однією галочкою, тут може жити всередині плагіна, а не в самій програмі. Однак обидві версії можна тримати одночасно — кожна має свої папки та свої налаштування, і вони не заважають одна одній. Створюйте нові проєкти у шостій версії, а старі нехай спокійно дозавантажуються у п'ятій.
Шоста версія поки що на стадії тестування
Бета — це майже готовий продукт, який перевіряють на реальних завданнях: так знаходять помилки, які ми пропустили, і так ми дізнаємося, наскільки зручно те, що ми побудували. Натомість ви отримуєте ранній доступ — усе нове раніше за інших. Помітили збій або незручність? Напишіть нам: адресу сторінки, чого ви очікували і що сталося натомість.