refactor: everything

This commit is contained in:
velzie 2024-07-27 11:41:02 -04:00
parent 78e666d314
commit 506d99f9b6
No known key found for this signature in database
GPG key ID: 048413F95F0DDE1F
37 changed files with 925 additions and 885 deletions

View file

@ -0,0 +1,8 @@
export default function (client, self) {
// goodybye spyware~
client.Proxy("navigator.sendBeacon", {
apply(ctx) {
ctx.return(null);
},
});
}

View file

@ -0,0 +1,29 @@
// ts throws an error if you dont do window.fetch
import { encodeUrl, rewriteHeaders } from "../../shared";
export default function (client: ScramjetClient, self: typeof globalThis) {
client.Proxy("fetch", {
apply(ctx) {
ctx.args[0] = encodeUrl(ctx.args[0]);
},
});
client.Proxy("Headers", {
construct(ctx) {
ctx.args[0] = rewriteHeaders(ctx.args[0]);
},
});
client.Proxy("Request", {
construct(ctx) {
if (typeof ctx.args[0] === "string") ctx.args[0] = encodeUrl(ctx.args[0]);
},
});
client.Proxy("Response.redirect", {
apply(ctx) {
ctx.args[0] = encodeUrl(ctx.args[0]);
},
});
}

View file

@ -0,0 +1,23 @@
import { ScramjetClient } from "../../client";
import { BareClient } from "../../shared";
export default function (client: ScramjetClient, self: typeof globalThis) {
const bare = new BareClient();
client.Proxy("WebSocket", {
construct(ctx) {
ctx.return(
bare.createWebSocket(
ctx.args[0],
ctx.args[1],
ctx.fn as typeof WebSocket,
{
"User-Agent": self.navigator.userAgent,
Origin: client.url.origin,
},
ArrayBuffer.prototype
)
);
},
});
}

View file

@ -0,0 +1,18 @@
import { encodeUrl, rewriteHeaders } from "../../shared";
export default function (client, self) {
client.Proxy("XMLHttpRequest.prototype.open", {
apply(ctx) {
if (ctx.args[1]) ctx.args[1] = encodeUrl(ctx.args[1]);
},
});
client.Proxy("XMLHttpRequest.prototype.setRequestHeader", {
apply(ctx) {
let headerObject = Object.fromEntries([ctx.args]);
headerObject = rewriteHeaders(headerObject);
ctx.args = Object.entries(headerObject)[0];
},
});
}