Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Acme.Sh
Commits
ff8de344
Unverified
Commit
ff8de344
authored
Oct 05, 2022
by
neil
Committed by
GitHub
Oct 05, 2022
Browse files
Merge pull request #4335 from acmesh-official/dev
sync
parents
70ed6b96
f8ca6d98
Changes
3
Hide whitespace changes
Inline
Side-by-side
acme.sh
View file @
ff8de344
...
@@ -1235,7 +1235,7 @@ _createcsr() {
...
@@ -1235,7 +1235,7 @@ _createcsr() {
_debug2 csr
"
$csr
"
_debug2 csr
"
$csr
"
_debug2 csrconf
"
$csrconf
"
_debug2 csrconf
"
$csrconf
"
printf
"[ req_distinguished_name ]
\n
[ req ]
\n
distinguished_name = req_distinguished_name
\n
req_extensions = v3_req
\n
[ v3_req ]
\n\n
"
>
"
$csrconf
"
printf
"[ req_distinguished_name ]
\n
[ req ]
\n
distinguished_name = req_distinguished_name
\n
req_extensions = v3_req
\n
[ v3_req ]
\n
extendedKeyUsage=serverAuth,clientAuth
\n
"
>
"
$csrconf
"
if
[
"
$acmeValidationv1
"
]
;
then
if
[
"
$acmeValidationv1
"
]
;
then
domainlist
=
"
$(
_idn
"
$domainlist
"
)
"
domainlist
=
"
$(
_idn
"
$domainlist
"
)
"
...
@@ -1999,7 +1999,13 @@ _post() {
...
@@ -1999,7 +1999,13 @@ _post() {
if
[
"
$_ret
"
!=
"0"
]
;
then
if
[
"
$_ret
"
!=
"0"
]
;
then
_err
"Please refer to https://www.gnu.org/software/wget/manual/html_node/Exit-Status.html for error code:
$_ret
"
_err
"Please refer to https://www.gnu.org/software/wget/manual/html_node/Exit-Status.html for error code:
$_ret
"
fi
fi
_sed_i
"s/^ *//g"
"
$HTTP_HEADER
"
if
_contains
"
$_WGET
"
" -d "
;
then
# Demultiplex wget debug output
cat
"
$HTTP_HEADER
"
>
&2
_sed_i
'/^[^ ][^ ]/d; /^ *$/d'
"
$HTTP_HEADER
"
fi
# remove leading whitespaces from header to match curl format
_sed_i
's/^ //g'
"
$HTTP_HEADER
"
else
else
_ret
=
"
$?
"
_ret
=
"
$?
"
_err
"Neither curl nor wget is found, can not do
$httpmethod
."
_err
"Neither curl nor wget is found, can not do
$httpmethod
."
...
@@ -2052,9 +2058,21 @@ _get() {
...
@@ -2052,9 +2058,21 @@ _get() {
fi
fi
_debug
"_WGET"
"
$_WGET
"
_debug
"_WGET"
"
$_WGET
"
if
[
"
$onlyheader
"
]
;
then
if
[
"
$onlyheader
"
]
;
then
$_WGET
--user-agent
=
"
$USER_AGENT
"
--header
"
$_H5
"
--header
"
$_H4
"
--header
"
$_H3
"
--header
"
$_H2
"
--header
"
$_H1
"
-S
-O
/dev/null
"
$url
"
2>&1 |
sed
's/^[ ]*//g'
_wget_out
=
"
$(
$_WGET
--user-agent
=
"
$USER_AGENT
"
--header
"
$_H5
"
--header
"
$_H4
"
--header
"
$_H3
"
--header
"
$_H2
"
--header
"
$_H1
"
-S
-O
/dev/null
"
$url
"
2>&1
)
"
if
_contains
"
$_WGET
"
" -d "
;
then
# Demultiplex wget debug output
echo
"
$_wget_out
"
>
&2
echo
"
$_wget_out
"
|
sed
'/^[^ ][^ ]/d; /^ *$/d; s/^ //g'
-
fi
else
else
$_WGET
--user-agent
=
"
$USER_AGENT
"
--header
"
$_H5
"
--header
"
$_H4
"
--header
"
$_H3
"
--header
"
$_H2
"
--header
"
$_H1
"
-O
-
"
$url
"
$_WGET
--user-agent
=
"
$USER_AGENT
"
--header
"
$_H5
"
--header
"
$_H4
"
--header
"
$_H3
"
--header
"
$_H2
"
--header
"
$_H1
"
-S
-O
-
"
$url
"
2>
"
$HTTP_HEADER
"
if
_contains
"
$_WGET
"
" -d "
;
then
# Demultiplex wget debug output
cat
"
$HTTP_HEADER
"
>
&2
_sed_i
'/^[^ ][^ ]/d; /^ *$/d'
"
$HTTP_HEADER
"
fi
# remove leading whitespaces from header to match curl format
_sed_i
's/^ //g'
"
$HTTP_HEADER
"
fi
fi
ret
=
$?
ret
=
$?
if
[
"
$ret
"
=
"8"
]
;
then
if
[
"
$ret
"
=
"8"
]
;
then
...
@@ -6790,37 +6808,37 @@ Commands:
...
@@ -6790,37 +6808,37 @@ Commands:
Parameters:
Parameters:
-d, --domain <domain.tld> Specifies a domain, used to issue, renew or revoke etc.
-d, --domain <domain.tld> Specifies a domain, used to issue, renew or revoke etc.
--challenge-alias <domain.tld> The challenge domain alias for DNS alias mode.
--challenge-alias <domain.tld> The challenge domain alias for DNS alias mode.
See:
$_DNS_ALIAS_WIKI
See:
$_DNS_ALIAS_WIKI
--domain-alias <domain.tld> The domain alias for DNS alias mode.
--domain-alias <domain.tld> The domain alias for DNS alias mode.
See:
$_DNS_ALIAS_WIKI
See:
$_DNS_ALIAS_WIKI
--preferred-chain <chain> If the CA offers multiple certificate chains, prefer the chain with an issuer matching this Subject Common Name.
--preferred-chain <chain> If the CA offers multiple certificate chains, prefer the chain with an issuer matching this Subject Common Name.
If no match, the default offered chain will be used. (default: empty)
If no match, the default offered chain will be used. (default: empty)
See:
$_PREFERRED_CHAIN_WIKI
See:
$_PREFERRED_CHAIN_WIKI
--valid-to <date-time> Request the NotAfter field of the cert.
--valid-to <date-time> Request the NotAfter field of the cert.
See:
$_VALIDITY_WIKI
See:
$_VALIDITY_WIKI
--valid-from <date-time> Request the NotBefore field of the cert.
--valid-from <date-time> Request the NotBefore field of the cert.
See:
$_VALIDITY_WIKI
See:
$_VALIDITY_WIKI
-f, --force Force install, force cert renewal or override sudo restrictions.
-f, --force Force install, force cert renewal or override sudo restrictions.
--staging, --test Use staging server, for testing.
--staging, --test Use staging server, for testing.
--debug [0|1|2|3] Output debug info. Defaults to 1 if argument is omitted.
--debug [0|1|2|3] Output debug info. Defaults to 1 if argument is omitted.
--output-insecure Output all the sensitive messages.
--output-insecure Output all the sensitive messages.
By default all the credentials/sensitive messages are hidden from the output/debug/log for security.
By default all the credentials/sensitive messages are hidden from the output/debug/log for security.
-w, --webroot <directory> Specifies the web root folder for web root mode.
-w, --webroot <directory> Specifies the web root folder for web root mode.
--standalone Use standalone mode.
--standalone Use standalone mode.
--alpn Use standalone alpn mode.
--alpn Use standalone alpn mode.
--stateless Use stateless mode.
--stateless Use stateless mode.
See:
$_STATELESS_WIKI
See:
$_STATELESS_WIKI
--apache Use apache mode.
--apache Use apache mode.
--dns [dns_hook] Use dns manual mode or dns api. Defaults to manual mode when argument is omitted.
--dns [dns_hook] Use dns manual mode or dns api. Defaults to manual mode when argument is omitted.
See:
$_DNS_API_WIKI
See:
$_DNS_API_WIKI
--dnssleep <seconds> The time in seconds to wait for all the txt records to propagate in dns api mode.
--dnssleep <seconds> The time in seconds to wait for all the txt records to propagate in dns api mode.
It's not necessary to use this by default,
$PROJECT_NAME
polls dns status by DOH automatically.
It's not necessary to use this by default,
$PROJECT_NAME
polls dns status by DOH automatically.
-k, --keylength <bits> Specifies the domain key length: 2048, 3072, 4096, 8192 or ec-256, ec-384, ec-521.
-k, --keylength <bits> Specifies the domain key length: 2048, 3072, 4096, 8192 or ec-256, ec-384, ec-521.
-ak, --accountkeylength <bits> Specifies the account key length: 2048, 3072, 4096
-ak, --accountkeylength <bits> Specifies the account key length: 2048, 3072, 4096
--log [file] Specifies the log file. Defaults to
\"
$DEFAULT_LOG_FILE
\"
if argument is omitted.
--log [file] Specifies the log file. Defaults to
\"
$DEFAULT_LOG_FILE
\"
if argument is omitted.
...
@@ -6839,7 +6857,7 @@ Parameters:
...
@@ -6839,7 +6857,7 @@ Parameters:
--reloadcmd <command> Command to execute after issue/renew to reload the server.
--reloadcmd <command> Command to execute after issue/renew to reload the server.
--server <server_uri> ACME Directory Resource URI. (default:
$DEFAULT_CA
)
--server <server_uri> ACME Directory Resource URI. (default:
$DEFAULT_CA
)
See:
$_SERVER_WIKI
See:
$_SERVER_WIKI
--accountconf <file> Specifies a customized account config file.
--accountconf <file> Specifies a customized account config file.
--home <directory> Specifies the home dir for
$PROJECT_NAME
.
--home <directory> Specifies the home dir for
$PROJECT_NAME
.
...
@@ -6858,7 +6876,7 @@ Parameters:
...
@@ -6858,7 +6876,7 @@ Parameters:
--ca-bundle <file> Specifies the path to the CA certificate bundle to verify api server's certificate.
--ca-bundle <file> Specifies the path to the CA certificate bundle to verify api server's certificate.
--ca-path <directory> Specifies directory containing CA certificates in PEM format, used by wget or curl.
--ca-path <directory> Specifies directory containing CA certificates in PEM format, used by wget or curl.
--no-cron Only valid for '--install' command, which means: do not install the default cron job.
--no-cron Only valid for '--install' command, which means: do not install the default cron job.
In this case, the certs will not be renewed automatically.
In this case, the certs will not be renewed automatically.
--no-profile Only valid for '--install' command, which means: do not install aliases to user profile.
--no-profile Only valid for '--install' command, which means: do not install aliases to user profile.
--no-color Do not output color text.
--no-color Do not output color text.
--force-color Force output of color text. Useful for non-interactive use with the aha tool for HTML E-Mails.
--force-color Force output of color text. Useful for non-interactive use with the aha tool for HTML E-Mails.
...
@@ -6876,20 +6894,20 @@ Parameters:
...
@@ -6876,20 +6894,20 @@ Parameters:
--openssl-bin <file> Specifies a custom openssl bin location.
--openssl-bin <file> Specifies a custom openssl bin location.
--use-wget Force to use wget, if you have both curl and wget installed.
--use-wget Force to use wget, if you have both curl and wget installed.
--yes-I-know-dns-manual-mode-enough-go-ahead-please Force use of dns manual mode.
--yes-I-know-dns-manual-mode-enough-go-ahead-please Force use of dns manual mode.
See:
$_DNS_MANUAL_WIKI
See:
$_DNS_MANUAL_WIKI
-b, --branch <branch> Only valid for '--upgrade' command, specifies the branch name to upgrade to.
-b, --branch <branch> Only valid for '--upgrade' command, specifies the branch name to upgrade to.
--notify-level <0|1|2|3> Set the notification level: Default value is
$NOTIFY_LEVEL_DEFAULT
.
--notify-level <0|1|2|3> Set the notification level: Default value is
$NOTIFY_LEVEL_DEFAULT
.
0: disabled, no notification will be sent.
0: disabled, no notification will be sent.
1: send notifications only when there is an error.
1: send notifications only when there is an error.
2: send notifications when a cert is successfully renewed, or there is an error.
2: send notifications when a cert is successfully renewed, or there is an error.
3: send notifications when a cert is skipped, renewed, or error.
3: send notifications when a cert is skipped, renewed, or error.
--notify-mode <0|1> Set notification mode. Default value is
$NOTIFY_MODE_DEFAULT
.
--notify-mode <0|1> Set notification mode. Default value is
$NOTIFY_MODE_DEFAULT
.
0: Bulk mode. Send all the domain's notifications in one message(mail).
0: Bulk mode. Send all the domain's notifications in one message(mail).
1: Cert mode. Send a message for every single cert.
1: Cert mode. Send a message for every single cert.
--notify-hook <hookname> Set the notify hook
--notify-hook <hookname> Set the notify hook
--revoke-reason <0-10> The reason for revocation, can be used in conjunction with the '--revoke' command.
--revoke-reason <0-10> The reason for revocation, can be used in conjunction with the '--revoke' command.
See:
$_REVOKE_WIKI
See:
$_REVOKE_WIKI
--password <password> Add a password to exported pfx file. Use with --to-pkcs12.
--password <password> Add a password to exported pfx file. Use with --to-pkcs12.
...
...
deploy/cpanel_uapi.sh
View file @
ff8de344
...
@@ -173,7 +173,7 @@ cpanel_uapi_deploy() {
...
@@ -173,7 +173,7 @@ cpanel_uapi_deploy() {
######## Private functions #####################
######## Private functions #####################
# Internal utility to process YML from UAPI -
only
looks at main_domain
and sub_
domains
# Internal utility to process YML from UAPI - looks at main_domain
, sub_domains, addon domains and parked
domains
#[response]
#[response]
__cpanel_parse_response
()
{
__cpanel_parse_response
()
{
if
[
$#
-gt
0
]
;
then
resp
=
"
$*
"
;
else
resp
=
"
$(
cat
)
"
;
fi
if
[
$#
-gt
0
]
;
then
resp
=
"
$*
"
;
else
resp
=
"
$(
cat
)
"
;
fi
...
@@ -194,7 +194,7 @@ __cpanel_parse_response() {
...
@@ -194,7 +194,7 @@ __cpanel_parse_response() {
printf("%s%s=%s\n", prefix, $2, $3);
printf("%s%s=%s\n", prefix, $2, $3);
}
}
}'
|
}'
|
sed
-En
-e
's/^result\/data\/(main_domain|sub_domains\/-)=(.*)$/\2/p'
sed
-En
-e
's/^result\/data\/(main_domain|sub_domains\/-
|addon_domains\/-|parked_domains\/-
)=(.*)$/\2/p'
}
}
# Load parameter by prefix+name - fallback to default if not set, and save to config
# Load parameter by prefix+name - fallback to default if not set, and save to config
...
...
dnsapi/dns_cpanel.sh
View file @
ff8de344
...
@@ -139,8 +139,8 @@ _get_root() {
...
@@ -139,8 +139,8 @@ _get_root() {
}
}
_successful_update
()
{
_successful_update
()
{
if
(
echo
"
$_result
"
|
grep
-q
'newserial'
)
;
then return
0
;
fi
if
(
echo
"
$_result
"
|
_egrep_o
'data":\[[^]]*]'
|
grep
-q
'
"
newserial
":null
'
)
;
then return
1
;
fi
return
1
return
0
}
}
_findentry
()
{
_findentry
()
{
...
...
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