From 8f001cfdd581ea3702529c4822a468aee11d2a23 Mon Sep 17 00:00:00 2001 From: hjdhnx Date: Tue, 3 Oct 2023 18:16:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=BB=BA=E8=A7=A3=E6=9E=90=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/home.py | 1 + jiexi/dyg.js | 1 + jiexi/vip.js | 1 + jiexi/万能.js | 1 + jiexi/刚刚.js | 1 + jiexi/周星驰.js | 1 + jiexi/哔哩.js | 18 +++++++++--------- jiexi/插萝莉慢.js | 1 + jiexi/斗鱼.js | 1 + jiexi/无名.js | 1 + jiexi/江湖.js | 1 + jiexi/江湖加密.js | 1 + jiexi/酷云.js | 1 + jiexi/飞跃.js | 2 ++ jiexi/鸿途.js | 1 + js/rules.py | 36 ++++++++++++++++++++++++++++++------ js/version.txt | 2 +- templates/config.txt | 5 +++-- 18 files changed, 58 insertions(+), 18 deletions(-) diff --git a/controllers/home.py b/controllers/home.py index 362f89b..19433f9 100644 --- a/controllers/home.py +++ b/controllers/home.py @@ -415,6 +415,7 @@ def sort_parses_by_order(parses,host): parses[i]['order'] = 0 parses[i]['write_date'] = 0 + # 外层自动补header if not parses[i].get('header'): parses[i]['header'] = {'User-Agent': 'Mozilla/5.0'} if str(parses[i]['url']).startswith('/'): diff --git a/jiexi/dyg.js b/jiexi/dyg.js index 4556601..b58e2dc 100644 --- a/jiexi/dyg.js +++ b/jiexi/dyg.js @@ -1,3 +1,4 @@ +var flag = []; function lazy(){ let jxUrl = 'https://vip.lianfaka.com/vip/?url='; fetch_params.headers.Referer = 'https://www.dy6g.com'; diff --git a/jiexi/vip.js b/jiexi/vip.js index d3769eb..dcd2b7b 100644 --- a/jiexi/vip.js +++ b/jiexi/vip.js @@ -1,3 +1,4 @@ +var flag = []; function lazy() { let jxUrl = 'https://80k.tv/jxplayer.php?v='; fetch_params.headers.Referer = 'https://1080p.tv'; diff --git a/jiexi/万能.js b/jiexi/万能.js index 9554be7..46da437 100644 --- a/jiexi/万能.js +++ b/jiexi/万能.js @@ -1,3 +1,4 @@ +var flag = []; function lazy() { let jxUrl = 'https://json.legendwhb.cn/llq/?url='; fetch_params.headers.Referer = jxUrl; diff --git a/jiexi/刚刚.js b/jiexi/刚刚.js index 6681670..d96f161 100644 --- a/jiexi/刚刚.js +++ b/jiexi/刚刚.js @@ -1,3 +1,4 @@ +var flag = []; function lazy() { realUrl = 重定向('https://play.fuqizhishi.com/jx2/API.php?appkey=iiiixiaobai&url=' + input); return realUrl diff --git a/jiexi/周星驰.js b/jiexi/周星驰.js index dd7d015..0c0d2d1 100644 --- a/jiexi/周星驰.js +++ b/jiexi/周星驰.js @@ -1,4 +1,5 @@ // 星驰免嗅 +var flag = []; function lazy() { let jxUrl = 'https://vip.swuii.top/player/analysis.php?v='; fetch_params.headers.Referer = jxUrl; diff --git a/jiexi/哔哩.js b/jiexi/哔哩.js index 8a3b72e..2ac1830 100644 --- a/jiexi/哔哩.js +++ b/jiexi/哔哩.js @@ -1,14 +1,6 @@ // print(env); // input = 'https://www.bilibili.com/bangumi/play/ep704873'; -fetch_params.headers = { - 'User-Agent':PC_UA, - "Referer": "https://www.bilibili.com", - "Cookie":env.bili_cookie||'' -}; -let appkey = env.appkey||''; -let access_key = env.access_key||''; -// print(fetch_params); - +var flag = ['bilibili']; function getEpUrl(ssUrl){ let html = request(ssUrl); let short_link = html.match(/short_link(.*?),/)[1]; @@ -61,6 +53,14 @@ return null } } function lazy(){ +fetch_params.headers = { + 'User-Agent':PC_UA, + "Referer": "https://www.bilibili.com", + "Cookie":env.bili_cookie||'' +}; +let appkey = env.appkey||''; +let access_key = env.access_key||''; + if(!/bilibili/.test(input)){ realUrl = input; }else { diff --git a/jiexi/插萝莉慢.js b/jiexi/插萝莉慢.js index 1d4cf6f..bc1f727 100644 --- a/jiexi/插萝莉慢.js +++ b/jiexi/插萝莉慢.js @@ -1,3 +1,4 @@ +var flag = []; function lazy() { let jxUrl = 'http://chaloli.cn/home/api?type=ys&uid=1&key=ekloswzABCGHKLOT58&url='; fetch_params.headers.Referer = jxUrl; diff --git a/jiexi/斗鱼.js b/jiexi/斗鱼.js index 460c8e1..46f93fb 100644 --- a/jiexi/斗鱼.js +++ b/jiexi/斗鱼.js @@ -20,6 +20,7 @@ function getSign(script, rid, did, tt){ } // log(env); // fetch_params.headers.Referer = input; +var flag = []; function lazy() { try { // realUrl = null; diff --git a/jiexi/无名.js b/jiexi/无名.js index 57e93a4..0744149 100644 --- a/jiexi/无名.js +++ b/jiexi/无名.js @@ -1,4 +1,5 @@ // let jxUrl = 'http://api.ckflv.cn/?url='; +var flag = []; function lazy() { log(env); let jxUrl = 'https://k.json.icu/home/api?type=ys&uid=12406929&key=adgouwyCGIRSTUV046&url='; diff --git a/jiexi/江湖.js b/jiexi/江湖.js index 07628c5..7ba8151 100644 --- a/jiexi/江湖.js +++ b/jiexi/江湖.js @@ -1,3 +1,4 @@ +var flag = []; function lazy() { let jxUrl = 'http://45.248.10.163:4433/json.php?wap=0&url='; fetch_params.headers.Referer = jxUrl; diff --git a/jiexi/江湖加密.js b/jiexi/江湖加密.js index 871ec78..fddb2b0 100644 --- a/jiexi/江湖加密.js +++ b/jiexi/江湖加密.js @@ -1,3 +1,4 @@ +var flag = []; function lazy() { let PWD = 'drpy'; // log(params); diff --git a/jiexi/酷云.js b/jiexi/酷云.js index 74e31eb..68ed279 100644 --- a/jiexi/酷云.js +++ b/jiexi/酷云.js @@ -1,3 +1,4 @@ +var flag = []; function lazy() { let jxUrl = 'http://api.kunyu77.com/api.php/provide/parserUrl?url='; var t = Math.floor(new Date().getTime() / 1000).toString(); diff --git a/jiexi/飞跃.js b/jiexi/飞跃.js index 7de7449..0fae681 100644 --- a/jiexi/飞跃.js +++ b/jiexi/飞跃.js @@ -1,4 +1,6 @@ // realUrl = 重定向('http://ivips.ml/jx/json.php/?url='+input) + +var flag = []; function lazy() { realUrl = 重定向('http://103.40.240.46/jh/?url=' + input); return realUrl diff --git a/jiexi/鸿途.js b/jiexi/鸿途.js index 8178d29..70a2586 100644 --- a/jiexi/鸿途.js +++ b/jiexi/鸿途.js @@ -12,6 +12,7 @@ // realUrl = input; // } // 虾米免嗅 +var flag = []; function lazy() { let jxUrl = 'https://jx.xmflv.com/?url='; fetch_params.headers.Referer = jxUrl; diff --git a/js/rules.py b/js/rules.py index af3d8e2..25a949b 100644 --- a/js/rules.py +++ b/js/rules.py @@ -202,16 +202,40 @@ def getJxs(path=None, host=None): file_name = list( filter(lambda x: str(x).endswith('.js') and str(x).find('模板') < 0 and str(x).find('加密') < 0, file_name)) # print(file_name) - jx_list = [file.replace('.js', '') for file in file_name] + # jx_list = [file.replace('.js', '') for file in file_name] # print(file_name) # print(jx_list) - jx_str = '\n'.join([jx + ',{{host}}' + f'/parse/api/{jx}.js?url=,1' for jx in jx_list]) + # jx_str = '\n'.join([jx + ',{{host}}' + f'/parse/api/{jx}.js?url=,1' for jx in jx_list]) # print(jx_str) + jxs = [] + for file in file_name: + ctx = Context() + with open(os.path.join(base_path,file),encoding='utf-8') as f0: + code = f0.read() + try: + ctx.eval(code) + flag = ctx.get('flag') + if flag: + flag = flag.json() + flag = ujson.loads(flag) + if isinstance(flag,list) and len(flag) > 0: + jx = file.replace('.js', '') + logger.info(f'自建解析可用:{jx}') + jxs.append({ + 'name': jx, + 'url': f'{host}/parse/api/{jx}.js?url=', + 'type': 1, + 'ua': UA, + 'flag': flag, + }) + except Exception as e: + logger.info(f'自建解析{file}写法有误:{e}') - with open(f'{path}/解析.conf', encoding='utf-8') as f: - text = f.read() - text = jx_str + '\n' + text - jxs = jxTxt2Json(text, host) + with open(f'{path}/解析.conf', encoding='utf-8') as f1: + text = f1.read() + # text = jx_str + '\n' + text + jxs1 = jxTxt2Json(text, host) + jxs.extend(jxs1) with open(custom_jx, encoding='utf-8') as f2: text = f2.read() jxs2 = jxTxt2Json(text, host) diff --git a/js/version.txt b/js/version.txt index 7909edb..63e7860 100644 --- a/js/version.txt +++ b/js/version.txt @@ -1 +1 @@ -3.9.47beta41 \ No newline at end of file +3.9.47beta42 \ No newline at end of file diff --git a/templates/config.txt b/templates/config.txt index 094ab2e..df54abe 100644 --- a/templates/config.txt +++ b/templates/config.txt @@ -70,11 +70,12 @@ "url": "{{ jx.url }}", "type": {{ jx.type }}, "ext": { - "flag": ["qiyi","imgo","爱奇艺", "奇艺", "qq","qq 预告及花絮", "腾讯", "youku", "优酷", "pptv", "PPTV", "letv", "乐视","leshi", "mgtv", "芒果","sohu", "xigua","fun","风行"], + "flag": {{jx.flag or ["qiyi","imgo","爱奇艺", "奇艺", "qq","qq 预告及花絮", "腾讯", "youku", "优酷", "pptv", "PPTV", "letv", "乐视","leshi", "mgtv", "芒果","sohu", "xigua","fun","风行"]}} + + }, "header": { "User-Agent": "{{ jx.ua }}" } - } }{% if loop.last==False %},{% endif %}{% endfor %} ], "flags": ["imgo","youku", "qq","qq 预告及花絮", "iqiyi", "qiyi","fun", "letv","leshi","sohu", "tudou","xigua","cntv","1905", "pptv", "mgtv", "wasu", "bilibili", "renrenmi"],