浏览代码

Save configuration file after interactive setup

Bob Mottram 10 年前
父节点
当前提交
3379da743d
共有 1 个文件被更改,包括 115 次插入13 次删除
  1. 115
    13
      src/freedombone

+ 115
- 13
src/freedombone 查看文件

@@ -378,11 +378,67 @@ function show_help {
378 378
   exit 0
379 379
 }
380 380
 
381
+
381 382
 function interactive_configuration_remote_backups {
382 383
     # TODO
383 384
     exit 0
384 385
 }
385 386
 
387
+function save_configuration_file {
388
+  echo "MY_USERNAME=$MY_USERNAME" > freedombone.cfg
389
+  echo "DOMAIN_NAME=$DOMAIN_NAME" >> freedombone.cfg
390
+  echo "MY_EMAIL_ADDRESS=$MY_EMAIL_ADDRESS" >> freedombone.cfg
391
+  echo "SYSTEM_TYPE=$SYSTEM_TYPE" >> freedombone.cfg
392
+  echo "INSTALLING_ON_BBB=$INSTALLING_ON_BBB" >> freedombone.cfg
393
+  echo "DDNS_PROVIDER=$DDNS_PROVIDER" >> freedombone.cfg
394
+  echo "DDNS_USERNAME=$DDNS_USERNAME" >> freedombone.cfg
395
+  # does this need to be saved?
396
+  echo "DDNS_PASSWORD=$DDNS_PASSWORD" >> freedombone.cfg
397
+  echo "MY_NAME=$MY_NAME" >> freedombone.cfg
398
+  echo "LOCAL_NETWORK_STATIC_IP_ADDRESS=$LOCAL_NETWORK_STATIC_IP_ADDRESS" >> freedombone.cfg
399
+  echo "ROUTER_IP_ADDRESS=$ROUTER_IP_ADDRESS" >> freedombone.cfg
400
+  echo "ENABLE_CJDNS=$ENABLE_CJDNS" >> freedombone.cfg
401
+  if [ $WIKI_TITLE ]; then
402
+      echo "WIKI_TITLE=$WIKI_TITLE" >> freedombone.cfg
403
+  fi
404
+  if [ $WIKI_DOMAIN_NAME ]; then
405
+      echo "WIKI_DOMAIN_NAME=$WIKI_DOMAIN_NAME" >> freedombone.cfg
406
+  fi
407
+  if [ $WIKI_FREEDNS_SUBDOMAIN_CODE ]; then
408
+      echo "WIKI_FREEDNS_SUBDOMAIN_CODE=$WIKI_FREEDNS_SUBDOMAIN_CODE" >> freedombone.cfg
409
+  fi
410
+  if [ $FREEDNS_SUBDOMAIN_CODE ]; then
411
+      echo "FREEDNS_SUBDOMAIN_CODE=$FREEDNS_SUBDOMAIN_CODE" >> freedombone.cfg
412
+  fi
413
+  if [ $MY_BLOG_TITLE ]; then
414
+      echo "MY_BLOG_TITLE=$MY_BLOG_TITLE" >> freedombone.cfg
415
+  fi
416
+  if [ $FULLBLOG_DOMAIN_NAME ]; then
417
+      echo "FULLBLOG_DOMAIN_NAME=$FULLBLOG_DOMAIN_NAME" >> freedombone.cfg
418
+  fi
419
+  if [ $FULLBLOG_FREEDNS_SUBDOMAIN_CODE ]; then
420
+      echo "FULLBLOG_FREEDNS_SUBDOMAIN_CODE=$FULLBLOG_FREEDNS_SUBDOMAIN_CODE" >> freedombone.cfg
421
+  fi
422
+  if [ $OWNCLOUD_DOMAIN_NAME ]; then
423
+      echo "OWNCLOUD_DOMAIN_NAME=$OWNCLOUD_DOMAIN_NAME" >> freedombone.cfg
424
+  fi
425
+  if [ $OWNCLOUD_FREEDNS_SUBDOMAIN_CODE ]; then
426
+      echo "OWNCLOUD_FREEDNS_SUBDOMAIN_CODE=$OWNCLOUD_FREEDNS_SUBDOMAIN_CODE" >> freedombone.cfg
427
+  fi
428
+  if [ $REDMATRIX_DOMAIN_NAME ]; then
429
+      echo "REDMATRIX_DOMAIN_NAME=$REDMATRIX_DOMAIN_NAME" >> freedombone.cfg
430
+  fi
431
+  if [ $REDMATRIX_FREEDNS_SUBDOMAIN_CODE ]; then
432
+      echo "REDMATRIX_FREEDNS_SUBDOMAIN_CODE=$REDMATRIX_FREEDNS_SUBDOMAIN_CODE" >> freedombone.cfg
433
+  fi
434
+  if [ $MICROBLOG_DOMAIN_NAME ]; then
435
+      echo "MICROBLOG_DOMAIN_NAME=$MICROBLOG_DOMAIN_NAME" >> freedombone.cfg
436
+  fi
437
+  if [ $MICROBLOG_FREEDNS_SUBDOMAIN_CODE ]; then
438
+      echo "MICROBLOG_FREEDNS_SUBDOMAIN_CODE=$MICROBLOG_FREEDNS_SUBDOMAIN_CODE" >> freedombone.cfg
439
+  fi
440
+}
441
+
386 442
 function interactive_configuration {
387 443
   data=$(tempfile 2>/dev/null)
388 444
   trap "rm -f $data" 0 1 2 5 15
@@ -518,6 +574,8 @@ function interactive_configuration {
518 574
       exit 7229
519 575
   fi
520 576
 
577
+  data=$(tempfile 2>/dev/null)
578
+  trap "rm -f $data" 0 1 2 5 15
521 579
   dialog --backtitle "Freedombone Configuration" \
522 580
       --inputbox "Your full name (or nick)" 10 30 2> $data
523 581
   sel=$?
@@ -530,30 +588,33 @@ function interactive_configuration {
530 588
       exit 3784
531 589
   fi
532 590
 
591
+  data=$(tempfile 2>/dev/null)
592
+  trap "rm -f $data" 0 1 2 5 15
533 593
   dialog --backtitle "Freedombone Configuration" \
534
-      --inputbox "Static IP Address of this system" 10 30 2> $data
594
+      --title "Local Network Configuration" \
595
+      --form "\nPlease enter the IP addresses:" 11 55 3 \
596
+      "This system:" 1 1 "192.168.1.60" 1 16 16 15 \
597
+      "Internet router:" 2 1 "192.168.1.254" 2 16 16 15 \
598
+      2> $data
535 599
   sel=$?
536 600
   case $sel in
537
-      0) LOCAL_NETWORK_STATIC_IP_ADDRESS=$(cat $data);;
538 601
       1) exit 0;;
539 602
       255) exit 0;;
540 603
   esac
604
+  echo "result $(cat $data)"
605
+  LOCAL_NETWORK_STATIC_IP_ADDRESS=$(cat $data | sed -n 1p)
606
+  ROUTER_IP_ADDRESS=$(cat $data | sed -n 2p)
607
+  echo "local $LOCAL_NETWORK_STATIC_IP_ADDRESS"
608
+  echo "router $ROUTER_IP_ADDRESS"
541 609
   if [ ! $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
542 610
       exit 6950
543 611
   fi
544
-
545
-  dialog --backtitle "Freedombone Configuration" \
546
-      --inputbox "LAN IP Address of the internet router" 10 30 2> $data
547
-  sel=$?
548
-  case $sel in
549
-      0) ROUTER_IP_ADDRESS=$(cat $data);;
550
-      1) exit 0;;
551
-      255) exit 0;;
552
-  esac
553 612
   if [ ! $ROUTER_IP_ADDRESS ]; then
554
-      exit 9868
613
+      exit 7582
555 614
   fi
556 615
 
616
+  data=$(tempfile 2>/dev/null)
617
+  trap "rm -f $data" 0 1 2 5 15
557 618
   dialog --title "Mesh Networking" \
558 619
       --backtitle "Freedombone Configuration" \
559 620
       --defaultno \
@@ -565,7 +626,10 @@ function interactive_configuration {
565 626
       255) exit 0;;
566 627
   esac
567 628
 
629
+
568 630
   if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
631
+      data=$(tempfile 2>/dev/null)
632
+      trap "rm -f $data" 0 1 2 5 15
569 633
       dialog --backtitle "Freedombone Configuration" \
570 634
           --inputbox "Wiki Title" 10 30 2> $data
571 635
       sel=$?
@@ -578,6 +642,8 @@ function interactive_configuration {
578 642
           exit 5638
579 643
       fi
580 644
 
645
+      data=$(tempfile 2>/dev/null)
646
+      trap "rm -f $data" 0 1 2 5 15
581 647
       dialog --backtitle "Freedombone Configuration" \
582 648
           --inputbox "Wiki domain name" 10 30 2> $data
583 649
       sel=$?
@@ -594,6 +660,8 @@ function interactive_configuration {
594 660
       fi
595 661
 
596 662
       if [[ $DDNS_PROVIDER=="default@freedns.afraid.org" ]]; then
663
+          data=$(tempfile 2>/dev/null)
664
+          trap "rm -f $data" 0 1 2 5 15
597 665
           dialog --backtitle "Freedombone Configuration" \
598 666
               --inputbox "Wiki FreeDNS subdomain code" 10 30 2> $data
599 667
           sel=$?
@@ -612,6 +680,8 @@ function interactive_configuration {
612 680
   fi
613 681
 
614 682
   if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
683
+      data=$(tempfile 2>/dev/null)
684
+      trap "rm -f $data" 0 1 2 5 15
615 685
       dialog --backtitle "Freedombone Configuration" \
616 686
           --inputbox "Blog Title" 10 30 2> $data
617 687
       sel=$?
@@ -622,6 +692,8 @@ function interactive_configuration {
622 692
       esac
623 693
 
624 694
       if [ $MY_BLOG_TITLE ]; then
695
+          data=$(tempfile 2>/dev/null)
696
+          trap "rm -f $data" 0 1 2 5 15
625 697
           dialog --backtitle "Freedombone Configuration" \
626 698
               --inputbox "Blog domain name" 10 30 2> $data
627 699
           sel=$?
@@ -635,6 +707,8 @@ function interactive_configuration {
635 707
           fi
636 708
 
637 709
           if [[ $DDNS_PROVIDER=="default@freedns.afraid.org" ]]; then
710
+              data=$(tempfile 2>/dev/null)
711
+              trap "rm -f $data" 0 1 2 5 15
638 712
               dialog --backtitle "Freedombone Configuration" \
639 713
                   --inputbox "Blog FreeDNS subdomain code" 10 30 2> $data
640 714
               sel=$?
@@ -651,6 +725,8 @@ function interactive_configuration {
651 725
   fi
652 726
 
653 727
   if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
728
+      data=$(tempfile 2>/dev/null)
729
+      trap "rm -f $data" 0 1 2 5 15
654 730
       dialog --backtitle "Freedombone Configuration" \
655 731
           --inputbox "Owncloud domain name" 10 30 2> $data
656 732
       sel=$?
@@ -665,6 +741,8 @@ function interactive_configuration {
665 741
               DOMAIN_NAME=$OWNCLOUD_DOMAIN_NAME
666 742
           fi
667 743
           if [[ $DDNS_PROVIDER=="default@freedns.afraid.org" ]]; then
744
+              data=$(tempfile 2>/dev/null)
745
+              trap "rm -f $data" 0 1 2 5 15
668 746
               dialog --backtitle "Freedombone Configuration" \
669 747
                   --inputbox "Owncloud FreeDNS subdomain code" 10 30 2> $data
670 748
               sel=$?
@@ -684,6 +762,8 @@ function interactive_configuration {
684 762
   fi
685 763
 
686 764
   if [[ $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
765
+      data=$(tempfile 2>/dev/null)
766
+      trap "rm -f $data" 0 1 2 5 15
687 767
       dialog --backtitle "Freedombone Configuration" \
688 768
           --inputbox "RedMatrix domain name" 10 30 2> $data
689 769
       sel=$?
@@ -698,6 +778,8 @@ function interactive_configuration {
698 778
               DOMAIN_NAME=$REDMATRIX_DOMAIN_NAME
699 779
           fi
700 780
           if [[ $DDNS_PROVIDER=="default@freedns.afraid.org" ]]; then
781
+              data=$(tempfile 2>/dev/null)
782
+              trap "rm -f $data" 0 1 2 5 15
701 783
               dialog --backtitle "Freedombone Configuration" \
702 784
                   --inputbox "RedMatrix FreeDNS subdomain code" 10 30 2> $data
703 785
               sel=$?
@@ -717,6 +799,8 @@ function interactive_configuration {
717 799
   fi
718 800
 
719 801
   if [[ $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
802
+      data=$(tempfile 2>/dev/null)
803
+      trap "rm -f $data" 0 1 2 5 15
720 804
       dialog --backtitle "Freedombone Configuration" \
721 805
           --inputbox "Microblog domain name" 10 30 2> $data
722 806
       sel=$?
@@ -728,6 +812,8 @@ function interactive_configuration {
728 812
 
729 813
       if [ $MICROBLOG_DOMAIN_NAME ]; then
730 814
           if [[ $DDNS_PROVIDER=="default@freedns.afraid.org" ]]; then
815
+              data=$(tempfile 2>/dev/null)
816
+              trap "rm -f $data" 0 1 2 5 15
731 817
               dialog --backtitle "Freedombone Configuration" \
732 818
                   --inputbox "Microblog FreeDNS subdomain code" 10 30 2> $data
733 819
               sel=$?
@@ -744,6 +830,8 @@ function interactive_configuration {
744 830
   fi
745 831
 
746 832
   if [ ! $DOMAIN_NAME ]; then
833
+      data=$(tempfile 2>/dev/null)
834
+      trap "rm -f $data" 0 1 2 5 15
747 835
       dialog --backtitle "Freedombone Configuration" \
748 836
           --inputbox "Domain name" 10 30 2> $data
749 837
       sel=$?
@@ -757,6 +845,8 @@ function interactive_configuration {
757 845
       fi
758 846
 
759 847
       if [[ $DDNS_PROVIDER=="default@freedns.afraid.org" ]]; then
848
+          data=$(tempfile 2>/dev/null)
849
+          trap "rm -f $data" 0 1 2 5 15
760 850
           dialog --backtitle "Freedombone Configuration" \
761 851
               --inputbox "FreeDNS subdomain code" 10 30 2> $data
762 852
           sel=$?
@@ -771,6 +861,8 @@ function interactive_configuration {
771 861
       fi
772 862
   fi
773 863
 
864
+  data=$(tempfile 2>/dev/null)
865
+  trap "rm -f $data" 0 1 2 5 15
774 866
   dialog --backtitle "Freedombone Configuration" \
775 867
       --inputbox "Your email address" 10 30 "$MY_USERNAME@$DOMAIN_NAME" 2> $data
776 868
   sel=$?
@@ -783,7 +875,17 @@ function interactive_configuration {
783 875
       exit 8357
784 876
   fi
785 877
 
786
-  #clear
878
+  save_configuration_file
879
+
880
+  dialog --title "Encrypted backup to other servers" \
881
+      --backtitle "Freedombone Configuration" \
882
+      --defaultno \
883
+      --yesno "\nDo you wish to configure some remote backup locations?" 7 60
884
+  sel=$?
885
+  case $sel in
886
+      0) interactive_configuration_remote_backups;;
887
+  esac
888
+
787 889
   exit 0
788 890
 }
789 891