|
| 1 | +<h1 align="center"> |
| 2 | + <img src="fastlane/metadata/android/en-US/images/icon.png" width="25%" /> <br> |
| 3 | + YTDLnis |
| 4 | +</h1> |
| 5 | + |
| 6 | +<div align="center"> |
| 7 | + <a href="https://github.com/deniscerri/ytdlnis/blob/main/README.md">English</a> |
| 8 | + | |
| 9 | + Русский |
| 10 | +</div> |
| 11 | + |
| 12 | +<h3 align="center"> |
| 13 | + YTDLnis — бесплатное приложение с открытым исходным кодом для загрузки видео и аудио на основе yt-dlp для Android 7.0 и новее. |
| 14 | +</h3> |
| 15 | +<h4 align="center"> |
| 16 | + Создано Denis Çerri |
| 17 | +</h4> |
| 18 | + |
| 19 | +<div align="center"> |
| 20 | + |
| 21 | +[](https://github.com/deniscerri/ytdlnis/releases/latest) |
| 22 | +[](https://f-droid.org/en/packages/com.deniscerri.ytdl) |
| 23 | +[](https://apt.izzysoft.de/packages/com.deniscerri.ytdl) |
| 24 | +[](https://ytdlnis.en.uptodown.com/android/download) |
| 25 | + |
| 26 | + |
| 27 | +[](https://github.com/deniscerri/ytdlnis/releases) |
| 28 | +[](https://github.com/deniscerri/ytdlnis/releases) |
| 29 | +[](https://hosted.weblate.org/engage/ytdlnis/?utm_source=widget) |
| 30 | +[](https://discord.gg/WW3KYWxAPm) |
| 31 | +[](https://t.me/ytdlnis) |
| 32 | +[](https://t.me/ytdlnis_updates) |
| 33 | +[](https://ytdlnis.org) |
| 34 | + |
| 35 | + |
| 36 | +### Только перечисленные выше ссылки являются единственными официальными источниками YTDLnis. Всё остальное не имеет ко мне отношения. |
| 37 | + |
| 38 | +</div> |
| 39 | + |
| 40 | +## 💡 Возможности: |
| 41 | + |
| 42 | +- Загрузка аудио- и видеофайлов с более чем <a href="https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md">1000 сайтов</a> |
| 43 | +- Обработка списков воспроизведения |
| 44 | + - Возможность редактировать каждый элемент списка так же, как и обычный элемент загрузки |
| 45 | + - Выбор общего формата для всех элементов и/или нескольких аудиоформатов, если файлы загружаются в виде видео |
| 46 | + - Выбор пути загрузки для всех элементов |
| 47 | + - Выбор шаблона имени файла для всех элементов |
| 48 | + - Массовое изменение типа загрузки на аудио, видео или пользовательскую команду одним нажатием |
| 49 | +- Постановка загрузок в очередь и планирование по дате и времени |
| 50 | + - Также можно запланировать сразу несколько элементов |
| 51 | +- Одновременная загрузка нескольких элементов |
| 52 | +- Использование пользовательских команд и шаблонов либо работа с yt-dlp через встроенный терминал |
| 53 | + - Для шаблонов можно создавать резервные копии и восстанавливать их, чтобы делиться ими с друзьями |
| 54 | +- Поддержка файлов cookie. Авторизуйтесь в своих учётных записях, чтобы загружать закрытые и недоступные видео, открывать премиум-форматы и так далее |
| 55 | +- Разбиение видео по таймкодам и главам (экспериментальная функция yt-dlp) |
| 56 | + - Количество разрезов не ограничено |
| 57 | +- Удаление элементов SponsorBlock из загружаемых файлов |
| 58 | + - Возможность встроить их в видео в качестве глав |
| 59 | +- Встраивание субтитров, метаданных, глав и других данных |
| 60 | +- Изменение метаданных, например названия и автора |
| 61 | +- Разделение элемента на отдельные файлы в соответствии с его главами |
| 62 | +- Выбор различных форматов загрузки |
| 63 | +- Нижняя карточка прямо из меню «Поделиться», без необходимости открывать приложение |
| 64 | + - Можно создать текстовый файл со списком ссылок, списков воспроизведения или поисковых запросов, разделённых переводом строки, — приложение обработает их |
| 65 | +- Поиск и вставка ссылок непосредственно в приложении |
| 66 | + - Можно объединять поисковые запросы, чтобы обрабатывать их одновременно |
| 67 | +- Ведение журнала загрузок для диагностики проблем |
| 68 | +- Повторная загрузка отменённых или неудачных загрузок |
| 69 | + - Жесты: свайп влево — повторная загрузка, вправо — удаление |
| 70 | + - Долгое нажатие кнопки повторной загрузки в панели сведений открывает карточку загрузки с дополнительными возможностями |
| 71 | +- Режим инкогнито, если не нужно сохранять историю загрузок и журналы |
| 72 | +- Быстрый режим загрузки |
| 73 | + - Загрузка начинается сразу, без ожидания обработки данных. Отключите нижнюю карточку — и загрузка запустится мгновенно |
| 74 | +- Открытие и передача загруженных файлов прямо из уведомления о завершении |
| 75 | +- Реализована большая часть функций yt-dlp; предложения приветствуются |
| 76 | +- Интерфейс Material You |
| 77 | +- Возможности настройки темы |
| 78 | +- Создание и восстановление резервных копий |
| 79 | +- Архитектура MVVM с WorkManager |
| 80 | + |
| 81 | +## 🧩 Поддержка плагинов |
| 82 | + |
| 83 | +YTDLnis управляет плагинами, благодаря чему пользователи могут свободно изменять версии компонентов, таких как: |
| 84 | +- Python |
| 85 | +- Среды выполнения JavaScript (NodeJS, Deno) |
| 86 | +- FFmpeg |
| 87 | +- Aria2c |
| 88 | + |
| 89 | +Пакеты ytdlnis можно установить из репозитория [ytdlnis-packages](https://github.com/deniscerri/ytdlnis-packages/) или через раздел обновления в приложении. |
| 90 | +<br>Дополнительные сведения см. в файле README соответствующего репозитория. |
| 91 | + |
| 92 | +## 📲 Снимки экрана |
| 93 | + |
| 94 | +<div> |
| 95 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/01.png" width="30%" /> |
| 96 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/02.png" width="30%" /> |
| 97 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/03.png" width="30%" /> |
| 98 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/04.png" width="30%" /> |
| 99 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/05.png" width="30%" /> |
| 100 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/06.png" width="30%" /> |
| 101 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/07.png" width="30%" /> |
| 102 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/08.png" width="30%" /> |
| 103 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/09.png" width="30%" /> |
| 104 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/10.png" width="30%" /> |
| 105 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/11.png" width="30%" /> |
| 106 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/12.png" width="30%" /> |
| 107 | +<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/13.png" width="90%" /> |
| 108 | +</div> |
| 109 | + |
| 110 | +## 💬 Контакты |
| 111 | + |
| 112 | +Присоединяйтесь к нашему [Discord](https://discord.gg/WW3KYWxAPm) или [Telegram-каналу](https://t.me/ytdlnis): там публикуются объявления, ведутся обсуждения и выходят релизы. |
| 113 | + |
| 114 | +## 😇 Участие в разработке |
| 115 | + |
| 116 | +Если вы хотите внести вклад, ознакомьтесь с разделом [участия в разработке](CONTRIBUTING.MD). |
| 117 | + |
| 118 | +## 📝 Помогите с переводом на Weblate |
| 119 | +<a href="https://hosted.weblate.org/engage/ytdlnis/"> |
| 120 | +<img src="https://hosted.weblate.org/widgets/ytdlnis/-/strings/open-graph.png" alt="Translation status" /> |
| 121 | +</a> |
| 122 | + |
| 123 | + |
| 124 | +<a href="https://hosted.weblate.org/engage/ytdlnis/"> |
| 125 | +<img src="https://hosted.weblate.org/widgets/ytdlnis/-/multi-auto.svg" alt="Translation status" /> |
| 126 | +</a> |
| 127 | + |
| 128 | +## 🔑 Интеграция с сторонними приложениями по имени пакета |
| 129 | + |
| 130 | +Имя пакета приложения: «com.deniscerri.ytdl». |
| 131 | + |
| 132 | +## 🔍 Проверка подписи приложения |
| 133 | + |
| 134 | +Приложение должно содержать приведённую ниже подпись. Она используется в процедуре сборки GitHub Actions, и релизы формируются на её основе, что обеспечивает воспроизводимость сборки. |
| 135 | +Если подпись отличается, значит, сторонний дистрибьютор изменил приложение. Используйте приложение с исходной подписью. |
| 136 | +``` |
| 137 | +Signer #1 certificate DN: CN=Denis Cerri, OU=Personal, O=Personal, L=Albania, ST=Albania, C=AL |
| 138 | +Signer #1 certificate SHA-256 digest: 263645cb5272eb290759fe1f59149ae24df6ce171e9f6666eead981d3fc64c95 |
| 139 | +Signer #1 certificate SHA-1 digest: 2fec9c2fcef68d29a60857e185c795fec5f56fb6 |
| 140 | +Signer #1 certificate MD5 digest: 429d0c6315d2f99650f66cc44cf5a794 |
| 141 | +``` |
| 142 | + |
| 143 | + |
| 144 | +## 🤖 Интеграция с сторонними приложениями с помощью интентов |
| 145 | + |
| 146 | +С помощью интентов можно передавать команды в приложение и запускать загрузки без участия пользователя. |
| 147 | +Допустимые переменные: |
| 148 | + |
| 149 | +<b>TYPE</b> -> принимает значения: audio, video, command <br/> |
| 150 | +<b>BACKGROUND</b> -> принимает значения: true, false. Если указано true, карточка загрузки отображаться не будет, а загрузка будет выполнена в фоновом режиме <br/> |
| 151 | + |
| 152 | +### Пример фоновой загрузки аудиоэлемента с помощью Tasker |
| 153 | +1. Создайте задачу Send Intent |
| 154 | +2. Action: android.intent.action.SEND |
| 155 | +3. Cat: Default |
| 156 | +4. Mime Type: text/* |
| 157 | +5. Extra: android.intent.extra.TEXT:url (вместо "url" укажите URL видео, которое необходимо загрузить) |
| 158 | +6. Extra: TYPE:audio |
| 159 | +7. Extra: BACKGROUND:true |
| 160 | + |
| 161 | +## 📄 Лицензия |
| 162 | + |
| 163 | +[GNU GPL v3.0](https://github.com/deniscerri/ytdlnis/blob/main/LICENSE) |
| 164 | + |
| 165 | +За исключением исходного кода, распространяемого по лицензии GPLv3, иным лицам запрещено использовать название «YTDLnis» в качестве приложения для загрузки; то же касается производных от него продуктов. Производными считаются, в частности, форки и неофициальные сборки, однако этот список не является исчерпывающим. |
| 166 | + |
| 167 | +## 😁 Поддержать проект |
| 168 | + |
| 169 | + |
| 170 | +[<img src="https://raw.githubusercontent.com/WSTxda/WSTxda/main/images/BMC.svg" |
| 171 | +alt='Donate with BMC' |
| 172 | +height="80">](https://www.buymeacoffee.com/deniscerri) |
| 173 | + |
| 174 | +## 🙏 Благодарности |
| 175 | + |
| 176 | +- [decipher3114](https://github.com/decipher3114) — значок приложения |
| 177 | +- [dvd](https://github.com/yausername/dvd) — пример реализации на базе youtubedl-android |
| 178 | +- [seal](https://github.com/JunkFood02/Seal) — отдельные элементы оформления и функции, которые я хотел видеть в этом приложении на этапе начала разработки |
| 179 | +- [youtubedl-android](https://github.com/yausername/youtubedl-android) — порт yt-dlp на Android |
| 180 | +- [yt-dlp](https://github.com/yt-dlp/yt-dlp) и его участники — без них этот инструмент не был бы возможен, а приложение не существовало бы |
| 181 | + |
| 182 | + |
| 183 | +и многим другим, в частности участникам проекта. |
0 commit comments