Files
OmniRoute/docs/i18n/hu/docs/security/STEALTH_GUIDE.md
Diego Rodrigues de Sa e Souza 8feea123bb feat(docs): mirror every docs/ page in all 65 locales (#14106)
* 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.
2026-09-18 13:16:46 -03:00

26 KiB
Raw Blame History

Stealth Guide (Magyar)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 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


Hiteles forrás: 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/ Legutóbbi frissítés: 2026-09-02 — v3.8.51 Célközönség: Szolgáltatóspecifikus rejtőzködő integrációkat karbantartó mérnökök.

Az OmniRoute olyan szolgáltatókkal integrálódik, amelyek peremhálózatai aktívan ujjlenyomatozzák a nem hivatalos klienseket (TLS JA3/JA4, fejlécek sorrendje, JSON-törzs szerkezete, integritási tokenek). Ez az oldal az OmniRoute által biztosított rejtőzködési felületeket és azok megvalósítási helyét dokumentálja.

Jogi és etikai tájékoztató

A rejtőzködési funkciók azért léteznek, hogy az OmniRoute kompatibilitási rétegként működhessen a felhasználók saját hivatalos fiókjai (Claude Code CLI, Codex, Antigravity, Cursor stb.) és az OmniRoute egységes API-ja között. Ezek nem használhatók csalásészlelés megkerülésére, hitelesítő adatok megosztására vagy a szolgáltatói felhasználási feltételek megsértésére. A karbantartók elvárják az üzemeltetőktől, hogy betartsák a fiókok létrehozásakor elfogadott upstream felhasználási feltételeket.


TLS-ujjlenyomatozási réteg

open-sse/utils/tlsClient.ts — wreq-js (Chrome 124)

A tartós wreq-js-munkamenetek létrehozása lusta módon, fiókhatókörönként és feloldott proxynként történik. A folyamat egészére kiterjedő TlsClient legfeljebb 128 olyan munkamenetet tárol a készletben, amelyek macOS rendszeren futó Chrome 124 böngészőt utánoznak a Cloudflare mögött található upstream szolgáltatások számára. A TlsClient.fetch() biztonságosan hibára fut, ha a natív futtatókörnyezet nem érhető el; a hívó ezen burkolón kívül kifejezetten kiválaszthat egy tartalék megoldást.

  • Munkamenetprofil: browser: "chrome_124", os: "macos"
  • Proxyfeloldás (prioritási sorrendben): HTTPS_PROXYHTTP_PROXYALL_PROXY (a kisbetűs változatokat is beleértve)
  • Időtúllépés: TLS_CLIENT_TIMEOUT_MS (a FETCH_TIMEOUT_MS értékét örökli, alapértelmezés szerint 600000)
  • A wreq-js Response kompatibilis a fetch API-val (headers, text(), json(), clone(), body).
  • Első bájtos figyelő (open-sse/utils/tlsFirstByteWatchdog.ts, #12656): a TlsClient.fetch() azonnal feloldódik, amint megérkeznek az upstream fejlécek, ezért a TLS_CLIENT_TIMEOUT_MS önmagában nem képes időkorlátot szabni egy olyan törzsnek, amely soha nem ad vissza első bájtot. A guardTlsFirstByte() versenyezteti a törzs első read() hívását a TLS_FIRST_BYTE_WATCHDOG_MS értékével (alapértelmezés szerint 10000, a 0 letiltja); az egészséges törzset ez nem érinti, míg egy elakadt törzs esetén megszakítja a wreq-olvasót, és lehetővé teszi, hogy a proxyFetch meglévő TLS-tartaléklogikája továbblépjen a közvetlen/proxy diszpécserhez (egy nem biztonságosan újrajátszható kérés, például egy törzzsel rendelkező POST, továbbra is hibát dob ahelyett, hogy a rendszer észrevétlenül újrapróbálná).

Webes sütiket használó szolgáltatói átvitel — wreq-js 3.2.0

Az open-sse/services/tlsClientBase.ts az alábbi öt specializált, webes sütiket használó átvitel közös adaptere. Minden vékony szolgáltatói burkoló kiválaszt egy böngésző-/operációsrendszer-profilt. Az adapter az open-sse/utils/tlsClient.ts egyetlen wreq-futtatókörnyezet-betöltőjét és átviteli készletét használja, profil + operációs rendszer + feloldott proxy szerint kulcsolva, miközben minden kérés a cookieMode: "ephemeral" beállítást használja. A fiókok és kérések ezért megosztják az átviteli szintű kapcsolatokat, de soha nem osztoznak wreq-munkameneten vagy sütőtárolón.

Szolgáltató Profil Emulált operációs rendszer Adatfolyam-végi szabályzat
Claude chrome_146 Linux a [DONE] belefoglalása
Perplexity firefox_148 macOS az event: end_of_stream belefoglalása
Grok chrome_146 Linux a [DONE] kihagyása
Notion chrome_146 Windows a [DONE] belefoglalása
LMArena chrome_146 Windows nincs jelző; bezárás natív EOF esetén
  • Az adatfolyam-kezelés közvetlenül használja a natív válasz ReadableStream objektumát; nem jön létre ideiglenes fájl vagy kísérőfolyamat.
  • Legfeljebb 256 kezdeti bájtot vizsgál meg a rendszer az adatfolyam elérhetővé tétele előtt. Az SSE-szolgáltatók pufferelik a nem SSE-hibákat; a Grok/LMArena a Cloudflare-ellenőrzéseket 403, a HTML-köztes oldalakat pedig 502 állapotkódra képezi le.
  • A natív kérés időtúllépését továbbra is egy abszolút JS-korlát burkolja. Elakadás esetén csak az érintett profil/operációs rendszer/proxy átvitel válik érvénytelenné és zárul be, mielőtt a következő kérés újra létrehozná.
  • A proxyfeloldás prioritása: hívásonkénti proxyUrl → kérés hatókörű fiók-/irányítópult-kontextus → HTTPS_PROXY/HTTP_PROXY/ALL_PROXY (a kisbetűs változatokat is beleértve). A feloldási hibák biztonságosan hibára futnak ahelyett, hogy közvetlen kapcsolatot szivárogtatnának ki. Az LMArena szándékosan az arena.ai alapján végez feloldást.
  • A byteResponse UTF-8-sérülés nélkül ad vissza egy tartalomtípussal ellátott data: URL-t.
  • A hibák típusai: TlsClientUnavailableError (a csomag/bővítmény nem érhető el), TlsClientHangError (a határidő túllépve), valamint WreqTransportCapacityError (a megosztott munkamenet-kapacitási hibakód), amikor mind a 128 korlátozott profil/operációs rendszer/proxy hely aktív vagy bezárás alatt áll.

A fenti általános TlsClient-munkamenet továbbra is a tartós, böngészőalapú sütiállapotra specializálódik. Mindkét útvonal ugyanazt a gyorsítótárazott wreq-modulbetöltőt és folyamat-életciklusfigyelőt használja újra; készleteik különállók maradnak, mert süti-élettartamaik szándékosan eltérnek.

A profilokat a rögzített csomag támogatja, de a valós WAF-elfogadás a helyi szerződéses tesztektől függetlenül is változhat. Mielőtt egy upstream böngészővel való egyenértékűséget állítana, ellenőrizze az ujjlenyomat-módosításokat egy kifejezetten engedélyezett, élő fiókkal.


Claude Code lopakodó csomag

Amikor a cliCompatMode be van kapcsolva, az OmniRoute úgy alakítja át a kimenő Claude-kéréseket, hogy azok megkülönböztethetetlenek legyenek a claude-cli forgalmától. Három modul működik együtt:

claudeCodeFingerprint.ts

Kiszámítja a számlázási fejlécbe ágyazott, 3 karakteres cc_version ujjlenyomatot:

SHA256(SALT + msg[4] + msg[7] + msg[20] + version)[:3]
  • FINGERPRINT_SALT = "59cf53e54c78" (beégetett érték; megegyezik a hivatalos klienssel)
  • Bemenetek: az első felhasználói üzenet szövegének 4., 7. és 20. indexű karaktere + a verziókarakterlánc
  • Kimenet: 3 karakteres hexadecimális előtag

claudeCodeCCH.ts (kliensoldali tartalomkivonat)

Szerveroldali integritás-ellenőrzés, amelyet a hivatalos Claude Code CLI a Bun/Zig segítségével számít ki. Az OmniRoute ezt az xxhash-wasm használatával valósítja meg újra:

  1. A törzs szerializálása cch=00000; helyőrzővel
  2. xxhash64(bytes, seed) & 0xFFFFF
  3. Nullákkal 5 karakteresre feltöltött, kisbetűs hexadecimális érték
  4. A cch=00000; lecserélése a kiszámított tokenre

Konstansok:

  • Seed: 0x6e52736ac806831e
  • Minta: /\bcch=([0-9a-f]{5});/

claudeCodeObfuscation.ts

Egy Unicode zéró szélességű összekötőt (U+200D) szúr az „érzékeny” kliensnevek első karaktere után, hogy a felsőbb rétegbeli szűrők ne tudjanak rájuk grep-keresést végezni. Alapértelmezett szólista:

opencode, open-code, cline, roo-cline, roo_cline, cursor, windsurf,
aider, continue.dev, copilot, avante, codecompanion

Alkalmazási helyek: system blokkok, az összes messages[].content, valamint a tools[].description / tools[].function.description. Az üzemeltető a setSensitiveWords() segítségével felülbírálhatja.

claudeCodeCompatible.tsanthropic-compatible-cc-* szolgáltatók

Olyan külső Anthropic-továbbítókhoz, amelyek csak „valódi Claude Code” forgalmat fogadnak el:

  • 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"
  • Az anthropic-beta = "claude-code-20250219,interleaved-thinking-2025-05-14,effort-2025-11-24" alapértelmezés szerint
  • A kapcsolatonkénti „Enable redact-thinking beta” kapcsoló hozzáadja a redact-thinking-2026-02-12 értéket, amikor egy CC Compatible felsőbb rétegbeli szolgáltató kifejezetten kitakart gondolkodási adatfolyamokat igényel
  • A kapcsolatonkénti „Enable summarized thinking display” kapcsoló eltárolja a providerSpecificData.requestDefaults.summarizeThinking értéket, és hozzáadja a display: "summarized" beállítást azokhoz a CC Compatible gondolkodási kérésekhez, amelyek még nem adtak meg megjelenítési módot
  • CONTEXT_1M_BETA_HEADER = "context-1m-2025-08-07" (Opus/Sonnet 4.x család)
  • Alapértelmezett útvonal: /v1/messages?beta=true

Ugyanezen csomag kapcsolódó moduljai:

  • claudeCodeConstraints.ts — hőmérséklet- és gyorsítótár-vezérlési szabályok
  • claudeCodeToolRemapper.ts — eszköznevek leképezése
  • claudeCodeExtraRemap.ts — a hasznos adat további normalizálása

Antigravity lopakodó mód

Az Antigravity-kérések bájtról bájtra megőrzik a hívó szövegét. Az OmniRoute nem szúr zéró szélességű karaktereket a promptokba, és nem nevez át vagy injektál eszközöket egy IDE-kliens utánzásához.

antigravityHeaderScrub.ts

Továbbítás előtt eltávolítja a Stainless SDK jelölőit (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).

⚠️ Kockázat: ANTIGRAVITY_CREDITS=always (fióktiltási gócpont)

Az ANTIGRAVITY_CREDITS=always (amelyet az open-sse/executors/antigravity.ts használ fel) minden kérést az Antigravity AI Credit Overages szolgáltatáson (fizetős Google-krediteken) keresztül irányít, ahelyett, hogy a Google ingyenes csomagjának kvótája korlátozná a használatot. Ez funkcióként van dokumentálva, de ez az általunk látott szolgáltatásifeltétel-sértési jelentések messze leggyakoribb oka — több Google Ultra-fiókot is letiltottak 403 / "service disabled for ToS violation" / insufficient_quota hibával, miután néhány órán át =always beállítással futottak.

A felsőbb rétegbeli szabályérvényesítés a Google oldalán történik, ezt az OmniRoute nem tudja megakadályozni. A környezeti változó neve és a meglévő dokumentáció azt a benyomást kelti, hogy biztonságosan bekapcsolható; ez nem így van.

Miért vált ez ki agresszívebb visszaélés-észlelést, mint a kizárólag ingyenes csomagra korlátozott használat:

  • Az egyetlen Google-fiókon keresztüli tartós, automatizált költést másként jelölik meg, mint amikor az ingyenes csomag eléri a kvótát, majd leáll.
  • A kredittúllépéseknek nincs sebességkorlátjuk, ezért egy hibásan konfigurált kliens percek alatt több száz USD-t költhet el, és API-kulcs-viszonteladásnak vagy botforgalomnak tűnhet.
  • Ha több OmniRoute-felhasználó párhuzamosan, ugyanarról a külső IP-címről használ túllépési krediteket, az tovább erősíti a jelzést.

Javasolt eljárás:

  1. Tartsa meg az alapértelmezett ANTIGRAVITY_CREDITS=off beállítást, kivéve, ha az üzemeltető kifejezetten elfogadja a fizetős kreditekkel és a fiókkal szembeni intézkedésekkel járó kockázatot. A retry először elküldi a normál kérést, és egy megfelelő, kvótához kapcsolódó 429-es válasz után legfeljebb egyszer injektál krediteket; az always már az első kérésbe injektálja a krediteket.
  2. Ossza el a terhelést a szolgáltatók között az Auto-Combo segítségével (model: "auto" vagy kr/glm/etc-combo), ahelyett, hogy egyetlen Antigravity-fiókot terhelne túl.
  3. Állítson be kapcsolatonkénti RPM-korlátokat az Antigravity szolgáltató szerkesztési oldalán (Dashboard → Providers → Antigravity → kapcsolat → sebességkorlát). Tartós használat esetén a 3060 RPM védhető felső határ.
  4. Használjon stabil, az üzemeltető által felügyelt felsőbb rétegbeli hálózatot, és kerülje egyetlen fiók megosztását egymástól független felhasználók vagy munkaterhelések között.
  5. Letiltás esetén: nyújtson be fellebbezést a support.google.com → „Restore Workspace/Account access” oldalon, és mellékelje a Google által küldött pontos quota_exceeded / service disabled választörzset. A helyreállítás nem garantált.

A környezeti változók referenciadokumentációja ismerteti az egyes kreditmódok fiókra és költségekre gyakorolt hatásait.

Érintett helyek:

  • open-sse/executors/antigravity.ts — beolvassa a process.env.ANTIGRAVITY_CREDITS értékét
  • src/lib/oauth/providers/antigravity.ts — hitelesítő adatok továbbítása
  • Eredeti incidensjelentés: #1183 beszélgetés

CLI-ujjlenyomat-nyilvántartás — open-sse/config/cliFingerprints.ts

Szolgáltatónkénti táblázat, amely rögzíti a hivatalos CLI-k mitmproxy-nyomvonalaiból kinyert fejlécek és JSON-törzsmezők pontos sorrendjét. Jelenleg regisztrálva: codex, claude, valamint az antigravity és a github számára a providerHeaderProfiles.ts fájlban futásidőben származtatott profilok.

interface CliFingerprint {
  headerOrder: string[]; // kis- és nagybetűérzékeny
  bodyFieldOrder: string[]; // legfelső szintű JSON-kulcsok
  userAgent?: string | (() => string);
  extraHeaders?: Record<string, string>;
}

Szolgáltatónként kapcsolható környezeti változóval (lásd alább). Ha ki van kapcsolva, a fejlécek/törzskulcsok a Node/JSON által megadott tetszőleges sorrendben jelennek meg — így könnyen azonosítható az ujjlenyomat.


MITM-proxy (Antigravity, Linux/macOS/Windows)

Azon CLI-k esetében, amelyek bináris fájljai nem irányíthatók át az OPENAI_BASE_URL használatával, az OmniRoute helyi, TLS-t lezáró proxyt futtat. A végpontok a src/app/api/cli-tools/antigravity-mitm/ alatt találhatók.

Metódus Végpont Cél
GET /api/cli-tools/antigravity-mitm Állapot — running, pid, dnsConfigured, certExists
POST /api/cli-tools/antigravity-mitm MITM indítása (apiKey + sudoPassword szükséges)
DELETE /api/cli-tools/antigravity-mitm MITM leállítása
GET /api/cli-tools/antigravity-mitm/alias Modellaliasok listázása
PUT /api/cli-tools/antigravity-mitm/alias Modellaliasok mentése egy eszközhöz

Az elfogott célállomás: daily-cloudcode-pa.googleapis.com (az Antigravity felsőbb rétegbeli szolgáltatása).

Indítási folyamat (src/mitm/manager.ts::startMitm)

  1. Önaláírt tanúsítvány létrehozása a selfsigned használatával (RSA-2048, SHA-256, 1 év) — cert/generate.ts
  2. A tanúsítvány telepítése a rendszer megbízható tanúsítványtárába — cert/install.ts
  3. A 127.0.0.1 daily-cloudcode-pa.googleapis.com bejegyzés hozzáadása a hosts fájlhoz — dns/dnsConfig.ts
  4. A src/mitm/server.cjs elindítása a ROUTER_API_KEY + MITM_LOCAL_PORT használatával (alapértelmezés: 443)
  5. A PID tartós mentése ide: <DATA_DIR>/mitm/.mitm.pid

Dinamikus megbízhatótanúsítványtár-észlelés Linuxon — cert/install.ts

A getLinuxCertConfig() végigjár egy prioritási listát, és az első létező könyvtárat választja ki:

Disztribúciócsalád Könyvtár Frissítési parancs
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

A tanúsítvány fájlneve: omniroute-mitm.crt. Az ujjlenyomat egyeztetése a getCertFingerprint() használatával történik (a DER SHA-1-kivonata).

Emellett az updateNssDatabases() felhasználónkénti NSS-adatbázisokba telepíti a tanúsítványt, ha a certutil elérhető: ~/.pki/nssdb, ~/snap/chromium/.../nssdb, valamint minden Firefox-profilba (a snap-verziókat is beleértve), OmniRoute MITM Root CA becenévvel.

macOS / Windows

  • macOS: security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain
  • Windows: emelt jogosultságú PowerShell → certutil -addstore Root

Hitelesítés

Minden MITM-végpont kezelési hitelesítést igényel (requireCliToolsAuth). A sudo-jelszó modulhatókörben van gyorsítótárazva (soha nem a globalThis objektumban), és a stopMitm() meghívásakor törlődik.


User-Agent felülbírálások — környezeti változók (.env.example 12. szakasz)

Változó Alapértelmezett
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

Az open-sse/executors/base.ts::buildHeaders() használja dinamikus keresésen keresztül. Frissítse ezeket, amikor a szolgáltatók új CLI-verziókat adnak ki — az elavult UA-karakterláncokat idővel elavult kliensekként utasítják el.

CLI-kompatibilitási mód kapcsolói (.env.example 13. szakasz)

Változó Hatás
CLI_COMPAT_CODEX=1 Codex-ujjlenyomat
CLI_COMPAT_CLAUDE=1 claude-cli-ujjlenyomat
CLI_COMPAT_GITHUB=1 GitHub Copilot Chat-ujjlenyomat
CLI_COMPAT_ANTIGRAVITY=1 Antigravity-ujjlenyomat
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 A fentiek mindegyikének engedélyezése

A szolgáltató IP-címe mindig megmarad — a kapcsoló csak a kérés hálózati képét alakítja át, az IP-kimenetet nem váltja át.


Bejövő fejlécek megtisztítása

Az OmniRoute továbbítás előtt megtisztítja a bejövő kliensfejléceket, így a Cursorból érkező kérés nem szivárogtatja ki a User-Agent: Cursor/X.Y.Z értéket egy Claude upstream felé. A tiltólistát lásd a src/shared/constants/upstreamHeaders.ts fájlban; ez szinkronban van tartva a Zod-sémákkal és az egységtesztekkel.


Ujjlenyomatok frissítése szolgáltatói váltáskor

  1. Rögzítse a hivatalos CLI-forgalmat a mitmproxy használatával (TLS-elfogás + kiíratás)
  2. Nyerje ki a JA3/JA4 értékeket és a fejlécek pontos sorrendjét
  3. Frissítse a megfelelő CLI_FINGERPRINTS[...] bejegyzést
  4. Frissítse a hozzá tartozó *_USER_AGENT alapértelmezett értékét a .env.example fájlban
  5. Ha maga a TLS-kézfogás is megváltozott, frissítse a megfelelő szolgáltatói burkolót vagy a wreq-js browser: beállítását
  6. Futtassa a szolgáltatóspecifikus TLS-teszteket és egy kézi kanáritesztet az élő szolgáltatón
  7. Adja ki javítóverzióban; dokumentálja a CHANGELOG.md fájlban

Tesztek

  • open-sse/services/__tests__/claudeTlsClient.test.ts — a megosztott TLS-burkoló viselkedése
  • tests/unit/anthropic-cache-fingerprint.test.ts — az ujjlenyomat determinisztikussága
  • tests/unit/chatgpt-web-source-retirement.test.ts — az általános, rejtőzködésre használt ChatGPT Web-forrás továbbra is hiányzik, miközben a Codex Web jelen marad

Lásd még