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
54f1be69
Unverified
Commit
54f1be69
authored
Mar 23, 2019
by
neil
Committed by
GitHub
Mar 23, 2019
Browse files
Merge pull request #2190 from Neilpang/dev
sync
parents
13255a37
a4cc9ef2
Changes
2
Show whitespace changes
Inline
Side-by-side
deploy/gcore_cdn.sh
0 → 100644
View file @
54f1be69
#!/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'
|
grep
-E
"
$_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 @
54f1be69
...
...
@@ -178,7 +178,7 @@ dns_dgon_rm() {
## _domain="domain.com"
_get_base_domain
()
{
# args
fulldomain
=
"
$(
echo
"
$1
"
|
tr
'[:upper:]'
'[:lower:]'
)
"
fulldomain
=
"
$(
echo
"
$1
"
|
_lower_case
)
"
_debug fulldomain
"
$fulldomain
"
# 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