|
@@ -33,7 +33,7 @@ PROJECT_NAME='freedombone'
|
33
|
33
|
export TEXTDOMAIN=${PROJECT_NAME}-addcert
|
34
|
34
|
export TEXTDOMAINDIR="/usr/share/locale"
|
35
|
35
|
|
36
|
|
-CONFIG_FILE=$HOME/${PROJECT_NAME}.cfg
|
|
36
|
+CONFIGURATION_FILE=$HOME/${PROJECT_NAME}.cfg
|
37
|
37
|
COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
|
38
|
38
|
|
39
|
39
|
HOSTNAME=
|
|
@@ -50,6 +50,30 @@ INSTALL_DIR=/root/build
|
50
|
50
|
LETSENCRYPT_SERVER='https://acme-v01.api.letsencrypt.org/directory'
|
51
|
51
|
LETSENCRYPT_REPO="https://github.com/letsencrypt/letsencrypt"
|
52
|
52
|
MY_EMAIL_ADDRESS=
|
|
53
|
+FRIENDS_TROVE_SERVER=
|
|
54
|
+FRIENDS_TROVE_PASSWORD=
|
|
55
|
+
|
|
56
|
+if [ -f $CONFIGURATION_FILE ]; then
|
|
57
|
+ if grep -q "LETSENCRYPT_REPO" $CONFIGURATION_FILE; then
|
|
58
|
+ LETSENCRYPT_REPO=$(grep "LETSENCRYPT_REPO" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
59
|
+ fi
|
|
60
|
+ if grep -q "LETSENCRYPT_SERVER" $CONFIGURATION_FILE; then
|
|
61
|
+ LETSENCRYPT_SERVER=$(grep "LETSENCRYPT_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
62
|
+ fi
|
|
63
|
+
|
|
64
|
+ # use a trove?
|
|
65
|
+ if ! grep -q "FRIENDS_TROVE_SERVER" $CONFIGURATION_FILE; then
|
|
66
|
+ FRIENDS_TROVE_SERVER=$(grep "FRIENDS_TROVE_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
67
|
+ FRIENDS_TROVE_SSH_PORT=2222
|
|
68
|
+ if ! grep -q "FRIENDS_TROVE_PASSWORD" $CONFIGURATION_FILE; then
|
|
69
|
+ FRIENDS_TROVE_PASSWORD=$(grep "FRIENDS_TROVE_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
70
|
+ fi
|
|
71
|
+ if ! grep -q "FRIENDS_TROVE_SSH_PORT" $CONFIGURATION_FILE; then
|
|
72
|
+ FRIENDS_TROVE_SSH_PORT=$(grep "FRIENDS_TROVE_SSH_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
73
|
+ fi
|
|
74
|
+ LETSENCRYPT_REPO="ssh://trove@${FRIENDS_TROVE_SERVER}:${FRIENDS_TROVE_SSH_PORT}/home/trove/letsencrypt"
|
|
75
|
+ fi
|
|
76
|
+fi
|
53
|
77
|
|
54
|
78
|
function show_help {
|
55
|
79
|
echo ''
|
|
@@ -157,14 +181,32 @@ fi
|
157
|
181
|
|
158
|
182
|
CERTFILE=$HOSTNAME
|
159
|
183
|
|
|
184
|
+function git_clone {
|
|
185
|
+ repo_url="$1"
|
|
186
|
+ destination_dir="$2"
|
|
187
|
+ if [[ "$repo_url" == "ssh:"* ]]; then
|
|
188
|
+ if [ "${FRIENDS_TROVE_SERVER}" ]; then
|
|
189
|
+ if [ ${#FRIENDS_TROVE_SERVER} -gt 2 ]; then
|
|
190
|
+ if [ "$FRIENDS_TROVE_PASSWORD" ]; then
|
|
191
|
+ if [ ${#FRIENDS_TROVE_PASSWORD} -gt 2 ]; then
|
|
192
|
+ sshpass -p "$FRIENDS_TROVE_PASSWORD" git clone "$repo_url" "$destination_dir"
|
|
193
|
+ return
|
|
194
|
+ fi
|
|
195
|
+ fi
|
|
196
|
+ fi
|
|
197
|
+ fi
|
|
198
|
+ fi
|
|
199
|
+ git clone "$repo_url" "$destination_dir"
|
|
200
|
+}
|
|
201
|
+
|
160
|
202
|
function add_cert_letsencrypt {
|
161
|
203
|
CERTFILE=$LETSENCRYPT_HOSTNAME
|
162
|
204
|
|
163
|
205
|
# obtain the email address for the admin user
|
164
|
206
|
if [ ! $MY_EMAIL_ADDRESS ]; then
|
165
|
|
- if [ -f $CONFIG_FILE ]; then
|
166
|
|
- if grep -q "MY_EMAIL_ADDRESS=" $CONFIG_FILE; then
|
167
|
|
- MY_EMAIL_ADDRESS=$(cat $CONFIG_FILE | grep "MY_EMAIL_ADDRESS=" | awk -F '=' '{print $2}')
|
|
207
|
+ if [ -f $CONFIGURATION_FILE ]; then
|
|
208
|
+ if grep -q "MY_EMAIL_ADDRESS=" $CONFIGURATION_FILE; then
|
|
209
|
+ MY_EMAIL_ADDRESS=$(cat $CONFIGURATION_FILE | grep "MY_EMAIL_ADDRESS=" | awk -F '=' '{print $2}')
|
168
|
210
|
fi
|
169
|
211
|
fi
|
170
|
212
|
fi
|
|
@@ -184,7 +226,7 @@ function add_cert_letsencrypt {
|
184
|
226
|
|
185
|
227
|
# obtain the repo
|
186
|
228
|
if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
|
187
|
|
- git clone $LETSENCRYPT_REPO ${INSTALL_DIR}/letsencrypt
|
|
229
|
+ git_clone $LETSENCRYPT_REPO ${INSTALL_DIR}/letsencrypt
|
188
|
230
|
if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
|
189
|
231
|
exit 76283
|
190
|
232
|
fi
|