Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ruanhaishen
Acme.Sh
Commits
36e697b3
Commit
36e697b3
authored
Mar 31, 2019
by
neilpang
Browse files
Merge branch 'dev' of
https://github.com/Neilpang/acme.sh
into dev
parents
c2d0d4d2
297859c5
Changes
2
Hide whitespace changes
Inline
Side-by-side
deploy/gcore_cdn.sh
0 → 100644
View file @
36e697b3
#!/usr/bin/env sh
# Here is the script to deploy the cert to G-Core CDN service (https://gcorelabs.com/ru/) using the G-Core Labs API (https://docs.gcorelabs.com/cdn/).
# Uses command line curl for send requests and jq for parse responses.
# Returns 0 when success.
#
# Written by temoffey <temofffey@gmail.com>
# Public domain, 2019
#export DEPLOY_GCORE_CDN_USERNAME=myusername
#export DEPLOY_GCORE_CDN_PASSWORD=mypassword
######## Public functions #####################
#domain keyfile certfile cafile fullchain
gcore_cdn_deploy
()
{
_cdomain
=
"
$1
"
_ckey
=
"
$2
"
_ccert
=
"
$3
"
_cca
=
"
$4
"
_cfullchain
=
"
$5
"
_debug _cdomain
"
$_cdomain
"
_debug _ckey
"
$_ckey
"
_debug _ccert
"
$_ccert
"
_debug _cca
"
$_cca
"
_debug _cfullchain
"
$_cfullchain
"
_fullchain
=
$(
tr
'\n\r'
'@#'
<
"
$_cfullchain
"
|
sed
's/@/\\n/g;s/#/\\r/g'
)
_key
=
$(
tr
'\n\r'
'@#'
<
"
$_ckey
"
|
sed
's/@/\\n/g;s/#/\\r/g'
)
_debug _fullchain
"
$_fullchain
"
_debug _key
"
$_key
"
if
[
-z
"
$DEPLOY_GCORE_CDN_USERNAME
"
]
;
then
if
[
-z
"
$Le_Deploy_gcore_cdn_username
"
]
;
then
_err
"Please define the target username: export DEPLOY_GCORE_CDN_USERNAME=username"
return
1
fi
else
Le_Deploy_gcore_cdn_username
=
"
$DEPLOY_GCORE_CDN_USERNAME
"
_savedomainconf Le_Deploy_gcore_cdn_username
"
$Le_Deploy_gcore_cdn_username
"
fi
if
[
-z
"
$DEPLOY_GCORE_CDN_PASSWORD
"
]
;
then
if
[
-z
"
$Le_Deploy_gcore_cdn_password
"
]
;
then
_err
"Please define the target password: export DEPLOY_GCORE_CDN_PASSWORD=password"
return
1
fi
else
Le_Deploy_gcore_cdn_password
=
"
$DEPLOY_GCORE_CDN_PASSWORD
"
_savedomainconf Le_Deploy_gcore_cdn_password
"
$Le_Deploy_gcore_cdn_password
"
fi
_info
"Get authorization token"
_request
=
"{
\"
username
\"
:
\"
$Le_Deploy_gcore_cdn_username
\"
,
\"
password
\"
:
\"
$Le_Deploy_gcore_cdn_password
\"
}"
_debug _request
"
$_request
"
export
_H1
=
"Content-Type:application/json"
_response
=
$(
_post
"
$_request
"
"https://api.gcdn.co/auth/signin"
)
_debug _response
"
$_response
"
_regex
=
".*
\"
token
\"
:
\"\(
[-._0-9A-Za-z]*
\)\"
.*$"
_debug _regex
"
$_regex
"
_token
=
$(
echo
"
$_response
"
|
sed
-n
"s/
$_regex
/
\1
/p"
)
_debug _token
"
$_token
"
if
[
-z
"
$_token
"
]
;
then
_err
"Error G-Core Labs API authorization"
return
1
fi
_info
"Find CDN resource with cname
$_cdomain
"
export
_H2
=
"Authorization:Token
$_token
"
_response
=
$(
_get
"https://api.gcdn.co/resources"
)
_debug _response
"
$_response
"
_regex
=
".*(
\"
id
\"
.*?
\"
cname
\"
:
\"
$_cdomain
\"
.*?})"
_regex
=
"^.*
\"
cname
\"
:
\"
$_cdomain
\"
.*$"
_debug _regex
"
$_regex
"
_resource
=
$(
echo
"
$_response
"
|
sed
's/},{/},\n{/g'
| _egrep_o
"
$_regex
"
)
_debug _resource
"
$_resource
"
_regex
=
".*
\"
id
\"
:
\(
[0-9]*
\)
,.*$"
_debug _regex
"
$_regex
"
_resourceId
=
$(
echo
"
$_resource
"
|
sed
-n
"s/
$_regex
/
\1
/p"
)
_debug _resourceId
"
$_resourceId
"
_regex
=
".*
\"
sslData
\"
:
\(
[0-9]*
\)
}.*$"
_debug _regex
"
$_regex
"
_sslDataOld
=
$(
echo
"
$_resource
"
|
sed
-n
"s/
$_regex
/
\1
/p"
)
_debug _sslDataOld
"
$_sslDataOld
"
_regex
=
".*
\"
originGroup
\"
:
\(
[0-9]*
\)
,.*$"
_debug _regex
"
$_regex
"
_originGroup
=
$(
echo
"
$_resource
"
|
sed
-n
"s/
$_regex
/
\1
/p"
)
_debug _originGroup
"
$_originGroup
"
if
[
-z
"
$_resourceId
"
]
||
[
-z
"
$_originGroup
"
]
;
then
_err
"Not found CDN resource with cname
$_cdomain
"
return
1
fi
_info
"Add new SSL certificate"
_date
=
$(
date
"+%d.%m.%Y %H:%M:%S"
)
_request
=
"{
\"
name
\"
:
\"
$_cdomain
(
$_date
)
\"
,
\"
sslCertificate
\"
:
\"
$_fullchain
\"
,
\"
sslPrivateKey
\"
:
\"
$_key
\"
}"
_debug _request
"
$_request
"
_response
=
$(
_post
"
$_request
"
"https://api.gcdn.co/sslData"
)
_debug _response
"
$_response
"
_regex
=
".*
\"
id
\"
:
\(
[0-9]*
\)
,.*$"
_debug _regex
"
$_regex
"
_sslDataAdd
=
$(
echo
"
$_response
"
|
sed
-n
"s/
$_regex
/
\1
/p"
)
_debug _sslDataAdd
"
$_sslDataAdd
"
if
[
-z
"
$_sslDataAdd
"
]
;
then
_err
"Error new SSL certificate add"
return
1
fi
_info
"Update CDN resource"
_request
=
"{
\"
originGroup
\"
:
$_originGroup
,
\"
sslData
\"
:
$_sslDataAdd
}"
_debug _request
"
$_request
"
_response
=
$(
_post
"
$_request
"
"https://api.gcdn.co/resources/
$_resourceId
"
''
"PUT"
)
_debug _response
"
$_response
"
_regex
=
".*
\"
sslData
\"
:
\(
[0-9]*
\)
}.*$"
_debug _regex
"
$_regex
"
_sslDataNew
=
$(
echo
"
$_response
"
|
sed
-n
"s/
$_regex
/
\1
/p"
)
_debug _sslDataNew
"
$_sslDataNew
"
if
[
"
$_sslDataNew
"
!=
"
$_sslDataAdd
"
]
;
then
_err
"Error CDN resource update"
return
1
fi
if
[
-z
"
$_sslDataOld
"
]
||
[
"
$_sslDataOld
"
=
"null"
]
;
then
_info
"Not found old SSL certificate"
else
_info
"Delete old SSL certificate"
_response
=
$(
_post
''
"https://api.gcdn.co/sslData/
$_sslDataOld
"
''
"DELETE"
)
_debug _response
"
$_response
"
fi
_info
"Certificate successfully deployed"
return
0
}
dnsapi/dns_dgon.sh
View file @
36e697b3
...
@@ -178,7 +178,7 @@ dns_dgon_rm() {
...
@@ -178,7 +178,7 @@ dns_dgon_rm() {
## _domain="domain.com"
## _domain="domain.com"
_get_base_domain
()
{
_get_base_domain
()
{
# args
# args
fulldomain
=
"
$(
echo
"
$1
"
|
tr
'[:upper:]'
'[:lower:]'
)
"
fulldomain
=
"
$(
echo
"
$1
"
|
_lower_case
)
"
_debug fulldomain
"
$fulldomain
"
_debug fulldomain
"
$fulldomain
"
# domain max legal length = 253
# domain max legal length = 253
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment