Easypanel API 接口的使用
前言
Easypanel 的 API 可以完成主机的开通、删除与修改密码等操作,今天翻看其源代码研究了一下。
说明
入口
Easypanel 的 API 入口为 http://服务器地址:3312/api/index.php
请求方式支持 GET 与 POST。
基本参数
c: 控制器a: 操作r: 随机数s: 密钥json: 是否返回 JSON (1或0),默认返回 XML 格式数据
密钥
密钥可以通过安全码与传入的部分参数计算得出。s = md5(a + skey + r)
如果鉴权失败,将返回
{"result": 403, "msg": "权限错误,请检查通信安全码是否正确"}控制器
我找到的控制器有
- whm
 - cdn
 - dns
 - da
 - migrate
 
一般只会用到 whm 控制器,cdn 控制器是用于节点数据同步的,其余控制器我也不清楚。
whm 操作
info (获取 Kangle 与 Easypanel 信息)
无需传入额外参数。
getVh (获取站点信息)
参数
name: 主机名称showpasswd: 是否返回主机密码 (可选, 1或0,默认0)
add_vh (创建站点)
参数
name: 主机名称passwd: 密码init: 固定为1
产品ID开通
product_id: 产品ID
产品名称开通
product_name: 产品名称
自定义参数开通
cdn: 是否为CDN (1或0)subdir: 默认绑定目录 (如 wwwroot)web_quota: 网站空间配额 (MB)db_quota: 数据库空间配额 (MB)max_subdir: 最大绑定子目录数量 (0为不限制)subdir_flag: 是否允许绑定子目录 (1或0)flow_limit: 流量限制 (单位GB, 0为不限制)domain: 可绑定域名数 (<=0为不限制)speed_limit: 带宽限制 (KB/s, 0为不限制)max_connect: 最大连接数 (0为不限制)access: 是否启用 access.xml 自定义控制 (1或0)log_file: 是否启用日志独立 (1或0)log_handle: 是否启用日志分析 (1或0)ssi: 是否启用 ssi 支持 (1或0)htaccess: 是否启用 .htaccess 伪静态配置文件 (1或0)port: 端口 (如 80,443s)
listVh (站点列表)
参数
showpasswd: 是否返回主机密码 (可选, 1或0,默认0)
change_password (修改密码)
参数
name: 站点名称passwd: 新密码
update_vh (更新站点状态)
参数
name: 站点名称status: 状态 (0: 正常, 1: 暂停, 2: 超流量, 3: 超数据库)
del_vh (删除站点)
参数
name: 站点名称
getDbUsed (获取数据库用量)
参数
name: 站点名称