Skip to content

Commit 31e7f41

Browse files
committed
update:新增源
1 parent c51384e commit 31e7f41

File tree

4 files changed

+196
-1
lines changed

4 files changed

+196
-1
lines changed

Diff for: custom.json

+8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
{
22
"sites": [
3+
{
4+
"key": "drpyS_人人视频",
5+
"name": "人人视频(drpyS)",
6+
"type": 4,
7+
"api": "http://127.0.0.1:5757/api/人人视频",
8+
"searchable": 1,
9+
"ext": ""
10+
},
311
{
412
"key": "drpyS_番茄小说[书]",
513
"name": "番茄小说[书](drpyS)",

Diff for: index.json

+8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
{
22
"sites": [
3+
{
4+
"key": "drpyS_人人视频",
5+
"name": "人人视频(drpyS)",
6+
"type": 4,
7+
"api": "http://127.0.0.1:5757/api/人人视频",
8+
"searchable": 1,
9+
"ext": ""
10+
},
311
{
412
"key": "drpyS_番茄小说[书]",
513
"name": "番茄小说[书](drpyS)",

Diff for: js/人人视频.js

+178
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
// http://localhost:5757/api/人人视频?ac=list&t=1&pg=1
2+
// http://localhost:5757/api/人人视频?ac=detail&ids=447
3+
// http://localhost:5757/api/人人视频?wd=&pg=1
4+
// http://localhost:5757/api/人人视频?play=&flag=人人视频
5+
var rule = {
6+
类型: '影视',
7+
title: '人人视频',
8+
desc: '人人视频纯js版本',
9+
homeUrl:'',
10+
url: '/api.php/getappapi.index/typeFilterVodList',
11+
searchUrl: '/api.php/getappapi.index/searchList',
12+
searchable: 2,
13+
quickSearch: 0,
14+
headers: {
15+
'User-Agent': 'okhttp/3.14.9',
16+
'Connection': 'Keep-Alive',
17+
'Accept-Encoding': 'gzip',
18+
'app-version-code': '167',
19+
'app-ui-mode': 'light',
20+
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
21+
},
22+
timeout: 5000,
23+
play_parse: true,
24+
class_parse: async () => {
25+
let classes = [{"type_id": "2", "type_name": "剧集"}, {"type_id": "1", "type_name": "电影"}, {
26+
"type_id": "3",
27+
"type_name": "动漫"
28+
},];
29+
return {
30+
class: classes,
31+
}
32+
},
33+
预处理: async () => {
34+
let domain_config = {
35+
method:'GET',
36+
url:'http://111.180.203.165:9999/d/115/jiekou.txt'
37+
}
38+
rule.homeUrl = (await req(domain_config)).content
39+
},
40+
推荐: async () => {
41+
return []
42+
},
43+
一级: async function (tid, pg, filter, extend) {
44+
let {MY_CATE, input} = this;
45+
let page = pg || 1;
46+
if (page === 0) page = 1;
47+
const data = {
48+
'area': '全部',
49+
'year': '全部',
50+
'type_id': MY_CATE,
51+
'page': page,
52+
'sort': '最新',
53+
'lang': '全部',
54+
'class': '全部'
55+
}
56+
let d = [];
57+
const html = JSON.parse((await req(rule.homeUrl + input,{method:'post',data:data})).content);
58+
let videos = JSON.parse(category_decrypt(html.data)).recommend_list
59+
videos.forEach(it=>{
60+
d.push({
61+
title: it.vod_name,
62+
url: it.vod_id,
63+
desc: it.vod_blurb,
64+
pic_url: it.vod_pic
65+
})
66+
})
67+
return setResult(d)
68+
},
69+
二级: async function (ids) {
70+
let {input} = this;
71+
let data = {
72+
'vod_id': ids[0]
73+
}
74+
let html = JSON.parse((await req(`${rule.homeUrl}/api.php/getappapi.index/vodDetail`,{method:'post',headers: {
75+
'Content-Type': 'application/json',
76+
'User-Agent': 'okhttp/3.14.9',
77+
'Host': `${rule.homeUrl.replace('https://','')}`
78+
},data:data})).content);
79+
let list = JSON.parse(detail_decrypt(html.data));
80+
const vod = {
81+
vod_id: list.vod.vod_id,
82+
vod_name: list.vod.vod_name,
83+
vod_pic: list.vod.vod_pic,
84+
vod_remarks: list.vod.vod_remarks
85+
};
86+
const playlist = list.vod_play_list
87+
let playmap={};
88+
for (const i in playlist) {
89+
let form = playlist[i].player_info.show
90+
const list = playlist[i].urls
91+
if(!playmap.hasOwnProperty(form)){
92+
playmap[form]=[];
93+
}
94+
for (const i in list) {
95+
playmap[form].push(list[i].name.trim()+'$'+list[i].parse_api_url.replace('$','').replace('&',''));
96+
97+
}
98+
}
99+
vod.vod_play_from = Object.keys(playmap).join('$$$');
100+
const urls = Object.values(playmap);
101+
const playUrls=urls.map((urllist)=>{
102+
return urllist.join("#")
103+
});
104+
vod.vod_play_url = playUrls.join('$$$');
105+
106+
return vod
107+
},
108+
搜索: async function (wd, quick, pg) {
109+
let html = JSON.parse((await req(`${rule.homeUrl}/api.php/getappapi.index/searchList`,{
110+
method:'post',
111+
data:{
112+
'keywords': wd,
113+
'type_id': '0',
114+
'page': pg
115+
}
116+
})).content);
117+
let d = [];
118+
let videos = JSON.parse(detail_decrypt(html.data)).search_list
119+
videos.forEach(it=>{
120+
d.push({
121+
title: it.vod_name,
122+
url: it.vod_id,
123+
desc: it.vod_blurb,
124+
pic_url: it.vod_pic
125+
})
126+
})
127+
return setResult(d)
128+
},
129+
lazy: async function (flag, id, flags) {
130+
let {input} = this;
131+
if (id.indexOf('m3u8') < 0) {
132+
let html = JSON.parse((await req({
133+
url:id.replace('ip=ip','ip=$ip&'),
134+
method:'post',
135+
headers: {
136+
'User-Agent': 'Mozilla/9.0 (Macintosh; Intel Mac OS X 10.8; rv:69.0) Gecko/20100101 Firefox/69.0'
137+
}
138+
})).content)
139+
let link = html.url
140+
return {parse: 0, url: link, js: ''}
141+
}else {
142+
return {parse: 0, url: input, js: ''}
143+
}
144+
},
145+
};
146+
147+
function encrypt(word) {
148+
const key = CryptoJS.enc.Utf8.parse("31c93c7bc211d778");
149+
const iv = CryptoJS.enc.Utf8.parse("31c93c7bc211d778");
150+
const encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(word), key, {
151+
iv: iv,
152+
mode: CryptoJS.mode.CBC,
153+
padding: CryptoJS.pad.Pkcs7
154+
});
155+
return encrypted.toString();
156+
}
157+
158+
function category_decrypt(word) {
159+
const key = CryptoJS.enc.Utf8.parse("31c93c7bc211d778");
160+
const iv = CryptoJS.enc.Utf8.parse("33520 USB Digita");
161+
const decrypt = CryptoJS.AES.decrypt(word, key, {
162+
iv: iv,
163+
mode: CryptoJS.mode.CBC,
164+
padding: CryptoJS.pad.Pkcs7
165+
});
166+
return decrypt.toString(CryptoJS.enc.Utf8);
167+
}
168+
169+
function detail_decrypt(word) {
170+
const key = CryptoJS.enc.Utf8.parse("31c93c7bc211d778");
171+
const iv = CryptoJS.enc.Utf8.parse("31c93c7bc211d778");
172+
const decrypt = CryptoJS.AES.decrypt(word, key, {
173+
iv: iv,
174+
mode: CryptoJS.mode.CBC,
175+
padding: CryptoJS.pad.Pkcs7
176+
});
177+
return decrypt.toString(CryptoJS.enc.Utf8);
178+
}

Diff for: js/金牌影院.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,12 @@ var rule = {
5656
})).content);
5757
let d = [];
5858
const list = html.data.list
59+
log(list)
5960
list.forEach((it)=>{
6061
d.push({
6162
title: it.vodName,
6263
url: '/detail/'+it.vodId,
63-
desc: it.vodRemarks || '暂无更新',
64+
desc: it.vodRemarks || it.vodVersion,
6465
pic_url: it.vodPic,
6566
})
6667
})

0 commit comments

Comments
 (0)