From 54a77836fe241befe869e15d8421d2a790ef5765 Mon Sep 17 00:00:00 2001 From: hjdhnx Date: Mon, 29 Aug 2022 16:32:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=9A=8F=E6=9C=BA=E5=9B=BE?= =?UTF-8?q?=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 24 ++++++++++ classes/cms.py | 6 +-- config.py | 3 +- images/1.jpg | Bin 0 -> 21462 bytes ...62\351\245\255\345\275\261\350\247\206.js" | 2 +- models/rules.db | Bin 16384 -> 24576 bytes "py/\345\271\262\351\245\255.js" | 2 +- readme.md | 1 + templates/config.txt | 2 +- utils/encode.py | 43 ++++++++++++++---- 10 files changed, 67 insertions(+), 16 deletions(-) create mode 100644 images/1.jpg diff --git a/app.py b/app.py index 1f3e054..3762814 100644 --- a/app.py +++ b/app.py @@ -3,6 +3,7 @@ # File : app.py # Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------ # Date : 2022/8/25 +import random from flask_sqlalchemy import SQLAlchemy import config @@ -155,6 +156,17 @@ def getRules(path='cache'): rules = {'list': rule_list, 'count': len(rule_list)} return rules +def getPics(path='images'): + base_path = path+'/' # 当前文件所在目录 + os.makedirs(base_path,exist_ok=True) + file_name = os.listdir(base_path) + # file_name = list(filter(lambda x: str(x).endswith('.js') and str(x).find('模板') < 0, file_name)) + # print(file_name) + pic_list = [base_path+file for file in file_name] + # pic_list = file_name + # print(type(pic_list)) + return pic_list + def getJxs(path='js'): with open(f'{path}/解析.txt',encoding='utf-8') as f: data = f.read().strip() @@ -216,6 +228,18 @@ def rules(): def rules_raw(): return render_template('raw.html',rules=getRules(),classes=getClasses()) +@app.route('/pics') +def random_pics(): + pics = getPics() + if len(pics) > 0: + pic = random.choice(pics) + file = open(pic, "rb").read() + response = make_response(file) + response.headers['Content-Type'] = 'image/jpeg' + return response + else: + return redirect(config.WALL_PAPER) + @app.route('/config/') def config_render(mode): # print(dict(app.config)) diff --git a/classes/cms.py b/classes/cms.py index 99a6746..b063bce 100644 --- a/classes/cms.py +++ b/classes/cms.py @@ -11,7 +11,7 @@ from utils.web import * from models import * from utils.config import config from utils.log import logger -from utils.encode import base64Encode,baseDecode,fetch,post +from utils.encode import base64Encode,baseDecode,fetch,post,request from utils.safePython import safePython from utils.parser import runPy,runJScode from utils.htmlParser import jsoup @@ -22,7 +22,7 @@ from easydict import EasyDict as edict py_ctx = { 'requests':requests,'print':print,'base64Encode':base64Encode,'baseDecode':baseDecode, -'log':logger.info,'fetch':fetch,'post':post +'log':logger.info,'fetch':fetch,'post':post,'request':request } class CMS: @@ -648,7 +648,7 @@ class CMS: loader,_ = runJScode(jscode,ctx=ctx) # print(loader.toString()) play_url = loader.eval('input') - logger.info('免嗅播放地址:',play_url) + logger.info(f'免嗅播放地址:{play_url}') return play_url diff --git a/config.py b/config.py index 0feab2f..18bbacb 100644 --- a/config.py +++ b/config.py @@ -20,4 +20,5 @@ JSON_AS_ASCII = False # jsonify返回的中文正常显示 # PLAY_URL = 'http://localhost:5705' # 匹配远程解析服务器链接 # PLAY_URL = PLAY_URL.rstrip('/') PLAY_DISABLE = False # 全局禁用播放解析 -WALL_PAPER = "https://picsum.photos/1280/720/?blur=10" # 自定义壁纸,可注释 \ No newline at end of file +WALL_PAPER = "https://picsum.photos/1280/720/?blur=10" # 自定义壁纸,可注释 +# {% if config.WALL_PAPER %}"wallpaper":"{{ config.WALL_PAPER }}",{% endif %} \ No newline at end of file diff --git a/images/1.jpg b/images/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a1384d967c2db7268ad050203173662fd71e435f GIT binary patch literal 21462 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%0Axqmc^-i`6VbV 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 literal 0 HcmV?d00001 diff --git "a/js/\345\271\262\351\245\255\345\275\261\350\247\206.js" "b/js/\345\271\262\351\245\255\345\275\261\350\247\206.js" index f682617..0b5b309 100644 --- "a/js/\345\271\262\351\245\255\345\275\261\350\247\206.js" +++ "b/js/\345\271\262\351\245\255\345\275\261\350\247\206.js" @@ -14,7 +14,7 @@ var rule = { // lazy:'干饭', // lazy:'@js:cacheUrl = d.getParse(input);print(cacheUrl);input=cacheUrl', // lazy:'js:cacheUrl = d.getParse(input);print(cacheUrl);input=cacheUrl', - lazy:'js:cacheUrl=d.getParse(input);if(cacheUrl){input=cacheUrl}else{try{let html=fetch(input,{headers:d.headers,timeout:d.timeout,encoding:d.encoding});let ret=html.match(/var player_(.*?)=(.*?)10){real_url="https://player.buyaotou.xyz/?url="+url;log("免嗅地址:"+real_url);d.saveParse(input,real_url);input=real_url}}catch(e){print("网络请求发生错误:"+e.message)}}', + lazy:'js:cacheUrl=d.getParse(input);if(cacheUrl){input=cacheUrl}else{try{let html=fetch(input,{headers:d.headers,timeout:d.timeout,encoding:d.encoding});let ret=html.match(/var player_(.*?)=(.*?)10){real_url="https://player.buyaotou.xyz/?url="+url;d.saveParse(input,real_url);input=real_url}}catch(e){print("网络请求发生错误:"+e.message)}}', limit:5, 推荐:'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;;a&&href', double:true, // 推荐内容是否双层定位 diff --git a/models/rules.db b/models/rules.db index 039b1aa133303f62730cd30136fca1095dd79471..71884e1396e2e5a1972ae29d5667317ff6992ca2 100644 GIT binary patch delta 254 zcmZo@U~D+RI6<1#j)8%JZK8rbqus`Y1^RrfKrSQyZy?FQ#{YXWpTS#xkPxf*A_D;d zULcEwH->>fh;Iq+H{O_yjXu20jpEXi&)can8yT5Tjl*5sOb#%K;0-Mc4)F{2%ks)dbxjAW ekw8*o1XL5w=aOC)W)S2O>Yfwe=WYU2BnbcvD@8v5 delta 26 hcmZoTz}V2hI6<1#ih+TFWuk&Tqt(WQ1^SB|1OQ?b2QB~r diff --git "a/py/\345\271\262\351\245\255.js" "b/py/\345\271\262\351\245\255.js" index 1f44cb6..06c6056 100644 --- "a/py/\345\271\262\351\245\255.js" +++ "b/py/\345\271\262\351\245\255.js" @@ -13,7 +13,7 @@ if(cacheUrl){ let url = JSON.parse(ret).url; if(url.length > 10){ real_url = 'https://player.buyaotou.xyz/?url='+url; - log('免嗅地址:'+real_url); + // log('免嗅地址:'+real_url); d.saveParse(input,real_url); input = real_url; } diff --git a/readme.md b/readme.md index c20bd9f..f0aa5d9 100644 --- a/readme.md +++ b/readme.md @@ -4,6 +4,7 @@ - [X] 1.更换js引擎,速度更快性能更好 - [X] 2.新版js支持与python互动,后期可能支持js免嗅(lazy:'@js:xxx') - [X] 3.支持了js免嗅和常用的fetch,post方法 +- [X] 4.配置uglifyjs可以把js代码压缩到一行(es5不支持多行js) ###### 2022/08/28 - [X] 1.增加linux进程启动,命令 supervisord -c manager.conf - [X] 2.转移文本文件到txt目录 diff --git a/templates/config.txt b/templates/config.txt index 6714767..4f8ba81 100644 --- a/templates/config.txt +++ b/templates/config.txt @@ -1,5 +1,5 @@ { -{% if config.WALL_PAPER %}"wallpaper":"{{ config.WALL_PAPER }}",{% endif %} +"wallpaper":"http://{{ host }}/pics", "dr_count": {{rules.list|length}}, "mode": {{ mode }}, "sites": [{% for rule in rules.list %}{% if mode == 0 %} diff --git a/utils/encode.py b/utils/encode.py index 0b9ef85..54e627d 100644 --- a/utils/encode.py +++ b/utils/encode.py @@ -6,6 +6,7 @@ import base64 import requests +from utils.web import UC_UA def base64Encode(text): return base64.b64encode(text.encode("utf8")).decode("utf-8") #base64编码 @@ -13,8 +14,7 @@ def base64Encode(text): def baseDecode(text): return base64.b64decode(text).decode("utf-8") #base64解码 -def base_request(url,obj,method='get'): - url = str(url).replace("'", "") +def dealObj(obj): encoding = obj.get('encoding') or 'utf-8' encoding = str(encoding).replace("'", "") # print(type(url),url) @@ -33,25 +33,50 @@ def base_request(url,obj,method='get'): new_body = {} for i in body: new_body[str(i).replace("'", "")] = str(body[i]).replace("'", "") - # print(type(new_body), new_body) + return { + 'encoding':encoding, + 'headers':new_headers, + 'timeout':timeout, + 'body': new_body, + } + +def base_request(url,obj,method=None): + url = str(url).replace("'", "") + if not method: + method = 'get' + # print(obj) try: # r = requests.get(url, headers=headers, params=body, timeout=timeout) if method.lower() == 'get': - r = requests.get(url, headers=new_headers, params=new_body, timeout=timeout) + r = requests.get(url, headers=obj['headers'], params=obj['body'], timeout=obj['timeout']) else: - r = requests.post(url, headers=new_headers, data=new_body, timeout=timeout) + r = requests.post(url, headers=obj['headers'], data=obj['body'], timeout=obj['timeout']) # r = requests.get(url, timeout=timeout) # r = requests.get(url) # print(encoding) - r.encoding = encoding + r.encoding = obj['encoding'] # print(f'源码:{r.text}') return r.text except Exception as e: print(f'{method}请求发生错误:{e}') return '' -def fetch(url,obj): - return base_request(url,obj) +def fetch(url,obj,method=None): + if not method: + method = 'get' + obj = dealObj(obj) + print(method) + return base_request(url,obj,method) def post(url,obj): - return base_request(url,obj,'post') \ No newline at end of file + obj = dealObj(obj) + return base_request(url,obj,'post') + +def request(url,obj,method=None): + if not method: + method = 'get' + obj = dealObj(obj) + if not obj.get('headers') or not obj['headers'].get('User-Agent'): + obj['headers']['User-Agent'] = UC_UA + + return base_request(url, obj, method) \ No newline at end of file -- GitLab