Skip to content

Commit ef5eba2

Browse files
committed
fix:修复前面版本导致的bug
1 parent 9511c48 commit ef5eba2

9 files changed

+169
-8
lines changed

Diff for: Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ RUN git clone https://github.com/hjdhnx/drpy-node.git .
1717
# 设置npm镜像为npmmirror
1818
RUN npm config set registry https://registry.npmmirror.com
1919

20-
# 全局安装yarn和pm2工具
21-
RUN npm install -g yarn pm2
20+
# 全局安装pm2工具(yarn已经自带了不需要再自己装)
21+
RUN npm install -g pm2
2222

2323
# 安装项目依赖项和puppeteer
2424
RUN yarn && yarn add puppeteer

Diff for: controllers/api.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,16 @@ export default (fastify, options, done) => {
205205
return proxyUrl
206206
};
207207
return {
208-
proxyUrl, publicUrl, jsonUrl, httpUrl, mediaProxyUrl, hostUrl, fServer, getProxyUrl, ext: moduleExt
208+
proxyUrl,
209+
proxyPath,
210+
publicUrl,
211+
jsonUrl,
212+
httpUrl,
213+
mediaProxyUrl,
214+
hostUrl,
215+
fServer,
216+
getProxyUrl,
217+
ext: moduleExt
209218
}
210219
}
211220

Diff for: custom.json

+21-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"sites_count": 45,
2+
"sites_count": 47,
33
"sites": [
44
{
55
"key": "drpyS_设置中心",
@@ -196,6 +196,16 @@
196196
"quickSearch": 0,
197197
"ext": ""
198198
},
199+
{
200+
"key": "drpyS_集百动漫",
201+
"name": "集百动漫(DS)",
202+
"type": 4,
203+
"api": "http://localhost:5757/api/集百动漫",
204+
"searchable": 1,
205+
"filterable": 0,
206+
"quickSearch": 0,
207+
"ext": ""
208+
},
199209
{
200210
"key": "drpyS_荐片",
201211
"name": "荐片(DS)",
@@ -246,6 +256,16 @@
246256
"quickSearch": 0,
247257
"ext": ""
248258
},
259+
{
260+
"key": "drpyS_七度空间[密]",
261+
"name": "七度空间[密](DS)",
262+
"type": 4,
263+
"api": "http://localhost:5757/api/七度空间[密]",
264+
"searchable": 1,
265+
"filterable": 1,
266+
"quickSearch": 0,
267+
"ext": ""
268+
},
249269
{
250270
"key": "drpyS_七猫小说[书]",
251271
"name": "七猫小说[书](DS)",

Diff for: index.json

+21-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"sites_count": 45,
2+
"sites_count": 47,
33
"sites": [
44
{
55
"key": "drpyS_设置中心",
@@ -196,6 +196,16 @@
196196
"quickSearch": 0,
197197
"ext": ""
198198
},
199+
{
200+
"key": "drpyS_集百动漫",
201+
"name": "集百动漫(DS)",
202+
"type": 4,
203+
"api": "http://localhost:5757/api/集百动漫",
204+
"searchable": 1,
205+
"filterable": 0,
206+
"quickSearch": 0,
207+
"ext": ""
208+
},
199209
{
200210
"key": "drpyS_荐片",
201211
"name": "荐片(DS)",
@@ -246,6 +256,16 @@
246256
"quickSearch": 0,
247257
"ext": ""
248258
},
259+
{
260+
"key": "drpyS_七度空间[密]",
261+
"name": "七度空间[密](DS)",
262+
"type": 4,
263+
"api": "http://localhost:5757/api/七度空间[密]",
264+
"searchable": 1,
265+
"filterable": 1,
266+
"quickSearch": 0,
267+
"ext": ""
268+
},
249269
{
250270
"key": "drpyS_七猫小说[书]",
251271
"name": "七猫小说[书](DS)",

Diff for: js/七度空间[密].js

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: js/抖音直播弹幕[官].js

+1-1
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ function connectWebSocket(hostUrl, room_id, ttwid) {
210210
let payload = pushframe.getPayload_asU8();
211211
try {
212212
const buffer = zlib.gunzipSync(payload);
213-
//console.log('解压成功');
213+
// console.log('zlib解压成功');
214214
let response = new proto.douyin.Response.deserializeBinary(buffer);
215215
let res = response.toObject();
216216
let frame = pushframe.toObject();

Diff for: js/集百动漫.js

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
var rule = {
2+
类型: '影视',
3+
title: '集百动漫',
4+
host: 'http://www.jibai5.com',
5+
url: '/bm/fyclass/fypage.html',
6+
searchUrl: '/vodsearch/**----------fypage---.html',
7+
homeUrl: '/',
8+
headers: {'User-Agent': 'UC_UA'},
9+
searchable: 1, quickSearch: 0, filterable: 0, double: true, play_parse: true, limit: 6,
10+
class_name: '3D动漫&动漫&沙雕剧场',
11+
class_url: '20&21&22',
12+
lazy: async function () {
13+
let {input, pdfa, pdfh, pd} = this
14+
const html = JSON.parse((await req(input)).content.match(/r player_.*?=(.*?)</)[1]);
15+
let url = html.url;
16+
if (html.encrypt == "1") {
17+
url = unescape(url)
18+
return {parse: 0, url: url}
19+
} else if (html.encrypt == "2") {
20+
url = unescape(base64Decode(url))
21+
return {parse: 0, url: url}
22+
}
23+
if (/m3u8|mp4/.test(url)) {
24+
input = url
25+
return {parse: 0, url: input}
26+
} else {
27+
return input
28+
}
29+
},
30+
推荐: async function () {
31+
let {input, pdfa, pdfh, pd} = this;
32+
let html = await request(input);
33+
let d = [];
34+
let data = pdfa(html, '.boxlist li');
35+
data.forEach((it) => {
36+
d.push({
37+
title: pdfh(it, 'a&&title'),
38+
pic_url: pd(it, 'img&&src'),
39+
desc: pdfh(it, '.duration&&Text'),
40+
url: pd(it, 'a&&href'),
41+
})
42+
});
43+
return setResult(d)
44+
},
45+
一级: async function () {
46+
let {input, pdfa, pdfh, pd} = this;
47+
let html = await request(input);
48+
let d = [];
49+
let data = pdfa(html, '.boxlist li');
50+
data.forEach((it) => {
51+
d.push({
52+
title: pdfh(it, 'a&&title'),
53+
pic_url: pd(it, 'img&&src'),
54+
desc: pdfh(it, '.duration&&Text'),
55+
url: pd(it, 'a&&href'),
56+
})
57+
});
58+
return setResult(d)
59+
},
60+
二级: async function () {
61+
let {input, pdfa, pdfh, pd} = this;
62+
let html = await request(input);
63+
let VOD = {};
64+
VOD.vod_name = pdfh(html, 'h2&&Text');
65+
VOD.vod_content = pdfh(html, '.juqing.mbyc&&Text');
66+
let playlist = pdfa(html, '.dslist-group')
67+
let tabs = pdfa(html, '.panel-default&&.panel-heading');
68+
let playmap = {};
69+
tabs.map((item, i) => {
70+
const form = pdfh(item, 'Text')
71+
const list = playlist[i]
72+
const a = pdfa(list, 'body&&a')
73+
a.map((it) => {
74+
let title = pdfh(it, 'a&&title')
75+
let urls = pd(it, 'a&&href', input)
76+
if (!playmap.hasOwnProperty(form)) {
77+
playmap[form] = [];
78+
}
79+
playmap[form].push(title + "$" + urls);
80+
});
81+
});
82+
VOD.vod_play_from = Object.keys(playmap).join('$$$');
83+
const urls = Object.values(playmap);
84+
const playUrls = urls.map((urllist) => {
85+
return urllist.join("#")
86+
});
87+
VOD.vod_play_url = playUrls.join('$$$');
88+
return VOD
89+
},
90+
搜索: async function () {
91+
let {input, pdfa, pdfh, pd} = this;
92+
let html = await request(input);
93+
let d = [];
94+
let data = pdfa(html, '.boxlist li');
95+
data.forEach((it) => {
96+
d.push({
97+
title: pdfh(it, 'a&&title'),
98+
pic_url: pd(it, 'img&&src'),
99+
desc: pdfh(it, '.duration&&Text'),
100+
url: pd(it, 'a&&href'),
101+
content: pdfh(it, '.list-content&&Text'),
102+
})
103+
});
104+
return setResult(d)
105+
}
106+
}

Diff for: libs/drpyS.js

+5
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import path from "path";
77
import vm from 'vm';
88
import WebSocket, {WebSocketServer} from 'ws';
99
import zlib from 'zlib';
10+
import * as minizlib from 'minizlib';
1011
import '../libs_drpy/es6-extend.js'
1112
import {getSitesMap} from "../utils/sites-map.js";
1213
import * as utils from '../utils/utils.js';
@@ -55,6 +56,7 @@ globalThis.XMLHttpRequest = XMLHttpRequest;
5556
globalThis.WebSocket = WebSocket;
5657
globalThis.WebSocketServer = WebSocketServer;
5758
globalThis.zlib = zlib;
59+
globalThis.minizlib = minizlib;
5860
globalThis.AIS = AIS;
5961
globalThis.pathLib = {
6062
basename: path.basename,
@@ -268,6 +270,7 @@ export async function getSandbox(env = {}) {
268270
WebSocket,
269271
WebSocketServer,
270272
zlib,
273+
minizlib,
271274
};
272275

273276
// 创建一个沙箱上下文,注入需要的全局变量和函数
@@ -586,6 +589,8 @@ async function invokeWithInjectVars(rule, method, injectVars, args) {
586589
result = await playParseAfter(rule, result, args[1], args[0]);
587590
console.log(`免嗅 ${injectVars.input} 执行完毕,结果为:`, JSON.stringify(result));
588591
break;
592+
case 'proxy_rule':
593+
break;
589594
default:
590595
console.log(`invokeWithInjectVars: ${injectVars['method']}`);
591596
break;

Diff for: package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"lodash": "^4.17.21",
3030
"lru-cache": "^9.1.2",
3131
"mime-types": "^2.1.35",
32+
"minizlib": "^3.0.1",
3233
"p-queue": "^8.0.1",
3334
"qs": "^6.13.1",
3435
"queue": "^7.0.0",
@@ -37,7 +38,6 @@
3738
"sync-fetch": "^0.6.0-2",
3839
"tunnel": "^0.0.6",
3940
"ws": "^8.18.0",
40-
"xmlhttprequest": "^1.8.0",
41-
"zlib": "^1.0.5"
41+
"xmlhttprequest": "^1.8.0"
4242
}
4343
}

0 commit comments

Comments
 (0)