@mercuryworkshop/scramjet 1.0.1 → 1.1.0
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 +89 -21
- package/dist/scramjet.all.js +196 -0
- package/dist/scramjet.all.js.map +1 -0
- package/dist/scramjet.bundle.js +196 -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/dist/types/client/client.d.ts +78 -0
- package/dist/types/client/entry.d.ts +8 -0
- package/dist/types/client/events.d.ts +66 -0
- package/dist/types/client/helpers.d.ts +1 -0
- package/dist/types/client/index.d.ts +8 -0
- package/dist/types/client/location.d.ts +2 -0
- package/dist/types/client/shared/eval.d.ts +3 -0
- package/dist/types/client/shared/sourcemaps.d.ts +19 -0
- package/dist/types/client/shared/wrap.d.ts +4 -0
- package/dist/types/client/singletonbox.d.ts +12 -0
- package/dist/types/client/swruntime.d.ts +40 -0
- package/dist/types/controller/controller.d.ts +16 -0
- package/dist/types/controller/frame.d.ts +103 -0
- package/dist/types/controller/index.d.ts +2 -0
- package/dist/types/entry.d.ts +160 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/shared/cookie.d.ts +18 -0
- package/dist/types/shared/headers.d.ts +4 -0
- package/dist/types/shared/htmlRules.d.ts +6 -0
- package/dist/types/shared/index.d.ts +12 -0
- package/dist/types/shared/rewriters/css.d.ts +3 -0
- package/dist/types/shared/rewriters/headers.d.ts +18 -0
- package/dist/types/shared/rewriters/html.d.ts +6 -0
- package/dist/types/shared/rewriters/index.d.ts +7 -0
- package/dist/types/shared/rewriters/js.d.ts +10 -0
- package/dist/types/shared/rewriters/url.d.ts +10 -0
- package/dist/types/shared/rewriters/wasm.d.ts +7 -0
- package/dist/types/shared/rewriters/worker.d.ts +2 -0
- package/dist/types/shared/security/forceReferrer.d.ts +49 -0
- package/dist/types/shared/security/index.d.ts +2 -0
- package/dist/types/shared/security/siteTests.d.ts +33 -0
- package/dist/types/symbols.d.ts +7 -0
- package/dist/types/types.d.ts +135 -0
- package/dist/types/worker/error.d.ts +2 -0
- package/dist/types/worker/fakesw.d.ts +12 -0
- package/dist/types/worker/fetch.d.ts +26 -0
- package/dist/types/worker/index.d.ts +143 -0
- package/lib/index.cjs +7 -0
- package/lib/index.d.ts +8 -3
- package/lib/noop.js +0 -0
- package/package.json +101 -34
- 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
- package/lib/index.js +0 -5
|
@@ -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})}})();
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/rng.js", "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/stringify.js", "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/native.js", "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/v4.js", "../node_modules/.pnpm/@mercuryworkshop+bare-mux@1.1.1/node_modules/@mercuryworkshop/bare-mux/src/BareTypes.ts", "../node_modules/.pnpm/@mercuryworkshop+bare-mux@1.1.1/node_modules/@mercuryworkshop/bare-mux/src/snapshot.ts", "../node_modules/.pnpm/@mercuryworkshop+bare-mux@1.1.1/node_modules/@mercuryworkshop/bare-mux/src/RemoteClient.ts", "../node_modules/.pnpm/@mercuryworkshop+bare-mux@1.1.1/node_modules/@mercuryworkshop/bare-mux/src/Switcher.ts", "../node_modules/.pnpm/@mercuryworkshop+bare-mux@1.1.1/node_modules/@mercuryworkshop/bare-mux/src/webSocket.ts", "../node_modules/.pnpm/@mercuryworkshop+bare-mux@1.1.1/node_modules/@mercuryworkshop/bare-mux/src/BareClient.ts", "../src/worker/index.ts"],
|
|
4
|
-
"sourcesContent": ["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}", "import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;", "const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};", "import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;", "export type BareHeaders = Record<string, string | string[]>;\n\nexport type BareMeta =\n {\n // ???\n };\n\nexport type TransferrableResponse =\n {\n body: ReadableStream | ArrayBuffer | Blob | string,\n headers: BareHeaders,\n status: number,\n statusText: string\n }\n\nexport interface BareTransport {\n init: () => Promise<void>;\n ready: boolean;\n connect: (\n url: URL,\n origin: string,\n protocols: string[],\n requestHeaders: BareHeaders,\n onopen: (protocol: string) => void,\n onmessage: (data: Blob | ArrayBuffer | string) => void,\n onclose: (code: number, reason: string) => void,\n onerror: (error: string) => void,\n ) => (data: Blob | ArrayBuffer | string) => void;\n\n request: (\n remote: URL,\n method: string,\n body: BodyInit | null,\n headers: BareHeaders,\n signal: AbortSignal | undefined\n ) => Promise<TransferrableResponse>;\n\n meta: () => BareMeta\n}\nexport interface BareWebSocketMeta {\n protocol: string;\n setCookies: string[];\n}\n\nexport type BareHTTPProtocol = 'blob:' | 'http:' | 'https:' | string;\nexport type BareWSProtocol = 'ws:' | 'wss:' | string;\n\nexport const maxRedirects = 20;\n\n\n", "// The user likely has overwritten all networking functions after importing bare-client\n// It is our responsibility to make sure components of Bare-Client are using native networking functions\n\nexport const fetch = globalThis.fetch;\nexport const WebSocket = globalThis.WebSocket;\nexport const Request = globalThis.Request;\nexport const Response = globalThis.Response;\nexport const XMLHttpRequest = globalThis.XMLHttpRequest;\n\nexport const WebSocketFields = {\n prototype: {\n send: WebSocket.prototype.send,\n },\n CLOSED: WebSocket.CLOSED,\n CLOSING: WebSocket.CLOSING,\n CONNECTING: WebSocket.CONNECTING,\n OPEN: WebSocket.OPEN,\n};\n", "/// <reference lib=\"WebWorker\" />\nimport { v4 as uuid } from 'uuid';\nimport { BareHeaders, BareTransport, TransferrableResponse } from './BareTypes';\nimport { findSwitcher } from './Switcher';\n\nexport function registerRemoteListener(channel: ServiceWorker) {\n (navigator as any).serviceWorker.addEventListener(\"message\", async ({ data }) => {\n if (data.type === \"request\") {\n const { remote, method, body, headers } = data;\n\n let response: any = await findSwitcher().active?.request(new URL(remote), method, body, headers, undefined)!.catch((err) => {\n let error = { id: data.id, type: \"error\", error: err}\n console.error(err)\n channel.postMessage(error);\n });\n if (response) {\n let transferred: any = [];\n if (response.body instanceof ArrayBuffer || response.body instanceof Blob || response.body instanceof ReadableStream) {\n transferred.push(response.body);\n }\n response.id = data.id;\n response.type = \"response\";\n channel.postMessage(response, transferred);\n }\n }\n });\n}\n\ndeclare var self: ServiceWorkerGlobalScope;\nlet remote: RemoteTransport;\nif (\"ServiceWorkerGlobalScope\" in self) {\n addEventListener(\"message\", async ({ data }) => {\n if (data.type === \"response\") {\n let promise = remote.promises.get(data.id) as any;\n if (promise!.resolve) {\n promise!.resolve(data);\n remote.promises.delete(data.id);\n }\n } else if (data.type === \"error\") {\n let promise = remote.promises.get(data.id) as any;\n if (promise!.reject) {\n promise!.reject(data.error);\n remote.promises.delete(data.id);\n }\n }\n });\n}\n\nexport default class RemoteTransport implements BareTransport {\n canstart = true;\n ready = false;\n promises = new Map<string, (data: any) => void>();\n constructor() {\n if (!(\"ServiceWorkerGlobalScope\" in self)) {\n throw new TypeError(\"Attempt to construct RemoteClient from outside a service worker\")\n }\n }\n\n async init() {\n remote = this;\n this.ready = true;\n }\n\n async meta() { }\n async request(\n remote: URL,\n method: string,\n body: BodyInit | null,\n headers: BareHeaders,\n signal: AbortSignal | undefined\n ): Promise<TransferrableResponse> {\n let id = uuid();\n const clients = await self.clients.matchAll();\n if (clients.length < 1)\n throw new Error(\"no available clients\");\n\n for (const client of clients) {\n client.postMessage({\n type: \"request\",\n id,\n remote: remote.toString(),\n method,\n body,\n headers\n });\n }\n\n\n return await new Promise((resolve, reject) => {\n this.promises.set(id, { resolve, reject } as any);\n });\n }\n\n connect(\n url: URL,\n origin: string,\n protocols: string[],\n requestHeaders: BareHeaders,\n onopen: (protocol: string) => void,\n onmessage: (data: Blob | ArrayBuffer | string) => void,\n onclose: (code: number, reason: string) => void,\n onerror: (error: string) => void\n ): (data: Blob | ArrayBuffer | string) => void {\n throw \"why are you calling connect from remoteclient\"\n }\n}", "import { BareTransport } from \"./BareTypes\";\nimport RemoteTransport from \"./RemoteClient\";\n\n//@ts-expect-error not installing node types for this one thing\nself.BCC_VERSION = process.env.BARE_MUX_VERSION;\nconsole.debug(\"BARE_MUX_VERSION: \" + self.BCC_VERSION);\n\ndeclare global {\n interface ServiceWorkerGlobalScope {\n gSwitcher: Switcher;\n BCC_VERSION: string;\n BCC_DEBUG: boolean;\n }\n interface WorkerGlobalScope {\n gSwitcher: Switcher;\n BCC_VERSION: string;\n BCC_DEBUG: boolean;\n }\n interface Window {\n gSwitcher: Switcher;\n BCC_VERSION: string;\n BCC_DEBUG: boolean;\n }\n}\n\nfunction initTransport(name: string, config: any) {\n let cl = new ((0, eval)(name))(...config);\n cl.initpromise = cl.init();\n return cl;\n}\nclass Switcher {\n active: BareTransport | null = null\n\n channel = new BroadcastChannel(\"bare-mux\");\n\n data: Object | null = null\n\n constructor() {\n this.channel.addEventListener(\"message\", ({ data: { type, data } }) => {\n console.log(`bare-mux: ${type}`, data, `${\"ServiceWorker\" in globalThis}`);\n switch (type) {\n case \"setremote\":\n this.active = new RemoteTransport\n break;\n case \"set\":\n const { name, config } = data;\n this.active = initTransport(name, config);\n break;\n case \"find\":\n if (this.data) { \n this.channel.postMessage(this.data)\n }\n break;\n }\n });\n }\n}\n\nexport function findSwitcher(): Switcher {\n if (\"ServiceWorkerGlobalScope\" in globalThis && globalThis.gSwitcher && !globalThis.gSwitcher.active) {\n globalThis.gSwitcher.channel.postMessage({ type: \"find\" })\n }\n if (globalThis.gSwitcher) return globalThis.gSwitcher;\n if (\"ServiceWorkerGlobalScope\" in globalThis) {\n globalThis.gSwitcher = new Switcher;\n globalThis.gSwitcher.channel.postMessage({ type: \"find\" })\n return globalThis.gSwitcher;\n }\n\n let _parent: any = window;\n for (let i = 0; i < 20; i++) {\n try {\n if (_parent == _parent.parent) {\n globalThis.gSwitcher = new Switcher;\n return globalThis.gSwitcher;\n }\n _parent = _parent.parent;\n\n if (_parent && _parent[\"gSwitcher\"]) {\n console.debug(\"Found implementation on parent\");\n globalThis.gSwitcher = _parent[\"gSwitcher\"];\n return _parent[\"gSwitcher\"];\n }\n } catch (e) {\n globalThis.gSwitcher = new Switcher;\n globalThis.gSwitcher.channel.postMessage({ type: \"find\" })\n return globalThis.gSwitcher;\n }\n }\n\n throw \"unreachable\";\n}\nfindSwitcher();\n\nexport function SetTransport(name: string, ...config: any[]) {\n let switcher = findSwitcher();\n switcher.active = initTransport(name, config);\n switcher.data = { type: \"set\", data: { name, config } }\n switcher.channel.postMessage(switcher.data);\n}\n\nexport async function SetSingletonTransport(client: BareTransport) {\n let switcher = findSwitcher();\n await client.init();\n switcher.active = client;\n switcher.data = { type: \"setremote\", data: { name: client.constructor.name }}\n switcher.channel.postMessage(switcher.data);\n}\n", "/*\n * WebSocket helpers\n */\n\nconst validChars =\n \"!#$%&'*+-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz|~\";\n\nexport function validProtocol(protocol: string): boolean {\n for (let i = 0; i < protocol.length; i++) {\n const char = protocol[i];\n\n if (!validChars.includes(char)) {\n return false;\n }\n }\n\n return true;\n}\n", "import { BareHeaders, maxRedirects } from './BareTypes';\nimport { findSwitcher } from './Switcher';\nimport { WebSocketFields } from './snapshot.js';\nimport { validProtocol } from './webSocket';\n\n\n// get the unhooked value\nconst getRealReadyState = Object.getOwnPropertyDescriptor(\n WebSocket.prototype,\n 'readyState'\n)!.get!;\n\nconst wsProtocols = ['ws:', 'wss:'];\nconst statusEmpty = [101, 204, 205, 304];\n\nconst statusRedirect = [301, 302, 303, 307, 308];\n\nexport type WebSocketImpl = {\n new(...args: ConstructorParameters<typeof WebSocket>): WebSocket;\n};\n\nexport namespace BareWebSocket {\n export type GetReadyStateCallback = () => number;\n export type GetSendErrorCallback = () => Error | undefined;\n export type GetProtocolCallback = () => string;\n export type HeadersType = BareHeaders | Headers | undefined;\n export type HeadersProvider =\n | BareHeaders\n | (() => BareHeaders | Promise<BareHeaders>);\n\n export interface Options {\n /**\n * A provider of request headers to pass to the remote.\n * Usually one of `User-Agent`, `Origin`, and `Cookie`\n * Can be just the headers object or an synchronous/asynchronous function that returns the headers object\n */\n headers?: BareWebSocket.HeadersProvider;\n /**\n * A hook executed by this function with helper arguments for hooking the readyState property. If a hook isn't provided, bare-client will hook the property on the instance. Hooking it on an instance basis is good for small projects, but ideally the class should be hooked by the user of bare-client.\n */\n readyStateHook?:\n | ((\n socket: WebSocket,\n getReadyState: BareWebSocket.GetReadyStateCallback\n ) => void)\n | undefined;\n /**\n * A hook executed by this function with helper arguments for determining if the send function should throw an error. If a hook isn't provided, bare-client will hook the function on the instance.\n */\n sendErrorHook?:\n | ((\n socket: WebSocket,\n getSendError: BareWebSocket.GetSendErrorCallback\n ) => void)\n | undefined;\n /**\n * A hook executed by this function with the URL. If a hook isn't provided, bare-client will hook the URL.\n */\n urlHook?: ((socket: WebSocket, url: URL) => void) | undefined;\n /**\n * A hook executed by this function with a helper for getting the current fake protocol. If a hook isn't provided, bare-client will hook the protocol.\n */\n protocolHook?:\n | ((\n socket: WebSocket,\n getProtocol: BareWebSocket.GetProtocolCallback\n ) => void)\n | undefined;\n /**\n * A callback executed by this function with an array of cookies. This is called once the metadata from the server is received.\n */\n setCookiesCallback?: ((setCookies: string[]) => void) | undefined;\n webSocketImpl?: WebSocket;\n }\n}\n\n/**\n * A Response with additional properties.\n */\nexport interface BareResponse extends Response {\n rawResponse: Response;\n rawHeaders: BareHeaders;\n}\n/**\n * A BareResponse with additional properties.\n */\nexport interface BareResponseFetch extends BareResponse {\n finalURL: string;\n}\nexport class BareClient {\n\n /**\n * Create a BareClient. Calls to fetch and connect will wait for an implementation to be ready.\n */\n constructor() { }\n\n createWebSocket(\n remote: string | URL,\n protocols: string | string[] | undefined = [],\n webSocketImpl: WebSocketImpl,\n requestHeaders: BareHeaders,\n arrayBufferImpl: typeof ArrayBuffer,\n ): WebSocket {\n let switcher = findSwitcher();\n let client = switcher.active;\n if (!client) throw \"invalid switcher\";\n\n if (!client.ready)\n throw new TypeError(\n '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.'\n );\n\n try {\n remote = new URL(remote);\n } catch (err) {\n throw new DOMException(\n `Faiiled to construct 'WebSocket': The URL '${remote}' is invalid.`\n );\n }\n\n if (!wsProtocols.includes(remote.protocol))\n throw new DOMException(\n `Failed to construct 'WebSocket': The URL's scheme must be either 'ws' or 'wss'. '${remote.protocol}' is not allowed.`\n );\n\n if (!Array.isArray(protocols)) protocols = [protocols];\n\n protocols = protocols.map(String);\n\n for (const proto of protocols)\n if (!validProtocol(proto))\n throw new DOMException(\n `Failed to construct 'WebSocket': The subprotocol '${proto}' is invalid.`\n );\n\n\n let wsImpl = (webSocketImpl || WebSocket) as WebSocketImpl;\n const socket = new wsImpl(\"ws://127.0.0.1:1\", protocols);\n\n let fakeProtocol = '';\n\n let fakeReadyState: number = WebSocketFields.CONNECTING;\n\n let initialErrorHappened = false;\n socket.addEventListener(\"error\", (e) => {\n if (!initialErrorHappened) {\n fakeReadyState = WebSocket.CONNECTING;\n e.stopImmediatePropagation();\n initialErrorHappened = true;\n }\n });\n let initialCloseHappened = false;\n socket.addEventListener(\"close\", (e) => {\n if (!initialCloseHappened) {\n e.stopImmediatePropagation();\n initialCloseHappened = true;\n }\n });\n // TODO socket onerror will be broken\n\n arrayBufferImpl = arrayBufferImpl || webSocketImpl.constructor.constructor(\"return ArrayBuffer\")().prototype;\n requestHeaders['Host'] = (new URL(remote)).host;\n // requestHeaders['Origin'] = origin;\n requestHeaders['Pragma'] = 'no-cache';\n requestHeaders['Cache-Control'] = 'no-cache';\n requestHeaders['Upgrade'] = 'websocket';\n // requestHeaders['User-Agent'] = navigator.userAgent;\n requestHeaders['Connection'] = 'Upgrade';\n const sendData = client.connect(\n remote,\n origin,\n protocols,\n requestHeaders,\n (protocol: string) => {\n fakeReadyState = WebSocketFields.OPEN;\n fakeProtocol = protocol;\n\n (socket as any).meta = {\n headers: {\n \"sec-websocket-protocol\": protocol,\n }\n }; // what the fuck is a meta\n socket.dispatchEvent(new Event(\"open\"));\n },\n async (payload) => {\n if (typeof payload === \"string\") {\n socket.dispatchEvent(new MessageEvent(\"message\", { data: payload }));\n } else if (\"byteLength\" in payload) {\n if (socket.binaryType === \"blob\") {\n payload = new Blob([payload]);\n } else {\n Object.setPrototypeOf(payload, arrayBufferImpl);\n }\n\n socket.dispatchEvent(new MessageEvent(\"message\", { data: payload }));\n } else if (\"arrayBuffer\" in payload) {\n if (socket.binaryType === \"arraybuffer\") {\n payload = await payload.arrayBuffer()\n Object.setPrototypeOf(payload, arrayBufferImpl);\n }\n\n socket.dispatchEvent(new MessageEvent(\"message\", { data: payload }));\n }\n },\n (code, reason) => {\n fakeReadyState = WebSocketFields.CLOSED;\n socket.dispatchEvent(new CloseEvent(\"close\", { code, reason }));\n },\n () => {\n fakeReadyState = WebSocketFields.CLOSED;\n },\n )\n\n // protocol is always an empty before connecting\n // updated when we receive the metadata\n // this value doesn't change when it's CLOSING or CLOSED etc\n const getReadyState = () => fakeReadyState;\n\n // we have to hook .readyState ourselves\n\n Object.defineProperty(socket, 'readyState', {\n get: getReadyState,\n configurable: true,\n enumerable: true,\n });\n\n /**\n * @returns The error that should be thrown if send() were to be called on this socket according to the fake readyState value\n */\n const getSendError = () => {\n const readyState = getReadyState();\n\n if (readyState === WebSocketFields.CONNECTING)\n return new DOMException(\n \"Failed to execute 'send' on 'WebSocket': Still in CONNECTING state.\"\n );\n };\n\n // we have to hook .send ourselves\n // use ...args to avoid giving the number of args a quantity\n // no arguments will trip the following error: TypeError: Failed to execute 'send' on 'WebSocket': 1 argument required, but only 0 present.\n socket.send = function(...args) {\n const error = getSendError();\n\n if (error) throw error;\n sendData(args[0] as any);\n };\n\n Object.defineProperty(socket, 'url', {\n get: () => remote.toString(),\n configurable: true,\n enumerable: true,\n });\n\n const getProtocol = () => fakeProtocol;\n\n Object.defineProperty(socket, 'protocol', {\n get: getProtocol,\n configurable: true,\n enumerable: true,\n });\n\n return socket;\n }\n\n async fetch(\n url: string | URL,\n init?: RequestInit\n ): Promise<BareResponseFetch> {\n // Only create an instance of Request to parse certain parameters of init such as method, headers, redirect\n // But use init values whenever possible\n const req = new Request(url, init);\n\n\n // try to use init.headers because it may contain capitalized headers\n // furthermore, important headers on the Request class are blocked...\n // we should try to preserve the capitalization due to quirks with earlier servers\n const inputHeaders = init?.headers || req.headers;\n\n const headers: BareHeaders =\n inputHeaders instanceof Headers\n ? Object.fromEntries(inputHeaders)\n : (inputHeaders as BareHeaders);\n\n\n const body = init?.body || req.body;\n\n let urlO = new URL(req.url);\n\n if (urlO.protocol.startsWith('blob:')) {\n const response = await fetch(urlO);\n const result: Response & Partial<BareResponse> = new Response(\n response.body,\n response\n );\n\n result.rawHeaders = Object.fromEntries(response.headers);\n result.rawResponse = response;\n\n return result as BareResponseFetch;\n }\n\n let switcher = findSwitcher();\n if (!switcher.active) {\n // in race conditions we trust\n await new Promise(r => setTimeout(r, 1000));\n switcher = findSwitcher();\n };\n if (!switcher.active) throw \"there are no bare clients\";\n const client = switcher.active;\n if (!client.ready) await client.init();\n\n for (let i = 0; ; i++) {\n if ('host' in headers) headers.host = urlO.host;\n else headers.Host = urlO.host;\n\n\n let resp = await client.request(\n urlO,\n req.method,\n body,\n headers,\n req.signal\n );\n\n let responseobj: BareResponse & Partial<BareResponseFetch> = new Response(\n statusEmpty.includes(resp.status) ? undefined : resp.body, {\n headers: new Headers(resp.headers as HeadersInit),\n status: resp.status,\n statusText: resp.statusText,\n }) as BareResponse;\n responseobj.rawHeaders = resp.headers;\n responseobj.rawResponse = new Response(resp.body);\n\n\n responseobj.finalURL = urlO.toString();\n\n const redirect = init?.redirect || req.redirect;\n\n if (statusRedirect.includes(responseobj.status)) {\n switch (redirect) {\n case 'follow': {\n const location = responseobj.headers.get('location');\n if (maxRedirects > i && location !== null) {\n urlO = new URL(location, urlO);\n continue;\n } else throw new TypeError('Failed to fetch');\n }\n case 'error':\n throw new TypeError('Failed to fetch');\n case 'manual':\n return responseobj as BareResponseFetch;\n }\n } else {\n return responseobj as BareResponseFetch;\n }\n }\n }\n}\n", "import { BareClient } from \"@mercuryworkshop/bare-mux\";\r\nimport { BareResponseFetch } from \"@mercuryworkshop/bare-mux\"\r\n\r\ndeclare global {\r\n interface Window {\r\n ScramjetServiceWorker;\r\n }\r\n}\r\n\r\nself.ScramjetServiceWorker = class ScramjetServiceWorker {\r\n client: typeof BareClient.prototype;\r\n config: typeof self.__scramjet$config;\r\n constructor(config = self.__scramjet$config) {\r\n this.client = new BareClient();\r\n if (!config.prefix) config.prefix = \"/scramjet/\";\r\n this.config = config;\r\n }\r\n\r\n route({ request }: FetchEvent) {\r\n if (request.url.startsWith(location.origin + this.config.prefix)) return true;\r\n else return false;\r\n }\r\n\r\n async fetch({ request }: FetchEvent) {\r\n const urlParam = new URLSearchParams(new URL(request.url).search);\r\n\r\n if (urlParam.has(\"url\")) {\r\n return Response.redirect(self.__scramjet$bundle.rewriters.url.encodeUrl(urlParam.get(\"url\"), new URL(urlParam.get(\"url\"))))\r\n }\r\n\r\n try {\r\n const url = new URL(self.__scramjet$bundle.rewriters.url.decodeUrl(request.url));\r\n\r\n const response: BareResponseFetch = await this.client.fetch(url, {\r\n method: request.method,\r\n body: request.body,\r\n headers: request.headers,\r\n credentials: \"omit\",\r\n mode: request.mode === \"cors\" ? request.mode : \"same-origin\",\r\n cache: request.cache,\r\n redirect: request.redirect,\r\n });\r\n\r\n let responseBody;\r\n const responseHeaders = self.__scramjet$bundle.rewriters.rewriteHeaders(response.rawHeaders, url);\r\n if (response.body) {\r\n switch (request.destination) {\r\n case \"iframe\":\r\n case \"document\":\r\n responseBody = self.__scramjet$bundle.rewriters.rewriteHtml(await response.text(), url);\r\n break;\r\n case \"script\":\r\n responseBody = self.__scramjet$bundle.rewriters.rewriteJs(await response.text(), url);\r\n break;\r\n case \"style\":\r\n responseBody = self.__scramjet$bundle.rewriters.rewriteCss(await response.text(), url);\r\n break;\r\n case \"sharedworker\":\r\n break;\r\n case \"worker\":\r\n break;\r\n default:\r\n responseBody = response.body;\r\n break;\r\n }\r\n }\r\n // downloads\r\n if (request.destination === \"document\") {\r\n const header = responseHeaders[\"content-disposition\"];\r\n\r\n // validate header and test for filename\r\n if (!/\\s*?((inline|attachment);\\s*?)filename=/i.test(header)) {\r\n // if filename= wasn\"t specified then maybe the remote specified to download this as an attachment?\r\n // if it\"s invalid then we can still possibly test for the attachment/inline type\r\n const type = /^\\s*?attachment/i.test(header)\r\n ? \"attachment\"\r\n : \"inline\";\r\n\r\n // set the filename\r\n const [filename] = new URL(response.finalURL).pathname\r\n .split(\"/\")\r\n .slice(-1);\r\n\r\n responseHeaders[\r\n \"content-disposition\"\r\n ] = `${type}; filename=${JSON.stringify(filename)}`;\r\n }\r\n }\r\n if (responseHeaders[\"accept\"] === \"text/event-stream\") {\r\n responseHeaders[\"content-type\"] = \"text/event-stream\";\r\n }\r\n if (crossOriginIsolated) {\r\n responseHeaders[\"Cross-Origin-Embedder-Policy\"] = \"require-corp\";\r\n }\r\n\r\n return new Response(responseBody, {\r\n headers: responseHeaders as HeadersInit,\r\n status: response.status,\r\n statusText: response.statusText\r\n })\r\n } catch (err) {\r\n if (![\"document\", \"iframe\"].includes(request.destination))\r\n return new Response(undefined, { status: 500 });\r\n \r\n console.error(err);\r\n\r\n return renderError(err, self.__scramjet$bundle.rewriters.url.decodeUrl(request.url));\r\n }\r\n }\r\n}\r\n\r\n\r\nfunction errorTemplate(\r\n trace: string,\r\n fetchedURL: string,\r\n) {\r\n // turn script into a data URI so we don\"t have to escape any HTML values\r\n const script = `\r\n errorTrace.value = ${JSON.stringify(trace)};\r\n fetchedURL.textContent = ${JSON.stringify(fetchedURL)};\r\n for (const node of document.querySelectorAll(\"#hostname\")) node.textContent = ${JSON.stringify(\r\n location.hostname\r\n )};\r\n reload.addEventListener(\"click\", () => location.reload());\r\n version.textContent = \"0.0.1\";\r\n `\r\n\r\n return (\r\n `<!DOCTYPE html>\r\n <html>\r\n <head>\r\n <meta charset=\"utf-8\" />\r\n <title>Error</title>\r\n <style>\r\n * { background-color: white }\r\n </style>\r\n </head>\r\n <body>\r\n <h1 id=\"errorTitle\">Error processing your request</h1>\r\n <hr />\r\n <p>Failed to load <b id=\"fetchedURL\"></b></p>\r\n <p id=\"errorMessage\">Internal Server Error</p>\r\n <textarea id=\"errorTrace\" cols=\"40\" rows=\"10\" readonly></textarea>\r\n <p>Try:</p>\r\n <ul>\r\n <li>Checking your internet connection</li>\r\n <li>Verifying you entered the correct address</li>\r\n <li>Clearing the site data</li>\r\n <li>Contacting <b id=\"hostname\"></b>\"s administrator</li>\r\n <li>Verify the server isn\"t censored</li>\r\n </ul>\r\n <p>If you\"re the administrator of <b id=\"hostname\"></b>, try:</p>\r\n <ul>\r\n <li>Restarting your server</li>\r\n <li>Updating Scramjet</li>\r\n <li>Troubleshooting the error on the <a href=\"https://github.com/MercuryWorkshop/scramjet\" target=\"_blank\">GitHub repository</a></li>\r\n </ul>\r\n <button id=\"reload\">Reload</button>\r\n <hr />\r\n <p><i>Scramjet v<span id=\"version\"></span></i></p>\r\n <script src=\"${\r\n \"data:application/javascript,\" + encodeURIComponent(script)\r\n }\"></script>\r\n </body>\r\n </html>\r\n `\r\n );\r\n}\r\n\r\n/**\r\n *\r\n * @param {unknown} err\r\n * @param {string} fetchedURL\r\n */\r\nfunction renderError(err, fetchedURL) {\r\n const headers = {\r\n \"content-type\": \"text/html\",\r\n };\r\n if (crossOriginIsolated) {\r\n headers[\"Cross-Origin-Embedd'er-Policy\"] = \"require-corp\";\r\n }\r\n\r\n return new Response(\r\n errorTemplate(\r\n String(err),\r\n fetchedURL\r\n ),\r\n {\r\n status: 500,\r\n headers: headers\r\n }\r\n );\r\n}\r\n\r\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Response", "remote", "uuid", "origin", "remote", "Response", "location"]
|
|
7
|
-
}
|