fix(proxy): isolate TLS sessions by account (#9837)

Co-authored-by: Antigravity Agent (via Agisota) <agisota@users.noreply.github.com>
This commit is contained in:
agisota
2026-08-10 09:24:51 +03:00
committed by GitHub
parent 2e6c151902
commit b80afbb74f
9 changed files with 2025 additions and 213 deletions

View File

@@ -10,7 +10,7 @@
* .next/standalone -> outDir (cp) Y Y Y SHARED
* .next/static -> outDir/.next/static (cp) Y Y Y SHARED
* public/ -> outDir/public/ (cp) Y Y Y SHARED
* wreq-js/rust -> outDir/node_modules/wreq-js/rust Y - - SHARED (native asset)
* wreq-js -> outDir/node_modules/wreq-js Y Y Y SHARED (extra module)
* better-sqlite3/build -> outDir/node_modules/better-sqlite3/ Y - - SHARED (native asset)
* @swc/helpers -> outDir/node_modules/@swc/helpers Y Y Y SHARED (extra module)
* pino-abstract-transport -> outDir/node_modules/... Y - - SHARED (extra module)
@@ -76,11 +76,6 @@ async function exists(targetPath) {
* for either path/platform. @type {{label:string, src:string[], dest:string[]}[]}
*/
export const NATIVE_ASSET_ENTRIES = [
{
label: "wreq-js native runtime",
src: ["node_modules", "wreq-js", "rust"],
dest: ["node_modules", "wreq-js", "rust"],
},
{
label: "better-sqlite3 native binary",
src: ["node_modules", "better-sqlite3", "build"],
@@ -117,6 +112,15 @@ export const NATIVE_ASSET_ENTRIES = [
/** @type {{label:string, src:string[], dest:string[]}[]} */
const EXTRA_MODULE_ENTRIES = [
{
// tlsClient.ts intentionally resolves wreq-js through a runtime-dynamic
// require so Turbopack cannot rewrite the package name to a hashed external.
// That also makes the package invisible to static tracing, so copy the whole
// module—not only rust/—into every standalone artifact.
label: "wreq-js TLS runtime",
src: ["node_modules", "wreq-js"],
dest: ["node_modules", "wreq-js"],
},
{
label: "@swc/helpers",
src: ["node_modules", "@swc", "helpers"],
@@ -278,7 +282,7 @@ const EXTRA_MODULE_ENTRIES = [
];
/**
* Copy native standalone assets (wreq-js rust/, better-sqlite3 build/).
* Copy native standalone assets (better-sqlite3 build/prebuilds and TPROXY).
*
* The destination is derived as <rootDir>/<distDir>/standalone/node_modules/...
* for backward compatibility with existing callers and tests.
@@ -512,8 +516,8 @@ function copyStaticAndPublic({ distDir, relDistDir, projectRoot, resolvedOutDir
}
/**
* Copy native assets (wreq-js, better-sqlite3) and extra runtime modules/sidecars
* (pino, migrations, MITM server, helper scripts, sqlite-vec platform packages, …)
* Copy native assets (better-sqlite3 and TPROXY) and extra runtime modules/sidecars
* (wreq-js, pino, migrations, MITM server, helper scripts, sqlite-vec platform packages, …)
* into the assembled bundle. Missing sources are skipped silently.
*
* @param {string} projectRoot