--- title: "ForgetMeAI: семейство бесплатных web-chat прокси (DeepSeek/Qwen/GLM/Kimi) — паттерны обхода анти-бот" type: concept tags: [forgetmeai, llm-web-proxy, lwp, captcha, baxia-waf, pow, cloakbrowser, stealth, deepseek-web, qwen-web] sources: [../raw/forgetmeai-repo-analysis-2026-08-22.md] updated: 2026-08-22 --- # ForgetMeAI: бесплатные web-chat прокси — что там есть для lwp Обзор GitHub-аккаунта [ForgetMeAI](https://github.com/ForgetMeAI) (8 репозиториев, автор t.me/forgetmeai) 2026-08-22. Весь аккаунт — ровно та же ниша, что lwp (llm-web-proxy): **локальные прокси, превращающие бесплатные веб-чаты LLM в OpenAI/Anthropic-совместимые API**. Часть репов — прямые аналоги комбо lwp, их подходы к анти-боту — готовый референс для разблокировки qwen-web и укрепления deepseek-web. ## Репозитории (по теме) | Репо | ⭐ | Что это | Отношение к lwp | |---|---|---|---| | FreeDeepseekAPI | 318 | deepseek web-chat → OpenAI/Anthropic API. **PoW-солвер** (`lib/pow.js`) + Chrome-расширение-экспортёр сессии | прямой аналог комбо deepseek-web; PoW уже портирован в lwp (`src/vendor/deepseek-pow.ts`) | | FreeQwenApi | 212 (форк) | qwen web-chat → OpenAI API. **Работает через браузер** (stealth-пуппетеер, fetch внутри `page.evaluate`) | ключ к разблокировке [llm-web-proxy-qwen-web]: baxia-WAF проходится браузерным фингерпринтом | | FreeGLMKimiAPI | 67 | GLM/Z.ai + Kimi прокси. Прямой fetch + browser-fallback, **CloakBrowser** (патченый Chromium), классификация капчи (Aliyun WAF, `FRONTEND_CAPTCHA_REQUIRED`, `人机验证失败`, punish) | референс: классификаторы капчи, cloakbrowser-заметки | | FreeKimiAPI | 27 | Kimi cfbt endpoint прокси, circuit-breaker на `browser_signature_banned` (1010) | простейший аналог, паттерн circuit-breaker уже есть в lwp | | FreeNIMAPI | 11 | мост к NVIDIA NIM (trial) | не про капчу | | grok_account_checker | 0 | мониторинг X-аккаунтов/SuperGrok: официальный OAuth 2.0 PKCE (Playwright) | честно: не обходит Turnstile/CAPTCHA/2FA | ## Главный паттерн аккаунта: НЕ решать капчу, а обходить через реальную браузерную сессию Универсальный приём у ForgetMeAI (и у всех живых free-chat прокси): 1. **Один раз логинишься в реальном Chrome** (видимый режим, persistent-профиль) → капчу/2FA проходишь руками. 2. **Сессия захватывается** одним из способов: - Chrome-расширение читает куки + localStorage из залогиненной вкладки (FreeDeepseekAPI: `token`, `ds_session_id`, `smidV2`, localStorage `hif_dliq`/`hif_leim`); - экспорт полного cookie-заголовка / cookie-файла и вставка в конфиг; - persistent browser profile (профиль переживает рестарты, куки живут). 3. **Дальше прокси ходит с живой сессией**: прямой fetch с cookie-jar, ИЛИ fetch внутри браузерного контекста (`page.evaluate`) — когда WAF привязан к device-фингерпринту, а не к кукам. Исключение из «не решать»: **DeepSeek PoW** — его решают локально (WASM-солвер, см. ниже). ## PoW-солвер DeepSeek (FreeDeepseekAPI/lib/pow.js) - Грузит WASM-модуль челленджа по URL, **компилирует один раз и кэширует** `WebAssembly.Module` (по URL), каждый solve — свежий Instance (чистая линейная память). - Префикс челленджа: `salt + '_' + expire_at + '_'`, затем `challenge + prefix` в память WASM, вызов `wasm_solve(sp, cBytes, cBytes.length, pBytes, pBytes.length, difficulty)`, ответ — `float64` (ans) → `Math.floor`. - Жёсткий таймаут на fetch WASM (15s), неудачная загрузка не кэшируется. - **В lwp PoW уже есть** (`src/vendor/deepseek-pow.ts` + `deepseek-pow-solver.cjs`), deepseek-комбо работает — ничего не портировать. Сравнить подходы при желании: lwp-версия из omniroute (TS), ForgetMeAI-версия автономная (CJS, 54 строки) — пригодна как fallback/референс. ## qwen-web: браузерный путь через baxia-WAF (главное для lwp) Наш вывод из сессии 2026-08-22 ([[omniroute-combo-deepseek-web-tuning]]): капча Alibaba baxia-WAF привязана к **device-фингерпринту** (bx-umidtoken минтится JS из sg-wum.alibaba.com), не к cookie; Node-fetch и даже CDP-запросы мимо страницы виснут. FreeQwenApi подтверждает и даёт рабочий путь: - **`src/browser/browser.js`** — puppeteer-extra + stealth-плагин + тяжёлый фингерпринт-спуфинг в `page.evaluateOnNewDocument`: `navigator.platform='Win32'`, `hardwareConcurrency=8`, `deviceMemory=8`, фейк `plugins` (Chrome PDF Plugin), `connection` (4g/50ms/10Mbps), `getBattery`, **шум в `HTMLCanvasElement.toDataURL`** (±2 на пиксель — бьёт canvas-фингерпринт), обёртки-задержки на `mousemove/mousedown/mouseup` (человечность). Launch args: `--disable-blink-features=AutomationControlled`, `--disable-web-security` и др. - **`src/api/chat.js`** — чат-запрос исполняется **внутри страницы**: `page.evaluate(async (data) => fetch(data.apiUrl, {...}))`. Так запрос несёт настоящий umidtoken + canvas-фингерпринт + same-origin → WAF пропускает. Node-стриминг пробуется первым, при анти-бот (antiBot детект: `rgv587|fail_sys_user_validate|_____tmd_____|purecaptcha`) — fallback на browser-fetch. - Детект анти-бот-эневелопов на HTTP 200: `lower.includes('/_____tmd_____/punish') || (window._config_ && captcha) || purecaptcha`. - Первичная авторизация — ручная (видимый браузер, `startManualAuthenticationPuppeteer`), сессия — cookies в `sessions/accounts/`. **Вывод для lwp:** рабочий сценарий qwen-web = **браузерный executor** (puppeteer/playwright + stealth + фингерпринт-спуфинг + fetch в `page.evaluate`), а не реплей cookie-jar через undici. Референс-код закоммичен в lwp: `docs/reference/forgetmeai/`. ## CloakBrowser-заметки (FreeGLMKimiAPI/docs/cloakbrowser-notes.md) Пропатченный Chromium против анти-бот (CloakHQ/CloakBrowser + Manager): - **Настоящий патченый браузер** (не JS-инъекции): stealth на уровне бинаря, Playwright-совместимый `launchPersistentContext()`. - **Persistent не-incognito профили** обязательны: сохраняются куки/localStorage, меньше детекта. - **Humanize-слой**: печать/клики/скролл с реалистичными задержками через доверенные input-пути. - **Согласованность locale/timezone/proxy**: флаги браузера + geoip-сверка с IP прокси (в lwp-контексте — per-account proxy уже есть). - Очистка lock-файлов профиля (`SingletonLock/SingletonCookie/SingletonSocket`) после падений. - **Ограничение:** патченый браузер не решает уже сработавшую капчу — один раз пройти руками в видимом профиле. ## Классификация капчи/анти-бот (референс-регэкспы) - DeepSeek: PoW-челлендж (salt/expire_at/difficulty), 503 `chat_admission_busy` = capacity (не капча). - Qwen (baxia-WAF): `FAIL_SYS_USER_VALIDATE`, `RGV587_ERROR::SM::...`, `_____tmd_____/punish`, `x5secdata`, `rgv587`, `purecaptcha`, `success:false` на 200. - Z.ai (GLM): `FRONTEND_CAPTCHA_REQUIRED`, `人机验证失败`, `请重新验证`, `刷新页面以更新应用`, `aliyun`, `waf`, `punish`. - Kimi cfbt: `browser_signature_banned` (1010), `access denied`. - Общий маркер WAF-страницы: `text/html` в ответе API + `aliyun_waf|baxia|