Опенсорс патчер для Antigravity IDE и standalone-приложения Antigravity: снимает регионные ограничения без VPN и смены региона аккаунта Google. Опенсурс аналог утилиты Antigravity IDE в России без VPN и смены региона аккаунта Google.
Если при запросе в Antigravity IDE появляется ошибка HTTP 500 Internal Server Error, то ничего не поделать, меняйте аккаунт (желательно на регион, где Antigravity IDE официально работает или куплена платная подписка), платная утилита также её не решала.
Пример ошибки
Trajectory ID: 2669b09c-1d11-4620-9bfa-6ad1f0e26a88
Error: HTTP 500 Internal Server Error
Sherlog:
TraceID: 0xd9ada64bcca3260c
Headers: {"Alt-Svc":["h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"],"Content-Length":["109"],"Content-Type":["text/event-stream"],"Date":["Sat, 14 Mar 2026 13:51:24 GMT"],"Server":["ESF"],"Server-Timing":["gfet4t7; dur=423"],"Vary":["Origin","X-Origin","Referer"],"X-Cloudaicompanion-Trace-Id":["d9ada64bcca3260c"],"X-Content-Type-Options":["nosniff"],"X-Frame-Options":["SAMEORIGIN"],"X-Xss-Protection":["0"]}
{
"error": {
"code": 500,
"message": "Internal error encountered.",
"status": "INTERNAL"
}
}
Если вы столкнулись с ошибкой HTTP 429 Too Many Requests, это означает, что лимиты (квоты) на стороне Google исчерпаны. Обычно это связано с привязкой сессии к исчерпанной квоте.
Решение:
- Используйте встроенную функцию в патчере — пункт 3: Fix HTTP 429 (Too Many Requests).
- Скрипт создаст бэкап папки данных, очистит старую конфигурацию (сбросит токены/квоту), но сохранит ваши диалоги.
- После выполнения нужно будет заново войти в аккаунт.
- Если встроенный фикс не помог — попробуйте сменить аккаунт Google.
- Важно: использование VPN или других способов обхода ограничений может детектироваться Google и приводить к повторному появлению ошибки 429.
Подробнее в issue #10.
Пример ошибки:
{
"error": {
"code": 429,
"message": "Resource has been exhausted (e.g. check quota).",
"status": "RESOURCE_EXHAUSTED"
}
}Если вы получаете ошибку HTTP 400 Bad Request с сообщением User location is not supported for the API use, это означает, что Google определил ваше местоположение как неподдерживаемое.
Важно: использование VPN, прокси или других способов обхода ограничений может детектироваться Google и приводить к этой ошибке. Google активно борется с методами обхода, и если ваш IP-адрес или другие параметры сессии вызывают подозрение, доступ может быть заблокирован.
Решение:
- Если вы используете Antigravity IDE версии 1.23.0 или выше, примените патч (пункт 1: Apply patch). Патчер автоматически добавит в
settings.jsonнеобходимые параметры для обхода этой ошибки (подробнее в разделе Временный runtime settings workaround). - Если патч уже применен или версия ниже 1.23, попробуйте сменить аккаунт Google или использовать другой VPN.
- Попробуйте использовать Xbox DNS (специальные DNS-серверы для обхода ограничений на ПК или роутере).
Пример ошибки:
{
"error": {
"code": 400,
"message": "User location is not supported for the API use.",
"status": "FAILED_PRECONDITION"
}
}Для более глубокого понимания типов HTTP-ошибок и способов их диагностики рекомендуем ознакомиться с данным руководством:
- 5xx Server Errors: The Complete Guide — подробный разбор серверных ошибок.
- Автоматический поиск установленного Antigravity IDE и standalone-приложения Antigravity в стандартных путях и реестре Windows.
- Полноценная распаковка, модификация и обратная запаковка
app.asarдля Antigravity с сохранением структуры внешних распакованных файлов (.unpacked). - Интегрированный локальный HTTP-прокси сервер для динамического патчинга загружаемого JS-кода в standalone-приложении Antigravity.
- Поддержка Linux: поиск по
/usr/share/antigravity-ide, определение версии черезdpkg,rpmиpackage.json. - Поддержка macOS: поиск
.app-бандла в/Applicationsи~/Applications, ad-hoc переподпись после измененияmain.jsилиapp.asar. - Создание резервной копии перед изменениями.
- Применение и откат патча через простое меню.
- Поддержка путей
resources/app/out/main.jsиresources/app/main.js. - Цветной вывод и попытка автоматического повышения прав (UAC на Windows, предложение
sudoна Linux). - Проверка минимальной версии Antigravity IDE (>=
2.0.1) перед применением патча. - Определение версии Antigravity IDE через реестр Windows, пакетный менеджер на Linux или
package.jsonна macOS. - Обнаружение уже применённого патча с предложением применить повторно.
- Временный runtime workaround для Antigravity IDE
1.23+: фиксация стабильного Cloud Code endpoint и отключение проблемных Cascade/model experiments черезsettings.json.
- Закройте Antigravity IDE или Antigravity.
- Запустите патчер от имени администратора (скрипт сам запросит повышение прав при необходимости).
- В меню выберите нужное действие:
| Пункт меню | Описание |
|---|---|
1. Apply Antigravity IDE patch |
Применить патч к main.js для Antigravity IDE |
2. Apply Antigravity patch |
Применить патч к app.asar для standalone Antigravity |
3. Restore Antigravity IDE from backup |
Восстановить оригинальный main.js для Antigravity IDE |
4. Restore Antigravity from backup (Rollback) |
Восстановить оригинальный app.asar для Antigravity |
5. Fix HTTP 429 |
Сброс конфигурации для исправления ошибки 429 (сохраняет диалоги) |
6. Open GitHub repository |
Открыть страницу проекта в браузере |
7. Select custom path |
Выбрать путь к папке приложения или файлу вручную |
0. Exit |
Выйти |
Запуск из исходников:
python main.pyЗапуск с указанием пути (для Antigravity IDE или standalone Antigravity):
# Windows
python main.py "C:\\Users\\<username>\\AppData\\Local\\Programs\\Antigravity IDE"
python main.py "C:\\Users\\<username>\\AppData\\Local\\Programs\\Antigravity\\resources\\app.asar"
# Linux
python main.py /usr/share/antigravity-ide
python main.py /opt/Antigravity
# macOS
python3 main.py /Applications/Antigravity\ IDE.app
python3 main.py /Applications/Antigravity.appЕсли main.js или app.asar находится рядом со скриптом, путь указывать не нужно — они будут найдены автоматически.
macOS: если
Antigravity IDE.appлежит в/Applications, запись потребуетsudo(скрипт сам предложит перезапуск). Для установки в~/Applicationsили пользовательскую директориюsudoне нужен. После успешного патча.appавтоматически переподписывается ad-hoc подписью (codesign --force --deep --sign -) — без этого Electron с Hardened Runtime не запустится на macOS.
Поскольку готовые бинарные сборки для macOS отсутствуют в официальных релизах (доступны только для Windows и Linux), вы можете либо запускать патчер напрямую из исходного кода, либо собрать исполняемый файл самостоятельно.
- Создайте виртуальное окружение, активируйте его и установите необходимые зависимости:
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt - Полностью закройте Antigravity или Antigravity IDE.
- Запустите патчер, указав путь к приложению:
Примечание: Если приложение находится в папке
# Для Antigravity IDE python3 main.py "/Applications/Antigravity IDE.app" # Для standalone-версии Antigravity python3 main.py "/Applications/Antigravity.app"
/Applications, скрипт автоматически запросит повышение прав (sudo) для записи.
Если вам необходим готовый исполняемый файл, вы можете собрать его самостоятельно, следуя инструкции в разделе 🛠️ Сборка.
После успешной сборки запуск скомпилированного файла выполняется через Терминал:
cd dist
chmod +x Open_AG_Patcher_macOS
sudo ./Open_AG_Patcher_macOSЕсли macOS блокирует запуск скомпилированного файла, снимите quarantine-атрибут:
xattr -dr com.apple.quarantine Open_AG_Patcher_macOSИспользуйте:
1. Apply Antigravity IDE patchдляAntigravity IDE.app2. Apply Antigravity patchдля standaloneAntigravity.app3или4для восстановления из backup
Для standalone Antigravity.app патчер обычно сам находит:
/Applications/Antigravity.app
Если автопоиск не нашел приложение, выберите 7. Select custom path и укажите один из путей:
/Applications/Antigravity.app
/Applications/Antigravity IDE.app
После патча .app автоматически переподписывается ad-hoc подписью. Проверить это можно следующей командой:
codesign -dv /Applications/Antigravity.app 2>&1 | grep SignatureОжидаемый результат:
Signature=adhoc
Патчер вносит 4 правки в main.js и применяет отдельный временный runtime workaround в пользовательском settings.json. Изменения main.js обратимы через резервную копию (main.js.bak), а settings.json сохраняется в отдельный backup перед записью.
Заменяет проверку флага isGoogleInternal на безусловное true, снимая региональные/внутренние ограничения. Применяется ко всем вхождениям в файле (паттерн if(this.<svc>.isGoogleInternal)).
Аuth service проверяет различные паттерны в зависимости от версии:
- v1.22–v1.22.x:
if(this.w.resetIsTierGCPTos(),this.t.isGoogleInternal)→if(this.w.resetIsTierGCPTos(),true) - v1.23+:
if(this.t.send({...}),this.y.resetIsTierGCPTos(),this.w.isGoogleInternal)→if(this.t.send({...}),this.y.resetIsTierGCPTos(),true)
Патчер автоматически определяет версию Antigravity IDE и применяет соответствующий паттерн для корректного обхода авторизации.
Заменяет ideName:"antigravity" на ideName:"antigravity-insiders" для корректной идентификации клиента.
Заменяет spread тернар ...s?{}:{errorType:"ineligible",reason:a,verificationUrl:i} на ...s?{}:{} — ошибка ineligible не отправляется, экран блокировки не показывается.
Начиная с Antigravity IDE 1.23+ часть пользователей после обновления получает ошибку:
{
"error": {
"code": 400,
"message": "User location is not supported for the API use.",
"status": "FAILED_PRECONDITION"
}
}В логах при этом появляются запросы к daily-cloudcode-pa.googleapis.com и новые Cascade/model experiments. Это временное решение: его стоит убрать или пересмотреть, когда Antigravity IDE стабилизирует новый маршрут/эксперимент или вернёт совместимое поведение. Workaround добавляет в пользовательский settings.json:
{
"jetski.cloudCodeUrl": "https://cloudcode-pa.googleapis.com",
"codeiumDev.forceDisableExperiments": "CASCADE_DEFAULT_MODEL_OVERRIDE,CASCADE_USE_EXPERIMENT_CHECKPOINTER,CASCADE_NEW_MODELS_NUX,CASCADE_NEW_WAVE_2_MODELS_NUX",
"codeiumDev.languageServerEnv": {
"BORG_DISABLE_EXPERIMENTS": "CASCADE_DEFAULT_MODEL_OVERRIDE,CASCADE_USE_EXPERIMENT_CHECKPOINTER,CASCADE_NEW_MODELS_NUX,CASCADE_NEW_WAVE_2_MODELS_NUX",
"BORG_EXPERIMENTS": ""
}
}Если settings.json уже существует, перед изменением создаётся резервная копия вида settings.json.bak-YYYYMMDD-HHMMSS. Если main.js уже пропатчен, пункт Apply patch всё равно применит runtime workaround без необходимости повторно менять main.js.
Для standalone-версии Antigravity процесс патчинга отличается из-за того, что логика интерфейса загружается динамически из сети:
- Оригинальный архив копируется в резервную копию
app.asar.bak(илиapp1.asar.bak) для возможности последующего отката, а сам архив распаковывается во временную папку. - В файле
dist/main.jsрегистрируется перехватчик сетевых запросов. - При запуске Antigravity все запросы к фронтенд-скриптам (
/main.js) перенаправляются на локальный HTTP-прокси сервер, создаваемый внутри самого приложения. - Прокси-сервер скачивает оригинальный фронтенд-скрипт, на лету подменяет в нем проверки
isGoogleInternalнаtrue, перенаправляет состояния ошибок авторизации на успешный вход (signedIn), кэширует результат и отдает его приложению. - Измененные файлы запаковываются обратно в
app.asarс корректным вычислением хэшей целостности (SHA256 blocks) и сохранением структуры внешних распакованных файлов (.unpacked).
Примечание:
- Патч
onboardUser injectionотключён начиная с v1.22+, так как в новых версиях Antigravity IDEonboardUserуже вызывается нативно, и инъекция дублирует вызов, ломая поток авторизации.- Начиная с v1.0.8 патчер использует версионный выбор auth-паттерна: для версий Antigravity IDE < 1.23 применяется старый паттерн, для v1.23+ — новый с дополнительным вызовом
send().
Патчер ищет main.js в следующем порядке:
- Аргумент командной строки (путь к директории или напрямую к
main.js). - Текущая директория (
./main.js). - Автоматический поиск по стандартным путям:
- Windows:
%LOCALAPPDATA%\Programs\Antigravity IDE
- Linux:
/usr/share/antigravity-ide/opt/Antigravity IDE/opt/Antigravity IDE/resources/app/out
- macOS:
/Applications/Antigravity IDE.app/Contents/Resources/app~/Applications/Antigravity IDE.app/Contents/Resources/app
- Windows:
- Реестр Windows (ключ
{AA73B3E3-C6C8-45C8-B1DC-4AE56C751432}_is1вHKCUиHKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\).
Внутри найденной директории проверяются пути:
resources/app/out/main.jsresources/app/main.jsout/main.js(macOS)main.js(если путь указан напрямую)
На macOS скрипт также принимает путь к .app-бандлу напрямую — Contents/Resources/app/out/main.js ресолвится автоматически.
| Платформа | Метод определения версии |
|---|---|
| Windows | Реестр: DisplayVersion из ключа {AA73B3E3-...}_is1 |
| Linux (deb) | dpkg-query -W antigravity-ide |
| Linux (rpm) | rpm -q --queryformat %{VERSION} antigravity-ide |
| Linux (portable/snap/flatpak) | package.json рядом с main.js |
| macOS | package.json в Antigravity IDE.app/Contents/Resources/app/ |
Если версия не определена, патчер предлагает продолжить без проверки. Если версия ниже 1.22.2 — предупреждает и также предлагает выбор.
Перед патчингом скрипт проверяет, не был ли файл уже пропатчен, по двум признакам:
- отсутствие
if(this.X.isGoogleInternal)(паттерн заменён наif(true)) - наличие строки
"antigravity-insiders"
Если оба признака найдены, выдаётся предупреждение с запросом подтверждения повторного применения.
- Windows: автоматический UAC-запрос через
ShellExecuteWс параметромrunas. Корректно обрабатывает пути с пробелами. - Linux: если скрипт запущен не от root, предлагает перезапуститься через
sudo(os.execvp). При отказе продолжает с предупреждением о возможных ошибках записи. При этом runtime workaround пишет вsettings.jsonисходного пользователя (SUDO_USER/SUDO_UID), а не в/root/.config/.... - macOS: использует ту же posix-ветку —
sudoпредлагается, если запущено без root. Для~/Applications/Antigravity IDE.appнаsudoможно ответить «n» (директория уже доступна на запись), для/Applications/Antigravity IDE.app— согласиться. Пользовательскийsettings.jsonпри запуске черезsudoтакже берётся из home исходного пользователя, а неroot.
Любое изменение файла внутри подписанного .app-бандла нарушает code signature. Electron-приложения с включённым Hardened Runtime (Antigravity IDE — одно из них) после этого не запускаются на macOS — до того, как Gatekeeper вообще покажет пользователю диалог.
Чтобы .app продолжал работать, скрипт после do_patch и do_restore автоматически выполняет:
codesign --force --deep --sign - /path/to/Antigravity\ IDE.app
xattr -dr com.apple.quarantine /path/to/Antigravity\ IDE.app--sign - — ad-hoc подпись (без Developer ID). Этого достаточно для локального запуска приложения. Notarization не требуется.
Требуется установленный codesign — он идёт в составе Xcode Command Line Tools:
xcode-select --installЕсли вы столкнулись с ошибкой [!] Backup error: [Errno 1] Operation not permitted: '/Applications/Antigravity IDE.app/Contents/Resources/app/out/main.js.bak':
- Добавьте для терминала разрешение на полный доступ к диску: Системные настройки → Конфиденциальность и безопасность → Полный доступ к диску (System Settings → Privacy & Security → Full Disk Access).
- Снимите карантин с приложения командой:
sudo xattr -rd com.apple.quarantine /path/to/Antigravity\ IDE.app
- Убедись, что
codesignдоступен:which codesign. - Проверь, что
.appбыл переподписан:codesign -dv /Applications/Antigravity\ IDE.app 2>&1 | grep Authority— должен бытьSignature=adhoc. - Если macOS всё равно блокирует:
Системные настройки → Конфиденциальность и безопасность— внизу будет кнопка «Открыть всё равно».
- Python 3.x
- Зависимости:
packaging(для сравнения версий) - ОС:
- Windows — полная поддержка автопоиска через реестр и UAC.
- Linux — автопоиск в
/usr/share/antigravity-ide, определение версии черезdpkg/rpm/package.json, sudo-повышение. - macOS — автопоиск в
/Applications/Antigravity IDE.appи~/Applications/Antigravity IDE.app, определение версии черезpackage.json, ad-hoc переподпись черезcodesign(Xcode Command Line Tools).
- Минимальная версия Antigravity:
2.0.1 - Поддерживаемые версии:
2.0.1и выше (с версионным выбором auth-паттерна для1.23+)
Для сборки исполняемых файлов рекомендуется использовать виртуальное окружение:
-
Создание и активация виртуального окружения:
- Windows:
python -m venv .venv .venv\Scripts\activate
- Linux / macOS:
python3 -m venv .venv source .venv/bin/activate
- Windows:
-
Установка зависимостей:
pip install -r requirements.txt
-
Сборка через PyInstaller:
- Windows:
pyinstaller --onefile --uac-admin --icon=icon.ico --name="Open_AG_Patcher_Windows" --noupx --clean --version-file=version.txt main.py - Linux:
pyinstaller --onefile --icon=icon.ico --name="Open_AG_Patcher_Linux" --hidden-import=packaging --hidden-import=packaging.version --hidden-import=packaging.specifiers --hidden-import=packaging.requirements main.py - macOS (Universal2):
pyinstaller --onefile --name="Open_AG_Patcher_macOS" --target-arch universal2 --hidden-import=packaging --hidden-import=packaging.version --hidden-import=packaging.specifiers --hidden-import=packaging.requirements main.py
- Windows:
main.py— основная точка входа в патчер (выполняет проверку прав доступа и запуск CLI).patcher/— основной исходный код патчера с модульной архитектурой:constants.py— глобальные константы, регулярные выражения, версии и шаблоны инъекций.cli.py— консольный интерфейс пользователя, меню и обработка ввода.utils/— системные вспомогательные утилиты (цвета консоли, права администратора, POSIX-права, хэширование файлов).ide/— логика поиска и патчинга непосредственно Antigravity IDE (файлыmain.js).asar/— логика распаковки/упаковки архивов ASAR и патчинга приложения Antigravity.
requirements.txt— зависимости для сборки и запуска.build.txt— примеры команд сборки под разные ОС.icon.ico— иконка дляexe/app.
Проект распространяется под лицензией GPL-3.0. Полный текст лицензии содержится в файле LICENSE.
- SBER:
2202 2050 1464 4675

