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
e7fc697e
Unverified
Commit
e7fc697e
authored
Feb 04, 2021
by
neil
Committed by
GitHub
Feb 04, 2021
Browse files
Merge pull request #3338 from fvahid/master
update arvan api script
parents
e6dea4c9
d9a8b057
Changes
1
Show whitespace changes
Inline
Side-by-side
dnsapi/dns_arvan.sh
View file @
e7fc697e
#!/usr/bin/env sh
#!/usr/bin/env sh
#Arvan_Token="xxxx"
#Arvan_Token="
Apikey
xxxx"
ARVAN_API_URL
=
"https://napi.arvancloud.com/cdn/4.0/domains"
ARVAN_API_URL
=
"https://napi.arvancloud.com/cdn/4.0/domains"
#Author: Vahid Fardi
#Author: Ehsan Aliakbar
#Report Bugs here: https://github.com/Neilpang/acme.sh
#Report Bugs here: https://github.com/Neilpang/acme.sh
#
#
######## Public functions #####################
######## Public functions #####################
...
@@ -38,6 +37,7 @@ dns_arvan_add() {
...
@@ -38,6 +37,7 @@ dns_arvan_add() {
_info
"Adding record"
_info
"Adding record"
if
_arvan_rest POST
"
$_domain
/dns-records"
"{
\"
type
\"
:
\"
TXT
\"
,
\"
name
\"
:
\"
$_sub_domain
\"
,
\"
value
\"
:{
\"
text
\"
:
\"
$txtvalue
\"
},
\"
ttl
\"
:120}"
;
then
if
_arvan_rest POST
"
$_domain
/dns-records"
"{
\"
type
\"
:
\"
TXT
\"
,
\"
name
\"
:
\"
$_sub_domain
\"
,
\"
value
\"
:{
\"
text
\"
:
\"
$txtvalue
\"
},
\"
ttl
\"
:120}"
;
then
if
_contains
"
$response
"
"
$txtvalue
"
;
then
if
_contains
"
$response
"
"
$txtvalue
"
;
then
_info
"response id is
$response
"
_info
"Added, OK"
_info
"Added, OK"
return
0
return
0
elif
_contains
"
$response
"
"Record Data is Duplicated"
;
then
elif
_contains
"
$response
"
"Record Data is Duplicated"
;
then
...
@@ -49,7 +49,7 @@ dns_arvan_add() {
...
@@ -49,7 +49,7 @@ dns_arvan_add() {
fi
fi
fi
fi
_err
"Add txt record error."
_err
"Add txt record error."
return
1
return
0
}
}
#Usage: fulldomain txtvalue
#Usage: fulldomain txtvalue
...
@@ -73,33 +73,21 @@ dns_arvan_rm() {
...
@@ -73,33 +73,21 @@ dns_arvan_rm() {
_debug _domain
"
$_domain
"
_debug _domain
"
$_domain
"
_debug
"Getting txt records"
_debug
"Getting txt records"
shorted_txtvalue
=
$(
printf
"%s"
"
$txtvalue
"
|
cut
-d
"-"
-d
"_"
-f1
)
_arvan_rest GET
"
${
_domain
}
/dns-records"
_arvan_rest GET
"
${
_domain
}
/dns-records?search=
$shorted_txtvalue
"
if
!
printf
"%s"
"
$response
"
|
grep
\"
current_page
\"
:1
>
/dev/null
;
then
if
!
printf
"%s"
"
$response
"
|
grep
\"
current_page
\"
:1
>
/dev/null
;
then
_err
"Error on Arvan Api"
_err
"Error on Arvan Api"
_err
"Please create a github issue with debbug log"
_err
"Please create a github issue with debbug log"
return
1
return
1
fi
fi
count
=
$(
printf
"%s
\n
"
"
$response
"
| _egrep_o
"
\"
total
\"
:[^,]*"
|
cut
-d
:
-f
2
)
_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
\"
)
_debug count
"
$count
"
if
!
_arvan_rest
"DELETE"
"
${
_domain
}
/dns-records/
${
_record_id
}
"
;
then
if
[
"
$count
"
=
"0"
]
;
then
_err
"Error on Arvan Api"
_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
return
1
fi
fi
_debug
"
$response
"
_debug
"
$response
"
_contains
"
$response
"
'dns record deleted'
_contains
"
$response
"
'dns record deleted'
fi
return
0
}
}
#################### Private functions below ##################################
#################### Private functions below ##################################
...
@@ -111,7 +99,7 @@ dns_arvan_rm() {
...
@@ -111,7 +99,7 @@ dns_arvan_rm() {
# _domain_id=sdjkglgdfewsdfg
# _domain_id=sdjkglgdfewsdfg
_get_root
()
{
_get_root
()
{
domain
=
$1
domain
=
$1
i
=
1
i
=
2
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
)
...
@@ -121,12 +109,11 @@ _get_root() {
...
@@ -121,12 +109,11 @@ _get_root() {
return
1
return
1
fi
fi
if
!
_arvan_rest GET
"
?search=
$h
"
;
then
if
!
_arvan_rest GET
"
$h
"
;
then
return
1
return
1
fi
fi
if
_contains
"
$response
"
"
\"
domain
\"
:
\"
$h
\"
"
;
then
if
_contains
"
$response
"
"
\"
domain
\"
:
\"
$h
\"
"
||
_contains
"
$response
"
'"total":1'
;
then
_domain_id
=
$(
echo
"
$response
"
|
cut
-d
:
-f
3 |
cut
-d
,
-f
1 |
tr
-d
\"
)
_domain_id
=
$(
echo
"
$response
"
| _egrep_o
"
\[
.
\"
id
\"
:
\"
[^
\"
]*
\"
"
| _head_n 1 |
cut
-d
:
-f
2 |
tr
-d
\"
)
if
[
"
$_domain_id
"
]
;
then
if
[
"
$_domain_id
"
]
;
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
...
@@ -146,7 +133,6 @@ _arvan_rest() {
...
@@ -146,7 +133,6 @@ _arvan_rest() {
data
=
"
$3
"
data
=
"
$3
"
token_trimmed
=
$(
echo
"
$Arvan_Token
"
|
tr
-d
'"'
)
token_trimmed
=
$(
echo
"
$Arvan_Token
"
|
tr
-d
'"'
)
export
_H1
=
"Authorization:
$token_trimmed
"
export
_H1
=
"Authorization:
$token_trimmed
"
if
[
"
$mtd
"
=
"DELETE"
]
;
then
if
[
"
$mtd
"
=
"DELETE"
]
;
then
...
@@ -160,4 +146,5 @@ _arvan_rest() {
...
@@ -160,4 +146,5 @@ _arvan_rest() {
else
else
response
=
"
$(
_get
"
$ARVAN_API_URL
/
$ep$data
"
)
"
response
=
"
$(
_get
"
$ARVAN_API_URL
/
$ep$data
"
)
"
fi
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