From ecad189f8074d09f04943e12ef4cafed2f832afe Mon Sep 17 00:00:00 2001
From: dostume <1733752917@qq.com>
Date: Wed, 2 Nov 2022 01:52:14 +0800
Subject: [PATCH] Add files via upload
---
optimize/bt.js | 206 +++++++++++++++++++++++++++++++++++++++++++
optimize/optimize.sh | 65 ++++++++++++++
2 files changed, 271 insertions(+)
create mode 100644 optimize/bt.js
create mode 100644 optimize/optimize.sh
diff --git a/optimize/bt.js b/optimize/bt.js
new file mode 100644
index 0000000..18b97b4
--- /dev/null
+++ b/optimize/bt.js
@@ -0,0 +1,206 @@
+/*
+ *宝塔面板去除各种计算题与延时等待
+ *适用宝塔面板版本:7.7
+ *消失的彩虹海
+*/
+if("undefined" != typeof bt && bt.hasOwnProperty("show_confirm")){
+ bt.show_confirm = function(title, msg, callback, error) {
+ layer.open({
+ type: 1,
+ title: title,
+ area: "365px",
+ closeBtn: 2,
+ shadeClose: true,
+ btn: [lan.public.ok, lan.public.cancel],
+ content: "
",
+ yes: function (index, layero) {
+ layer.close(index);
+ if (callback) callback();
+ }
+ });
+ }
+}
+if("undefined" != typeof bt && bt.hasOwnProperty("prompt_confirm")){
+ bt.prompt_confirm = function (title, msg, callback) {
+ layer.open({
+ type: 1,
+ title: title,
+ area: "350px",
+ closeBtn: 2,
+ btn: ['确认', '取消'],
+ content: "",
+ yes: function (layers, index) {
+ layer.close(layers)
+ if (callback) callback()
+ }
+ });
+ }
+}
+if("undefined" != typeof database && database.hasOwnProperty("del_database")){
+ database.del_database = function (wid, dbname, callback) {
+ var title = typeof dbname === "function" ?'批量删除数据库':'删除数据库 [ '+ dbname +' ]';
+ layer.open({
+ type:1,
+ title:title,
+ icon:0,
+ skin:'delete_site_layer',
+ area: "530px",
+ closeBtn: 2,
+ shadeClose: true,
+ content:"",
+ btn:[lan.public.ok,lan.public.cancel],
+ yes:function(indexs){
+ var data = {id: wid,name: dbname};
+ if(typeof dbname === "function"){
+ delete data.id;
+ delete data.name;
+ }
+ layer.close(indexs)
+ if(typeof dbname === "function"){
+ dbname(data)
+ }else{
+ bt.database.del_database(data, function (rdata) {
+ layer.closeAll()
+ if (rdata.status) database.database_table_view();
+ if (callback) callback(rdata);
+ bt.msg(rdata);
+ })
+ }
+ }
+ })
+ }
+}
+if("undefined" != typeof site && site.hasOwnProperty("del_site")){
+ site.del_site = function(wid, wname, callback) {
+ var title = typeof wname === "function" ?'批量删除站点':'删除站点 [ '+ wname +' ]';
+ layer.open({
+ type:1,
+ title:title,
+ icon:0,
+ skin:'delete_site_layer',
+ area: "440px",
+ closeBtn: 2,
+ shadeClose: true,
+ content:"",
+ btn:[lan.public.ok,lan.public.cancel],
+ success:function(layers,indexs){
+ $(layers).find('.check_type_group label').hover(function(){
+ var name = $(this).find('input').attr('name');
+ if(name === 'data' && !recycle_bin_db_open){
+ layer.tips('风险操作:当前数据库回收站未开启,删除数据库将永久消失!', this, {tips: [1, 'red'],time:0})
+ }else if(name === 'path' && !recycle_bin_open){
+ layer.tips('风险操作:当前文件回收站未开启,删除站点目录将永久消失!', this, {tips: [1, 'red'],time:0})
+ }
+ },function(){
+ layer.closeAll('tips');
+ })
+ },
+ yes:function(indexs){
+ var data = {id: wid,webname: wname};
+ $('#site_delete_form input[type=checkbox]').each(function (index, item) {
+ if($(item).is(':checked')) data[$(item).attr('name')] = 1
+ })
+ var is_database = data.hasOwnProperty('database'),is_path = data.hasOwnProperty('path'),is_ftp = data.hasOwnProperty('ftp');
+ if((!is_database && !is_path) && (!is_ftp || is_ftp)){
+ if(typeof wname === "function"){
+ wname(data)
+ return false;
+ }
+ bt.site.del_site(data, function (rdata) {
+ layer.close(indexs);
+ if (callback) callback(rdata);
+ bt.msg(rdata);
+ })
+ return false
+ }
+ if(typeof wname === "function"){
+ delete data.id;
+ delete data.webname;
+ }
+ layer.close(indexs)
+ if(typeof wname === "function"){
+ console.log(data)
+ wname(data)
+ }else{
+ bt.site.del_site(data, function (rdata) {
+ layer.closeAll()
+ if (rdata.status) site.get_list();
+ if (callback) callback(rdata);
+ bt.msg(rdata);
+ })
+ }
+ }
+ })
+ }
+}
+if("undefined" != typeof bt && bt.hasOwnProperty("firewall") && bt.firewall.hasOwnProperty("add_accept_port")){
+ bt.firewall.add_accept_port = function(type, port, ps, callback) {
+ var action = "AddDropAddress";
+ if (type == 'port') {
+ ports = port.split(':');
+ if (port.indexOf('-') != -1) ports = port.split('-');
+ for (var i = 0; i < ports.length; i++) {
+ if (!bt.check_port(ports[i])) {
+ layer.msg(lan.firewall.port_err, { icon: 5 });
+ return;
+ }
+ }
+ action = "AddAcceptPort";
+ }
+
+ loading = bt.load();
+ bt.send(action, 'firewall/' + action, { port: port, type: type, ps: ps }, function(rdata) {
+ loading.close();
+ if (callback) callback(rdata);
+ })
+ }
+}
+if("undefined" != typeof bt && bt.hasOwnProperty("system") && bt.system.hasOwnProperty("check_update")){
+ bt.system.check_update = function(callback, check) {
+ var rdata = {status:false, msg:{beta:{},adviser:-1,btb:'',downUrl:'',force:false,is_beta:0,updateMsg:'',uptime:'',version:'7.7.0'}};
+ if (check) load.close();
+ if (callback) callback(rdata);
+ }
+}
+function SafeMessage(j, h, g, f) {
+ if(f == undefined) {
+ f = ""
+ }
+ var mess = layer.open({
+ type: 1,
+ title: j,
+ area: "350px",
+ closeBtn: 2,
+ shadeClose: true,
+ content: ""
+ });
+ $(".bt-cancel").click(function(){
+ layer.close(mess);
+ });
+ $("#toSubmit").click(function() {
+ layer.close(mess);
+ g();
+ })
+}
+$(document).ready(function () {
+ if($('#updata_pro_info').length>0){
+ $('#updata_pro_info').html('');
+ bt.set_cookie('productPurchase', 1);
+ }
+})
\ No newline at end of file
diff --git a/optimize/optimize.sh b/optimize/optimize.sh
new file mode 100644
index 0000000..92fba2e
--- /dev/null
+++ b/optimize/optimize.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
+export PATH
+
+if [ $(whoami) != "root" ];then
+ echo "请使用root权限执行命令!"
+ exit 1;
+fi
+if [ ! -d /www/server/panel ] || [ ! -f /etc/init.d/bt ];then
+ echo "未安装宝塔面板"
+ exit 1
+fi
+
+
+if [ ! -f /www/server/panel/data/userInfo.json ]; then
+ echo "{\"uid\":1000,\"username\":\"admin\",\"serverid\":1}" > /www/server/panel/data/userInfo.json
+fi
+echo "已去除宝塔面板强制绑定账号."
+
+Layout_file="/www/server/panel/BTPanel/templates/default/layout.html";
+JS_file="/www/server/panel/BTPanel/static/bt.js";
+if [ `grep -c "" $Layout_file` -eq '0' ];then
+ sed -i '/{% block scripts %} {% endblock %}/a ' $Layout_file;
+fi;
+wget -q http://f.cccyun.cc/bt/bt.js -O $JS_file;
+echo "已去除各种计算题与延时等待."
+
+sed -i "/htaccess = self.sitePath+'\/.htaccess'/, /public.ExecShell('chown -R www:www ' + htaccess)/d" /www/server/panel/class/panelSite.py
+sed -i "/index = self.sitePath+'\/index.html'/, /public.ExecShell('chown -R www:www ' + index)/d" /www/server/panel/class/panelSite.py
+sed -i "/doc404 = self.sitePath+'\/404.html'/, /public.ExecShell('chown -R www:www ' + doc404)/d" /www/server/panel/class/panelSite.py
+echo "已去除创建网站自动创建的垃圾文件."
+
+sed -i "s/root \/www\/server\/nginx\/html/return 400/" /www/server/panel/class/panelSite.py
+if [ -f /www/server/panel/vhost/nginx/0.default.conf ]; then
+ sed -i "s/root \/www\/server\/nginx\/html/return 400/" /www/server/panel/vhost/nginx/0.default.conf
+fi
+echo "已关闭未绑定域名提示页面."
+
+sed -i "s/return render_template('autherr.html')/return abort(404)/" /www/server/panel/BTPanel/__init__.py
+echo "已关闭安全入口登录提示页面."
+
+sed -i "/p = threading.Thread(target=check_files_panel)/, /p.start()/d" /www/server/panel/task.py
+sed -i "/p = threading.Thread(target=check_panel_msg)/, /p.start()/d" /www/server/panel/task.py
+echo "已去除消息推送与文件校验."
+
+sed -i "/^logs_analysis()/d" /www/server/panel/script/site_task.py
+sed -i "s/run_thread(cloud_check_domain,(domain,))/return/" /www/server/panel/class/public.py
+echo "已去除面板日志与绑定域名上报."
+
+if [ ! -f /www/server/panel/data/not_recommend.pl ]; then
+ echo "True" > /www/server/panel/data/not_recommend.pl
+fi
+if [ ! -f /www/server/panel/data/not_workorder.pl ]; then
+ echo "True" > /www/server/panel/data/not_workorder.pl
+fi
+echo "已关闭活动推荐与在线客服."
+
+/etc/init.d/bt restart
+
+echo -e "=================================================================="
+echo -e "\033[32m宝塔面板优化脚本执行完毕\033[0m"
+echo -e "=================================================================="
+echo "适用宝塔面板版本:7.7"
+echo "如需还原之前的样子,请在面板首页点击“修复”"
+echo -e "=================================================================="