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
19c43451
Commit
19c43451
authored
Aug 17, 2020
by
neil
Browse files
fix shfmt
parent
d5d38b33
Changes
28
Hide whitespace changes
Inline
Side-by-side
acme.sh
View file @
19c43451
...
...
@@ -524,27 +524,27 @@ _math() {
_h_char_2_dec
()
{
_ch
=
$1
case
"
${
_ch
}
"
in
a
|
A
)
printf
"10"
;;
b
|
B
)
printf
"11"
;;
c
|
C
)
printf
"12"
;;
d
|
D
)
printf
"13"
;;
e
|
E
)
printf
"14"
;;
f
|
F
)
printf
"15"
;;
*
)
printf
"%s"
"
$_ch
"
;;
a
|
A
)
printf
"10"
;;
b
|
B
)
printf
"11"
;;
c
|
C
)
printf
"12"
;;
d
|
D
)
printf
"13"
;;
e
|
E
)
printf
"14"
;;
f
|
F
)
printf
"15"
;;
*
)
printf
"%s"
"
$_ch
"
;;
esac
}
...
...
@@ -652,211 +652,211 @@ _url_encode() {
for
_hex_code
in
$_hex_str
;
do
#upper case
case
"
${
_hex_code
}
"
in
"41"
)
printf
"%s"
"A"
;;
"42"
)
printf
"%s"
"B"
;;
"43"
)
printf
"%s"
"C"
;;
"44"
)
printf
"%s"
"D"
;;
"45"
)
printf
"%s"
"E"
;;
"46"
)
printf
"%s"
"F"
;;
"47"
)
printf
"%s"
"G"
;;
"48"
)
printf
"%s"
"H"
;;
"49"
)
printf
"%s"
"I"
;;
"4a"
)
printf
"%s"
"J"
;;
"4b"
)
printf
"%s"
"K"
;;
"4c"
)
printf
"%s"
"L"
;;
"4d"
)
printf
"%s"
"M"
;;
"4e"
)
printf
"%s"
"N"
;;
"4f"
)
printf
"%s"
"O"
;;
"50"
)
printf
"%s"
"P"
;;
"51"
)
printf
"%s"
"Q"
;;
"52"
)
printf
"%s"
"R"
;;
"53"
)
printf
"%s"
"S"
;;
"54"
)
printf
"%s"
"T"
;;
"55"
)
printf
"%s"
"U"
;;
"56"
)
printf
"%s"
"V"
;;
"57"
)
printf
"%s"
"W"
;;
"58"
)
printf
"%s"
"X"
;;
"59"
)
printf
"%s"
"Y"
;;
"5a"
)
printf
"%s"
"Z"
;;
"41"
)
printf
"%s"
"A"
;;
"42"
)
printf
"%s"
"B"
;;
"43"
)
printf
"%s"
"C"
;;
"44"
)
printf
"%s"
"D"
;;
"45"
)
printf
"%s"
"E"
;;
"46"
)
printf
"%s"
"F"
;;
"47"
)
printf
"%s"
"G"
;;
"48"
)
printf
"%s"
"H"
;;
"49"
)
printf
"%s"
"I"
;;
"4a"
)
printf
"%s"
"J"
;;
"4b"
)
printf
"%s"
"K"
;;
"4c"
)
printf
"%s"
"L"
;;
"4d"
)
printf
"%s"
"M"
;;
"4e"
)
printf
"%s"
"N"
;;
"4f"
)
printf
"%s"
"O"
;;
"50"
)
printf
"%s"
"P"
;;
"51"
)
printf
"%s"
"Q"
;;
"52"
)
printf
"%s"
"R"
;;
"53"
)
printf
"%s"
"S"
;;
"54"
)
printf
"%s"
"T"
;;
"55"
)
printf
"%s"
"U"
;;
"56"
)
printf
"%s"
"V"
;;
"57"
)
printf
"%s"
"W"
;;
"58"
)
printf
"%s"
"X"
;;
"59"
)
printf
"%s"
"Y"
;;
"5a"
)
printf
"%s"
"Z"
;;
#lower case
"61"
)
printf
"%s"
"a"
;;
"62"
)
printf
"%s"
"b"
;;
"63"
)
printf
"%s"
"c"
;;
"64"
)
printf
"%s"
"d"
;;
"65"
)
printf
"%s"
"e"
;;
"66"
)
printf
"%s"
"f"
;;
"67"
)
printf
"%s"
"g"
;;
"68"
)
printf
"%s"
"h"
;;
"69"
)
printf
"%s"
"i"
;;
"6a"
)
printf
"%s"
"j"
;;
"6b"
)
printf
"%s"
"k"
;;
"6c"
)
printf
"%s"
"l"
;;
"6d"
)
printf
"%s"
"m"
;;
"6e"
)
printf
"%s"
"n"
;;
"6f"
)
printf
"%s"
"o"
;;
"70"
)
printf
"%s"
"p"
;;
"71"
)
printf
"%s"
"q"
;;
"72"
)
printf
"%s"
"r"
;;
"73"
)
printf
"%s"
"s"
;;
"74"
)
printf
"%s"
"t"
;;
"75"
)
printf
"%s"
"u"
;;
"76"
)
printf
"%s"
"v"
;;
"77"
)
printf
"%s"
"w"
;;
"78"
)
printf
"%s"
"x"
;;
"79"
)
printf
"%s"
"y"
;;
"7a"
)
printf
"%s"
"z"
;;
"61"
)
printf
"%s"
"a"
;;
"62"
)
printf
"%s"
"b"
;;
"63"
)
printf
"%s"
"c"
;;
"64"
)
printf
"%s"
"d"
;;
"65"
)
printf
"%s"
"e"
;;
"66"
)
printf
"%s"
"f"
;;
"67"
)
printf
"%s"
"g"
;;
"68"
)
printf
"%s"
"h"
;;
"69"
)
printf
"%s"
"i"
;;
"6a"
)
printf
"%s"
"j"
;;
"6b"
)
printf
"%s"
"k"
;;
"6c"
)
printf
"%s"
"l"
;;
"6d"
)
printf
"%s"
"m"
;;
"6e"
)
printf
"%s"
"n"
;;
"6f"
)
printf
"%s"
"o"
;;
"70"
)
printf
"%s"
"p"
;;
"71"
)
printf
"%s"
"q"
;;
"72"
)
printf
"%s"
"r"
;;
"73"
)
printf
"%s"
"s"
;;
"74"
)
printf
"%s"
"t"
;;
"75"
)
printf
"%s"
"u"
;;
"76"
)
printf
"%s"
"v"
;;
"77"
)
printf
"%s"
"w"
;;
"78"
)
printf
"%s"
"x"
;;
"79"
)
printf
"%s"
"y"
;;
"7a"
)
printf
"%s"
"z"
;;
#numbers
"30"
)
printf
"%s"
"0"
;;
"31"
)
printf
"%s"
"1"
;;
"32"
)
printf
"%s"
"2"
;;
"33"
)
printf
"%s"
"3"
;;
"34"
)
printf
"%s"
"4"
;;
"35"
)
printf
"%s"
"5"
;;
"36"
)
printf
"%s"
"6"
;;
"37"
)
printf
"%s"
"7"
;;
"38"
)
printf
"%s"
"8"
;;
"39"
)
printf
"%s"
"9"
;;
"2d"
)
printf
"%s"
"-"
;;
"5f"
)
printf
"%s"
"_"
;;
"2e"
)
printf
"%s"
"."
;;
"7e"
)
printf
"%s"
"~"
;;
#other hex
*
)
printf
'%%%s'
"
$_hex_code
"
;;
"30"
)
printf
"%s"
"0"
;;
"31"
)
printf
"%s"
"1"
;;
"32"
)
printf
"%s"
"2"
;;
"33"
)
printf
"%s"
"3"
;;
"34"
)
printf
"%s"
"4"
;;
"35"
)
printf
"%s"
"5"
;;
"36"
)
printf
"%s"
"6"
;;
"37"
)
printf
"%s"
"7"
;;
"38"
)
printf
"%s"
"8"
;;
"39"
)
printf
"%s"
"9"
;;
"2d"
)
printf
"%s"
"-"
;;
"5f"
)
printf
"%s"
"_"
;;
"2e"
)
printf
"%s"
"."
;;
"7e"
)
printf
"%s"
"~"
;;
#other hex
*
)
printf
'%%%s'
"
$_hex_code
"
;;
esac
done
}
...
...
@@ -1077,11 +1077,11 @@ _isEccKey() {
return
1
fi
[
"
$_length
"
!=
"1024"
]
\
&&
[
"
$_length
"
!=
"2048"
]
\
&&
[
"
$_length
"
!=
"3072"
]
\
&&
[
"
$_length
"
!=
"4096"
]
\
&&
[
"
$_length
"
!=
"8192"
]
[
"
$_length
"
!=
"1024"
]
&&
[
"
$_length
"
!=
"2048"
]
&&
[
"
$_length
"
!=
"3072"
]
&&
[
"
$_length
"
!=
"4096"
]
&&
[
"
$_length
"
!=
"8192"
]
}
# _createkey 2048|ec-256 file
...
...
@@ -1630,22 +1630,22 @@ _calcjwk() {
crv_oid
=
"
$(
${
ACME_OPENSSL_BIN
:-
openssl
}
ec
-in
"
$keyfile
"
-noout
-text
2>/dev/null |
grep
"^ASN1 OID:"
|
cut
-d
":"
-f
2 |
tr
-d
"
\r\n
"
)
"
_debug3 crv_oid
"
$crv_oid
"
case
"
${
crv_oid
}
"
in
"prime256v1"
)
crv
=
"P-256"
__ECC_KEY_LEN
=
256
;;
"secp384r1"
)
crv
=
"P-384"
__ECC_KEY_LEN
=
384
;;
"secp521r1"
)
crv
=
"P-521"
__ECC_KEY_LEN
=
512
;;
*
)
_err
"ECC oid :
$crv_oid
"
return
1
;;
"prime256v1"
)
crv
=
"P-256"
__ECC_KEY_LEN
=
256
;;
"secp384r1"
)
crv
=
"P-384"
__ECC_KEY_LEN
=
384
;;
"secp521r1"
)
crv
=
"P-521"
__ECC_KEY_LEN
=
512
;;
*
)
_err
"ECC oid :
$crv_oid
"
return
1
;;
esac
_debug3 crv
"
$crv
"
fi
...
...
@@ -6772,501 +6772,501 @@ _process() {
while
[
${#}
-gt
0
]
;
do
case
"
${
1
}
"
in
--help
|
-h
)
showhelp
return
;;
--version
|
-v
)
version
return
;;
--install
)
_CMD
=
"install"
;;
--uninstall
)
_CMD
=
"uninstall"
;;
--upgrade
)
_CMD
=
"upgrade"
;;
--issue
)
_CMD
=
"issue"
;;
--deploy
)
_CMD
=
"deploy"
;;
--signcsr
)
_CMD
=
"signcsr"
;;
--showcsr
)
_CMD
=
"showcsr"
;;
--installcert
|
-i
|
--install-cert
)
_CMD
=
"installcert"
;;
--renew
|
-r
)
_CMD
=
"renew"
;;
--renewAll
|
--renewall
|
--renew-all
)
_CMD
=
"renewAll"
;;
--revoke
)
_CMD
=
"revoke"
;;
--remove
)
_CMD
=
"remove"
;;
--list
)
_CMD
=
"list"
;;
--installcronjob
|
--install-cronjob
)
_CMD
=
"installcronjob"
;;
--uninstallcronjob
|
--uninstall-cronjob
)
_CMD
=
"uninstallcronjob"
;;
--cron
)
_CMD
=
"cron"
;;
--toPkcs
)
_CMD
=
"toPkcs"
;;
--toPkcs8
)
_CMD
=
"toPkcs8"
;;
--createAccountKey
|
--createaccountkey
|
-cak
|
--create-account-key
)
_CMD
=
"createAccountKey"
;;
--createDomainKey
|
--createdomainkey
|
-cdk
|
--create-domain-key
)
_CMD
=
"createDomainKey"
;;
--createCSR
|
--createcsr
|
-ccr
)
_CMD
=
"createCSR"
;;
--deactivate
)
_CMD
=
"deactivate"
;;
--updateaccount
|
--update-account
)
_CMD
=
"updateaccount"
;;
--registeraccount
|
--register-account
)
_CMD
=
"registeraccount"
;;
--deactivate-account
)
_CMD
=
"deactivateaccount"
;;
--set-notify
)
_CMD
=
"setnotify"
;;
--set-default-ca
)
_CMD
=
"setdefaultca"
;;
--domain
|
-d
)
_dvalue
=
"
$2
"
--help
|
-h
)
showhelp
return
;;
--version
|
-v
)
version
return
;;
--install
)
_CMD
=
"install"
;;
--uninstall
)
_CMD
=
"uninstall"
;;
--upgrade
)
_CMD
=
"upgrade"
;;
--issue
)
_CMD
=
"issue"
;;
--deploy
)
_CMD
=
"deploy"
;;
--signcsr
)
_CMD
=
"signcsr"
;;
--showcsr
)
_CMD
=
"showcsr"
;;
--installcert
|
-i
|
--install-cert
)
_CMD
=
"installcert"
;;
--renew
|
-r
)
_CMD
=
"renew"
;;
--renewAll
|
--renewall
|
--renew-all
)
_CMD
=
"renewAll"
;;
--revoke
)
_CMD
=
"revoke"
;;
--remove
)
_CMD
=
"remove"
;;
--list
)
_CMD
=
"list"
;;
--installcronjob
|
--install-cronjob
)
_CMD
=
"installcronjob"
;;
--uninstallcronjob
|
--uninstall-cronjob
)
_CMD
=
"uninstallcronjob"
;;
--cron
)
_CMD
=
"cron"
;;
--toPkcs
)
_CMD
=
"toPkcs"
;;
--toPkcs8
)
_CMD
=
"toPkcs8"
;;
--createAccountKey
|
--createaccountkey
|
-cak
|
--create-account-key
)
_CMD
=
"createAccountKey"
;;
--createDomainKey
|
--createdomainkey
|
-cdk
|
--create-domain-key
)
_CMD
=
"createDomainKey"
;;
--createCSR
|
--createcsr
|
-ccr
)
_CMD
=
"createCSR"
;;
--deactivate
)
_CMD
=
"deactivate"
;;
--updateaccount
|
--update-account
)
_CMD
=
"updateaccount"
;;
--registeraccount
|
--register-account
)
_CMD
=
"registeraccount"
;;
--deactivate-account
)
_CMD
=
"deactivateaccount"
;;
--set-notify
)
_CMD
=
"setnotify"
;;
--set-default-ca
)
_CMD
=
"setdefaultca"
;;
--domain
|
-d
)
_dvalue
=
"
$2
"
if
[
"
$_dvalue
"
]
;
then
if
_startswith
"
$_dvalue
"
"-"
;
then
_err
"'
$_dvalue
' is not a valid domain for parameter '
$1
'"
return
1
fi
if
_is_idn
"
$_dvalue
"
&&
!
_exists idn
;
then
_err
"It seems that
$_dvalue
is an IDN( Internationalized Domain Names), please install 'idn' command first."
return
1
fi
if
[
"
$_dvalue
"
]
;
then
if
_startswith
"
$_dvalue
"
"-"
;
then
_err
"'
$_dvalue
' is not a valid domain for parameter '
$1
'"
return
1
fi
if
_is_idn
"
$_dvalue
"
&&
!
_exists idn
;
then
_err
"It seems that
$_dvalue
is an IDN( Internationalized Domain Names), please install 'idn' command first."
return
1
fi
if
_startswith
"
$_dvalue
"
"*."
;
then
_debug
"Wildcard domain"
export
ACME_VERSION
=
2
fi
if
[
-z
"
$_domain
"
]
;
then
_domain
=
"
$_dvalue
"
if
_startswith
"
$_dvalue
"
"*."
;
then
_debug
"Wildcard domain"
export
ACME_VERSION
=
2
fi
if
[
-z
"
$_domain
"
]
;
then
_domain
=
"
$_dvalue
"
else
if
[
"
$_altdomains
"
=
"
$NO_VALUE
"
]
;
then
_altdomains
=
"
$_dvalue
"
else
if
[
"
$_altdomains
"
=
"
$NO_VALUE
"
]
;
then
_altdomains
=
"
$_dvalue
"
else
_altdomains
=
"
$_altdomains
,
$_dvalue
"
fi
_altdomains
=
"
$_altdomains
,
$_dvalue
"
fi
fi
fi
shift
;;
shift
;;
--force
|
-f
)
FORCE
=
"1"
;;
--staging
|
--test
)
STAGE
=
"1"
;;
--server
)
_server
=
"
$2
"
_selectServer
"
$_server
"
shift
;;
--debug
)
if
[
-z
"
$2
"
]
||
_startswith
"
$2
"
"-"
;
then
DEBUG
=
"
$DEBUG_LEVEL_DEFAULT
"
else
DEBUG
=
"
$2
"
shift
fi
;;
--output-insecure
)
export
OUTPUT_INSECURE
=
1
;;
--webroot
|
-w
)
wvalue
=
"
$2
"
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
shift
;;
--challenge-alias
)
cvalue
=
"
$2
"
_challenge_alias
=
"
$_challenge_alias$cvalue
,"
shift
;;
--domain-alias
)
cvalue
=
"
$DNS_ALIAS_PREFIX$2
"
_challenge_alias
=
"
$_challenge_alias$cvalue
,"
--force
|
-f
)
FORCE
=
"1"
;;
--staging
|
--test
)
STAGE
=
"1"
;;
--server
)
_server
=
"
$2
"
_selectServer
"
$_server
"
shift
;;
--debug
)
if
[
-z
"
$2
"
]
||
_startswith
"
$2
"
"-"
;
then
DEBUG
=
"
$DEBUG_LEVEL_DEFAULT
"
else
DEBUG
=
"
$2
"
shift
;;
--standalone
)
wvalue
=
"
$NO_VALUE
"
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
;;
--alpn
)
wvalue
=
"
$W_ALPN
"
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
;;
--stateless
)
wvalue
=
"
$MODE_STATELESS
"
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
;;
--local-address
)
lvalue
=
"
$2
"
_local_address
=
"
$_local_address$lvalue
,"
fi
;;
--output-insecure
)
export
OUTPUT_INSECURE
=
1
;;
--webroot
|
-w
)
wvalue
=
"
$2
"
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
shift
;;
--challenge-alias
)
cvalue
=
"
$2
"
_challenge_alias
=
"
$_challenge_alias$cvalue
,"
shift
;;
--domain-alias
)
cvalue
=
"
$DNS_ALIAS_PREFIX$2
"
_challenge_alias
=
"
$_challenge_alias$cvalue
,"
shift
;;
--standalone
)
wvalue
=
"
$NO_VALUE
"
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
;;
--alpn
)
wvalue
=
"
$W_ALPN
"
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
;;
--stateless
)
wvalue
=
"
$MODE_STATELESS
"
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
;;
--local-address
)
lvalue
=
"
$2
"
_local_address
=
"
$_local_address$lvalue
,"
shift
;;
--apache
)
wvalue
=
"apache"
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
;;
--nginx
)
wvalue
=
"
$NGINX
"
if
[
"
$2
"
]
&&
!
_startswith
"
$2
"
"-"
;
then
wvalue
=
"
$NGINX$2
"
shift
;;
--apache
)
wvalue
=
"apache"
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
;;
--nginx
)
wvalue
=
"
$NGINX
"
if
[
"
$2
"
]
&&
!
_startswith
"
$2
"
"-"
;
then
wvalue
=
"
$NGINX$2
"
shift
fi
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
;;
--dns
)
wvalue
=
"
$W_DNS
"
if
[
"
$2
"
]
&&
!
_startswith
"
$2
"
"-"
;
then
wvalue
=
"
$2
"
shift
fi
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
;;
--dnssleep
)
_dnssleep
=
"
$2
"
Le_DNSSleep
=
"
$_dnssleep
"
fi
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
;;
--dns
)
wvalue
=
"
$W_DNS
"
if
[
"
$2
"
]
&&
!
_startswith
"
$2
"
"-"
;
then
wvalue
=
"
$2
"
shift
;;
fi
if
[
-z
"
$_webroot
"
]
;
then
_webroot
=
"
$wvalue
"
else
_webroot
=
"
$_webroot
,
$wvalue
"
fi
;;
--dnssleep
)
_dnssleep
=
"
$2
"
Le_DNSSleep
=
"
$_dnssleep
"
shift
;;
--keylength
|
-k
)
_keylength
=
"
$2
"
shift
;;
--accountkeylength
|
-ak
)
_accountkeylength
=
"
$2
"
shift
;;
--keylength
|
-k
)
_keylength
=
"
$2
"
shift
;;
--accountkeylength
|
-ak
)
_accountkeylength
=
"
$2
"
shift
;;
--cert-file
|
--certpath
)
_cert_file
=
"
$2
"
shift
;;
--key-file
|
--keypath
)
_key_file
=
"
$2
"
shift
;;
--ca-file
|
--capath
)
_ca_file
=
"
$2
"
shift
;;
--fullchain-file
|
--fullchainpath
)
_fullchain_file
=
"
$2
"
shift
;;
--reloadcmd
|
--reloadCmd
)
_reloadcmd
=
"
$2
"
shift
;;
--password
)
_password
=
"
$2
"
shift
;;
--accountconf
)
_accountconf
=
"
$2
"
ACCOUNT_CONF_PATH
=
"
$_accountconf
"
shift
;;
--home
)
LE_WORKING_DIR
=
"
$2
"
shift
;;
--certhome
|
--cert-home
)
_certhome
=
"
$2
"
CERT_HOME
=
"
$_certhome
"
shift
;;
--config-home
)
_confighome
=
"
$2
"
LE_CONFIG_HOME
=
"
$_confighome
"
shift
;;
--useragent
)
_useragent
=
"
$2
"
USER_AGENT
=
"
$_useragent
"
shift
;;
--accountemail
|
-m
)
_accountemail
=
"
$2
"
ACCOUNT_EMAIL
=
"
$_accountemail
"
shift
;;
--accountkey
)
_accountkey
=
"
$2
"
ACCOUNT_KEY_PATH
=
"
$_accountkey
"
shift
;;
--days
)
_days
=
"
$2
"
Le_RenewalDays
=
"
$_days
"
shift
;;
--httpport
)
_httpport
=
"
$2
"
Le_HTTPPort
=
"
$_httpport
"
shift
;;
--tlsport
)
_tlsport
=
"
$2
"
Le_TLSPort
=
"
$_tlsport
"
shift
;;
--listraw
)
_listraw
=
"raw"
;;
--stopRenewOnError
|
--stoprenewonerror
|
-se
)
_stopRenewOnError
=
"1"
;;
--insecure
)
#_insecure="1"
HTTPS_INSECURE
=
"1"
;;
--ca-bundle
)
_ca_bundle
=
"
$(
_readlink
"
$2
"
)
"
CA_BUNDLE
=
"
$_ca_bundle
"
shift
;;
--ca-path
)
_ca_path
=
"
$2
"
CA_PATH
=
"
$_ca_path
"
shift
;;
--nocron
)
_nocron
=
"1"
;;
--noprofile
)
_noprofile
=
"1"
;;
--no-color
)
export
ACME_NO_COLOR
=
1
;;
--force-color
)
export
ACME_FORCE_COLOR
=
1
;;
--ecc
)
_ecc
=
"isEcc"
;;
--csr
)
_csr
=
"
$2
"
shift
;;
--pre-hook
)
_pre_hook
=
"
$2
"
shift
;;
--post-hook
)
_post_hook
=
"
$2
"
shift
;;
--renew-hook
)
_renew_hook
=
"
$2
"
shift
;;
--deploy-hook
)
if
[
-z
"
$2
"
]
||
_startswith
"
$2
"
"-"
;
then
_usage
"Please specify a value for '--deploy-hook'"
return
1
fi
_deploy_hook
=
"
$_deploy_hook$2
,"
shift
;;
--ocsp-must-staple
|
--ocsp
)
Le_OCSP_Staple
=
"1"
;;
--always-force-new-domain-key
)
if
[
-z
"
$2
"
]
||
_startswith
"
$2
"
"-"
;
then
Le_ForceNewDomainKey
=
1
else
Le_ForceNewDomainKey
=
"
$2
"
shift
fi
;;
--yes-I-know-dns-manual-mode-enough-go-ahead-please
)
export
FORCE_DNS_MANUAL
=
1
;;
--log
|
--logfile
)
_log
=
"1"
_logfile
=
"
$2
"
if
_startswith
"
$_logfile
"
'-'
;
then
_logfile
=
""
else
shift
fi
LOG_FILE
=
"
$_logfile
"
if
[
-z
"
$LOG_LEVEL
"
]
;
then
LOG_LEVEL
=
"
$DEFAULT_LOG_LEVEL
"
fi
;;
--log-level
)
_log_level
=
"
$2
"
LOG_LEVEL
=
"
$_log_level
"
shift
;;
--syslog
)
if
!
_startswith
"
$2
"
'-'
;
then
_syslog
=
"
$2
"
shift
fi
if
[
-z
"
$_syslog
"
]
;
then
_syslog
=
"
$SYSLOG_LEVEL_DEFAULT
"
fi
;;
--auto-upgrade
)
_auto_upgrade
=
"
$2
"
if
[
-z
"
$_auto_upgrade
"
]
||
_startswith
"
$_auto_upgrade
"
'-'
;
then
_auto_upgrade
=
"1"
else
shift
fi
AUTO_UPGRADE
=
"
$_auto_upgrade
"
;;
--listen-v4
)
_listen_v4
=
"1"
Le_Listen_V4
=
"
$_listen_v4
"
;;
--listen-v6
)
_listen_v6
=
"1"
Le_Listen_V6
=
"
$_listen_v6
"
;;
--openssl-bin
)
_openssl_bin
=
"
$2
"
ACME_OPENSSL_BIN
=
"
$_openssl_bin
"
shift
;;
--use-wget
)
_use_wget
=
"1"
ACME_USE_WGET
=
"1"
;;
--branch
|
-b
)
export
BRANCH
=
"
$2
"
shift
;;
--notify-hook
)
_nhook
=
"
$2
"
if
_startswith
"
$_nhook
"
"-"
;
then
_err
"'
$_nhook
' is not a hook name for '
$1
'"
return
1
fi
if
[
"
$_notify_hook
"
]
;
then
_notify_hook
=
"
$_notify_hook
,
$_nhook
"
else
_notify_hook
=
"
$_nhook
"
fi
shift
;;
--notify-level
)
_nlevel
=
"
$2
"
if
_startswith
"
$_nlevel
"
"-"
;
then
_err
"'
$_nlevel
' is not a integer for '
$1
'"
return
1
fi
_notify_level
=
"
$_nlevel
"
shift
;;
--notify-mode
)
_nmode
=
"
$2
"
if
_startswith
"
$_nmode
"
"-"
;
then
_err
"'
$_nmode
' is not a integer for '
$1
'"
return
1
fi
_notify_mode
=
"
$_nmode
"
shift
;;
--revoke-reason
)
_revoke_reason
=
"
$2
"
if
_startswith
"
$_revoke_reason
"
"-"
;
then
_err
"'
$_revoke_reason
' is not a integer for '
$1
'"
return
1
fi
--cert-file
|
--certpath
)
_cert_file
=
"
$2
"
shift
;;
--key-file
|
--keypath
)
_key_file
=
"
$2
"
shift
;;
--ca-file
|
--capath
)
_ca_file
=
"
$2
"
shift
;;
--fullchain-file
|
--fullchainpath
)
_fullchain_file
=
"
$2
"
shift
;;
--reloadcmd
|
--reloadCmd
)
_reloadcmd
=
"
$2
"
shift
;;
--password
)
_password
=
"
$2
"
shift
;;
--accountconf
)
_accountconf
=
"
$2
"
ACCOUNT_CONF_PATH
=
"
$_accountconf
"
shift
;;
--home
)
LE_WORKING_DIR
=
"
$2
"
shift
;;
--certhome
|
--cert-home
)
_certhome
=
"
$2
"
CERT_HOME
=
"
$_certhome
"
shift
;;
--config-home
)
_confighome
=
"
$2
"
LE_CONFIG_HOME
=
"
$_confighome
"
shift
;;
--useragent
)
_useragent
=
"
$2
"
USER_AGENT
=
"
$_useragent
"
shift
;;
--accountemail
|
-m
)
_accountemail
=
"
$2
"
ACCOUNT_EMAIL
=
"
$_accountemail
"
shift
;;
--accountkey
)
_accountkey
=
"
$2
"
ACCOUNT_KEY_PATH
=
"
$_accountkey
"
shift
;;
--days
)
_days
=
"
$2
"
Le_RenewalDays
=
"
$_days
"
shift
;;
--httpport
)
_httpport
=
"
$2
"
Le_HTTPPort
=
"
$_httpport
"
shift
;;
--tlsport
)
_tlsport
=
"
$2
"
Le_TLSPort
=
"
$_tlsport
"
shift
;;
--listraw
)
_listraw
=
"raw"
;;
--stopRenewOnError
|
--stoprenewonerror
|
-se
)
_stopRenewOnError
=
"1"
;;
--insecure
)
#_insecure="1"
HTTPS_INSECURE
=
"1"
;;
--ca-bundle
)
_ca_bundle
=
"
$(
_readlink
"
$2
"
)
"
CA_BUNDLE
=
"
$_ca_bundle
"
shift
;;
--ca-path
)
_ca_path
=
"
$2
"
CA_PATH
=
"
$_ca_path
"
shift
;;
--nocron
)
_nocron
=
"1"
;;
--noprofile
)
_noprofile
=
"1"
;;
--no-color
)
export
ACME_NO_COLOR
=
1
;;
--force-color
)
export
ACME_FORCE_COLOR
=
1
;;
--ecc
)
_ecc
=
"isEcc"
;;
--csr
)
_csr
=
"
$2
"
shift
;;
--pre-hook
)
_pre_hook
=
"
$2
"
shift
;;
--post-hook
)
_post_hook
=
"
$2
"
shift
;;
--renew-hook
)
_renew_hook
=
"
$2
"
shift
;;
--deploy-hook
)
if
[
-z
"
$2
"
]
||
_startswith
"
$2
"
"-"
;
then
_usage
"Please specify a value for '--deploy-hook'"
return
1
fi
_deploy_hook
=
"
$_deploy_hook$2
,"
shift
;;
--ocsp-must-staple
|
--ocsp
)
Le_OCSP_Staple
=
"1"
;;
--always-force-new-domain-key
)
if
[
-z
"
$2
"
]
||
_startswith
"
$2
"
"-"
;
then
Le_ForceNewDomainKey
=
1
else
Le_ForceNewDomainKey
=
"
$2
"
shift
;;
--eab-kid
)
_eab_kid
=
"
$2
"
fi
;;
--yes-I-know-dns-manual-mode-enough-go-ahead-please
)
export
FORCE_DNS_MANUAL
=
1
;;
--log
|
--logfile
)
_log
=
"1"
_logfile
=
"
$2
"
if
_startswith
"
$_logfile
"
'-'
;
then
_logfile
=
""
else
shift
;;
--eab-hmac-key
)
_eab_hmac_key
=
"
$2
"
fi
LOG_FILE
=
"
$_logfile
"
if
[
-z
"
$LOG_LEVEL
"
]
;
then
LOG_LEVEL
=
"
$DEFAULT_LOG_LEVEL
"
fi
;;
--log-level
)
_log_level
=
"
$2
"
LOG_LEVEL
=
"
$_log_level
"
shift
;;
--syslog
)
if
!
_startswith
"
$2
"
'-'
;
then
_syslog
=
"
$2
"
shift
;;
--preferred-chain
)
_preferred_chain
=
"
$2
"
fi
if
[
-z
"
$_syslog
"
]
;
then
_syslog
=
"
$SYSLOG_LEVEL_DEFAULT
"
fi
;;
--auto-upgrade
)
_auto_upgrade
=
"
$2
"
if
[
-z
"
$_auto_upgrade
"
]
||
_startswith
"
$_auto_upgrade
"
'-'
;
then
_auto_upgrade
=
"1"
else
shift
;;
*
)
_err
"Unknown parameter :
$1
"
fi
AUTO_UPGRADE
=
"
$_auto_upgrade
"
;;
--listen-v4
)
_listen_v4
=
"1"
Le_Listen_V4
=
"
$_listen_v4
"
;;
--listen-v6
)
_listen_v6
=
"1"
Le_Listen_V6
=
"
$_listen_v6
"
;;
--openssl-bin
)
_openssl_bin
=
"
$2
"
ACME_OPENSSL_BIN
=
"
$_openssl_bin
"
shift
;;
--use-wget
)
_use_wget
=
"1"
ACME_USE_WGET
=
"1"
;;
--branch
|
-b
)
export
BRANCH
=
"
$2
"
shift
;;
--notify-hook
)
_nhook
=
"
$2
"
if
_startswith
"
$_nhook
"
"-"
;
then
_err
"'
$_nhook
' is not a hook name for '
$1
'"
return
1
;;
fi
if
[
"
$_notify_hook
"
]
;
then
_notify_hook
=
"
$_notify_hook
,
$_nhook
"
else
_notify_hook
=
"
$_nhook
"
fi
shift
;;
--notify-level
)
_nlevel
=
"
$2
"
if
_startswith
"
$_nlevel
"
"-"
;
then
_err
"'
$_nlevel
' is not a integer for '
$1
'"
return
1
fi
_notify_level
=
"
$_nlevel
"
shift
;;
--notify-mode
)
_nmode
=
"
$2
"
if
_startswith
"
$_nmode
"
"-"
;
then
_err
"'
$_nmode
' is not a integer for '
$1
'"
return
1
fi
_notify_mode
=
"
$_nmode
"
shift
;;
--revoke-reason
)
_revoke_reason
=
"
$2
"
if
_startswith
"
$_revoke_reason
"
"-"
;
then
_err
"'
$_revoke_reason
' is not a integer for '
$1
'"
return
1
fi
shift
;;
--eab-kid
)
_eab_kid
=
"
$2
"
shift
;;
--eab-hmac-key
)
_eab_hmac_key
=
"
$2
"
shift
;;
--preferred-chain
)
_preferred_chain
=
"
$2
"
shift
;;
*
)
_err
"Unknown parameter :
$1
"
return
1
;;
esac
shift
1
...
...
@@ -7325,82 +7325,82 @@ _process() {
fi
_debug
"Running cmd:
${
_CMD
}
"
case
"
${
_CMD
}
"
in
install
)
install
"
$_nocron
"
"
$_confighome
"
"
$_noprofile
"
;;
uninstall
)
uninstall
"
$_nocron
"
;;
upgrade
)
upgrade
;;
issue
)
issue
"
$_webroot
"
"
$_domain
"
"
$_altdomains
"
"
$_keylength
"
"
$_cert_file
"
"
$_key_file
"
"
$_ca_file
"
"
$_reloadcmd
"
"
$_fullchain_file
"
"
$_pre_hook
"
"
$_post_hook
"
"
$_renew_hook
"
"
$_local_address
"
"
$_challenge_alias
"
"
$_preferred_chain
"
;;
deploy
)
deploy
"
$_domain
"
"
$_deploy_hook
"
"
$_ecc
"
;;
signcsr
)
signcsr
"
$_csr
"
"
$_webroot
"
"
$_cert_file
"
"
$_key_file
"
"
$_ca_file
"
"
$_reloadcmd
"
"
$_fullchain_file
"
"
$_pre_hook
"
"
$_post_hook
"
"
$_renew_hook
"
"
$_local_address
"
"
$_challenge_alias
"
;;
showcsr
)
showcsr
"
$_csr
"
"
$_domain
"
;;
installcert
)
installcert
"
$_domain
"
"
$_cert_file
"
"
$_key_file
"
"
$_ca_file
"
"
$_reloadcmd
"
"
$_fullchain_file
"
"
$_ecc
"
;;
renew
)
renew
"
$_domain
"
"
$_ecc
"
;;
renewAll
)
renewAll
"
$_stopRenewOnError
"
;;
revoke
)
revoke
"
$_domain
"
"
$_ecc
"
"
$_revoke_reason
"
;;
remove
)
remove
"
$_domain
"
"
$_ecc
"
;;
deactivate
)
deactivate
"
$_domain
,
$_altdomains
"
;;
registeraccount
)
registeraccount
"
$_accountkeylength
"
"
$_eab_kid
"
"
$_eab_hmac_key
"
;;
updateaccount
)
updateaccount
;;
deactivateaccount
)
deactivateaccount
;;
list
)
list
"
$_listraw
"
"
$_domain
"
;;
installcronjob
)
installcronjob
"
$_confighome
"
;;
uninstallcronjob
)
uninstallcronjob
;;
cron
)
cron
;;
toPkcs
)
toPkcs
"
$_domain
"
"
$_password
"
"
$_ecc
"
;;
toPkcs8
)
toPkcs8
"
$_domain
"
"
$_ecc
"
;;
createAccountKey
)
createAccountKey
"
$_accountkeylength
"
;;
createDomainKey
)
createDomainKey
"
$_domain
"
"
$_keylength
"
;;
createCSR
)
createCSR
"
$_domain
"
"
$_altdomains
"
"
$_ecc
"
;;
setnotify
)
setnotify
"
$_notify_hook
"
"
$_notify_level
"
"
$_notify_mode
"
;;
setdefaultca
)
setdefaultca
;;
*
)
if
[
"
$_CMD
"
]
;
then
_err
"Invalid command:
$_CMD
"
fi
showhelp
return
1
;;
install
)
install
"
$_nocron
"
"
$_confighome
"
"
$_noprofile
"
;;
uninstall
)
uninstall
"
$_nocron
"
;;
upgrade
)
upgrade
;;
issue
)
issue
"
$_webroot
"
"
$_domain
"
"
$_altdomains
"
"
$_keylength
"
"
$_cert_file
"
"
$_key_file
"
"
$_ca_file
"
"
$_reloadcmd
"
"
$_fullchain_file
"
"
$_pre_hook
"
"
$_post_hook
"
"
$_renew_hook
"
"
$_local_address
"
"
$_challenge_alias
"
"
$_preferred_chain
"
;;
deploy
)
deploy
"
$_domain
"
"
$_deploy_hook
"
"
$_ecc
"
;;
signcsr
)
signcsr
"
$_csr
"
"
$_webroot
"
"
$_cert_file
"
"
$_key_file
"
"
$_ca_file
"
"
$_reloadcmd
"
"
$_fullchain_file
"
"
$_pre_hook
"
"
$_post_hook
"
"
$_renew_hook
"
"
$_local_address
"
"
$_challenge_alias
"
;;
showcsr
)
showcsr
"
$_csr
"
"
$_domain
"
;;
installcert
)
installcert
"
$_domain
"
"
$_cert_file
"
"
$_key_file
"
"
$_ca_file
"
"
$_reloadcmd
"
"
$_fullchain_file
"
"
$_ecc
"
;;
renew
)
renew
"
$_domain
"
"
$_ecc
"
;;
renewAll
)
renewAll
"
$_stopRenewOnError
"
;;
revoke
)
revoke
"
$_domain
"
"
$_ecc
"
"
$_revoke_reason
"
;;
remove
)
remove
"
$_domain
"
"
$_ecc
"
;;
deactivate
)
deactivate
"
$_domain
,
$_altdomains
"
;;
registeraccount
)
registeraccount
"
$_accountkeylength
"
"
$_eab_kid
"
"
$_eab_hmac_key
"
;;
updateaccount
)
updateaccount
;;
deactivateaccount
)
deactivateaccount
;;
list
)
list
"
$_listraw
"
"
$_domain
"
;;
installcronjob
)
installcronjob
"
$_confighome
"
;;
uninstallcronjob
)
uninstallcronjob
;;
cron
)
cron
;;
toPkcs
)
toPkcs
"
$_domain
"
"
$_password
"
"
$_ecc
"
;;
toPkcs8
)
toPkcs8
"
$_domain
"
"
$_ecc
"
;;
createAccountKey
)
createAccountKey
"
$_accountkeylength
"
;;
createDomainKey
)
createDomainKey
"
$_domain
"
"
$_keylength
"
;;
createCSR
)
createCSR
"
$_domain
"
"
$_altdomains
"
"
$_ecc
"
;;
setnotify
)
setnotify
"
$_notify_hook
"
"
$_notify_level
"
"
$_notify_mode
"
;;
setdefaultca
)
setdefaultca
;;
*
)
if
[
"
$_CMD
"
]
;
then
_err
"Invalid command:
$_CMD
"
fi
showhelp
return
1
;;
esac
_ret
=
"
$?
"
if
[
"
$_ret
"
!=
"0"
]
;
then
...
...
deploy/exim4.sh
View file @
19c43451
...
...
@@ -69,8 +69,8 @@ exim4_deploy() {
cp
"
$_exim4_conf
"
"
$_backup_conf
"
_info
"Modify exim4 conf:
$_exim4_conf
"
if
_setopt
"
$_exim4_conf
"
"tls_certificate"
"="
"
$_real_fullchain
"
\
&&
_setopt
"
$_exim4_conf
"
"tls_privatekey"
"="
"
$_real_key
"
;
then
if
_setopt
"
$_exim4_conf
"
"tls_certificate"
"="
"
$_real_fullchain
"
&&
_setopt
"
$_exim4_conf
"
"tls_privatekey"
"="
"
$_real_key
"
;
then
_info
"Set config success!"
else
_err
"Config exim4 server error, please report bug to us."
...
...
deploy/ssh.sh
View file @
19c43451
...
...
@@ -195,8 +195,8 @@ then rm -rf \"\$fn\"; echo \"Backup \$fn deleted as older than 180 days\"; fi; d
fi
if
[
-n
"
$Le_Deploy_ssh_cafile
"
]
;
then
_pipe
=
">"
if
[
"
$Le_Deploy_ssh_cafile
"
=
"
$Le_Deploy_ssh_keyfile
"
]
\
||
[
"
$Le_Deploy_ssh_cafile
"
=
"
$Le_Deploy_ssh_certfile
"
]
;
then
if
[
"
$Le_Deploy_ssh_cafile
"
=
"
$Le_Deploy_ssh_keyfile
"
]
||
[
"
$Le_Deploy_ssh_cafile
"
=
"
$Le_Deploy_ssh_certfile
"
]
;
then
# if filename is same as previous file then append.
_pipe
=
">>"
elif
[
"
$Le_Deploy_ssh_backup
"
=
"yes"
]
;
then
...
...
@@ -222,9 +222,9 @@ then rm -rf \"\$fn\"; echo \"Backup \$fn deleted as older than 180 days\"; fi; d
fi
if
[
-n
"
$Le_Deploy_ssh_fullchain
"
]
;
then
_pipe
=
">"
if
[
"
$Le_Deploy_ssh_fullchain
"
=
"
$Le_Deploy_ssh_keyfile
"
]
\
||
[
"
$Le_Deploy_ssh_fullchain
"
=
"
$Le_Deploy_ssh_certfile
"
]
\
||
[
"
$Le_Deploy_ssh_fullchain
"
=
"
$Le_Deploy_ssh_cafile
"
]
;
then
if
[
"
$Le_Deploy_ssh_fullchain
"
=
"
$Le_Deploy_ssh_keyfile
"
]
||
[
"
$Le_Deploy_ssh_fullchain
"
=
"
$Le_Deploy_ssh_certfile
"
]
||
[
"
$Le_Deploy_ssh_fullchain
"
=
"
$Le_Deploy_ssh_cafile
"
]
;
then
# if filename is same as previous file then append.
_pipe
=
">>"
elif
[
"
$Le_Deploy_ssh_backup
"
=
"yes"
]
;
then
...
...
deploy/vsftpd.sh
View file @
19c43451
...
...
@@ -65,9 +65,9 @@ vsftpd_deploy() {
cp
"
$_vsftpd_conf
"
"
$_backup_conf
"
_info
"Modify vsftpd conf:
$_vsftpd_conf
"
if
_setopt
"
$_vsftpd_conf
"
"rsa_cert_file"
"="
"
$_real_fullchain
"
\
&&
_setopt
"
$_vsftpd_conf
"
"rsa_private_key_file"
"="
"
$_real_key
"
\
&&
_setopt
"
$_vsftpd_conf
"
"ssl_enable"
"="
"YES"
;
then
if
_setopt
"
$_vsftpd_conf
"
"rsa_cert_file"
"="
"
$_real_fullchain
"
&&
_setopt
"
$_vsftpd_conf
"
"rsa_private_key_file"
"="
"
$_real_key
"
&&
_setopt
"
$_vsftpd_conf
"
"ssl_enable"
"="
"YES"
;
then
_info
"Set config success!"
else
_err
"Config vsftpd server error, please report bug to us."
...
...
dnsapi/dns_arvan.sh
View file @
19c43451
...
...
@@ -5,7 +5,7 @@
ARVAN_API_URL
=
"https://napi.arvancloud.com/cdn/4.0/domains"
#Author: Ehsan Aliakbar
#Report Bugs here: https://github.com/Neilpang/acme.sh
#Report Bugs here: https://github.com/Neilpang/acme.sh
#
######## Public functions #####################
...
...
dnsapi/dns_aws.sh
View file @
19c43451
...
...
@@ -222,21 +222,21 @@ _use_instance_role() {
_use_metadata
()
{
_aws_creds
=
"
$(
_get
"
$1
"
""
1
\
|
_normalizeJson
\
|
tr
'{,}'
'\n'
\
|
while
read
-r
_line
;
do
_get
"
$1
"
""
1
|
_normalizeJson
|
tr
'{,}'
'\n'
|
while
read
-r
_line
;
do
_key
=
"
$(
echo
"
${
_line
%%
:
*
}
"
|
tr
-d
'"'
)
"
_value
=
"
${
_line
#*
:
}
"
_debug3
"_key"
"
$_key
"
_secure_debug3
"_value"
"
$_value
"
case
"
$_key
"
in
AccessKeyId
)
echo
"AWS_ACCESS_KEY_ID=
$_value
"
;;
SecretAccessKey
)
echo
"AWS_SECRET_ACCESS_KEY=
$_value
"
;;
Token
)
echo
"AWS_SESSION_TOKEN=
$_value
"
;;
AccessKeyId
)
echo
"AWS_ACCESS_KEY_ID=
$_value
"
;;
SecretAccessKey
)
echo
"AWS_SECRET_ACCESS_KEY=
$_value
"
;;
Token
)
echo
"AWS_SESSION_TOKEN=
$_value
"
;;
esac
done
\
|
paste
-sd
' '
-
done
|
paste
-sd
' '
-
)
"
_secure_debug
"_aws_creds"
"
$_aws_creds
"
...
...
dnsapi/dns_azure.sh
View file @
19c43451
...
...
@@ -220,7 +220,7 @@ _azure_rest() {
export
_H2
=
"accept: application/json"
export
_H3
=
"Content-Type: application/json"
# clear headers from previous request to avoid getting wrong http code on timeouts
:>
"
$HTTP_HEADER
"
:
>
"
$HTTP_HEADER
"
_debug
"
$ep
"
if
[
"
$m
"
!=
"GET"
]
;
then
_secure_debug2
"data
$data
"
...
...
dnsapi/dns_conoha.sh
View file @
19c43451
...
...
@@ -115,9 +115,9 @@ dns_conoha_rm() {
return
1
fi
record_id
=
$(
printf
"%s"
"
$response
"
| _egrep_o
'{[^}]*}'
\
|
grep
'"type":"TXT"'
|
grep
"
\"
data
\"
:
\"
$txtvalue
\"
"
| _egrep_o
"
\"
id
\"
:
\"
[^
\"
]*
\"
"
\
|
_head_n 1 |
cut
-d
:
-f
2 |
tr
-d
\"
)
record_id
=
$(
printf
"%s"
"
$response
"
| _egrep_o
'{[^}]*}'
|
grep
'"type":"TXT"'
|
grep
"
\"
data
\"
:
\"
$txtvalue
\"
"
| _egrep_o
"
\"
id
\"
:
\"
[^
\"
]*
\"
"
|
_head_n 1 |
cut
-d
:
-f
2 |
tr
-d
\"
)
if
[
-z
"
$record_id
"
]
;
then
_err
"Can not get record id to remove."
return
1
...
...
dnsapi/dns_cyon.sh
View file @
19c43451
...
...
@@ -18,23 +18,23 @@
########
dns_cyon_add
()
{
_cyon_load_credentials
\
&&
_cyon_load_parameters
"
$@
"
\
&&
_cyon_print_header
"add"
\
&&
_cyon_login
\
&&
_cyon_change_domain_env
\
&&
_cyon_add_txt
\
&&
_cyon_logout
_cyon_load_credentials
&&
_cyon_load_parameters
"
$@
"
&&
_cyon_print_header
"add"
&&
_cyon_login
&&
_cyon_change_domain_env
&&
_cyon_add_txt
&&
_cyon_logout
}
dns_cyon_rm
()
{
_cyon_load_credentials
\
&&
_cyon_load_parameters
"
$@
"
\
&&
_cyon_print_header
"delete"
\
&&
_cyon_login
\
&&
_cyon_change_domain_env
\
&&
_cyon_delete_txt
\
&&
_cyon_logout
_cyon_load_credentials
&&
_cyon_load_parameters
"
$@
"
&&
_cyon_print_header
"delete"
&&
_cyon_login
&&
_cyon_change_domain_env
&&
_cyon_delete_txt
&&
_cyon_logout
}
#########################
...
...
dnsapi/dns_da.sh
View file @
19c43451
...
...
@@ -115,23 +115,23 @@ _da_api() {
_debug response
"
$response
"
case
"
${
cmd
}
"
in
CMD_API_DNS_CONTROL
)
# Parse the result in general
# error=0&text=Records Deleted&details=
# error=1&text=Cannot View Dns Record&details=No domain provided
err_field
=
"
$(
_getfield
"
$response
"
1
'&'
)
"
txt_field
=
"
$(
_getfield
"
$response
"
2
'&'
)
"
details_field
=
"
$(
_getfield
"
$response
"
3
'&'
)
"
error
=
"
$(
_getfield
"
$err_field
"
2
'='
)
"
text
=
"
$(
_getfield
"
$txt_field
"
2
'='
)
"
details
=
"
$(
_getfield
"
$details_field
"
2
'='
)
"
_debug
"error:
${
error
}
, text:
${
text
}
, details:
${
details
}
"
if
[
"
$error
"
!=
"0"
]
;
then
_err
"error
$response
"
return
1
fi
;;
CMD_API_SHOW_DOMAINS
)
;;
CMD_API_DNS_CONTROL
)
# Parse the result in general
# error=0&text=Records Deleted&details=
# error=1&text=Cannot View Dns Record&details=No domain provided
err_field
=
"
$(
_getfield
"
$response
"
1
'&'
)
"
txt_field
=
"
$(
_getfield
"
$response
"
2
'&'
)
"
details_field
=
"
$(
_getfield
"
$response
"
3
'&'
)
"
error
=
"
$(
_getfield
"
$err_field
"
2
'='
)
"
text
=
"
$(
_getfield
"
$txt_field
"
2
'='
)
"
details
=
"
$(
_getfield
"
$details_field
"
2
'='
)
"
_debug
"error:
${
error
}
, text:
${
text
}
, details:
${
details
}
"
if
[
"
$error
"
!=
"0"
]
;
then
_err
"error
$response
"
return
1
fi
;;
CMD_API_SHOW_DOMAINS
)
;;
esac
return
0
}
...
...
dnsapi/dns_do.sh
View file @
19c43451
...
...
@@ -67,14 +67,14 @@ _dns_do_list_rrs() {
_err
"getRRList origin
${
_domain
}
failed"
return
1
fi
_rr_list
=
"
$(
echo
"
${
response
}
"
\
|
tr
-d
"
\n\r\t
"
\
|
sed
-e
's/<item xsi:type="ns2:Map">/\n/g'
\
|
grep
">
$(
_regexcape
"
$fulldomain
"
)
</value>"
\
|
sed
-e
's/<\/item>/\n/g'
\
|
grep
'>id</key><value'
\
|
_egrep_o
'>[0-9]{1,16}<'
\
|
tr
-d
'><'
)
"
_rr_list
=
"
$(
echo
"
${
response
}
"
|
tr
-d
"
\n\r\t
"
|
sed
-e
's/<item xsi:type="ns2:Map">/\n/g'
|
grep
">
$(
_regexcape
"
$fulldomain
"
)
</value>"
|
sed
-e
's/<\/item>/\n/g'
|
grep
'>id</key><value'
|
_egrep_o
'>[0-9]{1,16}<'
|
tr
-d
'><'
)
"
[
"
${
_rr_list
}
"
]
}
...
...
@@ -120,10 +120,10 @@ _get_root() {
i
=
1
_dns_do_soap getDomainList
_all_domains
=
"
$(
echo
"
${
response
}
"
\
|
tr
-d
"
\n\r\t
"
\
|
_egrep_o
'domain</key><value[^>]+>[^<]+'
\
|
sed
-e
's/^domain<\/key><value[^>]*>//g'
)
"
_all_domains
=
"
$(
echo
"
${
response
}
"
|
tr
-d
"
\n\r\t
"
|
_egrep_o
'domain</key><value[^>]+>[^<]+'
|
sed
-e
's/^domain<\/key><value[^>]*>//g'
)
"
while
true
;
do
h
=
$(
printf
"%s"
"
$domain
"
|
cut
-d
.
-f
$i
-100
)
...
...
dnsapi/dns_easydns.sh
View file @
19c43451
...
...
@@ -3,7 +3,7 @@
#######################################################
#
# easyDNS REST API for acme.sh by Neilpang based on dns_cf.sh
#
#
# API Documentation: https://sandbox.rest.easydns.net:3001/
#
# Author: wurzelpanzer [wurzelpanzer@maximolider.net]
...
...
dnsapi/dns_freedns.sh
View file @
19c43451
...
...
@@ -303,10 +303,10 @@ _freedns_domain_id() {
return
1
fi
domain_id
=
"
$(
echo
"
$htmlpage
"
|
tr
-d
"
\t\r\n\v\f
"
|
sed
's/<tr>/@<tr>/g'
|
tr
'@'
'\n'
\
|
grep
"<td>
$search_domain
</td>
\|
<td>
$search_domain
(.*)</td>"
\
|
sed
-n
's/.*\(edit\.php?edit_domain_id=[0-9a-zA-Z]*\).*/\1/p'
\
|
cut
-d
=
-f
2
)
"
domain_id
=
"
$(
echo
"
$htmlpage
"
|
tr
-d
"
\t\r\n\v\f
"
|
sed
's/<tr>/@<tr>/g'
|
tr
'@'
'\n'
|
grep
"<td>
$search_domain
</td>
\|
<td>
$search_domain
(.*)</td>"
|
sed
-n
's/.*\(edit\.php?edit_domain_id=[0-9a-zA-Z]*\).*/\1/p'
|
cut
-d
=
-f
2
)
"
# The above beauty extracts domain ID from the html page...
# strip out all blank space and new lines. Then insert newlines
# before each table row <tr>
...
...
@@ -349,11 +349,11 @@ _freedns_data_id() {
return
1
fi
data_id
=
"
$(
echo
"
$htmlpage
"
|
tr
-d
"
\t\r\n\v\f
"
|
sed
's/<tr>/@<tr>/g'
|
tr
'@'
'\n'
\
|
grep
"<td[a-zA-Z=#]*>
$record_type
</td>"
\
|
grep
"<ahref.*>
$search_domain
</a>"
\
|
sed
-n
's/.*\(edit\.php?data_id=[0-9a-zA-Z]*\).*/\1/p'
\
|
cut
-d
=
-f
2
)
"
data_id
=
"
$(
echo
"
$htmlpage
"
|
tr
-d
"
\t\r\n\v\f
"
|
sed
's/<tr>/@<tr>/g'
|
tr
'@'
'\n'
|
grep
"<td[a-zA-Z=#]*>
$record_type
</td>"
|
grep
"<ahref.*>
$search_domain
</a>"
|
sed
-n
's/.*\(edit\.php?data_id=[0-9a-zA-Z]*\).*/\1/p'
|
cut
-d
=
-f
2
)
"
# The above beauty extracts data ID from the html page...
# strip out all blank space and new lines. Then insert newlines
# before each table row <tr>
...
...
dnsapi/dns_gandi_livedns.sh
View file @
19c43451
...
...
@@ -69,9 +69,9 @@ dns_gandi_livedns_rm() {
_gandi_livedns_rest PUT
\
"domains/
$_domain
/records/
$_sub_domain
/TXT"
\
"{
\"
rrset_ttl
\"
: 300,
\"
rrset_values
\"
:
$_new_rrset_values
}"
\
&&
_contains
"
$response
"
'{"message": "DNS Record Created"}'
\
&&
_info
"Removing record
$(
__green
"success"
)
"
"{
\"
rrset_ttl
\"
: 300,
\"
rrset_values
\"
:
$_new_rrset_values
}"
&&
_contains
"
$response
"
'{"message": "DNS Record Created"}'
&&
_info
"Removing record
$(
__green
"success"
)
"
}
#################### Private functions below ##################################
...
...
@@ -125,9 +125,9 @@ _dns_gandi_append_record() {
fi
_debug new_rrset_values
"
$_rrset_values
"
_gandi_livedns_rest PUT
"domains/
$_domain
/records/
$sub_domain
/TXT"
\
"{
\"
rrset_ttl
\"
: 300,
\"
rrset_values
\"
:
$_rrset_values
}"
\
&&
_contains
"
$response
"
'{"message": "DNS Record Created"}'
\
&&
_info
"Adding record
$(
__green
"success"
)
"
"{
\"
rrset_ttl
\"
: 300,
\"
rrset_values
\"
:
$_rrset_values
}"
&&
_contains
"
$response
"
'{"message": "DNS Record Created"}'
&&
_info
"Adding record
$(
__green
"success"
)
"
}
_dns_gandi_existing_rrset_values
()
{
...
...
@@ -145,8 +145,8 @@ _dns_gandi_existing_rrset_values() {
return
1
fi
_debug
"Already has TXT record."
_rrset_values
=
$(
echo
"
$response
"
| _egrep_o
'rrset_values.*\[.*\]'
\
|
_egrep_o
'\[".*\"]'
)
_rrset_values
=
$(
echo
"
$response
"
| _egrep_o
'rrset_values.*\[.*\]'
|
_egrep_o
'\[".*\"]'
)
return
0
}
...
...
dnsapi/dns_gcloud.sh
View file @
19c43451
...
...
@@ -78,8 +78,8 @@ _dns_gcloud_execute_tr() {
for
i
in
$(
seq
1 120
)
;
do
if
gcloud dns record-sets changes list
\
--zone
=
"
$managedZone
"
\
--filter
=
'status != done'
\
|
grep
-q
'^.*'
;
then
--filter
=
'status != done'
|
grep
-q
'^.*'
;
then
_info
"_dns_gcloud_execute_tr: waiting for transaction to be comitted (
$i
/120)..."
sleep
5
else
...
...
@@ -137,11 +137,11 @@ _dns_gcloud_find_zone() {
# List domains and find the zone with the deepest sub-domain (in case of some levels of delegation)
if
!
match
=
$(
gcloud dns managed-zones list
\
--format
=
"value(name, dnsName)"
\
--filter
=
"
$filter
"
\
|
while
read
-r
dnsName name
;
do
--filter
=
"
$filter
"
|
while
read
-r
dnsName name
;
do
printf
"%s
\t
%s
\t
%s
\n
"
"
$(
echo
"
$name
"
|
awk
-F
"."
'{print NF-1}'
)
"
"
$dnsName
"
"
$name
"
done
\
|
sort
-n
-r
| _head_n 1 |
cut
-f2
,3 |
grep
'^.*'
)
;
then
done
|
sort
-n
-r
| _head_n 1 |
cut
-f2
,3 |
grep
'^.*'
)
;
then
_err
"_dns_gcloud_find_zone: Can't find a matching managed zone! Perhaps wrong project or gcloud credentials?"
return
1
fi
...
...
dnsapi/dns_he.sh
View file @
19c43451
...
...
@@ -101,8 +101,8 @@ dns_he_rm() {
body
=
"
$body
&hosted_dns_editzone=1"
body
=
"
$body
&hosted_dns_delrecord=1"
body
=
"
$body
&hosted_dns_delconfirm=delete"
_post
"
$body
"
"https://dns.he.net/"
\
|
grep
'<div id="dns_status" onClick="hideThis(this);">Successfully removed record.</div>'
\
_post
"
$body
"
"https://dns.he.net/"
|
grep
'<div id="dns_status" onClick="hideThis(this);">Successfully removed record.</div>'
\
>
/dev/null
exit_code
=
"
$?
"
if
[
"
$exit_code
"
-eq
0
]
;
then
...
...
dnsapi/dns_hetzner.sh
View file @
19c43451
...
...
@@ -123,10 +123,10 @@ _find_record() {
return
1
else
_record_id
=
$(
echo
"
$response
"
\
|
grep
-o
"{[^
\{\}
]*
\"
name
\"
:
\"
$_record_name
\"
[^
\}
]*}"
\
|
grep
"
\"
value
\"
:
\"
$_record_value
\"
"
\
|
while
read
-r
record
;
do
echo
"
$response
"
|
grep
-o
"{[^
\{\}
]*
\"
name
\"
:
\"
$_record_name
\"
[^
\}
]*}"
|
grep
"
\"
value
\"
:
\"
$_record_value
\"
"
|
while
read
-r
record
;
do
# test for type and
if
[
-n
"
$(
echo
"
$record
"
| _egrep_o
'"type":"TXT"'
)
"
]
;
then
echo
"
$record
"
| _egrep_o
'"id":"[^"]*"'
|
cut
-d
:
-f
2 |
tr
-d
\"
...
...
dnsapi/dns_ispconfig.sh
View file @
19c43451
...
...
@@ -95,29 +95,29 @@ _ISPC_getZoneInfo() {
server_id
=
$(
echo
"
${
curResult
}
"
| _egrep_o
"server_id.*"
|
cut
-d
':'
-f
2 |
cut
-d
'"'
-f
2
)
_debug
"Server ID: '
${
server_id
}
'"
case
"
${
server_id
}
"
in
''
|
*
[!
0-9]
*
)
_err
"Server ID is not numeric."
return
1
;;
*
)
_info
"Retrieved Server ID"
;;
''
|
*
[!
0-9]
*
)
_err
"Server ID is not numeric."
return
1
;;
*
)
_info
"Retrieved Server ID"
;;
esac
zone
=
$(
echo
"
${
curResult
}
"
| _egrep_o
"
\"
id.*"
|
cut
-d
':'
-f
2 |
cut
-d
'"'
-f
2
)
_debug
"Zone: '
${
zone
}
'"
case
"
${
zone
}
"
in
''
|
*
[!
0-9]
*
)
_err
"Zone ID is not numeric."
return
1
;;
*
)
_info
"Retrieved Zone ID"
;;
''
|
*
[!
0-9]
*
)
_err
"Zone ID is not numeric."
return
1
;;
*
)
_info
"Retrieved Zone ID"
;;
esac
client_id
=
$(
echo
"
${
curResult
}
"
| _egrep_o
"sys_userid.*"
|
cut
-d
':'
-f
2 |
cut
-d
'"'
-f
2
)
_debug
"Client ID: '
${
client_id
}
'"
case
"
${
client_id
}
"
in
''
|
*
[!
0-9]
*
)
_err
"Client ID is not numeric."
return
1
;;
*
)
_info
"Retrieved Client ID."
;;
''
|
*
[!
0-9]
*
)
_err
"Client ID is not numeric."
return
1
;;
*
)
_info
"Retrieved Client ID."
;;
esac
zoneFound
=
""
zoneEnd
=
""
...
...
@@ -135,11 +135,11 @@ _ISPC_addTxt() {
record_id
=
$(
echo
"
${
curResult
}
"
| _egrep_o
"
\"
response.*"
|
cut
-d
':'
-f
2 |
cut
-d
'"'
-f
2
)
_debug
"Record ID: '
${
record_id
}
'"
case
"
${
record_id
}
"
in
''
|
*
[!
0-9]
*
)
_err
"Couldn't add ACME Challenge TXT record to zone."
return
1
;;
*
)
_info
"Added ACME Challenge TXT record to zone."
;;
''
|
*
[!
0-9]
*
)
_err
"Couldn't add ACME Challenge TXT record to zone."
return
1
;;
*
)
_info
"Added ACME Challenge TXT record to zone."
;;
esac
}
...
...
@@ -153,24 +153,24 @@ _ISPC_rmTxt() {
record_id
=
$(
echo
"
${
curResult
}
"
| _egrep_o
"
\"
id.*"
|
cut
-d
':'
-f
2 |
cut
-d
'"'
-f
2
)
_debug
"Record ID: '
${
record_id
}
'"
case
"
${
record_id
}
"
in
''
|
*
[!
0-9]
*
)
_err
"Record ID is not numeric."
''
|
*
[!
0-9]
*
)
_err
"Record ID is not numeric."
return
1
;;
*
)
unset
IFS
_info
"Retrieved Record ID."
curData
=
"{
\"
session_id
\"
:
\"
${
sessionID
}
\"
,
\"
primary_id
\"
:
\"
${
record_id
}
\"
,
\"
update_serial
\"
:true}"
curResult
=
"
$(
_post
"
${
curData
}
"
"
${
ISPC_Api
}
?dns_txt_delete"
)
"
_debug
"Calling _ISPC_rmTxt: '
${
curData
}
' '
${
ISPC_Api
}
?dns_txt_delete'"
_debug
"Result of _ISPC_rmTxt: '
$curResult
'"
if
_contains
"
${
curResult
}
"
'"code":"ok"'
;
then
_info
"Removed ACME Challenge TXT record from zone."
else
_err
"Couldn't remove ACME Challenge TXT record from zone."
return
1
;;
*
)
unset
IFS
_info
"Retrieved Record ID."
curData
=
"{
\"
session_id
\"
:
\"
${
sessionID
}
\"
,
\"
primary_id
\"
:
\"
${
record_id
}
\"
,
\"
update_serial
\"
:true}"
curResult
=
"
$(
_post
"
${
curData
}
"
"
${
ISPC_Api
}
?dns_txt_delete"
)
"
_debug
"Calling _ISPC_rmTxt: '
${
curData
}
' '
${
ISPC_Api
}
?dns_txt_delete'"
_debug
"Result of _ISPC_rmTxt: '
$curResult
'"
if
_contains
"
${
curResult
}
"
'"code":"ok"'
;
then
_info
"Removed ACME Challenge TXT record from zone."
else
_err
"Couldn't remove ACME Challenge TXT record from zone."
return
1
fi
;;
fi
;;
esac
fi
}
dnsapi/dns_joker.sh
View file @
19c43451
...
...
@@ -100,7 +100,7 @@ _get_root() {
fi
# Try to remove a test record. With correct root domain, username and password this will return "OK: ..." regardless
# of record in question existing or not.
# of record in question existing or not.
if
_joker_rest
"username=
$JOKER_USERNAME
&password=
$JOKER_PASSWORD
&zone=
$h
&label=jokerTXTUpdateTest&type=TXT&value="
;
then
if
_startswith
"
$response
"
"OK"
;
then
_sub_domain
=
"
$(
echo
"
$fulldomain
"
|
sed
"s/
\\
.
$h
\$
//"
)
"
...
...
dnsapi/dns_kappernet.sh
View file @
19c43451
...
...
@@ -5,12 +5,12 @@
# please report issues here: https://github.com/acmesh-official/acme.sh/issues/2977
#KAPPERNETDNS_Key="yourKAPPERNETapikey"
#KAPPERNETDNS_Secret="yourKAPPERNETapisecret"
#KAPPERNETDNS_Secret="yourKAPPERNETapisecret"
KAPPERNETDNS_Api
=
"https://dnspanel.kapper.net/API/1.2?APIKey=
$KAPPERNETDNS_Key
&APISecret=
$KAPPERNETDNS_Secret
"
###############################################################################
# called with
# called with
# fullhostname: something.example.com
# txtvalue: someacmegenerated string
dns_kappernet_add
()
{
...
...
@@ -97,7 +97,7 @@ dns_kappernet_rm() {
#################### Private functions below ##################################
# called with hostname
# e.g._acme-challenge.www.domain.com returns
# _sub_domain=_acme-challenge.www
# _sub_domain=_acme-challenge.www
# _domain=domain.com
_get_root
()
{
domain
=
$1
...
...
@@ -127,7 +127,7 @@ _get_root() {
################################################################################
# calls the kapper.net DNS Panel API
# with
# with
# method
# param
_kappernet_api
()
{
...
...
Prev
1
2
Next
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