@vyla-entertainment/sdk 1.8.0 → 1.9.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/README.md +12 -8
- package/package.json +1 -1
- package/src/config.js +91 -2
- package/src/sources/anikoto.js +198 -0
- package/src/sources/anizone.js +109 -0
- package/src/sources/cinesu.js +94 -0
- package/src/sources/kickassanime.js +107 -0
- package/src/sources/meowtv.js +1 -8
- package/src/sources/reanime.js +324 -0
- package/src/sources/vidzee.js +212 -89
- package/src/subtitles.js +0 -18
package/src/sources/vidzee.js
CHANGED
|
@@ -1,105 +1,228 @@
|
|
|
1
|
-
|
|
1
|
+
import { USER_AGENT } from "../utils/helpers.js";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
const PLAYER_ORIGIN = "https://player.vidzee.wtf";
|
|
4
|
+
const CORE_ORIGIN = "https://core.vidzee.wtf";
|
|
5
5
|
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const SERVERS = [
|
|
7
|
+
{ id: "tik", name: "TCloud" },
|
|
8
|
+
{ id: "ipcloud", name: "IPcloud" },
|
|
9
|
+
{ id: "v6:Hindi", name: "Hindi v3" },
|
|
10
|
+
];
|
|
9
11
|
|
|
10
|
-
function decryptAes(encryptedBase64) {
|
|
11
|
-
const keyBuf = Buffer.from(KEY, 'utf8');
|
|
12
|
-
const ciphertext = Buffer.from(encryptedBase64, 'base64');
|
|
12
|
+
const WASM_B64 = "AGFzbQEAAAABPgtgAX8Bf2ACf38Bf2ABfwBgAn9/AGADf39/AGAAAGAEf39/fwBgBH9/f38Bf2ADf39/AX9gA39/fgBgAAF/Ag0BA2VudgVhYm9ydAAGAygnAgEAAAQBAAEDBAADBQAAAgMHAAEAAAQIAwEJAgIBBQAAAgEABQoBBQMBAAEGJgd/AUEAC38BQQALfwFBAAt/AUEAC38BQQALfwFBAAt/AEGA2wALB0gHB2RlY3J5cHQAJwVfX25ldwAGBV9fcGluACQHX191bnBpbgAiCV9fY29sbGVjdAAlC19fcnR0aV9iYXNlAwYGbWVtb3J5AgAIAR8MAqkBCogkJyUAIABFBEAPCyAAQRRrIgAQByMCRgRAIAAQECAAIwUjAkUQCgsLCgAgACABai0AAAsKACAAKAIEQXxxCw0AIABBFGsoAhBBAXYLDAAgACABaiACOgAAC1MBAX8gAEHs////A0sEQEHwDEGwDUH9AEEeEAAACyMARQRAEA0LIwAgAEEQahAaIgIgATYCDCACIAA2AhAgAiMBIwIQCiACEAsjA2okAyACQRRqCwoAIAAoAgRBA3ELKQAgACAAIAFBCHZqLQAAQQV0aiABQf8BcUEDdmotAAAgAUEHcXZBAXELwwEBBH8gASgCAEF8cSIDQYACSQR/IANBBHYFQR9B/P///wMgAyADQfz///8DTxsiA2drIgRBB2shAiADIARBBGt2QRBzCyEEIAEoAgghBSABKAIEIgMEQCADIAU2AggLIAUEQCAFIAM2AgQLIAEgACACQQR0IARqQQJ0aiIBKAJgRgRAIAEgBTYCYCAFRQRAIAAgAkECdGoiASgCBEF+IAR3cSEDIAEgAzYCBCADRQRAIAAgACgCAEF+IAJ3cTYCAAsLCwspAQF/IAEoAgghAyAAIAEgAnI2AgQgACADNgIIIAMgABARIAEgADYCCAsNACAAKAIAQXxxQQRqC7wCAQV/IAEoAgAhAyABQQRqIAEoAgBBfHFqIgQoAgAiAkEBcQRAIAAgBBAJIAEgA0EEaiACQXxxaiIDNgIAIAFBBGogASgCAEF8cWoiBCgCACECCyADQQJxBEAgAUEEaygCACIBKAIAIQYgACABEAkgASAGQQRqIANBfHFqIgM2AgALIAQgAkECcjYCACAEQQRrIAE2AgAgACADQXxxIgJBgAJJBH8gAkEEdgVBH0H8////AyACIAJB/P///wNPGyICZ2siA0EHayEFIAIgA0EEa3ZBEHMLIgIgBUEEdGpBAnRqKAJgIQMgAUEANgIEIAEgAzYCCCADBEAgAyABNgIECyAAIAVBBHQgAmpBAnRqIAE2AmAgACAAKAIAQQEgBXRyNgIAIAAgBUECdGoiACAAKAIEQQEgAnRyNgIEC5cBAQJ/PwAiAEEATAR/QQEgAGtAAEEASAVBAAsEQAALQbDbAEEANgIAQdDnAEEANgIAA0AgAUEXSQRAIAFBAnRBsNsAakEANgIEQQAhAANAIABBEEkEQCABQQR0IABqQQJ0QbDbAGpBADYCYCAAQQFqIQAMAQsLIAFBAWohAQwBCwtBsNsAQdTnAD8ArEIQhhAbQbDbACQACyYBAX8gAEEEayEBIABBD3FBASAAGwR/QQEFIAEoAgBBAXELGiABCxIAIAAgADYCBCAAIAA2AgggAAsnAQF/IAAQAyIBRQRAIAAoAggaDwsgASAAKAIIIgA2AgggACABEBELEgAgACABIAAoAgRBA3FyNgIEC0kBAX8gACABQQF0aiEBA0AgAyIAQQFrIQMgAARAIAEvAQAiACACLwEAIgRHBEAgACAEaw8LIAFBAmohASACQQJqIQIMAQsLQQALbgECf0EMQQYQBiIBRQRAQQxBAxAGIQELIAFBADYCACABQQA2AgQgAUEANgIIIABB/P///wNLBEBB4NcAQZDYAEETQTkQAAALIABBARAGIgJBACAA/AsAIAEgAjYCACABIAI2AgQgASAANgIIIAELjgEBAn8gAUGAAkkEfyABQQR2BUEfIAEQFSIBZ2siA0EHayECIAEgA0EEa3ZBEHMLIQEgACACQQJ0aigCBEF/IAF0cSIBBH8gACABaCACQQR0akECdGooAmAFIAAoAgBBfyACQQFqdHEiAQR/IAAgACABaCIAQQJ0aigCBGggAEEEdGpBAnRqKAJgBUEACwsLHQAgAEEBQRsgAGdrdGpBAWsgACAAQf7///8BSRsLLwAgAEH8////A0sEQEHwDEHwDUHNA0EdEAAAC0EMIABBE2pBcHFBBGsgAEEMTRsLZwECfyABKAIAIgNBfHEgAmsiBEEQTwRAIAEgAiADQQJxcjYCACABQQRqIAJqIgEgBEEEa0EBcjYCACAAIAEQDAUgASADQX5xNgIAIAFBBGogASgCAEF8cWoiACAAKAIAQX1xNgIACwswACAAIAIQGiICQQRqIAFBBGogASgCAEF8cfwKAAAgAUGk2wBPBEAgACABEBkLIAILFQAgASABKAIAQQFyNgIAIAAgARAMC48BAQJ/IAAgARAWIgIQFCIBRQRAQQQgACgCoAw/ACIBQRB0QQRrR3QgAhAVIAIgAkGAAk8bakH//wNqQYCAfHFBEHYhAyABIAMgASADShtAAEEASARAIANAAEEASARAAAsLIAAgAUEQdD8ArEIQhhAbIAAgAhAUIQELIAEoAgAaIAAgARAJIAAgASACEBcgAQuGAQEDfyABQRNqQXBxQQRrIQEgACgCoAwiAwRAIAFBEGsiBSADRgRAIAMoAgAhBCAFIQELCyACp0FwcSABayIDQRRJBEAPCyABIARBAnEgA0EIayIDQQFycjYCACABQQA2AgQgAUEANgIIIAFBBGogA2oiA0ECNgIAIAAgAzYCoAwgACABEAwLhQEBA38CQAJAAkACQAJAAkACQAJAAkAgAEEIaygCAA4IAAECAwQFBgcICw8LDwsPCyAAEB0PCyAAKAIAEAEPCyAAKAIEIgEgACgCDEECdGohAgNAIAEgAkkEQCABKAIAIgMEQCADEAELIAFBBGohAQwBCwsgACgCABABDwsgABAdDwsPCwALCQAgACgCABABC0MAIAEgACgCDE8EQEHw1QBBsNYAQfIAQSoQAAALIAAoAgQgAUECdGooAgAiAEUEQEHg1gBBsNYAQfYAQSgQAAALIAALGQBBoA4QDyQBQYDaABAPJARB4NoAEA8kBQv9AQEGfyAAIgFBCHYiAkHMzgBqLQAAIAJBlDJqLQAAQdYAbEGUMmogAEH/AXEiA0EDbmotAAAgA0EDcEECdEGAxwBqKAIAbEELdkEGcGpBAnRBjMcAaigCACICQf8BcSEAIAJBCHUhAgJAIABBAkkNACACQf8BcSEAIAJBCHYhAgNAIAAEQCAAQQF2IgYgAmpBAXRBzNIAaiIELQAAIgUgA0YEfyAELQABQQJ0QYzHAGooAgAiAkH/AXEhACACQQh1IQIgAEECSQ0DIAFBAWoPBSADIAVJBH8gBgUgAiAGaiECIAAgBmsLCyEADAELCyABDwsgASACQQAgAGtxagvABgEKfyAAEAQiCEUEQCAADwsgCEECdEECEAYhBwNAIAMgCEkEQCAAIANBAXRqIgEvAQAiAkEHdgRAAkAgAkH/rwNrQYEISSADIAhBAWtJcQRAIAEvAQIiBEH/twNrQYEISQRAIANBAWohAyAEQf8HcSACIgFB/wdxQQp0ckGAgARqIgJBgIAITwRAIAcgBUEBdGogASAEQRB0cjYCACAFQQFqIQUMAwsLCyACQbACRgRAIAcgBUEBdGpB6YCcGDYCACAFQQFqIQUFIAJBowdGBEAgCEEBSwRAQQAhASADIgJBHmsiBEEAIARBAE4bIQkCQANAIAIgCUoEQEF/IQYCQCACQQBMDQAgACACQQFrQQF0ai8BACIEQYD4A3FBgLgDRiACQQJrIgZBAE5xBEAgBEH/B3EgACAGQQF0ai8BACIKQf8HcUEKdGpBgIAEaiEGIApBgPgDcUGAsANGDQELQf3/AyAEIARBgPADcUGAsANGGyEGCyAGQfCDOEkEf0G0DiAGEAgFQQALRQRAQQAhBCAGQYrjB0kEf0H0JSAGEAgFQQALRQ0DQQEhAQsgAiAGQYCABE5BAWprIQIMAQsLQQAhBCABRQ0AIANBAWoiAkEeaiIBIAggASAISBshBANAIAIgBEgEQCAAIAJBAXRqIgYvAQAiAUGA+ANxQYCwA0YgAkEBaiAIR3EEQCAGLwECIgZBgPgDcUGAuANGBEAgAUEKdCAGakGAuP8aayEBCwsgAUHwgzhJBH9BtA4gARAIBUEAC0UEQCABQYrjB0kEf0H0JSABEAgFQQALRSEEDAMLIAIgAUGAgARPQQFqaiECDAELC0EBIQQLBUEAIQQLIAcgBUEBdGpBwgdBwwcgBBs7AQAFIAJBtskAa0EZTQRAIAcgBUEBdGogAkEaajsBAAUgAhAgQf///wBxIgFBgIAESQRAIAcgBUEBdGogATsBAAUgByAFQQF0aiABQYCABGsiAUEKdkGAsANyIAFB/wdxQYC4A3JBEHRyNgIAIAVBAWohBQsLCwsLBSAHIAVBAXRqIAIgAkHBAGtBGklBBXRyOwEACyADQQFqIQMgBUEBaiEFDAELCyAHIAVBAXQQIwszACAARQRADwsgAEEUayIAEAdBA0cEQEGw2gBBsA1BwwFBBRAAAAsgABAQIAAjASMCEAoLsAIBB38gAEEUayECIABBpNsASQRAIAEgAigCDBAGIgMgACABIAIoAhAiACAAIAFLG/wKAAAgAw8LIAFB7P///wNLBEBB8AxBsA1BjwFBHhAAAAsjAyACEAtrJAMjAEUEQBANCyABQRBqIQMgAEEQayIAQaTbAEkEQCMAIAAQDiADEBghAAUjACEEIAAQDiEAAkACQCADEBYiBiAAKAIAIgdBfHEiBU0NACAAQQRqIAAoAgBBfHFqIgIoAgAiCEEBcQRAIAVBBGogCEF8cWoiBSAGTwRAIAQgAhAJIAAgB0EDcSAFcjYCAAwCCwsgBCAAIAMQGCEADAELIAQgACAGEBcLCyAAQRRqIgBBFGsiAiABNgIQIAIQAyACNgIIIAIoAgggAhARIAIQCyMDaiQDIAALNQEBfyAABEAgAEEUayIBEAdBA0YEQEHQ2QBBsA1BtQFBBxAAAAsgARAQIAEjBEEDEAoLIAALgAIBBX9B4AgQAUHQChABQcAMEAFB8NUAEAFB4NcAEAFB4NYAEAFB8AwQAUHQ2QAQAUGw2gAQASMEIgEQAyEAA0AgACABRwRAIAAQBxogAEEUahAcIAAQAyEADAELCyMCRSMFIgMQAyEAA0AgACADRwRAIAAQBxogAEEUahAcIAAQAyEADAELCyMBIgQQAyEAA0AgACAERwRAIAAQBxogABADIABBpNsASQRAIABBADYCBCAAQQA2AggFIwMgABALayQDIABBBGoiAEGk2wBPBEAjAEUEQBANCyMAIAAQDhAZCwshAAwBCwsgBCAENgIEIAQgBDYCCCADJAEgBCQFJAILqAEBBX9BgAJBBxAGIgFBAEGAAvwLAANAIABBgAJIBEAgASAAIAAQBSAAQQFqIQAMAQsLQQAhAANAIABBgAJIBEAgASAAEAIgAmohBCAAQSBvIgJB7AgoAgBPBEBB8NUAQbDWAEHyAEEqEAAACyABIAAQAiEDIAEgACABIAQgAkHkCCgCAGotAABqQf8BcSICEAIQBSABIAIgAxAFIABBAWohAAwBCwsgAQuFBAEGfyABECEhAQNAIAJB3AooAgBIBEACQAJ/QQFB0AogAhAeIgUgAUYNABpBACAFRSABRXINABpBACAFEAQgARAEIgZHDQAaIAFBACAFIAYQEkULBEBBASEDDAELIAJBAWohAgwCCwsLIANFBEBBACECA0AgAkHMDCgCAEgEQAJAQcAMIAIQHiEFIAEQBCAFEARKBH9B/v///wEgARAEIgYgBkH+////AUobIAUQBCIGayIHQQBIBH9BAQUgASAHIAUgBhASCwVBAQtFBEBBASEDDAELIAJBAWohAgwCCwsLCyADRQRAQQAQEw8LECYhAkEAIQNBACEBA0AgAUGAEEgEQCACIARBAWpB/wFxIgQQAiADakH/AXEhAyACIAQQAiEFIAIgBCACIAMQAhAFIAIgAyAFEAUgAUEBaiEBDAELCyAAKAIIIgUQEyEGQQAhAQNAIAEgBUgEQCACIARBAWpB/wFxIgQQAiADakH/AXEhAyACIAQQAiEHIAIgBCACIAMQAhAFIAIgAyAHEAUgASAAKAIITwRAQfDVAEGQ2QBBpwFBLRAAAAsgAiACIAQQAiACIAMQAmpB/wFxEAIgASAAKAIEai0AAHNB/wFxIQcgASAGKAIITwRAQfDVAEGQ2QBBsgFBLRAAAAsgASAGKAIEaiAHOgAAIAFBAWohAQwBCwsgBgsLgT6pAQBBjAgLATwAQZgICygBAAAAIAAAAOT5sn2MGm71A325isVOIfC51sOngf5CrWXA6bc/FIotAEHMCAsBLABB2AgLFQQAAAAQAAAAIAQAACAEAAAgAAAAIABB/AgLATwAQYgJCykCAAAAIgAAAHAAbABhAHkAZQByAC4AdgBpAGQAegBlAGUALgB3AHQAZgBBvAkLASwAQcgJCxkCAAAAEgAAAGwAbwBjAGEAbABoAG8AcwB0AEHsCQsBLABB+AkLGQIAAAASAAAAMQAyADcALgAwAC4AMAAuADEAQZwKCwEcAEGoCgsSAQAAAAwAAACQBAAA0AQAAAAFAEG8CgsBLABByAoLFQUAAAAQAAAAMAUAADAFAAAMAAAAAwBB7AoLASwAQfgKCx8CAAAAGAAAAC4AbABvAHYAYQBiAGwAZQAuAGEAcABwAEGcCwsBPABBqAsLLQIAAAAmAAAALgBsAG8AdgBhAGIAbABlAHAAcgBvAGoAZQBjAHQALgBjAG8AbQBB3AsLASwAQegLCx0CAAAAFgAAAC4AdgBpAGQAegBlAGUALgB3AHQAZgBBjAwLARwAQZgMCxIBAAAADAAAAIAFAACwBQAA8AUAQawMCwEsAEG4DAsVBQAAABAAAAAgBgAAIAYAAAwAAAADAEHcDAsBPABB6AwLLwIAAAAoAAAAQQBsAGwAbwBjAGEAdABpAG8AbgAgAHQAbwBvACAAbABhAHIAZwBlAEGcDQsBPABBqA0LJQIAAAAeAAAAfgBsAGkAYgAvAHIAdAAvAHQAYwBtAHMALgB0AHMAQdwNCwE8AEHoDQslAgAAAB4AAAB+AGwAaQBiAC8AcgB0AC8AdABsAHMAZgAuAHQAcwBBtA4LgAQSEBMUFRYXGBkaGxwdHh8gIRAQIhAQECMkJSYnKCkQKisQEBAQEBAQEBAQECwtLhAvEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMBAQEDEQMjM0NTY3EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDgQEDk6EDs8PRAQEBAQED4QED9AQUJDREVGR0hJSktMEE1OTxAQEBAQEBAQEBAQEBAQEBAQEBAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFFSEBAQUxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBUEBAQEBAQEBAQEBAQEBAQEBAQEBBVVhAQEBAQEBBXEBAQEBBYWVoQEBAQEFtcEBAQEBAQEBAQXRAQEBAQEBAQEBAQEABB1BILOP//////////////////////////////////////////AAAAAIBAAAQAAABAAQAAAAAAAAAAoZABAEGqEwsb////////////////////////////////MASwAEHkEwsC+AMAQf8TCySCAAAAAAAA/v////+/tgAAAAAAEAA/AP8XAAAAAAH4//8AAAEAQa4UCxDAv/89AAAAgAIAAAD///8HAEHIFAsYwP8BAAAAAAAA+D8kAADA//8/AAAAAAAOAEHuFAuhAfj//////wcAAAAAAAAU/iH+AAwAAgACAAAAAAAAEB4gAAAMAABABgAAAAAAABCGOQIAAAAjAAYAAAAAAAAQviEAAAwAAPwCAAAAAAAAkB4gYAAMAAAABAAAAAAAAAABIAAAAAAAABEAAAAAAADAwT1gAAwAAAACAAAAAAAAkEAwAAAMAAAAAwAAAAAAABgeIAAADAAAAAIAAAAAAAAAAARcAEGaFgsE8gfAfwBBqhYLBPIfQD8AQbcWCxYDAACgAgAAAAAAAP5/3+D//v///x9AAEHZFgsP4P1mAAAAwwEAHgBkIAAgAEHzFgsBEABB/xYLAeAAQZYXCzQcAAAAHAAAAAwAAAAMAAAAAAAAALA/QP6PIAAAAAAAeAAAAAAAAAgAAAAAAAAAYAAAAAACAEHYFwsEhwEEDgBB9hcLToAJAAAAAAAAQH/lH/ifAAAAAIAA//8BAAAAAAAAAA8AAAAAANAXBAAAAAD4DwADAAAAPDsAAAAAAABAowMAAAAAAADwzwAAAAAAAAAAPwBBzhgLJvf//SEQAwAAAAAA8P////////8HAAEAAAD4///////////////7AEGLGQsooAPgAOAA4ABgAPgAA5B8AAAAAAAA3/8CgAAA/x8AAAAAAAD/////AQBBwxkLATAAQdEZCwKAAwBB4RkLA4AAgABB8BkLCv////8AAAAAAIAAQZQaCwggAAAAADw+CABBpxoLAX4AQbMaCwRwAAAgAEHzGgsDPwAQAEGBGwsHgPe/AAAA8ABBkhsLBwMA/////wMAQaIbCwQBAAAHAEGzGwsHA0QIAABgEABBzBsLRzAAAAD//wOAAAAAAMA/AACA/wMAAAAAAAcAAAAAAMgzAIAAAGAAAAAAAAAAAH5mAAgQAAAAAAEQAAAAAAAAncECAAAgADBYAEGfHAsD+AAOAEGwHAsIICEAAAAAAEAAQcocCxX8/wMAAAAAAAAA//8IAP//AAAAACQAQfMcCyGAgEAABAAAAEABAAAAAAABAAAAAMAAAAAAAAAAAAgAAA4AQbMdCwEgAEHQHQsBAQBB4h0LAsAHAEH0HQsIbvAAAAAAAIcAQZAeCwlgAAAAAAAAAPAAQckeCwEYAEHcHgsDwP8BAEH0Hgs6AgAAAAAAAP9/AAAAAAAAgAMAAAAAAHgmACAAAAAAAAAHAAAAgO8fAAAAAAAAAAgAAwAAAAAAwH8AngBBuR8LA4DTQABBzx8LFID4BwAAAwAAAAAAABgBAAAAwB8fAEH7HwsF/1wAAEAAQYogCwP4hQ0AQaogCwY8sAEAADAAQbogCwP4pwEAQckgCwIovwBB1yALA+C8DwBB+SALA4D/BgBBmyELAlgIAEGuIQsa8AwBAAAA/gcAAAAA+HmAAH4OAAAAAAD8fwMAQdohCwJ/vwBB5iELBfz///xtAEH6IQsDfrS/AEGGIgsBowBBsiILChgAAAAAAAAA/wEAQfIiCwsfAAAAAAAAAH8ADwBBnSMLFIAAAAAAAAAAgP//AAAAAAAAAAAbAEHHIwsCYA8AQeAjCwqAA/j/5w8AAAA8AEH8IwsBHABBlCQLFv///////3/4//////8fIAAQAAD4/v8AQbQkCwZ////52wcAQdokCwL/PwBBkSULAfAAQa4lCwF/AEG8JQsC8A8AQfMlCwH4AEH0JQuABBITFBUWFxAQEBAQEBAQEBAYEBAZEBAQEBAQEBAaGxEcHR4QEB8QEBAQEBAQICEQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAiIxAQECQQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQJRAQECYQEBAQJxAQEBAQEBAoEBAQEBAQEBAQEBApEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECoQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECssLS4QEBAQEBAQEBAQEBAQEBAQEC8QEBAQEBAQMBAQEBAQEBAQEBAQEBAQAEGUKgt9//////////////////////////////////////////8AAAAAAAAAAP7//wf+//8HAAAAAAAEIAT//3////9/////////////////////////////////9/D/////////////////////////////////7/////8BAwAAAB8AQZwrC0ogAAAAAADPvEDX///7////////////v///////////////////////A/z///////////////////////////7///9/AP//////AQBBiCwLDP////+/IP//////5wBBqCwLDP////////////8/PwBBxCwLUP8B///////nAAAAAAAAAAD///////////////////////////////8AAAAAAAAAAP//Pz//////Pz//qv///z/////////fX9wfzw//H9wfAEGiLQsGAoAAAP8fAEG0LQsRhPwvPlC9H/LgQwAA/////xgAQeotCzDA////////AwAA//////9///////9//////////////////////x94DAD/////vyAAQbwuCwz//////z8AAP///z8AQdguCz/8////////////////eP////////wHAAAAAGAHAAAAAAAA///////3/wH/////////////AAAAAAAAAAB/APgAQbgvCwj+//8H/v//BwBB1C8LCv////////////8AQeovCwr/////D/////8PAEGEMAsP////////BwD///////8HAEGoMAsI//////////8AQbwwCwj//////////wBB1DALiQH/////////////3///////////32Te/+vv/////////7/n39////97X/z9//////////////////////////////////////////////////////8//////f//9/////f//9/////f//9/////f/////3////9///3DwAAAAAAAP//////////DwBB+jELDP///wP///8D////AwBBlDILgAQHCAkKCwwGBgYGBgYGBgYGDQYGDgYGBgYGBgYGDxAREgYTBgYGBgYGBgYGBhQVBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGFhcGBgYYBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYZBgYGBhoGBgYGBgYGGwYGBgYGBgYGBgYGHAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYdBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYeBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgBBgzcLFCQrKysrKysrKwEAVFZWVlZWVlZWAEGqNwufAxgAAAArKysrKysrBysrW1ZWVlZWVlZKVlYFMVAxUDFQMVAxUDFQMVAxUCRQeTFQMVAxOFAxUDFQMVAxUDFQMVAxUE4xAk4NDU4DTgAkbgBOMSZuUU4kUE45FIEbHR1TMVAxUA0xUDFQMVAbUyRQMQJce1x7XHtce1x7FHlce1x7XC0rSQNIA3hcexQAlgoBKygGBgAqBioqKwe7tSseACsHKysrASsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrASsrKysrKysrKysrKysrKysrKysrKysrKisrKysrKysrKysrKyvNRs0rACUrBwEGAVVWVlZWVlVWVgIkgYGBgYEVgYGBAAArALLRstGy0bLRAADNzAEA19fX19eDgYGBgYGBgYGBgaysrKysrKysrKwcAAAAAAAxUDFQMVAxUDFQMQIAADFQMVAxUDFQMVAxUDFQMVAxUE4xUDFQTjFQMVAxUDFQMVAxUDFQMQKHpoemh6aHpoemh6aHpoemKisrKysrKysrKysrKwAAAFRWVlZWVlZWVlZWVlYAQac7CyFUVlZWVlZWVlZWVlZWDAAMKisrKysrKysrKysrKysHKgEAQf07C3cqKysrKysrKysrKysrKysrKysrKysrKysrKytWVmyBFQArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysHbANBKytWVlZWVlZWVlZWVlZWVixWKysrKysrKysrKysrKysrKysrKysrAQBBnD0LCAxsAAAAAAAGAEHKPQvoAgYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYlVnqeJgYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYlBiUGJQYBKytPVlYsK39WVjkrK1VWVisrT1ZWLCt/VlaBN3Vbe1wrK09WVgKsBAAAOSsrVVZWKytPVlYsKytWVjITgVcAb4F+ydd+LYGBDn45f29XAIGBfhUAfgMrKysrKysrKysrKysHKyQrlysrKysrKysrKyorKysrK1ZWVlZWgIGBgYE5uyorKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrAYGBgYGBgYGBgYGBgYGBgcmsrKysrKysrKysrKysrKzQDQBOMQK0wcHX1yRQMVAxUDFQMVAxUDFQMVAxUDFQMVAxUDFQMVAxUDFQMVDX11PBR9TX19cFKysrKysrKysrKysrBwEAAQBBjcEACx9OMVAxUDFQMVAxUDFQMVANAAAAAAAkUDFQMVAxUDFQAEHOwQALVisrKysrKysrKysreVx7XHtPe1x7XHtce1x7XHtce1x7XHtce1wtKyt5FFx7XC15KlwnXHtce1x7pAAKtFx7XHtPA3g4KysrKysrKysrKysrK08tKysBAEG/wgALAUgAQcnCAAsbKisrKysrKysrKysrKysrKysrKysrKysrKysrAEGFwwALFCsrKysrKysrBwBIVlZWVlZWVlYCAEHQwwALGysrKysrKysrKysrKytVVlZWVlZWVlZWVlZWDgBBisQACxokKysrKysrKysrKysHAFZWVlZWVlZWVlZWVgBB0MQACyckKysrKysrKysrKysrKysrKwcAAAAAVlZWVlZWVlZWVlZWVlZWVlYAQbHFAAsWKisrKysrKysrKytWVlZWVlZWVlZWDgBB58UACxYqKysrKysrKysrK1ZWVlZWVlZWVlYOAEGoxgALFysrKysrKysrKysrVVZWVlZWVlZWVlYOAEGBxwALCAgAAFYBAAA5AEGQxwALvAcBIAAAAOD//wC/HQAA5wIAAHkAAAIkAAABAQAAAP///wAAAAABAgAAAP7//wE5//8AGP//AYf//wDU/v8AwwAAAdIAAAHOAAABzQAAAU8AAAHKAAABywAAAc8AAABhAAAB0wAAAdEAAACjAAAB1QAAAIIAAAHWAAAB2gAAAdkAAAHbAAAAOAAAAwAAAACx//8Bn///Acj//wIoJAAAAAAAAQEAAAD///8AM///ACb//wF+//8BKyoAAV3//wEoKgAAPyoAAT3//wFFAAABRwAAAB8qAAAcKgAAHioAAC7//wAy//8ANv//ADX//wBPpQAAS6UAADH//wAopQAARKUAAC///wAt//8A9ykAAEGlAAD9KQAAK///ACr//wDnKQAAQ6UAACqlAAC7//8AJ///ALn//wAl//8AFaUAABKlAAIkTAAAAAAAASAAAADg//8BAQAAAP///wBUAAABdAAAASYAAAElAAABQAAAAT8AAADa//8A2///AOH//wDA//8Awf//AQgAAADC//8Ax///ANH//wDK//8A+P//AKr//wCw//8ABwAAAIz//wHE//8AoP//Afn//wIacAABAQAAAP///wEgAAAA4P//AVAAAAEPAAAA8f//AAAAAAEwAAAA0P//AQEAAAD///8AAAAAAMALAAFgHAAAAAAAAdCXAAEIAAAA+P//AgWKAAAAAAABQPT/AJ7n/wDCiQAA2+f/AJLn/wCT5/8AnOf/AJ3n/wCk5/8AAAAAADiKAAAEigAA5g4AAQEAAAD///8AAAAAAMX//wFB4v8CHY8AAAgAAAH4//8AAAAAAFYAAAGq//8ASgAAAGQAAACAAAAAcAAAAH4AAAAJAAABtv//Aff//wDb4/8BnP//AZD//wGA//8Bgv//AgWsAAAAAAABEAAAAPD//wEcAAABAQAAAaPi/wFB3/8But//AOT//wILsQABAQAAAP///wEwAAAA0P//AAAAAAEJ1v8BGvH/ARnW/wDV1f8A2NX/AeTV/wED1v8B4dX/AeLV/wHB1f8AAAAAAKDj/wAAAAABAQAAAP///wIMvAAAAAAAAQEAAAD///8BvFr/AaADAAH8df8B2Fr/ADAAAAGxWv8BtVr/Ab9a/wHuWv8B1lr/Aeta/wHQ//8BvVr/Ach1/wAAAAAAMGj/AGD8/wAAAAABIAAAAOD//wAAAAABKAAAANj//wAAAAABQAAAAMD//wAAAAABIAAAAOD//wAAAAABIAAAAOD//wAAAAABIgAAAN7//wBBzc4ACwUGJ1FvdwBB3M4ACxJ8AAB/AAAAAAAAAACDjpKXAKoAQfjOAAsCtMQAQfLPAAsGxskAAADbAEHL0AALDt4AAAAA4QAAAAAAAADkAEHk0AALAecAQbrRAAsB6gBBtdIACwHtAEHM0gALkAMwDDENeA5/D4AQgRGGEokTihOOFI8VkBaTE5QXlRiWGZcamhucGZ0cnh2fHqYfqR+uH7EgsiC3Ib8ixSPII8sj3STyI/Yl9yYgLTouPS8+MD8xQDFDMkQzRTRQNVE2UjdTOFQ5WTpbO1w8YT1jPmU/ZkBoQWlCakBrQ2xEb0JxRXJGdUd9SIJJh0qJS4pMi0yMTZJOnU+eUEVXex18HX0df1iGWYhaiVqKWoxbjlyPXKxdrV6uXq9ewl/MYM1hzmHPYtBj0WTVZdZm12fwaPFp8mrza/Rs9W35bv0t/i3/LVBpUWlSaVNpVGlVaVZpV2lYaVlpWmlbaVxpXWleaV9pggCDAIQAhQCGAIcAiACJAMB1z3aAiYGKgouFjIaNcJ1xnXaed554n3mfeqB7oHyhfaGzorqju6O8pL6lw6LMpNqm26blauqn66fsbvOi+Kj5qPqp+6n8pCawKrErsk6zhAhiumO7ZLxlvWa+bb9uwG/BcMJ+w3/Dfc+N0JTRq9Ks063UsNWx1rLXxNjF2cbaAEHc1QALATwAQejVAAsrAgAAACQAAABJAG4AZABlAHgAIABvAHUAdAAgAG8AZgAgAHIAYQBuAGcAZQBBnNYACwEsAEGo1gALIQIAAAAaAAAAfgBsAGkAYgAvAGEAcgByAGEAeQAuAHQAcwBBzNYACwF8AEHY1gALZQIAAABeAAAARQBsAGUAbQBlAG4AdAAgAHQAeQBwAGUAIABtAHUAcwB0ACAAYgBlACAAbgB1AGwAbABhAGIAbABlACAAaQBmACAAYQByAHIAYQB5ACAAaQBzACAAaABvAGwAZQB5AEHM1wALASwAQdjXAAsjAgAAABwAAABJAG4AdgBhAGwAaQBkACAAbABlAG4AZwB0AGgAQfzXAAsBPABBiNgACy0CAAAAJgAAAH4AbABpAGIALwBhAHIAcgBhAHkAYgB1AGYAZgBlAHIALgB0AHMAQbzYAAsBPABByNgACy0CAAAAJgAAAH4AbABpAGIALwBzAHQAYQB0AGkAYwBhAHIAcgBhAHkALgB0AHMAQfzYAAsBPABBiNkACysCAAAAJAAAAH4AbABpAGIALwB0AHkAcABlAGQAYQByAHIAYQB5AC4AdABzAEG82QALATwAQcjZAAsxAgAAACoAAABPAGIAagBlAGMAdAAgAGEAbAByAGUAYQBkAHkAIABwAGkAbgBuAGUAZABBnNoACwE8AEGo2gALLwIAAAAoAAAATwBiAGoAZQBjAHQAIABpAHMAIABuAG8AdAAgAHAAaQBuAG4AZQBkAEGA2wALIQgAAAAgAAAAIAAAACAAAAAAAAAAQgAAAAJBAABBAAAAZA==";
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
14
|
+
function base64ToU8(b64) {
|
|
15
|
+
const cleaned = b64.replace(/\s+/g, "");
|
|
16
|
+
if (typeof Buffer !== "undefined") {
|
|
17
|
+
const node = Buffer.from(cleaned, "base64");
|
|
18
|
+
const copy = new Uint8Array(node.length);
|
|
19
|
+
copy.set(node);
|
|
20
|
+
return copy;
|
|
21
|
+
}
|
|
22
|
+
const bin = atob(cleaned);
|
|
23
|
+
const out = new Uint8Array(bin.length);
|
|
24
|
+
for (let i = 0; i < bin.length; i++) out[i] = bin.charCodeAt(i);
|
|
25
|
+
return out;
|
|
26
|
+
}
|
|
22
27
|
|
|
23
|
-
|
|
24
|
-
const iv = Buffer.alloc(16, 0);
|
|
25
|
-
const decipher = crypto.createDecipheriv('aes-256-cbc', keyBuf, iv);
|
|
26
|
-
decipher.setAutoPadding(true);
|
|
27
|
-
let dec = decipher.update(ciphertext);
|
|
28
|
-
dec = Buffer.concat([dec, decipher.final()]);
|
|
29
|
-
const text = dec.toString('utf8');
|
|
30
|
-
if (text.startsWith('http') || text.includes('{')) return text;
|
|
31
|
-
} catch { }
|
|
28
|
+
let wasmInstancePromise = null;
|
|
32
29
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const data = ciphertext.subarray(16);
|
|
36
|
-
const decipher = crypto.createDecipheriv('aes-256-cbc', keyBuf, iv);
|
|
37
|
-
decipher.setAutoPadding(true);
|
|
38
|
-
let dec = decipher.update(data);
|
|
39
|
-
dec = Buffer.concat([dec, decipher.final()]);
|
|
40
|
-
const text = dec.toString('utf8');
|
|
41
|
-
if (text.startsWith('http') || text.includes('{')) return text;
|
|
42
|
-
} catch { }
|
|
43
|
-
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
30
|
+
async function initWasmCrypto() {
|
|
31
|
+
if (wasmInstancePromise) return wasmInstancePromise;
|
|
46
32
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
};
|
|
33
|
+
wasmInstancePromise = (async () => {
|
|
34
|
+
if (typeof WebAssembly === "undefined") return null;
|
|
35
|
+
try {
|
|
36
|
+
const u8 = base64ToU8(WASM_B64);
|
|
37
|
+
const ab = new ArrayBuffer(u8.byteLength);
|
|
38
|
+
new Uint8Array(ab).set(u8);
|
|
39
|
+
const module = await WebAssembly.compile(ab);
|
|
55
40
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
41
|
+
let E;
|
|
42
|
+
let Q;
|
|
43
|
+
let s;
|
|
44
|
+
|
|
45
|
+
function L(A, B) {
|
|
46
|
+
try {
|
|
47
|
+
s.setUint32(A, B, true);
|
|
48
|
+
} catch {
|
|
49
|
+
s = new DataView(E.buffer);
|
|
50
|
+
s.setUint32(A, B, true);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function U(A) {
|
|
55
|
+
try {
|
|
56
|
+
return s.getUint32(A, true);
|
|
57
|
+
} catch {
|
|
58
|
+
s = new DataView(E.buffer);
|
|
59
|
+
return s.getUint32(A, true);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function H(A) {
|
|
64
|
+
if (!A) return null;
|
|
65
|
+
const B = (A + new Uint32Array(E.buffer)[(A - 4) >>> 2]) >>> 1;
|
|
66
|
+
const C = new Uint16Array(E.buffer);
|
|
67
|
+
let I = A >>> 1;
|
|
68
|
+
let G = "";
|
|
69
|
+
while (B - I > 1024) {
|
|
70
|
+
G += String.fromCharCode(...C.subarray(I, (I += 1024)));
|
|
71
|
+
}
|
|
72
|
+
return G + String.fromCharCode(...C.subarray(I, B));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function i(A) {
|
|
76
|
+
if (A == null) return 0;
|
|
77
|
+
const B = A.length;
|
|
78
|
+
const C = Q.__new(B << 1, 2) >>> 0;
|
|
79
|
+
const I = new Uint16Array(E.buffer);
|
|
80
|
+
for (let G = 0; G < B; ++G) I[(C >>> 1) + G] = A.charCodeAt(G);
|
|
81
|
+
return C;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function F(A, B) {
|
|
85
|
+
return B ? new A(E.buffer, U(B + 4), s.getUint32(B + 8, true) / A.BYTES_PER_ELEMENT).slice() : null;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function e(A, B, C, I) {
|
|
89
|
+
if (I == null) return 0;
|
|
90
|
+
const G = I.length;
|
|
91
|
+
const y = Q.__pin(Q.__new(G << C, 1)) >>> 0;
|
|
92
|
+
const D = Q.__new(12, B) >>> 0;
|
|
93
|
+
L(D + 0, y);
|
|
94
|
+
s.setUint32(D + 4, y, true);
|
|
95
|
+
s.setUint32(D + 8, G << C, true);
|
|
96
|
+
new A(E.buffer, y, G).set(I);
|
|
97
|
+
Q.__unpin(y);
|
|
98
|
+
return D;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const r = new Map();
|
|
102
|
+
|
|
103
|
+
function n(A) {
|
|
104
|
+
if (A) {
|
|
105
|
+
const B = r.get(A);
|
|
106
|
+
if (B) r.set(A, B + 1);
|
|
107
|
+
else r.set(Q.__pin(A), 1);
|
|
108
|
+
}
|
|
109
|
+
return A;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function c(A) {
|
|
113
|
+
if (A) {
|
|
114
|
+
const B = r.get(A);
|
|
115
|
+
if (B === 1) {
|
|
116
|
+
Q.__unpin(A);
|
|
117
|
+
r.delete(A);
|
|
118
|
+
} else if (B) {
|
|
119
|
+
r.set(A, B - 1);
|
|
96
120
|
}
|
|
97
121
|
}
|
|
98
|
-
} catch (err) {
|
|
99
122
|
}
|
|
123
|
+
|
|
124
|
+
const importObject = {
|
|
125
|
+
env: Object.setPrototypeOf(
|
|
126
|
+
{
|
|
127
|
+
abort(A, B, C, I) {
|
|
128
|
+
A = H(A >>> 0) >>> 0;
|
|
129
|
+
B = H(B >>> 0) >>> 0;
|
|
130
|
+
C = C >>> 0;
|
|
131
|
+
I = I >>> 0;
|
|
132
|
+
throw new Error(`abort: ${A} in ${B}:${C}:${I}`);
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
Object.create(globalThis)
|
|
136
|
+
),
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
const instance = await WebAssembly.instantiate(module, importObject);
|
|
140
|
+
Q = instance.exports;
|
|
141
|
+
E = Q.memory;
|
|
142
|
+
s = new DataView(E.buffer);
|
|
143
|
+
|
|
144
|
+
return {
|
|
145
|
+
decrypt(rawPayload, domain) {
|
|
146
|
+
const ptrA = n(e(Uint8Array, 6, 0, rawPayload));
|
|
147
|
+
const ptrB = i(domain);
|
|
148
|
+
try {
|
|
149
|
+
return F(Uint8Array, Q.decrypt(ptrA, ptrB) >>> 0);
|
|
150
|
+
} finally {
|
|
151
|
+
c(ptrA);
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
} catch {
|
|
156
|
+
return null;
|
|
100
157
|
}
|
|
158
|
+
})();
|
|
159
|
+
|
|
160
|
+
return wasmInstancePromise;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
async function decryptWasmPayload(payloadB64) {
|
|
164
|
+
const decrypter = await initWasmCrypto();
|
|
165
|
+
if (!decrypter) return null;
|
|
166
|
+
try {
|
|
167
|
+
const raw = base64ToU8(payloadB64);
|
|
168
|
+
const domain = "player.vidzee.wtf";
|
|
169
|
+
const decryptedBytes = decrypter.decrypt(raw, domain);
|
|
170
|
+
if (!decryptedBytes || !decryptedBytes.length) return null;
|
|
171
|
+
const jsonStr = new TextDecoder().decode(decryptedBytes);
|
|
172
|
+
return JSON.parse(jsonStr);
|
|
173
|
+
} catch {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export async function getStream(args) {
|
|
179
|
+
const { id, s, e } = args;
|
|
180
|
+
const isTv = s != null && e != null;
|
|
181
|
+
|
|
182
|
+
try {
|
|
183
|
+
const streamPromises = SERVERS.map(async (server) => {
|
|
184
|
+
const endpoint = isTv
|
|
185
|
+
? `${CORE_ORIGIN}/streams/tv/${encodeURIComponent(id)}/${encodeURIComponent(s)}/${encodeURIComponent(e)}?s=${encodeURIComponent(server.id)}&e=1`
|
|
186
|
+
: `${CORE_ORIGIN}/streams/movie/${encodeURIComponent(id)}?s=${encodeURIComponent(server.id)}&e=1`;
|
|
187
|
+
|
|
188
|
+
const res = await fetch(endpoint, {
|
|
189
|
+
headers: {
|
|
190
|
+
"User-Agent": USER_AGENT,
|
|
191
|
+
"Accept": "application/json, text/plain, */*",
|
|
192
|
+
"Referer": `${PLAYER_ORIGIN}/`,
|
|
193
|
+
"Origin": PLAYER_ORIGIN,
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
if (!res.ok) return null;
|
|
198
|
+
const data = await res.json();
|
|
199
|
+
if (!data?.c) return null;
|
|
200
|
+
|
|
201
|
+
const decoded = await decryptWasmPayload(data.c);
|
|
202
|
+
if (!decoded?.url) return null;
|
|
203
|
+
|
|
204
|
+
const streamUrl = decoded.url;
|
|
205
|
+
const isM3U8 = streamUrl.toLowerCase().includes(".m3u8");
|
|
206
|
+
|
|
207
|
+
return {
|
|
208
|
+
quality: server.name,
|
|
209
|
+
url: streamUrl,
|
|
210
|
+
type: isM3U8 ? "hls" : "mp4",
|
|
211
|
+
headers: {
|
|
212
|
+
"User-Agent": USER_AGENT,
|
|
213
|
+
"Referer": `${PLAYER_ORIGIN}/`,
|
|
214
|
+
"Origin": PLAYER_ORIGIN,
|
|
215
|
+
...(decoded.headers || {}),
|
|
216
|
+
},
|
|
217
|
+
};
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
const results = await Promise.allSettled(streamPromises);
|
|
221
|
+
const allUrls = results
|
|
222
|
+
.filter((r) => r.status === "fulfilled" && r.value)
|
|
223
|
+
.map((r) => r.value);
|
|
101
224
|
|
|
102
|
-
return
|
|
225
|
+
return allUrls.length ? { allUrls } : null;
|
|
103
226
|
} catch {
|
|
104
227
|
return null;
|
|
105
228
|
}
|
package/src/subtitles.js
CHANGED
|
@@ -3,7 +3,6 @@ import { getUA } from './utils/helpers.js';
|
|
|
3
3
|
const SUBTITLE_BASES = [
|
|
4
4
|
'https://sub.vdrk.site/v1',
|
|
5
5
|
'https://sub.vdrk.site/v2',
|
|
6
|
-
'https://fed-subs.pstream.mov'
|
|
7
6
|
];
|
|
8
7
|
const VYLIAN_MESSAGES = [
|
|
9
8
|
"Thanks for using Vyla!"
|
|
@@ -63,23 +62,6 @@ export async function fetchSubtitles(paths = []) {
|
|
|
63
62
|
: [];
|
|
64
63
|
}
|
|
65
64
|
|
|
66
|
-
if (base.includes('fed-subs.pstream.mov')) {
|
|
67
|
-
if (!data?.subtitles || typeof data.subtitles !== 'object') return [];
|
|
68
|
-
|
|
69
|
-
return Object.entries(data.subtitles)
|
|
70
|
-
.map(([language, sub]) => {
|
|
71
|
-
if (!sub?.subtitle_link) return null;
|
|
72
|
-
const ext = sub.subtitle_link.split('.').pop()?.toLowerCase();
|
|
73
|
-
return {
|
|
74
|
-
label: sub.subtitle_name || language,
|
|
75
|
-
file: sub.subtitle_link,
|
|
76
|
-
type: ext === 'vtt' ? 'vtt' : 'srt',
|
|
77
|
-
source: 'febbox'
|
|
78
|
-
};
|
|
79
|
-
})
|
|
80
|
-
.filter(Boolean);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
65
|
const v1 = Array.isArray(data) ? data : [];
|
|
84
66
|
return v1.map(x => ({
|
|
85
67
|
label: x.label,
|