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
472488eb
Commit
472488eb
authored
Jan 05, 2021
by
Vahid Fardi
Committed by
Alexander Kulumbeg
Mar 21, 2021
Browse files
change arvan api script
parent
8de3698b
Changes
1
Hide whitespace changes
Inline
Side-by-side
dnsapi/dns_arvan.sh
View file @
472488eb
...
...
@@ -3,7 +3,6 @@
#Arvan_Token="xxxx"
ARVAN_API_URL
=
"https://napi.arvancloud.com/cdn/4.0/domains"
#Author: Ehsan Aliakbar
#Report Bugs here: https://github.com/Neilpang/acme.sh
#
...
...
@@ -38,6 +37,7 @@ dns_arvan_add() {
_info
"Adding record"
if
_arvan_rest POST
"
$_domain
/dns-records"
"{
\"
type
\"
:
\"
TXT
\"
,
\"
name
\"
:
\"
$_sub_domain
\"
,
\"
value
\"
:{
\"
text
\"
:
\"
$txtvalue
\"
},
\"
ttl
\"
:120}"
;
then
if
_contains
"
$response
"
"
$txtvalue
"
;
then
_info
"response id is
$response
"
_info
"Added, OK"
return
0
elif
_contains
"
$response
"
"Record Data is Duplicated"
;
then
...
...
@@ -49,7 +49,7 @@ dns_arvan_add() {
fi
fi
_err
"Add txt record error."
return
1
return
0
}
#Usage: fulldomain txtvalue
...
...
@@ -73,33 +73,21 @@ dns_arvan_rm() {
_debug _domain
"
$_domain
"
_debug
"Getting txt records"
shorted_txtvalue
=
$(
printf
"%s"
"
$txtvalue
"
|
cut
-d
"-"
-d
"_"
-f1
)
_arvan_rest GET
"
${
_domain
}
/dns-records?search=
$shorted_txtvalue
"
_arvan_rest GET
"
${
_domain
}
/dns-records"
if
!
printf
"%s"
"
$response
"
|
grep
\"
current_page
\"
:1
>
/dev/null
;
then
_err
"Error on Arvan Api"
_err
"Please create a github issue with debbug log"
return
1
fi
count
=
$(
printf
"%s
\n
"
"
$response
"
| _egrep_o
"
\"
total
\"
:[^,]*"
|
cut
-d
:
-f
2
)
_debug count
"
$count
"
if
[
"
$count
"
=
"0"
]
;
then
_info
"Don't need to remove."
else
record_id
=
$(
printf
"%s
\n
"
"
$response
"
| _egrep_o
"
\"
id
\"
:
\"
[^
\"
]*
\"
"
|
cut
-d
:
-f
2 |
tr
-d
\"
|
head
-n
1
)
_debug
"record_id"
"
$record_id
"
if
[
-z
"
$record_id
"
]
;
then
_err
"Can not get record id to remove."
return
1
fi
if
!
_arvan_rest
"DELETE"
"
${
_domain
}
/dns-records/
$record_id
"
;
then
_err
"Delete record error."
return
1
fi
_debug
"
$response
"
_contains
"
$response
"
'dns record deleted'
_record_id
=
$(
echo
"
$response
"
| _egrep_o
".
\"
id
\"
:
\"
[^
\"
]*
\"
,
\"
type
\"
:
\"
txt
\"
,
\"
name
\"
:
\"
_acme-challenge
\"
,
\"
value
\"
:{
\"
text
\"
:
\"
$txtvalue
\"
}"
|
cut
-d
:
-f
2 |
cut
-d
,
-f
1 |
tr
-d
\"
)
if
!
_arvan_rest
"DELETE"
"
${
_domain
}
/dns-records/
${
_record_id
}
"
;
then
_err
"Error on Arvan Api"
return
1
fi
_debug
"
$response
"
_contains
"
$response
"
'dns record deleted'
return
0
}
#################### Private functions below ##################################
...
...
@@ -111,7 +99,7 @@ dns_arvan_rm() {
# _domain_id=sdjkglgdfewsdfg
_get_root
()
{
domain
=
$1
i
=
1
i
=
2
p
=
1
while
true
;
do
h
=
$(
printf
"%s"
"
$domain
"
|
cut
-d
.
-f
$i
-100
)
...
...
@@ -121,12 +109,11 @@ _get_root() {
return
1
fi
if
!
_arvan_rest GET
"
?search=
$h
"
;
then
if
!
_arvan_rest GET
"
$h
"
;
then
return
1
fi
if
_contains
"
$response
"
"
\"
domain
\"
:
\"
$h
\"
"
||
_contains
"
$response
"
'"total":1'
;
then
_domain_id
=
$(
echo
"
$response
"
| _egrep_o
"
\[
.
\"
id
\"
:
\"
[^
\"
]*
\"
"
| _head_n 1 |
cut
-d
:
-f
2 |
tr
-d
\"
)
if
_contains
"
$response
"
"
\"
domain
\"
:
\"
$h
\"
"
;
then
_domain_id
=
$(
echo
"
$response
"
|
cut
-d
:
-f
3 |
cut
-d
,
-f
1 |
tr
-d
\"
)
if
[
"
$_domain_id
"
]
;
then
_sub_domain
=
$(
printf
"%s"
"
$domain
"
|
cut
-d
.
-f
1-
$p
)
_domain
=
$h
...
...
@@ -146,7 +133,6 @@ _arvan_rest() {
data
=
"
$3
"
token_trimmed
=
$(
echo
"
$Arvan_Token
"
|
tr
-d
'"'
)
export
_H1
=
"Authorization:
$token_trimmed
"
if
[
"
$mtd
"
=
"DELETE"
]
;
then
...
...
@@ -160,4 +146,5 @@ _arvan_rest() {
else
response
=
"
$(
_get
"
$ARVAN_API_URL
/
$ep$data
"
)
"
fi
return
0
}
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