PRO1 TikTok — нативная тестовая сборка 0.1.1

Основа: оригинальный TikTok 47.1.4, versionCode 2024701041, Android 6.0+.
Поддерживаются arm64-v8a и armeabi-v7a. Пакет копии: ru.pro1vpn.tiktok.
Устанавливается рядом с обычным TikTok и PRO1 Лентой.

Сохранены классы, ресурсы и нативные библиотеки оригинала, включая камеру,
редактор, эффекты, LIVE, профиль, сообщения и собственный плеер TikTok.
Доступность функций аккаунта определяется серверами TikTok. В копии
входите по телефону или email: Google и Facebook проверяют пакет и подпись.
Физический телефон для проверки запуска, входа, съёмки и видео ещё нужен.

Настройки

Профиль → Настройки и конфиденциальность → HushFeed.
Долгое нажатие на «Главная» также открывает настройки HushFeed.
Вверху этого экрана: «PRO1 · язык видео и обновления».
Язык по умолчанию — русский. Используется язык исходных субтитров;
видео без метки остаются. Это предпочтение, а не распознавание языка речи.
SIM и регион по умолчанию — Латвия; можно изменить в настройках мода.
Реальная выдача зависит также от IP и аккаунта. При необходимости включите
PRO1VPN и добавьте PRO1 TikTok в приложения, проходящие через VPN.

Применены 18 открытых патчей HushFeed 0.71.2: список в patches.json.
Включены фильтрация рекламных карточек, опросов и промо-значков, пропуск
стартовой рекламы, скачивание без водяного знака, региональные настройки.
CAPTCHA, вход и проверки аккаунта сохраняются. Авторские рекламные
интеграции внутри изображения и уже вшитые автором отметки не вырезаются.
Предзагрузка использует оригинальный плеер TikTok.

Обновления

Отдельный канал /updates/android/native/update.json. Проверка при запуске,
не чаще раза за 6 часов. Скачивание выполняет само приложение с прогрессом,
уведомлением и отменой. Проверяются SHA-256 каждого фрагмента и всего APK,
размер, пакет, versionCode, minSdk и совпадение сертификата. Системный
установщик запрашивает подтверждение. Пакет Ленты через этот канал не ставится.
При обновлении сохраняйте ключ и увеличивайте versionCode в манифесте.

Повторная сборка

JDK 21, Python 3.11+, Android SDK platform 37.0 / Build Tools 37.0.0,
как минимум 3 GiB свободного места для временных файлов патчера.
Оригинальный APK должен иметь SHA-256 из patches.json. Подпись оригинала:
9041803e91bcb814b4b4399fb5c85a91640b755e5e8ba76813814bf4cf2ab5ba.

python3 scripts/build.py --vendor /path/tiktok-47.1.4.apk --sdk /path/android-sdk \
  --build-dir /path/native-build --keystore /private/key.jks --key-alias YOUR_ALIAS \
  --store-password-env PRO1_KEYSTORE_PASSWORD --key-password-env PRO1_KEY_PASSWORD

Пароли передайте только через указанные переменные окружения. Ключ в исходники
и в публичный архив не включать. Текущий APK подписан тестовым debug-ключом.

При этой сборке CLI применил все 18 патчей и скомпилировал DEX, но не смог
скопировать большой APK в заполненный временный раздел. Завершение выполнял
наш assemble_apk.py из полных скомпилированных DEX. Сохранность всех классов,
ресурсов и библиотек проверена отдельно; готовый APK выровнен и подписан SDK.
Отчёты находятся в release. Размер включает обе архитектуры и все инструменты
создания видео; облегчённая веб-версия публикуется отдельным APK.

Исходники и лицензии

https://github.com/SysAdminDoc/HushFeed/tree/v0.71.2
https://github.com/MorpheApp/morphe-desktop/tree/v1.18.1
TikTok не публикует исходники оригинального приложения. Сборка содержит
оригинальный бинарный клиент и открытые модификации. Патчи и добавленный
здесь код распространяются по GPL-3.0; см. LICENSE и NOTICE.txt.

Исправления 0.1.1

resources.arsc хранится без сжатия и выровнен на 4 байта, как требует
Android 11+. Два глобальных provider authority перенесены под ru.pro1vpn.tiktok,
чтобы не конфликтовать с официальным TikTok. Проверка упаковки включена в build.py.
Все остальные 26675 записи исходной сборки сохранены. Исправление установки
подтверждено проверками формата; реальная установка на телефоне ещё не проверена.
