소스 검색

FreeDNS updater

Bob Mottram 10 년 전
부모
커밋
033cae364c
1개의 변경된 파일60개의 추가작업 그리고 0개의 파일을 삭제
  1. 60
    0
      src/freedombone

+ 60
- 0
src/freedombone 파일 보기

@@ -2570,6 +2570,65 @@ function create_restore_script {
2570 2570
   echo 'create_restore_script' >> $COMPLETION_FILE
2571 2571
 }
2572 2572
 
2573
+function create_freedns_updater {
2574
+  # currently inadyn doesn't work as expected with freeDNS, so this is a workaround
2575
+  if grep -Fxq "create_freedns_updater" $COMPLETION_FILE; then
2576
+      return
2577
+  fi
2578
+  if [[ $DDNS_PROVIDER != "default@freedns.afraid.org" ]]; then
2579
+      return
2580
+  fi
2581
+
2582
+  FREEDNS_WGET='wget -q --read-timeout=0.0 --waitretry=5 --tries=4 https://freedns.afraid.org/dynamic/update.php?'
2583
+
2584
+  echo '#!/bin/bash' > /usr/bin/dynamicdns
2585
+  echo 'cd /tmp' >> /usr/bin/dynamicdns
2586
+  if [ $DEFAULT_DOMAIN_CODE ]; then
2587
+      echo "# $DEFAULT_DOMAIN_CODE" >> /usr/bin/dynamicdns
2588
+      echo "$FREEDNS_WGET$DEFAULT_DOMAIN_CODE==" >> /usr/bin/dynamicdns
2589
+  fi
2590
+  if [ $WIKI_CODE ]; then
2591
+      if [[ $WIKI_CODE != "$DEFAULT_DOMAIN_CODE" ]]; then
2592
+          echo "# $WIKI_CODE" >> /usr/bin/dynamicdns
2593
+          echo "$FREEDNS_WGET$WIKI_CODE==" >> /usr/bin/dynamicdns
2594
+      fi
2595
+  fi
2596
+  if [ $FULLBLOG_CODE ]; then
2597
+      if [[ $FULLBLOG_CODE != "$DEFAULT_DOMAIN_CODE" ]]; then
2598
+          echo "# $FULLBLOG_CODE" >> /usr/bin/dynamicdns
2599
+          echo "$FREEDNS_WGET$FULLBLOG_CODE==" >> /usr/bin/dynamicdns
2600
+      fi
2601
+  fi
2602
+  if [ $REDMATRIX_CODE ]; then
2603
+      if [[ $REDMATRIX_CODE != "$DEFAULT_DOMAIN_CODE" ]]; then
2604
+          echo "# $REDMATRIX_CODE" >> /usr/bin/dynamicdns
2605
+          echo "$FREEDNS_WGET$REDMATRIX_CODE==" >> /usr/bin/dynamicdns
2606
+      fi
2607
+  fi
2608
+  if [ $OWNCLOUD_CODE ]; then
2609
+      if [[ $OWNCLOUD_CODE != "$DEFAULT_DOMAIN_CODE" ]]; then
2610
+          echo "# $OWNCLOUD_CODE" >> /usr/bin/dynamicdns
2611
+          echo "$FREEDNS_WGET$OWNCLOUD_CODE==" >> /usr/bin/dynamicdns
2612
+      fi
2613
+  fi
2614
+  if [ $MICROBLOG_CODE ]; then
2615
+      if [[ $MICROBLOG_CODE != "$DEFAULT_DOMAIN_CODE" ]]; then
2616
+          echo "# $MICROBLOG_CODE" >> /usr/bin/dynamicdns
2617
+          echo "$FREEDNS_WGET$MICROBLOG_CODE==" >> /usr/bin/dynamicdns
2618
+      fi
2619
+  fi
2620
+  echo 'exit 0' >> /usr/bin/dynamicdns
2621
+  chmod 600 /usr/bin/dynamicdns
2622
+  chmod +x /usr/bin/dynamicdns
2623
+
2624
+  if ! grep -q "/usr/bin/dynamicdns" /etc/crontab; then
2625
+      echo '*/3            * *   *   *   root /usr/bin/dynamicdns' >> /etc/crontab
2626
+      service cron restart
2627
+  fi
2628
+
2629
+  echo 'create_freedns_updater' >> $COMPLETION_FILE
2630
+}
2631
+
2573 2632
 function backup_to_friends_servers {
2574 2633
   if grep -Fxq "backup_to_friends_servers" $COMPLETION_FILE; then
2575 2634
       return
@@ -8524,6 +8583,7 @@ change_debian_repos
8524 8583
 enable_backports
8525 8584
 configure_dns
8526 8585
 install_dynamicdns
8586
+create_freedns_updater
8527 8587
 initial_setup
8528 8588
 enforce_good_passwords
8529 8589
 install_editor