[ 'name' => '宝塔面板', 'class' => 1, 'icon' => 'bt.ico', 'note' => null, 'inputs' => [ 'url' => [ 'name' => '面板地址', 'type' => 'input', 'placeholder' => '宝塔面板地址', 'note' => '填写规则如:http://192.168.1.100:8888 ,不要带其他后缀', 'required' => true, ], 'key' => [ 'name' => '接口密钥', 'type' => 'input', 'placeholder' => '宝塔面板设置->面板设置->API接口', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'type' => [ 'name' => '部署类型', 'type' => 'radio', 'options' => [ '0' => '宝塔面板站点的证书', '1' => '宝塔面板本身的证书', ], 'value' => '0', 'required' => true, ], 'sites' => [ 'name' => '网站名称列表', 'type' => 'textarea', 'placeholder' => '填写要部署证书的网站名称,每行一个', 'note' => 'PHP项目和反代项目填写创建时绑定的第一个域名,Java/Node/Go等其他项目填写项目名称', 'show' => 'type==0', 'required' => true, ], ], ], 'kangle' => [ 'name' => 'Kangle', 'class' => 1, 'icon' => 'host.png', 'note' => '以上登录信息为Easypanel用户面板的,非管理员面板。如选网站密码认证类型,则用户面板登录不能开启验证码。', 'inputs' => [ 'url' => [ 'name' => '面板地址', 'type' => 'input', 'placeholder' => 'Easypanel面板地址', 'note' => '填写规则如:http://192.168.1.100:3312 ,不要带其他后缀', 'required' => true, ], 'auth' => [ 'name' => '认证方式', 'type' => 'radio', 'options' => [ '0' => '网站密码', '1' => '面板安全码', ], 'value' => '0', 'required' => true, ], 'username' => [ 'name' => '网站用户名', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'password' => [ 'name' => '网站密码', 'type' => 'input', 'placeholder' => '', 'show' => 'auth==0', 'required' => true, ], 'skey' => [ 'name' => '面板安全码', 'type' => 'input', 'placeholder' => '管理员面板->服务器设置->面板通信安全码', 'show' => 'auth==1', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'type' => [ 'name' => '部署类型', 'type' => 'radio', 'options' => [ '0' => '网站SSL证书', '1' => '单域名SSL证书(仅CDN支持)', ], 'value' => '0', 'required' => true, ], 'domains' => [ 'name' => 'CDN域名列表', 'type' => 'textarea', 'placeholder' => '填写要部署证书的域名,每行一个', 'show' => 'type==1', 'required' => true, ], ], ], 'safeline' => [ 'name' => '雷池WAF', 'class' => 1, 'icon' => 'safeline.png', 'note' => null, 'tasknote' => '系统会根据关联SSL证书的域名,自动更新对应证书', 'inputs' => [ 'url' => [ 'name' => '控制台地址', 'type' => 'input', 'placeholder' => '雷池WAF控制台地址', 'note' => '填写规则如:https://192.168.1.100:9443 ,不要带其他后缀', 'required' => true, ], 'token' => [ 'name' => 'API Token', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [], ], 'cdnfly' => [ 'name' => 'Cdnfly', 'class' => 1, 'icon' => 'waf.png', 'note' => '登录Cdnfly控制台->账户中心->API密钥,点击开启后获取', 'inputs' => [ 'url' => [ 'name' => '控制台地址', 'type' => 'input', 'placeholder' => 'Cdnfly控制台地址', 'note' => '填写示例:http://demo.cdnfly.cn', 'required' => true, ], 'api_key' => [ 'name' => 'api_key', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'api_secret' => [ 'name' => 'api_secret', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'id' => [ 'name' => '证书ID', 'type' => 'input', 'placeholder' => '', 'note' => '在网站管理->证书管理查看证书的ID,注意域名是否与证书匹配', 'required' => true, ], ], ], 'lecdn' => [ 'name' => 'LeCDN', 'class' => 1, 'icon' => 'waf.png', 'note' => null, 'inputs' => [ 'url' => [ 'name' => '控制台地址', 'type' => 'input', 'placeholder' => 'LeCDN控制台地址', 'note' => '填写示例:http://demo.xxxx.cn', 'required' => true, ], 'email' => [ 'name' => '邮箱地址', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'password' => [ 'name' => '密码', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'id' => [ 'name' => '证书ID', 'type' => 'input', 'placeholder' => '', 'note' => '在站点->证书管理查看证书的ID,注意域名是否与证书匹配', 'required' => true, ], ], ], 'goedge' => [ 'name' => 'GoEdge', 'class' => 1, 'icon' => 'waf.png', 'note' => '需要先开启HTTP API端口', 'tasknote' => '系统会根据关联SSL证书的域名,自动更新对应证书', 'inputs' => [ 'url' => [ 'name' => 'HTTP API地址', 'type' => 'input', 'placeholder' => 'HTTP API地址', 'note' => 'http://你的IP:端口', 'required' => true, ], 'accessKeyId' => [ 'name' => 'AccessKey ID', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'accessKey' => [ 'name' => 'AccessKey密钥', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'usertype' => [ 'name' => '用户类型', 'type' => 'radio', 'options' => [ 'user' => '平台用户', 'admin' => '系统用户', ], 'value' => 'user', 'required' => true, ], 'systype' => [ 'name' => '系统类型', 'type' => 'radio', 'options' => [ '0' => 'GoEdge', '1' => 'FlexCDN', ], 'value' => '0', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [], ], 'opanel' => [ 'name' => '1Panel', 'class' => 1, 'icon' => 'opanel.png', 'note' => null, 'tasknote' => '系统会根据关联SSL证书的域名,自动更新对应证书', 'inputs' => [ 'url' => [ 'name' => '面板地址', 'type' => 'input', 'placeholder' => '1Panel面板地址', 'note' => '填写规则如:http://192.168.1.100:8888 ,不要带其他后缀', 'required' => true, ], 'key' => [ 'name' => '接口密钥', 'type' => 'input', 'placeholder' => '1Panel面板设置->API接口', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [], ], 'mwpanel' => [ 'name' => 'mdserver-web', 'class' => 1, 'icon' => 'mwpanel.ico', 'note' => null, 'tasknote' => '', 'inputs' => [ 'url' => [ 'name' => '面板地址', 'type' => 'input', 'placeholder' => 'MW面板地址', 'note' => '填写规则如:http://192.168.1.100:8888 ,不要带其他后缀', 'required' => true, ], 'appid' => [ 'name' => '应用ID', 'type' => 'input', 'placeholder' => 'MW面板设置->API接口', 'required' => true, ], 'appsecret' => [ 'name' => '应用密钥', 'type' => 'input', 'placeholder' => '面板设置->API接口', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'type' => [ 'name' => '部署类型', 'type' => 'radio', 'options' => [ '0' => 'MW面板站点的证书', '1' => 'MW面板本身的证书', ], 'value' => '0', 'required' => true, ], 'sites' => [ 'name' => '网站名称列表', 'type' => 'textarea', 'placeholder' => '填写要部署证书的网站名称,每行一个', 'note' => '网站名称,即为网站创建时绑定的第一个域名', 'show' => 'type==0', 'required' => true, ], ], ], 'aliyun' => [ 'name' => '阿里云', 'class' => 2, 'icon' => 'aliyun.ico', 'note' => '支持部署到阿里云CDN、ESA、SLB、OSS、WAF等服务', 'tasknote' => '', 'inputs' => [ 'AccessKeyId' => [ 'name' => 'AccessKeyId', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'AccessKeySecret' => [ 'name' => 'AccessKeySecret', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'product' => [ 'name' => '要部署的产品', 'type' => 'select', 'options' => [ ['value'=>'cdn', 'label'=>'内容分发CDN'], ['value'=>'dcdn', 'label'=>'全站加速DCDN'], ['value'=>'esa', 'label'=>'边缘安全加速ESA'], ['value'=>'oss', 'label'=>'对象存储OSS'], ['value'=>'waf', 'label'=>'Web应用防火墙3.0'], ['value'=>'waf2', 'label'=>'Web应用防火墙2.0'], ['value'=>'clb', 'label'=>'传统型负载均衡CLB'], ['value'=>'alb', 'label'=>'应用型负载均衡ALB'], ['value'=>'nlb', 'label'=>'网络型负载均衡NLB'], ['value'=>'api', 'label'=>'API网关'], ['value'=>'ddoscoo', 'label'=>'DDoS高防'], ['value'=>'live', 'label'=>'视频直播'], ['value'=>'vod', 'label'=>'视频点播'], ['value'=>'fc', 'label'=>'函数计算3.0'], ['value'=>'fc2', 'label'=>'函数计算2.0'], ], 'value' => 'cdn', 'required' => true, ], 'esa_sitename' => [ 'name' => 'ESA站点域名', 'type' => 'input', 'placeholder' => 'ESA添加的站点主域名', 'show' => 'product==\'esa\'', 'required' => true, ], 'oss_endpoint' => [ 'name' => 'Endpoint地址', 'type' => 'input', 'placeholder' => '填写示例:oss-cn-hangzhou.aliyuncs.com', 'show' => 'product==\'oss\'', 'required' => true, ], 'oss_bucket' => [ 'name' => 'Bucket名称', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'oss\'', 'required' => true, ], 'region' => [ 'name' => '所属地域', 'type' => 'select', 'options' => [ ['value'=>'cn-hangzhou', 'label'=>'中国内地'], ['value'=>'ap-southeast-1', 'label'=>'非中国内地'], ], 'value' => 'cn-hangzhou', 'show' => 'product==\'waf\'||product==\'waf2\'||product==\'ddoscoo\'', 'required' => true, ], 'regionid' => [ 'name' => '所属地域ID', 'type' => 'input', 'placeholder' => '填写示例:cn-hangzhou', 'show' => 'product==\'api\'||product==\'clb\'||product==\'alb\'||product==\'nlb\'', 'value' => 'cn-hangzhou', 'required' => true, ], 'api_groupid' => [ 'name' => 'API分组ID', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'api\'', 'required' => true, ], 'fc_cname' => [ 'name' => '域名CNAME地址', 'type' => 'input', 'placeholder' => '填写示例:<账号ID>.cn-shanghai.fc.aliyuncs.com', 'show' => 'product==\'fc\'||product==\'fc2\'', 'required' => true, ], 'clb_id' => [ 'name' => '负载均衡实例ID', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'clb\'', 'required' => true, ], 'clb_port' => [ 'name' => 'HTTPS监听端口', 'type' => 'input', 'placeholder' => '', 'value' => '443', 'show' => 'product==\'clb\'', 'required' => true, ], 'alb_listener_id' => [ 'name' => '监听ID', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'alb\'', 'note' => '进入ALB实例详情->监听列表,复制监听ID(只支持HTTPS或QUIC监听协议)', 'required' => true, ], 'nlb_listener_id' => [ 'name' => '监听ID', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'nlb\'', 'note' => '进入NLB实例详情->监听列表,复制监听ID(只支持TCPSSL监听协议)', 'required' => true, ], 'domain' => [ 'name' => '绑定的域名', 'type' => 'input', 'placeholder' => '', 'show' => 'product!=\'esa\'&&product!=\'clb\'&&product!=\'alb\'&&product!=\'nlb\'', 'required' => true, ], ], ], 'tencent' => [ 'name' => '腾讯云', 'class' => 2, 'icon' => 'tencent.ico', 'note' => '支持部署到腾讯云CDN、EO、CLB、COS、TKE、SCF等服务', 'tasknote' => '', 'inputs' => [ 'SecretId' => [ 'name' => 'SecretId', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'SecretKey' => [ 'name' => 'SecretKey', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'product' => [ 'name' => '要部署的产品', 'type' => 'select', 'options' => [ ['value'=>'cdn', 'label'=>'内容分发网络CDN'], ['value'=>'teo', 'label'=>'边缘安全加速EO'], ['value'=>'waf', 'label'=>'Web应用防火墙WAF'], ['value'=>'cos', 'label'=>'对象存储COS'], ['value'=>'clb', 'label'=>'负载均衡CLB'], ['value'=>'tke', 'label'=>'容器服务TKE'], ['value'=>'scf', 'label'=>'云函数SCF'], ['value'=>'ddos', 'label'=>'DDoS防护'], ['value'=>'live', 'label'=>'云直播LIVE'], ['value'=>'vod', 'label'=>'云点播VOD'], ['value'=>'tse', 'label'=>'云原生API网关TSE'], ['value'=>'tcb', 'label'=>'云开发TCB'], ['value'=>'lighthouse', 'label'=>'轻量应用服务器'], ], 'value' => 'cdn', 'required' => true, ], 'regionid' => [ 'name' => '所属地域ID', 'type' => 'input', 'placeholder' => '填写示例:ap-guangzhou', 'show' => 'product==\'clb\'||product==\'cos\'||product==\'tse\'||product==\'tke\'||product==\'lighthouse\'||product==\'scf\'', 'value' => '', 'required' => true, ], 'region' => [ 'name' => '所属地域', 'type' => 'select', 'options' => [ ['value'=>'ap-guangzhou', 'label'=>'中国大陆'], ['value'=>'ap-seoul', 'label'=>'非中国大陆'], ], 'value' => 'ap-guangzhou', 'show' => 'product==\'waf\'', 'required' => true, ], 'clb_id' => [ 'name' => '负载均衡ID', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'clb\'', 'required' => true, ], 'clb_listener_id' => [ 'name' => '监听器ID', 'type' => 'input', 'placeholder' => '可留空,会自动根据域名或负载均衡ID查找', 'show' => 'product==\'clb\'', ], 'clb_domain' => [ 'name' => '绑定的域名', 'type' => 'input', 'placeholder' => '若监听器开启SNI,则域名必填;若关闭SNI,则域名留空', 'show' => 'product==\'clb\'', ], 'tke_cluster_id' => [ 'name' => '集群ID', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'tke\'', 'required' => true, ], 'tke_namespace' => [ 'name' => '命名空间', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'tke\'', 'required' => true, ], 'tke_secret' => [ 'name' => '证书的secret名称', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'tke\'', 'required' => true, ], 'cos_bucket' => [ 'name' => '存储桶名称', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'cos\'', 'required' => true, ], 'lighthouse_id' => [ 'name' => '实例ID', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'lighthouse\'', 'required' => true, ], 'domain' => [ 'name' => '绑定的域名', 'type' => 'input', 'placeholder' => '', 'show' => 'product!=\'clb\'&&product!=\'tke\'', 'note' => 'CDN、EO、WAF多个域名可用,隔开,其他只能填写1个域名', 'required' => true, ], ], ], 'huawei' => [ 'name' => '华为云', 'class' => 2, 'icon' => 'huawei.ico', 'note' => '支持部署到华为云CDN、ELB、WAF等服务', 'inputs' => [ 'AccessKeyId' => [ 'name' => 'AccessKeyId', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'SecretAccessKey' => [ 'name' => 'SecretAccessKey', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'product' => [ 'name' => '要部署的产品', 'type' => 'select', 'options' => [ ['value'=>'cdn', 'label'=>'内容分发网络CDN'], ['value'=>'elb', 'label'=>'弹性负载均衡ELB'], ['value'=>'waf', 'label'=>'Web应用防火墙WAF'], ], 'value' => 'cdn', 'required' => true, ], 'domain' => [ 'name' => '绑定的域名', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'cdn\'', 'required' => true, ], 'project_id' => [ 'name' => '项目ID', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'elb\'||product==\'waf\'', 'note' => '项目ID可在我的凭证->项目列表页面查看', 'required' => true, ], 'region_id' => [ 'name' => '区域ID', 'type' => 'input', 'placeholder' => '', 'show' => 'product==\'elb\'||product==\'waf\'', 'note' => '区域ID可在此页面查找', 'required' => true, ], 'cert_id' => [ 'name' => '要更新的证书ID', 'type' => 'input', 'placeholder' => '在ELB控制台->证书管理->查看已上传的证书ID', 'show' => 'product==\'elb\'||product==\'waf\'', 'required' => true, ], ], ], 'ucloud' => [ 'name' => 'UCloud', 'class' => 2, 'icon' => 'ucloud.ico', 'note' => '支持部署到UCDN', 'inputs' => [ 'PublicKey' => [ 'name' => '公钥', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'PrivateKey' => [ 'name' => '私钥', 'type' => 'input', 'placeholder' => '', 'required' => true, ], ], 'taskinputs' => [ 'domain_id' => [ 'name' => '云分发资源ID', 'type' => 'input', 'placeholder' => '', 'note' => '在云分发-域名管理-域名基本信息页面查看', 'required' => true, ], ], ], 'qiniu' => [ 'name' => '七牛云', 'class' => 2, 'icon' => 'qiniu.ico', 'note' => '支持部署到七牛云CDN、OSS', 'inputs' => [ 'AccessKey' => [ 'name' => 'AccessKey', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'SecretKey' => [ 'name' => 'SecretKey', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'product' => [ 'name' => '要部署的产品', 'type' => 'select', 'options' => [ ['value'=>'cdn', 'label'=>'CDN'], ['value'=>'oss', 'label'=>'OSS'], ], 'value' => 'cdn', 'required' => true, ], 'domain' => [ 'name' => '绑定的域名', 'type' => 'input', 'placeholder' => '', 'required' => true, ], ], ], 'doge' => [ 'name' => '多吉云', 'class' => 2, 'icon' => 'cloud.png', 'note' => '支持部署到多吉云融合CDN', 'inputs' => [ 'AccessKey' => [ 'name' => 'AccessKey', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'SecretKey' => [ 'name' => 'SecretKey', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'domain' => [ 'name' => 'CDN域名', 'type' => 'input', 'placeholder' => '', 'required' => true, ], ], ], 'baidu' => [ 'name' => '百度云', 'class' => 2, 'icon' => 'baidu.ico', 'note' => '支持部署到百度云CDN', 'inputs' => [ 'AccessKeyId' => [ 'name' => 'AccessKeyId', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'SecretAccessKey' => [ 'name' => 'SecretAccessKey', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'domain' => [ 'name' => '绑定的域名', 'type' => 'input', 'placeholder' => '', 'required' => true, ], ], ], 'huoshan' => [ 'name' => '火山引擎', 'class' => 2, 'icon' => 'huoshan.ico', 'note' => '支持部署到火山引擎CDN', 'inputs' => [ 'AccessKeyId' => [ 'name' => 'AccessKeyId', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'SecretAccessKey' => [ 'name' => 'SecretAccessKey', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'domain' => [ 'name' => '绑定的域名', 'type' => 'input', 'placeholder' => '多个域名可使用,分隔', 'required' => true, ], ], ], 'baishan' => [ 'name' => '白山云', 'class' => 2, 'icon' => 'waf.png', 'note' => null, 'inputs' => [ 'account' => [ 'name' => '账户名', 'type' => 'input', 'placeholder' => '仅用作标记', 'required' => true, ], 'token' => [ 'name' => 'token', 'type' => 'input', 'placeholder' => '', 'note' => '自行联系提供商申请', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'id' => [ 'name' => '证书ID', 'type' => 'input', 'placeholder' => '', 'note' => '在证书管理页面查看,注意域名是否与证书匹配', 'required' => true, ], ], ], 'allwaf' => [ 'name' => 'AllWAF', 'class' => 2, 'icon' => 'waf.png', 'note' => '在ALLWAF访问控制页面创建AccessKey', 'tasknote' => '系统会根据关联SSL证书的域名,自动更新对应证书', 'inputs' => [ 'accessKeyId' => [ 'name' => 'AccessKey ID', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'accessKey' => [ 'name' => 'AccessKey密钥', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [], ], 'aws' => [ 'name' => 'AWS', 'class' => 2, 'icon' => 'aws.ico', 'note' => '支持部署到Amazon CloudFront', 'inputs' => [ 'AccessKeyId' => [ 'name' => 'AccessKeyId', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'SecretAccessKey' => [ 'name' => 'SecretAccessKey', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'product' => [ 'name' => '要部署的产品', 'type' => 'select', 'options' => [ ['value'=>'cloudfront', 'label'=>'CloudFront'], ], 'value' => 'cloudfront', 'required' => true, ], 'distribution_id' => [ 'name' => '分配ID', 'type' => 'input', 'placeholder' => 'distributions id', 'required' => true, ], ], ], 'gcore' => [ 'name' => 'Gcore', 'class' => 2, 'icon' => 'gcore.ico', 'note' => '在 个人资料->API令牌 页面创建API令牌', 'inputs' => [ 'account' => [ 'name' => '账户名', 'type' => 'input', 'placeholder' => '仅用作标记', 'required' => true, ], 'apikey' => [ 'name' => 'API令牌', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ 'id' => [ 'name' => '证书ID', 'type' => 'input', 'placeholder' => '', 'note' => '在CDN->SSL证书页面查看证书的ID,注意域名是否与证书匹配', 'required' => true, ], 'name' => [ 'name' => '证书名称', 'type' => 'input', 'placeholder' => '', 'required' => true, ], ], ], 'cachefly' => [ 'name' => 'Cachefly', 'class' => 2, 'icon' => 'cloud.png', 'note' => '在 API Tokens 页面生成 API Token', 'inputs' => [ 'account' => [ 'name' => '账户名', 'type' => 'input', 'placeholder' => '仅用作标记', 'required' => true, ], 'apikey' => [ 'name' => 'API Token', 'type' => 'input', 'placeholder' => '', 'required' => true, ], 'proxy' => [ 'name' => '使用代理服务器', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0' ], ], 'taskinputs' => [ ], ], 'ssh' => [ 'name' => 'SSH服务器', 'class' => 3, 'icon' => 'server.png', 'note' => '可通过SSH连接到Linux/Windows服务器并部署证书,php需要安装ssh2扩展', 'tasknote' => '请确保路径存在且有写入权限,路径一定要以/开头(Windows路径请使用/代替\,且需要在最开头加/)', 'inputs' => [ 'host' => [ 'name' => '主机地址', 'type' => 'input', 'placeholder' => '填写IP地址或域名', 'required' => true, ], 'port' => [ 'name' => '端口', 'type' => 'input', 'placeholder' => '', 'value' => '22', 'required' => true, ], 'auth' => [ 'name' => '认证方式', 'type' => 'radio', 'options' => [ '0' => '密码认证', '1' => '密钥认证', ], 'value' => '0', 'required' => true, ], 'username' => [ 'name' => '用户名', 'type' => 'input', 'placeholder' => '登录用户名', 'value' => 'root', 'required' => true, ], 'password' => [ 'name' => '密码', 'type' => 'input', 'placeholder' => '登录密码', 'required' => true, 'show' => 'auth==0', ], 'privatekey' => [ 'name' => '私钥', 'type' => 'textarea', 'placeholder' => '填写私钥内容', 'required' => true, 'show' => 'auth==1', ], 'windows' => [ 'name' => '是否Windows', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'note' => 'Windows系统需要先安装OpenSSH', 'value' => '0', 'required' => true, ], ], 'taskinputs' => [ 'format' => [ 'name' => '证书类型', 'type' => 'select', 'options' => [ ['value'=>'pem', 'label'=>'PEM格式(Nginx/Apache等)'], ['value'=>'pfx', 'label'=>'PFX格式(IIS/Tomcat)'], ], 'value' => 'pem', 'required' => true, ], 'pem_cert_file' => [ 'name' => '证书保存路径', 'type' => 'input', 'placeholder' => '/path/to/cert.pem', 'show' => 'format==\'pem\'', 'required' => true, ], 'pem_key_file' => [ 'name' => '私钥保存路径', 'type' => 'input', 'placeholder' => '/path/to/key.pem', 'show' => 'format==\'pem\'', 'required' => true, ], 'pfx_file' => [ 'name' => 'PFX证书保存路径', 'type' => 'input', 'placeholder' => '/path/to/cert.pfx', 'show' => 'format==\'pfx\'', 'required' => true, ], 'pfx_pass' => [ 'name' => 'PFX证书密码', 'type' => 'input', 'placeholder' => '留空为不设置密码', 'show' => 'format==\'pfx\'', ], 'uptype' => [ 'name' => '上传完操作', 'type' => 'radio', 'options' => [ '0' => '执行指定命令', '1' => '部署到IIS', ], 'value' => '0', 'show' => 'format==\'pfx\'', 'required' => true, ], 'cmd' => [ 'name' => '上传完执行命令', 'type' => 'textarea', 'show' => 'format==\'pem\'||uptype==0', 'placeholder' => '可留空,每行一条命令,如:service nginx reload', ], 'iis_domain' => [ 'name' => '绑定的域名', 'type' => 'input', 'placeholder' => '在IIS站点绑定的https域名', 'show' => 'format==\'pfx\'&&uptype==1', ], ], ], 'ftp' => [ 'name' => 'FTP服务器', 'class' => 3, 'icon' => 'server.png', 'note' => '可将证书上传到FTP服务器,php需要安装ftp扩展', 'tasknote' => '请确保路径存在且有写入权限', 'inputs' => [ 'host' => [ 'name' => 'FTP地址', 'type' => 'input', 'placeholder' => '填写IP地址或域名', 'required' => true, ], 'port' => [ 'name' => 'FTP端口', 'type' => 'input', 'placeholder' => '', 'value' => '21', 'required' => true, ], 'username' => [ 'name' => '用户名', 'type' => 'input', 'placeholder' => 'FTP登录用户名', 'required' => true, ], 'password' => [ 'name' => '密码', 'type' => 'input', 'placeholder' => 'FTP登录密码', 'required' => true, ], 'secure' => [ 'name' => '是否使用SSL', 'type' => 'radio', 'options' => [ '0' => '否', '1' => '是', ], 'value' => '0', 'required' => true, ], ], 'taskinputs' => [ 'format' => [ 'name' => '证书类型', 'type' => 'select', 'options' => [ ['value'=>'pem', 'label'=>'PEM格式(Nginx/Apache等)'], ['value'=>'pfx', 'label'=>'PFX格式(IIS)'], ], 'value' => 'pem', 'required' => true, ], 'pem_cert_file' => [ 'name' => '证书保存路径', 'type' => 'input', 'placeholder' => '/path/to/cert.pem', 'show' => 'format==\'pem\'', 'required' => true, ], 'pem_key_file' => [ 'name' => '私钥保存路径', 'type' => 'input', 'placeholder' => '/path/to/key.pem', 'show' => 'format==\'pem\'', 'required' => true, ], 'pfx_file' => [ 'name' => 'PFX证书保存路径', 'type' => 'input', 'placeholder' => '/path/to/cert.pfx', 'show' => 'format==\'pfx\'', 'required' => true, ], 'pfx_pass' => [ 'name' => 'PFX证书密码', 'type' => 'input', 'placeholder' => '留空为不设置密码', 'show' => 'format==\'pfx\'', ], ], ], 'local' => [ 'name' => '复制到本机', 'class' => 3, 'icon' => 'server2.png', 'note' => '将证书复制到本机指定路径', 'tasknote' => '请确保php进程有对证书保存路径的写入权限,宝塔面板需关闭防跨站攻击,如果当前是Docker运行的,则需要做目录映射到宿主机。', 'inputs' => [], 'taskinputs' => [ 'format' => [ 'name' => '证书类型', 'type' => 'select', 'options' => [ ['value'=>'pem', 'label'=>'PEM格式(Nginx/Apache等)'], ['value'=>'pfx', 'label'=>'PFX格式(IIS)'], ], 'value' => 'pem', 'required' => true, ], 'pem_cert_file' => [ 'name' => '证书保存路径', 'type' => 'input', 'placeholder' => '/path/to/cert.pem', 'show' => 'format==\'pem\'', 'required' => true, ], 'pem_key_file' => [ 'name' => '私钥保存路径', 'type' => 'input', 'placeholder' => '/path/to/key.pem', 'show' => 'format==\'pem\'', 'required' => true, ], 'pfx_file' => [ 'name' => 'PFX证书保存路径', 'type' => 'input', 'placeholder' => '/path/to/cert.pfx', 'show' => 'format==\'pfx\'', 'required' => true, ], 'pfx_pass' => [ 'name' => 'PFX证书密码', 'type' => 'input', 'placeholder' => '留空为不设置密码', 'show' => 'format==\'pfx\'', ], 'cmd' => [ 'name' => '复制完执行命令', 'type' => 'textarea', 'placeholder' => '可留空,每行一条命令,如:service nginx reload', 'note' => '如需执行命令,php需开放exec函数', ], ], ], ]; public static $class_config = [ 1 => '自建系统', 2 => '云服务商', 3 => '服务器', ]; public static function getList() { return self::$deploy_config; } private static function getConfig($aid) { $account = Db::name('cert_account')->where('id', $aid)->find(); if (!$account) return false; return $account; } public static function getInputs($type, $config = null) { $config = $config ? json_decode($config, true) : []; $inputs = self::$deploy_config[$type]['inputs']; foreach ($inputs as &$input) { if (isset($config[$input['name']])) { $input['value'] = $config[$input['name']]; } } return $inputs; } /** * @return DeployInterface|bool */ public static function getModel($aid) { $account = self::getConfig($aid); if (!$account) return false; $type = $account['type']; $class = "\\app\\lib\\deploy\\{$type}"; if (class_exists($class)) { $config = json_decode($account['config'], true); $model = new $class($config); return $model; } return false; } /** * @return DeployInterface|bool */ public static function getModel2($type, $config) { $class = "\\app\\lib\\deploy\\{$type}"; if (class_exists($class)) { $model = new $class($config); return $model; } return false; } }