mirror of
https://github.com/MercuryWorkshop/scramjet.git
synced 2025-05-13 06:20:02 -04:00
cursed
This commit is contained in:
parent
9b2acd8ab7
commit
71fd6f12ef
3 changed files with 18 additions and 10 deletions
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue