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
521d8c4b
Unverified
Commit
521d8c4b
authored
Mar 29, 2018
by
neil
Committed by
GitHub
Mar 29, 2018
Browse files
Merge pull request #1464 from Neilpang/dev
sync
parents
f0365d32
4a62385d
Changes
5
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
521d8c4b
...
@@ -316,6 +316,7 @@ You don't have to do anything manually!
...
@@ -316,6 +316,7 @@ You don't have to do anything manually!
1.
DreamHost.com API
1.
DreamHost.com API
1.
DirectAdmin API
1.
DirectAdmin API
1.
KingHost (https://www.kinghost.com.br/)
1.
KingHost (https://www.kinghost.com.br/)
1.
Zilore (https://zilore.com)
And:
And:
...
...
deploy/vault_cli.sh
View file @
521d8c4b
...
@@ -51,6 +51,7 @@ vault_cli_deploy() {
...
@@ -51,6 +51,7 @@ vault_cli_deploy() {
$VAULT_CMD
write
"
${
VAULT_PREFIX
}
/
${
_cdomain
}
/cert.pem"
value
=
@
"
$_ccert
"
||
return
1
$VAULT_CMD
write
"
${
VAULT_PREFIX
}
/
${
_cdomain
}
/cert.pem"
value
=
@
"
$_ccert
"
||
return
1
$VAULT_CMD
write
"
${
VAULT_PREFIX
}
/
${
_cdomain
}
/cert.key"
value
=
@
"
$_ckey
"
||
return
1
$VAULT_CMD
write
"
${
VAULT_PREFIX
}
/
${
_cdomain
}
/cert.key"
value
=
@
"
$_ckey
"
||
return
1
$VAULT_CMD
write
"
${
VAULT_PREFIX
}
/
${
_cdomain
}
/chain.pem"
value
=
@
"
$_cca
"
||
return
1
$VAULT_CMD
write
"
${
VAULT_PREFIX
}
/
${
_cdomain
}
/fullchain.pem"
value
=
@
"
$_cfullchain
"
||
return
1
$VAULT_CMD
write
"
${
VAULT_PREFIX
}
/
${
_cdomain
}
/fullchain.pem"
value
=
@
"
$_cfullchain
"
||
return
1
}
}
dnsapi/README.md
View file @
521d8c4b
...
@@ -799,6 +799,21 @@ acme.sh --issue --dns dns_kinghost -d example.com -d *.example.com
...
@@ -799,6 +799,21 @@ 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.
The
`KINGHOST_username`
and
`KINGHOST_Password`
will be saved in
`~/.acme.sh/account.conf`
and will be reused when needed.
## 43. Use Zilore DNS API
First, get your API key at https://my.zilore.com/account/api
```
export Zilore_Key="5dcad3a2-36cb-50e8-cb92-000002f9"
```
Ok, let's issue a cert now:
```
acme.sh --issue --dns dns_zilore -d example.com -d *.example.com
```
The
`Zilore_Key`
will be saved in
`~/.acme.sh/account.conf`
and will be reused when needed.
# Use custom API
# Use custom API
If your API is not supported yet, you can write your own DNS API.
If your API is not supported yet, you can write your own DNS API.
...
...
dnsapi/dns_namecom.sh
View file @
521d8c4b
...
@@ -123,7 +123,7 @@ _namecom_login() {
...
@@ -123,7 +123,7 @@ _namecom_login() {
# Auth string
# Auth string
# Name.com API v4 uses http basic auth to authenticate
# Name.com API v4 uses http basic auth to authenticate
# need to convert the token for http auth
# need to convert the token for http auth
_namecom_auth
=
$(
printf
"%s:%s"
"
$Namecom_Username
"
"
$Namecom_Token
"
|
base64
)
_namecom_auth
=
$(
printf
"%s:%s"
"
$Namecom_Username
"
"
$Namecom_Token
"
|
_
base64
)
if
_namecom_rest GET
"hello"
;
then
if
_namecom_rest GET
"hello"
;
then
retcode
=
$(
printf
"%s
\n
"
"
$response
"
| _egrep_o
"
\"
username
\"\:\"
$Namecom_Username
\"
"
)
retcode
=
$(
printf
"%s
\n
"
"
$response
"
| _egrep_o
"
\"
username
\"\:\"
$Namecom_Username
\"
"
)
...
...
dnsapi/dns_zilore.sh
0 → 100644
View file @
521d8c4b
#!/usr/bin/env sh
Zilore_API
=
"https://api.zilore.com/dns/v1"
# Zilore_Key="YOUR-ZILORE-API-KEY"
######## Public functions #####################
dns_zilore_add
()
{
fulldomain
=
$1
txtvalue
=
$2
_info
"Using Zilore"
_debug fulldomain
"
$fulldomain
"
_debug txtvalue
"
$txtvalue
"
Zilore_Key
=
"
${
Zilore_Key
:-
$(
_readaccountconf_mutable Zilore_Key
)
}
"
if
[
-z
"
$Zilore_Key
"
]
;
then
Zilore_Key
=
""
_err
"Please define Zilore API key"
return
1
fi
_saveaccountconf_mutable Zilore_Key
"
$Zilore_Key
"
if
!
_get_root
"
$fulldomain
"
;
then
_err
"Unable to determine root domain"
return
1
else
_debug _domain
"
$_domain
"
fi
if
_zilore_rest POST
"domains/
$_domain
/records?record_type=TXT&record_ttl=600&record_name=
$fulldomain
&record_value=
\"
$txtvalue
\"
"
;
then
if
_contains
"
$response
"
'"added"'
>
/dev/null
;
then
_info
"Added TXT record, waiting for validation"
return
0
else
_debug response
"
$response
"
_err
"Error while adding DNS records"
return
1
fi
fi
return
1
}
dns_zilore_rm
()
{
fulldomain
=
$1
txtvalue
=
$2
_info
"Using Zilore"
_debug fulldomain
"
$fulldomain
"
_debug txtvalue
"
$txtvalue
"
Zilore_Key
=
"
${
Zilore_Key
:-
$(
_readaccountconf_mutable Zilore_Key
)
}
"
if
[
-z
"
$Zilore_Key
"
]
;
then
Zilore_Key
=
""
_err
"Please define Zilore API key"
return
1
fi
_saveaccountconf_mutable Zilore_Key
"
$Zilore_Key
"
if
!
_get_root
"
$fulldomain
"
;
then
_err
"Unable to determine root domain"
return
1
else
_debug _domain
"
$_domain
"
fi
_debug
"Getting TXT records"
_zilore_rest GET
"domains/
${
_domain
}
/records?search_text=
$txtvalue
&search_record_type=TXT"
_debug response
"
$response
"
if
!
_contains
"
$response
"
'"ok"'
>
/dev/null
;
then
_err
"Error while getting records list"
return
1
else
_record_id
=
$(
printf
"%s
\n
"
"
$response
"
| _egrep_o
"
\"
record_id
\"
:
\"
[^
\"
]+
\"
"
|
cut
-d
:
-f
2 |
tr
-d
\"
| _head_n 1
)
if
[
-z
"
$_record_id
"
]
;
then
_err
"Cannot determine _record_id"
return
1
else
_debug _record_id
"
$_record_id
"
fi
if
!
_zilore_rest DELETE
"domains/
${
_domain
}
/records?record_id=
$_record_id
"
;
then
_err
"Error while deleting chosen record"
return
1
fi
_contains
"
$response
"
'"ok"'
fi
}
#################### Private functions below ##################################
_get_root
()
{
domain
=
$1
i
=
2
while
true
;
do
h
=
$(
printf
"%s"
"
$domain
"
|
cut
-d
.
-f
$i
-100
)
_debug h
"
$h
"
if
[
-z
"
$h
"
]
;
then
#not valid
return
1
fi
if
!
_zilore_rest GET
"domains?search_text=
$h
"
;
then
return
1
fi
if
_contains
"
$response
"
"
\"
$h
\"
"
>
/dev/null
;
then
_domain
=
$h
return
0
else
_debug
"
$h
not found"
fi
i
=
$(
_math
"
$i
"
+ 1
)
done
return
1
}
_zilore_rest
()
{
method
=
$1
param
=
$2
data
=
$3
export
_H1
=
"X-Auth-Key:
$Zilore_Key
"
if
[
"
$method
"
!=
"GET"
]
;
then
response
=
"
$(
_post
"
$data
"
"
$Zilore_API
/
$param
"
""
"
$method
"
)
"
else
response
=
"
$(
_get
"
$Zilore_API
/
$param
"
)
"
fi
if
[
"
$?
"
!=
"0"
]
;
then
_err
"error
$param
"
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