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
9293bcfb
Unverified
Commit
9293bcfb
authored
Jun 02, 2021
by
neil
Committed by
GitHub
Jun 02, 2021
Browse files
Merge pull request #3534 from acmesh-official/dev
sync
parents
130e8dbd
d1541186
Changes
6
Hide whitespace changes
Inline
Side-by-side
.github/workflows/LetsEncrypt.yml
View file @
9293bcfb
...
@@ -82,7 +82,7 @@ jobs:
...
@@ -82,7 +82,7 @@ jobs:
TEST_LOCAL
:
1
TEST_LOCAL
:
1
steps
:
steps
:
-
uses
:
actions/checkout@v2
-
uses
:
actions/checkout@v2
-
uses
:
vmactions/cf-tunnel@v0.0.
1
-
uses
:
vmactions/cf-tunnel@v0.0.
2
id
:
tunnel
id
:
tunnel
with
:
with
:
protocol
:
http
protocol
:
http
...
@@ -107,7 +107,7 @@ jobs:
...
@@ -107,7 +107,7 @@ jobs:
TEST_LOCAL
:
1
TEST_LOCAL
:
1
steps
:
steps
:
-
uses
:
actions/checkout@v2
-
uses
:
actions/checkout@v2
-
uses
:
vmactions/cf-tunnel@v0.0.
1
-
uses
:
vmactions/cf-tunnel@v0.0.
2
id
:
tunnel
id
:
tunnel
with
:
with
:
protocol
:
http
protocol
:
http
...
...
acme.sh
View file @
9293bcfb
...
@@ -2538,7 +2538,7 @@ _initAPI() {
...
@@ -2538,7 +2538,7 @@ _initAPI() {
response
=
$(
_get
"
$_api_server
"
)
response
=
$(
_get
"
$_api_server
"
)
if
[
"
$?
"
!=
"0"
]
;
then
if
[
"
$?
"
!=
"0"
]
;
then
_debug2
"response"
"
$response
"
_debug2
"response"
"
$response
"
_err
"Can not init api."
_err
"Can not init api
for:
$_api_server
."
return
1
return
1
fi
fi
response
=
$(
echo
"
$response
"
| _json_decode
)
response
=
$(
echo
"
$response
"
| _json_decode
)
...
@@ -4132,7 +4132,9 @@ issue() {
...
@@ -4132,7 +4132,9 @@ issue() {
_debug
"Using ACME_DIRECTORY:
$ACME_DIRECTORY
"
_debug
"Using ACME_DIRECTORY:
$ACME_DIRECTORY
"
_initAPI
if
!
_initAPI
;
then
return
1
fi
if
[
-f
"
$DOMAIN_CONF
"
]
;
then
if
[
-f
"
$DOMAIN_CONF
"
]
;
then
Le_NextRenewTime
=
$(
_readdomainconf Le_NextRenewTime
)
Le_NextRenewTime
=
$(
_readdomainconf Le_NextRenewTime
)
...
...
deploy/synology_dsm.sh
View file @
9293bcfb
...
@@ -66,6 +66,12 @@ synology_dsm_deploy() {
...
@@ -66,6 +66,12 @@ synology_dsm_deploy() {
_getdeployconf SYNO_Certificate
_getdeployconf SYNO_Certificate
_debug SYNO_Certificate
"
${
SYNO_Certificate
:-}
"
_debug SYNO_Certificate
"
${
SYNO_Certificate
:-}
"
# shellcheck disable=SC1003 # We are not trying to escape a single quote
if
printf
"%s"
"
$SYNO_Certificate
"
|
grep
'\\'
;
then
_err
"Do not use a backslash (
\)
in your certificate description"
return
1
fi
_base_url
=
"
$SYNO_Scheme
://
$SYNO_Hostname
:
$SYNO_Port
"
_base_url
=
"
$SYNO_Scheme
://
$SYNO_Hostname
:
$SYNO_Port
"
_debug _base_url
"
$_base_url
"
_debug _base_url
"
$_base_url
"
...
@@ -110,7 +116,9 @@ synology_dsm_deploy() {
...
@@ -110,7 +116,9 @@ synology_dsm_deploy() {
_info
"Getting certificates in Synology DSM"
_info
"Getting certificates in Synology DSM"
response
=
$(
_post
"api=SYNO.Core.Certificate.CRT&method=list&version=1&_sid=
$sid
"
"
$_base_url
/webapi/entry.cgi"
)
response
=
$(
_post
"api=SYNO.Core.Certificate.CRT&method=list&version=1&_sid=
$sid
"
"
$_base_url
/webapi/entry.cgi"
)
_debug3 response
"
$response
"
_debug3 response
"
$response
"
id
=
$(
echo
"
$response
"
|
sed
-n
"s/.*
\"
desc
\"
:
\"
$SYNO_Certificate
\"
,
\"
id
\"
:
\"\(
[^
\"
]*
\)
.*/
\1
/p"
)
escaped_certificate
=
"
$(
printf
"%s"
"
$SYNO_Certificate
"
|
sed
's/\([].*^$[]\)/\\\1/g;s/"/\\\\"/g'
)
"
_debug escaped_certificate
"
$escaped_certificate
"
id
=
$(
echo
"
$response
"
|
sed
-n
"s/.*
\"
desc
\"
:
\"
$escaped_certificate
\"
,
\"
id
\"
:
\"\(
[^
\"
]*
\)
.*/
\1
/p"
)
_debug2
id
"
$id
"
_debug2
id
"
$id
"
if
[
-z
"
$id
"
]
&&
[
-z
"
${
SYNO_Create
:-}
"
]
;
then
if
[
-z
"
$id
"
]
&&
[
-z
"
${
SYNO_Create
:-}
"
]
;
then
...
@@ -119,7 +127,7 @@ synology_dsm_deploy() {
...
@@ -119,7 +127,7 @@ synology_dsm_deploy() {
fi
fi
# we've verified this certificate description is a thing, so save it
# we've verified this certificate description is a thing, so save it
_savedeployconf SYNO_Certificate
"
$SYNO_Certificate
"
_savedeployconf SYNO_Certificate
"
$SYNO_Certificate
"
"base64"
_info
"Generate form POST request"
_info
"Generate form POST request"
nl
=
"
\0
015
\0
012"
nl
=
"
\0
015
\0
012"
...
@@ -129,7 +137,7 @@ synology_dsm_deploy() {
...
@@ -129,7 +137,7 @@ synology_dsm_deploy() {
content
=
"
$content
${
nl
}
--
$delim
${
nl
}
Content-Disposition: form-data; name=
\"
inter_cert
\"
; filename=
\"
$(
basename
"
$_cca
"
)
\"
${
nl
}
Content-Type: application/octet-stream
${
nl
}${
nl
}
$(
cat
"
$_cca
"
)
\0
012"
content
=
"
$content
${
nl
}
--
$delim
${
nl
}
Content-Disposition: form-data; name=
\"
inter_cert
\"
; filename=
\"
$(
basename
"
$_cca
"
)
\"
${
nl
}
Content-Type: application/octet-stream
${
nl
}${
nl
}
$(
cat
"
$_cca
"
)
\0
012"
content
=
"
$content
${
nl
}
--
$delim
${
nl
}
Content-Disposition: form-data; name=
\"
id
\"
${
nl
}${
nl
}
$id
"
content
=
"
$content
${
nl
}
--
$delim
${
nl
}
Content-Disposition: form-data; name=
\"
id
\"
${
nl
}${
nl
}
$id
"
content
=
"
$content
${
nl
}
--
$delim
${
nl
}
Content-Disposition: form-data; name=
\"
desc
\"
${
nl
}${
nl
}${
SYNO_Certificate
}
"
content
=
"
$content
${
nl
}
--
$delim
${
nl
}
Content-Disposition: form-data; name=
\"
desc
\"
${
nl
}${
nl
}${
SYNO_Certificate
}
"
if
echo
"
$response
"
|
sed
-n
"s/.*
\"
desc
\"
:
\"
$
SYNO_C
ertificate
\"
,
\(
[^{]*
\)
.*/
\1
/p"
|
grep
--
'is_default":true'
>
/dev/null
;
then
if
echo
"
$response
"
|
sed
-n
"s/.*
\"
desc
\"
:
\"
$
escaped_c
ertificate
\"
,
\(
[^{]*
\)
.*/
\1
/p"
|
grep
--
'is_default":true'
>
/dev/null
;
then
_debug2 default
"this is the default certificate"
_debug2 default
"this is the default certificate"
content
=
"
$content
${
nl
}
--
$delim
${
nl
}
Content-Disposition: form-data; name=
\"
as_default
\"
${
nl
}${
nl
}
true"
content
=
"
$content
${
nl
}
--
$delim
${
nl
}
Content-Disposition: form-data; name=
\"
as_default
\"
${
nl
}${
nl
}
true"
else
else
...
...
dnsapi/dns_1984hosting.sh
View file @
9293bcfb
...
@@ -145,7 +145,7 @@ _1984hosting_login() {
...
@@ -145,7 +145,7 @@ _1984hosting_login() {
password
=
$(
printf
'%s'
"
$One984HOSTING_Password
"
| _url_encode
)
password
=
$(
printf
'%s'
"
$One984HOSTING_Password
"
| _url_encode
)
url
=
"https://management.1984hosting.com/accounts/checkuserauth/"
url
=
"https://management.1984hosting.com/accounts/checkuserauth/"
response
=
"
$(
_post
"username=
$username
&password=
$password
&otpkey="
"
$url
"
)
"
response
=
"
$(
_post
"username=
$username
&password=
$password
&otpkey="
$url
)
"
response
=
"
$(
echo
"
$response
"
| _normalizeJson
)
"
response
=
"
$(
echo
"
$response
"
| _normalizeJson
)
"
_debug2 response
"
$response
"
_debug2 response
"
$response
"
...
@@ -177,7 +177,6 @@ _check_cookie() {
...
@@ -177,7 +177,6 @@ _check_cookie() {
fi
fi
_authget
"https://management.1984hosting.com/accounts/loginstatus/"
_authget
"https://management.1984hosting.com/accounts/loginstatus/"
response
=
"
$(
echo
"
$_response
"
| _normalizeJson
)
"
if
_contains
"
$response
"
'"ok": true'
;
then
if
_contains
"
$response
"
'"ok": true'
;
then
_debug
"Cached cookie still valid"
_debug
"Cached cookie still valid"
return
0
return
0
...
@@ -194,7 +193,7 @@ _check_cookie() {
...
@@ -194,7 +193,7 @@ _check_cookie() {
# _domain=domain.com
# _domain=domain.com
_get_root
()
{
_get_root
()
{
domain
=
"
$1
"
domain
=
"
$1
"
i
=
2
i
=
1
p
=
1
p
=
1
while
true
;
do
while
true
;
do
h
=
$(
printf
"%s"
"
$domain
"
|
cut
-d
.
-f
$i
-100
)
h
=
$(
printf
"%s"
"
$domain
"
|
cut
-d
.
-f
$i
-100
)
...
@@ -205,7 +204,7 @@ _get_root() {
...
@@ -205,7 +204,7 @@ _get_root() {
fi
fi
_authget
"https://management.1984hosting.com/domains/soacheck/?zone=
$h
&nameserver=ns0.1984.is."
_authget
"https://management.1984hosting.com/domains/soacheck/?zone=
$h
&nameserver=ns0.1984.is."
if
_contains
"
$_response
"
"serial"
;
then
if
_contains
"
$_response
"
"serial"
&&
!
_contains
"
$_response
"
'null}'
;
then
_sub_domain
=
$(
printf
"%s"
"
$domain
"
|
cut
-d
.
-f
1-
$p
)
_sub_domain
=
$(
printf
"%s"
"
$domain
"
|
cut
-d
.
-f
1-
$p
)
_domain
=
"
$h
"
_domain
=
"
$h
"
return
0
return
0
...
@@ -219,7 +218,8 @@ _get_root() {
...
@@ -219,7 +218,8 @@ _get_root() {
# add extra headers to request
# add extra headers to request
_authget
()
{
_authget
()
{
export
_H1
=
"Cookie:
$One984HOSTING_COOKIE
"
export
_H1
=
"Cookie:
$One984HOSTING_COOKIE
"
_response
=
$(
_get
"
$1
"
)
_response
=
$(
_get
"
$1
"
| _normalizeJson
)
_debug2 _response
"
$_response
"
}
}
# truncate huge HTML response
# truncate huge HTML response
...
...
dnsapi/dns_ionos.sh
View file @
9293bcfb
...
@@ -149,14 +149,15 @@ _ionos_rest() {
...
@@ -149,14 +149,15 @@ _ionos_rest() {
response
=
"
$(
_post
"
$data
"
"
$IONOS_API$route
"
""
"
$method
"
"application/json"
)
"
response
=
"
$(
_post
"
$data
"
"
$IONOS_API$route
"
""
"
$method
"
"application/json"
)
"
else
else
export
_H2
=
"Accept: */*"
export
_H2
=
"Accept: */*"
export
_H3
=
response
=
"
$(
_get
"
$IONOS_API$route
"
)
"
response
=
"
$(
_get
"
$IONOS_API$route
"
)
"
fi
fi
if
[
"
$?
"
!=
"0"
]
;
then
if
[
"
$?
"
!=
"0"
]
;
then
_err
"Error
$route
"
_err
"Error
$route
:
$response
"
return
1
return
1
fi
fi
_debug2
"response"
"
$response
"
return
0
return
0
}
}
dnsapi/dns_porkbun.sh
View file @
9293bcfb
...
@@ -110,8 +110,8 @@ _get_root() {
...
@@ -110,8 +110,8 @@ _get_root() {
if
_porkbun_rest POST
"dns/retrieve/
$h
"
;
then
if
_porkbun_rest POST
"dns/retrieve/
$h
"
;
then
if
_contains
"
$response
"
"
\"
status
\"
:
\"
SUCCESS
\"
"
;
then
if
_contains
"
$response
"
"
\"
status
\"
:
\"
SUCCESS
\"
"
;
then
_sub_domain
=
"
$(
echo
"
$fulldomain
"
|
sed
"s/
\\
.
$_domain
\$
//"
)
"
_domain
=
$h
_domain
=
$h
_sub_domain
=
"
$(
echo
"
$fulldomain
"
|
sed
"s/
\\
.
$_domain
\$
//"
)
"
return
0
return
0
else
else
_debug
"Go to next level of
$_domain
"
_debug
"Go to next level of
$_domain
"
...
...
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