* feat(docs): mirror every docs/ page in all 65 locales Extends the documentation mirrors from the 22-page core set (#13940) to every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors (6,208 new), language bars rewritten for the full locale list, state adopted so the blocking drift gate now covers all 152 pages. run-translation.mjs: an oversized block made only of table rows or list items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is cut at item boundaries and rejoined without a blank line — the single 16-40 KB request outlived the backend socket for verbose scripts. 48 older mirrors whose tables had lost rows were retranslated with --force. * docs(i18n): refresh mirrors for the sources the base changed since the branch cut Section-level retranslation of the 29 docs (and README.md) whose source or mirrors moved on release/v3.8.51 during the run, then state adoption; the drift gate is green again on the merged tree.
45 KiB
Stealth Guide (മലയാളം)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
ആധികാരിക ഉറവിടം:
open-sse/utils/tlsClient.ts,open-sse/services/{tlsClientBase,claudeTlsClient,perplexityTlsClient,grokTlsClient,notionTlsClient,lmarenaTlsClient,claudeCodeCCH,claudeCodeFingerprint,claudeCodeObfuscation,claudeCodeCompatible}.ts,open-sse/config/cliFingerprints.ts,src/mitm/അവസാനം പുതുക്കിയത്: 2026-09-02 — v3.8.51 ഉദ്ദേശിച്ച വായനക്കാർ: പ്രൊവൈഡർ-നിർദ്ദിഷ്ട സ്റ്റെൽത്ത് ഇന്റഗ്രേഷനുകൾ പരിപാലിക്കുന്ന എൻജിനീയർമാർ.
ഔദ്യോഗികമല്ലാത്ത ക്ലയന്റുകളെ സജീവമായി ഫിംഗർപ്രിന്റ് ചെയ്യുന്ന എഡ്ജുകളുള്ള പ്രൊവൈഡർമാരുമായി (TLS JA3/JA4, ഹെഡർ ക്രമീകരണം, JSON ബോഡി ഘടന, ഇന്റഗ്രിറ്റി ടോക്കണുകൾ) OmniRoute ഇന്റഗ്രേറ്റ് ചെയ്യുന്നു. OmniRoute ലഭ്യമാക്കുന്ന സ്റ്റെൽത്ത് പ്രതലങ്ങളും അവ എവിടെയാണ് നടപ്പിലാക്കിയിരിക്കുന്നതെന്നും ഈ പേജ് രേഖപ്പെടുത്തുന്നു.
നിയമപരവും നൈതികവുമായ അറിയിപ്പ്
ഉപയോക്താവിന്റെ ഉടമസ്ഥതയിലുള്ള ഔദ്യോഗിക അക്കൗണ്ടുകൾക്കും (Claude Code CLI, Codex, Antigravity, Cursor മുതലായവ) OmniRoute-ന്റെ ഏകീകൃത API-ക്കും ഇടയിൽ ഒരു അനുയോജ്യതാ പാളിയായി OmniRoute-ന് പ്രവർത്തിക്കാൻ കഴിയുന്നതിനാണ് സ്റ്റെൽത്ത് സവിശേഷതകൾ നിലവിലുള്ളത്. തട്ടിപ്പ് കണ്ടെത്തൽ ഒഴിവാക്കുന്നതിനോ, ക്രെഡൻഷ്യലുകൾ പങ്കിടുന്നതിനോ, പ്രൊവൈഡറുടെ സേവന നിബന്ധനകൾ ലംഘിക്കുന്നതിനോ വേണ്ടിയുള്ളവയല്ല അവ. അക്കൗണ്ടുകൾ സൃഷ്ടിക്കുമ്പോൾ അംഗീകരിച്ച അപ്സ്ട്രീം ToS ഓപ്പറേറ്റർമാർ പാലിക്കുമെന്ന് പരിപാലകർ പ്രതീക്ഷിക്കുന്നു.
TLS ഫിംഗർപ്രിന്റിംഗ് പാളി
open-sse/utils/tlsClient.ts — wreq-js (Chrome 124)
ഓരോ അക്കൗണ്ട് സ്കോപ്പിനും പരിഹരിച്ച പ്രോക്സിക്കും വേണ്ടി സ്ഥിരമായ wreq-js സെഷനുകൾ ആവശ്യാനുസരണം സൃഷ്ടിക്കപ്പെടുന്നു. Cloudflare-ന് പിന്നിലുള്ള അപ്സ്ട്രീമുകൾക്കായി macOS-ലെ Chrome 124 ആയി ആൾമാറാട്ടം നടത്തുന്ന പരമാവധി 128 സെഷനുകൾ പ്രോസസ്-വ്യാപകമായ TlsClient പൂൾ കൈകാര്യം ചെയ്യുന്നു. നേറ്റീവ് റൺടൈം ലഭ്യമല്ലാത്തപ്പോൾ TlsClient.fetch() സുരക്ഷിതമായി പരാജയപ്പെടുന്നു; ഈ റാപ്പറിന് പുറത്തുള്ള ഒരു ഫാൾബാക്ക് കോളർക്ക് വ്യക്തമായി തിരഞ്ഞെടുക്കാം.
- സെഷൻ പ്രൊഫൈൽ:
browser: "chrome_124", os: "macos" - പ്രോക്സി പരിഹാരം (മുൻഗണന):
HTTPS_PROXY→HTTP_PROXY→ALL_PROXY(ലോവർകേസ് രൂപങ്ങളും) - സമയപരിധി:
TLS_CLIENT_TIMEOUT_MS(FETCH_TIMEOUT_MS-ൽ നിന്ന് പാരമ്പര്യമായി ലഭിക്കുന്നത്, ഡിഫോൾട്ട് 600000) wreq-jsResponse, fetch-ന് അനുയോജ്യമാണ് (headers,text(),json(),clone(),body).- ആദ്യ-ബൈറ്റ് വാച്ച്ഡോഗ് (
open-sse/utils/tlsFirstByteWatchdog.ts, #12656): അപ്സ്ട്രീം ഹെഡറുകൾ എത്തുന്ന ഉടൻTlsClient.fetch()പരിഹരിക്കപ്പെടുന്നതിനാൽ, ഒരിക്കലും ആദ്യ ബൈറ്റ് നൽകാത്ത ഒരു ബോഡിയെTLS_CLIENT_TIMEOUT_MSകൊണ്ട് മാത്രം പരിമിതപ്പെടുത്താൻ കഴിയില്ല. ബോഡിയുടെ ആദ്യത്തെread()-നെTLS_FIRST_BYTE_WATCHDOG_MS-നെതിരെ (ഡിഫോൾട്ട്10000,0ഇത് പ്രവർത്തനരഹിതമാക്കുന്നു)guardTlsFirstByte()മത്സരിപ്പിക്കുന്നു; ആരോഗ്യകരമായ ഒരു ബോഡിയെ ഇത് ബാധിക്കില്ല, എന്നാൽ സ്തംഭിച്ച ബോഡി wreq റീഡർ റദ്ദാക്കുകയുംproxyFetch-ന്റെ നിലവിലുള്ള TLS-ഫാൾബാക്ക് ലോജിക്കിനെ ഡയറക്ട്/പ്രോക്സി ഡിസ്പാച്ചറിലേക്ക് തുടരാൻ അനുവദിക്കുകയും ചെയ്യുന്നു (റീപ്ലേ ചെയ്യാൻ സുരക്ഷിതമല്ലാത്ത ഒരു അഭ്യർത്ഥന, ഉദാ. ബോഡിയോടുകൂടിയ POST, നിശ്ശബ്ദമായി വീണ്ടും ശ്രമിക്കുന്നതിനുപകരം തുടർന്നും ഒരു പിശക് സൃഷ്ടിക്കും).
വെബ്-കുക്കി പ്രൊവൈഡർ ട്രാൻസ്പോർട്ട് — wreq-js 3.2.0
ചുവടെയുള്ള അഞ്ച് സവിശേഷ വെബ്-കുക്കി ട്രാൻസ്പോർട്ടുകൾക്കുള്ള പങ്കിട്ട അഡാപ്റ്ററാണ് open-sse/services/tlsClientBase.ts. ഓരോ ലഘുവായ പ്രൊവൈഡർ റാപ്പറും ഒരു ബ്രൗസർ/OS പ്രൊഫൈൽ തിരഞ്ഞെടുക്കുന്നു. പ്രൊഫൈൽ + OS + പരിഹരിച്ച പ്രോക്സി എന്നിവയെ അടിസ്ഥാനമാക്കിയുള്ള കീ ഉപയോഗിച്ച്, open-sse/utils/tlsClient.ts-ലെ ഏക wreq റൺടൈം ലോഡറും ട്രാൻസ്പോർട്ട് പൂളും അഡാപ്റ്റർ ഉപയോഗിക്കുന്നു; അതേസമയം ഓരോ അഭ്യർത്ഥനയും cookieMode: "ephemeral" ഉപയോഗിക്കുന്നു. അതിനാൽ അക്കൗണ്ടുകളും അഭ്യർത്ഥനകളും ട്രാൻസ്പോർട്ട്-തല കണക്ഷനുകൾ പങ്കിടുന്നു, എന്നാൽ ഒരു wreq സെഷനോ കുക്കി ജാറോ ഒരിക്കലും പങ്കിടുന്നില്ല.
| പ്രൊവൈഡർ | പ്രൊഫൈൽ | അനുകരിക്കുന്ന OS | സ്ട്രീം EOF നയം |
|---|---|---|---|
| Claude | chrome_146 |
Linux | [DONE] ഉൾപ്പെടുത്തുക |
| Perplexity | firefox_148 |
macOS | event: end_of_stream ഉൾപ്പെടുത്തുക |
| Grok | chrome_146 |
Linux | [DONE] ഒഴിവാക്കുക |
| Notion | chrome_146 |
Windows | [DONE] ഉൾപ്പെടുത്തുക |
| LMArena | chrome_146 |
Windows | സെന്റിനൽ ഇല്ല; നേറ്റീവ് EOF-ൽ അടയ്ക്കുക |
- സ്ട്രീമിംഗ് നേറ്റീവ് റെസ്പോൺസ്
ReadableStreamനേരിട്ട് ഉപയോഗിക്കുന്നു; താൽക്കാലിക ഫയലോ സൈഡ്കാറോ സൃഷ്ടിക്കപ്പെടുന്നില്ല. - ഒരു സ്ട്രീം ലഭ്യമാക്കുന്നതിന് മുമ്പ് പ്രാരംഭമായ പരമാവധി 256 ബൈറ്റുകൾ പരിശോധിക്കുന്നു. SSE പ്രൊവൈഡർമാർ SSE അല്ലാത്ത പിശകുകൾ ബഫർ ചെയ്യുന്നു; Grok/LMArena, Cloudflare ചലഞ്ചുകളെ
403ആയും HTML ഇന്റർസ്റ്റീഷ്യലുകളെ502ആയും മാപ്പ് ചെയ്യുന്നു. - നേറ്റീവ് അഭ്യർത്ഥനയുടെ സമയപരിധി ഒരു കർശനമായ JS സമ്പൂർണ ഡെഡ്ലൈൻ ഉപയോഗിച്ച് തുടർന്നും റാപ്പ് ചെയ്യപ്പെടുന്നു. ഒരു ഹാങ് സംഭവിക്കുമ്പോൾ, അടുത്ത അഭ്യർത്ഥന അതിനെ പുനഃസൃഷ്ടിക്കുന്നതിന് മുമ്പ് ബാധിച്ച പ്രൊഫൈൽ/OS/പ്രോക്സി ട്രാൻസ്പോർട്ട് മാത്രം അസാധുവാക്കി അടയ്ക്കുന്നു.
- പ്രോക്സി പരിഹാര മുൻഗണന: ഓരോ കോളിലുമുള്ള
proxyUrl→ അഭ്യർത്ഥനാ-സ്കോപ്പിലുള്ള അക്കൗണ്ട്/ഡാഷ്ബോർഡ് കോൺടെക്സ്റ്റ് →HTTPS_PROXY/HTTP_PROXY/ALL_PROXY(ലോവർകേസ് വകഭേദങ്ങളും ഉൾപ്പെടെ). നേരിട്ടുള്ള കണക്ഷൻ ചോരുന്നതിന് പകരം പരിഹാര പിശകുകൾ സുരക്ഷിതമായി പരാജയപ്പെടുന്നു. LMArena ഉദ്ദേശ്യപൂർവംarena.ai-നെ അടിസ്ഥാനമാക്കിയാണ് പരിഹരിക്കുന്നത്. - UTF-8 കേടുപാടുകളില്ലാതെ, ഉള്ളടക്ക-തരം വ്യക്തമാക്കിയ ഒരു
data:URLbyteResponseമടക്കി നൽകുന്നു. - പിശകുകൾ:
TlsClientUnavailableError(package/addon ലഭ്യമല്ല),TlsClientHangError(ഡെഡ്ലൈൻ കവിഞ്ഞു), കൂടാതെ പരിധിയിട്ട 128 പ്രൊഫൈൽ/OS/പ്രോക്സി സ്ലോട്ടുകളും സജീവമോ അടയ്ക്കുന്ന നിലയിലോ ആയിരിക്കുമ്പോൾWreqTransportCapacityError(പങ്കിട്ട സെഷൻ-ശേഷി പിശക് കോഡ്).
മുകളിലുള്ള പൊതുവായ TlsClient സെഷൻ സ്ഥിരമായ ബ്രൗസർ-പിന്തുണയുള്ള കുക്കി നിലയ്ക്കായി സവിശേഷവൽക്കരിച്ച നിലയിൽ തുടരുന്നു. രണ്ട് പാതകളും കാഷ് ചെയ്ത ഒരേയൊരു wreq മൊഡ്യൂൾ ലോഡറും പ്രോസസ് ലൈഫ്സൈക്കിൾ ഹുക്കും പുനരുപയോഗിക്കുന്നു; അവയുടെ കുക്കി ആയുസുകൾ ഉദ്ദേശ്യപൂർവം വ്യത്യസ്തമായതിനാൽ അവയുടെ പൂളുകൾ വേർതിരിച്ചാണ് നിലനിർത്തുന്നത്.
പിൻ ചെയ്ത package ഈ പ്രൊഫൈലുകളെ പിന്തുണയ്ക്കുന്നു, എന്നാൽ യഥാർത്ഥ WAF അംഗീകാരം ലോക്കൽ കോൺട്രാക്ട് ടെസ്റ്റുകളിൽ നിന്ന് സ്വതന്ത്രമായി മാറാം. ഒരു അപ്സ്ട്രീം ബ്രൗസറുമായുള്ള തുല്യത അവകാശപ്പെടുന്നതിന് മുമ്പ്, വ്യക്തമായി അംഗീകാരം നൽകിയ ഒരു ലൈവ് അക്കൗണ്ടിനെതിരെ ഫിംഗർപ്രിന്റ് മാറ്റങ്ങൾ സാധൂകരിക്കുക.
Claude Code സ്റ്റെൽത്ത് ബണ്ടിൽ
cliCompatMode ഓണായിരിക്കുമ്പോൾ, പുറത്തേക്ക് അയയ്ക്കുന്ന Claude അഭ്യർത്ഥനകളെ claude-cli ട്രാഫിക്കിൽ നിന്ന് തിരിച്ചറിയാനാകാത്ത വിധത്തിൽ OmniRoute പുനഃക്രമീകരിക്കുന്നു. മൂന്ന് മൊഡ്യൂളുകൾ ഇതിനായി സഹകരിക്കുന്നു:
claudeCodeFingerprint.ts
ബില്ലിംഗ് ഹെഡറിൽ ഉൾച്ചേർത്തിരിക്കുന്ന 3-അക്ഷര cc_version ഫിംഗർപ്രിന്റ് കണക്കാക്കുന്നു:
SHA256(SALT + msg[4] + msg[7] + msg[20] + version)[:3]
FINGERPRINT_SALT = "59cf53e54c78"(ഹാർഡ്കോഡ് ചെയ്തത്; ഔദ്യോഗിക ക്ലയന്റുമായി പൊരുത്തപ്പെടുന്നു)- ഇൻപുട്ടുകൾ: ആദ്യ ഉപയോക്തൃ സന്ദേശത്തിലെ ടെക്സ്റ്റിന്റെ 4, 7, 20 ഇൻഡക്സുകളിലുള്ള അക്ഷരങ്ങൾ + വേർഷൻ സ്ട്രിംഗ്
- ഔട്ട്പുട്ട്: 3-അക്ഷര ഹെക്സ് പ്രിഫിക്സ്
claudeCodeCCH.ts (ക്ലയന്റ് ഉള്ളടക്ക ഹാഷ്)
ഔദ്യോഗിക Claude Code CLI, Bun/Zig വഴി കണക്കാക്കുന്ന സെർവർ-സൈഡ് സമഗ്രതാ പരിശോധന. xxhash-wasm ഉപയോഗിച്ച് OmniRoute ഇത് വീണ്ടും നടപ്പിലാക്കുന്നു:
cch=00000;പ്ലേസ്ഹോൾഡർ ഉപയോഗിച്ച് ബോഡി സീരിയലൈസ് ചെയ്യുകxxhash64(bytes, seed) & 0xFFFFF- പൂജ്യങ്ങൾ ചേർത്ത് 5-അക്ഷര നീളമാക്കിയ ചെറിയക്ഷര ഹെക്സ്
cch=00000;എന്നത് കണക്കാക്കിയ ടോക്കൺ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുക
സ്ഥിരാങ്കങ്ങൾ:
- സീഡ്:
0x6e52736ac806831e - പാറ്റേൺ:
/\bcch=([0-9a-f]{5});/
claudeCodeObfuscation.ts
അപ്സ്ട്രീം ഫിൽട്ടറുകൾക്ക് അവയെ grep ചെയ്യാൻ കഴിയാതിരിക്കാൻ, "സെൻസിറ്റീവ്" ക്ലയന്റ് പേരുകളുടെ ആദ്യ അക്ഷരത്തിന് ശേഷം ഒരു Unicode സീറോ-വിഡ്ത്ത് ജോയിനർ (U+200D) ചേർക്കുന്നു. ഡിഫോൾട്ട് വാക്കുകളുടെ പട്ടിക:
opencode, open-code, cline, roo-cline, roo_cline, cursor, windsurf,
aider, continue.dev, copilot, avante, codecompanion
ഇവയിൽ പ്രയോഗിക്കുന്നു: system ബ്ലോക്കുകൾ, എല്ലാ messages[].content, കൂടാതെ tools[].description / tools[].function.description. setSensitiveWords() വഴി ഓപ്പറേറ്റർക്ക് ഇത് മാറ്റാനാകും.
claudeCodeCompatible.ts — anthropic-compatible-cc-* പ്രൊവൈഡറുകൾ
"യഥാർത്ഥ Claude Code" ട്രാഫിക് മാത്രം സ്വീകരിക്കുന്ന മൂന്നാം കക്ഷി Anthropic റിലേകൾക്കായി:
CLAUDE_CODE_COMPATIBLE_USER_AGENT = "claude-cli/2.1.258 (external, sdk-cli)"CLAUDE_CODE_COMPATIBLE_STAINLESS_PACKAGE_VERSION = "0.112.1"CLAUDE_CODE_COMPATIBLE_STAINLESS_RUNTIME_VERSION = "v26.3.0"- ഡിഫോൾട്ടായി
anthropic-beta = "claude-code-20250219,interleaved-thinking-2025-05-14,effort-2025-11-24" - ഒരു CC Compatible അപ്സ്ട്രീമിന് പ്രത്യേകമായി തിരുത്തിമറച്ച തിങ്കിംഗ് സ്ട്രീമുകൾ ആവശ്യമായി വരുമ്പോൾ, ഓരോ കണക്ഷനിലുമുള്ള "Enable redact-thinking beta" ടോഗിൾ
redact-thinking-2026-02-12ചേർക്കുന്നു - ഓരോ കണക്ഷനിലുമുള്ള "Enable summarized thinking display" ടോഗിൾ
providerSpecificData.requestDefaults.summarizeThinkingസംഭരിക്കുകയും, ഇതിനകം ഒരു ഡിസ്പ്ലേ മോഡ് സജ്ജമാക്കിയിട്ടില്ലാത്ത CC Compatible തിങ്കിംഗ് അഭ്യർത്ഥനകളിൽdisplay: "summarized"ചേർക്കുകയും ചെയ്യുന്നു CONTEXT_1M_BETA_HEADER = "context-1m-2025-08-07"(Opus/Sonnet 4.x ഫാമിലി)- ഡിഫോൾട്ട് പാത്ത്:
/v1/messages?beta=true
അതേ ബണ്ടിലിലുള്ള അനുബന്ധ മൊഡ്യൂളുകൾ:
claudeCodeConstraints.ts— ടെമ്പറേച്ചർ + കാഷ്-കൺട്രോൾ നിയമങ്ങൾclaudeCodeToolRemapper.ts— ടൂൾ-നെയിം റീമാപ്പിംഗ്claudeCodeExtraRemap.ts— അധിക പേലോഡ് നോർമലൈസേഷൻ
Antigravity സ്റ്റെൽത്ത്
Antigravity അഭ്യർത്ഥനകൾ കോളർ ടെക്സ്റ്റ് ബൈറ്റ്-ബൈറ്റ് ആയി അതേപടി നിലനിർത്തുന്നു. ഒരു IDE ക്ലയന്റിനെ അനുകരിക്കാൻ OmniRoute പ്രോംപ്റ്റുകളിൽ സീറോ-വിഡ്ത്ത് അക്ഷരങ്ങൾ ചേർക്കുകയോ ടൂളുകളുടെ പേര് മാറ്റുകയോ അവ ഇൻജക്റ്റ് ചെയ്യുകയോ ചെയ്യുന്നില്ല.
antigravityHeaderScrub.ts
ഫോർവേഡ് ചെയ്യുന്നതിന് മുമ്പ് Stainless SDK മാർക്കറുകൾ (x-stainless-lang, x-stainless-package-version, x-stainless-os, x-stainless-arch, x-stainless-runtime, x-stainless-runtime-version, x-stainless-timeout, x-stainless-retry-count, x-stainless-helper-method) നീക്കം ചെയ്യുന്നു.
⚠️ അപകടസാധ്യത: ANTIGRAVITY_CREDITS=always (അക്കൗണ്ട് നിരോധന സാധ്യത കൂടുതലുള്ള മേഖല)
Google-ന്റെ ഫ്രീ-ടയർ ക്വാട്ട കാര്യങ്ങൾ നിയന്ത്രിക്കാൻ അനുവദിക്കുന്നതിന് പകരം, ANTIGRAVITY_CREDITS=always (open-sse/executors/antigravity.ts ഉപയോഗിക്കുന്നത്) എല്ലാ അഭ്യർത്ഥനകളും Antigravity AI Credit Overages (പണമടച്ചുള്ള Google ക്രെഡിറ്റുകൾ) വഴിയാണ് റൂട്ട് ചെയ്യുന്നത്. ഇത് ഒരു ഫീച്ചറായി രേഖപ്പെടുത്തിയിട്ടുണ്ടെങ്കിലും, ഇത് ഞങ്ങൾ കാണുന്ന ഏറ്റവും സാധാരണമായ ഏക ToS ലംഘന റിപ്പോർട്ടാണ് — =always ഉപയോഗിച്ച് ഏതാനും മണിക്കൂറുകൾ പ്രവർത്തിപ്പിച്ചതിന് ശേഷം ഒന്നിലധികം Google Ultra അക്കൗണ്ടുകൾ 403 / "service disabled for ToS violation" / insufficient_quota സന്ദേശത്തോടെ നിരോധിക്കപ്പെട്ടിട്ടുണ്ട്.
അപ്സ്ട്രീം എൻഫോഴ്സ്മെന്റ് Google-ന്റെ ഭാഗത്താണ് നടക്കുന്നത്; OmniRoute-ന് അത് തടയാൻ കഴിയില്ല. env var പേരും നിലവിലുള്ള ഡോക്യുമെന്റേഷനും ഇത് സുരക്ഷിതമായി മാറ്റാവുന്ന ഒരു ക്രമീകരണമാണെന്ന തോന്നൽ സൃഷ്ടിക്കുന്നു; എന്നാൽ അങ്ങനെയല്ല.
ഫ്രീ-ടയർ മാത്രമുള്ള ഉപയോഗത്തേക്കാൾ ഇത് ദുരുപയോഗം കണ്ടെത്തലിനെ കൂടുതൽ ശക്തമായി ആകർഷിക്കുന്നതിന്റെ കാരണങ്ങൾ:
- ഒരു Google അക്കൗണ്ടിൽ നിന്നുള്ള തുടർച്ചയായ ഓട്ടോമേറ്റഡ് ചെലവ്, ഫ്രീ-ടയർ ക്വാട്ടയിലെത്തി നിർത്തുന്ന സാഹചര്യത്തിൽ നിന്ന് വ്യത്യസ്തമായാണ് ഫ്ലാഗ് ചെയ്യപ്പെടുന്നത്.
- ക്രെഡിറ്റ് ഓവറേജുകൾക്ക് നിരക്ക് പരിധിയില്ല; അതിനാൽ തെറ്റായി ക്രമീകരിച്ച ഒരു ക്ലയന്റിന് മിനിറ്റുകൾക്കുള്ളിൽ നൂറുകണക്കിന് USD ചെലവാക്കാനും API-key പുനർവിൽപ്പനയോ ബോട്ട് ട്രാഫിക്കോ പോലെ തോന്നിക്കാനും കഴിയും.
- ഒരേ ബാഹ്യ IP-യിൽ നിന്ന് ഒന്നിലധികം OmniRoute ഉപയോക്താക്കൾ ഒരേസമയം ഓവറേജ് ക്രെഡിറ്റുകൾ ഉപയോഗിക്കുന്നത് ഈ സിഗ്നൽ കൂടുതൽ ശക്തമാക്കുന്നു.
ശുപാർശ ചെയ്യുന്ന സമീപനം:
- പണമടച്ചുള്ള ക്രെഡിറ്റിന്റെയും അക്കൗണ്ട് എൻഫോഴ്സ്മെന്റിന്റെയും അപകടസാധ്യത ഓപ്പറേറ്റർ വ്യക്തമായി അംഗീകരിക്കുന്നില്ലെങ്കിൽ, ഡിഫോൾട്ട്
ANTIGRAVITY_CREDITS=offനിലനിർത്തുക.retryആദ്യം സാധാരണ അഭ്യർത്ഥന അയയ്ക്കുകയും, യോഗ്യമായ ക്വാട്ട 429 ലഭിച്ചതിന് ശേഷം പരമാവധി ഒരിക്കൽ മാത്രം ക്രെഡിറ്റുകൾ ഇൻജക്റ്റ് ചെയ്യുകയും ചെയ്യുന്നു;alwaysആദ്യ അഭ്യർത്ഥനയിൽ തന്നെ ക്രെഡിറ്റുകൾ ഇൻജക്റ്റ് ചെയ്യുന്നു. - ഒരു Antigravity അക്കൗണ്ട് പരമാവധി ശേഷിയിലെത്തിക്കുന്നതിന് പകരം, Auto-Combo വഴി പ്രൊവൈഡറുകൾക്കിടയിൽ ലോഡ് വിതരണം ചെയ്യുക (
model: "auto"അല്ലെങ്കിൽkr/glm/etc-combo). - Antigravity പ്രൊവൈഡറുടെ എഡിറ്റ് പേജിൽ ഓരോ കണക്ഷനുമുള്ള RPM പരിധികൾ സജ്ജമാക്കുക (Dashboard → Providers → Antigravity → connection → rate limit). തുടർച്ചയായ ഉപയോഗത്തിന് 30–60 RPM ന്യായീകരിക്കാവുന്ന പരമാവധി പരിധിയാണ്.
- സ്ഥിരതയുള്ളതും ഓപ്പറേറ്റർ നിയന്ത്രിക്കുന്നതുമായ അപ്സ്ട്രീം നെറ്റ്വർക്കിംഗ് ഉപയോഗിക്കുക, കൂടാതെ പരസ്പരബന്ധമില്ലാത്ത ഉപയോക്താക്കൾക്കോ വർക്ക്ലോഡുകൾക്കോ ഇടയിൽ ഒരേ അക്കൗണ്ട് പങ്കിടുന്നത് ഒഴിവാക്കുക.
- നിരോധിക്കപ്പെട്ടാൽ: Google അയച്ച കൃത്യമായ
quota_exceeded/service disabledറെസ്പോൺസ് ബോഡിയോടൊപ്പംsupport.google.com→ "Restore Workspace/Account access" വഴി അപ്പീൽ നൽകുക. അക്കൗണ്ട് പുനഃസ്ഥാപിക്കപ്പെടുമെന്ന് ഉറപ്പില്ല.
ഓരോ ക്രെഡിറ്റ് മോഡിന്റെയും അക്കൗണ്ട്, ചെലവ് പ്രത്യാഘാതങ്ങൾ എൻവയൺമെന്റ് റഫറൻസ് രേഖപ്പെടുത്തുന്നു.
ബന്ധപ്പെട്ട ഭാഗങ്ങൾ:
open-sse/executors/antigravity.ts—process.env.ANTIGRAVITY_CREDITSവായിക്കുന്നുsrc/lib/oauth/providers/antigravity.ts— ക്രെഡൻഷ്യൽ പ്ലംബിംഗ്- യഥാർത്ഥ സംഭവ റിപ്പോർട്ട്: Discussion #1183
CLI ഫിംഗർപ്രിന്റ് രജിസ്ട്രി — open-sse/config/cliFingerprints.ts
ഔദ്യോഗിക CLI-കളുടെ mitmproxy ട്രെയ്സുകളിൽ നിന്ന് ലഭിച്ച കൃത്യമായ ഹെഡർ ക്രമവും JSON ബോഡി ഫീൽഡ് ക്രമവും നിശ്ചയിക്കുന്ന ഓരോ പ്രൊവൈഡറിനുമുള്ള പട്ടിക. നിലവിൽ രജിസ്റ്റർ ചെയ്തിട്ടുള്ളവ: codex, claude; കൂടാതെ antigravity, github എന്നിവയ്ക്കായി providerHeaderProfiles.ts-ൽ റൺടൈമിൽ നിന്ന് ലഭിക്കുന്ന പ്രൊഫൈലുകളും.
interface CliFingerprint {
headerOrder: string[]; // കേസ്-സെൻസിറ്റീവ്
bodyFieldOrder: string[]; // ടോപ്പ്-ലെവൽ JSON കീകൾ
userAgent?: string | (() => string);
extraHeaders?: Record<string, string>;
}
env വഴി ഓരോ പ്രൊവൈഡറിനും ഇത് ടോഗിൾ ചെയ്യാം (താഴെ കാണുക). പ്രവർത്തനരഹിതമാക്കിയാൽ, Node/JSON നൽകുന്ന ഏത് ക്രമത്തിലാണോ അതേ ക്രമത്തിൽ ഹെഡറുകളും ബോഡി കീകളും പ്രത്യക്ഷപ്പെടും — എളുപ്പത്തിൽ ഫിംഗർപ്രിന്റ് ചെയ്യാനാകും.
MITM പ്രോക്സി (Antigravity, Linux/macOS/Windows)
OPENAI_BASE_URL വഴി ബൈനറികൾ റീഡയറക്ട് ചെയ്യാൻ കഴിയാത്ത CLI-കൾക്കായി, OmniRoute ഒരു ലോക്കൽ TLS-ടെർമിനേറ്റിംഗ് പ്രോക്സി പ്രവർത്തിപ്പിക്കുന്നു. എൻഡ്പോയിന്റുകൾ src/app/api/cli-tools/antigravity-mitm/-ന് കീഴിലാണ്.
| രീതി | എൻഡ്പോയിന്റ് | ഉദ്ദേശ്യം |
|---|---|---|
| GET | /api/cli-tools/antigravity-mitm |
നില — പ്രവർത്തിക്കുന്നുണ്ടോ, pid, dnsConfigured, certExists |
| POST | /api/cli-tools/antigravity-mitm |
MITM ആരംഭിക്കുക (apiKey + sudoPassword ആവശ്യമാണ്) |
| DELETE | /api/cli-tools/antigravity-mitm |
MITM നിർത്തുക |
| GET | /api/cli-tools/antigravity-mitm/alias |
മോഡൽ അപരനാമങ്ങൾ പട്ടികപ്പെടുത്തുക |
| PUT | /api/cli-tools/antigravity-mitm/alias |
ഒരു ടൂളിനായുള്ള മോഡൽ അപരനാമങ്ങൾ സേവ് ചെയ്യുക |
ഇന്റർസെപ്റ്റ് ചെയ്യുന്ന ടാർഗറ്റ് ഹോസ്റ്റ്: daily-cloudcode-pa.googleapis.com (Antigravity-യുടെ അപ്സ്ട്രീം).
ആരംഭ ക്രമം (src/mitm/manager.ts::startMitm)
selfsignedവഴി സ്വയം ഒപ്പിട്ട സർട്ടിഫിക്കറ്റ് സൃഷ്ടിക്കുക (RSA-2048, SHA-256, 1y) —cert/generate.ts- സിസ്റ്റം ട്രസ്റ്റ് സ്റ്റോറിൽ സർട്ടിഫിക്കറ്റ് ഇൻസ്റ്റാൾ ചെയ്യുക —
cert/install.ts 127.0.0.1 daily-cloudcode-pa.googleapis.comഎന്ന hosts എൻട്രി ചേർക്കുക —dns/dnsConfig.tsROUTER_API_KEY+MITM_LOCAL_PORT(ഡിഫോൾട്ട്443) സഹിതംsrc/mitm/server.cjsസ്പോൺ ചെയ്യുക- PID
<DATA_DIR>/mitm/.mitm.pid-ലേക്ക് സ്ഥിരമായി സംഭരിക്കുക
Linux ഡൈനാമിക് ട്രസ്റ്റ്-സ്റ്റോർ കണ്ടെത്തൽ — cert/install.ts
getLinuxCertConfig() മുൻഗണനാ പട്ടികയിലൂടെ പരിശോധിച്ച് നിലവിലുള്ള ആദ്യത്തെ ഡയറക്ടറി തിരഞ്ഞെടുക്കുന്നു:
| ഡിസ്ട്രോ കുടുംബം | ഡയറക്ടറി | അപ്ഡേറ്റ് കമാൻഡ് |
|---|---|---|
| Debian / Ubuntu | /usr/local/share/ca-certificates |
update-ca-certificates |
| Arch / CachyOS / Manjaro | /etc/ca-certificates/trust-source/anchors |
update-ca-trust |
| Fedora / RHEL / CentOS | /etc/pki/ca-trust/source/anchors |
update-ca-trust |
| openSUSE | /etc/pki/trust/anchors |
update-ca-certificates |
സർട്ടിഫിക്കറ്റ് ഫയൽനാമം: omniroute-mitm.crt. getCertFingerprint() വഴി ഫിംഗർപ്രിന്റ് പൊരുത്തപ്പെടുത്തുന്നു (DER-ന്റെ SHA-1).
കൂടാതെ, certutil ലഭ്യമാകുമ്പോൾ updateNssDatabases() ഓരോ ഉപയോക്താവിന്റെയും NSS DB-കളിൽ ഇൻസ്റ്റാൾ ചെയ്യുന്നു: ~/.pki/nssdb, ~/snap/chromium/.../nssdb, എല്ലാ Firefox പ്രൊഫൈലുകളും (snap ഉൾപ്പെടെ), OmniRoute MITM Root CA എന്ന വിളിപ്പേരിന് കീഴിൽ.
macOS / Windows
- macOS:
security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain - Windows: ഉയർന്ന അധികാരമുള്ള PowerShell →
certutil -addstore Root
പ്രാമാണീകരണം
എല്ലാ MITM എൻഡ്പോയിന്റുകൾക്കും മാനേജ്മെന്റ് പ്രാമാണീകരണം (requireCliToolsAuth) ആവശ്യമാണ്. sudo പാസ്വേഡ് മൊഡ്യൂൾ സ്കോപ്പിൽ കാഷ് ചെയ്യപ്പെടുന്നു (globalThis-ൽ ഒരിക്കലുമല്ല), കൂടാതെ stopMitm()-ൽ മായ്ക്കപ്പെടുന്നു.
User-Agent ഓവർറൈഡുകൾ — env vars (.env.example വിഭാഗം 12)
| വേരിയബിൾ | ഡിഫോൾട്ട് |
|---|---|
CLAUDE_USER_AGENT |
claude-cli/2.1.258 (external, cli) |
CODEX_USER_AGENT |
codex-cli/0.149.0 (Windows 10.0.26200; x64) |
GITHUB_USER_AGENT |
GitHubCopilotChat/0.54.0 |
ANTIGRAVITY_USER_AGENT |
antigravity/2.0.1 linux/arm64 google-api-nodejs-client/10.3.0 |
KIRO_USER_AGENT |
AWS-SDK-JS/3.0.0 kiro-ide/1.0.0 |
QODER_USER_AGENT |
Qoder-Cli |
CURSOR_USER_AGENT |
Cursor/3.4 |
ഡൈനാമിക് ലുക്കപ്പ് വഴി open-sse/executors/base.ts::buildHeaders() ഇവ ഉപയോഗിക്കുന്നു. ദാതാക്കൾ പുതിയ CLI പതിപ്പുകൾ പുറത്തിറക്കുമ്പോൾ ഇവയുടെ പതിപ്പ് ഉയർത്തുക — കാലഹരണപ്പെട്ട UA സ്ട്രിങ്ങുകൾ പഴയ ക്ലയന്റുകളുടേതായി കണക്കാക്കി നിരസിക്കാൻ തുടങ്ങും.
CLI അനുയോജ്യതാ മോഡ് ടോഗിളുകൾ (.env.example വിഭാഗം 13)
| വേരിയബിൾ | പ്രഭാവം |
|---|---|
CLI_COMPAT_CODEX=1 |
Codex ഫിംഗർപ്രിന്റ് |
CLI_COMPAT_CLAUDE=1 |
claude-cli ഫിംഗർപ്രിന്റ് |
CLI_COMPAT_GITHUB=1 |
GitHub Copilot Chat ഫിംഗർപ്രിന്റ് |
CLI_COMPAT_ANTIGRAVITY=1 |
Antigravity ഫിംഗർപ്രിന്റ് |
CLI_COMPAT_KIRO=1 |
Kiro |
CLI_COMPAT_CURSOR=1 |
Cursor |
CLI_COMPAT_KIMI_CODING=1 |
Kimi Coding |
CLI_COMPAT_KILOCODE=1 |
KiloCode |
CLI_COMPAT_CLINE=1 |
Cline |
CLI_COMPAT_ALL=1 |
മുകളിലുള്ളവയെല്ലാം പ്രവർത്തനക്ഷമമാക്കുക |
ദാതാവിന്റെ IP എപ്പോഴും സംരക്ഷിക്കപ്പെടുന്നു — ടോഗിൾ അഭ്യർത്ഥനയുടെ വയർ ഇമേജ് മാത്രമാണ് പുനഃക്രമീകരിക്കുന്നത്; അത് IP എഗ്രെസ് മാറ്റുന്നില്ല.
ഇൻബൗണ്ട് ഹെഡർ ശുചീകരണം
Cursor-ൽനിന്ന് എത്തുന്ന ഒരു അഭ്യർത്ഥന Claude അപ്സ്ട്രീമിലേക്ക് User-Agent: Cursor/X.Y.Z ചോർത്താതിരിക്കാൻ, ഫോർവേഡ് ചെയ്യുന്നതിന് മുമ്പ് OmniRoute ഇൻബൗണ്ട് ക്ലയന്റ് ഹെഡറുകൾ നീക്കംചെയ്യുന്നു. Zod സ്കീമകളോടും യൂണിറ്റ് ടെസ്റ്റുകളോടും കൃത്യമായി സമന്വയിപ്പിച്ചിരിക്കുന്ന ഡിനൈലിസ്റ്റിനായി src/shared/constants/upstreamHeaders.ts കാണുക.
ഒരു ദാതാവ് മാറ്റം വരുത്തുമ്പോൾ ഫിംഗർപ്രിന്റുകൾ അപ്ഡേറ്റ് ചെയ്യുന്നത്
mitmproxyഉപയോഗിച്ച് ഔദ്യോഗിക CLI ട്രാഫിക് ക്യാപ്ചർ ചെയ്യുക (TLS ഇന്റർസെപ്ഷൻ + ഡംപ്)- JA3/JA4-ഉം അക്ഷരാർത്ഥത്തിലുള്ള ഹെഡർ ക്രമവും എക്സ്ട്രാക്റ്റ് ചെയ്യുക
- പ്രസക്തമായ
CLI_FINGERPRINTS[...]എൻട്രി അപ്ഡേറ്റ് ചെയ്യുക .env.example-ലെ പൊരുത്തപ്പെടുന്ന*_USER_AGENTഡിഫോൾട്ടിന്റെ പതിപ്പ് ഉയർത്തുക- TLS ഹാൻഡ്ഷേക്ക് തന്നെ മാറിയിട്ടുണ്ടെങ്കിൽ, പ്രസക്തമായ ദാതാ റാപ്പറോ wreq-js
browser:ഓപ്ഷനോ അപ്ഡേറ്റ് ചെയ്യുക - ദാതാവിന് പ്രത്യേകമായ TLS ടെസ്റ്റുകളും ലൈവ് ദാതാവിനെതിരെയുള്ള ഒരു മാനുവൽ കാനറി പരിശോധനയും പ്രവർത്തിപ്പിക്കുക
- ഒരു പാച്ച് റിലീസായി പ്രസിദ്ധീകരിക്കുക;
CHANGELOG.md-ൽ രേഖപ്പെടുത്തുക
ടെസ്റ്റുകൾ
open-sse/services/__tests__/claudeTlsClient.test.ts— പങ്കിട്ട TLS റാപ്പറിന്റെ പെരുമാറ്റംtests/unit/anthropic-cache-fingerprint.test.ts— ഫിംഗർപ്രിന്റിന്റെ നിർണിതസ്വഭാവംtests/unit/chatgpt-web-source-retirement.test.ts— Codex Web നിലവിലുണ്ടായിരിക്കുമ്പോൾ പൊതുവായ ChatGPT Web സ്റ്റെൽത്ത് സോഴ്സ് ഇല്ലാതെയിരിക്കുന്നത് തുടരുന്നുവെന്ന് ഉറപ്പാക്കുന്നു
ഇതും കാണുക
- RESILIENCE_GUIDE.md — ഒരു സ്റ്റെൽത്ത് പാത്തിന്
403ലഭിക്കുമ്പോൾ എന്ത് സംഭവിക്കുന്നു - TROUBLESHOOTING.md
- ENVIRONMENT.md — പരിസ്ഥിതി വേരിയബിളുകളുടെ സമ്പൂർണ്ണ റഫറൻസ്
- CLI-TOOLS.md — MITM വർക്ക്ഫ്ലോയുടെ ഓപ്പറേറ്റർ കാഴ്ചപ്പാട്