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
795764f2
Unverified
Commit
795764f2
authored
Mar 28, 2018
by
neil
Committed by
GitHub
Mar 28, 2018
Browse files
Merge pull request #1420 from kinghost/master
Add dns_kinghost.sh
parents
09576f2f
986f61ac
Changes
3
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
795764f2
...
@@ -315,6 +315,7 @@ You don't have to do anything manually!
...
@@ -315,6 +315,7 @@ You don't have to do anything manually!
1.
zonomi.com DNS API
1.
zonomi.com DNS API
1.
DreamHost.com API
1.
DreamHost.com API
1.
DirectAdmin API
1.
DirectAdmin API
1.
KingHost (https://www.kinghost.com.br/)
And:
And:
...
...
dnsapi/README.md
View file @
795764f2
...
@@ -787,6 +787,17 @@ acme.sh --issue --dns dns_da -d example.com -d www.example.com
...
@@ -787,6 +787,17 @@ acme.sh --issue --dns dns_da -d example.com -d www.example.com
The
`DA_Api`
and
`DA_Api_Insecure`
will be saved in
`~/.acme.sh/account.conf`
and will be reused when needed.
The
`DA_Api`
and
`DA_Api_Insecure`
will be saved in
`~/.acme.sh/account.conf`
and will be reused when needed.
## 42. Use KingHost DNS API
API access must be enabled at https://painel.kinghost.com.br/painel.api.php
```
export KINGHOST_Username="yourusername"
export KINGHOST_Password="yourpassword"
acme.sh --issue --dns dns_kinghost -d example.com -d *.example.com
```
The
`KINGHOST_username`
and
`KINGHOST_Password`
will be saved in
`~/.acme.sh/account.conf`
and will be reused when needed.
# Use custom API
# Use custom API
...
...
dnsapi/dns_kinghost.sh
0 → 100644
View file @
795764f2
#!/usr/bin/env sh
############################################################
# KingHost API support #
# http://api.kinghost.net/doc/ #
# #
# Author: Felipe Keller Braz <felipebraz@kinghost.com.br> #
# Report Bugs here: https://github.com/kinghost/acme.sh #
# #
# Values to export: #
# export KINGHOST_Username="email@provider.com" #
# export KINGHOST_Password="xxxxxxxxxx" #
############################################################
KING_Api
=
"https://api.kinghost.net/acme"
# Usage: add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
# Used to add txt record
dns_kinghost_add
()
{
fulldomain
=
$1
txtvalue
=
$2
KINGHOST_Username
=
"
${
KINGHOST_Username
:-
$(
_readaccountconf_mutable KINGHOST_Username
)
}
"
KINGHOST_Password
=
"
${
KINGHOST_Password
:-
$(
_readaccountconf_mutable KINGHOST_Password
)
}
"
if
[
-z
"
$KINGHOST_Username
"
]
||
[
-z
"
$KINGHOST_Password
"
]
;
then
KINGHOST_Username
=
""
KINGHOST_Password
=
""
_err
"You don't specify KingHost api password and email yet."
_err
"Please create you key and try again."
return
1
fi
#save the credentials to the account conf file.
_saveaccountconf_mutable KINGHOST_Username
"
$KINGHOST_Username
"
_saveaccountconf_mutable KINGHOST_Password
"
$KINGHOST_Password
"
_debug
"Getting txt records"
_kinghost_rest GET
"dns"
"name=
$fulldomain
&content=
$txtvalue
"
#This API call returns "status":"ok" if dns record does not exists
#We are creating a new txt record here, so we expect the "ok" status
if
!
echo
"
$response
"
|
grep
'"status":"ok"'
>
/dev/null
;
then
_err
"Error"
_err
"
$response
"
return
1
fi
_kinghost_rest POST
"dns"
"name=
$fulldomain
&content=
$txtvalue
"
if
!
echo
"
$response
"
|
grep
'"status":"ok"'
>
/dev/null
;
then
_err
"Error"
_err
"
$response
"
return
1
fi
return
0
}
# Usage: fulldomain txtvalue
# Used to remove the txt record after validation
dns_kinghost_rm
()
{
fulldomain
=
$1
txtvalue
=
$2
KINGHOST_Password
=
"
${
KINGHOST_Password
:-
$(
_readaccountconf_mutable KINGHOST_Password
)
}
"
KINGHOST_Username
=
"
${
KINGHOST_Username
:-
$(
_readaccountconf_mutable KINGHOST_Username
)
}
"
if
[
-z
"
$KINGHOST_Password
"
]
||
[
-z
"
$KINGHOST_Username
"
]
;
then
KINGHOST_Password
=
""
KINGHOST_Username
=
""
_err
"You don't specify KingHost api key and email yet."
_err
"Please create you key and try again."
return
1
fi
_kinghost_rest DELETE
"dns"
"name=
$fulldomain
&content=
$txtvalue
"
if
!
echo
"
$response
"
|
grep
'"status":"ok"'
>
/dev/null
;
then
_err
"Error"
_err
"
$response
"
return
1
fi
return
0
}
#################### Private functions below ##################################
_kinghost_rest
()
{
method
=
$1
uri
=
"
$2
"
data
=
"
$3
"
_debug
"
$uri
"
export
_H1
=
"X-Auth-Email:
$KINGHOST_Username
"
export
_H2
=
"X-Auth-Key:
$KINGHOST_Password
"
if
[
"
$method
"
!=
"GET"
]
;
then
_debug data
"
$data
"
response
=
"
$(
_post
"
$data
"
"
$KING_Api
/
$uri
.json"
""
"
$method
"
)
"
else
response
=
"
$(
_get
"
$KING_Api
/
$uri
.json?
$data
"
)
"
fi
if
[
"
$?
"
!=
"0"
]
;
then
_err
"error
$uri
"
return
1
fi
_debug2 response
"
$response
"
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