Files
admin/.wiki/concepts/forgetmeai-free-web-chat-proxies.md

10 KiB
Raw Blame History

title, type, tags, sources, updated
title type tags sources updated
ForgetMeAI: семейство бесплатных web-chat прокси (DeepSeek/Qwen/GLM/Kimi) — паттерны обхода анти-бот concept
forgetmeai
llm-web-proxy
lwp
captcha
baxia-waf
pow
cloakbrowser
stealth
deepseek-web
qwen-web
../raw/forgetmeai-repo-analysis-2026-08-22.md
2026-08-22

ForgetMeAI: бесплатные web-chat прокси — что там есть для lwp

Обзор GitHub-аккаунта 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|<html.

Что берём в lwp (статус)

  • PoW-солвер — уже портирован (src/vendor/deepseek-pow.ts).
  • Классификаторы капчи qwen — уже в src/lib/qwen-web-executor.ts (isQwenErrorEnvelope: FAIL_SYS_USER_VALIDATE/punish/x5secdata).
  • Референс-код браузерного пути qwen — docs/reference/forgetmeai/ (коммит 2026-08-22).
  • Браузерный executor qwen (puppeteer + фингерпринт-спуфинг + fetch в page.evaluate) — следующий шаг для [llm-web-proxy-qwen-web], см. qwen-waf-browser-path в вики lwp.
  • (опция) CloakBrowser как запасной движок для z.ai/kimi, если понадобятся.

Связанное