diff --git a/base/custom.conf b/base/custom.conf index 4e9df93a2a623c39a5d09d3db8b47c631e81c7b7..6443f2bee6e5bf180244ebc9cc1256b5bf3c45c8 100644 --- a/base/custom.conf +++ b/base/custom.conf @@ -15,5 +15,6 @@ "filterable":0 } ], + "spider": "{{ host }}/files/custom_spider.jar", "lives":[{"group":"redirect","channels":[{"name":"我的直播","urls":["proxy://do=live&type=txt&ext=aHR0cHM6Ly9naXRjb2RlLm5ldC9xcV8yNjg5ODIzMS9UVkJveC8tL3Jhdy9tYWluL2xpdmUvemIudHh0"]}]}], } \ No newline at end of file diff --git a/base/files/custom_spider.jar b/base/files/custom_spider.jar new file mode 100644 index 0000000000000000000000000000000000000000..152a94b4c151320830ea6f29bc687b3f41ee6088 Binary files /dev/null and b/base/files/custom_spider.jar differ diff --git a/controllers/home.py b/controllers/home.py index 708b35690f2daf66abe782f9a543622779e3fc6d..91e75cfb2b882800f8f8b7a01e663137ddd99262 100644 --- a/controllers/home.py +++ b/controllers/home.py @@ -6,7 +6,7 @@ import json import os -from flask import Blueprint,abort,render_template,url_for,redirect,make_response +from flask import Blueprint,abort,render_template,render_template_string,url_for,redirect,make_response from controllers.service import storage_service from controllers.classes import getClasses,getClassInfo from utils.web import getParmas @@ -95,6 +95,23 @@ def plugin(name): except Exception as e: return R.failed(f'非法猥亵\n{e}') +@home.route('/files/') +def get_files(name): + base_path = 'base/files' + os.makedirs(base_path,exist_ok=True) + file_path = os.path.join(base_path, f'{name}') + if not os.path.exists(file_path): + return R.failed(f'{file_path}文件不存在') + + with open(file_path, mode='rb') as f: + file_byte = f.read() + response = make_response(file_byte) + filename = name + response.headers['Content-Type'] = 'application/octet-stream' + response.headers['Content-Disposition'] = f'attachment;filename="{filename}"' + return response + + @home.route('/lives') def get_lives(): live_path = 'js/直播.txt' @@ -131,17 +148,17 @@ def config_render(mode): with open(customFile,'w+',encoding='utf-8') as f: f.write('{}') customConfig = False - try: - with open(customFile,'r',encoding='utf-8') as f: - customConfig = parseText(f.read()) - except Exception as e: - logger.info(f'用户自定义配置加载失败:{e}') - if mode == 1: jyw_ip = getHost(mode) logger.info(jyw_ip) new_conf = cfg host = getHost(mode) + try: + with open(customFile,'r',encoding='utf-8') as f: + text = f.read() + customConfig = parseText(render_template_string(text,host=host)) + except Exception as e: + logger.info(f'用户自定义配置加载失败:{e}') jxs = getJxs() alists = getAlist() alists_str = json.dumps(alists, ensure_ascii=False) diff --git a/js/version.txt b/js/version.txt index 712bd5a680e584c8dd2e19e32ce73c0147311af7..5436ea06e3e4586889e2a374284a739bb4627cdd 100644 --- a/js/version.txt +++ b/js/version.txt @@ -1 +1 @@ -3.3.1 \ No newline at end of file +3.3.2 \ No newline at end of file diff --git a/readme.md b/readme.md index b750060c03e66f0da57c10e4945839a6dd88c770..5bd71da439935cb5f0d17cf02d692cabad32ac8c 100644 --- a/readme.md +++ b/readme.md @@ -49,6 +49,7 @@ ###### 2022/09/08 - [X] 1.升级到3.2.9,支持自动合并自定义用户配置(内置t4测试源) - [X] 7.升级到3.3.0,增加奇珍异兽源 +- [X] 7.升级到3.3.2,增加自定义本地文件路由: {{ host }}/files/文件名 比如 {{ host }}/files/custom_spider.jar ###### 2022/09/07 - [X] 1.优化后台管理登录界面,升级更新脚本 - [X] 2.增加了镜像合并脚本(三合一直接拉 hjdhnx/drpy 即可)