|
1 | 1 | # notPipe |
2 | 2 | [English](README.md) / **русский** |
3 | 3 |
|
4 | | -Рабочий клиент YouTube для **Android 1.5+**, использующий API [Invidious](https://invidious.io), [yt2009](https://github.com/ftde0/yt2009) и [YtAPILegacy](http://yt.modyleprojects.ru). Сделан с ❤ и расчётом на долговечность. Вместо того, чтобы подключаться к одному определённому инстансу, приложение использует множество инстансов для надёжности. |
| 4 | +Рабочий клиент YouTube для **Android 1.5+**, использующий несколько серверных API. Создан с ❤ и расчётом на долговечность. Вместо того чтобы зависеть от одного инстанса, который может внезапно перестать работать, приложение параллельно использует сразу несколько для максимальной надежности. |
5 | 5 | * **Telegram-канал по проекту:** [@AppDataApps](https://t.me/AppDataApps) |
6 | 6 | * Заходите в наш Telegram-чат **[Retro Android](https://t.me/retroandroidgroup)**! |
7 | 7 |
|
8 | 8 |  |
9 | 9 |
|
10 | 10 | <img src="img/scr1.png" alt="Screenshot" width="200"/> <img src="img/scr2.png" alt="Screenshot" width="200"/> <img src="img/scr3.png" alt="Screenshot" width="200"/> <img src="img/scr4.png" alt="Screenshot" width="200"/> <img src="img/scr5.png" alt="Screenshot" width="200"/> <img src="img/scr6.png" alt="Screenshot" width="200"/> |
11 | 11 |
|
| 12 | +Список поддерживаемых API: |
| 13 | +* [Invidious](https://docs.invidious.io/api/) (метаданные, 360p) |
| 14 | +* [yt2009](https://github.com/ftde0/yt2009) (все качества, конвертация, каналы) |
| 15 | +* [Piped](https://docs.piped.video/docs/api-documentation/) (метаданные, 360p) |
| 16 | +* [YtAPILegacy](https://github.com/ZendoMusic/yt-api-legacy) (метаданные, все качества, конвертация) |
| 17 | + |
12 | 18 | ## 📥 Скачать |
13 | 19 | * [GitHub Releases](https://github.com/gohoski/notPipe/releases) |
14 | 20 | * [OldMarket](http://oldmarket.store/app.php?id=536) |
15 | 21 | * [Моя Интернет Страна](http://myintcountry.ru/index.php?board=android&action=display&num=1) |
16 | 22 | * Telegram (ссылка в начале README) |
17 | 23 | * [4PDA](https://4pda.to/forum/index.php?showtopic=1119054) |
18 | 24 | * [Appteka](https://appteka.store/search?q=notPipe) |
19 | | -* [NeonApps](http://neonapps.ru/app.php?id=456) |
| 25 | +* [NeonApps](http://neonapps.ru/?app=456) |
20 | 26 | ## Возможности |
21 | 27 | > [!NOTE] |
22 | | -> Из-за различных ограничений приложение не подключается к YouTube напрямую. Вместо этого оно подключается к различным инстансам Invidious, yt2009 и YtAPILegacy. Это также обходит ограничения YouTube, поскольку весь трафик проксируется. См. «[Зачем и как это работает](#зачем-и-как-это-работает)». |
| 28 | +> Приложение не подключается к YouTube напрямую, поэтому это обходит различные сетевые ограничения. См. «[Зачем и как это работает](#зачем-и-как-это-работает)». |
23 | 29 | * Популярное, поиск |
24 | 30 | * Видео, похожие видео, комментарии |
25 | | -* Воспроизведение видео |
| 31 | +* Воспроизведение видео в 360p/480p/720p/1080p |
26 | 32 | * Каналы |
27 | | -* Конвертация видео для устройств без поддержки H.264 |
| 33 | +* Конвертация видео для устройств без поддержки H.264 в кодеки MPEG-4 Visual и H.263 |
28 | 34 | * Автоматическое обновление списка инстансов с ссылки |
29 | 35 | * Планшетный интерфейс |
30 | 36 | ### TODO |
31 | | -* Плейлисты |
32 | | -* Авторизация через YTFixer/yt2009 (рекомендации, подписки, история и т. д.) |
33 | 37 | * Скачивание видео |
34 | | -* Скачивание видео как музыку |
| 38 | +* Скачивание аудио |
| 39 | +* Авторизация в YouTube-аккаунт через YTFixer/yt2009 (рекомендации, подписки, история и т. д.) |
| 40 | +* Плейлисты |
| 41 | +* Локальный аккаунт для подписок (как в NewPipe) |
35 | 42 |
|
36 | | -## Фиксим проблемы на Android ≤2.3 |
| 43 | +## Исправляем проблемы на Android ≤2.3 |
37 | 44 | *(видео лагают или вообще не воспроизводятся)* |
38 | 45 |
|
39 | 46 | Если видео не воспроизводятся, сначала попробуйте типичную диагностику: |
|
46 | 53 |
|
47 | 54 | ## Зачем и как это работает |
48 | 55 | Существующие способы смотреть YouTube на старых Android-устройствах страдают от двух фатальных недостатков — неудобства использования и неспособности обходить текущие защиты YT против ботов. Актуальные на сегодня способы имеют следующие проблемы: |
49 | | -* **Единая точка отказа.** Текущие *(и прошлые)* способы смотреть YouTube полагаются на один конкретный инстанс API (сервер). Как только такой инстанс получает заметный объём трафика, YouTube автоматически банит его IP-адрес. Кроме того, один сервер может быть сильно перегружен, из-за чего им становится невозможно пользоваться. |
| 56 | +* **Единая точка отказа.** Предыдущие способы смотреть YouTube полагаются на один конкретный инстанс API (сервер). Как только такой инстанс получает заметный объём трафика, YouTube автоматически банит его IP-адрес. Кроме того, один сервер может быть сильно перегружен, из-за чего им становится невозможно пользоваться. |
50 | 57 | * **Плохая удобность использования.** Веб-обёрткам вроде S60Tube не хватает ощущения нативного приложения, плюс они требуют постоянного переключения между браузером и видеоплеером. Пропатченные APK-файлы под сервер yt2009 требуют нудного ручного изменения под каждый конкретный инстанс. К тому же, они часто страдают от сильной нагрузки при кодировании видео на стороне сервера, что приводит к бесконечной загрузке. Да и старый мобильный дизайн YouTube не всегда удобен. Всё ощущается очень костыльным. |
51 | 58 |
|
52 | 59 | Этот проект был создан с нуля, чтобы решить именно эти проблемы. Вместо того чтобы зависеть от единой точки отказа, этот клиент **использует несколько API и инстансов** одновременно, случайным образом выбирая новый сервер для каждого действия. Такой децентрализованный подход даёт критически важные преимущества: |
|
56 | 63 | 4. **Никакой единой точки отказа.** Поскольку именно так умерли предыдущие клиенты YouTube, здесь всё децентрализовано и открыто для вклада любого желающего. |
57 | 64 | 5. **Автоматическое обновление инстансов.** Список инстансов обновляется автоматически и по умолчанию загружается с http://144.31.189.129/notPipe.json, что требует от пользователя минимум действий. |
58 | 65 |
|
59 | | -## Как помочь проекту |
60 | | -Спасибо, что хотите внести вклад! Любая помощь важна — от отчёта о баге до перевода одной фразы. |
61 | | -### Сообщить о баге |
62 | | -**Вам во вкладку «[Issues](https://github.com/gohoski/numAi/issues)» на GitHub!** Не забудьте указать, на какой версии Android и архитектуре (ARMv5/v6/v7/др.) вы столкнулись с проблемой. |
63 | | -### Помочь с переводом |
64 | | -Проект говорит на вашем языке? А если нет — помогите ему заговорить! Переводы делают приложение доступным и удобным для всех людей. Переведите файл [strings.xml](https://github.com/gohoski/notPipe/blob/main/app/src/main/res/values-ru/strings.xml), учитывая правила [Android string resources](https://developer.android.com/guide/topics/resources/string-resource), и предоставьте его. Вы также можете перевести README.md. |
| 66 | +## Сообщить о баге |
| 67 | +**Вам во вкладку «[Issues](https://github.com/gohoski/notPipe/issues)» на GitHub!** Не забудьте указать, на какой версии Android и архитектуре (ARMv5/v6/v7/др.) вы столкнулись с проблемой. |
65 | 68 |
|
66 | 69 | ## Сборка |
67 | 70 | Проект разрабатывается в следующей среде: |
|
77 | 80 | ## Благодарности |
78 | 81 | * [How-to-develop-and-backport-for-Android-2.1-in-2020](https://github.com/Mik-el/How-to-develop-and-backport-for-Android-2.1-in-2020) — шаблон проекта от Микеле |
79 | 82 | * [NNJSON](https://github.com/shinovon/NNJSON) — библиотека от nnproject |
80 | | -* **Отдельное спасибо всем контрибьюторам [Invidious](https://github.com/iv-org/invidious/graphs/contributors), [yt2009](https://github.com/ftde0/yt2009/graphs/contributors) и [YtAPILegacy](https://github.com/ZendoMusic/yt-api-legacy/graphs/contributors) за создание этих потрясающих API** |
| 83 | +* **Отдельное спасибо всем контрибьюторам [Invidious](https://github.com/iv-org/invidious/graphs/contributors?all=1), [yt2009](https://github.com/ftde0/yt2009/graphs/contributors?all=1), [Piped](https://github.com/TeamPiped/Piped-Backend/graphs/contributors?all=1) и [YtAPILegacy](https://github.com/ZendoMusic/yt-api-legacy/graphs/contributors?all=1) за создание этих потрясающих API** |
81 | 84 | ### Предыдущие клиенты YouTube |
82 | 85 | Хотя они не использовались ни как источник вдохновения, ни как кодовая база, эти приложения заслуживают упоминания, поскольку именно они навели на идею создания этого проекта. |
83 | 86 | * [Mini YouTube от monobogdan](https://github.com/monobogdan/selfeco) — клиент для Android 2.0+, использующий захардкоженный инстанс Invidious с проксированием запросов через российский сервер monobogdan'а. Сейчас прокси-сервер мёртв, а учитывая, что здесь присутствует «единая точка отказа», компилировать проект с новым инстансом, даже убрав прокси, не имеет смысла. |
84 | | -* [ReOldTube от YMP Yuri](https://github.com/YMP-CO/ReOld-Tube) — клиент для Android 3.0+, использующий Invidious. Несмотря на то, что в настройках его можно сконфигурировать для работы и сегодня, в нём полно багов *(да и написан он «на вайбах» / vibecoded)*. |
| 87 | +* [ReOldTube от YMP Yuri](https://github.com/YMP-CO/ReOld-Tube) — клиент для Android 3.0+, использующий Invidious. Хоть и в настройках его можно сконфигурировать для работы и сегодня, в нём полно багов *(да и написан он «на вайбах» / vibecoded)*. |
| 88 | +* [YT-Legacy-Eclair от MoreVista](https://github.com/MoreVista/YT-Legacy-Eclair) — простой клиент для Android 2.1+, использующий Invidious. Единичный инстанс можно сменить в настройках. |
85 | 89 | ## Лицензия |
86 | 90 | Проект **notPipe** распространяется под лицензией Do What The Fuck You Want To Public License, версия 2. Подробности см. в файле [LICENSE](LICENSE). *При желании можете указать меня в README своего проекта.* |
87 | 91 |
|
|
0 commit comments