mirror of
https://github.com/bytedream/stream-bypass.git
synced 2025-06-27 10:30:31 +02:00
Compare commits
23 Commits
Author | SHA1 | Date | |
---|---|---|---|
927a4e3ae3 | |||
5926177920 | |||
9a29316641 | |||
c300125f64 | |||
59f2ffec57 | |||
6dff691c25 | |||
c4085f9ac8 | |||
422702b16f | |||
c3dad3681c | |||
6eb3259ec5 | |||
68e445a738 | |||
e864bc6100 | |||
3ac73ac3b4 | |||
6aaf960c28 | |||
8a13dea681 | |||
8d575241fe | |||
50f400b8b9 | |||
f6fcfd354a | |||
c081127d35 | |||
416fceba88 | |||
a9cf03c176 | |||
8852318483 | |||
7067aaf4a0 |
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"useTabs": true,
|
|
||||||
"singleQuote": true,
|
|
||||||
"trailingComma": "none",
|
|
||||||
"printWidth": 100,
|
|
||||||
"plugins": ["prettier-plugin-svelte"],
|
|
||||||
"overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
|
|
||||||
}
|
|
17
.prettierrc.cjs
Normal file
17
.prettierrc.cjs
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// @ts-check
|
||||||
|
|
||||||
|
/** @type {import("prettier").Config} */
|
||||||
|
module.exports = {
|
||||||
|
useTabs: true,
|
||||||
|
singleQuote: true,
|
||||||
|
trailingComma: 'none',
|
||||||
|
printWidth: 100,
|
||||||
|
plugins: ['prettier-plugin-svelte', '@ianvs/prettier-plugin-sort-imports'],
|
||||||
|
/* prettier-plugin-svelte */
|
||||||
|
overrides: [{ files: '*.svelte', options: { parser: 'svelte' } }],
|
||||||
|
/* @ianvs/prettier-plugin-sort-imports */
|
||||||
|
importOrder: ['^~/(.*)$', '^./(.*)$', ''],
|
||||||
|
importOrderParserPlugins: ['typescript'],
|
||||||
|
importOrderTypeScriptVersion: '5.0.0',
|
||||||
|
importOrderCaseSensitive: false
|
||||||
|
};
|
@ -85,6 +85,9 @@ The best way to install the extension are the official browser extension stores:
|
|||||||
| [doodstream.com](doodstream.com) / [dood.pm](https://dood.pm) | ✔ | ⚠ (redirect probably required) |
|
| [doodstream.com](doodstream.com) / [dood.pm](https://dood.pm) | ✔ | ⚠ (redirect probably required) |
|
||||||
| [filemoon.to](https://filemoon.to) | ✔ | ✔ |
|
| [filemoon.to](https://filemoon.to) | ✔ | ✔ |
|
||||||
| [goodstream.uno](https://goodstream.uno) | ✔ | ✔ |
|
| [goodstream.uno](https://goodstream.uno) | ✔ | ✔ |
|
||||||
|
| [kwik.cx](https://kwik.cx) | ✔ | ✔ |
|
||||||
|
| [loadx.ws](https://loadx.ws) | ✔ | ❌ (background request always required) |
|
||||||
|
| [luluvdo.com](https://luluvdo.com) | ✔ | ❌ (background request always required) |
|
||||||
| [mixdrop.co](https://mixdrop.co) | ✔ ️ | ✔ |
|
| [mixdrop.co](https://mixdrop.co) | ✔ ️ | ✔ |
|
||||||
| [mp4upload.com](https://mp4upload.com) | ✔ | ✔ |
|
| [mp4upload.com](https://mp4upload.com) | ✔ | ✔ |
|
||||||
| [newgrounds.com](https://newgrounds.com) | ✔ | ✔ |
|
| [newgrounds.com](https://newgrounds.com) | ✔ | ✔ |
|
||||||
@ -97,7 +100,6 @@ The best way to install the extension are the official browser extension stores:
|
|||||||
| [vidoza.net](https://vidoza.net) | ✔ | ✔ |
|
| [vidoza.net](https://vidoza.net) | ✔ | ✔ |
|
||||||
| [voe.sx](https://voe.sx) | ✔ | ❌ (redirect always required) |
|
| [voe.sx](https://voe.sx) | ✔ | ❌ (redirect always required) |
|
||||||
| [vupload.com](https://vupload.com) | ✔ | ✔ |
|
| [vupload.com](https://vupload.com) | ✔ | ✔ |
|
||||||
| [kwik.cx](https://kwik.cx) | ✔ | ✔ |
|
|
||||||
|
|
||||||
- ✔️: Everything ok.
|
- ✔️: Everything ok.
|
||||||
- ⚠: Works with limitations.
|
- ⚠: Works with limitations.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import prettier from 'eslint-config-prettier';
|
|
||||||
import js from '@eslint/js';
|
import js from '@eslint/js';
|
||||||
|
import prettier from 'eslint-config-prettier';
|
||||||
import svelte from 'eslint-plugin-svelte';
|
import svelte from 'eslint-plugin-svelte';
|
||||||
import ts from 'typescript-eslint';
|
import ts from 'typescript-eslint';
|
||||||
|
|
||||||
|
538
package-lock.json
generated
538
package-lock.json
generated
@ -1,34 +1,35 @@
|
|||||||
{
|
{
|
||||||
"name": "stream-bypass",
|
"name": "stream-bypass",
|
||||||
"version": "3.1.2",
|
"version": "3.1.5",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "stream-bypass",
|
"name": "stream-bypass",
|
||||||
"version": "3.1.2",
|
"version": "3.1.5",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@ianvs/prettier-plugin-sort-imports": "^4.4.1",
|
||||||
"@samrum/vite-plugin-web-extension": "^5.1.1",
|
"@samrum/vite-plugin-web-extension": "^5.1.1",
|
||||||
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
||||||
"@tsconfig/svelte": "^5.0.4",
|
"@tsconfig/svelte": "^5.0.4",
|
||||||
"@types/chrome": "^0.0.309",
|
"@types/chrome": "^0.0.315",
|
||||||
"@types/firefox-webext-browser": "^120.0.4",
|
"@types/firefox-webext-browser": "^120.0.4",
|
||||||
"eslint": "^9.22.0",
|
"eslint": "^9.24.0",
|
||||||
"eslint-config-prettier": "^10.1.1",
|
"eslint-config-prettier": "^10.1.2",
|
||||||
"eslint-plugin-svelte": "^3.1.0",
|
"eslint-plugin-svelte": "^3.5.1",
|
||||||
"hls.js": "^1.5.20",
|
"hls.js": "^1.6.2",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"prettier-plugin-svelte": "^3.3.3",
|
"prettier-plugin-svelte": "^3.3.3",
|
||||||
"sass": "^1.85.1",
|
"sass": "^1.86.3",
|
||||||
"svelte": "^5.23.0",
|
"svelte": "^5.27.0",
|
||||||
"svelte-check": "^4.1.5",
|
"svelte-check": "^4.1.6",
|
||||||
"svelte-preprocess": "^6.0.3",
|
"svelte-preprocess": "^6.0.3",
|
||||||
"tslib": "^2.8.1",
|
"tslib": "^2.8.1",
|
||||||
"typescript": "^5.8.2",
|
"typescript": "^5.8.3",
|
||||||
"typescript-eslint": "^8.26.1",
|
"typescript-eslint": "^8.30.1",
|
||||||
"vite": "^6.2.2",
|
"vite": "^6.3.0",
|
||||||
"web-ext": "^8.4.0"
|
"web-ext": "^8.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ampproject/remapping": {
|
"node_modules/@ampproject/remapping": {
|
||||||
@ -60,6 +61,33 @@
|
|||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@babel/generator": {
|
||||||
|
"version": "7.27.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.0.tgz",
|
||||||
|
"integrity": "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/parser": "^7.27.0",
|
||||||
|
"@babel/types": "^7.27.0",
|
||||||
|
"@jridgewell/gen-mapping": "^0.3.5",
|
||||||
|
"@jridgewell/trace-mapping": "^0.3.25",
|
||||||
|
"jsesc": "^3.0.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@babel/helper-string-parser": {
|
||||||
|
"version": "7.25.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
|
||||||
|
"integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@babel/helper-validator-identifier": {
|
"node_modules/@babel/helper-validator-identifier": {
|
||||||
"version": "7.25.9",
|
"version": "7.25.9",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
|
||||||
@ -70,10 +98,26 @@
|
|||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@babel/parser": {
|
||||||
|
"version": "7.27.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz",
|
||||||
|
"integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/types": "^7.27.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"parser": "bin/babel-parser.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@babel/runtime": {
|
"node_modules/@babel/runtime": {
|
||||||
"version": "7.26.7",
|
"version": "7.26.10",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.7.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz",
|
||||||
"integrity": "sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==",
|
"integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -83,6 +127,64 @@
|
|||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@babel/template": {
|
||||||
|
"version": "7.27.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz",
|
||||||
|
"integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/code-frame": "^7.26.2",
|
||||||
|
"@babel/parser": "^7.27.0",
|
||||||
|
"@babel/types": "^7.27.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@babel/traverse": {
|
||||||
|
"version": "7.27.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz",
|
||||||
|
"integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/code-frame": "^7.26.2",
|
||||||
|
"@babel/generator": "^7.27.0",
|
||||||
|
"@babel/parser": "^7.27.0",
|
||||||
|
"@babel/template": "^7.27.0",
|
||||||
|
"@babel/types": "^7.27.0",
|
||||||
|
"debug": "^4.3.1",
|
||||||
|
"globals": "^11.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@babel/traverse/node_modules/globals": {
|
||||||
|
"version": "11.12.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
|
||||||
|
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@babel/types": {
|
||||||
|
"version": "7.27.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz",
|
||||||
|
"integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/helper-string-parser": "^7.25.9",
|
||||||
|
"@babel/helper-validator-identifier": "^7.25.9"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@devicefarmer/adbkit": {
|
"node_modules/@devicefarmer/adbkit": {
|
||||||
"version": "3.3.8",
|
"version": "3.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/@devicefarmer/adbkit/-/adbkit-3.3.8.tgz",
|
"resolved": "https://registry.npmjs.org/@devicefarmer/adbkit/-/adbkit-3.3.8.tgz",
|
||||||
@ -611,9 +713,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/config-array": {
|
"node_modules/@eslint/config-array": {
|
||||||
"version": "0.19.2",
|
"version": "0.20.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz",
|
||||||
"integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==",
|
"integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -626,9 +728,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/config-helpers": {
|
"node_modules/@eslint/config-helpers": {
|
||||||
"version": "0.1.0",
|
"version": "0.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz",
|
||||||
"integrity": "sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==",
|
"integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -649,9 +751,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/eslintrc": {
|
"node_modules/@eslint/eslintrc": {
|
||||||
"version": "3.3.0",
|
"version": "3.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
|
||||||
"integrity": "sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==",
|
"integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -673,9 +775,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/js": {
|
"node_modules/@eslint/js": {
|
||||||
"version": "9.22.0",
|
"version": "9.24.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.24.0.tgz",
|
||||||
"integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==",
|
"integrity": "sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -817,6 +919,29 @@
|
|||||||
"url": "https://github.com/sponsors/nzakas"
|
"url": "https://github.com/sponsors/nzakas"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@ianvs/prettier-plugin-sort-imports": {
|
||||||
|
"version": "4.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ianvs/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.4.1.tgz",
|
||||||
|
"integrity": "sha512-F0/Hrcfpy8WuxlQyAWJTEren/uxKhYonOGY4OyWmwRdeTvkh9mMSCxowZLjNkhwi/2ipqCgtXwwOk7tW0mWXkA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/generator": "^7.26.2",
|
||||||
|
"@babel/parser": "^7.26.2",
|
||||||
|
"@babel/traverse": "^7.25.9",
|
||||||
|
"@babel/types": "^7.26.0",
|
||||||
|
"semver": "^7.5.2"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@vue/compiler-sfc": "2.7.x || 3.x",
|
||||||
|
"prettier": "2 || 3"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@vue/compiler-sfc": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@jridgewell/gen-mapping": {
|
"node_modules/@jridgewell/gen-mapping": {
|
||||||
"version": "0.3.8",
|
"version": "0.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
|
||||||
@ -871,9 +996,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@mdn/browser-compat-data": {
|
"node_modules/@mdn/browser-compat-data": {
|
||||||
"version": "5.6.31",
|
"version": "5.7.3",
|
||||||
"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.6.31.tgz",
|
"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.7.3.tgz",
|
||||||
"integrity": "sha512-E/X4YlErVjBCMvaJbqD2Jb0B/Z+TQJyw4vN6q98iit05RLW9VEcsedaTiL81BAbYF9GICn/KpFGE9dMJi66Ydw==",
|
"integrity": "sha512-ckygcngv0i7Qe0yOzzge/K7Gr5dnk2jNm/AYdqUd1ZTGa9pIEdDuVyWmL3bDU/NdJ8FtdSAjng98YfUuou9Csw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "CC0-1.0"
|
"license": "CC0-1.0"
|
||||||
},
|
},
|
||||||
@ -2117,9 +2242,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/chrome": {
|
"node_modules/@types/chrome": {
|
||||||
"version": "0.0.309",
|
"version": "0.0.315",
|
||||||
"resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.309.tgz",
|
"resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.315.tgz",
|
||||||
"integrity": "sha512-ZFADzcp8b+roUrux68U8pti4cmNOLJXWkShk8lfxj9SBcjYqpJt7NypBprSJUJDJVakGZgd2Tt00QePIGh7oPA==",
|
"integrity": "sha512-Oy1dYWkr6BCmgwBtOngLByCHstQ3whltZg7/7lubgIZEYvKobDneqplgc6LKERNRBwckFviV4UU5AZZNUFrJ4A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -2210,17 +2335,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "8.26.1",
|
"version": "8.30.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.30.1.tgz",
|
||||||
"integrity": "sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==",
|
"integrity": "sha512-v+VWphxMjn+1t48/jO4t950D6KR8JaJuNXzi33Ve6P8sEmPr5k6CEXjdGwT6+LodVnEa91EQCtwjWNUCPweo+Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/regexpp": "^4.10.0",
|
"@eslint-community/regexpp": "^4.10.0",
|
||||||
"@typescript-eslint/scope-manager": "8.26.1",
|
"@typescript-eslint/scope-manager": "8.30.1",
|
||||||
"@typescript-eslint/type-utils": "8.26.1",
|
"@typescript-eslint/type-utils": "8.30.1",
|
||||||
"@typescript-eslint/utils": "8.26.1",
|
"@typescript-eslint/utils": "8.30.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.26.1",
|
"@typescript-eslint/visitor-keys": "8.30.1",
|
||||||
"graphemer": "^1.4.0",
|
"graphemer": "^1.4.0",
|
||||||
"ignore": "^5.3.1",
|
"ignore": "^5.3.1",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
@ -2240,16 +2365,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "8.26.1",
|
"version": "8.30.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.30.1.tgz",
|
||||||
"integrity": "sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==",
|
"integrity": "sha512-H+vqmWwT5xoNrXqWs/fesmssOW70gxFlgcMlYcBaWNPIEWDgLa4W9nkSPmhuOgLnXq9QYgkZ31fhDyLhleCsAg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.26.1",
|
"@typescript-eslint/scope-manager": "8.30.1",
|
||||||
"@typescript-eslint/types": "8.26.1",
|
"@typescript-eslint/types": "8.30.1",
|
||||||
"@typescript-eslint/typescript-estree": "8.26.1",
|
"@typescript-eslint/typescript-estree": "8.30.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.26.1",
|
"@typescript-eslint/visitor-keys": "8.30.1",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -2265,14 +2390,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "8.26.1",
|
"version": "8.30.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.30.1.tgz",
|
||||||
"integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==",
|
"integrity": "sha512-+C0B6ChFXZkuaNDl73FJxRYT0G7ufVPOSQkqkpM/U198wUwUFOtgo1k/QzFh1KjpBitaK7R1tgjVz6o9HmsRPg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.26.1",
|
"@typescript-eslint/types": "8.30.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.26.1"
|
"@typescript-eslint/visitor-keys": "8.30.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -2283,14 +2408,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils": {
|
"node_modules/@typescript-eslint/type-utils": {
|
||||||
"version": "8.26.1",
|
"version": "8.30.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.30.1.tgz",
|
||||||
"integrity": "sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==",
|
"integrity": "sha512-64uBF76bfQiJyHgZISC7vcNz3adqQKIccVoKubyQcOnNcdJBvYOILV1v22Qhsw3tw3VQu5ll8ND6hycgAR5fEA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/typescript-estree": "8.26.1",
|
"@typescript-eslint/typescript-estree": "8.30.1",
|
||||||
"@typescript-eslint/utils": "8.26.1",
|
"@typescript-eslint/utils": "8.30.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ts-api-utils": "^2.0.1"
|
"ts-api-utils": "^2.0.1"
|
||||||
},
|
},
|
||||||
@ -2307,9 +2432,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/types": {
|
||||||
"version": "8.26.1",
|
"version": "8.30.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.30.1.tgz",
|
||||||
"integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==",
|
"integrity": "sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -2321,14 +2446,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "8.26.1",
|
"version": "8.30.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.30.1.tgz",
|
||||||
"integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==",
|
"integrity": "sha512-kQQnxymiUy9tTb1F2uep9W6aBiYODgq5EMSk6Nxh4Z+BDUoYUSa029ISs5zTzKBFnexQEh71KqwjKnRz58lusQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.26.1",
|
"@typescript-eslint/types": "8.30.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.26.1",
|
"@typescript-eslint/visitor-keys": "8.30.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
@ -2374,16 +2499,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/utils": {
|
||||||
"version": "8.26.1",
|
"version": "8.30.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.30.1.tgz",
|
||||||
"integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==",
|
"integrity": "sha512-T/8q4R9En2tcEsWPQgB5BQ0XJVOtfARcUvOa8yJP3fh9M/mXraLxZrkCfGb6ChrO/V3W+Xbd04RacUEqk1CFEQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.4.0",
|
"@eslint-community/eslint-utils": "^4.4.0",
|
||||||
"@typescript-eslint/scope-manager": "8.26.1",
|
"@typescript-eslint/scope-manager": "8.30.1",
|
||||||
"@typescript-eslint/types": "8.26.1",
|
"@typescript-eslint/types": "8.30.1",
|
||||||
"@typescript-eslint/typescript-estree": "8.26.1"
|
"@typescript-eslint/typescript-estree": "8.30.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -2398,13 +2523,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "8.26.1",
|
"version": "8.30.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.30.1.tgz",
|
||||||
"integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==",
|
"integrity": "sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.26.1",
|
"@typescript-eslint/types": "8.30.1",
|
||||||
"eslint-visitor-keys": "^4.2.0"
|
"eslint-visitor-keys": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -2459,15 +2584,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/addons-linter": {
|
"node_modules/addons-linter": {
|
||||||
"version": "7.8.0",
|
"version": "7.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/addons-linter/-/addons-linter-7.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/addons-linter/-/addons-linter-7.9.0.tgz",
|
||||||
"integrity": "sha512-SnDJUAtrHu1RUMIiIZXNN8wF0ze7IbDokwUy5HZYlCkNTn8E4RcI74xhdHtCdtoQprAmyhxePP/hFf+9XPhe8w==",
|
"integrity": "sha512-ehoh43VG+DGOVxdT0XsO6camSMaHRCJf7shHX2qtKMRQo/29M1fGwZ+ssRTL0SucqLCvsmu3hmv13fEhC+79aA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fluent/syntax": "0.19.0",
|
"@fluent/syntax": "0.19.0",
|
||||||
"@fregante/relaxed-json": "2.0.0",
|
"@fregante/relaxed-json": "2.0.0",
|
||||||
"@mdn/browser-compat-data": "5.6.31",
|
"@mdn/browser-compat-data": "5.7.3",
|
||||||
"addons-moz-compare": "1.3.0",
|
"addons-moz-compare": "1.3.0",
|
||||||
"addons-scanner-utils": "9.12.0",
|
"addons-scanner-utils": "9.12.0",
|
||||||
"ajv": "8.17.1",
|
"ajv": "8.17.1",
|
||||||
@ -2482,10 +2607,10 @@
|
|||||||
"espree": "10.3.0",
|
"espree": "10.3.0",
|
||||||
"esprima": "4.0.1",
|
"esprima": "4.0.1",
|
||||||
"fast-json-patch": "3.1.1",
|
"fast-json-patch": "3.1.1",
|
||||||
"image-size": "1.2.0",
|
"image-size": "2.0.1",
|
||||||
"json-merge-patch": "1.0.2",
|
"json-merge-patch": "1.0.2",
|
||||||
"pino": "8.20.0",
|
"pino": "8.20.0",
|
||||||
"semver": "7.6.3",
|
"semver": "7.7.1",
|
||||||
"source-map-support": "0.5.21",
|
"source-map-support": "0.5.21",
|
||||||
"upath": "2.0.1",
|
"upath": "2.0.1",
|
||||||
"yargs": "17.7.2",
|
"yargs": "17.7.2",
|
||||||
@ -4026,19 +4151,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint": {
|
"node_modules/eslint": {
|
||||||
"version": "9.22.0",
|
"version": "9.24.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.24.0.tgz",
|
||||||
"integrity": "sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==",
|
"integrity": "sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@eslint-community/regexpp": "^4.12.1",
|
"@eslint-community/regexpp": "^4.12.1",
|
||||||
"@eslint/config-array": "^0.19.2",
|
"@eslint/config-array": "^0.20.0",
|
||||||
"@eslint/config-helpers": "^0.1.0",
|
"@eslint/config-helpers": "^0.2.0",
|
||||||
"@eslint/core": "^0.12.0",
|
"@eslint/core": "^0.12.0",
|
||||||
"@eslint/eslintrc": "^3.3.0",
|
"@eslint/eslintrc": "^3.3.1",
|
||||||
"@eslint/js": "9.22.0",
|
"@eslint/js": "9.24.0",
|
||||||
"@eslint/plugin-kit": "^0.2.7",
|
"@eslint/plugin-kit": "^0.2.7",
|
||||||
"@humanfs/node": "^0.16.6",
|
"@humanfs/node": "^0.16.6",
|
||||||
"@humanwhocodes/module-importer": "^1.0.1",
|
"@humanwhocodes/module-importer": "^1.0.1",
|
||||||
@ -4086,26 +4211,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint-compat-utils": {
|
|
||||||
"version": "0.6.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.6.4.tgz",
|
|
||||||
"integrity": "sha512-/u+GQt8NMfXO8w17QendT4gvO5acfxQsAKirAt0LVxDnr2N8YLCVbregaNc/Yhp7NM128DwCaRvr8PLDfeNkQw==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"semver": "^7.5.4"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"eslint": ">=6.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/eslint-config-prettier": {
|
"node_modules/eslint-config-prettier": {
|
||||||
"version": "10.1.1",
|
"version": "10.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.2.tgz",
|
||||||
"integrity": "sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==",
|
"integrity": "sha512-Epgp/EofAUeEpIdZkW60MHKvPyru1ruQJxPL+WIycnaPApuseK0Zpkrh/FwL9oIpQvIhJwV7ptOy0DWUjTlCiA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
@ -4126,22 +4235,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint-plugin-svelte": {
|
"node_modules/eslint-plugin-svelte": {
|
||||||
"version": "3.1.0",
|
"version": "3.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.5.1.tgz",
|
||||||
"integrity": "sha512-hSQyLDkuuHPJby1ixZfUVrfLON42mT0Odf18MbwAgFUPuyIwJlhy3acUY1/bxt+Njucq/dQxR543zYDqkBNLmw==",
|
"integrity": "sha512-Qn1slddZHfqYiDO6IN8/iN3YL+VuHlgYjm30FT+hh0Jf/TX0jeZMTJXQMajFm5f6f6hURi+XO8P+NPYD+T4jkg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.4.1",
|
"@eslint-community/eslint-utils": "^4.4.1",
|
||||||
"@jridgewell/sourcemap-codec": "^1.5.0",
|
"@jridgewell/sourcemap-codec": "^1.5.0",
|
||||||
"eslint-compat-utils": "^0.6.4",
|
|
||||||
"esutils": "^2.0.3",
|
"esutils": "^2.0.3",
|
||||||
"known-css-properties": "^0.35.0",
|
"known-css-properties": "^0.35.0",
|
||||||
"postcss": "^8.4.49",
|
"postcss": "^8.4.49",
|
||||||
"postcss-load-config": "^3.1.4",
|
"postcss-load-config": "^3.1.4",
|
||||||
"postcss-safe-parser": "^7.0.0",
|
"postcss-safe-parser": "^7.0.0",
|
||||||
"semver": "^7.6.3",
|
"semver": "^7.6.3",
|
||||||
"svelte-eslint-parser": "^1.0.1"
|
"svelte-eslint-parser": "^1.1.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -4242,9 +4350,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/esrap": {
|
"node_modules/esrap": {
|
||||||
"version": "1.4.5",
|
"version": "1.4.6",
|
||||||
"resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.5.tgz",
|
"resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.6.tgz",
|
||||||
"integrity": "sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g==",
|
"integrity": "sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -4782,9 +4890,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/hls.js": {
|
"node_modules/hls.js": {
|
||||||
"version": "1.5.20",
|
"version": "1.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.5.20.tgz",
|
"resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.6.2.tgz",
|
||||||
"integrity": "sha512-uu0VXUK52JhihhnN/MVVo1lvqNNuhoxkonqgO3IpjvQiGpJBdIXMGkofjQb/j9zvV7a1SW8U9g1FslWx/1HOiQ==",
|
"integrity": "sha512-rx+pETSCJEDThm/JCm8CuadcAC410cVjb1XVXFNDKFuylaayHk1+tFxhkjvnMDAfqsJHxZXDAJ3Uc2d5xQyWlQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
},
|
},
|
||||||
@ -4864,14 +4972,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/image-size": {
|
"node_modules/image-size": {
|
||||||
"version": "1.2.0",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.1.tgz",
|
||||||
"integrity": "sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w==",
|
"integrity": "sha512-NI6NK/2zchlZopsQrcVIS7jxA0/rtIy74B+/rx5s7rKQyFebmQjZVhzxXgRZJROk+WhhOq+S6sUaODxp0L5hfg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
|
||||||
"queue": "6.0.2"
|
|
||||||
},
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"image-size": "bin/image-size.js"
|
"image-size": "bin/image-size.js"
|
||||||
},
|
},
|
||||||
@ -5218,6 +5323,19 @@
|
|||||||
"js-yaml": "bin/js-yaml.js"
|
"js-yaml": "bin/js-yaml.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/jsesc": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"bin": {
|
||||||
|
"jsesc": "bin/jsesc"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/json-buffer": {
|
"node_modules/json-buffer": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
||||||
@ -6261,16 +6379,6 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/queue": {
|
|
||||||
"version": "6.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz",
|
|
||||||
"integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"inherits": "~2.0.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/queue-microtask": {
|
"node_modules/queue-microtask": {
|
||||||
"version": "1.2.3",
|
"version": "1.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
|
||||||
@ -6672,9 +6780,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/sass": {
|
"node_modules/sass": {
|
||||||
"version": "1.85.1",
|
"version": "1.86.3",
|
||||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.85.1.tgz",
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.86.3.tgz",
|
||||||
"integrity": "sha512-Uk8WpxM5v+0cMR0XjX9KfRIacmSG86RH4DCCZjLU2rFh5tyutt9siAXJ7G+YfxQ99Q6wrRMbMlVl6KqUms71ag==",
|
"integrity": "sha512-iGtg8kus4GrsGLRDLRBRHY9dNVA78ZaS7xr01cWnS7PEMQyFtTqBiyCrfpTYTZXRWM94akzckYjh8oADfFNTzw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -6700,9 +6808,9 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "7.6.3",
|
"version": "7.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
|
||||||
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
|
"integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"bin": {
|
"bin": {
|
||||||
@ -6995,9 +7103,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/svelte": {
|
"node_modules/svelte": {
|
||||||
"version": "5.23.0",
|
"version": "5.27.0",
|
||||||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-5.23.0.tgz",
|
"resolved": "https://registry.npmjs.org/svelte/-/svelte-5.27.0.tgz",
|
||||||
"integrity": "sha512-v0lL3NuKontiCxholEiAXCB+BYbndlKbwlDMK0DS86WgGELMJSpyqCSbJeMEMBDwOglnS7Ar2Rq0wwa/z2L8Vg==",
|
"integrity": "sha512-Uai13Ydt1ZE+bUHme6b9U38PCYVNCqBRoBMkUKbFbKiD7kHWjdUUrklYAQZJxyKK81qII4mrBwe/YmvEMSlC9w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -7010,7 +7118,7 @@
|
|||||||
"axobject-query": "^4.1.0",
|
"axobject-query": "^4.1.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"esm-env": "^1.2.1",
|
"esm-env": "^1.2.1",
|
||||||
"esrap": "^1.4.3",
|
"esrap": "^1.4.6",
|
||||||
"is-reference": "^3.0.3",
|
"is-reference": "^3.0.3",
|
||||||
"locate-character": "^3.0.0",
|
"locate-character": "^3.0.0",
|
||||||
"magic-string": "^0.30.11",
|
"magic-string": "^0.30.11",
|
||||||
@ -7021,9 +7129,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/svelte-check": {
|
"node_modules/svelte-check": {
|
||||||
"version": "4.1.5",
|
"version": "4.1.6",
|
||||||
"resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.1.6.tgz",
|
||||||
"integrity": "sha512-Gb0T2IqBNe1tLB9EB1Qh+LOe+JB8wt2/rNBDGvkxQVvk8vNeAoG+vZgFB/3P5+zC7RWlyBlzm9dVjZFph/maIg==",
|
"integrity": "sha512-P7w/6tdSfk3zEVvfsgrp3h3DFC75jCdZjTQvgGJtjPORs1n7/v2VMPIoty3PWv7jnfEm3x0G/p9wH4pecTb0Wg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -7075,9 +7183,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/svelte-eslint-parser": {
|
"node_modules/svelte-eslint-parser": {
|
||||||
"version": "1.0.1",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.1.2.tgz",
|
||||||
"integrity": "sha512-JjdEMXOJqy+dxeaElxbN+meTOtVpHfLnq9VGpiTAOLgM0uHO+ogmUsA3IFgx0x3Wl15pqTZWycCikcD7cAQN/g==",
|
"integrity": "sha512-vqFBRamDKo1l70KMfxxXj1/0Cco5TfMDnqaAjgz6D8PyoMhfMcDOLRkAwPg8WkMyZjMtQL3wW66TZ0x59iqO2w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -7183,6 +7291,51 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/tinyglobby": {
|
||||||
|
"version": "0.2.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz",
|
||||||
|
"integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"fdir": "^6.4.3",
|
||||||
|
"picomatch": "^4.0.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/SuperchupuDev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/tinyglobby/node_modules/fdir": {
|
||||||
|
"version": "6.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz",
|
||||||
|
"integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"peerDependencies": {
|
||||||
|
"picomatch": "^3 || ^4"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"picomatch": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/tinyglobby/node_modules/picomatch": {
|
||||||
|
"version": "4.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
|
||||||
|
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/jonschlinkert"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/titleize": {
|
"node_modules/titleize": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz",
|
||||||
@ -7220,9 +7373,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ts-api-utils": {
|
"node_modules/ts-api-utils": {
|
||||||
"version": "2.0.1",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
|
||||||
"integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==",
|
"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -7273,9 +7426,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/typescript": {
|
"node_modules/typescript": {
|
||||||
"version": "5.8.2",
|
"version": "5.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
|
||||||
"integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
|
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"bin": {
|
"bin": {
|
||||||
@ -7287,15 +7440,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typescript-eslint": {
|
"node_modules/typescript-eslint": {
|
||||||
"version": "8.26.1",
|
"version": "8.30.1",
|
||||||
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.26.1.tgz",
|
"resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.30.1.tgz",
|
||||||
"integrity": "sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==",
|
"integrity": "sha512-D7lC0kcehVH7Mb26MRQi64LMyRJsj3dToJxM1+JVTl53DQSV5/7oUGWQLcKl1C1KnoVHxMMU2FNQMffr7F3Row==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/eslint-plugin": "8.26.1",
|
"@typescript-eslint/eslint-plugin": "8.30.1",
|
||||||
"@typescript-eslint/parser": "8.26.1",
|
"@typescript-eslint/parser": "8.30.1",
|
||||||
"@typescript-eslint/utils": "8.26.1"
|
"@typescript-eslint/utils": "8.30.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -7413,15 +7566,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "6.2.2",
|
"version": "6.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-6.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-6.3.0.tgz",
|
||||||
"integrity": "sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==",
|
"integrity": "sha512-9aC0n4pr6hIbvi1YOpFjwQ+QOTGssvbJKoeYkuHHGWwlXfdxQlI8L2qNMo9awEEcCPSiS+5mJZk5jH1PAqoDeQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esbuild": "^0.25.0",
|
"esbuild": "^0.25.0",
|
||||||
|
"fdir": "^6.4.3",
|
||||||
|
"picomatch": "^4.0.2",
|
||||||
"postcss": "^8.5.3",
|
"postcss": "^8.5.3",
|
||||||
"rollup": "^4.30.1"
|
"rollup": "^4.34.9",
|
||||||
|
"tinyglobby": "^0.2.12"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"vite": "bin/vite.js"
|
"vite": "bin/vite.js"
|
||||||
@ -7484,6 +7640,34 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/vite/node_modules/fdir": {
|
||||||
|
"version": "6.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz",
|
||||||
|
"integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"peerDependencies": {
|
||||||
|
"picomatch": "^3 || ^4"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"picomatch": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/vite/node_modules/picomatch": {
|
||||||
|
"version": "4.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
|
||||||
|
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/jonschlinkert"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vitefu": {
|
"node_modules/vitefu": {
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.4.tgz",
|
||||||
@ -7528,15 +7712,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/web-ext": {
|
"node_modules/web-ext": {
|
||||||
"version": "8.4.0",
|
"version": "8.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/web-ext/-/web-ext-8.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/web-ext/-/web-ext-8.5.0.tgz",
|
||||||
"integrity": "sha512-zO0GNacJeqw3fwbBvgHC2G8reieyN+oCKiMQepX3iv2fm9KEBqg1gdbcdEvi7edfj+gjgxyXhVlFcHIvcEM2Cg==",
|
"integrity": "sha512-Cf7MLD4GDBLapBojGCywcDuScm7hi+M8n7JzqDYX1oNTrVvFirfWcu+A6RCqRyu1siMu3jY4ul/hAu9Chkf1Aw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "7.26.7",
|
"@babel/runtime": "7.26.10",
|
||||||
"@devicefarmer/adbkit": "3.3.8",
|
"@devicefarmer/adbkit": "3.3.8",
|
||||||
"addons-linter": "7.8.0",
|
"addons-linter": "7.9.0",
|
||||||
"camelcase": "8.0.0",
|
"camelcase": "8.0.0",
|
||||||
"chrome-launcher": "1.1.2",
|
"chrome-launcher": "1.1.2",
|
||||||
"debounce": "1.2.1",
|
"debounce": "1.2.1",
|
||||||
@ -7559,7 +7743,7 @@
|
|||||||
"tmp": "0.2.3",
|
"tmp": "0.2.3",
|
||||||
"update-notifier": "7.3.1",
|
"update-notifier": "7.3.1",
|
||||||
"watchpack": "2.4.2",
|
"watchpack": "2.4.2",
|
||||||
"ws": "8.18.0",
|
"ws": "8.18.1",
|
||||||
"yargs": "17.7.2",
|
"yargs": "17.7.2",
|
||||||
"zip-dir": "2.0.0"
|
"zip-dir": "2.0.0"
|
||||||
},
|
},
|
||||||
@ -7714,9 +7898,9 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/ws": {
|
"node_modules/ws": {
|
||||||
"version": "8.18.0",
|
"version": "8.18.1",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz",
|
||||||
"integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
|
"integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
31
package.json
31
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "stream-bypass",
|
"name": "stream-bypass",
|
||||||
"version": "3.1.2",
|
"version": "3.1.5",
|
||||||
"displayName": "Stream Bypass",
|
"displayName": "Stream Bypass",
|
||||||
"author": "bytedream",
|
"author": "bytedream",
|
||||||
"description": "Multi-browser addon for multiple streaming providers which redirects directly to the source video",
|
"description": "Multi-browser addon for multiple streaming providers which redirects directly to the source video",
|
||||||
@ -11,8 +11,8 @@
|
|||||||
"serve:firefox": "web-ext run --start-url \"about:debugging#/runtime/this-firefox\" --source-dir ./dist/",
|
"serve:firefox": "web-ext run --start-url \"about:debugging#/runtime/this-firefox\" --source-dir ./dist/",
|
||||||
"serve:chrome": "web-ext run -t chromium --start-url \"https://example.com\" --source-dir ./dist/",
|
"serve:chrome": "web-ext run -t chromium --start-url \"https://example.com\" --source-dir ./dist/",
|
||||||
"check": "svelte-check --tsconfig ./tsconfig.json",
|
"check": "svelte-check --tsconfig ./tsconfig.json",
|
||||||
"lint": "prettier --check --plugin prettier-plugin-svelte . && eslint .",
|
"lint": "prettier --check . && eslint .",
|
||||||
"format": "prettier --write --plugin prettier-plugin-svelte .",
|
"format": "prettier --write .",
|
||||||
"release:firefox": "MANIFEST_VERSION=2 vite build --outDir release/firefox",
|
"release:firefox": "MANIFEST_VERSION=2 vite build --outDir release/firefox",
|
||||||
"release:chrome": "MANIFEST_VERSION=3 vite build --outDir release/chrome"
|
"release:chrome": "MANIFEST_VERSION=3 vite build --outDir release/chrome"
|
||||||
},
|
},
|
||||||
@ -25,26 +25,27 @@
|
|||||||
"url": "https://github.com/bytedream/stream-bypass/issues"
|
"url": "https://github.com/bytedream/stream-bypass/issues"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@ianvs/prettier-plugin-sort-imports": "^4.4.1",
|
||||||
"@samrum/vite-plugin-web-extension": "^5.1.1",
|
"@samrum/vite-plugin-web-extension": "^5.1.1",
|
||||||
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
||||||
"@tsconfig/svelte": "^5.0.4",
|
"@tsconfig/svelte": "^5.0.4",
|
||||||
"@types/chrome": "^0.0.309",
|
"@types/chrome": "^0.0.315",
|
||||||
"@types/firefox-webext-browser": "^120.0.4",
|
"@types/firefox-webext-browser": "^120.0.4",
|
||||||
"eslint": "^9.22.0",
|
"eslint": "^9.24.0",
|
||||||
"eslint-config-prettier": "^10.1.1",
|
"eslint-config-prettier": "^10.1.2",
|
||||||
"eslint-plugin-svelte": "^3.1.0",
|
"eslint-plugin-svelte": "^3.5.1",
|
||||||
"hls.js": "^1.5.20",
|
"hls.js": "^1.6.2",
|
||||||
"prettier": "^3.5.3",
|
"prettier": "^3.5.3",
|
||||||
"prettier-plugin-svelte": "^3.3.3",
|
"prettier-plugin-svelte": "^3.3.3",
|
||||||
"sass": "^1.85.1",
|
"sass": "^1.86.3",
|
||||||
"svelte": "^5.23.0",
|
"svelte": "^5.27.0",
|
||||||
"svelte-check": "^4.1.5",
|
"svelte-check": "^4.1.6",
|
||||||
"svelte-preprocess": "^6.0.3",
|
"svelte-preprocess": "^6.0.3",
|
||||||
"tslib": "^2.8.1",
|
"tslib": "^2.8.1",
|
||||||
"typescript": "^5.8.2",
|
"typescript": "^5.8.3",
|
||||||
"typescript-eslint": "^8.26.1",
|
"typescript-eslint": "^8.30.1",
|
||||||
"vite": "^6.2.2",
|
"vite": "^6.3.0",
|
||||||
"web-ext": "^8.4.0"
|
"web-ext": "^8.5.0"
|
||||||
},
|
},
|
||||||
"type": "module"
|
"type": "module"
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
import './shared';
|
import './shared';
|
||||||
|
|
||||||
import type { Match } from '~/lib/match';
|
import { getMatch, type Match } from '~/lib/match';
|
||||||
import { Redirect, UrlReferer } from '~/lib/settings';
|
import { Redirect, UrlReferer } from '~/lib/settings';
|
||||||
import { getMatch } from '~/lib/match';
|
|
||||||
|
|
||||||
chrome.webRequest.onBeforeSendHeaders.addListener(
|
chrome.webRequest.onBeforeSendHeaders.addListener(
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import type { Match } from '~/lib/match';
|
import { getMatch, MatchMediaType, type Match } from '~/lib/match';
|
||||||
import { getMatch } from '~/lib/match';
|
|
||||||
import { Other, Redirect } from '~/lib/settings';
|
import { Other, Redirect } from '~/lib/settings';
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
@ -35,13 +34,28 @@ async function main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let url: string | null;
|
let url: string | null;
|
||||||
|
let urlType: MatchMediaType | null;
|
||||||
try {
|
try {
|
||||||
url = await match.match(re);
|
const matchResult = await match.match(re);
|
||||||
|
if (matchResult && typeof matchResult === 'string') {
|
||||||
|
url = matchResult;
|
||||||
|
urlType = url.includes('.m3u8') ? MatchMediaType.Hls : MatchMediaType.Native;
|
||||||
|
} else if (matchResult && typeof matchResult === 'object') {
|
||||||
|
if (MatchMediaType.Hls in matchResult) {
|
||||||
|
url = matchResult[MatchMediaType.Hls];
|
||||||
|
urlType = MatchMediaType.Hls;
|
||||||
|
} else if (MatchMediaType.Native in matchResult) {
|
||||||
|
url = matchResult[MatchMediaType.Native];
|
||||||
|
urlType = MatchMediaType.Native;
|
||||||
|
}
|
||||||
|
}
|
||||||
} catch {
|
} catch {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!url) {
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
// @ts-ignore
|
||||||
|
if (!url || !urlType) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,7 +64,7 @@ async function main() {
|
|||||||
await chrome.runtime.sendMessage({ action: 'ff2mpv', url: url });
|
await chrome.runtime.sendMessage({ action: 'ff2mpv', url: url });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (match.replace && !url.includes('.m3u8')) {
|
if (match.replace && urlType != MatchMediaType.Hls) {
|
||||||
// this destroys all intervals that may spawn popups or events
|
// this destroys all intervals that may spawn popups or events
|
||||||
let intervalId = window.setInterval(() => {}, 0);
|
let intervalId = window.setInterval(() => {}, 0);
|
||||||
while (intervalId--) {
|
while (intervalId--) {
|
||||||
@ -81,7 +95,7 @@ async function main() {
|
|||||||
chrome.runtime.getURL(
|
chrome.runtime.getURL(
|
||||||
`src/entries/player/player.html?id=${match.id}&url=${encodeURIComponent(url)}&domain=${
|
`src/entries/player/player.html?id=${match.id}&url=${encodeURIComponent(url)}&domain=${
|
||||||
window.location.hostname
|
window.location.hostname
|
||||||
}`
|
}&type=${urlType}`
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { play } from '~/entries/player/player';
|
|
||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
|
import { play } from '~/entries/player/player';
|
||||||
|
|
||||||
let errorMessage: string | null = $state(null);
|
let errorMessage: string | null = $state(null);
|
||||||
|
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<script type="module">
|
<script type="module">
|
||||||
import Player from '~/entries/player/Player.svelte';
|
|
||||||
import { mount } from 'svelte';
|
import { mount } from 'svelte';
|
||||||
|
import Player from '~/entries/player/Player.svelte';
|
||||||
|
|
||||||
mount(Player, {
|
mount(Player, {
|
||||||
target: document.body
|
target: document.body
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { matches } from '~/lib/match';
|
|
||||||
import Hls from 'hls.js';
|
import Hls from 'hls.js';
|
||||||
|
import { matches, MatchMediaType } from '~/lib/match';
|
||||||
import { UrlReferer } from '~/lib/settings';
|
import { UrlReferer } from '~/lib/settings';
|
||||||
|
|
||||||
async function playNative(url: string, domain: string, videoElem: HTMLVideoElement) {
|
async function playNative(url: string, domain: string, videoElem: HTMLVideoElement) {
|
||||||
@ -31,6 +31,7 @@ export async function play(videoElem: HTMLVideoElement) {
|
|||||||
const id = urlQuery.get('id') as string;
|
const id = urlQuery.get('id') as string;
|
||||||
const url = decodeURIComponent(urlQuery.get('url') as string);
|
const url = decodeURIComponent(urlQuery.get('url') as string);
|
||||||
const domain = urlQuery.get('domain') as string;
|
const domain = urlQuery.get('domain') as string;
|
||||||
|
const type = urlQuery.get('type') as MatchMediaType;
|
||||||
|
|
||||||
const match = matches[id];
|
const match = matches[id];
|
||||||
if (match === undefined) {
|
if (match === undefined) {
|
||||||
@ -38,9 +39,9 @@ export async function play(videoElem: HTMLVideoElement) {
|
|||||||
}
|
}
|
||||||
document.title = `Stream Bypass (${domain})`;
|
document.title = `Stream Bypass (${domain})`;
|
||||||
|
|
||||||
if (new URL(url).pathname.endsWith('.m3u8')) {
|
if (type === MatchMediaType.Hls) {
|
||||||
await playHls(url, domain, videoElem);
|
await playHls(url, domain, videoElem);
|
||||||
} else {
|
} else if (type === MatchMediaType.Native) {
|
||||||
await playNative(url, domain, videoElem);
|
await playNative(url, domain, videoElem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { type Match, matches } from '~/lib/match';
|
import { matches, type Match } from '~/lib/match';
|
||||||
import { Hosters, Other } from '~/lib/settings';
|
import { Hosters, Other } from '~/lib/settings';
|
||||||
import Toggle from './toggle.svelte';
|
import Toggle from './toggle.svelte';
|
||||||
|
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
</head>
|
</head>
|
||||||
<body style="overflow-y: scroll">
|
<body style="overflow-y: scroll">
|
||||||
<script type="module">
|
<script type="module">
|
||||||
import Popup from '~/entries/popup/Popup.svelte';
|
|
||||||
import { mount } from 'svelte';
|
import { mount } from 'svelte';
|
||||||
|
import Popup from '~/entries/popup/Popup.svelte';
|
||||||
|
|
||||||
mount(Popup, {
|
mount(Popup, {
|
||||||
target: document.body
|
target: document.body
|
||||||
|
162
src/lib/match.ts
162
src/lib/match.ts
@ -1,5 +1,6 @@
|
|||||||
import { unpack } from './utils';
|
|
||||||
import { Hosters, Redirect, TmpHost } from './settings';
|
import { Hosters, Redirect, TmpHost } from './settings';
|
||||||
|
import { lastPathSegment } from './util/extract';
|
||||||
|
import { unpack } from './util/userspace';
|
||||||
|
|
||||||
export interface Match {
|
export interface Match {
|
||||||
name: string;
|
name: string;
|
||||||
@ -9,7 +10,19 @@ export interface Match {
|
|||||||
regex: RegExp[];
|
regex: RegExp[];
|
||||||
notice?: string;
|
notice?: string;
|
||||||
|
|
||||||
match(match: RegExpMatchArray): Promise<string | null>;
|
match(
|
||||||
|
match: RegExpMatchArray
|
||||||
|
): Promise<
|
||||||
|
string | { [MatchMediaType.Hls]: string } | { [MatchMediaType.Native]: string } | null
|
||||||
|
>;
|
||||||
|
|
||||||
|
// allow other properties that may be implemented by the objects that use this interface declaration
|
||||||
|
[other: string]: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum MatchMediaType {
|
||||||
|
Hls = 'hls',
|
||||||
|
Native = 'native'
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Doodstream: Match = {
|
export const Doodstream: Match = {
|
||||||
@ -38,7 +51,7 @@ export const Doodstream: Match = {
|
|||||||
replace: true,
|
replace: true,
|
||||||
regex: [/(\/pass_md5\/.*?)'.*(\?token=.*?expiry=)/s],
|
regex: [/(\/pass_md5\/.*?)'.*(\?token=.*?expiry=)/s],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
const response = await fetch(`https://${window.location.host}${match[1]}`, {
|
const response = await fetch(`https://${window.location.host}${match[1]}`, {
|
||||||
headers: {
|
headers: {
|
||||||
Range: 'bytes=0-'
|
Range: 'bytes=0-'
|
||||||
@ -57,7 +70,7 @@ export const DropLoad: Match = {
|
|||||||
domains: ['dropload.ui'],
|
domains: ['dropload.ui'],
|
||||||
regex: [/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
regex: [/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
const unpacked = await unpack(match[0]);
|
const unpacked = await unpack(match[0]);
|
||||||
return unpacked.match(/(?<=file:").*(?=")/)![0];
|
return unpacked.match(/(?<=file:").*(?=")/)![0];
|
||||||
}
|
}
|
||||||
@ -70,7 +83,7 @@ export const Filemoon: Match = {
|
|||||||
regex: [/(?<=<iframe\s*src=")\S*(?=")/s, /eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
regex: [/(?<=<iframe\s*src=")\S*(?=")/s, /eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
||||||
replace: true,
|
replace: true,
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
if (window.location.host.startsWith('filemoon')) {
|
if (window.location.host.startsWith('filemoon')) {
|
||||||
await TmpHost.set(new URL(match[0]).host, Filemoon);
|
await TmpHost.set(new URL(match[0]).host, Filemoon);
|
||||||
return null;
|
return null;
|
||||||
@ -89,7 +102,7 @@ export const GoodStream: Match = {
|
|||||||
domains: ['goodstream.uno'],
|
domains: ['goodstream.uno'],
|
||||||
regex: [/(?<=file:\s+").*(?=")/g],
|
regex: [/(?<=file:\s+").*(?=")/g],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
return match[0];
|
return match[0];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -100,12 +113,38 @@ export const Kwik: Match = {
|
|||||||
domains: ['kwik.cx'],
|
domains: ['kwik.cx'],
|
||||||
regex: [/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
regex: [/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
const unpacked = await unpack(match[0]);
|
const unpacked = await unpack(match[0]);
|
||||||
return unpacked.match(/(?<=source=').*(?=')/)![0];
|
return unpacked.match(/(?<=source=').*(?=')/)![0];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const LoadX: Match = {
|
||||||
|
name: 'LoadX',
|
||||||
|
id: 'loadx',
|
||||||
|
domains: ['loadx.ws'],
|
||||||
|
regex: [/./gm],
|
||||||
|
|
||||||
|
match: async () => {
|
||||||
|
const hash = encodeURIComponent(lastPathSegment(window.location.href));
|
||||||
|
const response = await fetch(
|
||||||
|
`https://${window.location.host}/player/index.php?data=${hash}&do=getVideo`,
|
||||||
|
{
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'X-Requested-With': 'XMLHttpRequest'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const responseJson = await response.json();
|
||||||
|
const videoSource: string = responseJson['videoSource'];
|
||||||
|
|
||||||
|
// extension of extracted url is '.txt', so we have to manually specify that it's a hls
|
||||||
|
return { [MatchMediaType.Hls]: videoSource.replace('\\/', '/') };
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
export const Luluvdo: Match = {
|
export const Luluvdo: Match = {
|
||||||
name: 'Luluvdo',
|
name: 'Luluvdo',
|
||||||
id: 'luluvdo',
|
id: 'luluvdo',
|
||||||
@ -113,22 +152,28 @@ export const Luluvdo: Match = {
|
|||||||
regex: [/./gm],
|
regex: [/./gm],
|
||||||
|
|
||||||
match: async () => {
|
match: async () => {
|
||||||
const post_match = window.location.href.match(/(?<=\/embed\/)\S*(\/.*)?/)!;
|
const requestBody = new FormData();
|
||||||
|
requestBody.set('op', 'embed');
|
||||||
const request_body = new FormData();
|
requestBody.set('file_code', lastPathSegment(window.location.href));
|
||||||
request_body.set('op', 'embed');
|
|
||||||
request_body.set('file_code', post_match[0]);
|
|
||||||
const response = await fetch(`https://${window.location.host}/dl`, {
|
const response = await fetch(`https://${window.location.host}/dl`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: request_body,
|
body: requestBody,
|
||||||
referrer: window.location.href
|
referrer: window.location.href
|
||||||
});
|
});
|
||||||
|
|
||||||
const eval_match = (await response.text()).match(
|
let unpacked;
|
||||||
/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms
|
|
||||||
)!;
|
const responseText = await response.text();
|
||||||
|
const evalMatch = responseText.match(/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms)!;
|
||||||
|
// sometimes is packed, sometimes it's not. looks like someone forgets to obfuscate the code when pushing to
|
||||||
|
// production
|
||||||
|
if (evalMatch) {
|
||||||
|
unpacked = await unpack(evalMatch[0]);
|
||||||
|
return unpacked.match(/(?<=file:").*(?=")/)![0];
|
||||||
|
} else {
|
||||||
|
unpacked = responseText;
|
||||||
|
}
|
||||||
|
|
||||||
const unpacked = await unpack(eval_match[0]);
|
|
||||||
return unpacked.match(/(?<=file:").*(?=")/)![0];
|
return unpacked.match(/(?<=file:").*(?=")/)![0];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -139,7 +184,7 @@ export const Mixdrop: Match = {
|
|||||||
domains: ['mixdrop.co', 'mixdrop.to', 'mixdrop.ch', 'mixdrop.bz', 'mixdrop.gl'],
|
domains: ['mixdrop.co', 'mixdrop.to', 'mixdrop.ch', 'mixdrop.bz', 'mixdrop.gl'],
|
||||||
regex: [/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
regex: [/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
const unpacked = await unpack(match[0]);
|
const unpacked = await unpack(match[0]);
|
||||||
const url = unpacked.match(/(?<=MDCore.wurl=").*(?=")/)![0];
|
const url = unpacked.match(/(?<=MDCore.wurl=").*(?=")/)![0];
|
||||||
return `https:${url}`;
|
return `https:${url}`;
|
||||||
@ -153,7 +198,7 @@ export const Mp4Upload: Match = {
|
|||||||
replace: true,
|
replace: true,
|
||||||
regex: [/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
regex: [/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
const unpacked = await unpack(match[0]);
|
const unpacked = await unpack(match[0]);
|
||||||
return unpacked.match(/(?<=player.src\(").*(?=")/)![0];
|
return unpacked.match(/(?<=player.src\(").*(?=")/)![0];
|
||||||
}
|
}
|
||||||
@ -183,7 +228,7 @@ export const StreamA2z: Match = {
|
|||||||
domains: ['streama2z.com', 'streama2z.xyz'],
|
domains: ['streama2z.com', 'streama2z.xyz'],
|
||||||
regex: [/https?:\/\/\S*m3u8.+(?=['"])/gm],
|
regex: [/https?:\/\/\S*m3u8.+(?=['"])/gm],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
if (StreamA2z.domains.indexOf(window.location.hostname) !== -1) {
|
if (StreamA2z.domains.indexOf(window.location.hostname) !== -1) {
|
||||||
await Redirect.set(StreamA2z);
|
await Redirect.set(StreamA2z);
|
||||||
return null;
|
return null;
|
||||||
@ -198,7 +243,7 @@ export const Streamtape: Match = {
|
|||||||
domains: ['streamtape.com', 'streamtape.net', 'shavetape.cash'],
|
domains: ['streamtape.com', 'streamtape.net', 'shavetape.cash'],
|
||||||
regex: [/id=.*(?=')/gm],
|
regex: [/id=.*(?=')/gm],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
let i = 0;
|
let i = 0;
|
||||||
while (i < match.length) {
|
while (i < match.length) {
|
||||||
if (match[++i - 1] == match[i]) {
|
if (match[++i - 1] == match[i]) {
|
||||||
@ -217,7 +262,7 @@ export const Streamzz: Match = {
|
|||||||
domains: ['streamzz.to', 'streamz.ws'],
|
domains: ['streamzz.to', 'streamz.ws'],
|
||||||
regex: [/(?<=\|)\w{2,}/gm],
|
regex: [/(?<=\|)\w{2,}/gm],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
return `https://get.${location.hostname.split('.')[0]}.tw/getlink-${
|
return `https://get.${location.hostname.split('.')[0]}.tw/getlink-${
|
||||||
match.sort((a, b) => b.length - a.length)[0]
|
match.sort((a, b) => b.length - a.length)[0]
|
||||||
}.dll`;
|
}.dll`;
|
||||||
@ -230,7 +275,7 @@ export const SuperVideo: Match = {
|
|||||||
domains: ['supervideo.tv'],
|
domains: ['supervideo.tv'],
|
||||||
regex: [/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
regex: [/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
const unpacked = await unpack(match[0]);
|
const unpacked = await unpack(match[0]);
|
||||||
return unpacked.match(/(?<=file:").*(?=")/)![0];
|
return unpacked.match(/(?<=file:").*(?=")/)![0];
|
||||||
}
|
}
|
||||||
@ -242,7 +287,7 @@ export const Upstream: Match = {
|
|||||||
domains: ['upstream.to'],
|
domains: ['upstream.to'],
|
||||||
regex: [/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
regex: [/eval\(function\(p,a,c,k,e,d\).*?(?=<\/script>)/gms],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
const unpacked = await unpack(match[0]);
|
const unpacked = await unpack(match[0]);
|
||||||
return unpacked.match(/(?<=file:").*(?=")/)![0];
|
return unpacked.match(/(?<=file:").*(?=")/)![0];
|
||||||
}
|
}
|
||||||
@ -255,7 +300,7 @@ export const Vidmoly: Match = {
|
|||||||
regex: [/(?<=file:").+\.m3u8/gm],
|
regex: [/(?<=file:").+\.m3u8/gm],
|
||||||
replace: true,
|
replace: true,
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
return match[0];
|
return match[0];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -267,7 +312,7 @@ export const Vidoza: Match = {
|
|||||||
regex: [/(?<=src:\s?").+?(?=")/gm],
|
regex: [/(?<=src:\s?").+?(?=")/gm],
|
||||||
replace: true,
|
replace: true,
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
return match[0];
|
return match[0];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -275,11 +320,65 @@ export const Vidoza: Match = {
|
|||||||
export const Voe: Match = {
|
export const Voe: Match = {
|
||||||
name: 'Voe',
|
name: 'Voe',
|
||||||
id: 'voe',
|
id: 'voe',
|
||||||
domains: ['voe.sx', 'maxfinishseveral.com'],
|
domains: ['voe.sx'],
|
||||||
regex: [/(?<='hls':\s*')\S*(?=')/gm],
|
regex: [
|
||||||
|
// voe.sx
|
||||||
|
/(?<=window\.location\.href\s=\s')\S*(?=')/gm,
|
||||||
|
// whatever site voe.sx redirects to
|
||||||
|
/(?<=")\S+(@\$|\^\^|~@|%\?|\*~|!!|#&)(?=")/gm
|
||||||
|
],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
return atob(match[0]);
|
if (window.location.host === 'voe.sx') {
|
||||||
|
const redirectUrl = new URL(match[0]);
|
||||||
|
await TmpHost.set(redirectUrl.host, Voe);
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
let deobfuscated = match[0];
|
||||||
|
deobfuscated = this.rot13(deobfuscated);
|
||||||
|
deobfuscated = this.removeSpecialSequences(deobfuscated);
|
||||||
|
deobfuscated = atob(deobfuscated);
|
||||||
|
deobfuscated = this.shiftString(deobfuscated);
|
||||||
|
deobfuscated = deobfuscated.split('').reverse().join('');
|
||||||
|
deobfuscated = atob(deobfuscated);
|
||||||
|
|
||||||
|
const payload = JSON.parse(deobfuscated);
|
||||||
|
|
||||||
|
return payload['source'];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
rot13: function (encrypted: string) {
|
||||||
|
let decrypted = '';
|
||||||
|
for (let i = 0; i < encrypted.length; i++) {
|
||||||
|
let char = encrypted.charCodeAt(i);
|
||||||
|
if (char >= 65 && char <= 90) {
|
||||||
|
char = ((char - 65 + 13) % 26) + 65;
|
||||||
|
} else if (char >= 97 && char <= 122) {
|
||||||
|
char = ((char - 97 + 13) % 26) + 97;
|
||||||
|
}
|
||||||
|
decrypted += String.fromCharCode(char);
|
||||||
|
}
|
||||||
|
return decrypted;
|
||||||
|
},
|
||||||
|
removeSpecialSequences: function (input: string) {
|
||||||
|
return input
|
||||||
|
.replaceAll(/@\$/g, '')
|
||||||
|
.replaceAll(/\^\^/g, '')
|
||||||
|
.replaceAll(/~@/g, '')
|
||||||
|
.replaceAll(/%\?/g, '')
|
||||||
|
.replaceAll(/\*~/g, '')
|
||||||
|
.replaceAll(/!!/g, '')
|
||||||
|
.replaceAll(/#&/g, '');
|
||||||
|
},
|
||||||
|
shiftString: function (input: string) {
|
||||||
|
let shifted = '';
|
||||||
|
for (let i = 0; i < input.length; i++) {
|
||||||
|
const char = input.charCodeAt(i);
|
||||||
|
const shiftedChar = char - 3;
|
||||||
|
shifted += String.fromCharCode(shiftedChar);
|
||||||
|
}
|
||||||
|
return shifted;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -289,7 +388,7 @@ export const Vupload: Match = {
|
|||||||
domains: ['vupload.com'],
|
domains: ['vupload.com'],
|
||||||
regex: [/(?<=src:\s?").+?(?=")/gm],
|
regex: [/(?<=src:\s?").+?(?=")/gm],
|
||||||
|
|
||||||
match: async (match: RegExpMatchArray) => {
|
match: async function (match: RegExpMatchArray) {
|
||||||
return match[0];
|
return match[0];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -300,6 +399,7 @@ export const matches = {
|
|||||||
[Filemoon.id]: Filemoon,
|
[Filemoon.id]: Filemoon,
|
||||||
[GoodStream.id]: GoodStream,
|
[GoodStream.id]: GoodStream,
|
||||||
[Kwik.id]: Kwik,
|
[Kwik.id]: Kwik,
|
||||||
|
[LoadX.id]: LoadX,
|
||||||
[Luluvdo.id]: Luluvdo,
|
[Luluvdo.id]: Luluvdo,
|
||||||
[Mixdrop.id]: Mixdrop,
|
[Mixdrop.id]: Mixdrop,
|
||||||
[Mp4Upload.id]: Mp4Upload,
|
[Mp4Upload.id]: Mp4Upload,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import type { Match } from './match';
|
import { matches, type Match } from './match';
|
||||||
import { matches } from './match';
|
|
||||||
|
|
||||||
export const Hosters = {
|
export const Hosters = {
|
||||||
getDisabled: async () => {
|
getDisabled: async () => {
|
||||||
|
6
src/lib/util/extract.ts
Normal file
6
src/lib/util/extract.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export function lastPathSegment(path: string): string {
|
||||||
|
while (path.endsWith('/')) {
|
||||||
|
path = path.slice(0, -1);
|
||||||
|
}
|
||||||
|
return path.substring(path.lastIndexOf('/') + 1);
|
||||||
|
}
|
@ -2,7 +2,7 @@
|
|||||||
"extends": "@tsconfig/svelte/tsconfig.json",
|
"extends": "@tsconfig/svelte/tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"allowSyntheticDefaultImports": true,
|
"allowSyntheticDefaultImports": true,
|
||||||
"target": "es2019",
|
"target": "es2021",
|
||||||
"module": "esnext",
|
"module": "esnext",
|
||||||
"useDefineForClassFields": true,
|
"useDefineForClassFields": true,
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import { defineConfig, loadEnv } from 'vite';
|
import { fileURLToPath } from 'url';
|
||||||
import { svelte } from '@sveltejs/vite-plugin-svelte';
|
|
||||||
import webExtension from '@samrum/vite-plugin-web-extension';
|
import webExtension from '@samrum/vite-plugin-web-extension';
|
||||||
import path from 'path';
|
import { svelte } from '@sveltejs/vite-plugin-svelte';
|
||||||
import { getManifest } from './src/manifest';
|
import { defineConfig, loadEnv, type PluginOption } from 'vite';
|
||||||
import { matches } from './src/lib/match';
|
import { matches } from './src/lib/match';
|
||||||
|
import { getManifest } from './src/manifest';
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig(({ mode }) => {
|
export default defineConfig(({ mode }) => {
|
||||||
@ -11,7 +11,7 @@ export default defineConfig(({ mode }) => {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
plugins: [
|
plugins: [
|
||||||
svelte(),
|
svelte() as PluginOption,
|
||||||
webExtension({
|
webExtension({
|
||||||
manifest: getManifest(Number(env.MANIFEST_VERSION)),
|
manifest: getManifest(Number(env.MANIFEST_VERSION)),
|
||||||
additionalInputs: {
|
additionalInputs: {
|
||||||
@ -27,12 +27,10 @@ export default defineConfig(({ mode }) => {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
})
|
}) as unknown as PluginOption
|
||||||
],
|
],
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: [{ find: '~', replacement: fileURLToPath(new URL('./src', import.meta.url)) }]
|
||||||
'~': path.resolve(__dirname, './src')
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user