Browse Source

Merge pull request #51 from Neilpang/dnsapi

support account config file to save dns api key
Neil 9 years ago
parent
commit
35ea0c8d13
2 changed files with 42 additions and 2 deletions
  1. 4 0
      dnsapi/dns-cf.sh
  2. 38 2
      le.sh

+ 4 - 0
dnsapi/dns-cf.sh

@@ -22,6 +22,10 @@ dns-cf-add() {
     return 1
     return 1
   fi
   fi
   
   
+  #save the api key and email to the account conf file.
+  _saveaccountconf CF_Key "$CF_Key"
+  _saveaccountconf CF_Email "$CF_Email"
+  
   _debug "First detect the root zone"
   _debug "First detect the root zone"
   if ! _get_root $fulldomain ; then
   if ! _get_root $fulldomain ; then
     _err "invalid domain"
     _err "invalid domain"

+ 38 - 2
le.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/bin/bash
-VER=1.1.2
+VER=1.1.3
 PROJECT="https://github.com/Neilpang/le"
 PROJECT="https://github.com/Neilpang/le"
 
 
 DEFAULT_CA="https://acme-v01.api.letsencrypt.org"
 DEFAULT_CA="https://acme-v01.api.letsencrypt.org"
@@ -242,6 +242,29 @@ _setopt() {
   _debug "$(grep -H -n "^$__opt$__sep" $__conf)"
   _debug "$(grep -H -n "^$__opt$__sep" $__conf)"
 }
 }
 
 
+#_savedomainconf   key  value
+#save to domain.conf
+_savedomainconf() {
+  key="$1"
+  value="$2"
+  if [ "$DOMAIN_CONF" ] ; then
+    _setopt $DOMAIN_CONF "$key" "=" "$value"
+  else
+    _debug "DOMAIN_CONF is empty, can not save $key=$value"
+  fi
+}
+
+#_saveaccountconf  key  value
+_saveaccountconf() {
+  key="$1"
+  value="$2"
+  if [ "$ACCOUNT_CONF_PATH" ] ; then
+    _setopt $ACCOUNT_CONF_PATH "$key" "=" "$value"
+  else
+    _debug "ACCOUNT_CONF_PATH is empty, can not save $key=$value"
+  fi
+}
+
 _startserver() {
 _startserver() {
   content="$1"
   content="$1"
   _NC="nc -q 1"
   _NC="nc -q 1"
@@ -296,7 +319,15 @@ _initpath() {
   mkdir -p "$WORKING_DIR"
   mkdir -p "$WORKING_DIR"
   
   
   if [ -z "$ACCOUNT_KEY_PATH" ] ; then
   if [ -z "$ACCOUNT_KEY_PATH" ] ; then
-    ACCOUNT_KEY_PATH="$WORKING_DIR/account.acc"
+    ACCOUNT_KEY_PATH="$WORKING_DIR/account.key"
+  fi
+  
+  if [ -z "$ACCOUNT_CONF_PATH" ] ; then
+    ACCOUNT_CONF_PATH="$WORKING_DIR/account.conf"
+  fi
+  
+  if [ -f "$ACCOUNT_CONF_PATH" ] ; then
+    source "$ACCOUNT_CONF_PATH"
   fi
   fi
   
   
   if [ -z "$domain" ] ; then
   if [ -z "$domain" ] ; then
@@ -1040,6 +1071,11 @@ install() {
   mkdir -p $WORKING_DIR/dnsapi
   mkdir -p $WORKING_DIR/dnsapi
   cp  dnsapi/* $WORKING_DIR/dnsapi/
   cp  dnsapi/* $WORKING_DIR/dnsapi/
   
   
+  #to keep compatible mv the .acc file to .key file 
+  if [ -f "$WORKING_DIR/account.acc" ] ; then
+    mv "$WORKING_DIR/account.acc" "$WORKING_DIR/account.key"
+  fi
+  
   installcronjob
   installcronjob
   
   
   _info OK
   _info OK