Subversion Repositories ALCASAR

Rev

Rev 3182 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 3182 Rev 3300
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
#
2
#
3
# $Id: alcasar-letsencrypt.sh 3182 2024-03-06 23:39:43Z rexy $
3
# $Id: alcasar-letsencrypt.sh 3300 2025-09-23 16:11:12Z rexy $
4
#
4
#
5
# alcasar-letsencrypt.sh
5
# alcasar-letsencrypt.sh
6
# by Tom HOUDAYER & Rexy
6
# by Tom HOUDAYER & Rexy
7
#
7
#
8
# This script is distributed under the Gnu General Public License (GPL)
8
# This script is distributed under the Gnu General Public License (GPL)
Line 105... Line 105...
105
################################################################################
105
################################################################################
106
#                                  CRON TASK                                   #
106
#                                  CRON TASK                                   #
107
################################################################################
107
################################################################################
108
cron_task() {
108
cron_task() {
109
	if [ $(grep '^dateNextRenewal=' $CONF_FILE | cut -d'=' -f2) -le $(date +%s) ]; then
109
	if [ $(grep '^dateNextRenewal=' $CONF_FILE | cut -d'=' -f2) -le $(date +%s) ]; then
110
		logger -t alcasar-letsencrypt "Launch CRON task."
110
		logger -t alcasar-letsencrypt "Warning : L.E. certificate must be renewed."
-
 
111
		# here : send a warning Email to @admin if exists (with the hostname of this ALCASAR)
111
		renew
112
		# renew  (discussion if needed or not - look at the challenge longevity)
112
	fi
113
	fi
113
}
114
}
114
 
115
 
115
################################################################################
116
################################################################################
116
#                            HANDLE CLIENT RESPONSE                            #
117
#                            HANDLE CLIENT RESPONSE                            #
Line 127... Line 128...
127
		echo "Domain:    '_acme-challenge.$DOMAIN'"
128
		echo "Domain:    '_acme-challenge.$DOMAIN'"
128
		echo "TXT value: '$challenge'"
129
		echo "TXT value: '$challenge'"
129
	elif [ $(cat $responseFile | grep "Cert success." -c) -ne 0 ]; then
130
	elif [ $(cat $responseFile | grep "Cert success." -c) -ne 0 ]; then
130
		sed -i "s/^challenge=.*/challenge=/" $CONF_FILE
131
		sed -i "s/^challenge=.*/challenge=/" $CONF_FILE
131
		sed -i "s/^dateIssued=.*/dateIssued=$(date +%s)/" $CONF_FILE
132
		sed -i "s/^dateIssued=.*/dateIssued=$(date +%s)/" $CONF_FILE
132
		sed -i "s/^dateNextRenewal=.*/dateNextRenewal=$(date +%s -d '2 months - 3 days')/" $CONF_FILE
133
		sed -i "s/^dateNextRenewal=.*/dateNextRenewal=$(date +%s -d '3 months - 15 days')/" $CONF_FILE
133
		install_cert
134
		install_cert
134
		logger -t alcasar-letsencrypt "Certificate \"$DOMAIN\" imported."
135
		logger -t alcasar-letsencrypt "Certificate \"$DOMAIN\" imported."
135
		echo "Certificate imported."
136
		echo "Certificate imported."
136
		[ -z $DNS_API ] && echo "Note: you can delete the TXT record."
137
		[ -z $DNS_API ] && echo "Note: you can delete the TXT record."
137
	elif [ $(cat $responseFile | grep "Domains not changed." -c) -ne 0 ]; then
138
	elif [ $(cat $responseFile | grep "Domains not changed." -c) -ne 0 ]; then