Что именно делает каждый скрипт
Два разных скрипта — два разных дела. Разбор того, что каждый из них делает, прежде чем запускать любой из них
Скрипт 1 — «Получить ссылку» (обычный импорт)
Это скрипт за кнопкой «Копировать команду» в обычном импорте по ссылке — простой, существовавший ещё до «Быстрого импорта». Всё, что он делает, — находит ссылку и копирует её в буфер обмена; сам скрипт никуда ничего не отправляет.
1. Разрешение только для этого окна
Команда начинается с Set-ExecutionPolicy Bypass -Scope Process. «-Scope Process» означает, что разрешение действует только в этом одном открытом окне PowerShell — никаких постоянных изменений в Windows, всё исчезает вместе с закрытием окна.
2. Поиск, где установлена игра
Скрипт читает Player.log — обычный технический лог, который игра сама пишет для отладки своих же ошибок. Внутри находится путь к папке установки игры — его туда записывает сама игра.
3. Чтение копии кэша самой игры
Внутри папки игры есть webCaches — кэш встроенного браузера, которым игра рисует всплывающие окна вроде истории круток (это окно — встроенная веб-страница, не часть основной 3D-игры). Скрипт копирует один файл оттуда во временную папку — именно копию, не оригинал — и ищет в ней ссылку с getGachaLog: тот же адрес, что открывает сама игра, чтобы показать вам историю.
4. Одна проверка — и всё готово
Перед тем как отдать вам ссылку, скрипт делает один пробный запрос на официальный сервер игры — убедиться, что ссылка ещё действует, точно так же, как это сделала бы сама игра. Временная копия удаляется, ссылка копируется в буфер обмена.
Скрипт 2 — «Быстрый импорт» (полная локальная выкачка)
Зачем нужен отдельный способ
Обычный импорт по ссылке качает вашу историю не с вашего компьютера, а с нашего сервера — и все, кто запускает импорт в одно и то же время, делят один и тот же лимит запросов к серверам игры. Чем больше людей качает разом, тем дольше ждёт каждый. «Быстрый импорт» решает это иначе: историю выкачивает скрипт прямо с вашего компьютера, под лимит вашего собственного интернета, а не общий на всех сразу.
Скрипт находит ту же временную ссылку на историю круток, что и обычный способ, — но дальше не останавливается на этом. Он сам проходит по всем страницам истории, собирает крутки и отправляет их на сайт коротким одноразовым ключом, который сайт выдал именно на этот импорт. Пароль от игры или сайта скрипту не нужен ни на одном шаге.
Что происходит, пока вы ждёте
1. Разрешение только для этого окна
Команда начинается с Set-ExecutionPolicy Bypass -Scope Process. «-Scope Process» означает, что разрешение действует только в этом одном открытом окне PowerShell — никаких постоянных изменений в Windows, всё исчезает вместе с закрытием окна.
2. Находит и проверяет ссылку на историю
Тот же самый механизм, что и у обычного способа импорта (см. FAQ «Это безопасно?») — скрипт читает служебный лог и кэш игры, находит временную ссылку на историю круток и убеждается, что она ещё действует. Здесь это не новое: просто первый шаг перед тем, что начинается дальше.
3. Листает историю сам, баннер за баннером
По найденной ссылке скрипт обращается на официальный сервер игры ещё раз, много раз подряд — по ~20 записей за раз, отдельно по каждому баннеру. Между запросами — пауза около полусекунды, чтобы не создавать нагрузку на серверы игры сверх того, что делает сама игра, когда вы сами листаете историю до конца.
4. Показывает прогресс прямо в консоли
Пока идёт выкачка, в окне PowerShell виден прогресс — по какому баннеру идёт сбор и сколько уже собрано. Ничего не происходит молча в фоне: если что-то пойдёт не так, это сразу видно на экране.
5. Отправляет собранное на сайт
После того как баннер полностью собран, скрипт отправляет эти записи на gacha-tracker.com вместе с временной ссылкой на историю круток, найденной на шаге 2, — той же, что использует обычный импорт. Подтверждает, что это действительно вы, не паролем, а коротким одноразовым ключом доступа — сайт выдал его именно на этот конкретный импорт, пока вы были залогинены на странице загрузки, и он сам перестаёт действовать, когда в нём больше нет нужды.
Что происходит дальше — уже на сайте
Сайт получает от скрипта список круток (какой предмет, когда, с какого баннера), игровой UID и ту самую временную ссылку на историю. Ссылка нужна для одного: сайт запрашивает по ней несколько страниц на каждый баннер с официального сервера — самую свежую и одну-две из глубины истории — и сверяет с присланным — чтобы никто не залил на лидерборд выдуманную историю. Она живёт только в памяти сервера тот час, пока импорт открыт, и никогда не сохраняется в аккаунте. Дальше — тот же процесс, что и при обычном импорте по ссылке: сайт убирает дубликаты (то, что уже когда-то было импортировано, не задваивается), пересчитывает статистику pity и сохраняет всё в аккаунте, в который вы уже вошли. Прогресс на странице обновляется сам, пока скрипт ещё работает — вручную ничего нажимать не нужно.
Чего скрипт не делает никогда
Как проверить самому
.ps1) — можно открыть в любом редакторе и прочитать целиком перед запускомОстались вопросы?
Импорт занимает пару минут — история подтянется целиком и останется у вас навсегда
Импортировать историю крутокКороткий ответ на этот же вопрос — в FAQ. Там же — остальные вопросы про импорт