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
2c83224f
Commit
2c83224f
authored
Feb 11, 2018
by
Martin Donlon
Browse files
Fixup dns_dreamhost travis failures
parent
ce02ad64
Changes
3
Show whitespace changes
Inline
Side-by-side
README.md
View file @
2c83224f
...
@@ -302,6 +302,7 @@ You don't have to do anything manually!
...
@@ -302,6 +302,7 @@ You don't have to do anything manually!
1.
Dynu API (https://www.dynu.com)
1.
Dynu API (https://www.dynu.com)
1.
DNSimple API
1.
DNSimple API
1.
NS1.com API
1.
NS1.com API
1.
DreamHost.com API
1.
DuckDNS.org API
1.
DuckDNS.org API
1.
Name.com API
1.
Name.com API
1.
Dyn Managed DNS API
1.
Dyn Managed DNS API
...
...
dnsapi/README.md
View file @
2c83224f
...
@@ -719,6 +719,18 @@ acme.sh --issue --dns dns_selectel -d example.com -d www.example.com
...
@@ -719,6 +719,18 @@ acme.sh --issue --dns dns_selectel -d example.com -d www.example.com
The
`SL_Key`
will be saved in
`~/.acme.sh/account.conf`
and will be reused when needed.
The
`SL_Key`
will be saved in
`~/.acme.sh/account.conf`
and will be reused when needed.
## 39. Use DreamHost DNS API
DNS API keys may be created at https://panel.dreamhost.com/?tree=home.api.
Ensure the created key has add and remove privelages.
```
export DH_API_Key="<api key>"
acme.sh --issue --dns dns_dreamhost -d example.com -d www.example.com
```
The 'DH_API_KEY' will be saved in
`~/.acme.sh/account.conf`
and will
be reused when needed.
# Use custom API
# Use custom API
...
...
dnsapi/dns_dreamhost.sh
0 → 100644
View file @
2c83224f
#!/usr/bin/env sh
#Author: RhinoLance
#Report Bugs here: https://github.com/RhinoLance/acme.sh
#
#define the api endpoint
DH_API_ENDPOINT
=
"https://api.dreamhost.com/"
querystring
=
""
######## Public functions #####################
#Usage: dns_myapi_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
dns_dreamhost_add
()
{
fulldomain
=
$1
txtvalue
=
$2
if
!
validate
"
$fulldomain
"
"
$txtvalue
"
;
then
return
1
fi
querystring
=
"key=
$DH_API_KEY
&cmd=dns-add_record&record=
$fulldomain
&type=TXT&value=
$txtvalue
"
if
!
submit
"
$querystring
"
;
then
return
1
fi
return
0
}
#Usage: fulldomain txtvalue
#Remove the txt record after validation.
dns_dreamhost_rm
()
{
fulldomain
=
$1
txtvalue
=
$2
if
!
validate
"
$fulldomain
"
"
$txtvalue
"
;
then
return
1
fi
querystring
=
"key=
$DH_API_KEY
&cmd=dns-remove_record&record=
$fulldomain
&type=TXT&value=
$txtvalue
"
if
!
submit
"
$querystring
"
;
then
return
1
fi
return
0
}
#################### Private functions below ##################################
#send the command to the api endpoint.
submit
()
{
querystring
=
$1
url
=
"
$DH_API_ENDPOINT
?
$querystring
"
_debug url
"
$url
"
if
!
response
=
"
$(
_get
"
$url
"
)
"
;
then
_err
"Error <
$1
>"
return
1
fi
if
[
-z
"
$2
"
]
;
then
message
=
"
$(
printf
"%s"
"
$response
"
| _egrep_o
"
\"
Message
\"
:
\"
[^
\"
]*
\"
"
|
cut
-d
:
-f
2 |
tr
-d
\"
)
"
if
[
-n
"
$message
"
]
;
then
_err
"
$message
"
return
1
fi
fi
_debug response
"
$response
"
return
0
}
#check that we have a valid API Key
validate
()
{
fulldomain
=
$1
txtvalue
=
$2
_info
"Using dreamhost"
_debug fulldomain
"
$fulldomain
"
_debug txtvalue
"
$txtvalue
"
#retrieve the API key from the environment variable if it exists, otherwise look for a saved key.
DH_API_KEY
=
"
${
DH_API_KEY
:-
$(
_readaccountconf_mutable DH_API_KEY
)
}
"
if
[
-z
"
$DH_API_KEY
"
]
;
then
DH_API_KEY
=
""
_err
"You didn't specify the DreamHost api key yet (export DH_API_KEY=
\"
<api key>
\"
)"
_err
"Please login to your control panel, create a key and try again."
return
1
fi
#save the api key to the account conf file.
_saveaccountconf_mutable DH_API_KEY
"
$DH_API_KEY
"
}
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