宝塔面板插件开发
一、插件开发预览
(1)把开发的插件放在首页,便于使用
(2)点击插件直接打开弹窗
功能1:代码下拉。这个页面功能是便于/www/wwwroot目录下网站快速更新(使用git pull
)
功能2:把对象存储里的文件列表生成json文件,供用户下载。
功能3:分析/www/wwwlogs
目录下的nginx日志状态码,异常500的URL、异常IP、异常404,便于监控网站流量和异常IP
功能4:域名解析工具
二、开发步骤
(1)在一个目录下创建以下文件
├── devtool_main.py
├── icon.png
├── index.html
├── info.json
└── install.sh
icon.png
为项目的图标logo
(2)info.json
的内容如下
{
"title":"我的工具",
"tip":"lib",
"name":"mytool",
"type":"免费应用",
"ps":"代码下拉、下载文件数据生成、日志分析",
"checks":[],
"author":"林先生",
"home":"http://xxx.cn",
"date":"2025-05-28",
"default":false,
"display":0,
"versions":"2.0.2"
}
(3)install.sh
文件内容如下
#!/bin/bash
plugin_dir=/www/server/panel/plugin/mytool
# 安装
Install(){
echo '安装软件需要执行什么程序写这里'
}
# 卸载
Uninstall(){
echo "卸载软件需要执行什么程序写这里"
}
action=${1}
if [ "${1}" == 'install' ];then
Install
else
Uninstall
fi
(4)index.html
为前端代码,可自由编写
(5)mytool_main.py
为后端项目逻辑
import subprocess
class mytool_main:
def __init__(self):
self.pullcode_base_dir = '/www/wwwroot'
self.logs_dir = '/www/wwwlogs'
# 模块一:代码下拉工具
def get_location_pull(self, get):
local_path = get.localpath #获取前端传来的参数
# ...TODO
return {
'success': False,
'message': f'更新项目 {local_path} 失败',
'error': e.stderr
}
内容篇幅有限,完整代码请联系 QQ1198551705
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: