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
c4df8090
Commit
c4df8090
authored
May 03, 2022
by
Marvo2011
Browse files
Merge branch 'acmesh-official-dev' into dev
parents
a092a2fa
fe3523f4
Changes
27
Hide whitespace changes
Inline
Side-by-side
dnsapi/dns_netlify.sh
View file @
c4df8090
...
...
@@ -114,7 +114,7 @@ _get_root() {
fi
if
_contains
"
$response
"
"
\"
name
\"
:
\"
$h
\"
"
>
/dev/null
;
then
_domain_id
=
$(
echo
"
$response
"
| _egrep_o
"
\"
[^
\"
]*
\"
,
\"
name
\"
:
\"
$h
"
|
cut
-d
,
-f
1 |
tr
-d
\"
)
_domain_id
=
$(
echo
"
$response
"
| _egrep_o
"
\"
[^
\"
]*
\"
,
\"
name
\"
:
\"
$h
\"
"
|
cut
-d
,
-f
1 |
tr
-d
\"
)
if
[
"
$_domain_id
"
]
;
then
if
[
"
$i
"
=
1
]
;
then
#create the record at the domain apex (@) if only the domain name was provided as --domain-alias
...
...
dnsapi/dns_opnsense.sh
View file @
c4df8090
...
...
@@ -150,8 +150,7 @@ _get_root() {
return
1
fi
_debug h
"
$h
"
id
=
$(
echo
"
$_domain_response
"
| _egrep_o
"
\"
[^
\"
]*
\"
:{
\"
enabled
\"
:
\"
1
\"
,
\"
type
\"
:{
\"
master
\"
:{
\"
value
\"
:
\"
master
\"
,
\"
selected
\"
:1},
\"
slave
\"
:{
\"
value
\"
:
\"
slave
\"
,
\"
selected
\"
:0}},
\"
masterip
\"
:{
\"\"
:{[^}]*}}(,
\"
allownotifyslave
\"
:{
\"\"
:{[^}]*}},|,)
\"
domainname
\"
:
\"
${
h
}
\"
"
|
cut
-d
':'
-f
1 |
cut
-d
'"'
-f
2
)
id
=
$(
echo
"
$_domain_response
"
| _egrep_o
"
\"
[^
\"
]*
\"
:{
\"
enabled
\"
:
\"
1
\"
,
\"
type
\"
:{
\"
master
\"
:{
\"
value
\"
:
\"
master
\"
,
\"
selected
\"
:1},
\"
slave
\"
:{
\"
value
\"
:
\"
slave
\"
,
\"
selected
\"
:0}},
\"
masterip
\"
:{
\"
[^
\"
]*
\"
:{[^}]*}},
\"
transferkeyalgo
\"
:{[^{]*{[^{]*{[^{]*{[^{]*{[^{]*{[^{]*{[^{]*{[^}]*}},
\"
transferkey
\"
:
\"
[^
\"
]*
\"
(,
\"
allownotifyslave
\"
:{
\"\"
:{[^}]*}},|,)
\"
domainname
\"
:
\"
${
h
}
\"
"
|
cut
-d
':'
-f
1 |
cut
-d
'"'
-f
2
)
if
[
-n
"
$id
"
]
;
then
_debug
id
"
$id
"
_host
=
$(
printf
"%s"
"
$domain
"
|
cut
-d
.
-f
1-
$p
)
...
...
dnsapi/dns_ovh.sh
View file @
c4df8090
...
...
@@ -198,6 +198,8 @@ dns_ovh_rm() {
if
!
_ovh_rest DELETE
"domain/zone/
$_domain
/record/
$rid
"
;
then
return
1
fi
_ovh_rest POST
"domain/zone/
$_domain
/refresh"
_debug
"Refresh:
$response
"
return
0
fi
done
...
...
dnsapi/dns_simply.sh
View file @
c4df8090
...
...
@@ -5,8 +5,8 @@
#SIMPLY_AccountName="accountname"
#SIMPLY_ApiKey="apikey"
#
#SIMPLY_Api="https://api.simply.com/
1/[ACCOUNTNAME]/[APIKEY]
"
SIMPLY_Api_Default
=
"https://api.simply.com/
1
"
#SIMPLY_Api="https://api.simply.com/
2/
"
SIMPLY_Api_Default
=
"https://api.simply.com/
2
"
#This is used for determining success of REST call
SIMPLY_SUCCESS_CODE
=
'"status":200'
...
...
@@ -237,12 +237,18 @@ _simply_rest() {
_debug2 ep
"
$ep
"
_debug2 m
"
$m
"
export
_H1
=
"Content-Type: application/json"
basicauth
=
$(
printf
"%s:%s"
"
$SIMPLY_AccountName
"
"
$SIMPLY_ApiKey
"
| _base64
)
if
[
"
$basicauth
"
]
;
then
export
_H1
=
"Authorization: Basic
$basicauth
"
fi
export
_H2
=
"Content-Type: application/json"
if
[
"
$m
"
!=
"GET"
]
;
then
response
=
"
$(
_post
"
$data
"
"
$SIMPLY_Api
/
$
SIMPLY_AccountName
/
$SIMPLY_ApiKey
/
$
ep
"
""
"
$m
"
)
"
response
=
"
$(
_post
"
$data
"
"
$SIMPLY_Api
/
$ep
"
""
"
$m
"
)
"
else
response
=
"
$(
_get
"
$SIMPLY_Api
/
$
SIMPLY_AccountName
/
$SIMPLY_ApiKey
/
$
ep
"
)
"
response
=
"
$(
_get
"
$SIMPLY_Api
/
$ep
"
)
"
fi
if
[
"
$?
"
!=
"0"
]
;
then
...
...
dnsapi/dns_world4you.sh
View file @
c4df8090
...
...
@@ -54,15 +54,14 @@ dns_world4you_add() {
if
_contains
"
$res
"
"successfully"
;
then
return
0
else
msg
=
$(
echo
"
$res
"
|
tr
'\n'
'\t'
|
sed
's/.*<h3 class="mb-5">[^\t]*\t *\([^\t]*\)\t.*/\1/'
)
if
_contains
"
$msg
"
'^<\!DOCTYPE html>'
;
then
msg
=
'Unknown error'
fi
_err
"Unable to add record:
$msg
"
if
_contains
"
$msg
"
'^<\!DOCTYPE html>'
;
then
msg
=
$(
echo
"
$res
"
|
grep
-A
15
'data-type="danger"'
|
grep
"<h3[^>]*>[^<]"
|
sed
's/<[^>]*>\|^\s*//g'
)
if
[
"
$msg
"
=
''
]
;
then
_err
"Unable to add record: Unknown error"
echo
"
$ret
"
>
'error-01.html'
echo
"
$res
"
>
'error-02.html'
_err
"View error-01.html and error-02.html for debugging"
else
_err
"Unable to add record: my.world4you.com:
$msg
"
fi
return
1
fi
...
...
@@ -119,15 +118,14 @@ dns_world4you_rm() {
if
_contains
"
$res
"
"successfully"
;
then
return
0
else
msg
=
$(
echo
"
$res
"
|
tr
'\n'
'\t'
|
sed
's/.*<h3 class="mb-5">[^\t]*\t *\([^\t]*\)\t.*/\1/'
)
if
_contains
"
$msg
"
'^<\!DOCTYPE html>'
;
then
msg
=
'Unknown error'
fi
_err
"Unable to remove record:
$msg
"
if
_contains
"
$msg
"
'^<\!DOCTYPE html>'
;
then
msg
=
$(
echo
"
$res
"
|
grep
-A
15
'data-type="danger"'
|
grep
"<h3[^>]*>[^<]"
|
sed
's/<[^>]*>\|^\s*//g'
)
if
[
"
$msg
"
=
''
]
;
then
_err
"Unable to remove record: Unknown error"
echo
"
$ret
"
>
'error-01.html'
echo
"
$res
"
>
'error-02.html'
_err
"View error-01.html and error-02.html for debugging"
else
_err
"Unable to remove record: my.world4you.com:
$msg
"
fi
return
1
fi
...
...
@@ -199,6 +197,6 @@ _get_paketnr() {
TLD
=
"
$domain
"
_debug domain
"
$domain
"
RECORD
=
$(
echo
"
$fqdn
"
|
cut
-c
"1-
$((${#
fqdn
}
-
${#
TLD
}
-
1
))
"
)
PAKETNR
=
$(
echo
"
$form
"
|
grep
"data-textfilter=
\"
.*
$domain
"
| _
head
_n 1 |
sed
's/^.* \([0-9]*\) .*$/\1/'
)
PAKETNR
=
$(
echo
"
$form
"
|
grep
"data-textfilter=
\"
.*
$domain
"
| _
tail
_n 1 |
sed
"s|.*
$WORLD4YOU_API
/
\\
([0-9]*
\\
)/.*|
\\
1|"
)
return
0
}
notify/discord.sh
0 → 100644
View file @
c4df8090
#!/usr/bin/env sh
#Support Discord webhooks
# Required:
#DISCORD_WEBHOOK_URL=""
# Optional:
#DISCORD_USERNAME=""
#DISCORD_AVATAR_URL=""
discord_send
()
{
_subject
=
"
$1
"
_content
=
"
$2
"
_statusCode
=
"
$3
"
#0: success, 1: error 2($RENEW_SKIP): skipped
_debug
"_statusCode"
"
$_statusCode
"
DISCORD_WEBHOOK_URL
=
"
${
DISCORD_WEBHOOK_URL
:-
$(
_readaccountconf_mutable DISCORD_WEBHOOK_URL
)
}
"
if
[
-z
"
$DISCORD_WEBHOOK_URL
"
]
;
then
DISCORD_WEBHOOK_URL
=
""
_err
"You didn't specify a Discord webhook url DISCORD_WEBHOOK_URL yet."
return
1
fi
_saveaccountconf_mutable DISCORD_WEBHOOK_URL
"
$DISCORD_WEBHOOK_URL
"
DISCORD_USERNAME
=
"
${
DISCORD_USERNAME
:-
$(
_readaccountconf_mutable DISCORD_USERNAME
)
}
"
if
[
"
$DISCORD_USERNAME
"
]
;
then
_saveaccountconf_mutable DISCORD_USERNAME
"
$DISCORD_USERNAME
"
fi
DISCORD_AVATAR_URL
=
"
${
DISCORD_AVATAR_URL
:-
$(
_readaccountconf_mutable DISCORD_AVATAR_URL
)
}
"
if
[
"
$DISCORD_AVATAR_URL
"
]
;
then
_saveaccountconf_mutable DISCORD_AVATAR_URL
"
$DISCORD_AVATAR_URL
"
fi
export
_H1
=
"Content-Type: application/json"
_content
=
"
$(
printf
"**%s**
\n
%s"
"
$_subject
"
"
$_content
"
| _json_encode
)
"
_data
=
"{
\"
content
\"
:
\"
$_content
\"
"
if
[
"
$DISCORD_USERNAME
"
]
;
then
_data
=
"
$_data
,
\"
username
\"
:
\"
$DISCORD_USERNAME
\"
"
fi
if
[
"
$DISCORD_AVATAR_URL
"
]
;
then
_data
=
"
$_data
,
\"
avatar_url
\"
:
\"
$DISCORD_AVATAR_URL
\"
"
fi
_data
=
"
$_data
}"
if
_post
"
$_data
"
"
$DISCORD_WEBHOOK_URL
?wait=true"
;
then
# shellcheck disable=SC2154
if
[
"
$response
"
]
;
then
_info
"discord send success."
return
0
fi
fi
_err
"discord send error."
_err
"
$response
"
return
1
}
notify/weixin_work.sh
0 → 100644
View file @
c4df8090
#!/usr/bin/env sh
#Support weixin work webhooks api
#WEIXIN_WORK_WEBHOOK="xxxx"
#optional
#WEIXIN_WORK_KEYWORD="yyyy"
#`WEIXIN_WORK_SIGNING_KEY`="SEC08ffdbd403cbc3fc8a65xxxxxxxxxxxxxxxxxxxx"
# subject content statusCode
weixin_work_send
()
{
_subject
=
"
$1
"
_content
=
"
$2
"
_statusCode
=
"
$3
"
#0: success, 1: error 2($RENEW_SKIP): skipped
_debug
"_subject"
"
$_subject
"
_debug
"_content"
"
$_content
"
_debug
"_statusCode"
"
$_statusCode
"
WEIXIN_WORK_WEBHOOK
=
"
${
WEIXIN_WORK_WEBHOOK
:-
$(
_readaccountconf_mutable WEIXIN_WORK_WEBHOOK
)
}
"
if
[
-z
"
$WEIXIN_WORK_WEBHOOK
"
]
;
then
WEIXIN_WORK_WEBHOOK
=
""
_err
"You didn't specify a weixin_work webhooks WEIXIN_WORK_WEBHOOK yet."
_err
"You can get yours from https://work.weixin.qq.com/api/doc/90000/90136/91770"
return
1
fi
_saveaccountconf_mutable WEIXIN_WORK_WEBHOOK
"
$WEIXIN_WORK_WEBHOOK
"
WEIXIN_WORK_KEYWORD
=
"
${
WEIXIN_WORK_KEYWORD
:-
$(
_readaccountconf_mutable WEIXIN_WORK_KEYWORD
)
}
"
if
[
"
$WEIXIN_WORK_KEYWORD
"
]
;
then
_saveaccountconf_mutable WEIXIN_WORK_KEYWORD
"
$WEIXIN_WORK_KEYWORD
"
fi
_content
=
$(
echo
"
$_content
"
| _json_encode
)
_subject
=
$(
echo
"
$_subject
"
| _json_encode
)
_data
=
"{
\"
msgtype
\"
:
\"
text
\"
,
\"
text
\"
: {
\"
content
\"
:
\"
[
$WEIXIN_WORK_KEYWORD
]
\n
$_subject
\n
$_content
\"
}}"
response
=
"
$(
_post
"
$_data
"
"
$WEIXIN_WORK_WEBHOOK
"
""
"POST"
"application/json"
)
"
if
[
"
$?
"
=
"0"
]
&&
_contains
"
$response
"
"errmsg
\"
:
\"
ok"
;
then
_info
"weixin_work webhooks event fired success."
return
0
fi
_err
"weixin_work webhooks event fired error."
_err
"
$response
"
return
1
}
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