@vyla-entertainment/sdk 1.9.0 → 1.11.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/.github/workflows/publish.yml +38 -38
- package/.gitlab-ci.yml +16 -0
- package/README.md +9 -13
- package/package.json +33 -32
- package/src/config.js +140 -116
- package/src/health.js +2 -2
- package/src/sdk.d.ts +122 -122
- package/src/sdk.js +7 -4
- package/src/sources/anineko.js +3 -1
- package/src/sources/bcine.js +202 -0
- package/src/sources/cinejoy.js +194 -209
- package/src/sources/cinesrc.js +212 -0
- package/src/sources/cinesu.js +147 -93
- package/src/sources/flaxmovies.js +113 -21
- package/src/sources/frame.js +88 -0
- package/src/sources/fsonic.js +3 -1
- package/src/sources/fsonline.js +3 -1
- package/src/sources/lmscript.js +42 -42
- package/src/sources/lookmovie.js +3 -1
- package/src/sources/luna.js +125 -0
- package/src/sources/mapple.js +40 -4
- package/src/sources/megasource.js +47 -0
- package/src/sources/meowtv.js +0 -1
- package/src/sources/nova.js +46 -0
- package/src/sources/peestream.js +122 -0
- package/src/sources/pengu.js +8 -3
- package/src/sources/pstream.js +68 -0
- package/src/sources/rivestream.js +179 -0
- package/src/sources/videasy.js +3 -1
- package/src/sources/vidgod.js +147 -0
- package/src/sources/vidnest.js +3 -1
- package/src/sources/vidvault.js +113 -113
- package/src/sources/vidzee.js +154 -199
- package/src/sources/zxcstream.js +141 -0
- package/src/subtitles.js +18 -0
- package/src/utils/helpers.js +2 -2
- package/src/sources/1embed.js +0 -115
- package/src/sources/anikoto.js +0 -198
- package/src/sources/anizone.js +0 -109
- package/src/sources/kickassanime.js +0 -107
- package/src/sources/nekowatch.js +0 -57
- package/src/sources/opstream.js +0 -123
- package/src/sources/peachify.js +0 -78
- package/src/sources/reanime.js +0 -324
- package/src/sources/vidrift.js +0 -95
- package/src/sources/vidsync.js +0 -38
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
name: Publish npm package
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
workflow_dispatch:
|
|
5
|
-
|
|
6
|
-
permissions:
|
|
7
|
-
contents: write
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
publish:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
|
|
13
|
-
steps:
|
|
14
|
-
- uses: actions/checkout@v4
|
|
15
|
-
with:
|
|
16
|
-
token: ${{ secrets.GITHUB_TOKEN }}
|
|
17
|
-
|
|
18
|
-
- uses: actions/setup-node@v4
|
|
19
|
-
with:
|
|
20
|
-
node-version: 22
|
|
21
|
-
registry-url: https://registry.npmjs.org/
|
|
22
|
-
|
|
23
|
-
- name: Configure git
|
|
24
|
-
run: |
|
|
25
|
-
git config user.name "github-actions[bot]"
|
|
26
|
-
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
27
|
-
|
|
28
|
-
- run: npm ci
|
|
29
|
-
|
|
30
|
-
- name: Bump version
|
|
31
|
-
run: |
|
|
32
|
-
npm version minor
|
|
33
|
-
git push --follow-tags
|
|
34
|
-
|
|
35
|
-
- name: Publish
|
|
36
|
-
run: npm publish
|
|
37
|
-
env:
|
|
38
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_KEY }}
|
|
1
|
+
name: Publish npm package
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
permissions:
|
|
7
|
+
contents: write
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
publish:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
with:
|
|
16
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
17
|
+
|
|
18
|
+
- uses: actions/setup-node@v4
|
|
19
|
+
with:
|
|
20
|
+
node-version: 22
|
|
21
|
+
registry-url: https://registry.npmjs.org/
|
|
22
|
+
|
|
23
|
+
- name: Configure git
|
|
24
|
+
run: |
|
|
25
|
+
git config user.name "github-actions[bot]"
|
|
26
|
+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
27
|
+
|
|
28
|
+
- run: npm ci
|
|
29
|
+
|
|
30
|
+
- name: Bump version
|
|
31
|
+
run: |
|
|
32
|
+
npm version minor
|
|
33
|
+
git push --follow-tags
|
|
34
|
+
|
|
35
|
+
- name: Publish
|
|
36
|
+
run: npm publish
|
|
37
|
+
env:
|
|
38
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_KEY }}
|
package/.gitlab-ci.yml
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
stages:
|
|
2
|
+
- build
|
|
3
|
+
- test
|
|
4
|
+
- deploy
|
|
5
|
+
- publish
|
|
6
|
+
|
|
7
|
+
publish:
|
|
8
|
+
stage: publish
|
|
9
|
+
image: node:22
|
|
10
|
+
rules:
|
|
11
|
+
- if: '$CI_COMMIT_TAG'
|
|
12
|
+
when: manual
|
|
13
|
+
script:
|
|
14
|
+
- npm ci
|
|
15
|
+
- echo "//registry.npmjs.org/:_authToken=${NPM_KEY}" > .npmrc
|
|
16
|
+
- npm publish
|
package/README.md
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
VylaSDK is a JavaScript/TypeScript SDK for accessing Vyla's stream providers, subtitles, and download sources directly from Node.js. Instead of using the Vyla REST API, developers can run the scraping layer directly in their own environment with full control over requests, execution, and provider management.
|
|
4
|
-
|
|
5
|
-
### Installing
|
|
1
|
+
# vyla/sdk
|
|
2
|
+
VylaSDK is a javascript base version of [Vyla](https://vyla.mintlify.app/)'s stream & scrape api, allowing developers to access content providers directly without using a REST api. This gives you the power & updates of Vyla without the headaches of api keys & server reliability.
|
|
6
3
|
|
|
4
|
+
## Installing
|
|
7
5
|
To start, install VylaSDK through npm or pnpm:
|
|
8
|
-
|
|
9
6
|
```bash
|
|
10
7
|
# npm
|
|
11
8
|
npm install @vyla-entertainment/sdk
|
|
@@ -14,22 +11,21 @@ npm install @vyla-entertainment/sdk
|
|
|
14
11
|
pnpm install @vyla-entertainment/sdk
|
|
15
12
|
```
|
|
16
13
|
|
|
17
|
-
|
|
14
|
+
View our full documentation at https://docs.vyla.cc/sdk
|
|
18
15
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
### [DMCA](https://docs.vyla.cc/misc/dmca)
|
|
16
|
+
# [DMCA](https://docs.vyla.cc/misc/dmca)
|
|
22
17
|
|
|
23
18
|
If your source is listed here, I sincerely apologize. I understand that its inclusion may be costing you a lot of money, and that was never my intention. Please contact me as soon as possible, and I'll remove it ASAP.
|
|
24
19
|
|
|
25
20
|
This is a small hobby project that I built for learning and personal interest, not for profit. I genuinely want to respect the wishes of source owners and will address any removal requests as quickly as I can.
|
|
26
21
|
|
|
27
|
-
This project is developed and maintained by [Vyla Entertainment](https://github.com/vyla-entertainment).
|
|
22
|
+
This project is developed and maintained by [Vyla Entertainment](https://github.com/vyla-entertainment) (@vyla-entertainment).
|
|
28
23
|
|
|
29
24
|
Original work and core authorship:
|
|
30
25
|
|
|
31
|
-
[@
|
|
26
|
+
[@alwaysmesmerizingyou](https://gitlab.com/alwaysmesmerizingyou)
|
|
27
|
+
|
|
32
28
|
[@GavinGoGaming](https://github.com/GavinGoGaming)
|
|
33
29
|
|
|
34
|
-
|
|
30
|
+
Full credits and acknowledgements:
|
|
35
31
|
https://docs.vyla.cc/misc/credit
|
package/package.json
CHANGED
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@vyla-entertainment/sdk",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"scripts": {
|
|
5
|
-
"test": "node test/index.js"
|
|
6
|
-
},
|
|
7
|
-
"author": "vyla-entertainment",
|
|
8
|
-
"contributors": [
|
|
9
|
-
{
|
|
10
|
-
"name": "GavinGoGaming",
|
|
11
|
-
"email": "gavin@klash.dev"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"name": "
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@vyla-entertainment/sdk",
|
|
3
|
+
"version": "1.11.0",
|
|
4
|
+
"scripts": {
|
|
5
|
+
"test": "node test/index.js"
|
|
6
|
+
},
|
|
7
|
+
"author": "vyla-entertainment",
|
|
8
|
+
"contributors": [
|
|
9
|
+
{
|
|
10
|
+
"name": "GavinGoGaming",
|
|
11
|
+
"email": "gavin@klash.dev"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "alwaysmesmerizingyou",
|
|
15
|
+
"email": "alwaysmesmerizingyou@gmail.com"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"license": "CC-BY-NC-4.0",
|
|
19
|
+
"type": "module",
|
|
20
|
+
"description": "Vyla's multi-provider stream scraper SDK",
|
|
21
|
+
"main": "src/sdk.js",
|
|
22
|
+
"types": "src/sdk.d.ts",
|
|
23
|
+
"directories": {
|
|
24
|
+
"test": "test"
|
|
25
|
+
},
|
|
26
|
+
"keywords": [],
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"dotenv": "^17.4.2"
|
|
29
|
+
},
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public"
|
|
32
|
+
}
|
|
33
|
+
}
|
package/src/config.js
CHANGED
|
@@ -6,17 +6,6 @@
|
|
|
6
6
|
// Fshare/Fsonic Tested: 155 ( they don't have Michael )
|
|
7
7
|
|
|
8
8
|
export const SOURCES = [
|
|
9
|
-
{
|
|
10
|
-
key: '1embed',
|
|
11
|
-
label: '1Embed',
|
|
12
|
-
sourceFile: '1embed',
|
|
13
|
-
proxyParam: '1e',
|
|
14
|
-
timeout: 20000,
|
|
15
|
-
jitter: 500,
|
|
16
|
-
retries: 2,
|
|
17
|
-
multiUrl: true,
|
|
18
|
-
},
|
|
19
|
-
|
|
20
9
|
{
|
|
21
10
|
key: '123anime',
|
|
22
11
|
label: '123Anime',
|
|
@@ -60,30 +49,6 @@ export const SOURCES = [
|
|
|
60
49
|
skipProxy: true
|
|
61
50
|
},
|
|
62
51
|
|
|
63
|
-
{
|
|
64
|
-
key: 'anikoto-sub',
|
|
65
|
-
label: 'AniKoto (Sub)',
|
|
66
|
-
sourceFile: 'anikoto',
|
|
67
|
-
proxyParam: 'aksub',
|
|
68
|
-
timeout: 25000,
|
|
69
|
-
jitter: 500,
|
|
70
|
-
retries: 2,
|
|
71
|
-
multiUrl: true,
|
|
72
|
-
skipProxy: true
|
|
73
|
-
},
|
|
74
|
-
|
|
75
|
-
{
|
|
76
|
-
key: 'anikoto-dub',
|
|
77
|
-
label: 'AniKoto (Dub)',
|
|
78
|
-
sourceFile: 'anikoto',
|
|
79
|
-
proxyParam: 'akdub',
|
|
80
|
-
timeout: 25000,
|
|
81
|
-
jitter: 500,
|
|
82
|
-
retries: 2,
|
|
83
|
-
multiUrl: true,
|
|
84
|
-
skipProxy: true
|
|
85
|
-
},
|
|
86
|
-
|
|
87
52
|
{
|
|
88
53
|
key: 'anineko-sub',
|
|
89
54
|
sourceFile: 'anineko',
|
|
@@ -139,15 +104,21 @@ export const SOURCES = [
|
|
|
139
104
|
},
|
|
140
105
|
|
|
141
106
|
{
|
|
142
|
-
key: '
|
|
143
|
-
label: '
|
|
144
|
-
sourceFile: '
|
|
145
|
-
proxyParam: '
|
|
107
|
+
key: 'bcine',
|
|
108
|
+
label: 'Bcine',
|
|
109
|
+
sourceFile: 'bcine',
|
|
110
|
+
proxyParam: 'bc',
|
|
146
111
|
timeout: 25000,
|
|
147
112
|
jitter: 500,
|
|
148
113
|
retries: 2,
|
|
149
114
|
multiUrl: true,
|
|
150
|
-
|
|
115
|
+
cdnHeaders: [{
|
|
116
|
+
pattern: /1embed\.cc|videasy\.to/i,
|
|
117
|
+
headers: {
|
|
118
|
+
Referer: 'https://bcine.ru/',
|
|
119
|
+
Origin: 'https://bcine.ru',
|
|
120
|
+
},
|
|
121
|
+
}],
|
|
151
122
|
},
|
|
152
123
|
|
|
153
124
|
{
|
|
@@ -162,16 +133,37 @@ export const SOURCES = [
|
|
|
162
133
|
skipProxy: true,
|
|
163
134
|
},
|
|
164
135
|
|
|
136
|
+
{
|
|
137
|
+
key: 'cinesrc',
|
|
138
|
+
label: 'CineSrc',
|
|
139
|
+
sourceFile: 'cinesrc',
|
|
140
|
+
proxyParam: 'csr',
|
|
141
|
+
timeout: 25000,
|
|
142
|
+
jitter: 500,
|
|
143
|
+
retries: 2,
|
|
144
|
+
multiUrl: true,
|
|
145
|
+
skipProxy: true,
|
|
146
|
+
skipVerify: true,
|
|
147
|
+
cdnHeaders: [{
|
|
148
|
+
pattern: /glendale-plumbing\.com|1embed\.cc|bright\d+\.online/i,
|
|
149
|
+
headers: {
|
|
150
|
+
Referer: 'https://cinesrc.st/',
|
|
151
|
+
Origin: 'https://cinesrc.st',
|
|
152
|
+
},
|
|
153
|
+
}],
|
|
154
|
+
},
|
|
155
|
+
|
|
165
156
|
{
|
|
166
157
|
key: 'cinesu',
|
|
167
158
|
label: 'CineSu',
|
|
168
159
|
sourceFile: 'cinesu',
|
|
169
160
|
proxyParam: 'cs',
|
|
170
|
-
timeout:
|
|
161
|
+
timeout: 25000,
|
|
171
162
|
jitter: 500,
|
|
172
163
|
retries: 2,
|
|
173
|
-
multiUrl:
|
|
164
|
+
multiUrl: true,
|
|
174
165
|
skipProxy: true,
|
|
166
|
+
skipVerify: true,
|
|
175
167
|
cdnHeaders: [{
|
|
176
168
|
pattern: /glendale-plumbing\.com/i,
|
|
177
169
|
headers: {
|
|
@@ -200,6 +192,18 @@ export const SOURCES = [
|
|
|
200
192
|
},],
|
|
201
193
|
},
|
|
202
194
|
|
|
195
|
+
{
|
|
196
|
+
key: 'frame',
|
|
197
|
+
label: 'Frame',
|
|
198
|
+
sourceFile: 'frame',
|
|
199
|
+
proxyParam: 'fr',
|
|
200
|
+
timeout: 25000,
|
|
201
|
+
jitter: 500,
|
|
202
|
+
retries: 2,
|
|
203
|
+
multiUrl: true,
|
|
204
|
+
skipProxy: true,
|
|
205
|
+
},
|
|
206
|
+
|
|
203
207
|
{
|
|
204
208
|
key: 'fsharetv',
|
|
205
209
|
label: 'FShareTV',
|
|
@@ -249,18 +253,6 @@ export const SOURCES = [
|
|
|
249
253
|
retries: 2,
|
|
250
254
|
},
|
|
251
255
|
|
|
252
|
-
{
|
|
253
|
-
key: 'kickassanime',
|
|
254
|
-
label: 'KickAssAnime',
|
|
255
|
-
sourceFile: 'kickassanime',
|
|
256
|
-
proxyParam: 'kaa',
|
|
257
|
-
timeout: 25000,
|
|
258
|
-
jitter: 500,
|
|
259
|
-
retries: 2,
|
|
260
|
-
multiUrl: true,
|
|
261
|
-
skipProxy: true
|
|
262
|
-
},
|
|
263
|
-
|
|
264
256
|
{
|
|
265
257
|
key: 'kisskh',
|
|
266
258
|
label: 'KissKH',
|
|
@@ -296,6 +288,32 @@ export const SOURCES = [
|
|
|
296
288
|
},
|
|
297
289
|
},
|
|
298
290
|
|
|
291
|
+
{
|
|
292
|
+
key: 'luna-sub',
|
|
293
|
+
label: 'Luna (Sub)',
|
|
294
|
+
sourceFile: 'luna',
|
|
295
|
+
proxyParam: 'lusub',
|
|
296
|
+
subtype: 'sub',
|
|
297
|
+
timeout: 25000,
|
|
298
|
+
jitter: 500,
|
|
299
|
+
retries: 2,
|
|
300
|
+
multiUrl: true,
|
|
301
|
+
skipProxy: true,
|
|
302
|
+
},
|
|
303
|
+
|
|
304
|
+
{
|
|
305
|
+
key: 'luna-dub',
|
|
306
|
+
label: 'Luna (Dub)',
|
|
307
|
+
sourceFile: 'luna',
|
|
308
|
+
proxyParam: 'ludub',
|
|
309
|
+
subtype: 'dub',
|
|
310
|
+
timeout: 25000,
|
|
311
|
+
jitter: 500,
|
|
312
|
+
retries: 2,
|
|
313
|
+
multiUrl: true,
|
|
314
|
+
skipProxy: true,
|
|
315
|
+
},
|
|
316
|
+
|
|
299
317
|
{
|
|
300
318
|
key: 'mapple',
|
|
301
319
|
label: 'Mapple',
|
|
@@ -315,33 +333,19 @@ export const SOURCES = [
|
|
|
315
333
|
jitter: 500,
|
|
316
334
|
retries: 2,
|
|
317
335
|
multiUrl: true,
|
|
336
|
+
skipProxy: true
|
|
318
337
|
},
|
|
319
338
|
|
|
320
339
|
{
|
|
321
|
-
key: '
|
|
322
|
-
label: '
|
|
323
|
-
sourceFile: '
|
|
324
|
-
proxyParam: '
|
|
325
|
-
timeout:
|
|
340
|
+
key: 'peestream',
|
|
341
|
+
label: 'PeeStream',
|
|
342
|
+
sourceFile: 'peestream',
|
|
343
|
+
proxyParam: 'pee',
|
|
344
|
+
timeout: 25000,
|
|
326
345
|
jitter: 500,
|
|
327
346
|
retries: 2,
|
|
328
347
|
multiUrl: true,
|
|
329
348
|
skipProxy: true,
|
|
330
|
-
verifyHeaders: {
|
|
331
|
-
Referer: 'https://opstream.fun/',
|
|
332
|
-
Origin: 'https://opstream.fun',
|
|
333
|
-
},
|
|
334
|
-
},
|
|
335
|
-
|
|
336
|
-
{
|
|
337
|
-
key: 'peachify',
|
|
338
|
-
label: 'Peachify',
|
|
339
|
-
sourceFile: 'peachify',
|
|
340
|
-
proxyParam: 'pf',
|
|
341
|
-
timeout: 30000,
|
|
342
|
-
jitter: 500,
|
|
343
|
-
retries: 1,
|
|
344
|
-
multiUrl: true
|
|
345
349
|
},
|
|
346
350
|
|
|
347
351
|
{
|
|
@@ -354,44 +358,64 @@ export const SOURCES = [
|
|
|
354
358
|
retries: 1,
|
|
355
359
|
multiUrl: true,
|
|
356
360
|
skipProxy: true,
|
|
357
|
-
disabled:
|
|
361
|
+
disabled: false, // Enabled, but only returns streams when a manifest is provided
|
|
358
362
|
},
|
|
359
363
|
|
|
360
364
|
{
|
|
361
|
-
key: '
|
|
362
|
-
|
|
363
|
-
|
|
365
|
+
key: 'pstream',
|
|
366
|
+
label: 'PStream',
|
|
367
|
+
sourceFile: 'pstream',
|
|
364
368
|
proxyParam: 'ps',
|
|
365
|
-
timeout:
|
|
369
|
+
timeout: 35000,
|
|
366
370
|
jitter: 500,
|
|
367
|
-
retries:
|
|
368
|
-
|
|
371
|
+
retries: 1,
|
|
372
|
+
multiUrl: true,
|
|
369
373
|
},
|
|
370
374
|
|
|
371
375
|
{
|
|
372
|
-
key: '
|
|
373
|
-
label: '
|
|
374
|
-
sourceFile: '
|
|
375
|
-
proxyParam: '
|
|
376
|
+
key: 'nova',
|
|
377
|
+
label: 'Nova',
|
|
378
|
+
sourceFile: 'nova',
|
|
379
|
+
proxyParam: 'nv',
|
|
376
380
|
timeout: 25000,
|
|
377
381
|
jitter: 500,
|
|
378
|
-
retries:
|
|
382
|
+
retries: 1,
|
|
379
383
|
multiUrl: true,
|
|
380
|
-
skipProxy: true
|
|
381
384
|
},
|
|
382
|
-
|
|
385
|
+
|
|
383
386
|
{
|
|
384
|
-
key: '
|
|
385
|
-
label: '
|
|
386
|
-
sourceFile: '
|
|
387
|
-
proxyParam: '
|
|
387
|
+
key: 'megasource',
|
|
388
|
+
label: 'MegaSource',
|
|
389
|
+
sourceFile: 'megasource',
|
|
390
|
+
proxyParam: 'mg',
|
|
388
391
|
timeout: 25000,
|
|
389
392
|
jitter: 500,
|
|
390
|
-
retries:
|
|
393
|
+
retries: 1,
|
|
391
394
|
multiUrl: true,
|
|
395
|
+
},
|
|
396
|
+
|
|
397
|
+
{
|
|
398
|
+
key: 'purstream',
|
|
399
|
+
sourceFile: 'purstream',
|
|
400
|
+
label: 'Purstream',
|
|
401
|
+
proxyParam: 'ps',
|
|
402
|
+
timeout: 20000,
|
|
403
|
+
jitter: 500,
|
|
404
|
+
retries: 2,
|
|
392
405
|
skipProxy: true
|
|
393
406
|
},
|
|
394
407
|
|
|
408
|
+
{
|
|
409
|
+
key: 'rivestream',
|
|
410
|
+
label: 'RiveStream',
|
|
411
|
+
sourceFile: 'rivestream',
|
|
412
|
+
proxyParam: 'rs',
|
|
413
|
+
timeout: 30000,
|
|
414
|
+
jitter: 500,
|
|
415
|
+
retries: 2,
|
|
416
|
+
multiUrl: true,
|
|
417
|
+
},
|
|
418
|
+
|
|
395
419
|
{
|
|
396
420
|
key: 'vidapi',
|
|
397
421
|
label: 'VidAPI',
|
|
@@ -441,6 +465,18 @@ export const SOURCES = [
|
|
|
441
465
|
retries: 1,
|
|
442
466
|
},
|
|
443
467
|
|
|
468
|
+
{
|
|
469
|
+
key: 'vidgod',
|
|
470
|
+
label: 'VidGod',
|
|
471
|
+
sourceFile: 'vidgod',
|
|
472
|
+
proxyParam: 'vg',
|
|
473
|
+
timeout: 25000,
|
|
474
|
+
jitter: 500,
|
|
475
|
+
retries: 2,
|
|
476
|
+
multiUrl: true,
|
|
477
|
+
skipProxy: true,
|
|
478
|
+
},
|
|
479
|
+
|
|
444
480
|
{
|
|
445
481
|
key: 'vidlink',
|
|
446
482
|
label: 'Vidlink',
|
|
@@ -489,18 +525,6 @@ export const SOURCES = [
|
|
|
489
525
|
skipProxy: true,
|
|
490
526
|
},
|
|
491
527
|
|
|
492
|
-
{
|
|
493
|
-
key: 'vidrift',
|
|
494
|
-
label: 'VidRift',
|
|
495
|
-
sourceFile: 'vidrift',
|
|
496
|
-
proxyParam: 'vr',
|
|
497
|
-
timeout: 20000,
|
|
498
|
-
jitter: 500,
|
|
499
|
-
retries: 2,
|
|
500
|
-
multiUrl: true,
|
|
501
|
-
skipProxy: true
|
|
502
|
-
},
|
|
503
|
-
|
|
504
528
|
{
|
|
505
529
|
key: 'vidrock',
|
|
506
530
|
label: 'VidRock',
|
|
@@ -521,17 +545,6 @@ export const SOURCES = [
|
|
|
521
545
|
},],
|
|
522
546
|
},
|
|
523
547
|
|
|
524
|
-
{
|
|
525
|
-
key: 'vidsync',
|
|
526
|
-
label: 'VidSync',
|
|
527
|
-
sourceFile: 'vidsync',
|
|
528
|
-
proxyParam: 'vs',
|
|
529
|
-
timeout: 20000,
|
|
530
|
-
retries: 2,
|
|
531
|
-
multiUrl: true,
|
|
532
|
-
disabled: true, // Temporarily disabled due to enc dec issues
|
|
533
|
-
},
|
|
534
|
-
|
|
535
548
|
{
|
|
536
549
|
key: 'vidup',
|
|
537
550
|
label: 'VidUp',
|
|
@@ -600,6 +613,17 @@ export const SOURCES = [
|
|
|
600
613
|
skipProxy: true,
|
|
601
614
|
},
|
|
602
615
|
|
|
616
|
+
{
|
|
617
|
+
key: 'zxcstream',
|
|
618
|
+
label: 'ZxcStream',
|
|
619
|
+
sourceFile: 'zxcstream',
|
|
620
|
+
proxyParam: 'zxc',
|
|
621
|
+
timeout: 25000,
|
|
622
|
+
jitter: 500,
|
|
623
|
+
retries: 2,
|
|
624
|
+
multiUrl: true,
|
|
625
|
+
},
|
|
626
|
+
|
|
603
627
|
];
|
|
604
628
|
|
|
605
629
|
export const HEALTH_PROBE_ID = '155';
|
package/src/health.js
CHANGED
|
@@ -14,7 +14,7 @@ async function withRetry(fn, attempts = 2, delay = 300) {
|
|
|
14
14
|
return null;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
export async function probeSource(
|
|
17
|
+
export async function probeSource(sdk, cfg, mod) {
|
|
18
18
|
const audio = /dub$/.test(cfg.key) ? 'dub' : 'sub';
|
|
19
19
|
const streamArgs = {
|
|
20
20
|
id: HEALTH_PROBE_ID,
|
|
@@ -23,7 +23,7 @@ export async function probeSource(tmdbApiKey, cfg, mod) {
|
|
|
23
23
|
clientIP: null,
|
|
24
24
|
absoluteBase: null,
|
|
25
25
|
audio,
|
|
26
|
-
|
|
26
|
+
sdk,
|
|
27
27
|
config: cfg,
|
|
28
28
|
};
|
|
29
29
|
|