@mercuryworkshop/scramjet 1.0.2 → 2.0.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +3 -3
- package/README.md +65 -21
- package/dist/06813b79f94926ac.wasm +0 -0
- package/dist/09d5a95846afcaf1.wasm +0 -0
- package/dist/507621c43f70fc86.wasm +0 -0
- package/dist/63d477311eb50f38.wasm +0 -0
- package/dist/70102b41994b76de.wasm +0 -0
- package/dist/a31cde01c0b49ef3.wasm +0 -0
- package/dist/b4f3c1c0e4a92823.wasm +0 -0
- package/dist/d864ec42994880cb.wasm +0 -0
- package/dist/dbbe994629c3010c.wasm +0 -0
- package/dist/scramjet.all.js +194 -0
- package/dist/scramjet.all.js.map +1 -0
- package/dist/scramjet.bundle.js +194 -7
- package/dist/scramjet.bundle.js.map +1 -7
- package/dist/scramjet.sync.js +2 -0
- package/dist/scramjet.sync.js.map +1 -0
- package/dist/scramjet.wasm.wasm +0 -0
- package/lib/index.cjs +7 -7
- package/lib/index.d.ts +3 -3
- package/lib/noop.js +0 -0
- package/lib/types.d.ts +20 -0
- package/package.json +84 -55
- package/dist/scramjet.client.js +0 -1
- package/dist/scramjet.client.js.map +0 -7
- package/dist/scramjet.codecs.js +0 -3
- package/dist/scramjet.codecs.js.map +0 -7
- package/dist/scramjet.config.js +0 -1
- package/dist/scramjet.config.js.map +0 -7
- package/dist/scramjet.worker.js +0 -42
- package/dist/scramjet.worker.js.map +0 -7
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
addEventListener("message",({data:{sab:e,args:[t,n,s,r,o],body:a,headers:g}})=>{let i=new DataView(e),l=new Uint8Array(e),d=new XMLHttpRequest;if(d.responseType="arraybuffer",d.open(t,n,!0,r,o),g)for(let[e,t]of Object.entries(g))d.setRequestHeader(e,t);d.send(a),d.onload=()=>{let t=1;i.setUint16(t,d.status),t+=2;let n=d.getAllResponseHeaders();i.setUint32(t,n.length),t+=4,e.byteLength<t+n.length&&e.grow(t+n.length),l.set(new TextEncoder().encode(n),t),t+=n.length,i.setUint32(t,d.response.byteLength),t+=4,e.byteLength<t+d.response.byteLength&&e.grow(t+d.response.byteLength),l.set(new Uint8Array(d.response),t),i.setUint8(0,1)},d.ontimeout=d.onerror=d.onabort=()=>{console.error("xhr failed"),i.setUint8(0,1)}});
|
|
2
|
+
//# sourceMappingURL=scramjet.sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scramjet.sync.js","sources":["webpack://@mercuryworkshop/scramjet/./src/sync.ts"],"sourcesContent":["addEventListener(\n\t\"message\",\n\t({\n\t\tdata: {\n\t\t\tsab,\n\t\t\targs: [method, url, _, username, password],\n\t\t\tbody,\n\t\t\theaders,\n\t\t},\n\t}) => {\n\t\tconst view = new DataView(sab);\n\t\tconst u8view = new Uint8Array(sab);\n\n\t\tconst xhr = new XMLHttpRequest();\n\t\txhr.responseType = \"arraybuffer\";\n\n\t\t// force async since we need it to resolve to the sw\n\t\txhr.open(method, url, true, username, password);\n\n\t\tif (headers)\n\t\t\tfor (const [k, v] of Object.entries(headers)) {\n\t\t\t\txhr.setRequestHeader(k, v as string);\n\t\t\t}\n\n\t\txhr.send(body);\n\n\t\txhr.onload = () => {\n\t\t\tlet cursor = 1; // first byte is the lock\n\n\t\t\tview.setUint16(cursor, xhr.status);\n\t\t\tcursor += 2;\n\n\t\t\t// next write the header string\n\t\t\tconst headers = xhr.getAllResponseHeaders();\n\t\t\tview.setUint32(cursor, headers.length);\n\t\t\tcursor += 4;\n\n\t\t\tif (sab.byteLength < cursor + headers.length)\n\t\t\t\tsab.grow(cursor + headers.length);\n\t\t\tu8view.set(new TextEncoder().encode(headers), cursor);\n\t\t\tcursor += headers.length;\n\n\t\t\tview.setUint32(cursor, xhr.response.byteLength);\n\t\t\tcursor += 4;\n\n\t\t\tif (sab.byteLength < cursor + xhr.response.byteLength)\n\t\t\t\tsab.grow(cursor + xhr.response.byteLength);\n\t\t\tu8view.set(new Uint8Array(xhr.response), cursor);\n\n\t\t\t// release the lock, main thread will stop spinning now\n\t\t\tview.setUint8(0, 1);\n\t\t};\n\t\txhr.ontimeout =\n\t\t\txhr.onerror =\n\t\t\txhr.onabort =\n\t\t\t\t() => {\n\t\t\t\t\tconsole.error(\"xhr failed\");\n\t\t\t\t\tview.setUint8(0, 1);\n\t\t\t\t};\n\t}\n);\n"],"names":["addEventListener","sab","method","url","_","username","password","body","headers","view","DataView","u8view","Uint8Array","xhr","XMLHttpRequest","k","v","Object","cursor","TextEncoder","console"],"mappings":"AAAAA,iBACC,UACA,CAAC,CACA,KAAM,CACLC,IAAAA,CAAG,CACH,KAAM,CAACC,EAAQC,EAAKC,EAAGC,EAAUC,EAAS,CAC1CC,KAAAA,CAAI,CACJC,QAAAA,CAAO,CACP,CACD,IACA,IAAMC,EAAO,IAAIC,SAAST,GACpBU,EAAS,IAAIC,WAAWX,GAExBY,EAAM,IAAIC,eAMhB,GALAD,EAAI,YAAY,CAAG,cAGnBA,EAAI,IAAI,CAACX,EAAQC,EAAK,GAAME,EAAUC,GAElCE,EACH,IAAK,GAAM,CAACO,EAAGC,EAAE,GAAIC,OAAO,OAAO,CAACT,GACnCK,EAAI,gBAAgB,CAACE,EAAGC,GAG1BH,EAAI,IAAI,CAACN,GAETM,EAAI,MAAM,CAAG,KACZ,IAAIK,EAAS,EAEbT,EAAK,SAAS,CAACS,EAAQL,EAAI,MAAM,EACjCK,GAAU,EAGV,IAAMV,EAAUK,EAAI,qBAAqB,GACzCJ,EAAK,SAAS,CAACS,EAAQV,EAAQ,MAAM,EACrCU,GAAU,EAENjB,EAAI,UAAU,CAAGiB,EAASV,EAAQ,MAAM,EAC3CP,EAAI,IAAI,CAACiB,EAASV,EAAQ,MAAM,EACjCG,EAAO,GAAG,CAAC,IAAIQ,cAAc,MAAM,CAACX,GAAUU,GAC9CA,GAAUV,EAAQ,MAAM,CAExBC,EAAK,SAAS,CAACS,EAAQL,EAAI,QAAQ,CAAC,UAAU,EAC9CK,GAAU,EAENjB,EAAI,UAAU,CAAGiB,EAASL,EAAI,QAAQ,CAAC,UAAU,EACpDZ,EAAI,IAAI,CAACiB,EAASL,EAAI,QAAQ,CAAC,UAAU,EAC1CF,EAAO,GAAG,CAAC,IAAIC,WAAWC,EAAI,QAAQ,EAAGK,GAGzCT,EAAK,QAAQ,CAAC,EAAG,EAClB,EACAI,EAAI,SAAS,CACZA,EAAI,OAAO,CACXA,EAAI,OAAO,CACV,KACCO,QAAQ,KAAK,CAAC,cACdX,EAAK,QAAQ,CAAC,EAAG,EAClB,CACH"}
|
|
Binary file
|
package/lib/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const { resolve } = require("node:path");
|
|
4
|
-
|
|
5
|
-
const scramjetPath = resolve(__dirname, "..", "dist");
|
|
6
|
-
|
|
7
|
-
exports.scramjetPath = scramjetPath;
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const { resolve } = require("node:path");
|
|
4
|
+
|
|
5
|
+
const scramjetPath = resolve(__dirname, "..", "dist");
|
|
6
|
+
|
|
7
|
+
exports.scramjetPath = scramjetPath;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
declare const scramjetPath: string;
|
|
2
|
-
|
|
3
|
-
export { scramjetPath };
|
|
1
|
+
declare const scramjetPath: string;
|
|
2
|
+
|
|
3
|
+
export { scramjetPath };
|
package/lib/noop.js
ADDED
|
File without changes
|
package/lib/types.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as controller from "../dist/types/controller/index.ts";
|
|
2
|
+
import { ScramjetConfig } from "../dist/types/types.ts";
|
|
3
|
+
import * as worker from "../dist/types/worker";
|
|
4
|
+
import * as shared from "../dist/types/shared";
|
|
5
|
+
import * as client from "../dist/types/shared";
|
|
6
|
+
|
|
7
|
+
declare global {
|
|
8
|
+
function $scramjetLoadController(): typeof controller;
|
|
9
|
+
function $scramjetLoadWorker(): typeof worker;
|
|
10
|
+
function $scramjetLoadClient(config: ScramjetConfig): typeof client;
|
|
11
|
+
function $scramjetLoadShared(): typeof shared;
|
|
12
|
+
/// load any file from scramjet source
|
|
13
|
+
function $scramjetRequire(path: string): any;
|
|
14
|
+
var $scramjetVersion: {
|
|
15
|
+
build: string;
|
|
16
|
+
version: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type * from "../dist/types/index";
|
package/package.json
CHANGED
|
@@ -1,56 +1,85 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
2
|
+
"name": "@mercuryworkshop/scramjet",
|
|
3
|
+
"version": "2.0.0-alpha",
|
|
4
|
+
"description": "An experimental web proxy that aims to be the successor to Ultraviolet",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/MercuryWorkshop/scramjet"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "rspack build --mode production",
|
|
12
|
+
"rewriter:build": "cd rewriter/wasm/ && bash build.sh && cd ../../",
|
|
13
|
+
"dev": "node server.js",
|
|
14
|
+
"dev:debug": "DEBUG=1 node server.js",
|
|
15
|
+
"prepack": "RELEASE=1 npm run rewriter:build && tsc && tsc-alias && npm run build",
|
|
16
|
+
"pub": "npm publish --no-git-checks --access public",
|
|
17
|
+
"format": "prettier --write .",
|
|
18
|
+
"lint": "eslint ./src/",
|
|
19
|
+
"lint:fix": "eslint ./src/ --fix",
|
|
20
|
+
"test": "npx playwright test",
|
|
21
|
+
"preinstall": "npx only-allow pnpm"
|
|
22
|
+
},
|
|
23
|
+
"exports": {
|
|
24
|
+
".": {
|
|
25
|
+
"types": "./lib/types.d.ts",
|
|
26
|
+
"default": "./lib/noop.js"
|
|
27
|
+
},
|
|
28
|
+
"./path": {
|
|
29
|
+
"types": "./lib/index.d.ts",
|
|
30
|
+
"default": "./lib/index.cjs"
|
|
31
|
+
},
|
|
32
|
+
"./bundled": {
|
|
33
|
+
"types": "./dist/types/index.d.ts",
|
|
34
|
+
"default": "./dist/scramjet.bundle.js"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"files": [
|
|
38
|
+
"dist/*.js",
|
|
39
|
+
"dist/*.js.map",
|
|
40
|
+
"dist/*.wasm",
|
|
41
|
+
"lib"
|
|
42
|
+
],
|
|
43
|
+
"keywords": [],
|
|
44
|
+
"author": "",
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@eslint/eslintrc": "^3.3.1",
|
|
48
|
+
"@eslint/js": "^9.32.0",
|
|
49
|
+
"@estruyf/github-actions-reporter": "^1.10.0",
|
|
50
|
+
"@fastify/static": "^8.2.0",
|
|
51
|
+
"@mercuryworkshop/bare-as-module3": "^2.2.5",
|
|
52
|
+
"@mercuryworkshop/epoxy-transport": "^2.1.28",
|
|
53
|
+
"@mercuryworkshop/libcurl-transport": "^1.5.0",
|
|
54
|
+
"@mercuryworkshop/wisp-js": "^0.3.3",
|
|
55
|
+
"@nebula-services/bare-server-node": "^2.0.4",
|
|
56
|
+
"@playwright/test": "^1.54.2",
|
|
57
|
+
"@rsdoctor/rspack-plugin": "^1.1.5",
|
|
58
|
+
"@rspack/cli": "^1.4.8",
|
|
59
|
+
"@rspack/core": "^1.4.8",
|
|
60
|
+
"@types/eslint": "^9.6.1",
|
|
61
|
+
"@types/estree": "^1.0.8",
|
|
62
|
+
"@types/node": "^24.1.0",
|
|
63
|
+
"@types/serviceworker": "^0.0.148",
|
|
64
|
+
"@typescript-eslint/eslint-plugin": "^8.38.0",
|
|
65
|
+
"@typescript-eslint/parser": "^8.38.0",
|
|
66
|
+
"dotenv": "^17.2.1",
|
|
67
|
+
"eslint": "^9.32.0",
|
|
68
|
+
"fastify": "^5.4.0",
|
|
69
|
+
"playwright": "^1.54.2",
|
|
70
|
+
"prettier": "^3.6.2",
|
|
71
|
+
"ts-checker-rspack-plugin": "^1.1.4",
|
|
72
|
+
"tsc-alias": "^1.8.16",
|
|
73
|
+
"tslib": "^2.8.1",
|
|
74
|
+
"typescript": "^5.9.2"
|
|
75
|
+
},
|
|
76
|
+
"dependencies": {
|
|
77
|
+
"@mercuryworkshop/epoxy-tls": "2.1.18-1",
|
|
78
|
+
"dom-serializer": "^2.0.0",
|
|
79
|
+
"domhandler": "^5.0.3",
|
|
80
|
+
"domutils": "^3.2.2",
|
|
81
|
+
"htmlparser2": "10.0.0",
|
|
82
|
+
"parse-domain": "^8.2.2",
|
|
83
|
+
"set-cookie-parser": "^2.7.1"
|
|
84
|
+
}
|
|
85
|
+
}
|
package/dist/scramjet.client.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(()=>{function p(){let t=new URL(self.__scramjet$bundle.rewriters.url.decodeUrl(location.href));return t.assign=r=>location.assign(self.__scramjet$bundle.rewriters.url.encodeUrl(r)),t.reload=()=>location.reload(),t.replace=r=>location.replace(self.__scramjet$bundle.rewriters.url.encodeUrl(r)),t.toString=()=>t.href,t}function d(){let t=p();return new Proxy(window.location,{get(r,e){return t[e]},set(r,e,s){return e==="href"?location.href=self.__scramjet$bundle.rewriters.url.encodeUrl(s):t[e]=s,!0}})}window.__location=d();trustedTypes.createPolicy=new Proxy(trustedTypes.createPolicy,{apply(t,r,e){return e[1].createHTML&&(e[1].createHTML=new Proxy(e[1].createHTML,{apply(s,n,o){return self.__scramjet$bundle.rewriters.rewriteHtml(s(...o))}})),e[1].createScript&&(e[1].createScript=new Proxy(e[1].createScript,{apply(s,n,o){return self.__scramjet$bundle.rewriters.rewriteJs(s(...o))}})),e[1].createScriptURL&&(e[1].createScriptURL=new Proxy(e[1].createScriptURL,{apply(s,n,o){return self.__scramjet$bundle.rewriters.url.encodeUrl(s(...o))}})),Reflect.apply(t,r,e)}});var u=new Proxy(Function,{construct(t,r){return r.length===1?Reflect.construct(t,self.__scramjet$bundle.rewriters.rewriteJs(r[0])):Reflect.construct(t,self.__scramjet$bundle.rewriters.rewriteJs(r[r.length-1]))},apply(t,r,e){return e.length===1?Reflect.apply(t,void 0,self.__scramjet$bundle.rewriters.rewriteJs(e[0])):Reflect.apply(t,void 0,[...e.map((s,n)=>n===e.length-1),self.__scramjet$bundle.rewriters.rewriteJs(e[e.length-1])])}});delete window.Function;window.Function=u;delete window.eval;window.eval=t=>window.Function(t);function i(t){return Object.keys(t).filter(r=>r.startsWith(window.__location.host))}function l(t){return new Proxy(t,{get(r,e,s){switch(e){case"getItem":return n=>r.getItem(window.__location.host+"@"+n);case"setItem":return(n,o)=>{r.setItem(window.__location.host+"@"+n,o)};case"removeItem":return n=>{r.removeItem(window.__location.host+"@"+n)};case"clear":return()=>{i(r).forEach(n=>r.removeItem(n))};case"key":return n=>r[i(r)[n]];case"length":return i(r).length}},defineProperty(r,e,s){return r.setItem(e,s.value),!0}})}var m=l(window.localStorage),w=l(window.sessionStorage);delete window.localStorage;delete window.sessionStorage;window.localStorage=m;window.sessionStorage=w;var c={nonce:[HTMLElement],integrity:[HTMLScriptElement,HTMLLinkElement],csp:[HTMLIFrameElement],src:[HTMLImageElement,HTMLMediaElement,HTMLIFrameElement,HTMLEmbedElement,HTMLScriptElement],href:[HTMLAnchorElement,HTMLLinkElement],data:[HTMLObjectElement],action:[HTMLFormElement],formaction:[HTMLButtonElement,HTMLInputElement],srcdoc:[HTMLIFrameElement],srcset:[HTMLImageElement,HTMLSourceElement],imagesrcset:[HTMLLinkElement],style:[HTMLElement]};Object.keys(c).forEach(t=>{c[t].forEach(r=>{let e=Object.getOwnPropertyDescriptor(r.prototype,t);Object.defineProperty(r.prototype,t,{get(){return e.get.call(this,[this.dataset[`_${t}`]])},set(s){if(this.dataset[`_${t}`]=s,/nonce|integrity|csp/.test(t))this.removeAttribute(t);else if(/src|href|data|action|formaction/.test(t)){if(s instanceof TrustedScriptURL)return;s=self.__scramjet$bundle.rewriters.url.encodeUrl(s)}else t==="srcdoc"?s=self.__scramjet$bundle.rewriters.rewriteHtml(s):/(image)?srcset/.test(t)?s=self.__scramjet$bundle.rewriters.rewriteSrcset(s):t==="style"&&(s=self.__scramjet$bundle.rewriters.rewriteCss(s));e.set.call(this,s)}})})});HTMLElement.prototype.getAttribute=new Proxy(Element.prototype.getAttribute,{apply(t,r,e){return console.log(r),Object.keys(c).includes(e[0])&&(e[0]=`_${e[0]}`),Reflect.apply(t,r,e)}});HTMLElement.prototype.setAttribute=new Proxy(Element.prototype.setAttribute,{apply(t,r,e){if(Object.keys(c).includes(e[0])){if(r.dataset[`_${e[0]}`]=e[1],/nonce|integrity|csp/.test(e[0]))return;/src|href|data|action|formaction/.test(e[0])?(console.log(r),e[1]=self.__scramjet$bundle.rewriters.url.encodeUrl(e[1])):e[0]==="srcdoc"?e[1]=self.__scramjet$bundle.rewriters.rewriteHtml(e[1]):/(image)?srcset/.test(e[0])?e[1]=self.__scramjet$bundle.rewriters.rewriteSrcset(e[1]):e[1]==="style"&&(e[1]=self.__scramjet$bundle.rewriters.rewriteCss(e[1]))}return Reflect.apply(t,r,e)}});var f=Object.getOwnPropertyDescriptor(Element.prototype,"innerHTML");Object.defineProperty(HTMLElement.prototype,"innerHTML",{set(t){return this instanceof HTMLScriptElement?t instanceof TrustedScript||(t=self.__scramjet$bundle.rewriters.rewriteJs(t)):this instanceof HTMLStyleElement?t=self.__scramjet$bundle.rewriters.rewriteCss(t):t instanceof TrustedHTML||(t=self.__scramjet$bundle.rewriters.rewriteHtml(t)),f.set.call(this,t)}});window.fetch=new Proxy(window.fetch,{apply(t,r,e){return e[0]=self.__scramjet$bundle.rewriters.url.encodeUrl(e[0]),Reflect.apply(t,r,e)}});Headers=new Proxy(Headers,{construct(t,r,e){return r[0]=self.__scramjet$bundle.rewriters.rewriteHeaders(r[0]),Reflect.construct(t,r,e)}});Request=new Proxy(Request,{construct(t,r,e){return typeof r[0]=="string"&&(r[0]=self.__scramjet$bundle.rewriters.url.encodeUrl(r[0])),Reflect.construct(t,r,e)}});Response.redirect=new Proxy(Response.redirect,{apply(t,r,e){return e[0]=self.__scramjet$bundle.rewriters.url.encodeUrl(e[0]),Reflect.apply(t,r,e)}});XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,{apply(t,r,e){return e[1]&&(e[1]=self.__scramjet$bundle.rewriters.url.encodeUrl(e[1])),Reflect.apply(t,r,e)}});XMLHttpRequest.prototype.setRequestHeader=new Proxy(XMLHttpRequest.prototype.setRequestHeader,{apply(t,r,e){let s=Object.fromEntries(e);return s=self.__scramjet$bundle.rewriters.rewriteHeaders(s),e=Object.entries(s),Reflect.apply(t,r,e)}});var _=["background","background-image","mask","mask-image","list-style","list-style-image","border-image","border-image-source","cursor"],b=["background","backgroundImage","mask","maskImage","listStyle","listStyleImage","borderImage","borderImageSource","cursor"];CSSStyleDeclaration.prototype.setProperty=new Proxy(CSSStyleDeclaration.prototype.setProperty,{apply(t,r,e){return _.includes(e[0])&&(e[1]=self.__scramjet$bundle.rewriters.rewriteCss(e[1])),Reflect.apply(t,r,e)}});b.forEach(t=>{let r=Object.getOwnPropertyDescriptor(CSSStyleDeclaration.prototype,t);Object.defineProperty(CSSStyleDeclaration.prototype,t,{set(e){r.set.call(this,self.__scramjet$bundle.rewriters.rewriteCss(e))}})});})();
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/client/window.ts", "../src/client/location.ts", "../src/client/trustedTypes.ts", "../src/client/eval.ts", "../src/client/storage.ts", "../src/client/element.ts", "../src/client/fetch.ts", "../src/client/xmlhttprequest.ts", "../src/client/css.ts"],
|
|
4
|
-
"sourcesContent": ["const windowProxy = new Proxy(Window, {\r\n get(target, prop, receiver) {\r\n if (prop === \"location\") {\r\n return window.__location;\r\n } else if (typeof prop === \"string\" && [\"self\", \"globalThis\", \"window\", \"parent\", \"opener\"].includes(prop)) {\r\n return this;\r\n } else {\r\n return target[prop];\r\n }\r\n },\r\n});\r\n\r\nwindow.__window = windowProxy;\r\n", "// @ts-nocheck\r\n\r\nfunction urlLocation() {\r\n let loc = new URL(self.__scramjet$bundle.rewriters.url.decodeUrl(location.href));\r\n loc.assign = (url: string) => location.assign(self.__scramjet$bundle.rewriters.url.encodeUrl(url));\r\n loc.reload = () => location.reload();\r\n loc.replace = (url: string) => location.replace(self.__scramjet$bundle.rewriters.url.encodeUrl(url));\r\n loc.toString = () => loc.href;\r\n \r\n return loc;\r\n}\r\n\r\nexport function LocationProxy() {\r\n const loc = urlLocation();\r\n\r\n return new Proxy(window.location, {\r\n get(target, prop) {\r\n return loc[prop];\r\n },\r\n \r\n set(obj, prop, value) {\r\n if (prop === \"href\") {\r\n location.href = self.__scramjet$bundle.rewriters.url.encodeUrl(value);\r\n } else {\r\n loc[prop] = value;\r\n }\r\n\r\n return true;\r\n }\r\n })\r\n}\r\n\r\nwindow.__location = LocationProxy();", "trustedTypes.createPolicy = new Proxy(trustedTypes.createPolicy, {\r\n apply(target, thisArg, argArray) {\r\n if (argArray[1].createHTML) {\r\n argArray[1].createHTML = new Proxy(argArray[1].createHTML, {\r\n apply(target1, thisArg1, argArray1) {\r\n return self.__scramjet$bundle.rewriters.rewriteHtml(target1(...argArray1));\r\n },\r\n });\r\n }\r\n\r\n if (argArray[1].createScript) {\r\n argArray[1].createScript = new Proxy(argArray[1].createScript, {\r\n apply(target1, thisArg1, argArray1) {\r\n return self.__scramjet$bundle.rewriters.rewriteJs(target1(...argArray1));\r\n },\r\n });\r\n }\r\n\r\n if (argArray[1].createScriptURL) {\r\n argArray[1].createScriptURL = new Proxy(argArray[1].createScriptURL, {\r\n apply(target1, thisArg1, argArray1) {\r\n return self.__scramjet$bundle.rewriters.url.encodeUrl(target1(...argArray1))\r\n },\r\n })\r\n }\r\n\r\n return Reflect.apply(target, thisArg, argArray);\r\n },\r\n})", "const FunctionProxy = new Proxy(Function, {\r\n construct(target, argArray) {\r\n if (argArray.length === 1) {\r\n return Reflect.construct(target, self.__scramjet$bundle.rewriters.rewriteJs(argArray[0]));\r\n } else {\r\n return Reflect.construct(target, self.__scramjet$bundle.rewriters.rewriteJs(argArray[argArray.length - 1]))\r\n }\r\n },\r\n apply(target, thisArg, argArray) {\r\n if (argArray.length === 1) {\r\n return Reflect.apply(target, undefined, self.__scramjet$bundle.rewriters.rewriteJs(argArray[0]));\r\n } else {\r\n return Reflect.apply(target, undefined, [...argArray.map((x, index) => index === argArray.length - 1), self.__scramjet$bundle.rewriters.rewriteJs(argArray[argArray.length - 1])])\r\n }\r\n },\r\n});\r\n\r\ndelete window.Function;\r\n\r\nwindow.Function = FunctionProxy;\r\n\r\ndelete window.eval;\r\n\r\n// since the function proxy is already rewriting the js we can just reuse it for the eval proxy\r\n\r\nwindow.eval = (str: string) => window.Function(str);", "// import IDBMap from \"@webreflection/idb-map\";\r\n\r\n// this will be converted to use IDB later but i can't figure out how to make it work synchronously\r\n\r\nfunction filterStorage(scope: Storage) {\r\n return Object.keys(scope).filter((key) => key.startsWith(window.__location.host));\r\n}\r\n\r\nfunction storageProxy(scope: Storage): Storage {\r\n // sessionStorage isn't properly implemented currently, since everything is being stored in IDB\r\n\r\n // const store = new IDBMap(window.__location.host);\r\n\r\n return new Proxy(scope, {\r\n get(target, prop, receiver) {\r\n switch (prop) {\r\n case \"getItem\":\r\n return (key: string) => {\r\n return target.getItem(window.__location.host + \"@\" + key);\r\n }\r\n\r\n case \"setItem\":\r\n return (key: string, value: string) => {\r\n target.setItem(window.__location.host + \"@\" + key, value);\r\n }\r\n\r\n case \"removeItem\":\r\n return (key: string) => {\r\n target.removeItem(window.__location.host + \"@\" + key);\r\n }\r\n\r\n case \"clear\":\r\n return () => {\r\n filterStorage(target).forEach((key) => target.removeItem(key));\r\n }\r\n\r\n case \"key\":\r\n return (index: number) => {\r\n return target[filterStorage(target)[index]];\r\n }\r\n\r\n case \"length\":\r\n return filterStorage(target).length;\r\n }\r\n },\r\n\r\n defineProperty(target, property, attributes) {\r\n target.setItem(property as string, attributes.value);\r\n \r\n return true;\r\n },\r\n })\r\n}\r\n\r\nconst localStorageProxy = storageProxy(window.localStorage);\r\nconst sessionStorageProxy = storageProxy(window.sessionStorage);\r\n\r\ndelete window.localStorage;\r\ndelete window.sessionStorage;\r\n\r\nwindow.localStorage = localStorageProxy;\r\nwindow.sessionStorage = sessionStorageProxy;", "// object\r\n// iframe\r\n// embed\r\n// link\r\n// style\r\n// script\r\n// img\r\n// source\r\n// form\r\n// meta\r\n// area\r\n// base\r\n// body\r\n// input\r\n// audio\r\n// button\r\n// track\r\n// video\r\n\r\nconst attribs = {\r\n \"nonce\": [HTMLElement],\r\n \"integrity\": [HTMLScriptElement, HTMLLinkElement],\r\n \"csp\": [HTMLIFrameElement],\r\n \"src\": [HTMLImageElement, HTMLMediaElement, HTMLIFrameElement, HTMLEmbedElement, HTMLScriptElement],\r\n \"href\": [HTMLAnchorElement, HTMLLinkElement],\r\n \"data\": [HTMLObjectElement],\r\n \"action\": [HTMLFormElement],\r\n \"formaction\": [HTMLButtonElement, HTMLInputElement],\r\n \"srcdoc\": [HTMLIFrameElement],\r\n \"srcset\": [HTMLImageElement, HTMLSourceElement],\r\n \"imagesrcset\": [HTMLLinkElement],\r\n \"style\": [HTMLElement]\r\n}\r\n\r\nObject.keys(attribs).forEach((attrib: string) => {\r\n attribs[attrib].forEach((element) => {\r\n const descriptor = Object.getOwnPropertyDescriptor(element.prototype, attrib);\r\n Object.defineProperty(element.prototype, attrib, {\r\n get() {\r\n return descriptor.get.call(this, this.dataset[`_${attrib}`]);\r\n },\r\n\r\n set(value) {\r\n this.dataset[`_${attrib}`] = value;\r\n if (/nonce|integrity|csp/.test(attrib)) {\r\n this.removeAttribute(attrib);\r\n } else if (/src|href|data|action|formaction/.test(attrib)) {\r\n if (value instanceof TrustedScriptURL) {\r\n return;\r\n }\r\n\r\n value = self.__scramjet$bundle.rewriters.url.encodeUrl(value);\r\n } else if (attrib === \"srcdoc\") {\r\n value = self.__scramjet$bundle.rewriters.rewriteHtml(value);\r\n } else if (/(image)?srcset/.test(attrib)) {\r\n value = self.__scramjet$bundle.rewriters.rewriteSrcset(value);\r\n } else if (attrib === \"style\") {\r\n value = self.__scramjet$bundle.rewriters.rewriteCss(value);\r\n }\r\n\r\n descriptor.set.call(this, value);\r\n },\r\n });\r\n })\r\n});\r\n\r\nHTMLElement.prototype.getAttribute = new Proxy(Element.prototype.getAttribute, {\r\n apply(target, thisArg, argArray) {\r\n if (Object.keys(attribs).includes(argArray[0])) {\r\n argArray[0] = `_${argArray[0]}`;\r\n }\r\n\r\n return Reflect.apply(target, thisArg, argArray);\r\n },\r\n});\r\n\r\n// setAttribute proxy is currently broken\r\n\r\nHTMLElement.prototype.setAttribute = new Proxy(Element.prototype.setAttribute, {\r\n apply(target, thisArg, argArray) {\r\n if (Object.keys(attribs).includes(argArray[0])) {\r\n thisArg.dataset[`_${argArray[0]}`] = argArray[1];\r\n if (/nonce|integrity|csp/.test(argArray[0])) {\r\n return;\r\n } else if (/src|href|data|action|formaction/.test(argArray[0])) {\r\n argArray[1] = self.__scramjet$bundle.rewriters.url.encodeUrl(argArray[1]);\r\n } else if (argArray[0] === \"srcdoc\") {\r\n argArray[1] = self.__scramjet$bundle.rewriters.rewriteHtml(argArray[1]);\r\n } else if (/(image)?srcset/.test(argArray[0])) {\r\n argArray[1] = self.__scramjet$bundle.rewriters.rewriteSrcset(argArray[1]);\r\n } else if (argArray[1] === \"style\") {\r\n argArray[1] = self.__scramjet$bundle.rewriters.rewriteCss(argArray[1]);\r\n }\r\n }\r\n\r\n return Reflect.apply(target, thisArg, argArray);\r\n },\r\n});\r\n\r\nconst innerHTML = Object.getOwnPropertyDescriptor(Element.prototype, \"innerHTML\");\r\n\r\nObject.defineProperty(HTMLElement.prototype, \"innerHTML\", {\r\n set(value) {\r\n if (this instanceof HTMLScriptElement) {\r\n if (!(value instanceof TrustedScript)) {\r\n value = self.__scramjet$bundle.rewriters.rewriteJs(value);\r\n }\r\n } else if (this instanceof HTMLStyleElement) {\r\n value = self.__scramjet$bundle.rewriters.rewriteCss(value);\r\n } else {\r\n if (!(value instanceof TrustedHTML)) {\r\n value = self.__scramjet$bundle.rewriters.rewriteHtml(value);\r\n }\r\n }\r\n\r\n innerHTML.set.call(this, value);\r\n },\r\n});\r\n", "// ts throws an error if you dont do window.fetch\r\n\r\nwindow.fetch = new Proxy(window.fetch, {\r\n apply(target, thisArg, argArray) {\r\n console.log(argArray);\r\n if (!(argArray[0] instanceof Request)) argArray[0] = self.__scramjet$bundle.rewriters.url.encodeUrl(argArray[0]);\r\n console.log(argArray);\r\n\r\n return Reflect.apply(target, thisArg, argArray);\r\n },\r\n});\r\n\r\nHeaders = new Proxy(Headers, {\r\n construct(target, argArray, newTarget) {\r\n argArray[0] = self.__scramjet$bundle.rewriters.rewriteHeaders(argArray[0]);\r\n\r\n return Reflect.construct(target, argArray, newTarget);\r\n },\r\n})\r\n\r\nRequest = new Proxy(Request, {\r\n construct(target, argArray, newTarget) {\r\n if (typeof argArray[0] === \"string\") argArray[0] = self.__scramjet$bundle.rewriters.url.encodeUrl(argArray[0]);\r\n\r\n return Reflect.construct(target, argArray, newTarget);\r\n },\r\n});\r\n\r\nResponse.redirect = new Proxy(Response.redirect, {\r\n apply(target, thisArg, argArray) {\r\n argArray[0] = self.__scramjet$bundle.rewriters.url.encodeUrl(argArray[0]);\r\n\r\n return Reflect.apply(target, thisArg, argArray);\r\n },\r\n});\r\n", "XMLHttpRequest.prototype.open = new Proxy(XMLHttpRequest.prototype.open, {\r\n apply(target, thisArg, argArray) {\r\n if (argArray[1]) argArray[1] = self.__scramjet$bundle.rewriters.url.encodeUrl(argArray[1]);\r\n\r\n return Reflect.apply(target, thisArg, argArray);\r\n },\r\n});\r\n\r\nXMLHttpRequest.prototype.setRequestHeader = new Proxy(XMLHttpRequest.prototype.setRequestHeader, {\r\n apply(target, thisArg, argArray) {\r\n let headerObject = Object.fromEntries(argArray);\r\n headerObject = self.__scramjet$bundle.rewriters.rewriteHeaders(headerObject);\r\n\r\n argArray = Object.entries(headerObject);\r\n\r\n return Reflect.apply(target, thisArg, argArray);\r\n },\r\n});\r\n", "const cssProperties = [\"background\", \"background-image\", \"mask\", \"mask-image\", \"list-style\", \"list-style-image\", \"border-image\", \"border-image-source\", \"cursor\"];\r\nconst jsProperties = [\"background\", \"backgroundImage\", \"mask\", \"maskImage\", \"listStyle\", \"listStyleImage\", \"borderImage\", \"borderImageSource\", \"cursor\"];\r\n\r\n \r\nCSSStyleDeclaration.prototype.setProperty = new Proxy(CSSStyleDeclaration.prototype.setProperty, {\r\n apply(target, thisArg, argArray) {\r\n if (cssProperties.includes(argArray[0])) argArray[1] = self.__scramjet$bundle.rewriters.rewriteCss(argArray[1]);\r\n \r\n return Reflect.apply(target, thisArg, argArray); \r\n },\r\n});\r\n\r\njsProperties.forEach((prop) => {\r\n const propDescriptor = Object.getOwnPropertyDescriptor(CSSStyleDeclaration.prototype, prop);\r\n\r\n Object.defineProperty(CSSStyleDeclaration.prototype, prop, {\r\n set(v) {\r\n propDescriptor.set.call(this, self.__scramjet$bundle.rewriters.rewriteCss(v));\r\n },\r\n })\r\n});\r\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/scramjet.codecs.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
(()=>{var S=14,R=8,M=!1;function oe(n){try{return unescape(encodeURIComponent(n))}catch{throw"Error on UTF-8 encode"}}function de(n){try{return decodeURIComponent(escape(n))}catch{throw"Bad Key"}}function te(n){var f=[],e,r;for(n.length<16&&(e=16-n.length,f=[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e]),r=0;r<n.length;r++)f[r]=n[r];return f}function J(n,f){var e="",r,b;if(f){if(r=n[15],r>16)throw"Decryption error: Maybe bad key";if(r===16)return"";for(b=0;b<16-r;b++)e+=String.fromCharCode(n[b])}else for(b=0;b<16;b++)e+=String.fromCharCode(n[b]);return e}function T(n,f){var e=[],r;for(f||(n=oe(n)),r=0;r<n.length;r++)e[r]=n.charCodeAt(r);return e}function ae(n){var f=[],e;for(e=0;e<n;e++)f=f.concat(Math.floor(Math.random()*256));return f}function Y(n,f){var e=S>=12?3:2,r=[],b=[],a=[],h=[],p=n.concat(f),g;for(a[0]=V(p),h=a[0],g=1;g<e;g++)a[g]=V(a[g-1].concat(p)),h=h.concat(a[g]);return r=h.slice(0,4*R),b=h.slice(4*R,4*R+16),{key:r,iv:b}}function ie(n,f,e){f=ee(f);var r=Math.ceil(n.length/16),b=[],a,h=[];for(a=0;a<r;a++)b[a]=te(n.slice(a*16,a*16+16));for(n.length%16===0&&(b.push([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]),r++),a=0;a<b.length;a++)b[a]=a===0?w(b[a],e):w(b[a],h[a-1]),h[a]=le(b[a],f);return h}function ue(n,f,e,r){f=ee(f);var b=n.length/16,a=[],h,p=[],g="";for(h=0;h<b;h++)a.push(n.slice(h*16,(h+1)*16));for(h=a.length-1;h>=0;h--)p[h]=be(a[h],f),p[h]=h===0?w(p[h],e):w(p[h],a[h-1]);for(h=0;h<b-1;h++)g+=J(p[h],!1);return g+=J(p[h],!0),r?g:de(g)}function le(n,f){M=!1;var e=N(n,f,0),r;for(r=1;r<S+1;r++)e=Z(e),e=$(e),r<S&&(e=z(e)),e=N(e,f,r);return e}function be(n,f){M=!0;var e=N(n,f,S),r;for(r=S-1;r>-1;r--)e=$(e),e=Z(e),e=N(e,f,r),r>0&&(e=z(e));return e}function Z(n){var f=M?se:L,e=[],r;for(r=0;r<16;r++)e[r]=f[n[r]];return e}function $(n){var f=[],e=M?[0,13,10,7,4,1,14,11,8,5,2,15,12,9,6,3]:[0,5,10,15,4,9,14,3,8,13,2,7,12,1,6,11],r;for(r=0;r<16;r++)f[r]=n[e[r]];return f}function z(n){var f=[],e;if(M)for(e=0;e<4;e++)f[e*4]=K[n[e*4]]^X[n[1+e*4]]^j[n[2+e*4]]^O[n[3+e*4]],f[1+e*4]=O[n[e*4]]^K[n[1+e*4]]^X[n[2+e*4]]^j[n[3+e*4]],f[2+e*4]=j[n[e*4]]^O[n[1+e*4]]^K[n[2+e*4]]^X[n[3+e*4]],f[3+e*4]=X[n[e*4]]^j[n[1+e*4]]^O[n[2+e*4]]^K[n[3+e*4]];else for(e=0;e<4;e++)f[e*4]=W[n[e*4]]^D[n[1+e*4]]^n[2+e*4]^n[3+e*4],f[1+e*4]=n[e*4]^W[n[1+e*4]]^D[n[2+e*4]]^n[3+e*4],f[2+e*4]=n[e*4]^n[1+e*4]^W[n[2+e*4]]^D[n[3+e*4]],f[3+e*4]=D[n[e*4]]^n[1+e*4]^n[2+e*4]^W[n[3+e*4]];return f}function N(n,f,e){var r=[],b;for(b=0;b<16;b++)r[b]=n[b]^f[e][b];return r}function w(n,f){var e=[],r;for(r=0;r<16;r++)e[r]=n[r]^f[r];return e}function ee(n){var f=[],e=[],r,b,a,h=[],p;for(r=0;r<R;r++)b=[n[4*r],n[4*r+1],n[4*r+2],n[4*r+3]],f[r]=b;for(r=R;r<4*(S+1);r++){for(f[r]=[],a=0;a<4;a++)e[a]=f[r-1][a];for(r%R===0?(e=Q(he(e)),e[0]^=ge[r/R-1]):R>6&&r%R===4&&(e=Q(e)),a=0;a<4;a++)f[r][a]=f[r-R][a]^e[a]}for(r=0;r<S+1;r++)for(h[r]=[],p=0;p<4;p++)h[r].push(f[r*4+p][0],f[r*4+p][1],f[r*4+p][2],f[r*4+p][3]);return h}function Q(n){for(var f=0;f<4;f++)n[f]=L[n[f]];return n}function he(n){var f=n[0],e;for(e=0;e<3;e++)n[e]=n[e+1];return n[3]=f,n}function E(n,f){var e,r=[];for(e=0;e<n.length;e+=f)r[e/f]=parseInt(n.substr(e,f),16);return r}function pe(n){var f,e=[];for(f=0;f<n.length;f++)e[n[f]]=f;return e}function ve(n,f){var e,r;for(r=0,e=0;e<8;e++)r=(f&1)===1?r^n:r,n=n>127?283^n<<1:n<<1,f>>>=1;return r}function A(n){var f,e=[];for(f=0;f<256;f++)e[f]=ve(n,f);return e}var L=E("637c777bf26b6fc53001672bfed7ab76ca82c97dfa5947f0add4a2af9ca472c0b7fd9326363ff7cc34a5e5f171d8311504c723c31896059a071280e2eb27b27509832c1a1b6e5aa0523bd6b329e32f8453d100ed20fcb15b6acbbe394a4c58cfd0efaafb434d338545f9027f503c9fa851a3408f929d38f5bcb6da2110fff3d2cd0c13ec5f974417c4a77e3d645d197360814fdc222a908846eeb814de5e0bdbe0323a0a4906245cc2d3ac629195e479e7c8376d8dd54ea96c56f4ea657aae08ba78252e1ca6b4c6e8dd741f4bbd8b8a703eb5664803f60e613557b986c11d9ee1f8981169d98e949b1e87e9ce5528df8ca1890dbfe6426841992d0fb054bb16",2),se=pe(L),ge=E("01020408102040801b366cd8ab4d9a2f5ebc63c697356ad4b37dfaefc591",2),W=A(2),D=A(3),O=A(9),X=A(11),j=A(13),K=A(14);function ne(n,f,e){var r=ae(8),b=Y(T(f,e),r),a=b.key,h=b.iv,p,g=[[83,97,108,116,101,100,95,95].concat(r)];return n=T(n,e),p=ie(n,a,h),p=g.concat(p),fe.encode(p)}function re(n,f,e){var r=fe.decode(n),b=r.slice(8,16),a=Y(T(f,e),b),h=a.key,p=a.iv;return r=r.slice(16,r.length),n=ue(r,h,p,e),n}function V(n){function f(v,s){return v<<s|v>>>32-s}function e(v,s){var m,C,I,k,x;return I=v&2147483648,k=s&2147483648,m=v&1073741824,C=s&1073741824,x=(v&1073741823)+(s&1073741823),m&C?x^2147483648^I^k:m|C?x&1073741824?x^3221225472^I^k:x^1073741824^I^k:x^I^k}function r(v,s,m){return v&s|~v&m}function b(v,s,m){return v&m|s&~m}function a(v,s,m){return v^s^m}function h(v,s,m){return s^(v|~m)}function p(v,s,m,C,I,k,x){return v=e(v,e(e(r(s,m,C),I),x)),e(f(v,k),s)}function g(v,s,m,C,I,k,x){return v=e(v,e(e(b(s,m,C),I),x)),e(f(v,k),s)}function B(v,s,m,C,I,k,x){return v=e(v,e(e(a(s,m,C),I),x)),e(f(v,k),s)}function y(v,s,m,C,I,k,x){return v=e(v,e(e(h(s,m,C),I),x)),e(f(v,k),s)}function ce(v){for(var s,m=v.length,C=m+8,I=(C-C%64)/64,k=(I+1)*16,x=[],G=0,U=0;U<m;)s=(U-U%4)/4,G=U%4*8,x[s]=x[s]|v[U]<<G,U++;return s=(U-U%4)/4,G=U%4*8,x[s]=x[s]|128<<G,x[k-2]=m<<3,x[k-1]=m>>>29,x}function _(v){var s,m,C=[];for(m=0;m<=3;m++)s=v>>>m*8&255,C=C.concat(s);return C}var l=[],u,F,H,P,q,c,o,d,t,i=E("67452301efcdab8998badcfe10325476d76aa478e8c7b756242070dbc1bdceeef57c0faf4787c62aa8304613fd469501698098d88b44f7afffff5bb1895cd7be6b901122fd987193a679438e49b40821f61e2562c040b340265e5a51e9b6c7aad62f105d02441453d8a1e681e7d3fbc821e1cde6c33707d6f4d50d87455a14eda9e3e905fcefa3f8676f02d98d2a4c8afffa39428771f6816d9d6122fde5380ca4beea444bdecfa9f6bb4b60bebfbc70289b7ec6eaa127fad4ef308504881d05d9d4d039e6db99e51fa27cf8c4ac5665f4292244432aff97ab9423a7fc93a039655b59c38f0ccc92ffeff47d85845dd16fa87e4ffe2ce6e0a30143144e0811a1f7537e82bd3af2352ad7d2bbeb86d391",8);for(l=ce(n),c=i[0],o=i[1],d=i[2],t=i[3],u=0;u<l.length;u+=16)F=c,H=o,P=d,q=t,c=p(c,o,d,t,l[u+0],7,i[4]),t=p(t,c,o,d,l[u+1],12,i[5]),d=p(d,t,c,o,l[u+2],17,i[6]),o=p(o,d,t,c,l[u+3],22,i[7]),c=p(c,o,d,t,l[u+4],7,i[8]),t=p(t,c,o,d,l[u+5],12,i[9]),d=p(d,t,c,o,l[u+6],17,i[10]),o=p(o,d,t,c,l[u+7],22,i[11]),c=p(c,o,d,t,l[u+8],7,i[12]),t=p(t,c,o,d,l[u+9],12,i[13]),d=p(d,t,c,o,l[u+10],17,i[14]),o=p(o,d,t,c,l[u+11],22,i[15]),c=p(c,o,d,t,l[u+12],7,i[16]),t=p(t,c,o,d,l[u+13],12,i[17]),d=p(d,t,c,o,l[u+14],17,i[18]),o=p(o,d,t,c,l[u+15],22,i[19]),c=g(c,o,d,t,l[u+1],5,i[20]),t=g(t,c,o,d,l[u+6],9,i[21]),d=g(d,t,c,o,l[u+11],14,i[22]),o=g(o,d,t,c,l[u+0],20,i[23]),c=g(c,o,d,t,l[u+5],5,i[24]),t=g(t,c,o,d,l[u+10],9,i[25]),d=g(d,t,c,o,l[u+15],14,i[26]),o=g(o,d,t,c,l[u+4],20,i[27]),c=g(c,o,d,t,l[u+9],5,i[28]),t=g(t,c,o,d,l[u+14],9,i[29]),d=g(d,t,c,o,l[u+3],14,i[30]),o=g(o,d,t,c,l[u+8],20,i[31]),c=g(c,o,d,t,l[u+13],5,i[32]),t=g(t,c,o,d,l[u+2],9,i[33]),d=g(d,t,c,o,l[u+7],14,i[34]),o=g(o,d,t,c,l[u+12],20,i[35]),c=B(c,o,d,t,l[u+5],4,i[36]),t=B(t,c,o,d,l[u+8],11,i[37]),d=B(d,t,c,o,l[u+11],16,i[38]),o=B(o,d,t,c,l[u+14],23,i[39]),c=B(c,o,d,t,l[u+1],4,i[40]),t=B(t,c,o,d,l[u+4],11,i[41]),d=B(d,t,c,o,l[u+7],16,i[42]),o=B(o,d,t,c,l[u+10],23,i[43]),c=B(c,o,d,t,l[u+13],4,i[44]),t=B(t,c,o,d,l[u+0],11,i[45]),d=B(d,t,c,o,l[u+3],16,i[46]),o=B(o,d,t,c,l[u+6],23,i[47]),c=B(c,o,d,t,l[u+9],4,i[48]),t=B(t,c,o,d,l[u+12],11,i[49]),d=B(d,t,c,o,l[u+15],16,i[50]),o=B(o,d,t,c,l[u+2],23,i[51]),c=y(c,o,d,t,l[u+0],6,i[52]),t=y(t,c,o,d,l[u+7],10,i[53]),d=y(d,t,c,o,l[u+14],15,i[54]),o=y(o,d,t,c,l[u+5],21,i[55]),c=y(c,o,d,t,l[u+12],6,i[56]),t=y(t,c,o,d,l[u+3],10,i[57]),d=y(d,t,c,o,l[u+10],15,i[58]),o=y(o,d,t,c,l[u+1],21,i[59]),c=y(c,o,d,t,l[u+8],6,i[60]),t=y(t,c,o,d,l[u+15],10,i[61]),d=y(d,t,c,o,l[u+6],15,i[62]),o=y(o,d,t,c,l[u+13],21,i[63]),c=y(c,o,d,t,l[u+4],6,i[64]),t=y(t,c,o,d,l[u+11],10,i[65]),d=y(d,t,c,o,l[u+2],15,i[66]),o=y(o,d,t,c,l[u+9],21,i[67]),c=e(c,F),o=e(o,H),d=e(d,P),t=e(t,q);return _(c).concat(_(o),_(d),_(t))}var fe={encode:function(n){var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=f.split(""),r=[],b="",a,h,p=Math.floor(n.length*16/3);for(a=0;a<n.length*16;a++)r.push(n[Math.floor(a/16)][a%16]);for(a=0;a<r.length;a=a+3)b+=e[r[a]>>2],b+=e[(r[a]&3)<<4|r[a+1]>>4],r[a+1]!==void 0?b+=e[(r[a+1]&15)<<2|r[a+2]>>6]:b+="=",r[a+2]!==void 0?b+=e[r[a+2]&63]:b+="=";for(h=b.slice(0,64)+`
|
|
2
|
-
`,a=1;a<Math.ceil(b.length/64);a++)h+=b.slice(a*64,a*64+64)+(Math.ceil(b.length/64)===a+1?"":`
|
|
3
|
-
`);return h},decode:function(n){n=n.replace(/\n/g,"");var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=f.split(""),r=[],b=[],a=[],h;for(h=0;h<n.length;h=h+4)b[0]=f.indexOf(n.charAt(h)),b[1]=f.indexOf(n.charAt(h+1)),b[2]=f.indexOf(n.charAt(h+2)),b[3]=f.indexOf(n.charAt(h+3)),a[0]=b[0]<<2|b[1]>>4,a[1]=(b[1]&15)<<4|b[2]>>2,a[2]=(b[2]&3)<<6|b[3],r.push(a[0],a[1],a[2]);return r=r.slice(0,r.length-r.length%16),r}};var me={encode:(n,f=2)=>n&&encodeURIComponent(n.split("").map((e,r)=>r%f?String.fromCharCode(e.charCodeAt(0)^f):e).join("")),decode:(n,f=2)=>n&&decodeURIComponent(n).split("").map((e,r)=>r%f?String.fromCharCode(e.charCodeAt(0)^f):e).join("")},xe={encode:n=>n&&encodeURIComponent(n),decode:n=>n&&decodeURIComponent(n)},Ce={encode:n=>n&&encodeURIComponent(ne(n,"dynamic").substring(10)),decode:n=>n&&re("U2FsdGVkX1"+decodeURIComponent(n),"dynamic")},Be={encode:n=>n,decode:n=>n},ye={encode:n=>n&&decodeURIComponent(btoa(n)),decode:n=>n&&atob(n)};self.__scramjet$codecs={none:Be,plain:xe,base64:ye,xor:me,aes:Ce};})();
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/codecs/aes.ts", "../src/codecs/index.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable */\r\n\r\nvar Nr = 14;\r\nvar Nk = 8;\r\nvar Decrypt = false;\r\nfunction enc_utf8(s) {\r\n try {\r\n return unescape(encodeURIComponent(s));\r\n } catch (e) {\r\n throw \"Error on UTF-8 encode\";\r\n }\r\n};\r\nfunction dec_utf8(s) {\r\n try {\r\n return decodeURIComponent(escape(s));\r\n } catch (e) {\r\n throw \"Bad Key\";\r\n }\r\n};\r\nfunction padBlock(byteArr) {\r\n var array = [],\r\n cpad,\r\n i;\r\n if (byteArr.length < 16) {\r\n cpad = 16 - byteArr.length;\r\n array = [\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n cpad,\r\n ];\r\n }\r\n for (i = 0; i < byteArr.length; i++) {\r\n array[i] = byteArr[i];\r\n }\r\n return array;\r\n};\r\nfunction block2s(block, lastBlock) {\r\n var string = \"\",\r\n padding,\r\n i;\r\n if (lastBlock) {\r\n padding = block[15];\r\n if (padding > 16) {\r\n throw \"Decryption error: Maybe bad key\";\r\n }\r\n if (padding === 16) {\r\n return \"\";\r\n }\r\n for (i = 0; i < 16 - padding; i++) {\r\n string += String.fromCharCode(block[i]);\r\n }\r\n } else {\r\n for (i = 0; i < 16; i++) {\r\n string += String.fromCharCode(block[i]);\r\n }\r\n }\r\n return string;\r\n};\r\nfunction a2h(numArr) {\r\n var string = \"\",\r\n i;\r\n for (i = 0; i < numArr.length; i++) {\r\n string += (numArr[i] < 16 ? \"0\" : \"\") + numArr[i].toString(16);\r\n }\r\n return string;\r\n};\r\nfunction h2a(s) {\r\n var ret = [];\r\n s.replace(/(..)/g, function (s) {\r\n ret.push(parseInt(s, 16));\r\n });\r\n return ret;\r\n};\r\nfunction s2a(string, binary) {\r\n var array = [],\r\n i;\r\n\r\n if (!binary) {\r\n string = enc_utf8(string);\r\n }\r\n\r\n for (i = 0; i < string.length; i++) {\r\n array[i] = string.charCodeAt(i);\r\n }\r\n\r\n return array;\r\n};\r\nfunction size(newsize) {\r\n switch (newsize) {\r\n case 128:\r\n Nr = 10;\r\n Nk = 4;\r\n break;\r\n case 192:\r\n Nr = 12;\r\n Nk = 6;\r\n break;\r\n case 256:\r\n Nr = 14;\r\n Nk = 8;\r\n break;\r\n default:\r\n throw \"Invalid Key Size Specified:\" + newsize;\r\n }\r\n};\r\nfunction randArr(num) {\r\n var result = [],\r\n i;\r\n for (i = 0; i < num; i++) {\r\n result = result.concat(Math.floor(Math.random() * 256));\r\n }\r\n return result;\r\n};\r\nfunction openSSLKey(passwordArr, saltArr) {\r\n var rounds = Nr >= 12 ? 3 : 2,\r\n key = [],\r\n iv = [],\r\n md5_hash = [],\r\n result = [],\r\n data00 = passwordArr.concat(saltArr),\r\n i;\r\n md5_hash[0] = MD5(data00);\r\n result = md5_hash[0];\r\n for (i = 1; i < rounds; i++) {\r\n md5_hash[i] = MD5(md5_hash[i - 1].concat(data00));\r\n result = result.concat(md5_hash[i]);\r\n }\r\n key = result.slice(0, 4 * Nk);\r\n iv = result.slice(4 * Nk, 4 * Nk + 16);\r\n return {\r\n key: key,\r\n iv: iv,\r\n };\r\n};\r\nfunction rawEncrypt(plaintext, key, iv) {\r\n key = expandKey(key);\r\n var numBlocks = Math.ceil(plaintext.length / 16),\r\n blocks = [],\r\n i,\r\n cipherBlocks = [];\r\n for (i = 0; i < numBlocks; i++) {\r\n blocks[i] = padBlock(plaintext.slice(i * 16, i * 16 + 16));\r\n }\r\n if (plaintext.length % 16 === 0) {\r\n blocks.push([\r\n 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\r\n ]);\r\n numBlocks++;\r\n }\r\n for (i = 0; i < blocks.length; i++) {\r\n blocks[i] =\r\n i === 0\r\n ? xorBlocks(blocks[i], iv)\r\n : xorBlocks(blocks[i], cipherBlocks[i - 1]);\r\n cipherBlocks[i] = encryptBlock(blocks[i], key);\r\n }\r\n return cipherBlocks;\r\n};\r\nfunction rawDecrypt(cryptArr, key, iv, binary) {\r\n key = expandKey(key);\r\n var numBlocks = cryptArr.length / 16,\r\n cipherBlocks = [],\r\n i,\r\n plainBlocks = [],\r\n string = \"\";\r\n for (i = 0; i < numBlocks; i++) {\r\n cipherBlocks.push(cryptArr.slice(i * 16, (i + 1) * 16));\r\n }\r\n for (i = cipherBlocks.length - 1; i >= 0; i--) {\r\n plainBlocks[i] = decryptBlock(cipherBlocks[i], key);\r\n plainBlocks[i] =\r\n i === 0\r\n ? xorBlocks(plainBlocks[i], iv)\r\n : xorBlocks(plainBlocks[i], cipherBlocks[i - 1]);\r\n }\r\n for (i = 0; i < numBlocks - 1; i++) {\r\n string += block2s(plainBlocks[i], false);\r\n }\r\n string += block2s(plainBlocks[i], true);\r\n return binary ? string : dec_utf8(string);\r\n};\r\nfunction encryptBlock(block, words) {\r\n Decrypt = false;\r\n var state = addRoundKey(block, words, 0),\r\n round;\r\n for (round = 1; round < Nr + 1; round++) {\r\n state = subBytes(state);\r\n state = shiftRows(state);\r\n if (round < Nr) {\r\n state = mixColumns(state);\r\n }\r\n state = addRoundKey(state, words, round);\r\n }\r\n\r\n return state;\r\n};\r\nfunction decryptBlock(block, words) {\r\n Decrypt = true;\r\n var state = addRoundKey(block, words, Nr),\r\n round;\r\n for (round = Nr - 1; round > -1; round--) {\r\n state = shiftRows(state);\r\n state = subBytes(state);\r\n state = addRoundKey(state, words, round);\r\n if (round > 0) {\r\n state = mixColumns(state);\r\n }\r\n }\r\n\r\n return state;\r\n};\r\nfunction subBytes(state) {\r\n var S = Decrypt ? SBoxInv : SBox,\r\n temp = [],\r\n i;\r\n for (i = 0; i < 16; i++) {\r\n temp[i] = S[state[i]];\r\n }\r\n return temp;\r\n};\r\nfunction shiftRows(state) {\r\n var temp = [],\r\n shiftBy = Decrypt\r\n ? [0, 13, 10, 7, 4, 1, 14, 11, 8, 5, 2, 15, 12, 9, 6, 3]\r\n : [0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11],\r\n i;\r\n for (i = 0; i < 16; i++) {\r\n temp[i] = state[shiftBy[i]];\r\n }\r\n return temp;\r\n};\r\nfunction mixColumns(state) {\r\n var t = [],\r\n c;\r\n if (!Decrypt) {\r\n for (c = 0; c < 4; c++) {\r\n t[c * 4] =\r\n G2X[state[c * 4]] ^\r\n G3X[state[1 + c * 4]] ^\r\n state[2 + c * 4] ^\r\n state[3 + c * 4];\r\n t[1 + c * 4] =\r\n state[c * 4] ^\r\n G2X[state[1 + c * 4]] ^\r\n G3X[state[2 + c * 4]] ^\r\n state[3 + c * 4];\r\n t[2 + c * 4] =\r\n state[c * 4] ^\r\n state[1 + c * 4] ^\r\n G2X[state[2 + c * 4]] ^\r\n G3X[state[3 + c * 4]];\r\n t[3 + c * 4] =\r\n G3X[state[c * 4]] ^\r\n state[1 + c * 4] ^\r\n state[2 + c * 4] ^\r\n G2X[state[3 + c * 4]];\r\n }\r\n } else {\r\n for (c = 0; c < 4; c++) {\r\n t[c * 4] =\r\n GEX[state[c * 4]] ^\r\n GBX[state[1 + c * 4]] ^\r\n GDX[state[2 + c * 4]] ^\r\n G9X[state[3 + c * 4]];\r\n t[1 + c * 4] =\r\n G9X[state[c * 4]] ^\r\n GEX[state[1 + c * 4]] ^\r\n GBX[state[2 + c * 4]] ^\r\n GDX[state[3 + c * 4]];\r\n t[2 + c * 4] =\r\n GDX[state[c * 4]] ^\r\n G9X[state[1 + c * 4]] ^\r\n GEX[state[2 + c * 4]] ^\r\n GBX[state[3 + c * 4]];\r\n t[3 + c * 4] =\r\n GBX[state[c * 4]] ^\r\n GDX[state[1 + c * 4]] ^\r\n G9X[state[2 + c * 4]] ^\r\n GEX[state[3 + c * 4]];\r\n }\r\n }\r\n\r\n return t;\r\n};\r\nfunction addRoundKey(state, words, round) {\r\n var temp = [],\r\n i;\r\n for (i = 0; i < 16; i++) {\r\n temp[i] = state[i] ^ words[round][i];\r\n }\r\n return temp;\r\n};\r\nfunction xorBlocks(block1, block2) {\r\n var temp = [],\r\n i;\r\n for (i = 0; i < 16; i++) {\r\n temp[i] = block1[i] ^ block2[i];\r\n }\r\n return temp;\r\n};\r\nfunction expandKey(key) {\r\n var w = [],\r\n temp = [],\r\n i,\r\n r,\r\n t,\r\n flat = [],\r\n j;\r\n\r\n for (i = 0; i < Nk; i++) {\r\n r = [key[4 * i], key[4 * i + 1], key[4 * i + 2], key[4 * i + 3]];\r\n w[i] = r;\r\n }\r\n\r\n for (i = Nk; i < 4 * (Nr + 1); i++) {\r\n w[i] = [];\r\n for (t = 0; t < 4; t++) {\r\n temp[t] = w[i - 1][t];\r\n }\r\n if (i % Nk === 0) {\r\n temp = subWord(rotWord(temp));\r\n temp[0] ^= Rcon[i / Nk - 1];\r\n } else if (Nk > 6 && i % Nk === 4) {\r\n temp = subWord(temp);\r\n }\r\n for (t = 0; t < 4; t++) {\r\n w[i][t] = w[i - Nk][t] ^ temp[t];\r\n }\r\n }\r\n for (i = 0; i < Nr + 1; i++) {\r\n flat[i] = [];\r\n for (j = 0; j < 4; j++) {\r\n flat[i].push(\r\n w[i * 4 + j][0],\r\n w[i * 4 + j][1],\r\n w[i * 4 + j][2],\r\n w[i * 4 + j][3]\r\n );\r\n }\r\n }\r\n return flat;\r\n};\r\nfunction subWord(w) {\r\n for (var i = 0; i < 4; i++) {\r\n w[i] = SBox[w[i]];\r\n }\r\n return w;\r\n};\r\nfunction rotWord(w) {\r\n var tmp = w[0],\r\n i;\r\n for (i = 0; i < 3; i++) {\r\n w[i] = w[i + 1];\r\n }\r\n w[3] = tmp;\r\n return w;\r\n};\r\nfunction strhex(str, size) {\r\n var i,\r\n ret = [];\r\n for (i = 0; i < str.length; i += size) {\r\n ret[i / size] = parseInt(str.substr(i, size), 16);\r\n }\r\n return ret;\r\n};\r\nfunction invertArr(arr) {\r\n var i,\r\n ret = [];\r\n for (i = 0; i < arr.length; i++) {\r\n ret[arr[i]] = i;\r\n }\r\n return ret;\r\n};\r\nfunction Gxx(a, b) {\r\n var i, ret;\r\n\r\n ret = 0;\r\n for (i = 0; i < 8; i++) {\r\n ret = (b & 1) === 1 ? ret ^ a : ret;\r\n a = a > 0x7f ? 0x11b ^ (a << 1) : a << 1;\r\n b >>>= 1;\r\n }\r\n\r\n return ret;\r\n};\r\nfunction Gx(x) {\r\n var i,\r\n r = [];\r\n for (i = 0; i < 256; i++) {\r\n r[i] = Gxx(x, i);\r\n }\r\n return r;\r\n};\r\nvar SBox = strhex(\r\n \"637c777bf26b6fc53001672bfed7ab76ca82c97dfa5947f0add4a2af9ca472c0b7fd9326363ff7cc34a5e5f171d8311504c723c31896059a071280e2eb27b27509832c1a1b6e5aa0523bd6b329e32f8453d100ed20fcb15b6acbbe394a4c58cfd0efaafb434d338545f9027f503c9fa851a3408f929d38f5bcb6da2110fff3d2cd0c13ec5f974417c4a77e3d645d197360814fdc222a908846eeb814de5e0bdbe0323a0a4906245cc2d3ac629195e479e7c8376d8dd54ea96c56f4ea657aae08ba78252e1ca6b4c6e8dd741f4bbd8b8a703eb5664803f60e613557b986c11d9ee1f8981169d98e949b1e87e9ce5528df8ca1890dbfe6426841992d0fb054bb16\",\r\n 2\r\n);\r\nvar SBoxInv = invertArr(SBox);\r\nvar Rcon = strhex(\r\n \"01020408102040801b366cd8ab4d9a2f5ebc63c697356ad4b37dfaefc591\",\r\n 2\r\n);\r\nvar G2X = Gx(2);\r\nvar G3X = Gx(3);\r\nvar G9X = Gx(9);\r\nvar GBX = Gx(0xb);\r\nvar GDX = Gx(0xd);\r\nvar GEX = Gx(0xe);\r\nfunction enc(string, pass, binary) {\r\n var salt = randArr(8),\r\n pbe = openSSLKey(s2a(pass, binary), salt),\r\n key = pbe.key,\r\n iv = pbe.iv,\r\n cipherBlocks,\r\n saltBlock = [[83, 97, 108, 116, 101, 100, 95, 95].concat(salt)];\r\n string = s2a(string, binary);\r\n cipherBlocks = rawEncrypt(string, key, iv);\r\n\r\n cipherBlocks = saltBlock.concat(cipherBlocks);\r\n return Base64.encode(cipherBlocks);\r\n};\r\nfunction dec(string, pass, binary) {\r\n var cryptArr = Base64.decode(string),\r\n salt = cryptArr.slice(8, 16),\r\n pbe = openSSLKey(s2a(pass, binary), salt),\r\n key = pbe.key,\r\n iv = pbe.iv;\r\n cryptArr = cryptArr.slice(16, cryptArr.length);\r\n\r\n string = rawDecrypt(cryptArr, key, iv, binary);\r\n return string;\r\n};\r\nfunction MD5(numArr) {\r\n function rotateLeft(lValue, iShiftBits) {\r\n return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));\r\n }\r\n\r\n function addUnsigned(lX, lY) {\r\n var lX4, lY4, lX8, lY8, lResult;\r\n lX8 = lX & 0x80000000;\r\n lY8 = lY & 0x80000000;\r\n lX4 = lX & 0x40000000;\r\n lY4 = lY & 0x40000000;\r\n lResult = (lX & 0x3fffffff) + (lY & 0x3fffffff);\r\n if (lX4 & lY4) {\r\n return lResult ^ 0x80000000 ^ lX8 ^ lY8;\r\n }\r\n if (lX4 | lY4) {\r\n if (lResult & 0x40000000) {\r\n return lResult ^ 0xc0000000 ^ lX8 ^ lY8;\r\n } else {\r\n return lResult ^ 0x40000000 ^ lX8 ^ lY8;\r\n }\r\n } else {\r\n return lResult ^ lX8 ^ lY8;\r\n }\r\n }\r\n\r\n function f(x, y, z) {\r\n return (x & y) | (~x & z);\r\n }\r\n function g(x, y, z) {\r\n return (x & z) | (y & ~z);\r\n }\r\n function h(x, y, z) {\r\n return x ^ y ^ z;\r\n }\r\n function funcI(x, y, z) {\r\n return y ^ (x | ~z);\r\n }\r\n\r\n function ff(a, b, c, d, x, s, ac) {\r\n a = addUnsigned(a, addUnsigned(addUnsigned(f(b, c, d), x), ac));\r\n return addUnsigned(rotateLeft(a, s), b);\r\n }\r\n\r\n function gg(a, b, c, d, x, s, ac) {\r\n a = addUnsigned(a, addUnsigned(addUnsigned(g(b, c, d), x), ac));\r\n return addUnsigned(rotateLeft(a, s), b);\r\n }\r\n\r\n function hh(a, b, c, d, x, s, ac) {\r\n a = addUnsigned(a, addUnsigned(addUnsigned(h(b, c, d), x), ac));\r\n return addUnsigned(rotateLeft(a, s), b);\r\n }\r\n\r\n function ii(a, b, c, d, x, s, ac) {\r\n a = addUnsigned(a, addUnsigned(addUnsigned(funcI(b, c, d), x), ac));\r\n return addUnsigned(rotateLeft(a, s), b);\r\n }\r\n\r\n function convertToWordArray(numArr) {\r\n var lWordCount,\r\n lMessageLength = numArr.length,\r\n lNumberOfWords_temp1 = lMessageLength + 8,\r\n lNumberOfWords_temp2 =\r\n (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64,\r\n lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16,\r\n lWordArray = [],\r\n lBytePosition = 0,\r\n lByteCount = 0;\r\n while (lByteCount < lMessageLength) {\r\n lWordCount = (lByteCount - (lByteCount % 4)) / 4;\r\n lBytePosition = (lByteCount % 4) * 8;\r\n lWordArray[lWordCount] =\r\n lWordArray[lWordCount] | (numArr[lByteCount] << lBytePosition);\r\n lByteCount++;\r\n }\r\n lWordCount = (lByteCount - (lByteCount % 4)) / 4;\r\n lBytePosition = (lByteCount % 4) * 8;\r\n lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);\r\n lWordArray[lNumberOfWords - 2] = lMessageLength << 3;\r\n lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;\r\n return lWordArray;\r\n }\r\n\r\n function wordToHex(lValue) {\r\n var lByte,\r\n lCount,\r\n wordToHexArr = [];\r\n for (lCount = 0; lCount <= 3; lCount++) {\r\n lByte = (lValue >>> (lCount * 8)) & 255;\r\n wordToHexArr = wordToHexArr.concat(lByte);\r\n }\r\n return wordToHexArr;\r\n }\r\n\r\n var x = [],\r\n k,\r\n AA,\r\n BB,\r\n CC,\r\n DD,\r\n a,\r\n b,\r\n c,\r\n d,\r\n rnd = strhex(\r\n \"67452301efcdab8998badcfe10325476d76aa478e8c7b756242070dbc1bdceeef57c0faf4787c62aa8304613fd469501698098d88b44f7afffff5bb1895cd7be6b901122fd987193a679438e49b40821f61e2562c040b340265e5a51e9b6c7aad62f105d02441453d8a1e681e7d3fbc821e1cde6c33707d6f4d50d87455a14eda9e3e905fcefa3f8676f02d98d2a4c8afffa39428771f6816d9d6122fde5380ca4beea444bdecfa9f6bb4b60bebfbc70289b7ec6eaa127fad4ef308504881d05d9d4d039e6db99e51fa27cf8c4ac5665f4292244432aff97ab9423a7fc93a039655b59c38f0ccc92ffeff47d85845dd16fa87e4ffe2ce6e0a30143144e0811a1f7537e82bd3af2352ad7d2bbeb86d391\",\r\n 8\r\n );\r\n\r\n x = convertToWordArray(numArr);\r\n\r\n a = rnd[0];\r\n b = rnd[1];\r\n c = rnd[2];\r\n d = rnd[3];\r\n\r\n for (k = 0; k < x.length; k += 16) {\r\n AA = a;\r\n BB = b;\r\n CC = c;\r\n DD = d;\r\n a = ff(a, b, c, d, x[k + 0], 7, rnd[4]);\r\n d = ff(d, a, b, c, x[k + 1], 12, rnd[5]);\r\n c = ff(c, d, a, b, x[k + 2], 17, rnd[6]);\r\n b = ff(b, c, d, a, x[k + 3], 22, rnd[7]);\r\n a = ff(a, b, c, d, x[k + 4], 7, rnd[8]);\r\n d = ff(d, a, b, c, x[k + 5], 12, rnd[9]);\r\n c = ff(c, d, a, b, x[k + 6], 17, rnd[10]);\r\n b = ff(b, c, d, a, x[k + 7], 22, rnd[11]);\r\n a = ff(a, b, c, d, x[k + 8], 7, rnd[12]);\r\n d = ff(d, a, b, c, x[k + 9], 12, rnd[13]);\r\n c = ff(c, d, a, b, x[k + 10], 17, rnd[14]);\r\n b = ff(b, c, d, a, x[k + 11], 22, rnd[15]);\r\n a = ff(a, b, c, d, x[k + 12], 7, rnd[16]);\r\n d = ff(d, a, b, c, x[k + 13], 12, rnd[17]);\r\n c = ff(c, d, a, b, x[k + 14], 17, rnd[18]);\r\n b = ff(b, c, d, a, x[k + 15], 22, rnd[19]);\r\n a = gg(a, b, c, d, x[k + 1], 5, rnd[20]);\r\n d = gg(d, a, b, c, x[k + 6], 9, rnd[21]);\r\n c = gg(c, d, a, b, x[k + 11], 14, rnd[22]);\r\n b = gg(b, c, d, a, x[k + 0], 20, rnd[23]);\r\n a = gg(a, b, c, d, x[k + 5], 5, rnd[24]);\r\n d = gg(d, a, b, c, x[k + 10], 9, rnd[25]);\r\n c = gg(c, d, a, b, x[k + 15], 14, rnd[26]);\r\n b = gg(b, c, d, a, x[k + 4], 20, rnd[27]);\r\n a = gg(a, b, c, d, x[k + 9], 5, rnd[28]);\r\n d = gg(d, a, b, c, x[k + 14], 9, rnd[29]);\r\n c = gg(c, d, a, b, x[k + 3], 14, rnd[30]);\r\n b = gg(b, c, d, a, x[k + 8], 20, rnd[31]);\r\n a = gg(a, b, c, d, x[k + 13], 5, rnd[32]);\r\n d = gg(d, a, b, c, x[k + 2], 9, rnd[33]);\r\n c = gg(c, d, a, b, x[k + 7], 14, rnd[34]);\r\n b = gg(b, c, d, a, x[k + 12], 20, rnd[35]);\r\n a = hh(a, b, c, d, x[k + 5], 4, rnd[36]);\r\n d = hh(d, a, b, c, x[k + 8], 11, rnd[37]);\r\n c = hh(c, d, a, b, x[k + 11], 16, rnd[38]);\r\n b = hh(b, c, d, a, x[k + 14], 23, rnd[39]);\r\n a = hh(a, b, c, d, x[k + 1], 4, rnd[40]);\r\n d = hh(d, a, b, c, x[k + 4], 11, rnd[41]);\r\n c = hh(c, d, a, b, x[k + 7], 16, rnd[42]);\r\n b = hh(b, c, d, a, x[k + 10], 23, rnd[43]);\r\n a = hh(a, b, c, d, x[k + 13], 4, rnd[44]);\r\n d = hh(d, a, b, c, x[k + 0], 11, rnd[45]);\r\n c = hh(c, d, a, b, x[k + 3], 16, rnd[46]);\r\n b = hh(b, c, d, a, x[k + 6], 23, rnd[47]);\r\n a = hh(a, b, c, d, x[k + 9], 4, rnd[48]);\r\n d = hh(d, a, b, c, x[k + 12], 11, rnd[49]);\r\n c = hh(c, d, a, b, x[k + 15], 16, rnd[50]);\r\n b = hh(b, c, d, a, x[k + 2], 23, rnd[51]);\r\n a = ii(a, b, c, d, x[k + 0], 6, rnd[52]);\r\n d = ii(d, a, b, c, x[k + 7], 10, rnd[53]);\r\n c = ii(c, d, a, b, x[k + 14], 15, rnd[54]);\r\n b = ii(b, c, d, a, x[k + 5], 21, rnd[55]);\r\n a = ii(a, b, c, d, x[k + 12], 6, rnd[56]);\r\n d = ii(d, a, b, c, x[k + 3], 10, rnd[57]);\r\n c = ii(c, d, a, b, x[k + 10], 15, rnd[58]);\r\n b = ii(b, c, d, a, x[k + 1], 21, rnd[59]);\r\n a = ii(a, b, c, d, x[k + 8], 6, rnd[60]);\r\n d = ii(d, a, b, c, x[k + 15], 10, rnd[61]);\r\n c = ii(c, d, a, b, x[k + 6], 15, rnd[62]);\r\n b = ii(b, c, d, a, x[k + 13], 21, rnd[63]);\r\n a = ii(a, b, c, d, x[k + 4], 6, rnd[64]);\r\n d = ii(d, a, b, c, x[k + 11], 10, rnd[65]);\r\n c = ii(c, d, a, b, x[k + 2], 15, rnd[66]);\r\n b = ii(b, c, d, a, x[k + 9], 21, rnd[67]);\r\n a = addUnsigned(a, AA);\r\n b = addUnsigned(b, BB);\r\n c = addUnsigned(c, CC);\r\n d = addUnsigned(d, DD);\r\n }\r\n\r\n return wordToHex(a).concat(wordToHex(b), wordToHex(c), wordToHex(d));\r\n};\r\n// function encString (plaintext, key, iv) {\r\n// var i;\r\n// plaintext = s2a(plaintext, false);\r\n\r\n// key = s2a(key, false);\r\n// for (i = key.length; i < 32; i++) {\r\n// key[i] = 0;\r\n// }\r\n\r\n// if (iv === undefined) {\r\n// } else {\r\n// iv = s2a(iv, false);\r\n// for (i = iv.length; i < 16; i++) {\r\n// iv[i] = 0;\r\n// }\r\n// }\r\n\r\n// var ct = rawEncrypt(plaintext, key, iv);\r\n// var ret = [iv];\r\n// for (i = 0; i < ct.length; i++) {\r\n// ret[ret.length] = ct[i];\r\n// }\r\n// return Base64.encode(ret);\r\n// };\r\n// function decString (ciphertext, key) {\r\n// // var tmp = Base64.decode(ciphertext);\r\n// var tmp = atob(ciphertext);\r\n// var iv = tmp.slice(0, 16);\r\n// var ct = tmp.slice(16, tmp.length);\r\n// var i;\r\n\r\n// key = s2a(key, false);\r\n// for (i = key.length; i < 32; i++) {\r\n// key[i] = 0;\r\n// }\r\n\r\n// var pt = rawDecrypt(ct, key, iv, false);\r\n// return pt;\r\n// };\r\n// function Base64() {\r\n// var _chars =\r\n// \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",\r\n// chars = _chars.split(\"\"),\r\n// encode = function (b, withBreaks) {\r\n// var flatArr = [],\r\n// b64 = \"\",\r\n// i,\r\n// broken_b64,\r\n// totalChunks = Math.floor((b.length * 16) / 3);\r\n// for (i = 0; i < b.length * 16; i++) {\r\n// flatArr.push(b[Math.floor(i / 16)][i % 16]);\r\n// }\r\n// for (i = 0; i < flatArr.length; i = i + 3) {\r\n// b64 += chars[flatArr[i] >> 2];\r\n// b64 += chars[((flatArr[i] & 3) << 4) | (flatArr[i + 1] >> 4)];\r\n// if (flatArr[i + 1] !== undefined) {\r\n// b64 += chars[((flatArr[i + 1] & 15) << 2) | (flatArr[i + 2] >> 6)];\r\n// } else {\r\n// b64 += \"=\";\r\n// }\r\n// if (flatArr[i + 2] !== undefined) {\r\n// b64 += chars[flatArr[i + 2] & 63];\r\n// } else {\r\n// b64 += \"=\";\r\n// }\r\n// }\r\n// broken_b64 = b64.slice(0, 64) + \"\\n\";\r\n// for (i = 1; i < Math.ceil(b64.length / 64); i++) {\r\n// broken_b64 +=\r\n// b64.slice(i * 64, i * 64 + 64) +\r\n// (Math.ceil(b64.length / 64) === i + 1 ? \"\" : \"\\n\");\r\n// }\r\n// return broken_b64;\r\n// },\r\n// decode = function (string) {\r\n// string = string.replace(/\\n/g, \"\");\r\n// var flatArr = [],\r\n// c = [],\r\n// b = [],\r\n// i;\r\n// for (i = 0; i < string.length; i = i + 4) {\r\n// c[0] = _chars.indexOf(string.charAt(i));\r\n// c[1] = _chars.indexOf(string.charAt(i + 1));\r\n// c[2] = _chars.indexOf(string.charAt(i + 2));\r\n// c[3] = _chars.indexOf(string.charAt(i + 3));\r\n\r\n// b[0] = (c[0] << 2) | (c[1] >> 4);\r\n// b[1] = ((c[1] & 15) << 4) | (c[2] >> 2);\r\n// b[2] = ((c[2] & 3) << 6) | c[3];\r\n// flatArr.push(b[0], b[1], b[2]);\r\n// }\r\n// flatArr = flatArr.slice(0, flatArr.length - (flatArr.length % 16));\r\n// return flatArr;\r\n// };\r\n\r\n// if (typeof Array.indexOf === \"function\") {\r\n// _chars = chars;\r\n// }\r\n\r\n// return {\r\n// encode: encode,\r\n// decode: decode,\r\n// };\r\n// }\r\n\r\nconst Base64 = {\r\n encode: function (b) {\r\n var _chars =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",\r\n chars = _chars.split(\"\"),\r\n flatArr = [],\r\n b64 = \"\",\r\n i,\r\n broken_b64,\r\n totalChunks = Math.floor((b.length * 16) / 3);\r\n for (i = 0; i < b.length * 16; i++) {\r\n flatArr.push(b[Math.floor(i / 16)][i % 16]);\r\n }\r\n for (i = 0; i < flatArr.length; i = i + 3) {\r\n b64 += chars[flatArr[i] >> 2];\r\n b64 += chars[((flatArr[i] & 3) << 4) | (flatArr[i + 1] >> 4)];\r\n if (flatArr[i + 1] !== undefined) {\r\n b64 += chars[((flatArr[i + 1] & 15) << 2) | (flatArr[i + 2] >> 6)];\r\n } else {\r\n b64 += \"=\";\r\n }\r\n if (flatArr[i + 2] !== undefined) {\r\n b64 += chars[flatArr[i + 2] & 63];\r\n } else {\r\n b64 += \"=\";\r\n }\r\n }\r\n broken_b64 = b64.slice(0, 64) + \"\\n\";\r\n for (i = 1; i < Math.ceil(b64.length / 64); i++) {\r\n broken_b64 +=\r\n b64.slice(i * 64, i * 64 + 64) +\r\n (Math.ceil(b64.length / 64) === i + 1 ? \"\" : \"\\n\");\r\n }\r\n return broken_b64;\r\n },\r\n decode: function (string) {\r\n string = string.replace(/\\n/g, \"\");\r\n var _chars =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",\r\n chars = _chars.split(\"\"),\r\n flatArr = [],\r\n c = [],\r\n b = [],\r\n i;\r\n for (i = 0; i < string.length; i = i + 4) {\r\n c[0] = _chars.indexOf(string.charAt(i));\r\n c[1] = _chars.indexOf(string.charAt(i + 1));\r\n c[2] = _chars.indexOf(string.charAt(i + 2));\r\n c[3] = _chars.indexOf(string.charAt(i + 3));\r\n\r\n b[0] = (c[0] << 2) | (c[1] >> 4);\r\n b[1] = ((c[1] & 15) << 4) | (c[2] >> 2);\r\n b[2] = ((c[2] & 3) << 6) | c[3];\r\n flatArr.push(b[0], b[1], b[2]);\r\n }\r\n flatArr = flatArr.slice(0, flatArr.length - (flatArr.length % 16));\r\n return flatArr;\r\n }\r\n}\r\n\r\nexport { enc, dec };", "import { enc, dec } from \"./aes.ts\";\r\n\r\n// for some reason eslint was parsing the type inside of the function params as a variable\r\nexport interface Codec {\r\n // eslint-disable-next-line\r\n encode: (str: string | undefined) => string;\r\n // eslint-disable-next-line\r\n decode: (str: string | undefined) => string;\r\n}\r\n\r\nconst xor = {\r\n encode: (str: string | undefined, key: number = 2) => {\r\n if (!str) return str;\r\n\r\n return encodeURIComponent(str.split(\"\").map((e, i) => i % key ? String.fromCharCode(e.charCodeAt(0) ^ key) : e).join(\"\"));\r\n },\r\n decode: (str: string | undefined, key: number = 2) => {\r\n if (!str) return str;\r\n\r\n return decodeURIComponent(str).split(\"\").map((e, i) => i % key ? String.fromCharCode(e.charCodeAt(0) ^ key) : e).join(\"\");\r\n }\r\n}\r\n\r\nconst plain = {\r\n encode: (str: string | undefined) => {\r\n if (!str) return str;\r\n\r\n return encodeURIComponent(str);\r\n },\r\n decode: (str: string | undefined) => {\r\n if (!str) return str;\r\n\r\n return decodeURIComponent(str);\r\n }\r\n}\r\n\r\nconst aes = {\r\n encode: (str: string | undefined) => {\r\n if (!str) return str;\r\n\r\n return encodeURIComponent(enc(str, \"dynamic\").substring(10));\r\n },\r\n decode: (str: string | undefined) => {\r\n if (!str) return str;\r\n\r\n return dec(\"U2FsdGVkX1\" + decodeURIComponent(str), \"dynamic\");\r\n }\r\n}\r\n\r\nconst none = {\r\n encode: (str: string | undefined) => str,\r\n decode: (str: string | undefined) => str,\r\n}\r\n\r\nconst base64 = {\r\n encode: (str: string | undefined) => {\r\n if (!str) return str;\r\n\r\n return decodeURIComponent(btoa(str));\r\n },\r\n decode: (str: string | undefined) => {\r\n if (!str) return str;\r\n\r\n return atob(str);\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface Window {\r\n __scramjet$codecs: {\r\n none: Codec;\r\n plain: Codec;\r\n base64: Codec;\r\n xor: Codec;\r\n aes: Codec;\r\n }\r\n }\r\n}\r\n\r\nself.__scramjet$codecs = {\r\n none, plain, base64, xor, aes\r\n}"],
|
|
5
|
-
"mappings": "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,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;AACvC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;AACvC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;AACvC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;AACvC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;AACvC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;AACvC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;AACvC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;AACvC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;AACvC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;AACvC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACzC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxC,UAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EA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",
|
|
6
|
-
"names": ["x", "a", "b", "c", "d", "numArr"]
|
|
7
|
-
}
|
package/dist/scramjet.config.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(()=>{self.__scramjet$config={prefix:"/scramjet/",codec:self.__scramjet$codecs.plain,config:"/scramjet.config.js",bundle:"/scramjet.bundle.js",worker:"/scramjet.worker.js",client:"/scramjet.client.js",codecs:"/scramjet.codecs.js"};})();
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/scramjet.config.ts"],
|
|
4
|
-
"sourcesContent": ["import { Codec } from \"./codecs\";\r\n\r\ndeclare global {\r\n interface Window {\r\n __scramjet$config: {\r\n prefix: string;\r\n codec: Codec\r\n config: string;\r\n bundle: string;\r\n worker: string;\r\n client: string;\r\n codecs: string;\r\n }\r\n }\r\n}\r\n\r\nself.__scramjet$config = {\r\n prefix: \"/scramjet/\",\r\n codec: self.__scramjet$codecs.plain,\r\n config: \"/scramjet.config.js\",\r\n bundle: \"/scramjet.bundle.js\",\r\n worker: \"/scramjet.worker.js\",\r\n client: \"/scramjet.client.js\",\r\n codecs: \"/scramjet.codecs.js\"\r\n}"],
|
|
5
|
-
"mappings": ";;AAgBA,OAAK,oBAAoB;AAAA,IACrB,QAAQ;AAAA,IACR,OAAO,KAAK,kBAAkB;AAAA,IAC9B,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,EACZ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/scramjet.worker.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
(()=>{var E,P=new Uint8Array(16);function R(){if(!E&&(E=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!E))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return E(P)}var d=[];for(let t=0;t<256;++t)d.push((t+256).toString(16).slice(1));function N(t,e=0){return d[t[e+0]]+d[t[e+1]]+d[t[e+2]]+d[t[e+3]]+"-"+d[t[e+4]]+d[t[e+5]]+"-"+d[t[e+6]]+d[t[e+7]]+"-"+d[t[e+8]]+d[t[e+9]]+"-"+d[t[e+10]]+d[t[e+11]]+d[t[e+12]]+d[t[e+13]]+d[t[e+14]]+d[t[e+15]]}var _=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),O={randomUUID:_};function I(t,e,r){if(O.randomUUID&&!e&&!t)return O.randomUUID();t=t||{};let n=t.random||(t.rng||R)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(let o=0;o<16;++o)e[r+o]=n[o];return e}return N(n)}var C=I;var W=20,M=globalThis.fetch,g=globalThis.WebSocket,$=globalThis.Request,k=globalThis.Response,m={prototype:{send:g.prototype.send},CLOSED:g.CLOSED,CLOSING:g.CLOSING,CONNECTING:g.CONNECTING,OPEN:g.OPEN};var w;"ServiceWorkerGlobalScope"in self&&addEventListener("message",async({data:t})=>{if(t.type==="response"){let e=w.promises.get(t.id);e.resolve&&(e.resolve(t),w.promises.delete(t.id))}else if(t.type==="error"){let e=w.promises.get(t.id);e.reject&&(e.reject(t.error),w.promises.delete(t.id))}});var U=class{canstart=!0;ready=!1;promises=new Map;constructor(){if(!("ServiceWorkerGlobalScope"in self))throw new TypeError("Attempt to construct RemoteClient from outside a service worker")}async init(){w=this,this.ready=!0}async meta(){}async request(e,r,n,o,c){let h=C(),a=await self.clients.matchAll();if(a.length<1)throw new Error("no available clients");for(let u of a)u.postMessage({type:"request",id:h,remote:e.toString(),method:r,body:n,headers:o});return await new Promise((u,i)=>{this.promises.set(h,{resolve:u,reject:i})})}connect(e,r,n,o,c,h,a,u){throw"why are you calling connect from remoteclient"}};self.BCC_VERSION="1.1.2";console.debug("BARE_MUX_VERSION: "+self.BCC_VERSION);function D(t,e){let r=new((0,eval)(t))(...e);return r.initpromise=r.init(),r}var b=class{active=null;channel=new BroadcastChannel("bare-mux");data=null;constructor(){this.channel.addEventListener("message",({data:{type:e,data:r}})=>{switch(console.log(`bare-mux: ${e}`,r,`${"ServiceWorker"in globalThis}`),e){case"setremote":this.active=new U;break;case"set":let{name:n,config:o}=r;this.active=D(n,o);break;case"find":this.data&&this.channel.postMessage(this.data);break}})}};function T(){if("ServiceWorkerGlobalScope"in globalThis&&globalThis.gSwitcher&&!globalThis.gSwitcher.active&&globalThis.gSwitcher.channel.postMessage({type:"find"}),globalThis.gSwitcher)return globalThis.gSwitcher;if("ServiceWorkerGlobalScope"in globalThis)return globalThis.gSwitcher=new b,globalThis.gSwitcher.channel.postMessage({type:"find"}),globalThis.gSwitcher;let t=window;for(let e=0;e<20;e++)try{if(t==t.parent)return globalThis.gSwitcher=new b,globalThis.gSwitcher;if(t=t.parent,t&&t.gSwitcher)return console.debug("Found implementation on parent"),globalThis.gSwitcher=t.gSwitcher,t.gSwitcher}catch{return globalThis.gSwitcher=new b,globalThis.gSwitcher.channel.postMessage({type:"find"}),globalThis.gSwitcher}throw"unreachable"}T();var F="!#$%&'*+-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz|~";function G(t){for(let e=0;e<t.length;e++){let r=t[e];if(!F.includes(r))return!1}return!0}Object.getOwnPropertyDescriptor(g.prototype,"readyState").get;var H=["ws:","wss:"],B=[101,204,205,304],A=[301,302,303,307,308],x=class{constructor(){}createWebSocket(e,r=[],n,o,c){let a=T().active;if(!a)throw"invalid switcher";if(!a.ready)throw new TypeError("You need to wait for the client to finish fetching the manifest before creating any WebSockets. Try caching the manifest data before making this request.");try{e=new URL(e)}catch{throw new DOMException(`Faiiled to construct 'WebSocket': The URL '${e}' is invalid.`)}if(!H.includes(e.protocol))throw new DOMException(`Failed to construct 'WebSocket': The URL's scheme must be either 'ws' or 'wss'. '${e.protocol}' is not allowed.`);Array.isArray(r)||(r=[r]),r=r.map(String);for(let s of r)if(!G(s))throw new DOMException(`Failed to construct 'WebSocket': The subprotocol '${s}' is invalid.`);let u=n||g,i=new u("ws://127.0.0.1:1",r),f="",l=m.CONNECTING,p=!1;i.addEventListener("error",s=>{p||(l=g.CONNECTING,s.stopImmediatePropagation(),p=!0)});let y=!1;i.addEventListener("close",s=>{y||(s.stopImmediatePropagation(),y=!0)}),c=c||n.constructor.constructor("return ArrayBuffer")().prototype,o.Host=new URL(e).host,o.Pragma="no-cache",o["Cache-Control"]="no-cache",o.Upgrade="websocket",o.Connection="Upgrade";let S=a.connect(e,origin,r,o,s=>{l=m.OPEN,f=s,i.meta={headers:{"sec-websocket-protocol":s}},i.dispatchEvent(new Event("open"))},async s=>{typeof s=="string"?i.dispatchEvent(new MessageEvent("message",{data:s})):"byteLength"in s?(i.binaryType==="blob"?s=new Blob([s]):Object.setPrototypeOf(s,c),i.dispatchEvent(new MessageEvent("message",{data:s}))):"arrayBuffer"in s&&(i.binaryType==="arraybuffer"&&(s=await s.arrayBuffer(),Object.setPrototypeOf(s,c)),i.dispatchEvent(new MessageEvent("message",{data:s})))},(s,v)=>{l=m.CLOSED,i.dispatchEvent(new CloseEvent("close",{code:s,reason:v}))},()=>{l=m.CLOSED}),L=()=>l;Object.defineProperty(i,"readyState",{get:L,configurable:!0,enumerable:!0});let j=()=>{if(L()===m.CONNECTING)return new DOMException("Failed to execute 'send' on 'WebSocket': Still in CONNECTING state.")};return i.send=function(...s){let v=j();if(v)throw v;S(s[0])},Object.defineProperty(i,"url",{get:()=>e.toString(),configurable:!0,enumerable:!0}),Object.defineProperty(i,"protocol",{get:()=>f,configurable:!0,enumerable:!0}),i}async fetch(e,r){let n=new $(e,r),o=r?.headers||n.headers,c=o instanceof Headers?Object.fromEntries(o):o,h=r?.body||n.body,a=new URL(n.url);if(a.protocol.startsWith("blob:")){let f=await M(a),l=new k(f.body,f);return l.rawHeaders=Object.fromEntries(f.headers),l.rawResponse=f,l}let u=T();if(u.active||(await new Promise(f=>setTimeout(f,1e3)),u=T()),!u.active)throw"there are no bare clients";let i=u.active;i.ready||await i.init();for(let f=0;;f++){"host"in c?c.host=a.host:c.Host=a.host;let l=await i.request(a,n.method,h,c,n.signal),p=new k(B.includes(l.status)?void 0:l.body,{headers:new Headers(l.headers),status:l.status,statusText:l.statusText});p.rawHeaders=l.headers,p.rawResponse=new k(l.body),p.finalURL=a.toString();let y=r?.redirect||n.redirect;if(A.includes(p.status))switch(y){case"follow":{let S=p.headers.get("location");if(W>f&&S!==null){a=new URL(S,a);continue}else throw new TypeError("Failed to fetch")}case"error":throw new TypeError("Failed to fetch");case"manual":return p}else return p}}};self.ScramjetServiceWorker=class{constructor(e=self.__scramjet$config){this.client=new x,e.prefix||(e.prefix="/scramjet/"),this.config=e}route({request:e}){return!!e.url.startsWith(location.origin+this.config.prefix)}async fetch({request:e}){let r=new URLSearchParams(new URL(e.url).search);if(r.has("url"))return Response.redirect(self.__scramjet$bundle.rewriters.url.encodeUrl(r.get("url"),new URL(r.get("url"))));try{let n=new URL(self.__scramjet$bundle.rewriters.url.decodeUrl(e.url)),o=await this.client.fetch(n,{method:e.method,body:e.body,headers:e.headers,credentials:"omit",mode:e.mode==="cors"?e.mode:"same-origin",cache:e.cache,redirect:e.redirect}),c,h=self.__scramjet$bundle.rewriters.rewriteHeaders(o.rawHeaders,n);if(o.body)switch(e.destination){case"iframe":case"document":c=self.__scramjet$bundle.rewriters.rewriteHtml(await o.text(),n);break;case"script":c=self.__scramjet$bundle.rewriters.rewriteJs(await o.text(),n);break;case"style":c=self.__scramjet$bundle.rewriters.rewriteCss(await o.text(),n);break;case"sharedworker":break;case"worker":break;default:c=o.body;break}if(e.destination==="document"){let a=h["content-disposition"];if(!/\s*?((inline|attachment);\s*?)filename=/i.test(a)){let u=/^\s*?attachment/i.test(a)?"attachment":"inline",[i]=new URL(o.finalURL).pathname.split("/").slice(-1);h["content-disposition"]=`${u}; filename=${JSON.stringify(i)}`}}return h.accept==="text/event-stream"&&(h["content-type"]="text/event-stream"),crossOriginIsolated&&(h["Cross-Origin-Embedder-Policy"]="require-corp"),new Response(c,{headers:h,status:o.status,statusText:o.statusText})}catch(n){return["document","iframe"].includes(e.destination)?(console.error(n),J(n,self.__scramjet$bundle.rewriters.url.decodeUrl(e.url))):new Response(void 0,{status:500})}}};function V(t,e){let r=`
|
|
2
|
-
errorTrace.value = ${JSON.stringify(t)};
|
|
3
|
-
fetchedURL.textContent = ${JSON.stringify(e)};
|
|
4
|
-
for (const node of document.querySelectorAll("#hostname")) node.textContent = ${JSON.stringify(location.hostname)};
|
|
5
|
-
reload.addEventListener("click", () => location.reload());
|
|
6
|
-
version.textContent = "0.0.1";
|
|
7
|
-
`;return`<!DOCTYPE html>
|
|
8
|
-
<html>
|
|
9
|
-
<head>
|
|
10
|
-
<meta charset="utf-8" />
|
|
11
|
-
<title>Error</title>
|
|
12
|
-
<style>
|
|
13
|
-
* { background-color: white }
|
|
14
|
-
</style>
|
|
15
|
-
</head>
|
|
16
|
-
<body>
|
|
17
|
-
<h1 id="errorTitle">Error processing your request</h1>
|
|
18
|
-
<hr />
|
|
19
|
-
<p>Failed to load <b id="fetchedURL"></b></p>
|
|
20
|
-
<p id="errorMessage">Internal Server Error</p>
|
|
21
|
-
<textarea id="errorTrace" cols="40" rows="10" readonly></textarea>
|
|
22
|
-
<p>Try:</p>
|
|
23
|
-
<ul>
|
|
24
|
-
<li>Checking your internet connection</li>
|
|
25
|
-
<li>Verifying you entered the correct address</li>
|
|
26
|
-
<li>Clearing the site data</li>
|
|
27
|
-
<li>Contacting <b id="hostname"></b>"s administrator</li>
|
|
28
|
-
<li>Verify the server isn"t censored</li>
|
|
29
|
-
</ul>
|
|
30
|
-
<p>If you"re the administrator of <b id="hostname"></b>, try:</p>
|
|
31
|
-
<ul>
|
|
32
|
-
<li>Restarting your server</li>
|
|
33
|
-
<li>Updating Scramjet</li>
|
|
34
|
-
<li>Troubleshooting the error on the <a href="https://github.com/MercuryWorkshop/scramjet" target="_blank">GitHub repository</a></li>
|
|
35
|
-
</ul>
|
|
36
|
-
<button id="reload">Reload</button>
|
|
37
|
-
<hr />
|
|
38
|
-
<p><i>Scramjet v<span id="version"></span></i></p>
|
|
39
|
-
<script src="${"data:application/javascript,"+encodeURIComponent(r)}"><\/script>
|
|
40
|
-
</body>
|
|
41
|
-
</html>
|
|
42
|
-
`}function J(t,e){let r={"content-type":"text/html"};return crossOriginIsolated&&(r["Cross-Origin-Embedd'er-Policy"]="require-corp"),new Response(V(String(t),e),{status:500,headers:r})}})();
|