This commit is contained in:
velzie 2024-08-24 21:30:45 -04:00
parent 9b2acd8ab7
commit 71fd6f12ef
No known key found for this signature in database
GPG key ID: 048413F95F0DDE1F
3 changed files with 18 additions and 10 deletions

View file

@ -15,6 +15,17 @@ export default function (client: ScramjetClient, self: Self) {
return true; return true;
}, },
ports() {
// don't know why i have to do this?
return this.ports;
},
source() {
let scram: ScramjetClient = this.source[ScramjetClient.SCRAMJET];
if (scram) return scram.windowProxy;
return this.source;
},
origin() { origin() {
if (typeof this.data === "object" && "$scramjet$origin" in this.data) if (typeof this.data === "object" && "$scramjet$origin" in this.data)
return this.data.$scramjet$origin; return this.data.$scramjet$origin;

View file

@ -39,6 +39,11 @@ export function rewriteJs(js: string | ArrayBuffer, origin?: URL) {
// dbg.debug("Rewrite took", Math.floor((after - before) * 10) / 10, "ms"); // dbg.debug("Rewrite took", Math.floor((after - before) * 10) / 10, "ms");
if (typeof js !== "string") js = new TextDecoder().decode(js);
js = js.replaceAll(
`(c=H[36](57,T,(F=(d=["contentWindow","ports",(S=p.dH,"recaptcha-setup")],S).data==d[2],S).origin)==H[36](59,T,A),b=!E||S.source==E[d[0]],F&&c&&b&&S[d[1]].length>M)?S[d[1]][M]:null`,
" p.dH.ports[0]"
);
return js; return js;
} }

View file

@ -24,11 +24,7 @@ export async function swfetch(
decodeURIComponent(new URL(request.url).searchParams.get("origin")) decodeURIComponent(new URL(request.url).searchParams.get("origin"))
); );
const rewritten = rewriteWorkers( const rewritten = rewriteWorkers(ab, new URL(origin));
ab,
new URL(request.url).searchParams.get("type"),
new URL(origin)
);
return new Response(rewritten, { return new Response(rewritten, {
headers: { headers: {
@ -184,11 +180,7 @@ async function handleResponse(
break; break;
case "sharedworker": case "sharedworker":
case "worker": case "worker":
responseBody = rewriteWorkers( responseBody = rewriteWorkers(await response.arrayBuffer(), url);
await response.arrayBuffer(),
workertype,
url
);
break; break;
default: default:
responseBody = response.body; responseBody = response.body;