Merge branch 'main' into 'next'

This commit is contained in:
Fu Diwei
2026-09-15 13:09:00 +08:00
28 changed files with 1569 additions and 1007 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
name: "GitHub Pull Requests Checker"
name: "GitHub Pull Requests Checker"
on:
issue_comment:
@@ -300,7 +300,7 @@ jobs:
git reset --hard HEAD
git clean -df
go install mvdan.cc/gofumpt@latest
go install mvdan.cc/gofumpt@v0.11.0
gofumpt --version
# Exclude paths below:
+2 -2
View File
@@ -11,9 +11,9 @@ on:
workflow_dispatch:
inputs:
tag:
description: "Existing git tag to build and push (e.g. v0.4.31). Does not move the tag or recreate the GitHub Release."
description: "Tag version to be used for Docker image"
required: true
default: "v0.4.31"
default: "latest"
jobs:
prepare-ui:
+76 -79
View File
@@ -1,48 +1,48 @@
module github.com/certimate-go/certimate
go 1.25.12
go 1.25.14
require (
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.0
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.23.1
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.1
github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azcertificates v1.5.0
github.com/G-Core/gcorelabscdn-go v1.0.37
github.com/akamai/AkamaiOPEN-edgegrid-golang/v13 v13.4.0
github.com/alibabacloud-go/alb-20200616/v2 v2.3.2
github.com/alibabacloud-go/apig-20240327/v10 v10.1.0
github.com/alibabacloud-go/cas-20200407/v4 v4.4.0
github.com/alibabacloud-go/apig-20240327/v11 v11.2.3
github.com/alibabacloud-go/cas-20200407/v4 v4.7.1
github.com/alibabacloud-go/cdn-20180510/v10 v10.2.0
github.com/alibabacloud-go/cloudapi-20160714/v5 v5.8.0
github.com/alibabacloud-go/darabonba-openapi/v2 v2.2.4
github.com/alibabacloud-go/dcdn-20180115/v4 v4.1.0
github.com/alibabacloud-go/ddoscoo-20200101/v5 v5.0.2
github.com/alibabacloud-go/esa-20240910/v3 v3.11.0
github.com/alibabacloud-go/fc-20230330/v4 v4.7.9
github.com/alibabacloud-go/esa-20240910/v3 v3.13.0
github.com/alibabacloud-go/fc-20230330/v4 v4.8.2
github.com/alibabacloud-go/fc-open-20210406/v2 v2.0.12
github.com/alibabacloud-go/ga-20191120/v4 v4.0.2
github.com/alibabacloud-go/live-20161101/v3 v3.0.0
github.com/alibabacloud-go/live-20161101/v3 v3.0.1
github.com/alibabacloud-go/nlb-20220430/v4 v4.1.3
github.com/alibabacloud-go/openapi-util v0.1.2
github.com/alibabacloud-go/slb-20140515/v4 v4.0.14
github.com/alibabacloud-go/tea v1.5.3
github.com/alibabacloud-go/tea-utils/v2 v2.0.9
github.com/alibabacloud-go/vod-20170321/v4 v4.11.3
github.com/alibabacloud-go/waf-openapi-20211001/v7 v7.8.2
github.com/aws/aws-sdk-go-v2 v1.43.1
github.com/aws/aws-sdk-go-v2/config v1.32.32
github.com/aws/aws-sdk-go-v2/credentials v1.19.31
github.com/aws/aws-sdk-go-v2/service/acm v1.43.1
github.com/aws/aws-sdk-go-v2/service/amplify v1.41.1
github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.37.1
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.1
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.1
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.2
github.com/aws/aws-sdk-go-v2/service/iam v1.56.1
github.com/aws/aws-sdk-go-v2/service/lightsail v1.58.1
github.com/aws/smithy-go v1.27.5
github.com/baidubce/bce-sdk-go v0.9.272
github.com/byteplus-sdk/byteplus-go-sdk-v2 v1.0.73
github.com/byteplus-sdk/byteplus-sdk-golang v1.0.71
github.com/alibabacloud-go/vod-20170321/v4 v4.12.1
github.com/alibabacloud-go/waf-openapi-20211001/v7 v7.8.5
github.com/aws/aws-sdk-go-v2 v1.47.0
github.com/aws/aws-sdk-go-v2/config v1.33.5
github.com/aws/aws-sdk-go-v2/credentials v1.20.5
github.com/aws/aws-sdk-go-v2/service/acm v1.50.0
github.com/aws/aws-sdk-go-v2/service/amplify v1.48.0
github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.42.0
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.73.0
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.41.0
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.63.0
github.com/aws/aws-sdk-go-v2/service/iam v1.64.0
github.com/aws/aws-sdk-go-v2/service/lightsail v1.66.0
github.com/aws/smithy-go v1.28.1
github.com/baidubce/bce-sdk-go v0.9.276
github.com/byteplus-sdk/byteplus-go-sdk-v2 v1.0.78
github.com/byteplus-sdk/byteplus-sdk-golang v1.0.72
github.com/fsnotify/fsnotify v1.10.1
github.com/go-acme/lego/v5 v5.3.1
github.com/go-cmd/cmd v1.4.3
@@ -51,13 +51,13 @@ require (
github.com/google/go-querystring v1.2.0
github.com/hashicorp/go-hclog v1.6.3
github.com/hashicorp/go-plugin v1.8.0
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.208
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.215
github.com/jdcloud-api/jdcloud-sdk-go v1.67.0
github.com/jlaffaye/ftp v0.2.0
github.com/jlaffaye/ftp v0.2.4
github.com/microcosm-cc/bluemonday v1.0.27
github.com/minio/minio-go/v7 v7.2.1
github.com/nrdcg/oci-go-sdk/certificatesmanagement/v1065 v1065.122.0
github.com/nrdcg/oci-go-sdk/common/v1065 v1065.122.0
github.com/minio/minio-go/v7 v7.3.0
github.com/nrdcg/oci-go-sdk/certificatesmanagement/v1065 v1065.124.2
github.com/nrdcg/oci-go-sdk/common/v1065 v1065.124.2
github.com/pavlo-v-chernykh/keystore-go/v4 v4.5.0
github.com/pkg/sftp v1.13.11
github.com/pocketbase/dbx v1.12.0
@@ -67,39 +67,39 @@ require (
github.com/samber/lo v1.53.0
github.com/spf13/cobra v1.10.2
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/antiddos v1.3.131
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.3.116
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.3.142
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.145
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ga2 v1.3.144
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.3.173
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.3.176
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.180
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ga2 v1.3.180
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.3.34
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.3.140
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.3.175
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.3.101
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.3.105
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.3.145
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.3.133
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.3.142
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.3.144
github.com/ucloud/ucloud-sdk-go v0.22.98
github.com/volcengine/volc-sdk-golang v1.0.252
github.com/volcengine/volcengine-go-sdk v1.2.44
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.3.147
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.3.180
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.3.168
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.3.179
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.3.171
github.com/ucloud/ucloud-sdk-go v0.22.124
github.com/volcengine/volc-sdk-golang v1.0.256
github.com/volcengine/volcengine-go-sdk v1.2.52
github.com/wneessen/go-mail v0.8.1
github.com/xhit/go-str2duration/v2 v2.1.0
github.com/yandex-cloud/go-genproto v0.99.0
github.com/yandex-cloud/go-sdk/services/certificatemanager v0.0.81
github.com/yandex-cloud/go-sdk/v2 v2.144.0
github.com/xhit/go-str2duration/v2 v2.2.0
github.com/yandex-cloud/go-genproto v0.121.0
github.com/yandex-cloud/go-sdk/services/certificatemanager v0.0.97
github.com/yandex-cloud/go-sdk/v2 v2.176.0
github.com/yunify/qingcloud-sdk-go v2.0.0-alpha.38+incompatible
gitlab.ecloud.com/ecloud/ecloudsdkcloudcore v1.0.0
gitlab.ecloud.com/ecloud/ecloudsdkclouddns v1.0.1
gitlab.ecloud.com/ecloud/ecloudsdkcmcdn v1.0.0
gitlab.ecloud.com/ecloud/ecloudsdkcore v1.0.6
gitlab.ecloud.com/ecloud/ecloudsdkvlb v1.0.7
golang.org/x/crypto v0.54.0
golang.org/x/crypto v0.55.0
golang.org/x/oauth2 v0.36.0
golang.org/x/sync v0.22.0
golang.org/x/sys v0.47.0
google.golang.org/api v0.291.0
google.golang.org/grpc v1.82.1
google.golang.org/protobuf v1.36.11
google.golang.org/api v0.295.0
google.golang.org/grpc v1.83.2
google.golang.org/protobuf v1.36.12
software.sslmate.com/src/go-pkcs12 v0.7.3
)
@@ -109,7 +109,7 @@ require (
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns v1.3.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.10.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0 // indirect
github.com/AzureAD/microsoft-authentication-library-for-go v1.7.2 // indirect
github.com/AzureAD/microsoft-authentication-library-for-go v1.8.0 // indirect
github.com/alibabacloud-go/alibabacloud-gateway-fc-util v0.0.7 // indirect
github.com/avast/retry-go v3.0.0+incompatible // indirect
github.com/aws/aws-sdk-go-v2/service/route53 v1.64.1 // indirect
@@ -134,21 +134,20 @@ require (
github.com/ovh/go-ovh v1.9.0 // indirect
github.com/peterhellberg/link v1.2.0 // indirect
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/sirupsen/logrus v1.9.4 // indirect
github.com/stretchr/objx v0.5.3 // indirect
github.com/stretchr/testify v1.11.1
github.com/stretchr/testify v1.12.1
github.com/vultr/govultr/v3 v3.31.2 // indirect
go.mongodb.org/mongo-driver v1.17.9 // indirect
go.uber.org/ratelimit v0.3.1 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
go.yaml.in/yaml/v3 v3.0.5 // indirect
gopkg.in/ns1/ns1-go.v2 v2.18.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
require (
cloud.google.com/go/auth v0.22.0 // indirect
cloud.google.com/go/auth v0.23.2 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
cloud.google.com/go/compute/metadata v0.9.0 // indirect
github.com/alexbrainman/sspi v0.0.0-20250919150558-7d374ff0d59e // indirect
@@ -157,16 +156,16 @@ require (
github.com/alibabacloud-go/endpoint-util v1.1.1 // indirect
github.com/aliyun/credentials-go v1.4.12 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32 // indirect
github.com/aws/aws-sdk-go-v2/service/signin v1.5.1 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.33.1 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.45.1 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.0 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.3 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.3 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.3 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.3 // indirect
github.com/aws/aws-sdk-go-v2/service/signin v1.10.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.38.0 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.51.0 // indirect
github.com/aymerick/douceur v0.2.0 // indirect
github.com/bodgit/gssapi v0.0.4 // indirect
github.com/bodgit/tsig v1.3.1 // indirect
@@ -174,7 +173,6 @@ require (
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/clbanning/mxj/v2 v2.7.0 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/disintegration/imaging v1.6.2 // indirect
github.com/domodwyer/mailyak/v3 v3.6.2 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
@@ -191,13 +189,13 @@ require (
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-ozzo/ozzo-validation/v4 v4.3.0 // indirect
github.com/go-test/deep v1.1.1 // indirect
github.com/gofrs/flock v0.13.0 // indirect
github.com/gofrs/flock v0.13.1 // indirect
github.com/golang-jwt/jwt/v4 v4.5.2 // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/s2a-go v0.1.9 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.19 // indirect
github.com/googleapis/gax-go/v2 v2.23.0 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.20 // indirect
github.com/googleapis/gax-go/v2 v2.24.0 // indirect
github.com/gorilla/css v1.0.1 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
@@ -213,8 +211,8 @@ require (
github.com/jcmturner/rpc/v2 v2.0.3 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/json-iterator/go v1.1.13-0.20220915233716-71ac16282d12 // indirect
github.com/klauspost/compress v1.18.6 // indirect
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
github.com/klauspost/compress v1.19.2 // indirect
github.com/klauspost/cpuid/v2 v2.4.0 // indirect
github.com/klauspost/crc32 v1.3.0 // indirect
github.com/kr/fs v0.1.0 // indirect
github.com/mattn/go-colorable v0.1.15 // indirect
@@ -251,14 +249,13 @@ require (
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/image v0.44.0 // indirect
golang.org/x/mod v0.37.0 // indirect
golang.org/x/net v0.57.0 // indirect
golang.org/x/text v0.40.0 // indirect
golang.org/x/tools v0.47.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260724162435-b2f20204f0df // indirect
golang.org/x/mod v0.38.0 // indirect
golang.org/x/net v0.58.0 // indirect
golang.org/x/text v0.41.0 // indirect
golang.org/x/tools v0.48.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260715232425-e75dac1f907d // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260819154853-08b0e4226688 // indirect
gopkg.in/ini.v1 v1.67.3 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
modernc.org/libc v1.74.1 // indirect
modernc.org/mathutil v1.7.1 // indirect
modernc.org/memory v1.11.0 // indirect
+159 -156
View File
@@ -13,8 +13,8 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV
cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
cloud.google.com/go/auth v0.22.0 h1:Xp9wAKkLoeaYb5pYZZoQGz4E9sdPxIbzS3gywZE3ciQ=
cloud.google.com/go/auth v0.22.0/go.mod h1:M9o2Oz+YI2jAfxewJgb1vyI3vceHF+eohmxyzmrl+9s=
cloud.google.com/go/auth v0.23.2 h1:pxSCpfiji41hpzpPdMCftEUCezpgpqmmDdYiAjCKXxo=
cloud.google.com/go/auth v0.23.2/go.mod h1:4DhBRcqvtljQN3dJ57qtqbib5ZGCYE5f2crfiiC2EM0=
cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
@@ -39,10 +39,10 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0 h1:aokoqcHvaGjiM3VpjKDfMMnF/8epJ+Q1HLJ7CudztqE=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0/go.mod h1:/WYEx9pcM9Y+Dd/APJaNlSvVSvzl54rrMdZT5+Oi2LM=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.0 h1:CU4+EJeJi3TKYWEcYuSdWsjzw0nVsK/H0MSQOiPcymU=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.0/go.mod h1:q0+UTSRvShwUCrR/s5HtyInYphN7Wvxb7snFM3u+SLA=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.23.1 h1:zvXfGJCWvywnCA814d8ZiVyt+fm9nnTE8xSb99zRyfo=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.23.1/go.mod h1:iptorS+VYKFL2N6PnebpS91dubG35eAOEERnT4PJbQU=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.1 h1:u93s+zU2JD62im61Bm5CZIc1ZrOJaIAWEg0WOrMVkEo=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.1/go.mod h1:oXtinPO4OLj9d1DOTrqrL1oRwGhcqadvAmrl6wTeGlk=
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.4.0 h1:xFaZZ+IubdftrDHnGGwZ6QvQ3KHTtWl2MCK+GMt2vxs=
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.4.0/go.mod h1:mCBhUhlMjLLJKr5aqw2TNS/VqJOie8MzWq3DAMJeKso=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.12.0 h1:fhqpLE3UEXi9lPaBRpQ6XuRW0nU7hgg4zlmZZa+a9q4=
@@ -63,8 +63,8 @@ github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0 h1:nCYfg
github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0/go.mod h1:ucUjca2JtSZboY8IoUqyQyuuXvwbMBVwFOm0vdQPNhA=
github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM=
github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE=
github.com/AzureAD/microsoft-authentication-library-for-go v1.7.2 h1:RHK7bS+HQMslb1sZpAokUt+zTVmue0hKSs2C791hhzU=
github.com/AzureAD/microsoft-authentication-library-for-go v1.7.2/go.mod h1:HKpQxkWaGLJ+D/5H8QRpyQXA1eKjxkFlOMwck5+33Jk=
github.com/AzureAD/microsoft-authentication-library-for-go v1.8.0 h1:Nljr4q1GRA/5vCrMONS+g4u4LRHNgOXVSh3O43J2CnI=
github.com/AzureAD/microsoft-authentication-library-for-go v1.8.0/go.mod h1:Y33QHnf0FfdVewFFISOGe20mkZbxX4H839o955/PoeI=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
@@ -99,10 +99,10 @@ github.com/alibabacloud-go/alibabacloud-gateway-pop v0.0.6/go.mod h1:4EUIoxs/do2
github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.4/go.mod h1:sCavSAvdzOjul4cEqeVtvlSaSScfNsTQ+46HwlTL1hc=
github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.5 h1:zE8vH9C7JiZLNJJQ5OwjU9mSi4T9ef9u3BURT6LCLC8=
github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.5/go.mod h1:tWnyE9AjF8J8qqLk645oUmVUnFybApTQWklQmi5tY6g=
github.com/alibabacloud-go/apig-20240327/v10 v10.1.0 h1:n1ZIp0f/AOfrdgk37ptgtNXTuD0dD5zgwvNRFQzHoxc=
github.com/alibabacloud-go/apig-20240327/v10 v10.1.0/go.mod h1:q8Q1zSE3yDK4qNXLvtCVHF69DDlg6hCDaf+EBpiVeTE=
github.com/alibabacloud-go/cas-20200407/v4 v4.4.0 h1:4ZTGAWE2Q6dlfuOqrwT72S02GgRI9Mx7DIEuVFgx3aQ=
github.com/alibabacloud-go/cas-20200407/v4 v4.4.0/go.mod h1:WY4tjlLoBxc11ZvMDh49MDHwCPh2oKoYH9KdY3RnhhE=
github.com/alibabacloud-go/apig-20240327/v11 v11.2.3 h1:nLgeYYiqZcHgxSp82NC5xz4SyBgJgYwifKx6+8q8VRc=
github.com/alibabacloud-go/apig-20240327/v11 v11.2.3/go.mod h1:Okms5/UlB9GqfLYI7hmMhCBFgdGQXYwANpcGUge/EvY=
github.com/alibabacloud-go/cas-20200407/v4 v4.7.1 h1:d5kI/y0uFE3tw/GNrmzkHMTZcWAJC+8yHjEtNGP/eow=
github.com/alibabacloud-go/cas-20200407/v4 v4.7.1/go.mod h1:WY4tjlLoBxc11ZvMDh49MDHwCPh2oKoYH9KdY3RnhhE=
github.com/alibabacloud-go/cdn-20180510/v10 v10.2.0 h1:e7eUHfkysgRq+GtJlQZq+5EVPBnurAPmJRbUlkyv5aw=
github.com/alibabacloud-go/cdn-20180510/v10 v10.2.0/go.mod h1:7SB+T84HekL8AplRZY12Qu6ZKQl7llb3sSJD2PukeAg=
github.com/alibabacloud-go/cloudapi-20160714/v5 v5.8.0 h1:CaTqyVfM3uV+4ctPYIpdryQS5wPPzsZy41+Bcwk8deQ=
@@ -134,16 +134,16 @@ github.com/alibabacloud-go/debug v1.0.1/go.mod h1:8gfgZCCAC3+SCzjWtY053FrOcd4/ql
github.com/alibabacloud-go/endpoint-util v1.1.0/go.mod h1:O5FuCALmCKs2Ff7JFJMudHs0I5EBgecXXxZRyswlEjE=
github.com/alibabacloud-go/endpoint-util v1.1.1 h1:ZkBv2/jnghxtU0p+upSU0GGzW1VL9GQdZO3mcSUTUy8=
github.com/alibabacloud-go/endpoint-util v1.1.1/go.mod h1:O5FuCALmCKs2Ff7JFJMudHs0I5EBgecXXxZRyswlEjE=
github.com/alibabacloud-go/esa-20240910/v3 v3.11.0 h1:+LHtfdfmQw3iiKUiuLBAwnD2oPQV0EBK/vZQ1WJivPA=
github.com/alibabacloud-go/esa-20240910/v3 v3.11.0/go.mod h1:1NjtX/RCGrFckiKvzguk6+IgF9xtOTjxQrRS7Q41RTA=
github.com/alibabacloud-go/fc-20230330/v4 v4.7.9 h1:YQOm9qRkWDszkuBSJwVjIzwdh2nflnLaQDUqSekdS2Y=
github.com/alibabacloud-go/fc-20230330/v4 v4.7.9/go.mod h1:b58LH0Xv8fl9PlaWpVx26cEpBLTcY4q536X0GCz/BGc=
github.com/alibabacloud-go/esa-20240910/v3 v3.13.0 h1:mIsb4vskIvKaeAfGMw0qlCTlbSU/STK68SbVUgDFtyo=
github.com/alibabacloud-go/esa-20240910/v3 v3.13.0/go.mod h1:1NjtX/RCGrFckiKvzguk6+IgF9xtOTjxQrRS7Q41RTA=
github.com/alibabacloud-go/fc-20230330/v4 v4.8.2 h1:MN1AKDQXAo3xX/fI97i+eUUt5TyZRAxLqMIi/GJtKvM=
github.com/alibabacloud-go/fc-20230330/v4 v4.8.2/go.mod h1:b58LH0Xv8fl9PlaWpVx26cEpBLTcY4q536X0GCz/BGc=
github.com/alibabacloud-go/fc-open-20210406/v2 v2.0.12 h1:A3D8Mp6qf8DfR6Dt5MpS8aDVaWfS4N85T5CvGUvgrjM=
github.com/alibabacloud-go/fc-open-20210406/v2 v2.0.12/go.mod h1:F5c0E5UB3k8v6neTtw3FBcJ1YCNFzVoL1JPRHTe33u4=
github.com/alibabacloud-go/ga-20191120/v4 v4.0.2 h1:E+/OLyHMRG3wkTwtSUgTjTDuZgIO/gaAxM/xSc8xVmw=
github.com/alibabacloud-go/ga-20191120/v4 v4.0.2/go.mod h1:RaswTDflPpbpA9gBBbb1UM002p6Ujf9LuMsPd1XeU14=
github.com/alibabacloud-go/live-20161101/v3 v3.0.0 h1:oS1VHiJEFriiMnvBfwoT/eSt7iDPoB+NZ041eBvmc6k=
github.com/alibabacloud-go/live-20161101/v3 v3.0.0/go.mod h1:z2rdKQyCwx3Z05RQG+aEOXO4v1YxL/Qph7/KPaMrzlg=
github.com/alibabacloud-go/live-20161101/v3 v3.0.1 h1:bViVZD8PGUryN0wzacPvDZgm9wEQIBQqvIim3+W9BhE=
github.com/alibabacloud-go/live-20161101/v3 v3.0.1/go.mod h1:4jRN4X/rVtcQ2HKOFnvrKKWb/k8iEKfXQcN2/Rik4EQ=
github.com/alibabacloud-go/nlb-20220430/v4 v4.1.3 h1:qazGhDdIjp3uSsbqi+9zi+gIVCKZ2yVHZ4bx31qO3Ac=
github.com/alibabacloud-go/nlb-20220430/v4 v4.1.3/go.mod h1:r45fk2G+UeWu+AMfO9oDKKn5j31259AZdMy+sNMm/Fo=
github.com/alibabacloud-go/openapi-util v0.1.0/go.mod h1:sQuElr4ywwFRlCCberQwKRFhRzIyG4QTP/P4y1CJ6Ws=
@@ -173,10 +173,10 @@ github.com/alibabacloud-go/tea-utils/v2 v2.0.7/go.mod h1:qxn986l+q33J5VkialKMqT/
github.com/alibabacloud-go/tea-utils/v2 v2.0.9 h1:y6pUIlhjxbZl9ObDAcmA1H3c21eaAxADHTDQmBnAIgA=
github.com/alibabacloud-go/tea-utils/v2 v2.0.9/go.mod h1:qxn986l+q33J5VkialKMqT/TTs3E+U9MJpd001iWQ9I=
github.com/alibabacloud-go/tea-xml v1.1.3/go.mod h1:Rq08vgCcCAjHyRi/M7xlHKUykZCEtyBy9+DPF6GgEu8=
github.com/alibabacloud-go/vod-20170321/v4 v4.11.3 h1:xF9GzlR4Qr+H2MRu558rpJUG6syu2PIId0Qbruz/YrM=
github.com/alibabacloud-go/vod-20170321/v4 v4.11.3/go.mod h1:2NX/9lVaKpd1+1GEV5zUAzQFfK9pF8Wkx81ugAnHYiw=
github.com/alibabacloud-go/waf-openapi-20211001/v7 v7.8.2 h1:x4Iv+2RbOqjjHP8Fv9vGTa395AOhU7LAueRGiYBrqtY=
github.com/alibabacloud-go/waf-openapi-20211001/v7 v7.8.2/go.mod h1:VSas+QnLN08tcPzZnQ8W2Jbidn3f+mcEwLnL6IJnY5M=
github.com/alibabacloud-go/vod-20170321/v4 v4.12.1 h1:wa8APchOG3/nvjB/Ynlz449cDTU7Pf/Ivy2nR1nPrrw=
github.com/alibabacloud-go/vod-20170321/v4 v4.12.1/go.mod h1:7kB8E6ZQpEqONtJ9YMWGw0i3HZ4dVpaP2LI+CZLsohk=
github.com/alibabacloud-go/waf-openapi-20211001/v7 v7.8.5 h1:eFNoINU+oRijTlsX0vG5hSroNQm6P5AKfthXBOkFhxQ=
github.com/alibabacloud-go/waf-openapi-20211001/v7 v7.8.5/go.mod h1:CfqH9fpJaQ2IbtqZskyw3VeImijUv6EIYUJwQWVSxow=
github.com/aliyun/credentials-go v1.1.2/go.mod h1:ozcZaMR5kLM7pwtCMEpVmQ242suV6qTJya2bDq4X1Tw=
github.com/aliyun/credentials-go v1.3.1/go.mod h1:8jKYhQuDawt8x2+fusqa1Y6mPxemTsBEN04dgcAcYz0=
github.com/aliyun/credentials-go v1.3.6/go.mod h1:1LxUuX7L5YrZUWzBrRyk0SwSdH4OmPrib8NVePL3fxM=
@@ -196,58 +196,58 @@ github.com/avast/retry-go v3.0.0+incompatible h1:4SOWQ7Qs+oroOTQOYnAHqelpCO0biHS
github.com/avast/retry-go v3.0.0+incompatible/go.mod h1:XtSnn+n/sHqQIpZ10K1qAevBhOOCWBLXXy3hyiqqBrY=
github.com/aws/aws-sdk-go v1.40.45/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q=
github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4=
github.com/aws/aws-sdk-go-v2 v1.43.1 h1:t6AQIB1uQ7HJA+0CDRWjOYG5MfwnOyyDsN4vRDHcwIY=
github.com/aws/aws-sdk-go-v2 v1.43.1/go.mod h1:WEzLKBh/mEjXvx1FtQMWgSxMSTVqxQzjkRtk5fa3wkg=
github.com/aws/aws-sdk-go-v2/config v1.32.32 h1:CcYdrcIjulT7xbTSqeEInh/PqUWv10LMznfdbNRwHBM=
github.com/aws/aws-sdk-go-v2/config v1.32.32/go.mod h1:Rk+LRPrR2oLWLOqUbhNOKYOJ8chU2aZ/R+Sdi/Bc/+4=
github.com/aws/aws-sdk-go-v2/credentials v1.19.31 h1:olhkNt+ZMx+X40XxeyrflmdBx145TP+3DqaS4s8GsbI=
github.com/aws/aws-sdk-go-v2/credentials v1.19.31/go.mod h1:twHrsQY+gUmkTOsDqYwBBrdP41FvzO86qjiRbj7GXcw=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32 h1:zheY8iDNNzOHGS2aBJ5GWjeRbhsGuSg4+s20NZ0AywQ=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32/go.mod h1:bkw+ZoqafHSo/3lQBm+xzWf4kh79hqP9M2kPtmOFZIY=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32 h1:PqiNS1QVFVctiMX30IwaY6pM3cUUfZFe+HPKmlZVY4I=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32/go.mod h1:jqisrvz2jliDnF3dW4wO9ZT1lHz1d6pXjftFyyZyqjY=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32 h1:bWzam6cUCb/BRiZYmmdwPg+FvZy3/QygB9u6z7BIlnM=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32/go.mod h1:VGTWlYbW4qvz9djYt2lj35gSAZS5aZ2xKn85wXziw6A=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33 h1:J4GttOtoayrtx24b8NODgSvJTAQ2qj/E5YPEeaYrYh0=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33/go.mod h1:G8G6DL9QyBO/vuHXJ/JG29qy2hBNYrQxDYJmqMStWJ4=
github.com/aws/aws-sdk-go-v2/service/acm v1.43.1 h1:EO+31jYSlUcoUu2F2M4KZLbLf44yNuvXJ0zU3Ek/iZU=
github.com/aws/aws-sdk-go-v2/service/acm v1.43.1/go.mod h1:PjbK7LCbRgsNQedXSUE+OMA0BfTQEkoJfIZYJV7C2Ho=
github.com/aws/aws-sdk-go-v2/service/amplify v1.41.1 h1:qSSRPaM1wIRUcuR6LEpIh6NWmwM6ekUFLTZB6w6u1c4=
github.com/aws/aws-sdk-go-v2/service/amplify v1.41.1/go.mod h1:61RqPh+9jlxbeBiXshmIV0SEByPJv+8RhSZg8hppkJk=
github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.37.1 h1:mx00cYdi9G7noh+9z+YpXJBzAiw88wKEyjw6a9KFv/I=
github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.37.1/go.mod h1:aUzmxzsPEpJN3RTdGVUL6UCfsW/3YvkI+sehfPf/8M8=
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.1 h1:eTvUGuN63lp36nn2pMxtTHRmcQ1t42iKLKt13EAG1ds=
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.67.1/go.mod h1:ECtiFRr6FVEStjzjageMmqbm+7hk/L7xJvAI7ffoFyE=
github.com/aws/aws-sdk-go-v2 v1.47.0 h1:0jsHallhJCeaU0Ko48c/3FK1ctOQ7NpzggxriJOQ8MQ=
github.com/aws/aws-sdk-go-v2 v1.47.0/go.mod h1:bttEH6JqnUL8LepvDVfdrds/fZ5bCIxzpe3abyUrhDU=
github.com/aws/aws-sdk-go-v2/config v1.33.5 h1:UA1dmokBFOLFoOyVBhO6HjM6edy0MIk5AZSkJVcksQw=
github.com/aws/aws-sdk-go-v2/config v1.33.5/go.mod h1:Dop8axzz0xx38GExIYWXdeyc8QQ7Cr+nPsxpD/LYy4U=
github.com/aws/aws-sdk-go-v2/credentials v1.20.5 h1:wklUVvHMc9xTQ3rcp49/ISpiMnhbCicJcA6n6S8m7J8=
github.com/aws/aws-sdk-go-v2/credentials v1.20.5/go.mod h1:fyEdrn6ccLFOkoK84j5bQyGTxp9zPt5l2XMhxf4DVZs=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.0 h1:AM4hHjww+PSFtt6E+UrBrPlZkWsePCLEt9AjkfQX+yM=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.0/go.mod h1:3x/yXezeQjpOvBb4jEMxrS8SXvpdvJ5abv6l5c1gWM8=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.3 h1:Hp/VgjP0BysR3OgLlR057Vz2LcbbVnoWeJ+3qWiS/fY=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.3/go.mod h1:nwGV5qw7F1IZPgxCvA/ph8N2TAuz+BkRG/bXn808qMA=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.3 h1:MUaM4f+kj1ZIBPZfUS8cxP1GKXXZtHJjAthy93AN7SM=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.3/go.mod h1:6YmVmEVRI5ZZzRjCSsb9SryKH0hAlMRdgA7kG9aDvBU=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.3 h1:fuSCw4Z2qfRCztMPO3GXJNSiEp6Wee+WOLwrHHUMy9c=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.3/go.mod h1:6SxcHheD1pPR5+kWm1wGvjlL/YqUsh267sAfEmN4K7A=
github.com/aws/aws-sdk-go-v2/service/acm v1.50.0 h1:rdTVn2eXD8DM7BCzKlPUgYQtzAbjBjBe/H67P1ovmgQ=
github.com/aws/aws-sdk-go-v2/service/acm v1.50.0/go.mod h1:T/Y6CzJBYpYOGoRDxQxdZcxSNbQ8+ZR+Qlx0U7yGOy0=
github.com/aws/aws-sdk-go-v2/service/amplify v1.48.0 h1:/CKfAgyS1IZyVrCUFqxqUmgFVxWeME146iRCVOTvPRM=
github.com/aws/aws-sdk-go-v2/service/amplify v1.48.0/go.mod h1:+WYT0K4SzXsHmAQJUN/SqkmxDsp7Fvj/0dp9azt8CEg=
github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.42.0 h1:nEXWFo6Dn3Ul0mS2uA6rlBmM0yz2bhqD9CCgiUKvENQ=
github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.42.0/go.mod h1:225ayquQQEfDBpkWbIYpN/JMBAA/pG5vyECRkrilvbI=
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.73.0 h1:HPWvupnWpnWakePyUlEPCPgY2HDEmcwB1Pc7Ap5zz/U=
github.com/aws/aws-sdk-go-v2/service/cloudfront v1.73.0/go.mod h1:yau58e5HNLT0ZbIOk5u91J7B9JRfP2SiEqJiySQE8Q0=
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o=
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.1 h1:K0rQepM7EKazanM+1LbQaUJluE5lzu3wVGjYheACkbA=
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.36.1/go.mod h1:yOOL3oZP4ifEST89D8xpRdMO8w0QbBQY95EOszALmsM=
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.2 h1:GsIwf+rpz7t/N/qLyzzG2/AKrWvO1vyyVPs0jlYdSdU=
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.58.2/go.mod h1:UTGp4UFrPNMVXBgV5n/3LgWIrrNVjm44p411ZD/Qces=
github.com/aws/aws-sdk-go-v2/service/iam v1.56.1 h1:SLGzTAo/8J81zHUisaiKY6gF804fPsHZBxAZr0uquHM=
github.com/aws/aws-sdk-go-v2/service/iam v1.56.1/go.mod h1:Cc31Ak8Ps/0Vi4QqN3qIuqSHXi/MGLw/Cl6vzUwuqwk=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14 h1:SA43nfaY7+1jjMNIc2ywu99JLJLButtIdLP6j+bT870=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14/go.mod h1:Du3llKcwbQvHsTXSLzTOGQz0DTDBMEzdg7DAGu7inrY=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32 h1:dWFHhQpbf7Yui4fsy+bJUy54JrmpJHIyAuUkcadqwMo=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32/go.mod h1:oN4Iix8rAbyTx6tFMP9mS8RFLJnDeZSbSsHwXYSs3tE=
github.com/aws/aws-sdk-go-v2/service/lightsail v1.58.1 h1:+C8+uXqTvrkkl79kOy127SV64dpwvvxdJrN5qVGLNaU=
github.com/aws/aws-sdk-go-v2/service/lightsail v1.58.1/go.mod h1:ZXTynXgacpI9MYvlJsijq7rX58FGdeypBgbMuxK/12k=
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.41.0 h1:yPaN/BdbgXzEF4QBJR0MUmRB7026QEYQBjSjL6H2Q3I=
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.41.0/go.mod h1:EQ+Yofw4BAZ1YUZRbCB7EksflOCaO6ttoNnIuIRqyHg=
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.63.0 h1:1DabWJRKuH0NlRFz46Hjre4JiG1rFveqhJCp6opWcrY=
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.63.0/go.mod h1:b4kwulEESlsKCSoAFD0PuUJlFskjwct+7odV4wCBJYE=
github.com/aws/aws-sdk-go-v2/service/iam v1.64.0 h1:CjgiPuyW26WQeQ934DxMNuwkDg6+ziqgPN9lHQ5rwYA=
github.com/aws/aws-sdk-go-v2/service/iam v1.64.0/go.mod h1:TI7OT5XlpXfs4BM4Y5NXcHTiyBwkqv6NpGiM4/usn5A=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19 h1:bAdDl/HkGCcGPoe25ToSHEw23VIxt6CT5fLcg111BKg=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19/go.mod h1:KaUzbLxv4CeSxh6ZCl9B4m7CuFenS8kUEaDs+f/DQr4=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.3 h1:bON1rJf67TSTDCKg816AAIE4xSTtoo9tl0XRkO72R+I=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.3/go.mod h1:c5BBpjJcQXpfeq9iASyVKA3T6vX6B6LEXY4mL/gklDY=
github.com/aws/aws-sdk-go-v2/service/lightsail v1.66.0 h1:F1wNnku1fjr+weKg02bI33W5LKQ5i6ou1Ztl9Dfd634=
github.com/aws/aws-sdk-go-v2/service/lightsail v1.66.0/go.mod h1:YdfznvH1m+Y0OXfoLNvl5QWN74LyKI8ss/gZmqN2QqI=
github.com/aws/aws-sdk-go-v2/service/route53 v1.64.1 h1:qL5ELChQ1o1ZbzHvsl8gzQfAZdbQtrDbUyzJkjkMKcg=
github.com/aws/aws-sdk-go-v2/service/route53 v1.64.1/go.mod h1:0hIRXFez1bZsDFMGkLZvNJbByTSVZ4sFZWpxZ39NPuM=
github.com/aws/aws-sdk-go-v2/service/signin v1.5.1 h1:i7p1pinRrWxJp+sD+u2pCWYdcB9vL1VNIPKWssNOp4o=
github.com/aws/aws-sdk-go-v2/service/signin v1.5.1/go.mod h1:gtQTy/o93W5Sx0IFdAkn7Usa+Qg7ydG2+9GC7MoKqPU=
github.com/aws/aws-sdk-go-v2/service/sso v1.33.1 h1:GBLnqpnDEn/+vnBGlxAJ4+jopfzW7vVT0++jLPgWN9A=
github.com/aws/aws-sdk-go-v2/service/sso v1.33.1/go.mod h1:RK3AEzTbSEbGLQDd3qPA5ZLXm6mfB9shq5sbiuaF7AU=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1 h1:1DWsRED+rRzFQ1rDWpwkipw67tp4kyQByQg9POWYl80=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1/go.mod h1:nadMS3uTrTANeD214BBuPg/SJpJ/UhBiNuqN1Z2Ay4c=
github.com/aws/aws-sdk-go-v2/service/sts v1.45.1 h1:JugCuomdxnZwjp5xvqSuPgeWRecAvkno7EwXmR/ZXWE=
github.com/aws/aws-sdk-go-v2/service/sts v1.45.1/go.mod h1:dtViDu/XqU2gq1eeTFz7Ijb7xCHoso8CaBOqYVshoqc=
github.com/aws/aws-sdk-go-v2/service/signin v1.10.0 h1:ZD5qFpWcaOKdTuhBi431pIDkCgrMkMlMT6jlpSPoIRI=
github.com/aws/aws-sdk-go-v2/service/signin v1.10.0/go.mod h1:8Nuuf+tR346PjJ3MvZPh9pekbLiLQFWJhzMXfwy7alA=
github.com/aws/aws-sdk-go-v2/service/sso v1.38.0 h1:JGeeBcMlhg1xtOXYpeCaTQBZObtXMPQCUqBcmr65NRA=
github.com/aws/aws-sdk-go-v2/service/sso v1.38.0/go.mod h1:XwteswG9EOMRFm73UT0t+MbTwyLxMrEXkU6e+v92Lzo=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.0 h1:obhahQXDEdVEv8y5bTKXR30LVaxYe1kyYM0L7l2Iq+k=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.0/go.mod h1:6twZZ/aXHNy1vXUO8koUbp++MYzMASkOgEBdkbJYmO0=
github.com/aws/aws-sdk-go-v2/service/sts v1.51.0 h1:Zpnqa6XtrNzXZnwbdCqHOXpXhMsa01ql/pcRQ1sb4hk=
github.com/aws/aws-sdk-go-v2/service/sts v1.51.0/go.mod h1:/8JRcdTt//hG0Q4BTmGbuOplT7ABe+5rdtqUHqXvYIM=
github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E=
github.com/aws/smithy-go v1.27.5 h1:d1ro7KpYOYwP6m73YFa+Kc/A130VsAdX68SpsJwARMM=
github.com/aws/smithy-go v1.27.5/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
github.com/aws/smithy-go v1.28.1 h1:R/nXH00c8qcfCzQVELtRw+eLQWtzv+VAIEFJ1/xxXlQ=
github.com/aws/smithy-go v1.28.1/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk=
github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
github.com/baidubce/bce-sdk-go v0.9.272 h1:xllMai0YXpfjNNa2NpscscxMDwtI0NumwSPa9OTBbhs=
github.com/baidubce/bce-sdk-go v0.9.272/go.mod h1:zbYJMQwE4IZuyrJiFO8tO8NbtYiKTFTbwh4eIsqjVdg=
github.com/baidubce/bce-sdk-go v0.9.276 h1:EReI+nRVHGo9ZR7eFwBDlRys1eAqth9hRUGT0gAsmsM=
github.com/baidubce/bce-sdk-go v0.9.276/go.mod h1:zbYJMQwE4IZuyrJiFO8tO8NbtYiKTFTbwh4eIsqjVdg=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o=
github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
@@ -264,11 +264,11 @@ github.com/boombuler/barcode v1.1.0 h1:ChaYjBR63fr4LFyGn8E8nt7dBSt3MiU3zMOZqFvVk
github.com/boombuler/barcode v1.1.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
github.com/bufbuild/protocompile v0.14.1 h1:iA73zAf/fyljNjQKwYzUHD6AD4R8KMasmwa/FBatYVw=
github.com/bufbuild/protocompile v0.14.1/go.mod h1:ppVdAIhbr2H8asPk6k4pY7t9zB1OU5DoEw9xY/FUi1c=
github.com/byteplus-sdk/byteplus-go-sdk-v2 v1.0.73 h1:7DuEWPVPzTBMqYbm4I2XUpEq6gMQt3TyiVTUiWBbzhA=
github.com/byteplus-sdk/byteplus-go-sdk-v2 v1.0.73/go.mod h1:eqR3bDX3XtdPBcB9vERznOyi0MAcAI1GFAdcRspNMBU=
github.com/byteplus-sdk/byteplus-go-sdk-v2 v1.0.78 h1:jOcBcnY5S/jwwww1GYtB/8NVOXTnpe5Bn1+vI7rbsJg=
github.com/byteplus-sdk/byteplus-go-sdk-v2 v1.0.78/go.mod h1:eqR3bDX3XtdPBcB9vERznOyi0MAcAI1GFAdcRspNMBU=
github.com/byteplus-sdk/byteplus-sdk-golang v1.0.16/go.mod h1:7iCaE+dR9EycrJU0GQyMhptbInLbQhsKXiDKDjNi8Vs=
github.com/byteplus-sdk/byteplus-sdk-golang v1.0.71 h1:IxnGKXaH1BWPUIDFiJIfXKVflFgCtox4Ow2giNX8sQ8=
github.com/byteplus-sdk/byteplus-sdk-golang v1.0.71/go.mod h1:CIL/T2dxgbIA79os+wl0Fq0vCbADTZNIddV6PNYB6DY=
github.com/byteplus-sdk/byteplus-sdk-golang v1.0.72 h1:eIsKSKyLtCvx+YIvpxfAyDzcj6lx70YTSAj3/hJjJgU=
github.com/byteplus-sdk/byteplus-sdk-golang v1.0.72/go.mod h1:CIL/T2dxgbIA79os+wl0Fq0vCbADTZNIddV6PNYB6DY=
github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg=
github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
@@ -404,8 +404,8 @@ github.com/goccy/go-yaml v1.9.8/go.mod h1:JubOolP3gh0HpiBc4BLRD4YmjEjHAmIIB2aaXK
github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM=
github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gofrs/flock v0.13.0 h1:95JolYOvGMqeH31+FC7D2+uULf6mG61mEZ/A8dRYMzw=
github.com/gofrs/flock v0.13.0/go.mod h1:jxeyy9R1auM5S6JYDBhDt+E2TCo7DkratH4Pgi8P+Z0=
github.com/gofrs/flock v0.13.1 h1:jjREztyBeSKBZYAC+mgc1laB+xsgy4kYMf3FbKF2UBo=
github.com/gofrs/flock v0.13.1/go.mod h1:sf4BFiHwnvgxa25DlQoDqXQnwRMEOwqxRq37P6MzzmE=
github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
@@ -489,12 +489,12 @@ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/enterprise-certificate-proxy v0.3.19 h1:mMOE7DN2+p76/EdIrmAy9B9bH+yC4563vmnJ34QR8i4=
github.com/googleapis/enterprise-certificate-proxy v0.3.19/go.mod h1:rSEsBUemEBZEexP2y6jPp16LUmUbjmSbcPMQizR0o4k=
github.com/googleapis/enterprise-certificate-proxy v0.3.20 h1:t/xL64VUoN69MuMRQuJETqYGOw4Z9mSRJK9epIEtwFk=
github.com/googleapis/enterprise-certificate-proxy v0.3.20/go.mod h1:L3D/IQExI6LqEjBdXcZQ1WluSgigQmSwBboFstVPM4w=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gax-go/v2 v2.23.0 h1:Tchl7qkvE7Ip3y+ztvNufYFvkfqTe7NfLTYGIdJRLuE=
github.com/googleapis/gax-go/v2 v2.23.0/go.mod h1:rBQKOVJCdb8IFEzg+FCwlt1LP/xMDGuqUXhUG+XMXEg=
github.com/googleapis/gax-go/v2 v2.24.0 h1:myMaPYyF9MecEmvQqMqomIwn9t/4KCZN9qnwsS76wlg=
github.com/googleapis/gax-go/v2 v2.24.0/go.mod h1:IaTHBDd7NHxSCiu0vEs8pQZu4dGZrWwuSoxCnk16OFM=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
@@ -557,8 +557,8 @@ github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKEN
github.com/hashicorp/yamux v0.1.2 h1:XtB8kyFOyHXYVFnwT5C3+Bdo8gArse7j2AQ0DA0Uey8=
github.com/hashicorp/yamux v0.1.2/go.mod h1:C+zze2n6e/7wshOZep2A70/aQU6QBRWJO/G6FT1wIns=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.208 h1:l2UfLQ6UrdEg4Juw7LJUQMqsPJy8U6mybPHOWaELpwI=
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.208/go.mod h1:M+yna96Fx9o5GbIUnF3OvVvQGjgfVSyeJbV9Yb1z/wI=
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.215 h1:TPSjqhCW+5prLuNwpD2TIyaGZB84Jmw2oVB8n55hCXA=
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.215/go.mod h1:M+yna96Fx9o5GbIUnF3OvVvQGjgfVSyeJbV9Yb1z/wI=
github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
@@ -584,8 +584,8 @@ github.com/jdcloud-api/jdcloud-sdk-go v1.67.0 h1:glakpye2Zxhyrxx1oBPL/znRzZPyFoN
github.com/jdcloud-api/jdcloud-sdk-go v1.67.0/go.mod h1:UrKjuULIWLjHFlG6aSPunArE5QX57LftMmStAZJBEX8=
github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94=
github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8=
github.com/jlaffaye/ftp v0.2.0 h1:lXNvW7cBu7R/68bknOX3MrRIIqZ61zELs1P2RAiA3lg=
github.com/jlaffaye/ftp v0.2.0/go.mod h1:is2Ds5qkhceAPy2xD6RLI6hmp/qysSoymZ+Z2uTnspI=
github.com/jlaffaye/ftp v0.2.4 h1:JqI85DdkfZj8ntaHk8W9U2SC3jNfiPUU70+wtIWmlfE=
github.com/jlaffaye/ftp v0.2.4/go.mod h1:Y1ZnkzxownGIuX7xQ1mQzzkZ21+DbjVIyeKL/V+IIz4=
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
@@ -611,11 +611,11 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/klauspost/compress v1.18.6 h1:2jupLlAwFm95+YDR+NwD2MEfFO9d4z4Prjl1XXDjuao=
github.com/klauspost/compress v1.18.6/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ=
github.com/klauspost/compress v1.19.2 h1:hMRETovs/pu/dVWN7zIT1PGG8t509MwT6bO7XSi26R8=
github.com/klauspost/compress v1.19.2/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ=
github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y=
github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
github.com/klauspost/cpuid/v2 v2.4.0 h1:S6Hrbc7+ywsr0r+RLapfGBHfyefhCTwEh3A0tV913Dw=
github.com/klauspost/cpuid/v2 v2.4.0/go.mod h1:19jmZ9mjzoF//ddRSUsv0zfBTJWh3QJh9FNxZTMrGxU=
github.com/klauspost/crc32 v1.3.0 h1:sSmTt3gUt81RP655XGZPElI0PelVTZ6YwCRnPSupoFM=
github.com/klauspost/crc32 v1.3.0/go.mod h1:D7kQaZhnkX/Y0tstFGf8VUzv2UofNGqCjnC3zdHB0Hw=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
@@ -667,8 +667,8 @@ github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLT
github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
github.com/minio/minio-go/v7 v7.2.1 h1:PfBfwvKB/MmqyN8Vb1G9voWisaM9OrLv+WwOvMwS9Dw=
github.com/minio/minio-go/v7 v7.2.1/go.mod h1:EU9hENAStx/xXduNdrGO5e4X5vk19NtgB+RIPjZO8o0=
github.com/minio/minio-go/v7 v7.3.0 h1:HM4pFCSQq/TK+j0/zmorSh5ddh81iDgRgU0BG0Vz/YU=
github.com/minio/minio-go/v7 v7.3.0/go.mod h1:KUPWdecEO1LWyUz+sTGXAuf2jZHrPh5fCsRH86QbPfk=
github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
@@ -709,10 +709,10 @@ github.com/nrdcg/goacmedns v0.2.0 h1:ADMbThobzEMnr6kg2ohs4KGa3LFqmgiBA22/6jUWJR0
github.com/nrdcg/goacmedns v0.2.0/go.mod h1:T5o6+xvSLrQpugmwHvrSNkzWht0UGAwj2ACBMhh73Cg=
github.com/nrdcg/namesilo v0.5.0 h1:6QNxT/XxE+f5B+7QlfWorthNzOzcGlBLRQxqi6YeBrE=
github.com/nrdcg/namesilo v0.5.0/go.mod h1:4UkwlwQfDt74kSGmhLaDylnBrD94IfflnpoEaj6T2qw=
github.com/nrdcg/oci-go-sdk/certificatesmanagement/v1065 v1065.122.0 h1:s1ezcaLGLHM+C/06Gs+s+yusbTTn88zKo9frlmAPD3A=
github.com/nrdcg/oci-go-sdk/certificatesmanagement/v1065 v1065.122.0/go.mod h1:8WJKMbNOVrmeK6tYqpqfH9obXxMnvel1FnqqfwX9ToY=
github.com/nrdcg/oci-go-sdk/common/v1065 v1065.122.0 h1:3Xd0213eIkJEEy4Cq+aTvVKzKqdv6KeXOh4dtIGzPFc=
github.com/nrdcg/oci-go-sdk/common/v1065 v1065.122.0/go.mod h1:AfU68xUvqP5fC8MKk5S/tVXHO7G8eOliYhzBQ4sYhck=
github.com/nrdcg/oci-go-sdk/certificatesmanagement/v1065 v1065.124.2 h1:I3tV75BdWV676oSyukip8qdIpeFIe1XooqbBVWELPXU=
github.com/nrdcg/oci-go-sdk/certificatesmanagement/v1065 v1065.124.2/go.mod h1:2By0gtcXP5dUO4wZ1x804nQPdd22dzqwMCTaAEuC4Z8=
github.com/nrdcg/oci-go-sdk/common/v1065 v1065.124.2 h1:2BJKgzPazZ1AHcpgfkSErP+Wj0Dn6mOuRESIRsg+T4A=
github.com/nrdcg/oci-go-sdk/common/v1065 v1065.124.2/go.mod h1:7dhGdg+DRbz8TQYSOU5vh2gCJ0HDc6045UXoCe+N5Ns=
github.com/nrdcg/oci-go-sdk/dns/v1065 v1065.120.0 h1:YKyz+tKJfVb0+2wC8yW1hCtjIhpDb7+pDqx1g/DZscg=
github.com/nrdcg/oci-go-sdk/dns/v1065 v1065.120.0/go.mod h1:0JpSuSBgFGczyyBsuh0wPN/387YuBlQOlKGTOKSm9sk=
github.com/nrdcg/porkbun v0.4.0 h1:rWweKlwo1PToQ3H+tEO9gPRW0wzzgmI/Ob3n2Guticw=
@@ -855,59 +855,61 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/stretchr/testify v1.12.1 h1:EuwCh5fleGS7H32xRwO3wRGT7DxrDhLAT6FF8MpWDWE=
github.com/stretchr/testify v1.12.1/go.mod h1:MDEgiDPPsNp5cuIrHPPCyornHKgEVbtFUmoNlxoYthg=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/antiddos v1.3.131 h1:rfaTxEAxIaVWHLIu9IzvBUKTW1PHBU3GWgYwj63pqFc=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/antiddos v1.3.131/go.mod h1:cLvVHLUt/aoJ3TLNQlNDFj2E1XWTcC+7ck7Lt+nA8pA=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.3.116 h1:pnWXFgtIgCIN+1OB5a/8+FX5/Yydg78DYQGooDmL32k=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.3.116/go.mod h1:/DjlZsmhK9WYAV4ByLrEdgzTuQLlOZISvA8a7wnsEh8=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.3.142 h1:3t++yffGVnGbLMg/ixQFYGBASOGXKTUHV+8kqSrywew=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.3.142/go.mod h1:LVx/LuOQlYP0f7k1L8A8c9BlZLH9rOgEtOxUBNyZccc=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.3.173 h1:BNlVsMGgGShnKJdwN5lwmqpq18K9Yekotj56wxV6NR4=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.3.173/go.mod h1:81Xy8cA0qx83Lz+JmEWnh92T4QiyIVeLRxGF77KJsmQ=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.3.176 h1:RhLdcpXkSlN0uv5K9bDFH6wfXKY9fBbnxZxcrYSXk/0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.3.176/go.mod h1:QyCKJ0925wjmQgIK7NUa4mqz1RKdb4GSwoHL32sZ/VI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.24/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.34/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.38/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.101/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.105/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.116/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.131/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.133/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.140/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.142/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.144/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.145 h1:6w1IOvKnM3WMgCNsINFb54VMZv80OzovpAjnM0rJ5Ko=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.145/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ga2 v1.3.144 h1:HaxRJHo07dU44E4lLaefdfGSyS70t0asZjwYpQnADS0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ga2 v1.3.144/go.mod h1:Ajcj7s+lULEUKfqflaDFsJrgNXFEwhtYYrjUq28Sq1M=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.147/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.168/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.171/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.173/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.175/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.176/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.179/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.180 h1:wvKzCt76XjmiOn1E3U/BzuFPsumxin+KRgeYYAVvaFI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.3.180/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ga2 v1.3.180 h1:Gi3pQkK7hlBKiHopFOAUvjo3s1+77iS+lEWLanTekJI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ga2 v1.3.180/go.mod h1:hSpgBnvreF9RKrOUud3OZzVfmWZ1j2JfkF3JrTpTk/c=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.3.34 h1:/QJeztyMC2tYPJceIoObx7LZqqgFcdDM0SQ/Wd0RtEI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.3.34/go.mod h1:LiTqyLKs+CUdXeiTezJrsMcgi1RhVQ2gFuCcDxQBK9U=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.3.140 h1:iRTmyjKmGs3yNh8zkNmdtuPP1qRtAfQ0NKf935Uyf0E=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.3.140/go.mod h1:ig/JeSALJnCtTHo3okfwzJX/L+jHfQ9kT+qR6xopzuY=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.3.175 h1:Lwuo7joimKVAMrdG8ie+hmefsehlmiu8e/gIvomSnMA=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/live v1.3.175/go.mod h1:G/bL9c8VEngw9K1v/PZPye2ZPx1xiacR80JkxZt42YQ=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.3.101 h1:ir6R+aI/MHFXIx6w4IZ7aPWZfrGL+KBuegniZz34JHs=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/scf v1.3.101/go.mod h1:alRtVSnlEQS/ODkOI/qhESYq+lMyz8Z1xLAVtTfnrjI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.3.105 h1:rzbhp0bOfOczVy4UYeIE9Gi1RYg7irE5Ui+Xb2IPQJs=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.3.105/go.mod h1:KScd4O0ZJum7PsWPoJY1wbKnK1zRCAq7RH3PBRmiYJI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.3.145 h1:s9lvP6rpaO0vtr1WNVEU2fL3PU7FUN3bYwedU61u2Nk=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.3.145/go.mod h1:06ewOAzi/1taeGEbq9PC+ZBMpCGKqNegAHdKnVwi6IM=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.3.133 h1:FcS4LyDLK5teHX7MmiggxBo0m7nVHEUJl6tXbVBlimA=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.3.133/go.mod h1:Gnu/SySOoyyljnoSDcL0Eh5QPGqJZcp58i9izDiVdjQ=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.3.142 h1:+4EZVh7z3YiOoneIN4OvD62p9rP6RF9eDmprxtSoueI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.3.142/go.mod h1:evNvy99DEgqqET5FGCV4Ss9DsNSDfDsop5eLVFq/Ifc=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.3.144 h1:yGX3PQ7qOzU8RfduwYGRUGG324qBf1AqoSim+maum3o=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.3.144/go.mod h1:zfQey2gXSAV6+GJITKz+OJLLWve3Xau/ID+4ZxvXHL4=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.3.147 h1:7wFGHghpGVkPotX6PCpwt7Xn4BerFib++kAoafMSyR0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ssl v1.3.147/go.mod h1:XMVT8POd1Rlwegh9N8EPPZP3+93Zo4tML9Asn5SL/lI=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.3.180 h1:2tliWMeyBIglbSTP0NsVrCDRuvidZcmqBBeuuORIjRg=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/teo v1.3.180/go.mod h1:Xbj5IFpMFVz9UTrqYUxaeJ8ALAlz6o6kyBoN/zUDUb8=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.3.168 h1:WgEy6Q/NS51cedgXZLucRdqakx5mfz2GundJvPVNWqM=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.3.168/go.mod h1:cOMQ1bfyFy9l6fpUKhdppJknolmRVPNWoJc50cHqBZw=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.3.179 h1:feHqOQJzdZFOBKSioHHOiA2G4+EOiBUOoTITmQoUv8k=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.3.179/go.mod h1:dpUfgXN2upCsRGPPG3ALTscC/bH9xFrsrP1g0iG4d74=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.3.171 h1:/sESVy+Szcu9hSWNhKW0VcVQrT6ZHjLItMBWtLFAomM=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.3.171/go.mod h1:9KQ6t+7cvUNsRFa09itFE84C1eSR1ZQfwf6u2nGki6M=
github.com/tinylib/msgp v1.6.4 h1:mOwYbyYDLPj35mkA2BjjYejgJk9BuHxDdvRnb6v2ZcQ=
github.com/tinylib/msgp v1.6.4/go.mod h1:RSp0LW9oSxFut3KzESt5Voq4GVWyS+PSulT77roAqEA=
github.com/tjfoc/gmsm v1.3.2/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w=
github.com/tjfoc/gmsm v1.4.1 h1:aMe1GlZb+0bLjn+cKTPEvvn9oUEBlJitaZiiBwsbgho=
github.com/tjfoc/gmsm v1.4.1/go.mod h1:j4INPkHWMrhJb38G+J6W4Tw0AbuN8Thu3PbdVYhVcTE=
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
github.com/ucloud/ucloud-sdk-go v0.22.98 h1:7c/MUy+qtbXornfuOV4Vo5JYuWpxuLwjQdHwwern2xc=
github.com/ucloud/ucloud-sdk-go v0.22.98/go.mod h1:dyLmFHmUfgb4RZKYQP9IArlvQ2pxzFthfhwxRzOEPIw=
github.com/ucloud/ucloud-sdk-go v0.22.124 h1:OsZWstDOMjFb/3mC33Nbnimqy5Iwo9AyKjdsVH1O6RM=
github.com/ucloud/ucloud-sdk-go v0.22.124/go.mod h1:dyLmFHmUfgb4RZKYQP9IArlvQ2pxzFthfhwxRzOEPIw=
github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
github.com/volcengine/volc-sdk-golang v1.0.23/go.mod h1:AfG/PZRUkHJ9inETvbjNifTDgut25Wbkm2QoYBTbvyU=
github.com/volcengine/volc-sdk-golang v1.0.252 h1:Gtyj+E0k5KV2oQhHs47Op4uMQhR+RYGwhpEHkukwk/4=
github.com/volcengine/volc-sdk-golang v1.0.252/go.mod h1:zHJlaqiMbIB+0mcrsZPTwOb3FB7S/0MCfqlnO8R7hlM=
github.com/volcengine/volcengine-go-sdk v1.2.44 h1:b+nw7fymLsnYtWKt0AmRdmok0hvFu/69ONyBD+u7Eh0=
github.com/volcengine/volcengine-go-sdk v1.2.44/go.mod h1:5duonraYH9kPPB5/Ke2y63atELLRymBSgCo9ItIZqEM=
github.com/volcengine/volc-sdk-golang v1.0.256 h1:UDSYn6iXipw8u/NuvN0XLzDiCxAi9zZT182poqZ3qq0=
github.com/volcengine/volc-sdk-golang v1.0.256/go.mod h1:zHJlaqiMbIB+0mcrsZPTwOb3FB7S/0MCfqlnO8R7hlM=
github.com/volcengine/volcengine-go-sdk v1.2.52 h1:L0RxzqCF/d69flYDgEua5BDRxZNglJRc6DUti7zmpr4=
github.com/volcengine/volcengine-go-sdk v1.2.52/go.mod h1:DURKPVQ8Rsi4OQu4/NPjUyjla3MeHPgXT/qV+400fAw=
github.com/vultr/govultr/v3 v3.31.2 h1:2l3/KDvfemG+4azw4LLquJoh9mFOAVEdBXtPPzix3ac=
github.com/vultr/govultr/v3 v3.31.2/go.mod h1:2zyUw9yADQaGwKnwDesmIOlBNLrm7edsCfWHFJpWKf8=
github.com/wneessen/go-mail v0.8.1 h1:tVcncj02/QySVFw3zr/kXOzZcuFQqBNT6K+Rbgm/pcM=
@@ -917,16 +919,16 @@ github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+
github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4=
github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM=
github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc=
github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU=
github.com/yandex-cloud/go-genproto v0.99.0 h1:mRJPHWj186U0Ww1sE8E0U727MvWM2gv1MqUjBbiVgjE=
github.com/yandex-cloud/go-genproto v0.99.0/go.mod h1:0LDD/IZLIUIV4iPH+YcF+jysO3jkSvADFGm4dCAuwQo=
github.com/yandex-cloud/go-sdk/services/certificatemanager v0.0.81 h1:tMdRkO7LakoH2PsUixoGuCt5cdQDUdFo+7sxaItNUjA=
github.com/yandex-cloud/go-sdk/services/certificatemanager v0.0.81/go.mod h1:VKW98WxZFwD04FSgniL5uObKaguR9zBhvwv770Ot2SM=
github.com/xhit/go-str2duration/v2 v2.2.0 h1:SofrD1D+8IuhhkP+OiG1ij4Zq+FiiYSEY/sORBanDG0=
github.com/xhit/go-str2duration/v2 v2.2.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU=
github.com/yandex-cloud/go-genproto v0.121.0 h1:OigYLrjvm/a8V+mQC35rn264BLhw4nV71WZ/4mITH84=
github.com/yandex-cloud/go-genproto v0.121.0/go.mod h1:0LDD/IZLIUIV4iPH+YcF+jysO3jkSvADFGm4dCAuwQo=
github.com/yandex-cloud/go-sdk/services/certificatemanager v0.0.97 h1:nA4nIABECyGMCUBMFvYUIg9PdSY2NxkJKfjwsYZLlBw=
github.com/yandex-cloud/go-sdk/services/certificatemanager v0.0.97/go.mod h1:wOAwyn2OljOwNMsAgdQ0X7Cv0NMsXhrPgcpyQQJ4o+8=
github.com/yandex-cloud/go-sdk/services/dns v0.0.65 h1:7jhZMHsK1GThGzAKC7Mjq8wu/Xbr/TbhRUoNFzot4K4=
github.com/yandex-cloud/go-sdk/services/dns v0.0.65/go.mod h1:Qm5HbUbmFI2Y8eDv8tcwr7OHgNumHuN/RtK3icd3bYU=
github.com/yandex-cloud/go-sdk/v2 v2.144.0 h1:Lhqz1iSlKCMcevhi3DkhOeSt4dhuAdavMT3QErPh7UU=
github.com/yandex-cloud/go-sdk/v2 v2.144.0/go.mod h1:mDEG+F2nV1ERDZ6F9/mKBWNQUGTc5oyM+f1KKvECTg8=
github.com/yandex-cloud/go-sdk/v2 v2.176.0 h1:zTdpyYxE2CHZCmlKG04b+iTiiOhI31WU75eD20Mb6ko=
github.com/yandex-cloud/go-sdk/v2 v2.176.0/go.mod h1:kSrdDJJBhoC2LAHNMVmFRdGhQ0TM+0U5ugZod7JiOIM=
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 h1:ilQV1hzziu+LLM3zUTJ0trRztfwgjqKnBWNtSRkbmwM=
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfSfmXjznFBSZNN13rSJjlIOI1fUNAtF7rmI=
@@ -989,8 +991,9 @@ go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw=
go.yaml.in/yaml/v3 v3.0.5/go.mod h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
@@ -1021,8 +1024,8 @@ golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDf
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw=
golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk=
golang.org/x/crypto v0.55.0 h1:+KWHjbgOaAQ66dh/YlkZKHlz9ZUlq61AFirAR9ntP8M=
golang.org/x/crypto v0.55.0/go.mod h1:uq0V9dE/fzQuJtbnL+2EhWOE63vo164FY8xqEnV9xis=
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1067,8 +1070,8 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ=
golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0=
golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk=
golang.org/x/mod v0.38.0/go.mod h1:V6Xz0pq8TQ3dGqVQ1FVHuelZpAL0uNhSkk9ogYP3c40=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -1124,8 +1127,8 @@ golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE=
golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU=
golang.org/x/net v0.58.0 h1:ynWG7rqYi4ccpTEuPZ2QGWHktVEM9DMCj9yzDE0Q7To=
golang.org/x/net v0.58.0/go.mod h1:YwCddHnFlT7eLQqVprV19OnhLGtc5xOKgE0RyqgfWAU=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -1263,8 +1266,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs=
golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY=
golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8=
golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1326,8 +1329,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q=
golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA=
golang.org/x/tools v0.48.0 h1:3+hClM1aLL5mjMKm5ovokw9epgRXPuu2tILgismM6RE=
golang.org/x/tools v0.48.0/go.mod h1:08xX0orndb/F7jJxGDicx061tyd5pcMto75YMAXr6lk=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1354,8 +1357,8 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
google.golang.org/api v0.291.0 h1:wfPbbY+mr9c7wZLqqzrHJLft/q8iFKREd6IgTBUene0=
google.golang.org/api v0.291.0/go.mod h1:at7kwWbuonglBFEBoeMDAV1bguHqL3qf0BHFsv3coa0=
google.golang.org/api v0.295.0 h1:SSqFeEVjnK5SKo6t7D0E0M7EfX8SP7K0+OJd2Ly5FzU=
google.golang.org/api v0.295.0/go.mod h1:02qB8+Ox1ZFzcaKFMguy1nQLJmSIyvV6Ff4txJEXtl4=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -1394,12 +1397,12 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7 h1:XzmzkmB14QhVhgnawEVsOn6OFsnpyxNPRY9QV01dNB0=
google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7/go.mod h1:L43LFes82YgSonw6iTXTxXUX1OlULt4AQtkik4ULL/I=
google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7 h1:jQ9p21COKWjP3VwuFrNRiiOTMh3mPpN45R7SLrH/HUU=
google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7/go.mod h1:KqHwBx2upmfa1XSi1WuRvC+2VGCLtooKkfmyvRbUmqA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260724162435-b2f20204f0df h1:O3ig1i5WDDzsVzRp+cCdgelT9vXnlnOFdlEeFtL4HCc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260724162435-b2f20204f0df/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/genproto v0.0.0-20260715232425-e75dac1f907d h1:C9v1o0/4quuhOAfmRXA2j+we0PqZIp8traLdeogF3Ms=
google.golang.org/genproto v0.0.0-20260715232425-e75dac1f907d/go.mod h1:Wz2wFJntZFmLGo7pLDXZ3wYk5hyc0Mb+SkHhDDXT+lU=
google.golang.org/genproto/googleapis/api v0.0.0-20260715232425-e75dac1f907d h1:QwnJwPte4XXAkhPu26LTDIahnsMSUV0kK8HkxbC+Pc4=
google.golang.org/genproto/googleapis/api v0.0.0-20260715232425-e75dac1f907d/go.mod h1:WRrQ7/7N19PypuT0fxLOL5Lq0waoiRri4FbtHDEKrGE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260819154853-08b0e4226688 h1:cYNAzI2sUwhmCcoj9TxvihSrqsxt6uIkj3rDRhSDmW4=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260819154853-08b0e4226688/go.mod h1:DjtHYE8FKJLivXcBEjGwndXfIC23G0VpXiXKqG179uA=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
@@ -1417,8 +1420,8 @@ google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE=
google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA=
google.golang.org/grpc v1.83.2 h1:EManeRomTObA0BU7I8vXgg/78uE5MJ9M8B39EX2WscU=
google.golang.org/grpc v1.83.2/go.mod h1:YPI1hK3kDked6iHvgX3tR0y+nX/qpMFKhPgFsokw1S8=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -1435,8 +1438,8 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
google.golang.org/protobuf v1.36.12 h1:pJOKDDOyeXErUroCihFAd5LQuwXBSpVnKGrj5o/fwxc=
google.golang.org/protobuf v1.36.12/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+1 -1
View File
@@ -2,6 +2,6 @@ package app
const (
AppName = "Certimate"
AppVersion = "0.4.32"
AppVersion = "0.4.33"
AppUserAgent = AppName + "/" + AppVersion
)
+1
View File
@@ -41,6 +41,7 @@ func init() {
},
JumpServers: jumpServers,
UseSCP: xmaps.GetBool(options.ProviderExtendedConfig, "useSCP"),
UseREPL: xmaps.GetBool(options.ProviderExtendedConfig, "useREPL"),
PreCommand: xmaps.GetString(options.ProviderExtendedConfig, "preCommand"),
PostCommand: xmaps.GetString(options.ProviderExtendedConfig, "postCommand"),
FileFormat: xmaps.GetOrDefaultString(options.ProviderExtendedConfig, "fileFormat", dplyimpl.FILE_FORMAT_PEM),
@@ -4,7 +4,8 @@ import (
"fmt"
"time"
"github.com/go-acme/lego/v5/providers/dns/xinnet"
// TODO: 升级并使用 lego,见 https://github.com/certimate-go/certimate/issues/1452#issuecomment-5661982139
"github.com/certimate-go/certimate/pkg/sdk3rd-patched/github.com/go-acme/lego/v5/providers/dns/xinnet"
"github.com/certimate-go/certimate/pkg/core"
)
@@ -34,7 +34,7 @@ type ChallengerConfig struct {
// 跳板机配置数组。
JumpServers []ServerConfig `json:"jumpServers,omitempty"`
// 是否回退使用 SCP。
// 是否使用 SCP 传输文件。
UseSCP bool `json:"useSCP,omitempty"`
// 网站根目录路径。
WebRootPath string `json:"webRootPath"`
@@ -12,7 +12,7 @@ import (
"github.com/alibabacloud-go/tea/tea"
"github.com/samber/lo"
aliapig "github.com/certimate-go/certimate/pkg/sdk3rd-trimmed/github.com/alibabacloud-go/apig-20240327/v10/client"
aliapig "github.com/certimate-go/certimate/pkg/sdk3rd-trimmed/github.com/alibabacloud-go/apig-20240327/v11/client"
alicloudapi "github.com/certimate-go/certimate/pkg/sdk3rd-trimmed/github.com/alibabacloud-go/cloudapi-20160714/v5/client"
"github.com/certimate-go/certimate/pkg/core"
+14 -26
View File
@@ -92,17 +92,7 @@ func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*Dep
// 执行前置命令
if d.config.PreCommand != "" {
command := d.config.PreCommand
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_PATH}", d.config.FilePathForCrt)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_SERVER_PATH}", d.config.FilePathForCrtOnlyServer)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_INTERMEDIA_PATH}", d.config.FilePathForCrtOnlyIntermedia)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_PRIVATEKEY_PATH}", d.config.FilePathForKey)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_PFX_PASSWORD}", d.config.PfxPassword)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_ALIAS}", d.config.JksAlias)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_KEYPASS}", d.config.JksKeypass)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_STOREPASS}", d.config.JksStorepass)
stdout, stderr, err := execCommand(d.config.ShellEnv, command)
stdout, stderr, err := execCommand(d.config.PreCommand, *d.config)
d.logger.Debug("run pre-command", slog.String("stdout", stdout), slog.String("stderr", stderr))
if err != nil {
return nil, fmt.Errorf("failed to execute pre-command (stdout: %s, stderr: %s): %w ", stdout, stderr, err)
@@ -199,17 +189,7 @@ func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*Dep
// 执行后置命令
if d.config.PostCommand != "" {
command := d.config.PostCommand
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_PATH}", d.config.FilePathForCrt)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_SERVER_PATH}", d.config.FilePathForCrtOnlyServer)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_INTERMEDIA_PATH}", d.config.FilePathForCrtOnlyIntermedia)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_PRIVATEKEY_PATH}", d.config.FilePathForKey)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_PFX_PASSWORD}", d.config.PfxPassword)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_ALIAS}", d.config.JksAlias)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_KEYPASS}", d.config.JksKeypass)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_STOREPASS}", d.config.JksStorepass)
stdout, stderr, err := execCommand(d.config.ShellEnv, command)
stdout, stderr, err := execCommand(d.config.PostCommand, *d.config)
d.logger.Debug("run post-command", slog.String("stdout", stdout), slog.String("stderr", stderr))
if err != nil {
return nil, fmt.Errorf("failed to execute post-command (stdout: %s, stderr: %s): %w ", stdout, stderr, err)
@@ -219,10 +199,18 @@ func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*Dep
return &DeployResult{}, nil
}
func execCommand(shellEnv string, command string) (string, string, error) {
var cmd *exec.Cmd
func execCommand(command string, config DeployerConfig) (string, string, error) {
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_PATH}", config.FilePathForCrt)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_SERVER_PATH}", config.FilePathForCrtOnlyServer)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_INTERMEDIA_PATH}", config.FilePathForCrtOnlyIntermedia)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_PRIVATEKEY_PATH}", config.FilePathForKey)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_PFX_PASSWORD}", config.PfxPassword)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_ALIAS}", config.JksAlias)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_KEYPASS}", config.JksKeypass)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_STOREPASS}", config.JksStorepass)
switch shellEnv {
var cmd *exec.Cmd
switch config.ShellEnv {
case "":
if runtime.GOOS == "windows" {
cmd = exec.Command("cmd", "/C", command)
@@ -240,7 +228,7 @@ func execCommand(shellEnv string, command string) (string, string, error) {
cmd = exec.Command("powershell", "-Command", command)
default:
return "", "", fmt.Errorf("unsupported shell env '%s'", shellEnv)
return "", "", fmt.Errorf("unsupported shell env '%s'", config.ShellEnv)
}
stdoutBuf := bytes.NewBuffer(nil)
+22 -23
View File
@@ -44,8 +44,10 @@ type DeployerConfig struct {
// 跳板机配置数组。
JumpServers []ServerConfig `json:"jumpServers,omitempty"`
// 是否回退使用 SCP。
// 是否使用 SCP 传输文件。
UseSCP bool `json:"useSCP,omitempty"`
// 是否使用 REPL 命令行。
UseREPL bool `json:"useREPL,omitempty"`
// 前置命令。
PreCommand string `json:"preCommand,omitempty"`
// 后置命令。
@@ -122,17 +124,7 @@ func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*Dep
// 执行前置命令
if d.config.PreCommand != "" {
command := d.config.PreCommand
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_PATH}", d.config.FilePathForCrt)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_SERVER_PATH}", d.config.FilePathForCrtOnlyServer)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_INTERMEDIA_PATH}", d.config.FilePathForCrtOnlyIntermedia)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_PRIVATEKEY_PATH}", d.config.FilePathForKey)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_PFX_PASSWORD}", d.config.PfxPassword)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_ALIAS}", d.config.JksAlias)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_KEYPASS}", d.config.JksKeypass)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_STOREPASS}", d.config.JksStorepass)
stdout, stderr, err := xssh.RunCommand(sshClient.RawClient(), command)
stdout, stderr, err := execCommand(sshClient, d.config.PreCommand, *d.config)
d.logger.Debug("run pre-command", slog.String("stdout", stdout), slog.String("stderr", stderr))
if err != nil {
return nil, fmt.Errorf("failed to execute pre-command (stdout: %s, stderr: %s): %w ", stdout, stderr, err)
@@ -229,17 +221,7 @@ func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*Dep
// 执行后置命令
if d.config.PostCommand != "" {
command := d.config.PostCommand
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_PATH}", d.config.FilePathForCrt)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_SERVER_PATH}", d.config.FilePathForCrtOnlyServer)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_INTERMEDIA_PATH}", d.config.FilePathForCrtOnlyIntermedia)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_PRIVATEKEY_PATH}", d.config.FilePathForKey)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_PFX_PASSWORD}", d.config.PfxPassword)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_ALIAS}", d.config.JksAlias)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_KEYPASS}", d.config.JksKeypass)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_STOREPASS}", d.config.JksStorepass)
stdout, stderr, err := xssh.RunCommand(sshClient.RawClient(), command)
stdout, stderr, err := execCommand(sshClient, d.config.PostCommand, *d.config)
d.logger.Debug("run post-command", slog.String("stdout", stdout), slog.String("stderr", stderr))
if err != nil {
return nil, fmt.Errorf("failed to execute post-command (stdout: %s, stderr: %s): %w ", stdout, stderr, err)
@@ -249,6 +231,23 @@ func (d *Deployer) Deploy(ctx context.Context, certPEM, privkeyPEM string) (*Dep
return &DeployResult{}, nil
}
func execCommand(sshClient *ssh.Client, command string, config DeployerConfig) (string, string, error) {
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_PATH}", config.FilePathForCrt)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_SERVER_PATH}", config.FilePathForCrtOnlyServer)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_CERTIFICATE_INTERMEDIA_PATH}", config.FilePathForCrtOnlyIntermedia)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_PRIVATEKEY_PATH}", config.FilePathForKey)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_PFX_PASSWORD}", config.PfxPassword)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_ALIAS}", config.JksAlias)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_KEYPASS}", config.JksKeypass)
command = strings.ReplaceAll(command, "${CERTIMATE_DEPLOYER_CMDVAR_JKS_STOREPASS}", config.JksStorepass)
if config.UseREPL {
return xssh.RunCommandWithREPL(sshClient.RawClient(), command)
}
return xssh.RunCommand(sshClient.RawClient(), command)
}
func createSshClient(config DeployerConfig) (*ssh.Client, error) {
clientCfg := ssh.NewDefaultConfig()
clientCfg.Host = config.SshHost
@@ -0,0 +1,156 @@
package internal
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"time"
)
const defaultBaseURL = "https://apiv2.xinnet.com"
type RequestSigner interface {
Sign(req *http.Request) error
}
// Client the Xinnet API client.
type Client struct {
signer RequestSigner
BaseURL *url.URL
HTTPClient *http.Client
}
// NewClient creates a new Client.
func NewClient(signer RequestSigner) (*Client, error) {
if signer == nil {
return nil, errors.New("request signer missing")
}
baseURL, _ := url.Parse(defaultBaseURL)
return &Client{
signer: signer,
BaseURL: baseURL,
HTTPClient: &http.Client{Timeout: 10 * time.Second},
}, nil
}
// CreateRecord creates a record.
// https://apidoc.xin.cn/doc-7283900
func (c *Client) CreateRecord(ctx context.Context, record Record) (int64, error) {
endpoint := c.BaseURL.JoinPath("api", "dns", "create")
req, err := newJSONRequest(ctx, http.MethodPost, endpoint, record)
if err != nil {
return 0, err
}
var result int64
err = c.do(req, &result)
if err != nil {
return 0, err
}
return result, nil
}
// DeleteRecord deletes a record.
// https://apidoc.xin.cn/doc-7283901
func (c *Client) DeleteRecord(ctx context.Context, domain string, recordID int64) error {
endpoint := c.BaseURL.JoinPath("api", "dns", "delete")
payload := map[string]any{
"domainName": domain,
"recordId": recordID,
}
req, err := newJSONRequest(ctx, http.MethodPost, endpoint, payload)
if err != nil {
return err
}
err = c.do(req, nil)
if err != nil {
return err
}
return nil
}
func (c *Client) do(req *http.Request, result any) error {
err := c.signer.Sign(req)
if err != nil {
return err
}
resp, err := c.HTTPClient.Do(req)
if err != nil {
return err
}
defer func() { _ = resp.Body.Close() }()
if resp.StatusCode/100 != 2 {
raw, _ := io.ReadAll(resp.Body)
return fmt.Errorf("unexpected status code: %d, body: %s", resp.StatusCode, raw)
}
raw, err := io.ReadAll(resp.Body)
if err != nil {
return err
}
var response APIResponse
err = json.Unmarshal(raw, &response)
if err != nil {
return err
}
if response.Code != "0" {
return fmt.Errorf("%s: %s (%s)", response.Code, response.Message, response.RequestID)
}
if result == nil {
return nil
}
err = json.Unmarshal(response.Data, &result)
if err != nil {
return err
}
return nil
}
func newJSONRequest(ctx context.Context, method string, endpoint *url.URL, payload any) (*http.Request, error) {
buf := new(bytes.Buffer)
if payload != nil {
err := json.NewEncoder(buf).Encode(payload)
if err != nil {
return nil, fmt.Errorf("failed to create request JSON body: %w", err)
}
}
req, err := http.NewRequestWithContext(ctx, method, endpoint.String(), buf)
if err != nil {
return nil, fmt.Errorf("unable to create request: %w", err)
}
req.Header.Set("Accept", "application/json")
if payload != nil {
req.Header.Set("Content-Type", "application/json")
}
return req, nil
}
@@ -0,0 +1,73 @@
package internal
import (
"bytes"
"crypto/hmac"
"crypto/sha256"
"encoding/hex"
"errors"
"fmt"
"io"
"net/http"
"time"
)
const algorithm = "HMAC-SHA256"
type Signer struct {
secret string
agentID string
clock func() time.Time
}
// NewSigner creates a new Signer instance.
func NewSigner(secret, agentID string) (*Signer, error) {
if secret == "" || agentID == "" {
return nil, errors.New("credentials missing")
}
return &Signer{
secret: secret,
agentID: agentID,
clock: time.Now,
}, nil
}
// Sign signs the request.
// https://apidoc.xin.cn/doc-7283837
// https://apidoc.xin.cn/doc-7283838
func (s *Signer) Sign(req *http.Request) error {
reqBody, err := drainBody(req)
if err != nil {
return err
}
timestamp := s.clock().UTC().Format("20060102T150405Z")
stringToSign := algorithm + "\n" + timestamp + "\n" + req.Method + "\n" + req.URL.Path + "/\n" + string(reqBody)
h := hmac.New(sha256.New, []byte(s.secret))
h.Write([]byte(stringToSign))
signature := hex.EncodeToString(h.Sum(nil))
req.Header.Set("Timestamp", timestamp)
req.Header.Set("Authorization", fmt.Sprintf("%s Access=%s, Signature=%s", algorithm, s.agentID, signature))
return nil
}
func drainBody(req *http.Request) ([]byte, error) {
if req.Body == nil || req.Body == http.NoBody {
return []byte(`{}`), nil
}
all, err := io.ReadAll(req.Body)
if err != nil {
return nil, err
}
req.Body = io.NopCloser(bytes.NewBuffer(all))
return all, nil
}
@@ -0,0 +1,20 @@
package internal
import "encoding/json"
type Record struct {
DomainName string `json:"domainName,omitempty"`
RecordName string `json:"recordName,omitempty"`
Type string `json:"type,omitempty"`
Value string `json:"value,omitempty"`
Line string `json:"line,omitempty"`
TTL int `json:"ttl,omitempty"`
Status int `json:"status,omitempty"`
}
type APIResponse struct {
Code string `json:"code"`
Message string `json:"msg"`
Data json.RawMessage `json:"data"`
RequestID string `json:"requestId"`
}
@@ -0,0 +1,166 @@
// Package xinnet implements a DNS provider for solving the DNS-01 challenge using Xinnet.
package xinnet
import (
"context"
"errors"
"fmt"
"net/http"
"sync"
"time"
"github.com/go-acme/lego/v5/challenge"
"github.com/go-acme/lego/v5/challenge/dns01"
"github.com/go-acme/lego/v5/platform/env"
"github.com/certimate-go/certimate/pkg/sdk3rd-patched/github.com/go-acme/lego/v5/providers/dns/xinnet/internal"
)
// Environment variables names.
const (
envNamespace = "XINNET_"
EnvSecret = envNamespace + "SECRET"
EnvAgentID = envNamespace + "AGENT_ID"
EnvTTL = envNamespace + "TTL"
EnvPropagationTimeout = envNamespace + "PROPAGATION_TIMEOUT"
EnvPollingInterval = envNamespace + "POLLING_INTERVAL"
EnvHTTPTimeout = envNamespace + "HTTP_TIMEOUT"
)
var _ challenge.ProviderTimeout = (*DNSProvider)(nil)
// Config is used to configure the creation of the DNSProvider.
type Config struct {
Secret string
AgentID string
PropagationTimeout time.Duration
PollingInterval time.Duration
TTL int
HTTPClient *http.Client
}
// NewDefaultConfig returns a default configuration for the DNSProvider.
func NewDefaultConfig() *Config {
return &Config{
TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL),
PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout),
PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval),
HTTPClient: &http.Client{
Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second),
},
}
}
// DNSProvider implements the challenge.Provider interface.
type DNSProvider struct {
config *Config
client *internal.Client
recordIDs map[string]int64
recordIDsMu sync.Mutex
}
// NewDNSProvider returns a DNSProvider instance configured for Xinnet.
func NewDNSProvider() (*DNSProvider, error) {
values, err := env.Get(EnvSecret, EnvAgentID)
if err != nil {
return nil, fmt.Errorf("xinnet: %w", err)
}
config := NewDefaultConfig()
config.Secret = values[EnvSecret]
config.AgentID = values[EnvAgentID]
return NewDNSProviderConfig(config)
}
// NewDNSProviderConfig return a DNSProvider instance configured for Xinnet.
func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
if config == nil {
return nil, errors.New("xinnet: the configuration of the DNS provider is nil")
}
signer, err := internal.NewSigner(config.Secret, config.AgentID)
if err != nil {
return nil, fmt.Errorf("xinnet: %w", err)
}
client, err := internal.NewClient(signer)
if err != nil {
return nil, fmt.Errorf("xinnet: %w", err)
}
if config.HTTPClient != nil {
client.HTTPClient = config.HTTPClient
}
return &DNSProvider{
config: config,
client: client,
recordIDs: make(map[string]int64),
}, nil
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
if err != nil {
return fmt.Errorf("xinnet: could not find zone for domain %q: %w", domain, err)
}
record := internal.Record{
DomainName: dns01.UnFqdn(authZone),
RecordName: dns01.UnFqdn(info.EffectiveFQDN),
Type: "TXT",
Value: info.Value,
Line: "默认",
TTL: d.config.TTL,
}
recordID, err := d.client.CreateRecord(ctx, record)
if err != nil {
return fmt.Errorf("xinnet: create record: %w", err)
}
d.recordIDsMu.Lock()
d.recordIDs[token] = recordID
d.recordIDsMu.Unlock()
return nil
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
d.recordIDsMu.Lock()
recordID, ok := d.recordIDs[token]
d.recordIDsMu.Unlock()
if !ok {
return fmt.Errorf("xinnet: unknown record ID for '%s' '%s'", info.EffectiveFQDN, token)
}
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
if err != nil {
return fmt.Errorf("xinnet: could not find zone for domain %q: %w", domain, err)
}
err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), recordID)
if err != nil {
return fmt.Errorf("xinnet: delete record: %w", err)
}
return nil
}
// Timeout returns the timeout and interval to use when checking for DNS propagation.
// Adjusting here to cope with spikes in propagation times.
func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
return d.config.PropagationTimeout, d.config.PollingInterval
}
@@ -1,7 +1,7 @@
package client
import (
"github.com/alibabacloud-go/apig-20240327/v10/client"
"github.com/alibabacloud-go/apig-20240327/v11/client"
)
type GetDomainRequest = client.GetDomainRequest
@@ -74,6 +74,10 @@ func (client *Client) DeleteUserCertificateWithContext(ctx context.Context, requ
query["CertId"] = request.CertId
}
if !dara.IsNil(request.ClientToken) {
query["ClientToken"] = request.ClientToken
}
req := &openapiutil.OpenApiRequest{
Query: openapiutil.Query(query),
}
@@ -375,6 +379,10 @@ func (client *Client) UploadUserCertificateWithContext(ctx context.Context, requ
query["Cert"] = request.Cert
}
if !dara.IsNil(request.ClientToken) {
query["ClientToken"] = request.ClientToken
}
if !dara.IsNil(request.EncryptCert) {
query["EncryptCert"] = request.EncryptCert
}
@@ -102,6 +102,10 @@ func (client *Client) SetLiveDomainCertificateWithContext(ctx context.Context, r
query["DomainName"] = request.DomainName
}
if !dara.IsNil(request.DryRun) {
query["DryRun"] = request.DryRun
}
if !dara.IsNil(request.ForceSet) {
query["ForceSet"] = request.ForceSet
}
+34
View File
@@ -3,6 +3,7 @@ package ssh
import (
"bytes"
"fmt"
"strings"
"golang.org/x/crypto/ssh"
)
@@ -35,3 +36,36 @@ func RunCommand(sshCli *ssh.Client, command string) (string, string, error) {
return stdoutBuf.String(), stderrBuf.String(), nil
}
// 与 [RunCommand] 类似,但以 REPL 模式逐行执行脚本。
//
// 入参:
// - sshCli: SSH 客户端。
// - commands: 待执行的脚本命令。
//
// 出参:
// - stdout:标准输出。
// - stderr:标准错误。
// - err: 错误。
func RunCommandWithREPL(sshCli *ssh.Client, command string) (string, string, error) {
lines := make([]string, 0)
for _, line := range strings.Split(command, "\n") {
line = strings.TrimSpace(line)
if line != "" {
lines = append(lines, line)
}
}
stdouts := make([]string, 0, len(lines))
stderrs := make([]string, 0, len(lines))
for _, line := range lines {
stdout, stderr, err := RunCommand(sshCli, line)
stdouts = append(stdouts, stdout)
stderrs = append(stderrs, stderr)
if err != nil {
return strings.Join(stdouts, "\n"), strings.Join(stderrs, "\n"), err
}
}
return strings.Join(stdouts, "\n"), strings.Join(stderrs, "\n"), nil
}
+770 -673
View File
File diff suppressed because it is too large Load Diff
+29 -30
View File
@@ -32,43 +32,42 @@
"@codemirror/lang-json": "^6.0.2",
"@codemirror/lang-yaml": "^6.1.3",
"@codemirror/language": "^6.12.4",
"@codemirror/legacy-modes": "^6.5.3",
"@flowgram.ai/document": "1.0.12",
"@flowgram.ai/fixed-layout-editor": "1.0.12",
"@flowgram.ai/minimap-plugin": "1.0.12",
"@peculiar/asn1-ecc": "^2.8.0",
"@peculiar/asn1-pkcs8": "^2.8.0",
"@peculiar/asn1-rsa": "^2.8.0",
"@peculiar/asn1-schema": "^2.8.0",
"@peculiar/x509": "^2.0.0",
"@codemirror/legacy-modes": "^6.5.4",
"@flowgram.ai/document": "1.0.15",
"@flowgram.ai/fixed-layout-editor": "1.0.15",
"@flowgram.ai/minimap-plugin": "1.0.15",
"@peculiar/asn1-ecc": "^2.9.4",
"@peculiar/asn1-pkcs8": "^2.9.4",
"@peculiar/asn1-rsa": "^2.9.4",
"@peculiar/asn1-schema": "^2.9.4",
"@peculiar/x509": "^2.1.0",
"@tabler/icons-react": "^3.46.0",
"@uiw/codemirror-extensions-basic-setup": "^4.25.11",
"@uiw/codemirror-theme-vscode": "^4.25.11",
"@uiw/react-codemirror": "^4.25.11",
"ahooks": "^3.9.7",
"antd": "^6.5.3",
"ahooks": "^3.10.0",
"antd": "^6.6.3",
"antd-zod": "^8.0.0",
"clsx": "^2.1.1",
"cron-parser": "^5.7.0",
"dayjs": "^1.11.21",
"cn": "^0.2.6",
"cron-parser": "^5.10.0",
"dayjs": "^1.11.23",
"file-saver": "^2.0.5",
"i18next": "^26.3.6",
"i18next": "^26.4.2",
"i18next-browser-languagedetector": "^8.2.1",
"immer": "^11.1.15",
"nanoid": "^6.0.0",
"pocketbase": "^0.27.1",
"immer": "^11.1.18",
"nanoid": "^6.0.1",
"pocketbase": "^0.28.1",
"radash": "^12.1.1",
"react": "^18.3.1",
"react-copy-to-clipboard": "^5.1.1",
"react-dom": "^18.3.1",
"react-i18next": "^17.0.11",
"react-i18next": "^17.0.13",
"react-router": "^7.18.0",
"react-router-dom": "^7.18.2",
"react-router-dom": "^7.18.3",
"reflect-metadata": "^0.2.2",
"tailwind-merge": "^3.6.0",
"yaml": "^2.9.0",
"zod": "^4.4.3",
"zustand": "^5.0.14"
"yaml": "^2.9.1",
"zod": "^4.6.2",
"zustand": "^5.0.15"
},
"devDependencies": {
"@eslint/js": "^9.39.5",
@@ -78,12 +77,12 @@
"@testing-library/react": "^16.3.2",
"@types/file-saver": "^2.0.7",
"@types/fs-extra": "^11.0.4",
"@types/node": "^24.13.3",
"@types/node": "^24.13.4",
"@types/react": "^18.3.31",
"@types/react-copy-to-clipboard": "^5.0.7",
"@types/react-dom": "^18.3.7",
"@vitejs/plugin-legacy": "^8.2.2",
"@vitejs/plugin-react": "^6.0.5",
"@vitejs/plugin-legacy": "^8.2.3",
"@vitejs/plugin-react": "^6.1.1",
"eslint": "^9.39.5",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-typescript": "^4.4.5",
@@ -91,14 +90,14 @@
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-prettier": "^5.5.6",
"eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-react-refresh": "^0.5.3",
"eslint-plugin-react-refresh": "^0.5.6",
"fs-extra": "^11.4.0",
"jsdom": "^29.1.1",
"prettier": "^3.9.6",
"tailwindcss": "^4.3.3",
"typescript": "^6.0.3",
"typescript-eslint": "^8.65.0",
"vite": "^8.2.0",
"typescript-eslint": "^8.70.0",
"vite": "^8.3.0",
"vitest": "^4.1.10"
}
}
@@ -467,6 +467,16 @@ const BizDeployNodeConfigFieldsProviderSSH = () => {
/>
</Form.Item>
</Form.Item>
<Form.Item
name={[parentNamePath, "useREPL"]}
initialValue={initialValues.useREPL}
label={t("workflow_node.deploy.form.ssh_use_repl.label")}
rules={[formRule]}
tooltip={<span dangerouslySetInnerHTML={{ __html: t("workflow_node.deploy.form.ssh_use_repl.tooltip") }}></span>}
>
<Switch />
</Form.Item>
</>
);
};
@@ -497,6 +507,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n?: ReturnType<typeof getI18n> })
jksStorepass: z.string().nullish(),
preCommand: z.string().max(20480).nullish(),
postCommand: z.string().max(20480).nullish(),
useREPL: z.boolean().nullish(),
})
.superRefine((values, ctx) => {
switch (values.fileFormat) {
@@ -343,7 +343,7 @@
"tooltip": "It's the main directory where the website's files are stored on the server."
},
"ssh_use_scp": {
"label": "Fallback to use SCP",
"label": "Use SCP to transfer file",
"tooltip": "If the remote server does not support SFTP, please check this option to fallback to SCP."
},
"ucloud_udnr_endpoint": {
@@ -2111,9 +2111,13 @@
"ps_binding_rdp": "PowerShell - Binding RDP"
},
"ssh_use_scp": {
"label": "Fallback to use SCP",
"label": "Use SCP to transfer file",
"tooltip": "If the remote server does not support SFTP, please check this option to fallback to SCP."
},
"ssh_use_repl": {
"label": "Use REPL mode to execute commands (Optional)",
"tooltip": "If the remote server has no shell and does not support multi-line commands, please check this option to enable REPL mode for line-by-line command execution."
},
"synologydsm": {
"guide": "Requires Synology DSM v6.0 or higher."
},
@@ -342,7 +342,7 @@
"tooltip": "即服务器上存储网站文件的主文件夹。"
},
"ssh_use_scp": {
"label": "回退使用 SCP",
"label": "使用 SCP 传输文件",
"tooltip": "如果你的远程服务器不支持 SFTP,请勾选此选项回退为 SCP。"
},
"ucloud_udnr_endpoint": {
@@ -2110,9 +2110,13 @@
"ps_binding_rdp": "PowerShell - 导入并绑定到 RDP"
},
"ssh_use_scp": {
"label": "回退使用 SCP",
"label": "使用 SCP 传输文件",
"tooltip": "如果你的远程服务器不支持 SFTP,请勾选此选项回退为 SCP。"
},
"ssh_use_repl": {
"label": "使用 REPL 模式执行命令(可选)",
"tooltip": "如果你的远程服务器未提供 Shell、不支持多行命令,请勾选此选项启用 REPL 模式以逐行执行命令。"
},
"synologydsm": {
"guide": "需要群晖 DSM v6.0 或更高版本。"
},
+2 -5
View File
@@ -1,6 +1,3 @@
import { type ClassValue, clsx } from "clsx";
import { twMerge } from "tailwind-merge";
import { cn } from "cn";
export const mergeCls = (...inputs: ClassValue[]) => {
return twMerge(clsx(inputs));
};
export const mergeCls = cn;
+2 -2
View File
@@ -11,7 +11,7 @@ import preserveFilesPlugin from "./scripts/vite/plugins/preserve-files-plugin";
export default defineConfig(({ command }) => {
let appVersion = undefined;
try {
const content = fs.readFileSync(path.resolve(__dirname, "../internal/app/app.go"), "utf-8");
const content = fs.readFileSync(path.resolve(import.meta.dirname, "../internal/app/app.go"), "utf-8");
const matches = content.match(/AppVersion\s+=\s+"(.+?)"/);
if (matches) {
appVersion = matches[1];
@@ -59,7 +59,7 @@ export default defineConfig(({ command }) => {
],
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
"@": path.resolve(import.meta.dirname, "./src"),
},
},
server: {