meta(wiki): ingest ForgetMeAI free web-chat proxy analysis (concept + raw) + qwen-web task update (browser path through baxia-WAF)
This commit is contained in:
@@ -23,6 +23,12 @@
|
||||
- `open-sse/executors/qwen-web.ts` — из docker-образа `diegosouzapw/omniroute:latest` (`/app/`), паттерн вытаскивания deepseek-web.ts (уже отработан в llm-web-proxy).
|
||||
- Парсеры тулов общие — `webTools.ts` уже есть, переиспользовать.
|
||||
|
||||
## Находка 2026-08-22 (вечер): прямой fetch мёртв — нужен браузерный путь
|
||||
|
||||
Подтверждено внешним источником (ForgetMeAI/FreeQwenApi, 212⭐): **Node-fetch в принципе не проходит baxia-WAF** — капча привязана к device-фингерпринту (bx-umidtoken минтится JS из sg-wum.alibaba.com в контексте страницы), не к cookie. Рабочий путь — **fetch внутри `page.evaluate`** на живой странице chat.qwen.ai (настоящий umidtoken + canvas-фингерпринт + same-origin).
|
||||
|
||||
Референс (закоммичен в lwp): `docs/reference/forgetmeai/` (фингерпринт-сниппет, browser-fetch паттерн, cloakbrowser-заметки). Дизайн решения: `.wiki/concepts/qwen-waf-browser-path.md` (варианты A — браузер-фасад / B — полный браузерный executor).
|
||||
|
||||
## Что писать в lwp
|
||||
|
||||
1. executor `qwen-web` (по паттерну deepseek-web, но НЕ копипастить логику тул-эмуляции — общий модуль).
|
||||
@@ -39,13 +45,17 @@
|
||||
|
||||
## Open questions
|
||||
|
||||
- [ ] Актуальный userToken chat.qwen.ai жив? (проверить при работе — EAI_AGAIN мог быть и от бана/истечения)
|
||||
- [ ] Какая модель по умолчанию у qwen-web (qwen3-max? qwen3-flash?) — смотреть executor omniroute.
|
||||
- [x] 2026-08-22: Актуальный userToken chat.qwen.ai жив? (проверено: executor детектит капчу, не 401 по токену — токен жив, блокирует WAF)
|
||||
- [ ] Какая модель по умолчанию у qwen-web (qwen3-max? qwen3-flash?) — в lwp стоит `qwen3.7-max` (из executor'а omniroute, alias-таблица в qwen-web-executor.ts)
|
||||
- [ ] Браузерный путь: какой движок (puppeteer-extra vs playwright), persistent-профиль, ручной проход капчи один раз
|
||||
|
||||
## Completed steps
|
||||
|
||||
- [x] 2026-08-22: DNS-блокер перепроверен — chat.qwen.ai резолвится (EAI_AGAIN ушёл).
|
||||
- [x] 2026-08-22: подтверждено, что qwen-executor'а в lwp ещё нет (только deepseek).
|
||||
- [x] 2026-08-22: подтверждено, что qwen-executor'а в lwp ещё нет (только deepseek). *(позднее: executor добавлен коммитом 6ef57bc — v2 API, cookie jar + детект капчи)*
|
||||
- [x] 2026-08-22: живой прогон — лог `waf=captcha-envelope` на completion (детект работает, запрос блокируется WAF).
|
||||
- [x] 2026-08-22: внешний источник найден (FreeQwenApi): браузерный путь через baxia-WAF, референс в `docs/reference/forgetmeai/`, дизайн в `.wiki/concepts/qwen-waf-browser-path.md`.
|
||||
- [ ] Реализация браузерного executor'а (вариант A или B) — следующий шаг.
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
88
.wiki/concepts/forgetmeai-free-web-chat-proxies.md
Normal file
88
.wiki/concepts/forgetmeai-free-web-chat-proxies.md
Normal file
@@ -0,0 +1,88 @@
|
||||
---
|
||||
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|<html`.
|
||||
|
||||
## Что берём в lwp (статус)
|
||||
|
||||
- [x] PoW-солвер — уже портирован (`src/vendor/deepseek-pow.ts`).
|
||||
- [x] Классификаторы капчи qwen — уже в `src/lib/qwen-web-executor.ts` (isQwenErrorEnvelope: FAIL_SYS_USER_VALIDATE/punish/x5secdata).
|
||||
- [x] Референс-код браузерного пути 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, если понадобятся.
|
||||
|
||||
## Связанное
|
||||
|
||||
- [[omniroute-combo-deepseek-web-tuning]] — диагноз web-комбо, baxia-WAF, план lwp
|
||||
- [[llm-web-proxy]] (таска) — спек lwp
|
||||
- lwp/.wiki: [[qwen-waf-browser-path]], [[forgetmeai-qwen-browser-fetch]] (sources)
|
||||
@@ -94,3 +94,4 @@ OmniRoute для 2 комбо — overkill (Next.js + sqlite + дашборд +
|
||||
- **Вывод:** капча привязана к device-фингерпринту запроса (bx-umidtoken минтится JS из sg-wum.alibaba.com), не к cookie. Прямой API-scraping из Node — мёртвая ветка.
|
||||
- **Зацепка:** «из под omniroute работает» — в **контейнере** omniroute лежит рабочая версия `open-sse/executors/qwen-web.ts` (≠ GitHub main, который портировали в lwp). Сравнить и/или взять подход оттуда (возможно решённый punish-flow / живой браузерный путь). Ключ/сессия qwen хранится в omniroute DB (provider_connections, зашифрован `enc.v1.` + STORAGE_ENCRYPTION_KEY из `/app/data/server.env`).
|
||||
- Статус: подзадача [llm-web-proxy-qwen-web] 🟡 paused, next-сессия — юзер покажет рабочий подход.
|
||||
- **2026-08-22 вечер: находка-подтверждение.** Аккаунт ForgetMeAI (FreeQwenApi, 212⭐) гоняет qwen через браузер и работает: чат-запрос исполняется **внутри страницы** (`page.evaluate(fetch(...))`) — запрос несёт настоящий bx-umidtoken + canvas-фингерпринт + same-origin → baxia-WAF пропускает. Плюс тяжёлый stealth-спуфинг (navigator/canvas-noise/задержки событий). Вывод: Node-fetch-путь мёртв окончательно, рабочий сценарий = браузерный executor (puppeteer/playwright). Референс: [[forgetmeai-free-web-chat-proxies]] + lwp `docs/reference/forgetmeai/`.
|
||||
|
||||
@@ -22,6 +22,7 @@ Catalog of all wiki pages. One line per page, organized by type. Updated on ever
|
||||
|
||||
## Concepts
|
||||
- [omniroute-combo-deepseek-web-tuning](concepts/omniroute-combo-deepseek-web-tuning.md) — настройка web-комбо под агента: system_message убивает скилы pi, tool_filter_regex режет тулы, search-режим ломает tool-calling, 503 chat_admission_busy, эмуляция `<tool>` работает, план кастомного провайдера, qwen-web baxia-WAF стена
|
||||
- [forgetmeai-free-web-chat-proxies](concepts/forgetmeai-free-web-chat-proxies.md) — семейство бесплатных web-chat прокси ForgetMeAI (DeepSeek/Qwen/GLM/Kimi): паттерн «обход капчи через реальную браузерную сессию», PoW-солвер DeepSeek, браузерный путь через baxia-WAF (fetch в page.evaluate), CloakBrowser, классификаторы капчи; карта «что берём в lwp»
|
||||
- [sched-admin-client-openapi](concepts/sched-admin-client-openapi.md) — F&F раунды 2026-08-18: Python-клиент одной командой из спеки (openapi-generator 7.24.0); r1 0.1.2 — 24/24+smoke 19/19, находки F-1..F-5 (8 операций на raw-обходе); r2 0.2.0/0.3.5 — все 5 закрыты, raw_ops удалён, 11/11 typed-only, вердикт «claim подтверждён полностью»
|
||||
- [openapi-generator-3-1-spec-gotchas](concepts/openapi-generator-3-1-spec-gotchas.md) — генерация клиентов из 3.1-спеки (openapi-generator 7.24.0, python): wrapped-ответы {} → ValidationError (raw-обход историчен: r2 спека фикснута), const:true → строковый enum, oneOf+discriminator → actual_instance=None (r2: плоская схема), java из PATH а не JAVA_HOME, InlineObjectN-имена, info.version не бьётся
|
||||
- [nvm-junction-ismain-gate-gotcha](concepts/nvm-junction-ismain-gate-gotcha.md) — ESM isMain-гейт молча не выполняется под junction'нутым npm-рутом (nvm/mise/volta); realpath-фикс; диагностика за 30 сек
|
||||
|
||||
@@ -142,3 +142,4 @@ Append-only log of wiki operations (ingests, promotions, lints, migrations).
|
||||
|
||||
## [2026-08-22] ingest | NEW concepts/omniroute-combo-deepseek-web-tuning.md + sources/omniroute-session-2026-08-22.md — сессия настройки web-комбо omniroute (deepseek-v4-flash/pro-web). Корни вылетов агента: (1) system_message override режет скилы pi, (2) tool_filter_regex ^(bash|computer)$ режет 337/339 тулов, (3) search-модель генерит DEEP_SEARCH-мусор + «Link reading unavailable», (4) quality validation режет стрим на type:error, (5) 503 chat_admission_busy = capacity веб-чата. Фиксы применены: system_message="", regex расширен (базовые+mcp__*), flash think-search→think, maxRetries 2→4, retryDelayMs→4000. Эмуляция tool-calling проверена тестами — исправна. План кастомного провайдера (вытащить executor+translator, без quality validation, persistSession). index.md updated (+2).
|
||||
## [2026-08-22] ingest | UPDATE concepts/omniroute-combo-deepseek-web-tuning.md — qwen-web стена baxia-WAF (подзадача llm-web-proxy-qwen-web): FAIL_SYS_USER_VALIDATE/RGV587 punish-капча на любой не-браузерный запрос (Node-fetch все варианты заголовков + свежий cookie-jar; даже Chrome-CDP chats/new проходит, completion виснет). Капча привязана к device-фингерпринту (bx-umidtoken из sg-wum.alibaba.com), не к cookie. Зацепка: в контейнере omniroute рабочая версия executors/qwen-web.ts ≠ GitHub main. Подзадача 🟡 paused. index.md hook обновлён.
|
||||
## [2026-08-22] ingest | NEW concepts/forgetmeai-free-web-chat-proxies.md + raw/forgetmeai-repo-analysis-2026-08-22.md — анализ аккаунта ForgetMeAI (8 репо, все — бесплатные web-chat прокси, та же ниша lwp). Главное: (1) паттерн «не решать капчу, а обходить реальной браузерной сессией» (Chrome-расширение-экспортёр кук/localStorage, cookie export, persistent-профиль); (2) PoW-солвер DeepSeek (lib/pow.js, WASM compile-cache) — в lwp уже портирован; (3) qwen через baxia-WAF работает ТОЛЬКО браузерным путём: fetch внутри page.evaluate (FreeQwenApi) — настоящий umidtoken+canvas-фингерпринт; наш вывод подтверждён; (4) CloakBrowser-заметки (патченый Chromium, humanize, persistent-профили, geoip), классификаторы капчи (Aliyun WAF/FRONTEND_CAPTCHA_REQUIRED/punish/purecaptcha). Референс-код закоммичен в lwp docs/reference/forgetmeai/. index.md updated (+1).
|
||||
|
||||
60
.wiki/raw/forgetmeai-repo-analysis-2026-08-22.md
Normal file
60
.wiki/raw/forgetmeai-repo-analysis-2026-08-22.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# ForgetMeAI — анализ репозиториев (2026-08-22)
|
||||
|
||||
Первичная запись: анализ GitHub-аккаунта https://github.com/ForgetMeAI (id 76566648) по теме
|
||||
lwp (бесплатные web-chat LLM прокси, обход капчи/анти-бот). Собрано 2026-08-22 из GitHub API
|
||||
+ shallow-clone всех репов (коммиты не фиксировались — референс на дату анализа).
|
||||
|
||||
## Список репозиториев (GitHub API, sort=updated)
|
||||
|
||||
| name | stars | language | fork | pushed_at | description |
|
||||
|---|---|---|---|---|---|
|
||||
| FreeDeepseekAPI | 318 | JavaScript | no | 2026-07-13 | Локальный API-прокси для DeepSeek Web Chat с поддержкой OpenAI/Anthropic API, streaming, tool calling, Responses API и Open WebUI |
|
||||
| FreeQwenApi | 212 | JavaScript | yes | 2026-07-13 | Локальный API-прокси для Qwen AI с поддержкой сохранения контекста диалогов и управления сессиями |
|
||||
| FreeGLMKimiAPI | 67 | JavaScript | no | 2026-06-20 | OpenAI/Anthropic-совместимый локальный прокси для бесплатных веб-моделей GLM/Z.ai и Kimi |
|
||||
| FreeKimiAPI | 27 | JavaScript | no | 2026-06-20 | Локальный OpenAI/Anthropic/Responses-compatible прокси для бесплатного Kimi endpoint cfbt |
|
||||
| FreeNIMAPI | 11 | JavaScript | no | 2026-07-17 | мост к NVIDIA NIM |
|
||||
| design-harness | 0 | JavaScript | no | 2026-08-07 | Approval-gated web design workflow (не в тему) |
|
||||
| local-inference-optimizer-skill | 8 | Python | no | 2026-06-28 | Skill для Hermes/Claude Code/Codex: выбор LLM inference (не в тему) |
|
||||
| grok_account_checker | 0 | Python | no | 2026-07-14 | мониторинг X-аккаунтов / SuperGrok |
|
||||
|
||||
## Ключевые файлы (по репо)
|
||||
|
||||
### FreeDeepseekAPI
|
||||
- `lib/pow.js` (54 строки) — PoW-солвер DeepSeek Web API: WASM compile-once cache по URL,
|
||||
префикс `salt_expire_at_`, `wasm_solve(sp, c, cLen, p, pLen, difficulty)`, ответ float64 → floor.
|
||||
- `chrome-extension/background.js` — экспортёр сессии: куки chat.deepseek.com
|
||||
(`token`, `ds_session_id`, `smidV2`) + localStorage (`hif_dliq`, `hif_leim`) из залогиненной вкладки.
|
||||
- `scripts/deepseek_chrome_auth.js` — auth через отдельный Chrome-профиль, `deepseek-auth.json` 0600,
|
||||
импорт cookie export, перенос auth-файла на VPS (scp).
|
||||
|
||||
### FreeQwenApi (форк, main.js — qwen v2 API)
|
||||
- `src/browser/browser.js` — puppeteer-extra + stealth-плагин + `page.evaluateOnNewDocument`
|
||||
фингерпринт-спуфинг: platform=Win32, hardwareConcurrency=8, deviceMemory=8, plugins (Chrome PDF),
|
||||
connection 4g/50ms, getBattery, canvas-noise (±2) в toDataURL, задержки mousemove/mousedown/mouseup.
|
||||
Launch args: `--disable-blink-features=AutomationControlled`, `--disable-web-security`, и др.
|
||||
- `src/api/chat.js` — чат: Node-fetch пробуется первым; при анти-бот (детект
|
||||
`rgv587|fail_sys_user_validate|_____tmd_____|purecaptcha`, punish-URL) — fallback на
|
||||
**browser fetch через `page.evaluate(fetch(apiUrl,...))`** (настоящий фингерпринт → WAF пропускает).
|
||||
`credentials:'omit'` по умолчанию. Детект анти-бот на 200: `/_____tmd_____/punish`, `window._config_`+captcha, purecaptcha.
|
||||
- `src/browser/session.js` — cookies в `sessions/accounts/acc_<ts>/cookies.json`.
|
||||
- `src/browser/auth.js` — `startManualAuthenticationPuppeteer`: видимый браузер, ручной логин.
|
||||
|
||||
### FreeGLMKimiAPI
|
||||
- `src/providers/zaiBrowser.js` (341 строка) — browser fallback для Z.ai:
|
||||
- `isZaiCaptchaError`: /captcha|FRONTEND_CAPTCHA_REQUIRED|verify again|verification failed|refresh the page to update the app|人机验证失败|请重新验证|刷新页面以更新应用|aliyun|waf|punish/i
|
||||
- движки: puppeteer-extra+stealth (default) | cloakbrowser (опция `ZAI_BROWSER_ENGINE=cloak`)
|
||||
- persistent-профиль, humanize, locale/timezone/proxy/geoip env, чистка SingletonLock/Cookie/Socket
|
||||
- `docs/cloakbrowser-notes.md` (52 строки) — выводы по CloakHQ/CloakBrowser: патченый Chromium,
|
||||
launchPersistentContext, persistent профили, humanize, geoip-согласование, ограничение (не решает уже сработавшую капчу).
|
||||
|
||||
### FreeKimiAPI
|
||||
- `src/upstream.js` — классификация: `capacity_exceeded` (3040/capacity), `blocked_by_upstream`
|
||||
(1010/browser_signature_banned/access denied), `rate_limited`, circuit-breaker.
|
||||
|
||||
### grok_account_checker
|
||||
- `auth.py` + `grok_checker.py` — официальный OAuth 2.0 PKCE (Playwright), локальный callback-сервер.
|
||||
Явно: не обходит Turnstile/CAPTCHA/2FA, только authorized use.
|
||||
|
||||
## Ссылки
|
||||
- Аккаунт: https://github.com/ForgetMeAI
|
||||
- Автор: t.me/forgetmeai, поддержка t.me/forgetshop_bot
|
||||
Reference in New Issue
Block a user