From ad2465f2594a942d62db44fd06c83619cc747a5a Mon Sep 17 00:00:00 2001 From: Abbey Date: Wed, 22 May 2019 11:44:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/__init__.py | 6 +- app/admin/setting.py | 35 ++++-- app/templates/admin/layout.html | 6 +- app/templates/admin/setting/setting.html | 102 +-------------- app/templates/admin/setting/sys_setting.html | 123 +++++++++++++++++++ config.py | 2 +- self_config.py.sample | 3 + update.sh | 8 ++ 8 files changed, 172 insertions(+), 113 deletions(-) create mode 100644 app/templates/admin/setting/sys_setting.html diff --git a/app/__init__.py b/app/__init__.py index 6c8ad2a..3bd8d8c 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -2,7 +2,9 @@ from flask import Flask from werkzeug.contrib.fixers import ProxyFix from config import config -from extend import * +from .extend import * +from utils.header import GetConfig + def create_app(): @@ -17,7 +19,7 @@ def create_app(): app.register_blueprint(front_blueprint) from .admin import admin as admin_blueprint - app.register_blueprint(admin_blueprint,url_prefix='/admin') + app.register_blueprint(admin_blueprint,url_prefix='/{}'.format(GetConfig('admin_prefix'))) return app diff --git a/app/admin/setting.py b/app/admin/setting.py index 96255ba..fc0f354 100644 --- a/app/admin/setting.py +++ b/app/admin/setting.py @@ -12,6 +12,26 @@ def setting(): title=request.form.get('title','PyOne') theme=request.form.get('theme','material') title_pre=request.form.get('title_pre','index of ') + + set('title',title) + set('title_pre',title_pre) + set('theme',theme) + + # reload() + redis_client.set('title',title) + redis_client.set('title_pre',title_pre) + redis_client.set('theme',theme) + flash('更新成功') + resp=MakeResponse(redirect(url_for('admin.setting'))) + return resp + resp=MakeResponse(render_template('admin/setting/setting.html')) + return resp + + +@admin.route('/sys_setting',methods=['GET','POST']) +def sys_setting(): + if request.method=='POST': + downloadUrl_timeout=request.form.get('downloadUrl_timeout',5*60) allow_site=request.form.get('allow_site','no-referrer') #Aria2 @@ -34,11 +54,10 @@ def setting(): order_m=request.form.get('order_m','desc') default_sort=request.form.get('default_sort','lastModtime') + admin_prefix=request.form.get('admin_prefix','admin') show_secret=request.form.get('show_secret','no') encrypt_file=request.form.get('encrypt_file','no') - set('title',title) - set('title_pre',title_pre) - set('theme',theme) + set('downloadUrl_timeout',downloadUrl_timeout) set('allow_site',allow_site) #Aria2 @@ -59,13 +78,12 @@ def setting(): set('REDIS_PASSWORD',REDIS_PASSWORD) set('default_sort',default_sort) + set('admin_prefix',admin_prefix) set('order_m',order_m) set('show_secret',show_secret) set('encrypt_file',encrypt_file) # reload() - redis_client.set('title',title) - redis_client.set('title_pre',title_pre) - redis_client.set('theme',theme) + redis_client.set('downloadUrl_timeout',downloadUrl_timeout) redis_client.set('allow_site',','.join(allow_site.split(','))) #Aria2 @@ -88,13 +106,14 @@ def setting(): redis_client.set('REDIS_PASSWORD',REDIS_PASSWORD) redis_client.set('default_sort',default_sort) + redis_client.set('admin_prefix',admin_prefix) redis_client.set('order_m',order_m) redis_client.set('show_secret',show_secret) redis_client.set('encrypt_file',encrypt_file) flash('更新成功') - resp=MakeResponse(redirect(url_for('admin.setting'))) + resp=MakeResponse(redirect(url_for('admin.sys_setting'))) return resp - resp=MakeResponse(render_template('admin/setting/setting.html')) + resp=MakeResponse(render_template('admin/setting/sys_setting.html')) return resp diff --git a/app/templates/admin/layout.html b/app/templates/admin/layout.html index cd11550..6c2477f 100644 --- a/app/templates/admin/layout.html +++ b/app/templates/admin/layout.html @@ -139,7 +139,11 @@

-
基本设置
+
网站设置
+
+ + +
系统设置
diff --git a/app/templates/admin/setting/setting.html b/app/templates/admin/setting/setting.html index 94cb694..42780a8 100644 --- a/app/templates/admin/setting/setting.html +++ b/app/templates/admin/setting/setting.html @@ -4,7 +4,7 @@
-

基本设置 设置PyOne基本参数

+

网站设置

@@ -31,107 +31,7 @@
-
-

缓存过期时间(秒)

- -
- -
-

防盗链设置(不限制,则设置:no-referrer;仅限3pp.me调用,则设置:3pp.me;可调用域名通过英文逗号分隔)

- -
- -

默认排序字段

- - -

默认排序方法

- - -
-

Aria2信息编辑

-
-
-
点击配置
-
-
Aria2协议
- -
主机(默认localhost。如果不是本机的aria2,怎么下载到本机然后上传???)
- -
端口
- -
秘钥
- -
-
-
-
-
-

MongoDB信息编辑

-
-
-
点击配置
-
-
主机(默认localhost)
- -
端口
- -
数据库(原则上不要修改)
- -
用户名(如果有)
- -
密码(如果有)
- -
-
-
-
- -
-

Redis信息编辑

-
-
-
点击配置
-
-
主机(默认localhost)
- -
端口
- -
数据库(原则上不要修改)
- -
密码(如果有)
- -
-
-
-
- -
-

搜索结果是否展示“加密文件”(开启之后,前台搜索结果会展示出加密文件夹及加密文件夹下的文件)

- -
- -
-

加密文件夹下的文件是否加密(本选项是配合前一个选项新增的选项,看个人需求开启)

- -
diff --git a/app/templates/admin/setting/sys_setting.html b/app/templates/admin/setting/sys_setting.html new file mode 100644 index 0000000..65951fe --- /dev/null +++ b/app/templates/admin/setting/sys_setting.html @@ -0,0 +1,123 @@ +{%extends 'admin/layout.html'%} + +{%block content%} +
+ +
+

系统设置 *号表示需重启网站才能生效

+
+ + +
+

*后台路径(默认是admin,如果改为uadmin,则进后台路径为:/uadmin)

+ +
+ +
+

缓存过期时间(秒)(非自动刷新文件列表,不懂勿改)

+ +
+ +
+

防盗链设置(不限制,则设置:no-referrer;仅限3pp.me调用,则设置:3pp.me;可调用域名通过英文逗号分隔)

+ +
+ +

默认排序字段

+ + +

默认排序方法

+ + +
+

*Aria2信息编辑

+
+
+
点击配置
+
+
Aria2协议
+ +
主机(默认localhost。如果不是本机的aria2,怎么下载到本机然后上传???)
+ +
端口
+ +
秘钥
+ +
+
+
+
+ +
+

*MongoDB信息编辑

+
+
+
点击配置
+
+
主机(默认localhost)
+ +
端口
+ +
数据库(原则上不要修改)
+ +
用户名(如果有)
+ +
密码(如果有)
+ +
+
+
+
+ +
+

*Redis信息编辑

+
+
+
点击配置
+
+
主机(默认localhost)
+ +
端口
+ +
数据库(原则上不要修改)
+ +
密码(如果有)
+ +
+
+
+
+ +
+

搜索结果是否展示“加密文件”(开启之后,前台搜索结果会展示出加密文件夹及加密文件夹下的文件)

+ +
+ +
+

加密文件夹下的文件是否加密(本选项是配合前一个选项新增的选项,看个人需求开启)

+ +
+ + +
+ +{%endblock content%} diff --git a/config.py b/config.py index d5dbcc5..e15e601 100644 --- a/config.py +++ b/config.py @@ -14,7 +14,7 @@ class config: if REDIS_PASSWORD!='': CACHE_REDIS_PASSWORD=REDIS_PASSWORD SEND_FILE_MAX_AGE_DEFAULT=timedelta(seconds=1) - version='4.190521' + version='4.190522' @staticmethod def init_app(app): diff --git a/self_config.py.sample b/self_config.py.sample index 683c57a..68c5f3e 100644 --- a/self_config.py.sample +++ b/self_config.py.sample @@ -70,6 +70,9 @@ encrypt_file="no" #默认盘位 default_pan="A" +#后台路径 +admin_prefix="admin" + od_users={ "A":{ "client_id":"", diff --git a/update.sh b/update.sh index 976b779..6a65e43 100755 --- a/update.sh +++ b/update.sh @@ -91,6 +91,13 @@ Disallow: / """' >> self_config.py fi + + num=`cat self_config.py | grep "admin_prefix" | wc -l` + if [ $num == 0 ]; then + echo '' >> self_config.py + echo 'admin_prefix="admin"' >> self_config.py + fi + } @@ -168,6 +175,7 @@ echo "2019.05.09更新版本:1、修复【网盘搬家】部分bug;2、修 echo "2019.05.10更新版本:1、新增robots.txt自定义;2、离线下载功能独立出来" echo "2019.05.11更新版本:1、修复离线下载bug;2、优化离线下载界面体验" echo "2019.05.21更新版本:修复若干bug" +echo "2019.05.22更新版本:支持自定义后台路径(更安全)" echo "---------------------------------------------------------------" echo "更新完成!" echo "如果网站无法访问,请检查config.py!"