Browse Source

Fixing inadyn around using a wildcarded default domain name

Bob Mottram 6 years ago
parent
commit
fe6f27c9d4
3 changed files with 20 additions and 23 deletions
  1. 3
    2
      src/freedombone-image-customise
  2. 11
    15
      src/freedombone-utils-dns
  3. 6
    6
      src/freedombone-utils-web

+ 3
- 2
src/freedombone-image-customise View File

@@ -1691,7 +1691,6 @@ image_install_inadyn() {
1691 1691
 
1692 1692
     # create a configuration file
1693 1693
     { echo 'period          = 300';
1694
-      echo 'user-agent      = Mozilla/5.0';
1695 1694
       echo ''; } > "$rootdir/etc/inadyn.conf"
1696 1695
     chmod 600 "$rootdir/etc/inadyn.conf"
1697 1696
 
@@ -1706,7 +1705,9 @@ image_install_inadyn() {
1706 1705
       echo '';
1707 1706
       echo '[Service]';
1708 1707
       echo 'Type=simple';
1709
-      echo "ExecStart=/usr/sbin/inadyn -n -s --config ${INADYN_CONFIG_FILE}";
1708
+      echo "ExecStart=/usr/sbin/inadyn -C -n -s --loglevel=err --config ${INADYN_CONFIG_FILE}";
1709
+      echo 'Restart=on-failure';
1710
+      echo 'RestartSec=10';
1710 1711
       echo '';
1711 1712
       echo '[Install]';
1712 1713
       echo 'WantedBy=multi-user.target'; } > "$rootdir/etc/systemd/system/inadyn.service"

+ 11
- 15
src/freedombone-utils-dns View File

@@ -218,19 +218,15 @@ function add_ddns_domain {
218 218
         exit 5745
219 219
     fi
220 220
     if ! grep -q "$DDNS_PROVIDER" "${INADYN_CONFIG_FILE}"; then
221
+        read_config_param DEFAULT_DOMAIN_NAME
221 222
         { echo 'period          = 300';
222
-          echo 'user-agent      = Mozilla/5.0';
223 223
           echo '';
224 224
           echo "provider $DDNS_PROVIDER {";
225 225
           echo "    ssl            = true";
226
-          echo "    checkip-ssl    = false";
227
-          echo "    checkip-server = $GET_IP_ADDRESS_URL";
228 226
           echo "    username       = $DDNS_USERNAME";
229 227
           echo "    password       = $DDNS_PASSWORD";
230
-          echo "    hostname       = { $CURRENT_DDNS_DOMAIN }";
228
+          echo "    hostname       = $DEFAULT_DOMAIN_NAME";
231 229
           echo '}'; } > "${INADYN_CONFIG_FILE}"
232
-    else
233
-        sed -i "s|checkip-server .*|checkip-server = $GET_IP_ADDRESS_URL|g" "${INADYN_CONFIG_FILE}"
234 230
     fi
235 231
 
236 232
     if ! grep -q "$CURRENT_DDNS_DOMAIN" "${INADYN_CONFIG_FILE}"; then
@@ -259,15 +255,15 @@ function remove_ddns_domain {
259 255
         echo $'Unable to find inadyn configuration file "${INADYN_CONFIG_FILE}"'
260 256
         exit 5745
261 257
     fi
262
-    if grep -q "$CURRENT_DDNS_DOMAIN" "${INADYN_CONFIG_FILE}"; then
263
-        systemctl stop inadyn
264
-        sed -i "s|, ${CURRENT_DDNS_DOMAIN}||g" "${INADYN_CONFIG_FILE}"
265
-        if grep -q "$CURRENT_DDNS_DOMAIN" "${INADYN_CONFIG_FILE}"; then
266
-            sed -i "s|${CURRENT_DDNS_DOMAIN}||g" "${INADYN_CONFIG_FILE}"
267
-        fi
268
-        systemctl daemon-reload
269
-        systemctl start inadyn
270
-    fi
258
+    #if grep -q "$CURRENT_DDNS_DOMAIN" "${INADYN_CONFIG_FILE}"; then
259
+    #    systemctl stop inadyn
260
+    #    sed -i "s|, ${CURRENT_DDNS_DOMAIN}||g" "${INADYN_CONFIG_FILE}"
261
+    #    if grep -q "$CURRENT_DDNS_DOMAIN" "${INADYN_CONFIG_FILE}"; then
262
+    #        sed -i "s|${CURRENT_DDNS_DOMAIN}||g" "${INADYN_CONFIG_FILE}"
263
+    #    fi
264
+    #    systemctl daemon-reload
265
+    #    systemctl start inadyn
266
+    #fi
271 267
 }
272 268
 
273 269
 function configure_dns {

+ 6
- 6
src/freedombone-utils-web View File

@@ -446,6 +446,7 @@ function upgrade_inadyn_config {
446 446
     read_config_param DDNS_PROVIDER
447 447
     read_config_param DDNS_USERNAME
448 448
     read_config_param DDNS_PASSWORD
449
+    read_config_param DEFAULT_DOMAIN_NAME
449 450
 
450 451
     grep "alias " "${INADYN_CONFIG_FILE}" | sed 's| alias ||g' > ~/.inadyn_existing_sites
451 452
     DDNS_HOSTNAMES=
@@ -467,15 +468,13 @@ function upgrade_inadyn_config {
467 468
     fi
468 469
 
469 470
     { echo 'period          = 300';
470
-      echo 'user-agent      = Mozilla/5.0';
471 471
       echo '';
472 472
       echo "provider $DDNS_PROVIDER {";
473 473
       echo "    ssl            = true";
474
-      echo "    checkip-ssl    = false";
475
-      echo "    checkip-server = $GET_IP_ADDRESS_URL";
476 474
       echo "    username       = $DDNS_USERNAME";
477 475
       echo "    password       = $DDNS_PASSWORD";
478
-      echo "    hostname       = { $DDNS_HOSTNAMES }";
476
+      echo '    wildcard       = true';
477
+      echo "    hostname       = $DEFAULT_DOMAIN_NAME";
479 478
       echo '}'; } > "${INADYN_CONFIG_FILE}"
480 479
 }
481 480
 
@@ -562,7 +561,6 @@ function install_dynamicdns {
562 561
     # create a configuration file
563 562
     if [ ! -f "${INADYN_CONFIG_FILE}" ]; then
564 563
         { echo 'period          = 300';
565
-          echo 'user-agent      = Mozilla/5.0';
566 564
           echo ''; } > "${INADYN_CONFIG_FILE}"
567 565
     fi
568 566
     chmod 600 "${INADYN_CONFIG_FILE}"
@@ -578,7 +576,9 @@ function install_dynamicdns {
578 576
       echo '';
579 577
       echo '[Service]';
580 578
       echo 'Type=simple';
581
-      echo "ExecStart=/usr/sbin/inadyn -n -s --config ${INADYN_CONFIG_FILE}";
579
+      echo "ExecStart=/usr/sbin/inadyn -C -n -s --loglevel=err --config ${INADYN_CONFIG_FILE}";
580
+      echo 'Restart=on-failure';
581
+      echo 'RestartSec=10';
582 582
       echo '';
583 583
       echo '[Install]';
584 584
       echo 'WantedBy=multi-user.target'; } > /etc/systemd/system/inadyn.service