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
20ed4f96
Unverified
Commit
20ed4f96
authored
Jul 15, 2022
by
neil
Committed by
GitHub
Jul 15, 2022
Browse files
Merge pull request #4182 from NerLOR/master
Update dns_world4you
parents
e2eb685d
3a29e034
Changes
1
Hide whitespace changes
Inline
Side-by-side
dnsapi/dns_world4you.sh
View file @
20ed4f96
...
@@ -12,7 +12,7 @@ RECORD=''
...
@@ -12,7 +12,7 @@ RECORD=''
# Usage: dns_world4you_add <fqdn> <value>
# Usage: dns_world4you_add <fqdn> <value>
dns_world4you_add
()
{
dns_world4you_add
()
{
fqdn
=
"
$1
"
fqdn
=
$(
echo
"
$1
"
| _lower_case
)
value
=
"
$2
"
value
=
"
$2
"
_info
"Using world4you to add record"
_info
"Using world4you to add record"
_debug fulldomain
"
$fqdn
"
_debug fulldomain
"
$fqdn
"
...
@@ -49,12 +49,12 @@ dns_world4you_add() {
...
@@ -49,12 +49,12 @@ dns_world4you_add() {
ret
=
$(
_post
"
$body
"
"
$WORLD4YOU_API
/
$paketnr
/dns"
''
POST
'application/x-www-form-urlencoded'
)
ret
=
$(
_post
"
$body
"
"
$WORLD4YOU_API
/
$paketnr
/dns"
''
POST
'application/x-www-form-urlencoded'
)
_resethttp
_resethttp
if
_contains
"
$(
_head_n
3
<
"
$HTTP_HEADER
"
)
"
'302'
;
then
if
_contains
"
$(
_head_n
1
<
"
$HTTP_HEADER
"
)
"
'302'
;
then
res
=
$(
_get
"
$WORLD4YOU_API
/
$paketnr
/dns"
)
res
=
$(
_get
"
$WORLD4YOU_API
/
$paketnr
/dns"
)
if
_contains
"
$res
"
"successfully"
;
then
if
_contains
"
$res
"
"successfully"
;
then
return
0
return
0
else
else
msg
=
$(
echo
"
$res
"
|
grep
-A
15
'data-type="danger"'
|
grep
"<h3[^>]*>[^<]"
|
sed
's/<[^>]*>
\|
^\s*//g'
)
msg
=
$(
echo
"
$res
"
|
grep
-A
15
'data-type="danger"'
|
grep
"<h3[^>]*>[^<]"
|
sed
's/<[^>]*>
//g'
|
sed
's/
^\s*//g'
)
if
[
"
$msg
"
=
''
]
;
then
if
[
"
$msg
"
=
''
]
;
then
_err
"Unable to add record: Unknown error"
_err
"Unable to add record: Unknown error"
echo
"
$ret
"
>
'error-01.html'
echo
"
$ret
"
>
'error-01.html'
...
@@ -66,15 +66,15 @@ dns_world4you_add() {
...
@@ -66,15 +66,15 @@ dns_world4you_add() {
return
1
return
1
fi
fi
else
else
_err
"
$(
_head_n 3 <
"
$HTTP_HEADER
"
)
"
msg
=
$(
echo
"
$ret
"
|
grep
'"form-error-message"'
|
sed
's/^.*<div class="form-error-message">\([^<]*\)<\/div>.*$/\1/'
)
_err
"
View
$HTTP_HEADER
for debuggin
g"
_err
"
Unable to add record: my.world4you.com:
$ms
g
"
return
1
return
1
fi
fi
}
}
# Usage: dns_world4you_rm <fqdn> <value>
# Usage: dns_world4you_rm <fqdn> <value>
dns_world4you_rm
()
{
dns_world4you_rm
()
{
fqdn
=
"
$1
"
fqdn
=
$(
echo
"
$1
"
| _lower_case
)
value
=
"
$2
"
value
=
"
$2
"
_info
"Using world4you to remove record"
_info
"Using world4you to remove record"
_debug fulldomain
"
$fqdn
"
_debug fulldomain
"
$fqdn
"
...
@@ -113,12 +113,12 @@ dns_world4you_rm() {
...
@@ -113,12 +113,12 @@ dns_world4you_rm() {
ret
=
$(
_post
"
$body
"
"
$WORLD4YOU_API
/
$paketnr
/dns/record/delete"
''
POST
'application/x-www-form-urlencoded'
)
ret
=
$(
_post
"
$body
"
"
$WORLD4YOU_API
/
$paketnr
/dns/record/delete"
''
POST
'application/x-www-form-urlencoded'
)
_resethttp
_resethttp
if
_contains
"
$(
_head_n
3
<
"
$HTTP_HEADER
"
)
"
'302'
;
then
if
_contains
"
$(
_head_n
1
<
"
$HTTP_HEADER
"
)
"
'302'
;
then
res
=
$(
_get
"
$WORLD4YOU_API
/
$paketnr
/dns"
)
res
=
$(
_get
"
$WORLD4YOU_API
/
$paketnr
/dns"
)
if
_contains
"
$res
"
"successfully"
;
then
if
_contains
"
$res
"
"successfully"
;
then
return
0
return
0
else
else
msg
=
$(
echo
"
$res
"
|
grep
-A
15
'data-type="danger"'
|
grep
"<h3[^>]*>[^<]"
|
sed
's/<[^>]*>
\|
^\s*//g'
)
msg
=
$(
echo
"
$res
"
|
grep
-A
15
'data-type="danger"'
|
grep
"<h3[^>]*>[^<]"
|
sed
's/<[^>]*>
//g'
|
sed
's/
^\s*//g'
)
if
[
"
$msg
"
=
''
]
;
then
if
[
"
$msg
"
=
''
]
;
then
_err
"Unable to remove record: Unknown error"
_err
"Unable to remove record: Unknown error"
echo
"
$ret
"
>
'error-01.html'
echo
"
$ret
"
>
'error-01.html'
...
@@ -130,8 +130,8 @@ dns_world4you_rm() {
...
@@ -130,8 +130,8 @@ dns_world4you_rm() {
return
1
return
1
fi
fi
else
else
_err
"
$(
_head_n 3 <
"
$HTTP_HEADER
"
)
"
msg
=
$(
echo
"
$ret
"
|
grep
"form-error-message"
|
sed
's/^.*<div class="form-error-message">\([^<]*\)<\/div>.*$/\1/'
)
_err
"
View
$HTTP_HEADER
for debuggin
g"
_err
"
Unable to remove record: my.world4you.com:
$ms
g
"
return
1
return
1
fi
fi
}
}
...
@@ -155,29 +155,42 @@ _login() {
...
@@ -155,29 +155,42 @@ _login() {
_saveaccountconf_mutable WORLD4YOU_USERNAME
"
$WORLD4YOU_USERNAME
"
_saveaccountconf_mutable WORLD4YOU_USERNAME
"
$WORLD4YOU_USERNAME
"
_saveaccountconf_mutable WORLD4YOU_PASSWORD
"
$WORLD4YOU_PASSWORD
"
_saveaccountconf_mutable WORLD4YOU_PASSWORD
"
$WORLD4YOU_PASSWORD
"
_resethttp
export
ACME_HTTP_NO_REDIRECTS
=
1
page
=
$(
_get
"
$WORLD4YOU_API
/login"
)
_resethttp
if
_contains
"
$(
_head_n 1 <
"
$HTTP_HEADER
"
)
"
'302'
;
then
_info
"Already logged in"
_parse_sessid
return
0
fi
_info
"Logging in..."
_info
"Logging in..."
username
=
"
$WORLD4YOU_USERNAME
"
username
=
"
$WORLD4YOU_USERNAME
"
password
=
"
$WORLD4YOU_PASSWORD
"
password
=
"
$WORLD4YOU_PASSWORD
"
csrf_token
=
$(
_get
"
$WORLD4YOU_API
/login
"
|
grep
'_csrf_token'
|
sed
's/^.*<input[^>]*value=\"\([^"]*\)\".*$/\1/'
)
csrf_token
=
$(
echo
"
$page
"
|
grep
'_csrf_token'
|
sed
's/^.*<input[^>]*value=\"\([^"]*\)\".*$/\1/'
)
sessid
=
$(
grep
'W4YSESSID'
<
"
$HTTP_HEADER
"
|
sed
's/^.*W4YSESSID=\([^;]*\);.*$/\1/'
)
_parse_sessid
export
_H1
=
"Cookie: W4YSESSID=
$sessid
"
export
_H1
=
"Cookie: W4YSESSID=
$sessid
"
export
_H2
=
"X-Requested-With: XMLHttpRequest"
export
_H2
=
"X-Requested-With: XMLHttpRequest"
body
=
"_username=
$username
&_password=
$password
&_csrf_token=
$csrf_token
"
body
=
"_username=
$username
&_password=
$password
&_csrf_token=
$csrf_token
"
ret
=
$(
_post
"
$body
"
"
$WORLD4YOU_API
/login"
''
POST
'application/x-www-form-urlencoded'
)
ret
=
$(
_post
"
$body
"
"
$WORLD4YOU_API
/login"
''
POST
'application/x-www-form-urlencoded'
)
unset
_H2
unset
_H2
_debug ret
"
$ret
"
_debug ret
"
$ret
"
if
_contains
"
$ret
"
"
\"
success
\"
:true"
;
then
if
_contains
"
$ret
"
"
\"
success
\"
:true"
;
then
_info
"Successfully logged in"
_info
"Successfully logged in"
sessid
=
$(
grep
'W4YSESSID'
<
"
$HTTP_HEADER
"
|
sed
's/^.*W4YSESSID=\([^;]*\);.*$/\1/'
)
_parse_sessid
else
else
_err
"Unable to log in:
$(
echo
"
$ret
"
|
sed
's/^.*"message":"\([^\"]*\)".*$/\1/'
)
"
msg
=
$(
echo
"
$ret
"
|
sed
's/^.*"message":"\([^\"]*\)".*$/\1/'
)
_err
"Unable to log in: my.world4you.com:
$msg
"
return
1
return
1
fi
fi
}
}
# Usage _get_paketnr <fqdn> <form>
# Usage
:
_get_paketnr <fqdn> <form>
_get_paketnr
()
{
_get_paketnr
()
{
fqdn
=
"
$1
"
fqdn
=
"
$1
"
form
=
"
$2
"
form
=
"
$2
"
...
@@ -200,3 +213,8 @@ _get_paketnr() {
...
@@ -200,3 +213,8 @@ _get_paketnr() {
PAKETNR
=
$(
echo
"
$form
"
|
grep
"data-textfilter=
\"
.*
$domain
"
| _tail_n 1 |
sed
"s|.*
$WORLD4YOU_API
/
\\
([0-9]*
\\
)/.*|
\\
1|"
)
PAKETNR
=
$(
echo
"
$form
"
|
grep
"data-textfilter=
\"
.*
$domain
"
| _tail_n 1 |
sed
"s|.*
$WORLD4YOU_API
/
\\
([0-9]*
\\
)/.*|
\\
1|"
)
return
0
return
0
}
}
# Usage: _parse_sessid
_parse_sessid
()
{
sessid
=
$(
grep
'W4YSESSID'
<
"
$HTTP_HEADER
"
| _tail_n 1 |
sed
's/^.*W4YSESSID=\([^;]*\);.*$/\1/'
)
}
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