@mr-quin/dango-manifests 0.6.0 → 0.8.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/catalog.json +14 -14
- package/package.json +1 -1
- package/src/manifests/aiyifan.json +2 -1
- package/src/manifests/bahamut.json +2 -1
- package/src/manifests/bilibili.json +2 -1
- package/src/manifests/dandanplay.json +2 -1
- package/src/manifests/hanjutv.json +14 -2
- package/src/manifests/iqiyi.json +2 -1
- package/src/manifests/maiduidui.json +2 -1
- package/src/manifests/mango.json +16 -6
- package/src/manifests/migu.json +5 -4
- package/src/manifests/renren.json +2 -1
- package/src/manifests/sohu.json +2 -1
- package/src/manifests/tencent.json +2 -1
- package/src/manifests/youku.json +3 -2
package/catalog.json
CHANGED
|
@@ -1,94 +1,94 @@
|
|
|
1
1
|
{
|
|
2
|
-
"packageVersion": "0.
|
|
2
|
+
"packageVersion": "0.8.0",
|
|
3
3
|
"manifests": [
|
|
4
4
|
{
|
|
5
5
|
"id": "aiyifan",
|
|
6
6
|
"name": "Aiyifan",
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "0.5.0",
|
|
8
8
|
"apiVersion": 1,
|
|
9
9
|
"file": "src/manifests/aiyifan.json"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"id": "bahamut",
|
|
13
13
|
"name": "Bahamut",
|
|
14
|
-
"version": "0.
|
|
14
|
+
"version": "0.5.0",
|
|
15
15
|
"apiVersion": 1,
|
|
16
16
|
"file": "src/manifests/bahamut.json"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"id": "bilibili",
|
|
20
20
|
"name": "Bilibili",
|
|
21
|
-
"version": "0.
|
|
21
|
+
"version": "0.5.0",
|
|
22
22
|
"apiVersion": 1,
|
|
23
23
|
"file": "src/manifests/bilibili.json"
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"id": "dandanplay",
|
|
27
27
|
"name": "DanDanPlay",
|
|
28
|
-
"version": "0.
|
|
28
|
+
"version": "0.5.0",
|
|
29
29
|
"apiVersion": 1,
|
|
30
30
|
"file": "src/manifests/dandanplay.json"
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
"id": "hanjutv",
|
|
34
34
|
"name": "Hanjutv",
|
|
35
|
-
"version": "0.
|
|
35
|
+
"version": "0.5.1",
|
|
36
36
|
"apiVersion": 1,
|
|
37
37
|
"file": "src/manifests/hanjutv.json"
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
"id": "iqiyi",
|
|
41
41
|
"name": "iQIYI",
|
|
42
|
-
"version": "0.
|
|
42
|
+
"version": "0.5.0",
|
|
43
43
|
"apiVersion": 1,
|
|
44
44
|
"file": "src/manifests/iqiyi.json"
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
"id": "maiduidui",
|
|
48
48
|
"name": "Maiduidui",
|
|
49
|
-
"version": "0.
|
|
49
|
+
"version": "0.5.0",
|
|
50
50
|
"apiVersion": 1,
|
|
51
51
|
"file": "src/manifests/maiduidui.json"
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
54
|
"id": "mango",
|
|
55
55
|
"name": "Mango TV",
|
|
56
|
-
"version": "0.
|
|
56
|
+
"version": "0.6.0",
|
|
57
57
|
"apiVersion": 1,
|
|
58
58
|
"file": "src/manifests/mango.json"
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
61
|
"id": "migu",
|
|
62
62
|
"name": "Migu Video",
|
|
63
|
-
"version": "0.
|
|
63
|
+
"version": "0.5.1",
|
|
64
64
|
"apiVersion": 1,
|
|
65
65
|
"file": "src/manifests/migu.json"
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
68
|
"id": "renren",
|
|
69
69
|
"name": "Renren",
|
|
70
|
-
"version": "0.
|
|
70
|
+
"version": "0.5.0",
|
|
71
71
|
"apiVersion": 1,
|
|
72
72
|
"file": "src/manifests/renren.json"
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
"id": "sohu",
|
|
76
76
|
"name": "Sohu",
|
|
77
|
-
"version": "0.
|
|
77
|
+
"version": "0.5.0",
|
|
78
78
|
"apiVersion": 1,
|
|
79
79
|
"file": "src/manifests/sohu.json"
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
"id": "tencent",
|
|
83
83
|
"name": "Tencent Video",
|
|
84
|
-
"version": "0.
|
|
84
|
+
"version": "0.5.0",
|
|
85
85
|
"apiVersion": 1,
|
|
86
86
|
"file": "src/manifests/tencent.json"
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
89
|
"id": "youku",
|
|
90
90
|
"name": "Youku",
|
|
91
|
-
"version": "0.
|
|
91
|
+
"version": "0.5.1",
|
|
92
92
|
"apiVersion": 1,
|
|
93
93
|
"file": "src/manifests/youku.json"
|
|
94
94
|
}
|
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"apiVersion": 1,
|
|
3
|
+
"identityFields": [],
|
|
3
4
|
"id": "aiyifan",
|
|
4
5
|
"name": "Aiyifan",
|
|
5
6
|
"locales": {
|
|
@@ -7,7 +8,7 @@
|
|
|
7
8
|
"name": "爱壹帆"
|
|
8
9
|
}
|
|
9
10
|
},
|
|
10
|
-
"version": "0.
|
|
11
|
+
"version": "0.5.0",
|
|
11
12
|
"hosts": ["www.yfsp.tv", "rankv21.tripdata.app", "m10.yfsp.tv"],
|
|
12
13
|
"search": {
|
|
13
14
|
"inputs": ["q"],
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"apiVersion": 1,
|
|
3
|
+
"identityFields": [],
|
|
3
4
|
"id": "bahamut",
|
|
4
5
|
"name": "Bahamut",
|
|
5
6
|
"locales": {
|
|
@@ -7,7 +8,7 @@
|
|
|
7
8
|
"name": "巴哈姆特"
|
|
8
9
|
}
|
|
9
10
|
},
|
|
10
|
-
"version": "0.
|
|
11
|
+
"version": "0.5.0",
|
|
11
12
|
"hosts": ["api.gamer.com.tw"],
|
|
12
13
|
"search": {
|
|
13
14
|
"inputs": ["q"],
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"apiVersion": 1,
|
|
3
|
+
"identityFields": [],
|
|
3
4
|
"id": "bilibili",
|
|
4
5
|
"name": "Bilibili",
|
|
5
6
|
"locales": {
|
|
@@ -10,7 +11,7 @@
|
|
|
10
11
|
"cookieSet.title": "登录B站"
|
|
11
12
|
}
|
|
12
13
|
},
|
|
13
|
-
"version": "0.
|
|
14
|
+
"version": "0.5.0",
|
|
14
15
|
"hosts": ["api.bilibili.com"],
|
|
15
16
|
"urlMatch": [
|
|
16
17
|
{
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"apiVersion": 1,
|
|
3
|
+
"identityFields": ["baseUrl"],
|
|
3
4
|
"id": "dandanplay",
|
|
4
5
|
"name": "DanDanPlay",
|
|
5
6
|
"locales": {
|
|
@@ -21,7 +22,7 @@
|
|
|
21
22
|
"configSchema.properties.chConvert.description": "0 = 不转换,1 = 转为简体,2 = 转为繁体"
|
|
22
23
|
}
|
|
23
24
|
},
|
|
24
|
-
"version": "0.
|
|
25
|
+
"version": "0.5.0",
|
|
25
26
|
"hosts": ["*"],
|
|
26
27
|
"configSchema": {
|
|
27
28
|
"type": "object",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"apiVersion": 1,
|
|
3
|
+
"identityFields": [],
|
|
3
4
|
"id": "hanjutv",
|
|
4
5
|
"name": "Hanjutv",
|
|
5
6
|
"locales": {
|
|
@@ -7,11 +8,22 @@
|
|
|
7
8
|
"name": "韩剧TV"
|
|
8
9
|
}
|
|
9
10
|
},
|
|
10
|
-
"version": "0.
|
|
11
|
+
"version": "0.5.1",
|
|
11
12
|
"hosts": ["hxqapi.hiyun.tv", "hxqapi.zmdcq.com"],
|
|
12
13
|
"search": {
|
|
13
14
|
"inputs": ["q"],
|
|
14
15
|
"steps": [
|
|
16
|
+
{
|
|
17
|
+
"type": "http",
|
|
18
|
+
"request": {
|
|
19
|
+
"method": "GET",
|
|
20
|
+
"url": "'https://hxqapi.hiyun.tv/api/common/configs'",
|
|
21
|
+
"headers": "($uid := 'DA000000000000000000'; $uidMd5 := $md5($uid); $signKey := $base64Encode($substring($uidMd5, 0, 16)); $signIv := $base64Encode($substring($uidMd5, 16, 16)); $ts := $now() * 1000; $installTs := $ts - 1209600000; $said := 'fb3597b87601d5a7'; $oa := '0123456789abcdef'; $payload := { 'emu': 0, 'ou': 0, 'it': $installTs, 'iit': $installTs, 'bs': 0, 'uid': $uid, 'pc': 0, 'tm': 81, 'd8m': '0,0,0,0,0,0,0,4', 'md': 'Redmi Note 12', 'maker': 'Xiaomi', 'osv': '14', 'br': 95, 'rpc': 0, 'scc': 2, 'plc': 6, 'toc': 19, 'tsc': 10, 'ts': $ts, 'pa': 1, 'crec': 0, 'nw': 2, 'px': '0', 'isp': '', 'ai': $said, 'oa': $oa, 'dpc': 0, 'dsc': 0, 'qpc': 0, 'apad': 0, 'pk': 'com.babycloud.hanju' }; $uk := $aesCbcEncrypt($uid, 'ZjM0OXdnaGhlNzg0dHF3aA==', 'ZDN3OGhmOTRmaWRrMzhsaw=='); $sign := $aesCbcEncrypt($string($payload), $signKey, $signIv); { 'app': 'hj', 'ch': 'xiaomi', 'said': $said, 'uk': $uk, 'vn': '6.8.2', 'sign': $sign, 'vc': 'a_8280', 'Accept-Encoding': 'gzip', 'Connection': 'Keep-Alive' })",
|
|
22
|
+
"rewriteHeaders": {
|
|
23
|
+
"User-Agent": "'HanjuTV/6.8.2 (Redmi Note 12; Android 14; Scale/2.00)'"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
15
27
|
{
|
|
16
28
|
"type": "http",
|
|
17
29
|
"id": "search",
|
|
@@ -26,7 +38,7 @@
|
|
|
26
38
|
}
|
|
27
39
|
}
|
|
28
40
|
],
|
|
29
|
-
"output": "($uid := 'DA000000000000000000'; $key := $exists(search.key) and search.key != '' ? search.key : $md5($uid & $string(search.ts)); $mix := $md5($key & '34F9Q53w/HJW8E6Q'); $aesKey := $base64Encode($substring($mix, 0, 16)); $aesIv := $base64Encode($substring($mix, 16, 16)); $raw := $aesCbcDecrypt(search.data, $aesKey, $aesIv, 'none'); $clean := $replace($trim($raw), /[\\u0000-\\u001f\\u007f-\\u009f]/, ''); $decoded := $jsonParse($clean);
|
|
41
|
+
"output": "($uid := 'DA000000000000000000'; $exists(search.data) and search.data != '' ? ($key := $exists(search.key) and search.key != '' ? search.key : $md5($uid & $string(search.ts)); $mix := $md5($key & '34F9Q53w/HJW8E6Q'); $aesKey := $base64Encode($substring($mix, 0, 16)); $aesIv := $base64Encode($substring($mix, 16, 16)); $raw := $aesCbcDecrypt(search.data, $aesKey, $aesIv, 'none'); $clean := $replace($trim($raw), /[\\u0000-\\u001f\\u007f-\\u009f]/, ''); $decoded := $jsonParse($clean); $list := $exists($decoded.seriesData.seriesList) ? $decoded.seriesData.seriesList : $decoded.seriesList; [$list.{ 'providerIds': { 'sid': $string(sid) }, 'indexedId': $string(sid), 'title': name, 'type': 'tvseries', 'typeDescription': '韩剧', 'imageUrl': $exists(image.thumb) ? image.thumb : '', 'episodeCount': 0, 'year': null }]) : [])"
|
|
30
42
|
},
|
|
31
43
|
"episodes": {
|
|
32
44
|
"inputs": ["sid"],
|
package/src/manifests/iqiyi.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"apiVersion": 1,
|
|
3
|
+
"identityFields": [],
|
|
3
4
|
"id": "maiduidui",
|
|
4
5
|
"name": "Maiduidui",
|
|
5
6
|
"locales": {
|
|
@@ -7,7 +8,7 @@
|
|
|
7
8
|
"name": "埋堆堆"
|
|
8
9
|
}
|
|
9
10
|
},
|
|
10
|
-
"version": "0.
|
|
11
|
+
"version": "0.5.0",
|
|
11
12
|
"hosts": ["mob.mddcloud.com.cn"],
|
|
12
13
|
"search": {
|
|
13
14
|
"inputs": ["q"],
|
package/src/manifests/mango.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"apiVersion": 1,
|
|
3
|
+
"identityFields": [],
|
|
3
4
|
"id": "mango",
|
|
4
5
|
"name": "Mango TV",
|
|
5
6
|
"locales": {
|
|
@@ -7,7 +8,7 @@
|
|
|
7
8
|
"name": "芒果TV"
|
|
8
9
|
}
|
|
9
10
|
},
|
|
10
|
-
"version": "0.
|
|
11
|
+
"version": "0.6.0",
|
|
11
12
|
"hosts": [
|
|
12
13
|
"mobileso.bz.mgtv.com",
|
|
13
14
|
"pcweb.api.mgtv.com",
|
|
@@ -18,18 +19,27 @@
|
|
|
18
19
|
"search": {
|
|
19
20
|
"inputs": ["q"],
|
|
20
21
|
"steps": [
|
|
22
|
+
{
|
|
23
|
+
"type": "assign",
|
|
24
|
+
"id": "device",
|
|
25
|
+
"values": {
|
|
26
|
+
"deviceId": "$md5($string($millis()))"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
21
29
|
{
|
|
22
30
|
"type": "http",
|
|
23
31
|
"id": "search",
|
|
24
32
|
"request": {
|
|
25
33
|
"method": "GET",
|
|
26
|
-
"url": "'https://mobileso.bz.mgtv.com/
|
|
27
|
-
"query": "{ 'q': q, '
|
|
28
|
-
"rewriteHeaders": {
|
|
34
|
+
"url": "'https://mobileso.bz.mgtv.com/aphone/search/rebirth/v2'",
|
|
35
|
+
"query": "{ 'q': q, '_support': '10100001', 'device': '23127PN0CC', 'osVersion': '16', 'appVersion': '9.3.3', 'did': device.deviceId, 'mac': device.deviceId, 'seqId': $md5(device.deviceId & '.' & $string($millis())), 'ticket': '', 'userId': '0', 'osType': 'android', 'type': '10', 'abroad': '0' }",
|
|
36
|
+
"rewriteHeaders": {
|
|
37
|
+
"User-Agent": "'Dalvik/2.1.0 (Linux; U; Android 16; 23127PN0CC Build/AP1A.240505.003)'"
|
|
38
|
+
}
|
|
29
39
|
}
|
|
30
40
|
}
|
|
31
41
|
],
|
|
32
|
-
"output": "[search.data.contents[type='
|
|
42
|
+
"output": "[search.data.contents[type='mediaRebirthV2'].data[($not($exists(source)) or source = '' or source = 'imgo') and clipId != ''].($cid := $string(clipId); $descText := $type(desc) = 'array' ? desc[0] : desc; { 'providerIds': { 'collectionId': $cid }, 'indexedId': $cid, 'title': $trim($replace(title, /<[^>]+>/, '')), 'type': $trim($replace($substringBefore($descText, '/'), '类型:', '')), 'year': $number($regexExtract($descText, '([12][890][0-9][0-9])')), 'imageUrl': img, 'episodeCount': videoCount })]"
|
|
33
43
|
},
|
|
34
44
|
"episodes": {
|
|
35
45
|
"inputs": ["collectionId"],
|
|
@@ -65,7 +75,7 @@
|
|
|
65
75
|
"throttleMs": 100
|
|
66
76
|
}
|
|
67
77
|
],
|
|
68
|
-
"output": "[$filter(pages, function($p) { $p.src_clip_id = collectionId }).($n := $regexExtract(t1 & t2, '第(\\\\d+)集'); { 'providerIds': { 'vid': video_id, 'cid': $string($$.collectionId) }, 'indexedId': $string(video_id), 'title': $trim(t1 & ' ' & t2), 'episodeNumber': $n ? $number($n) : undefined })]"
|
|
78
|
+
"output": "[($filter(pages, function($p) { $p.src_clip_id = collectionId })^(ts)).($n := $regexExtract(t1 & t2, '第(\\\\d+)集'); { 'providerIds': { 'vid': video_id, 'cid': $string($$.collectionId) }, 'indexedId': $string(video_id), 'title': $trim(t1 & ' ' & t2), 'episodeNumber': $n ? $number($n) : undefined })]"
|
|
69
79
|
},
|
|
70
80
|
"danmaku": {
|
|
71
81
|
"inputs": ["cid", "vid"],
|
package/src/manifests/migu.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"apiVersion": 1,
|
|
3
|
+
"identityFields": [],
|
|
3
4
|
"id": "migu",
|
|
4
5
|
"name": "Migu Video",
|
|
5
6
|
"locales": {
|
|
@@ -7,7 +8,7 @@
|
|
|
7
8
|
"name": "咪咕视频"
|
|
8
9
|
}
|
|
9
10
|
},
|
|
10
|
-
"version": "0.
|
|
11
|
+
"version": "0.5.1",
|
|
11
12
|
"hosts": ["jadeite.migu.cn", "v3-sc.miguvideo.com", "webapi.miguvideo.com"],
|
|
12
13
|
"search": {
|
|
13
14
|
"inputs": ["q"],
|
|
@@ -23,7 +24,7 @@
|
|
|
23
24
|
"appId": "'miguvideo'",
|
|
24
25
|
"terminalId": "'www'"
|
|
25
26
|
},
|
|
26
|
-
"body": "{ 'k': q, 'pageIdx': 1, 'pageSize': 20, 'ct': 101, 'mediaSource': 9000000, 'appVersion': '6.1.1.00', 'isCorrectWord': 1, 'copyrightTerminal': 3, 'searchScene': 2, 'uiVersion': 'A3.26.0', 'sid': '1X4A395AL3XS3UV5MT8PQ1L5JUYK6KFM8VKDSDD48S5Y7YX5WY1MOUHRT6512988' }",
|
|
27
|
+
"body": "{ 'k': q, 'pageIdx': 1, 'pageSize': 20, 'ct': 101, 'mediaSource': 9000000, 'appVersion': '6.1.1.00', 'isCorrectWord': 1, 'copyrightTerminal': 3, 'searchScene': 2, 'uiVersion': 'A3.26.0', 'packId': '1002581,1002601,1003861,1003862,1003863,1003864,1003865,1003866,1004041,1004121,1004261,1004262,1004281,1004321,1004262,1004281,1004322,1004261,1004421,1004422,1002781,1004301,1004641,1004761,1005061,1005261,1005301,1005321,1005361,1005362,1005341,1005342,1005521,1005722,1005721,1015749,1015761,1015760,1015762,1015763,1015768,1015786,1015790,1015812,1015813,1015814,1015815,1015816,1015817,1015820,1015819,1015821', 'sid': '1X4A395AL3XS3UV5MT8PQ1L5JUYK6KFM8VKDSDD48S5Y7YX5WY1MOUHRT6512988' }",
|
|
27
28
|
"rewriteHeaders": {
|
|
28
29
|
"Origin": "'https://www.miguvideo.com'",
|
|
29
30
|
"Referer": "'https://www.miguvideo.com/'",
|
|
@@ -32,7 +33,7 @@
|
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
],
|
|
35
|
-
"output": "[search.body.contentInfoList[$
|
|
36
|
+
"output": "($fromList := [search.body.contentInfoList.shortMediaAsset[isLong = 1 or isLong = true]]; $fromCluster := [search.body.mediaClusterInfo.mediaAssetList[isLong = 1 or isLong = true]]; [$append($fromList, $fromCluster).($sma := $; $eps := $exists($sma.extraData.episodes[0]) ? $sma.extraData.episodes[0] : $sma.pID; { 'providerIds': { 'epsId': $string($eps) }, 'indexedId': $string($eps), 'title': $sma.name, 'type': $sma.contDisplayName, 'typeDescription': $sma.contDisplayName, 'imageUrl': $sma.h5pics.highResolutionV, 'year': $exists($sma.year) and $trim($sma.year) != '' ? $number($trim($sma.year)) : null })])"
|
|
36
37
|
},
|
|
37
38
|
"episodes": {
|
|
38
39
|
"inputs": ["epsId"],
|
|
@@ -104,6 +105,6 @@
|
|
|
104
105
|
"collect": "comments"
|
|
105
106
|
}
|
|
106
107
|
],
|
|
107
|
-
"output": "[segments.{ 'cid': $number(cid), 'p': $string(playtime) & ',1,' & $string(textcolor ? $hexToInt(textcolor) : 16777215), 'm': msg }]"
|
|
108
|
+
"output": "[segments.{ 'cid': $number(cid), 'p': $string(playtime) & ',1,' & $string($exists(textcolor) and textcolor != '' ? ($h := $hexToInt($replace($string(textcolor), '#', '')); $h >= 0 ? $h : 16777215) : 16777215), 'm': msg }]"
|
|
108
109
|
}
|
|
109
110
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"apiVersion": 1,
|
|
3
|
+
"identityFields": [],
|
|
3
4
|
"id": "renren",
|
|
4
5
|
"name": "Renren",
|
|
5
6
|
"locales": {
|
|
@@ -7,7 +8,7 @@
|
|
|
7
8
|
"name": "人人"
|
|
8
9
|
}
|
|
9
10
|
},
|
|
10
|
-
"version": "0.
|
|
11
|
+
"version": "0.5.0",
|
|
11
12
|
"hosts": ["api.gorafie.com", "static-dm.qwdjapp.com"],
|
|
12
13
|
"search": {
|
|
13
14
|
"inputs": ["q"],
|
package/src/manifests/sohu.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"apiVersion": 1,
|
|
3
|
+
"identityFields": [],
|
|
3
4
|
"id": "sohu",
|
|
4
5
|
"name": "Sohu",
|
|
5
6
|
"locales": {
|
|
@@ -7,7 +8,7 @@
|
|
|
7
8
|
"name": "搜狐视频"
|
|
8
9
|
}
|
|
9
10
|
},
|
|
10
|
-
"version": "0.
|
|
11
|
+
"version": "0.5.0",
|
|
11
12
|
"hosts": ["m.so.tv.sohu.com", "api.tv.sohu.com", "api.danmu.tv.sohu.com"],
|
|
12
13
|
"search": {
|
|
13
14
|
"inputs": ["q"],
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"apiVersion": 1,
|
|
3
|
+
"identityFields": [],
|
|
3
4
|
"id": "tencent",
|
|
4
5
|
"name": "Tencent Video",
|
|
5
6
|
"locales": {
|
|
@@ -8,7 +9,7 @@
|
|
|
8
9
|
"cookieSet.title": "访问腾讯视频以设置 Cookie"
|
|
9
10
|
}
|
|
10
11
|
},
|
|
11
|
-
"version": "0.
|
|
12
|
+
"version": "0.5.0",
|
|
12
13
|
"hosts": ["pbaccess.video.qq.com", "dm.video.qq.com"],
|
|
13
14
|
"urlMatch": [
|
|
14
15
|
{
|
package/src/manifests/youku.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"apiVersion": 1,
|
|
3
|
+
"identityFields": [],
|
|
3
4
|
"id": "youku",
|
|
4
5
|
"name": "Youku",
|
|
5
6
|
"locales": {
|
|
@@ -7,7 +8,7 @@
|
|
|
7
8
|
"name": "优酷"
|
|
8
9
|
}
|
|
9
10
|
},
|
|
10
|
-
"version": "0.
|
|
11
|
+
"version": "0.5.1",
|
|
11
12
|
"hosts": [
|
|
12
13
|
"search.youku.com",
|
|
13
14
|
"openapi.youku.com",
|
|
@@ -95,7 +96,7 @@
|
|
|
95
96
|
"type": "assign",
|
|
96
97
|
"id": "prep",
|
|
97
98
|
"values": {
|
|
98
|
-
"iters": "$map($range(0, $floor(info.durationSec / 60) + 1), function($mat) { ($t := $millis(); $msg := { 'ctime': $t, 'ctype': 10004, 'cver': 'v1.0', 'guid': cna.value, 'mat': $mat, 'mcount': 1, 'pid': 0, 'sver': '3.1.0', 'type': 1, 'vid': vid }; $msgB64 := $base64Encode($stringify($msg)); $innerSign := $md5($msgB64 & 'MkmC9SoIw6xCkSKHhJ7b5D2r51kBiREr'); $data := $stringify($merge([$msg, { 'msg': $msgB64, 'sign': $innerSign }])); $outerSign := $md5($substring(tkEnc.tk, 0, 32) & '&' & $string($t) & '&24679788&' & $data); { 'url': 'https://acs.youku.com/h5/mopen.youku.danmu.list/1.0/?' & $sortedQueryString({ 'jsv': '2.5.6', 'appKey': '24679788', 't': $string($t), 'sign': $outerSign, 'api': 'mopen.youku.danmu.list', 'v': '1.0', 'type': 'originaljson', 'dataType': 'jsonp', 'timeout': '20000', 'jsonpIncPrefix': 'utility' }), 'body': 'data=' & $encodeUrlComponent($data) }) })"
|
|
99
|
+
"iters": "$type(tkEnc.tk) = 'string' and tkEnc.tk != '' ? $map($range(0, $floor(info.durationSec / 60) + 1), function($mat) { ($t := $millis(); $msg := { 'ctime': $t, 'ctype': 10004, 'cver': 'v1.0', 'guid': cna.value, 'mat': $mat, 'mcount': 1, 'pid': 0, 'sver': '3.1.0', 'type': 1, 'vid': vid }; $msgB64 := $base64Encode($stringify($msg)); $innerSign := $md5($msgB64 & 'MkmC9SoIw6xCkSKHhJ7b5D2r51kBiREr'); $data := $stringify($merge([$msg, { 'msg': $msgB64, 'sign': $innerSign }])); $outerSign := $md5($substring(tkEnc.tk, 0, 32) & '&' & $string($t) & '&24679788&' & $data); { 'url': 'https://acs.youku.com/h5/mopen.youku.danmu.list/1.0/?' & $sortedQueryString({ 'jsv': '2.5.6', 'appKey': '24679788', 't': $string($t), 'sign': $outerSign, 'api': 'mopen.youku.danmu.list', 'v': '1.0', 'type': 'originaljson', 'dataType': 'jsonp', 'timeout': '20000', 'jsonpIncPrefix': 'utility' }), 'body': 'data=' & $encodeUrlComponent($data) }) }) : []"
|
|
99
100
|
}
|
|
100
101
|
},
|
|
101
102
|
{
|