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
406ca66c
Commit
406ca66c
authored
Jun 19, 2021
by
Marcus Grando
Browse files
Added Azion DNS API
parents
e327c875
74c054b2
Changes
4
Hide whitespace changes
Inline
Side-by-side
Dockerfile
View file @
406ca66c
FROM
alpine:3.12
RUN
apk update
-f
\
&&
apk
--no-cache
add
-f
\
RUN
apk
--no-cache
add
-f
\
openssl
\
openssh-client
\
coreutils
\
...
...
@@ -12,8 +11,7 @@ RUN apk update -f \
tzdata
\
oath-toolkit-oathtool
\
tar
\
libidn
\
&&
rm
-rf
/var/cache/apk/
*
libidn
ENV
LE_CONFIG_HOME /acme.sh
...
...
@@ -22,7 +20,7 @@ ARG AUTO_UPGRADE=1
ENV
AUTO_UPGRADE $AUTO_UPGRADE
#Install
ADD
./ /install_acme.sh/
COPY
./ /install_acme.sh/
RUN
cd
/install_acme.sh
&&
([
-f
/install_acme.sh/acme.sh
]
&&
/install_acme.sh/acme.sh
--install
||
curl https://get.acme.sh | sh
)
&&
rm
-rf
/install_acme.sh/
...
...
README.md
View file @
406ca66c
...
...
@@ -469,7 +469,7 @@ TODO:
### Code Contributors
This project exists thanks to all the people who contribute.
[
[Contribute
](
CONTRIBUTING.md
)
].
This project exists thanks to all the people who contribute.
<a
href=
"https://github.com/acmesh-official/acme.sh/graphs/contributors"
><img
src=
"https://opencollective.com/acmesh/contributors.svg?width=890&button=false"
/></a>
### Financial Contributors
...
...
dnsapi/dns_azion.sh
View file @
406ca66c
...
...
@@ -3,8 +3,6 @@
#
#AZION_Username=""
#AZION_Password=""
#AZION_Token=""
#AZION_ZoneID=""
#
AZION_Api
=
"https://api.azionapi.net"
...
...
@@ -17,30 +15,6 @@ dns_azion_add() {
fulldomain
=
$1
txtvalue
=
$2
AZION_Username
=
"
${
AZION_Username
:-
$(
_readaccountconf_mutable AZION_Username
)
}
"
AZION_Password
=
"
${
AZION_Password
:-
$(
_readaccountconf_mutable AZION_Password
)
}
"
AZION_Token
=
"
${
AZION_Token
:-
$(
_readaccountconf_mutable AZION_Token
)
}
"
AZION_ZoneID
=
"
${
AZION_ZoneID
:-
$(
_readaccountconf_mutable AZION_ZoneID
)
}
"
if
!
_contains
"
$AZION_Username
"
"@"
;
then
_err
"It seems that the AZION_Username is not a valid email address. Revalidate your environments."
return
1
fi
if
[
-z
"
$AZION_Token
"
]
;
then
if
[
-z
"
$AZION_Username
"
]
||
[
-z
"
$AZION_Password
"
]
;
then
_err
"You didn't specified a AZION_Username/AZION_Password to generate Azion token."
return
1
fi
_get_token
AZION_Token
=
"
${
AZION_Token
:-
$(
_readaccountconf_mutable AZION_Token
)
}
"
fi
_saveaccountconf_mutable AZION_Username
"
$AZION_Username
"
_saveaccountconf_mutable AZION_Password
"
$AZION_Password
"
_saveaccountconf_mutable AZION_Token
"
$AZION_Token
"
_saveaccountconf_mutable AZION_ZoneID
"
$AZION_ZoneID
"
_debug
"Detect the root zone"
if
!
_get_root
"
$fulldomain
"
;
then
_err
"Domain not found"
...
...
@@ -52,7 +26,7 @@ dns_azion_add() {
_debug _domain_id
"
$_domain_id
"
_info
"Add or update record"
_get_record
"
$_sub_domain
"
_get_record
"
$_domain_id
"
"
$_sub_domain
"
if
[
"
$record_id
"
]
;
then
_payload
=
"{
\"
record_type
\"
:
\"
TXT
\"
,
\"
entry
\"
:
\"
$_sub_domain
\"
,
\"
answers_list
\"
: [
$answers_list
,
\"
$txtvalue
\"
],
\"
ttl
\"
: 20}"
if
_azion_rest PUT
"intelligent_dns/
$_domain_id
/records/
$record_id
"
"
$_payload
"
;
then
...
...
@@ -80,25 +54,6 @@ dns_azion_rm() {
fulldomain
=
$1
txtvalue
=
$2
AZION_Username
=
"
${
AZION_Username
:-
$(
_readaccountconf_mutable AZION_Username
)
}
"
AZION_Password
=
"
${
AZION_Password
:-
$(
_readaccountconf_mutable AZION_Password
)
}
"
AZION_Token
=
"
${
AZION_Token
:-
$(
_readaccountconf_mutable AZION_Token
)
}
"
AZION_ZoneID
=
"
${
AZION_ZoneID
:-
$(
_readaccountconf_mutable AZION_ZoneID
)
}
"
if
!
_contains
"
$AZION_Username
"
"@"
;
then
_err
"It seems that the AZION_Username is not a valid email address. Revalidate your environments."
return
1
fi
if
[
-z
"
$AZION_Token
"
]
;
then
if
[
-z
"
$AZION_Username
"
]
||
[
-z
"
$AZION_Password
"
]
;
then
_err
"You didn't specified a AZION_Username/AZION_Password to generate Azion token."
return
1
fi
_get_token
AZION_Token
=
"
${
AZION_Token
:-
$(
_readaccountconf_mutable AZION_Token
)
}
"
fi
_debug
"Detect the root zone"
if
!
_get_root
"
$fulldomain
"
;
then
_err
"Domain not found"
...
...
@@ -110,7 +65,7 @@ dns_azion_rm() {
_debug _domain_id
"
$_domain_id
"
_info
"Removing record"
_get_record
"
$_sub_domain
"
_get_record
"
$_domain_id
"
"
$_sub_domain
"
if
[
"
$record_id
"
]
;
then
if
_azion_rest DELETE
"intelligent_dns/
$_domain_id
/records/
$record_id
"
;
then
_info
"Record removed."
...
...
@@ -136,27 +91,6 @@ _get_root() {
i
=
1
p
=
1
# Use Zone ID directly if provided
if
[
"
$AZION_ZoneID
"
]
;
then
if
!
_azion_rest GET
"intelligent_dns/
$AZION_ZoneID
"
;
then
return
1
else
if
_contains
"
$response
"
"
\"
domain
\"
:
\"
"
>
/dev/null
;
then
_domain
=
$(
echo
"
$response
"
| _egrep_o
"
\"
domain
\"
:
\"
[^
\"
]*
\"
"
|
cut
-d
:
-f
2 | _head_n 1 |
tr
-d
\"
)
if
[
"
$_domain
"
]
;
then
_cutlength
=
$((${#
domain
}
-
${#
_domain
}
-
1
))
_sub_domain
=
$(
printf
"%s"
"
$domain
"
|
cut
-c
"1-
$_cutlength
"
)
_domain_id
=
$AZION_ZoneID
return
0
else
return
1
fi
else
return
1
fi
fi
fi
if
!
_azion_rest GET
"intelligent_dns"
;
then
return
1
fi
...
...
@@ -175,7 +109,6 @@ _get_root() {
if
[
"
$_domain_id
"
]
;
then
_sub_domain
=
$(
printf
"%s"
"
$domain
"
|
cut
-d
.
-f
1-
$p
)
_domain
=
$h
_saveaccountconf_mutable AZION_ZoneID
"
$_domain_id
"
return
0
fi
return
1
...
...
@@ -187,11 +120,10 @@ _get_root() {
}
_get_record
()
{
_record
=
$1
_domain_id
=
$1
_record
=
$2
AZION_ZoneID
=
"
${
AZION_ZoneID
:-
$(
_readaccountconf_mutable AZION_ZoneID
)
}
"
if
!
_azion_rest GET
"intelligent_dns/
$AZION_ZoneID
/records"
;
then
if
!
_azion_rest GET
"intelligent_dns/
$_domain_id
/records"
;
then
return
1
fi
...
...
@@ -211,6 +143,19 @@ _get_token() {
AZION_Username
=
"
${
AZION_Username
:-
$(
_readaccountconf_mutable AZION_Username
)
}
"
AZION_Password
=
"
${
AZION_Password
:-
$(
_readaccountconf_mutable AZION_Password
)
}
"
if
!
_contains
"
$AZION_Username
"
"@"
;
then
_err
"It seems that the AZION_Username is not a valid email address. Revalidate your environments."
return
1
fi
if
[
-z
"
$AZION_Username
"
]
||
[
-z
"
$AZION_Password
"
]
;
then
_err
"You didn't specified a AZION_Username/AZION_Password to generate Azion token."
return
1
fi
_saveaccountconf_mutable AZION_Username
"
$AZION_Username
"
_saveaccountconf_mutable AZION_Password
"
$AZION_Password
"
_basic_auth
=
$(
printf
"%s:%s"
"
$AZION_Username
"
"
$AZION_Password
"
| _base64
)
_debug _basic_auth
"
$_basic_auth
"
...
...
@@ -219,11 +164,9 @@ _get_token() {
export
_H3
=
"Authorization: Basic
$_basic_auth
"
response
=
"
$(
_post
""
"
$AZION_Api
/tokens"
""
"POST"
)
"
_debug2 response
"
$response
"
if
_contains
"
$response
"
"
\"
token
\"
:
\"
"
>
/dev/null
;
then
_azion_token
=
$(
echo
"
$response
"
| _egrep_o
"
\"
token
\"
:
\"
[^
\"
]*
\"
"
|
cut
-d
:
-f
2 |
tr
-d
\"
)
_debug _azion_token
"
$_azion_token
"
_saveaccountconf_mutable AZION_Token
"
$_azion_token
"
export
AZION_Token
=
"
$_azion_token
"
else
_err
"Failed to generate Azion token"
return
1
...
...
@@ -235,7 +178,10 @@ _azion_rest() {
_uri
=
"
$2
"
_data
=
"
$3
"
AZION_Token
=
"
${
AZION_Token
:-
$(
_readaccountconf_mutable AZION_Token
)
}
"
if
[
-z
"
$AZION_Token
"
]
;
then
_get_token
fi
_debug2 token
"
$AZION_Token
"
export
_H1
=
"Accept: application/json; version=3"
export
_H2
=
"Content-Type: application/json"
...
...
dnsapi/dns_nsd.sh
View file @
406ca66c
...
...
@@ -51,7 +51,7 @@ dns_nsd_rm() {
Nsd_ZoneFile
=
"
${
Nsd_ZoneFile
:-
$(
_readdomainconf Nsd_ZoneFile
)
}
"
Nsd_Command
=
"
${
Nsd_Command
:-
$(
_readdomainconf Nsd_Command
)
}
"
sed
-
i
"/
$fulldomain
.
$ttlvalue
IN TXT
\"
$txtvalue
\"
/d"
"
$Nsd_ZoneFile
"
_
sed
_
i
"/
$fulldomain
.
$ttlvalue
IN TXT
\"
$txtvalue
\"
/d"
"
$Nsd_ZoneFile
"
_info
"Removed TXT record for
$fulldomain
"
_debug
"Running
$Nsd_Command
"
if
eval
"
$Nsd_Command
"
;
then
...
...
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