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
b7d573a4
Commit
b7d573a4
authored
Mar 28, 2018
by
Ivar Larsson
Browse files
Merge branch 'dev' of github.com:Neilpang/acme.sh
parents
696d9c6b
4a62385d
Changes
5
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
b7d573a4
...
...
@@ -316,6 +316,7 @@ You don't have to do anything manually!
1.
DreamHost.com API
1.
DirectAdmin API
1.
KingHost (https://www.kinghost.com.br/)
1.
Zilore (https://zilore.com)
1.
Loopia.se API
And:
...
...
deploy/vault_cli.sh
View file @
b7d573a4
...
...
@@ -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.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
}
dnsapi/README.md
View file @
b7d573a4
...
...
@@ -799,7 +799,22 @@ 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.
## 43. Use Loopia.se API
## 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.
## 44. Use Loopia.se API
User must provide login credentials to the Loopia API.
The user needs the following permissions:
...
...
dnsapi/dns_namecom.sh
View file @
b7d573a4
...
...
@@ -123,7 +123,7 @@ _namecom_login() {
# Auth string
# Name.com API v4 uses http basic auth to authenticate
# 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
retcode
=
$(
printf
"%s
\n
"
"
$response
"
| _egrep_o
"
\"
username
\"\:\"
$Namecom_Username
\"
"
)
...
...
dnsapi/dns_zilore.sh
0 → 100644
View file @
b7d573a4
#!/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