diff --git a/README.md b/README.md index 104532b..bb5c7c5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# An ACME Shell script: acme.sh +# An ACME Shell script: acme.sh [![Build Status](https://travis-ci.org/Neilpang/acme.sh.svg?branch=master)](https://travis-ci.org/Neilpang/acme.sh) - An ACME protocol client written purely in Shell (Unix shell) language. - Fully ACME protocol implementation. - Simple, powerful and very easy to use. You only need 3 minutes to learn. @@ -256,6 +256,7 @@ You don't have do anything manually! (DigitalOcean, DNSimple, DnsMadeEasy, DNSPark, EasyDNS, Namesilo, NS1, PointHQ, Rage4 and Vultr etc.) 9. LuaDNS.com API 10. DNSMadeEasy.com API +11. nsupdate ##### More APIs are coming soon... diff --git a/acme.sh b/acme.sh index e5dabb3..54e3373 100755 --- a/acme.sh +++ b/acme.sh @@ -3592,6 +3592,11 @@ _initconf() { # #GD_Secret=\"sADDsdasdfsdfdssdgdsf\" +####################### +#nsupdate: +#NSUPDATE_KEY=\"/path/to/update.key\" +#NSUPDATE_SERVER=\"192.168.0.1\" + ####################### #PowerDNS: #PDNS_Url=\"http://ns.example.com:8081\" diff --git a/dnsapi/README.md b/dnsapi/README.md index 7eff6de..34be507 100644 --- a/dnsapi/README.md +++ b/dnsapi/README.md @@ -1,6 +1,6 @@ # How to use dns api -## Use CloudFlare domain api to automatically issue cert +## 1. Use CloudFlare domain api to automatically issue cert For now, we support clourflare integeration. @@ -22,7 +22,7 @@ The `CF_Key` and `CF_Email` will be saved in `~/.acme.sh/account.conf`, when ne -## Use Dnspod.cn domain api to automatically issue cert +## 2. Use Dnspod.cn domain api to automatically issue cert For now, we support dnspod.cn integeration. @@ -43,7 +43,7 @@ acme.sh --issue --dns dns_dp -d example.com -d www.example.com The `DP_Id` and `DP_Key` will be saved in `~/.acme.sh/account.conf`, when next time you use dnspod.cn api, it will reuse this key. -## Use Cloudxns.com domain api to automatically issue cert +## 3. Use Cloudxns.com domain api to automatically issue cert For now, we support Cloudxns.com integeration. @@ -64,7 +64,7 @@ acme.sh --issue --dns dns_cx -d example.com -d www.example.com The `CX_Key` and `CX_Secret` will be saved in `~/.acme.sh/account.conf`, when next time you use Cloudxns.com api, it will reuse this key. -## Use Godaddy.com domain api to automatically issue cert +## 4. Use Godaddy.com domain api to automatically issue cert We support Godaddy integration. @@ -89,7 +89,7 @@ acme.sh --issue --dns dns_gd -d example.com -d www.example.com The `GD_Key` and `GD_Secret` will be saved in `~/.acme.sh/account.conf`, when next time you use cloudflare api, it will reuse this key. -## Use PowerDNS embedded api to automatically issue cert +## 5. Use PowerDNS embedded api to automatically issue cert We support PowerDNS embedded API integration. @@ -112,31 +112,61 @@ acme.sh --issue --dns dns_pdns -d example.com -d www.example.com The `PDNS_Url`, `PDNS_ServerId`, `PDNS_Token` and `PDNS_Ttl` will be saved in `~/.acme.sh/account.conf`. -## Use OVH/kimsufi/soyoustart/runabove API -https://github.com/Neilpang/acme.sh/wiki/How-to-use-OVH-domain-api - -# Use custom api +## 6. Use OVH/kimsufi/soyoustart/runabove API -If your api is not supported yet, you can write your own dns api. +https://github.com/Neilpang/acme.sh/wiki/How-to-use-OVH-domain-api -Let's assume you want to name it 'myapi', +## 7. Use nsupdate to automatically issue cert -1. Create a bash script named `~/.acme.sh/dns_myapi.sh`, -2. In the script, you must have a function named `dns_myapi_add()`. Which will be called by acme.sh to add dns records. -3. Then you can use your api to issue cert like: +First, generate a key for updating the zone +``` +b=$(dnssec-keygen -a hmac-sha512 -b 512 -n USER -K /tmp foo) +cat > /etc/named/keys/update.key <