现在宝塔面板非常臃肿,如果有洁癖的童鞋,可以考虑去除验证、提示和推荐广告,进行一定的优化,看下下面的教程,如果出错可以使用修复更新面板的命令恢复文件。
去除网站默认文件
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
关闭未绑定域名提示
sed -i "s/root \/www\/server\/nginx\/html/return 400/" /www/server/panel/class/panelSite.py sed -i "s/root \/www\/server\/nginx\/html/return 400/" /www/server/panel/vhost/nginx/0.default.conf
关闭安全入口提示
sed -i "s/return render_template('autherr.html')/return abort(404)/" /www/server/panel/BTPanel/__init__.py
去除消息推送
#目前还不清楚具体功能猜测广告,删掉也不影响。 sed -i "/p = threading.Thread(target=check_panel_msg)/, /p.start()/d" /www/server/panel/task.py sed -i '/\"check_panel_msg\":/d' /www/server/panel/task.py
去除文件校验
#这个功能会每隔10分钟执行一次,用途是获取新面板文件替换本地旧面板文件 sed -i "/p = threading.Thread(target=check_files_panel)/, /p.start()/d" /www/server/panel/task.py sed -i '/\"check_files_panel\":/d' /www/server/panel/task.py #删除接口文件防止其他加密文件调用(可能会改为内置) rm -f /www/server/panel/script/check_files.py
去除云端验证
sed -i "/p = threading.Thread(target=update_software_list)/, /p.start()/d" /www/server/panel/task.py sed -i '/\"update_software_list\":/d' /www/server/panel/task.py sed -i '/self.get_cloud_list_status/d' /www/server/panel/class/panelPlugin.py sed -i '/PluginLoader.daemon_task()/d' /www/server/panel/task.py #sed -i '/PluginLoader.daemon_panel()/d' /www/server/panel/task.py
关闭活动推荐与在线客服
echo "True" > /www/server/panel/data/not_recommend.pl echo "True" > /www/server/panel/data/not_workorder.pl
关闭首页软件推荐与广告
sed -i '/def get_pay_type(self,get):/a \ \ \ \ \ \ \ \ return [];' /www/server/panel/class/ajax.py
关闭拉黑检测与提示
#每隔10分钟执行一次,用于检测是不是破解版,该命令直接删除链接,使返回为空,输出False #该接口返回False 与True均不影响面板,返回True后续代码还会对返回的其他字段数据做处理。 #直接返回False类似于无法访问宝塔的接口,因此不会执行后面的一大堆代码。 #锁面板我记得是接口直接返回文本,然后代码输出文本提示锁面板。 sed -i '/self._check_url/d' /www/server/panel/class/panelPlugin.py
关闭面板日志与绑定域名上报
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
关闭面板强制更新
#宝塔接口返回force = 1的时候会强制更新你的面板 7.7.0版本的用户推荐处理一下 sed -i "/#是否执行升级程序/a \ \ \ \ \ \ \ \ \ \ \ \ updateInfo[\'force\'] = False;" /www/server/panel/class/ajax.py rm -f /www/server/panel/data/autoUpdate.pl
关闭自动更新软件列表
#宝塔调用get_plugin_bin公共函数判断本地列表文件是否过期,这里设置为0时强制输出本地文件 #点击更新软件列表会绕过过期判断,因此并不会影响到手动更新。 sed -i "/plugin_timeout = 86400/d" /www/server/panel/class/public.py sed -i "/list_body = None/a \ \ \ \ \plugin_timeout = 0;" /www/server/panel/class/public.py
去除计算验证
sed -i '/{% block scripts %} {% endblock %}/a <script src="/static/bt.js"></script>' /www/server/panel/BTPanel/templates/default/layout.html #7.7.0面板以及一下版本执行这个 wget http://f.cccyun.cc/bt/bt.js -O /www/server/panel/BTPanel/static/bt.js #7.8.0面板以及以上版本执行这个 wget http://f.cccyun.cc/bt/bt_new.js -O /www/server/panel/BTPanel/static/bt.js
清理面板垃圾
#删除770版本以下的强制登陆文件 rm -f /www/server/panel/data/bind.pl #删除770版本以下PAM漏洞文件,以及预装的adminer rm -rf /www/server/panel/adminer rm -rf /www/server/adminer rm -rf /www/server/phpmyadmin/pma #删除老版本的强制hosts文件 rm -rf /www/server/panel/data/home_host.pl #删除python生成的缓存文件 rm -f /www/server/panel/*.pyc rm -f /www/server/panel/class/*.pyc #删除面板安装生成的临时文件以及日志 rm -rf /tmp/*.pl rm -rf /tmp/*.sh rm -rf /tmp/*.log #删除面板授权数据 rm -f /www/server/panel/data/auth_list.json #删除上报验证域名生成的返回文件 rm -rf /www/server/panel/data/check_domain/*.pl #删除临时目录下的SESSION文件 rm -rf /tmp/sess_* #删除面板生成的日志记录 rm -rf /www/server/panel/logs/*.log rm -rf /www/server/panel/logs/*.gz rm -rf /www/server/panel/logs/request/* #删除nginx编译安装后未删除的源代码 /www/server/nginx/src.tar.gz #删除PHP编译安装后未删除的源代码,其中74为php7.4的版本 其他版本自行修改删除 /www/server/php/74/src.tar.gz #清理网站日志的代码 如果不需要 就不要执行 rm -rf /www/wwwlogs/*.log rm -rf /www/wwwlogs/*.gz
清理系统垃圾
#删除系统邮件之类的啥东西来着忘记了 rm -rf /var/spool/plymouth/* rm -rf /var/spool/postfix/* rm -rf /var/spool/lpd/* #对centos7系统文件写入空 cat /dev/null > /var/log/boot.log cat /dev/null > /var/log/btmp cat /dev/null > /var/log/cron cat /dev/null > /var/log/dmesg cat /dev/null > /var/log/firewalld cat /dev/null > /var/log/grubby cat /dev/null > /var/log/lastlog cat /dev/null > /var/log/mail.info cat /dev/null > /var/log/maillog cat /dev/null > /var/log/messages cat /dev/null > /var/log/secure cat /dev/null > /var/log/spooler cat /dev/null > /var/log/syslog cat /dev/null > /var/log/tallylog cat /dev/null > /var/log/wpa_supplicant.log cat /dev/null > /var/log/wtmp cat /dev/null > /var/log/yum.log history -c
最后重启面板 以及清理浏览器缓存即可生效
#重启面板命令 /etc/init.d/bt restart
如需要恢复使用以下命令,或面板内修复面板
curl https://download.bt.cn/install/update_panel.sh|bash