feat(spoof): port session spoofing screen with device presets

This commit is contained in:
klockky
2026-04-11 00:21:31 +03:00
parent 8536ec2508
commit 23ef587015
13 changed files with 2398 additions and 541 deletions
+127 -6
View File
@@ -12,7 +12,8 @@ class AppLocalizationsRu extends AppLocalizations {
String get loginTitle => 'Войдите в Komet';
@override
String get loginSubtitle => 'Проверьте код страны и введите свой\nномер телефона.';
String get loginSubtitle =>
'Проверьте код страны и введите свой\nномер телефона.';
@override
String get loginCountry => 'Страна';
@@ -42,10 +43,11 @@ class AppLocalizationsRu extends AppLocalizations {
String get loginDone => 'Готово';
@override
String get loginReadTermsNotification => 'Сначала прочитайте условия использования';
String get loginReadTermsNotification =>
'Сначала прочитайте условия использования';
@override
String get loginSpoofRedacted => 'Подделка спуфа';
String get loginSpoofRedacted => 'Подмена данных';
@override
String get loginProxy => 'Прокси';
@@ -69,7 +71,8 @@ class AppLocalizationsRu extends AppLocalizations {
String get serverUseDefault => 'Сбросить к умолчанию';
@override
String get serverInvalidHostOrPort => 'Укажите корректный хост и порт (1–65535)';
String get serverInvalidHostOrPort =>
'Укажите корректный хост и порт (1–65535)';
@override
String get serverSettingsSaved => 'Настройки сервера применены';
@@ -102,7 +105,8 @@ class AppLocalizationsRu extends AppLocalizations {
String get selectCountrySearchHint => 'Поиск страны…';
@override
String get codeConfirmationSmsSent => 'Мы отправили SMS с кодом подтверждения на ваш номер телефона.';
String get codeConfirmationSmsSent =>
'Мы отправили SMS с кодом подтверждения на ваш номер телефона.';
@override
String codeResendInSeconds(int seconds) {
@@ -149,5 +153,122 @@ class AppLocalizationsRu extends AppLocalizations {
String get proxySettingsSaved => 'Настройки прокси применены';
@override
String get proxyInvalidHostOrPort => 'Укажите корректный хост и порт прокси (1–65535)';
String get proxyInvalidHostOrPort =>
'Укажите корректный хост и порт прокси (1–65535)';
@override
String get spoofScreenTitle => 'Подмена данных сессии';
@override
String get spoofInfoHint =>
'Нажмите \"Сгенерировать\":\n• Короткое нажатие: случайный пресет.\n• Длинное нажатие: реальные данные.';
@override
String get spoofMethodTitle => 'Метод подмены';
@override
String get spoofMethodPartial => 'Частичный';
@override
String get spoofMethodFull => 'Полный';
@override
String get spoofMethodPartialDescription =>
'Рекомендуемый метод. Используются случайные данные, но ваш реальный часовой пояс и локаль для большей правдоподобности.';
@override
String get spoofMethodFullDescription =>
'Все данные, включая часовой пояс и локаль, генерируются случайно. Использование этого метода на ваш страх и риск!';
@override
String get spoofDeviceTypeTitle => 'Тип устройства';
@override
String get spoofDeviceTypeDescription =>
'Выберите тип устройства для генерации пресетов. При нажатии \"Сгенерировать\" будут использоваться только пресеты выбранного типа.';
@override
String get spoofDeviceTypeLabel => 'Тип устройства';
@override
String get spoofMainSectionTitle => 'Основные данные';
@override
String get spoofFieldDeviceName => 'Имя устройства';
@override
String get spoofFieldOsVersion => 'Версия ОС';
@override
String get spoofRegionalSectionTitle => 'Региональные данные';
@override
String get spoofFieldScreen => 'Разрешение экрана';
@override
String get spoofFieldTimezone => 'Часовой пояс';
@override
String get spoofFieldLocale => 'Локаль';
@override
String get spoofIdentifiersSectionTitle => 'Идентификаторы';
@override
String get spoofIdentifiersDescription =>
'mt_instanceid и clientSessionId генерируются автоматически при каждом запуске приложения. Изменить можно только Device ID.';
@override
String get spoofFieldDeviceId => 'ID Устройства';
@override
String get spoofRegenerateIdTooltip => 'Сгенерировать новый ID';
@override
String get spoofFieldAppVersion => 'Версия приложения';
@override
String get spoofFieldBuildNumber => 'Build Number';
@override
String get spoofFieldArchitecture => 'Архитектура';
@override
String get spoofButtonGenerate => 'Сгенерировать';
@override
String get spoofButtonApply => 'Применить';
@override
String get spoofDialogUnsureTitle => 'Ты уверен?';
@override
String get spoofDialogUnsureContent =>
'Приложение может начать работать нестабильно из-за несовместимости API';
@override
String get spoofDialogCancel => 'Отмена';
@override
String get spoofDialogYes => 'Да';
@override
String get spoofDialogApplyTitle => 'Применить настройки?';
@override
String get spoofDialogApplyContent => 'Нужно перезайти в приложение, ок?';
@override
String get spoofDialogApplyDeny => 'Не';
@override
String get spoofDialogApplyConfirm => 'Ок!';
@override
String spoofErrorApplyFailed(String error) {
return 'Ошибка при применении настроек: $error';
}
@override
String get profileMenuSpoof => 'Подмена данных';
}