diff --git a/README.md b/README.md index 1d02cadb..da3fde6d 100644 --- a/README.md +++ b/README.md @@ -75,8 +75,10 @@ make local.run | :--------: | :----------: | :----------: | ----------------------------------------------------------------- | | 阿里云 | √ | √ | 可签发在阿里云注册的域名;可部署到阿里云 OSS、CDN、SLB | | 腾讯云 | √ | √ | 可签发在腾讯云注册的域名;可部署到腾讯云 COS、CDN、ECDN、CLB、TEO | +| 百度智能云 | | √ | 可部署到百度智能云 CDN | | 华为云 | √ | √ | 可签发在华为云注册的域名;可部署到华为云 CDN、ELB | | 七牛云 | | √ | 可部署到七牛云 CDN | +| 多吉云 | | √ | 可部署到多吉云 CDN | | AWS | √ | | 可签发在 AWS Route53 托管的域名 | | CloudFlare | √ | | 可签发在 CloudFlare 注册的域名;CloudFlare 服务自带 SSL 证书 | | GoDaddy | √ | | 可签发在 GoDaddy 注册的域名 | @@ -90,15 +92,13 @@ make local.run ## 四、系统截图 -![login](https://i.imgur.com/SYjjbql.jpeg) - -![dashboard](https://i.imgur.com/WMVbBId.jpeg) - -![domains](https://i.imgur.com/8wit3ZA.jpeg) - -![accesses](https://i.imgur.com/EWtOoJ0.jpeg) - -![history](https://i.imgur.com/aaPtSW7.jpeg) +
+ + + + + +
## 五、概念 @@ -188,3 +188,4 @@ Certimate 是一个免费且开源的项目,采用 [MIT 开源协议](LICENSE. ## 十、Star 趋势图 [![Stargazers over time](https://starchart.cc/usual2970/certimate.svg?variant=adaptive)](https://starchart.cc/usual2970/certimate) + diff --git a/README_EN.md b/README_EN.md index 4d70fd8a..eddcea05 100644 --- a/README_EN.md +++ b/README_EN.md @@ -70,34 +70,34 @@ password:1234567890 ## List of Supported Providers -| Provider | Registration | Deployment | Remarks | -| :-----------: | :----------: | :--------: | --------------------------------------------------------------------------------------------------------------------- | -| Alibaba Cloud | √ | √ | Supports domains registered on Alibaba Cloud; supports deployment to Alibaba Cloud OSS, CDN,SLB | -| Tencent Cloud | √ | √ | Supports domains registered on Tencent Cloud; supports deployment to Tencent Cloud COS, CDN, ECDN, CLB, TEO | -| Huawei Cloud | √ | √ | Supports domains registered on Huawei Cloud; supports deployment to Huawei Cloud CDN, ELB | -| Qiniu Cloud | | √ | Supports deployment to Qiniu Cloud CDN | -| AWS | √ | | Supports domains managed on AWS Route53 | -| CloudFlare | √ | | Supports domains registered on CloudFlare; CloudFlare services come with SSL certificates | -| GoDaddy | √ | | Supports domains registered on GoDaddy | -| Namesilo | √ | | Supports domains registered on Namesilo | -| PowerDNS | √ | | Supports domains managed on PowerDNS | -| HTTP Request | √ | | Supports domains which allow managing DNS by HTTP request | -| Local Deploy | | √ | Supports deployment to local servers | -| SSH | | √ | Supports deployment to SSH servers | -| Webhook | | √ | Supports callback to Webhook | -| Kubernetes | | √ | Supports deployment to Kubernetes Secret | +| Provider | Registration | Deployment | Remarks | +| :-----------: | :----------: | :--------: | ----------------------------------------------------------------------------------------------------------- | +| Alibaba Cloud | √ | √ | Supports domains registered on Alibaba Cloud; supports deployment to Alibaba Cloud OSS, CDN,SLB | +| Tencent Cloud | √ | √ | Supports domains registered on Tencent Cloud; supports deployment to Tencent Cloud COS, CDN, ECDN, CLB, TEO | +| Baidu Cloud | | √ | Supports deployment to Baidu Cloud CDN | +| Huawei Cloud | √ | √ | Supports domains registered on Huawei Cloud; supports deployment to Huawei Cloud CDN, ELB | +| Qiniu Cloud | | √ | Supports deployment to Qiniu Cloud CDN | +| Doge Cloud | | √ | Supports deployment to Doge Cloud CDN | +| AWS | √ | | Supports domains managed on AWS Route53 | +| CloudFlare | √ | | Supports domains registered on CloudFlare; CloudFlare services come with SSL certificates | +| GoDaddy | √ | | Supports domains registered on GoDaddy | +| Namesilo | √ | | Supports domains registered on Namesilo | +| PowerDNS | √ | | Supports domains managed on PowerDNS | +| HTTP Request | √ | | Supports domains which allow managing DNS by HTTP request | +| Local Deploy | | √ | Supports deployment to local servers | +| SSH | | √ | Supports deployment to SSH servers | +| Webhook | | √ | Supports callback to Webhook | +| Kubernetes | | √ | Supports deployment to Kubernetes Secret | ## Screenshots -![login](https://i.imgur.com/SYjjbql.jpeg) - -![dashboard](https://i.imgur.com/WMVbBId.jpeg) - -![domains](https://i.imgur.com/8wit3ZA.jpeg) - -![accesses](https://i.imgur.com/EWtOoJ0.jpeg) - -![history](https://i.imgur.com/aaPtSW7.jpeg) +
+ + + + + +
## Concepts diff --git a/internal/deployer/dogecloud_cdn.go b/internal/deployer/dogecloud_cdn.go index c68cb3ba..55e526c1 100644 --- a/internal/deployer/dogecloud_cdn.go +++ b/internal/deployer/dogecloud_cdn.go @@ -4,6 +4,7 @@ import ( "context" "encoding/json" "fmt" + "strconv" xerrors "github.com/pkg/errors" @@ -70,7 +71,8 @@ func (d *DogeCloudCDNDeployer) Deploy(ctx context.Context) error { // 绑定证书 // REF: https://docs.dogecloud.com/cdn/api-cert-bind - bindCdnCertResp, err := d.sdkClient.BindCdnCertWithDomain(upres.CertId, d.option.DeployConfig.GetConfigAsString("domain")) + bindCdnCertId, _ := strconv.ParseInt(upres.CertId, 10, 64) + bindCdnCertResp, err := d.sdkClient.BindCdnCertWithDomain(bindCdnCertId, d.option.DeployConfig.GetConfigAsString("domain")) if err != nil { return xerrors.Wrap(err, "failed to execute sdk request 'cdn.BindCdnCert'") } diff --git a/internal/pkg/core/uploader/providers/dogecloud/dogecloud.go b/internal/pkg/core/uploader/providers/dogecloud/dogecloud.go index b73c5cea..7b11d462 100644 --- a/internal/pkg/core/uploader/providers/dogecloud/dogecloud.go +++ b/internal/pkg/core/uploader/providers/dogecloud/dogecloud.go @@ -50,7 +50,7 @@ func (u *DogeCloudUploader) Upload(ctx context.Context, certPem string, privkeyP return nil, xerrors.Wrap(err, "failed to execute sdk request 'cdn.UploadCdnCert'") } - certId = uploadSslCertResp.Data.Id + certId = fmt.Sprintf("%d", uploadSslCertResp.Data.Id) return &uploader.UploadResult{ CertId: certId, CertName: certName, diff --git a/internal/pkg/vendors/dogecloud-sdk/client.go b/internal/pkg/vendors/dogecloud-sdk/client.go index 22f6955b..dcca0b1d 100644 --- a/internal/pkg/vendors/dogecloud-sdk/client.go +++ b/internal/pkg/vendors/dogecloud-sdk/client.go @@ -58,7 +58,7 @@ func (c *Client) UploadCdnCert(note, cert, private string) (*UploadCdnCertRespon return resp, nil } -func (c *Client) BindCdnCertWithDomain(certId string, domain string) (*BindCdnCertResponse, error) { +func (c *Client) BindCdnCertWithDomain(certId int64, domain string) (*BindCdnCertResponse, error) { req := &BindCdnCertRequest{ CertId: certId, Domain: &domain, @@ -92,7 +92,7 @@ func (c *Client) BindCdnCertWithDomain(certId string, domain string) (*BindCdnCe return resp, nil } -func (c *Client) BindCdnCertWithDomainId(certId string, domainId int32) (*BindCdnCertResponse, error) { +func (c *Client) BindCdnCertWithDomainId(certId int64, domainId int64) (*BindCdnCertResponse, error) { req := &BindCdnCertRequest{ CertId: certId, DomainId: &domainId, diff --git a/internal/pkg/vendors/dogecloud-sdk/models.go b/internal/pkg/vendors/dogecloud-sdk/models.go index b721a00e..06507e0d 100644 --- a/internal/pkg/vendors/dogecloud-sdk/models.go +++ b/internal/pkg/vendors/dogecloud-sdk/models.go @@ -12,20 +12,20 @@ type UploadCdnCertRequest struct { } type UploadCdnCertResponseData struct { - Id string `json:"id"` + Id int64 `json:"id"` } type UploadCdnCertResponse struct { - *BaseResponse + BaseResponse Data *UploadCdnCertResponseData `json:"data,omitempty"` } type BindCdnCertRequest struct { - CertId string `json:"id"` - DomainId *int32 `json:"did,omitempty"` + CertId int64 `json:"id"` + DomainId *int64 `json:"did,omitempty"` Domain *string `json:"domain,omitempty"` } type BindCdnCertResponse struct { - *BaseResponse + BaseResponse } diff --git a/internal/pkg/vendors/qiniu-sdk/models.go b/internal/pkg/vendors/qiniu-sdk/models.go index b8652fd4..3c68ee6b 100644 --- a/internal/pkg/vendors/qiniu-sdk/models.go +++ b/internal/pkg/vendors/qiniu-sdk/models.go @@ -24,7 +24,7 @@ type DomainInfoHttpsData struct { } type GetDomainInfoResponse struct { - *BaseResponse + BaseResponse Name string `json:"name"` Type string `json:"type"` CName string `json:"cname"` @@ -42,7 +42,7 @@ type ModifyDomainHttpsConfRequest struct { } type ModifyDomainHttpsConfResponse struct { - *BaseResponse + BaseResponse } type EnableDomainHttpsRequest struct { @@ -50,5 +50,5 @@ type EnableDomainHttpsRequest struct { } type EnableDomainHttpsResponse struct { - *BaseResponse + BaseResponse } diff --git a/ui/src/domain/version.ts b/ui/src/domain/version.ts index 8b42c85f..1300d70d 100644 --- a/ui/src/domain/version.ts +++ b/ui/src/domain/version.ts @@ -1 +1 @@ -export const version = "Certimate v0.2.16"; +export const version = "Certimate v0.2.17";