|
@@ -488,6 +488,12 @@ function save_configuration_file {
|
488
|
488
|
}
|
489
|
489
|
|
490
|
490
|
function interactive_configuration {
|
|
491
|
+ # create a temporary copy of the configuration file
|
|
492
|
+ # which can be used to pre-populate selections
|
|
493
|
+ if [ -f $CONFIGURATION_FILE ]; then
|
|
494
|
+ cp $CONFIGURATION_FILE temp.cfg
|
|
495
|
+ fi
|
|
496
|
+
|
491
|
497
|
dialog --title "Freedombone" --msgbox "Welcome to the Freedombone interactive installer. Communications freedom is only a short time away.\n\nEnsure that you have your domain and dynamic DNS settings ready.\n\nFor more information please visit $FREEDOMBONE_WEBSITE or send a Bitmessage to $FREEDOMBONE_BITMESSAGE" 15 50
|
492
|
498
|
|
493
|
499
|
data=$(tempfile 2>/dev/null)
|
|
@@ -517,12 +523,13 @@ function interactive_configuration {
|
517
|
523
|
7) SYSTEM_TYPE=$VARIANT_SOCIAL;;
|
518
|
524
|
8) SYSTEM_TYPE=$VARIANT_MEDIA;;
|
519
|
525
|
esac
|
|
526
|
+ save_configuration_file
|
520
|
527
|
|
521
|
528
|
data=$(tempfile 2>/dev/null)
|
522
|
529
|
trap "rm -f $data" 0 1 2 5 15
|
523
|
530
|
dialog --title "Select the user account to install as" \
|
524
|
531
|
--backtitle "Freedombone Configuration" \
|
525
|
|
- --dselect /home/ 14 40 2> $data
|
|
532
|
+ --dselect "/home/$(grep 'MY_USERNAME' temp.cfg | awk -F '=' '{print $2}')" 14 40 2> $data
|
526
|
533
|
sel=$?
|
527
|
534
|
case $sel in
|
528
|
535
|
0) MY_USERNAME=$(cat $data | awk -F '/' '{print $3}');;
|
|
@@ -537,17 +544,25 @@ function interactive_configuration {
|
537
|
544
|
echo "The directory /home/$MY_USERNAME does not exist"
|
538
|
545
|
exit 6437
|
539
|
546
|
fi
|
|
547
|
+ save_configuration_file
|
540
|
548
|
|
541
|
|
- dialog --title "Install Target" \
|
542
|
|
- --backtitle "Freedombone Configuration" \
|
543
|
|
- --defaultno \
|
544
|
|
- --yesno "\nAre you installing onto a Beaglebone Black?" 7 60
|
|
549
|
+ if [[ $(grep "INSTALLING_ON_BBB" temp.cfg | awk -F '=' '{print $2}') == "yes" ]]; then
|
|
550
|
+ dialog --title "Install Target" \
|
|
551
|
+ --backtitle "Freedombone Configuration" \
|
|
552
|
+ --yesno "\nAre you installing onto a Beaglebone Black?" 7 60
|
|
553
|
+ else
|
|
554
|
+ dialog --title "Install Target" \
|
|
555
|
+ --backtitle "Freedombone Configuration" \
|
|
556
|
+ --defaultno \
|
|
557
|
+ --yesno "\nAre you installing onto a Beaglebone Black?" 7 60
|
|
558
|
+ fi
|
545
|
559
|
sel=$?
|
546
|
560
|
case $sel in
|
547
|
561
|
0) INSTALLING_ON_BBB="yes";;
|
548
|
562
|
1) INSTALLING_ON_BBB="no";;
|
549
|
563
|
255) exit 0;;
|
550
|
564
|
esac
|
|
565
|
+ save_configuration_file
|
551
|
566
|
|
552
|
567
|
data=$(tempfile 2>/dev/null)
|
553
|
568
|
trap "rm -f $data" 0 1 2 5 15
|
|
@@ -589,13 +604,14 @@ function interactive_configuration {
|
589
|
604
|
14) DDNS_PROVIDER="default@changeip.com";;
|
590
|
605
|
255) exit 0;;
|
591
|
606
|
esac
|
|
607
|
+ save_configuration_file
|
592
|
608
|
|
593
|
609
|
while [ ! $DDNS_USERNAME ]
|
594
|
610
|
do
|
595
|
611
|
data=$(tempfile 2>/dev/null)
|
596
|
612
|
trap "rm -f $data" 0 1 2 5 15
|
597
|
613
|
dialog --backtitle "Freedombone Configuration" \
|
598
|
|
- --inputbox "Dynamic DNS provider username" 10 30 2> $data
|
|
614
|
+ --inputbox "Dynamic DNS provider username" 10 30 "$(grep 'DDNS_USERNAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
|
599
|
615
|
sel=$?
|
600
|
616
|
case $sel in
|
601
|
617
|
0) DDNS_USERNAME=$(cat $data);;
|
|
@@ -603,6 +619,7 @@ function interactive_configuration {
|
603
|
619
|
255) exit 0;;
|
604
|
620
|
esac
|
605
|
621
|
done
|
|
622
|
+ save_configuration_file
|
606
|
623
|
|
607
|
624
|
while [ ! $DDNS_PASSWORD ]
|
608
|
625
|
do
|
|
@@ -611,7 +628,7 @@ function interactive_configuration {
|
611
|
628
|
dialog --backtitle "Freedombone Configuration" \
|
612
|
629
|
--clear \
|
613
|
630
|
--insecure \
|
614
|
|
- --passwordbox "Dynamic DNS provider password" 10 30 2> $data
|
|
631
|
+ --passwordbox "Dynamic DNS provider password" 10 30 "$(grep 'DDNS_PASSWORD' temp.cfg | awk -F '=' '{print $2}')" 2> $data
|
615
|
632
|
sel=$?
|
616
|
633
|
case $sel in
|
617
|
634
|
0) DDNS_PASSWORD=$(cat $data);;
|
|
@@ -623,13 +640,14 @@ function interactive_configuration {
|
623
|
640
|
DDNS_PASSWORD=""
|
624
|
641
|
fi
|
625
|
642
|
done
|
|
643
|
+ save_configuration_file
|
626
|
644
|
|
627
|
645
|
while [ ! $MY_NAME ]
|
628
|
646
|
do
|
629
|
647
|
data=$(tempfile 2>/dev/null)
|
630
|
648
|
trap "rm -f $data" 0 1 2 5 15
|
631
|
649
|
dialog --backtitle "Freedombone Configuration" \
|
632
|
|
- --inputbox "Your full name (or nick)" 10 30 2> $data
|
|
650
|
+ --inputbox "Your full name (or nick)" 10 30 "$(grep 'MY_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
|
633
|
651
|
sel=$?
|
634
|
652
|
case $sel in
|
635
|
653
|
0) MY_NAME=$(cat $data);;
|
|
@@ -637,14 +655,15 @@ function interactive_configuration {
|
637
|
655
|
255) exit 0;;
|
638
|
656
|
esac
|
639
|
657
|
done
|
|
658
|
+ save_configuration_file
|
640
|
659
|
|
641
|
660
|
data=$(tempfile 2>/dev/null)
|
642
|
661
|
trap "rm -f $data" 0 1 2 5 15
|
643
|
662
|
dialog --backtitle "Freedombone Configuration" \
|
644
|
663
|
--title "Local Network Configuration" \
|
645
|
664
|
--form "\nPlease enter the IP addresses:" 11 55 3 \
|
646
|
|
- "This system:" 1 1 "192.168.1.60" 1 16 16 15 \
|
647
|
|
- "Internet router:" 2 1 "192.168.1.254" 2 16 16 15 \
|
|
665
|
+ "This system:" 1 1 "$(grep 'LOCAL_NETWORK_STATIC_IP_ADDRESS' temp.cfg | awk -F '=' '{print $2}')" 1 16 16 15 \
|
|
666
|
+ "Internet router:" 2 1 "$(grep 'ROUTER_IP_ADDRESS' temp.cfg | awk -F '=' '{print $2}')" 2 16 16 15 \
|
648
|
667
|
2> $data
|
649
|
668
|
sel=$?
|
650
|
669
|
case $sel in
|
|
@@ -653,19 +672,27 @@ function interactive_configuration {
|
653
|
672
|
esac
|
654
|
673
|
LOCAL_NETWORK_STATIC_IP_ADDRESS=$(cat $data | sed -n 1p)
|
655
|
674
|
ROUTER_IP_ADDRESS=$(cat $data | sed -n 2p)
|
|
675
|
+ save_configuration_file
|
656
|
676
|
|
657
|
677
|
data=$(tempfile 2>/dev/null)
|
658
|
678
|
trap "rm -f $data" 0 1 2 5 15
|
659
|
|
- dialog --title "Mesh Networking" \
|
660
|
|
- --backtitle "Freedombone Configuration" \
|
661
|
|
- --defaultno \
|
662
|
|
- --yesno "\nDo you want to enable CJDNS?" 7 60
|
|
679
|
+ if [[ $(grep 'ENABLE_CJDNS' temp.cfg | awk -F '=' '{print $2}') == "yes" ]]; then
|
|
680
|
+ dialog --title "Mesh Networking" \
|
|
681
|
+ --backtitle "Freedombone Configuration" \
|
|
682
|
+ --yesno "\nDo you want to enable CJDNS?" 7 60
|
|
683
|
+ else
|
|
684
|
+ dialog --title "Mesh Networking" \
|
|
685
|
+ --backtitle "Freedombone Configuration" \
|
|
686
|
+ --defaultno \
|
|
687
|
+ --yesno "\nDo you want to enable CJDNS?" 7 60
|
|
688
|
+ fi
|
663
|
689
|
sel=$?
|
664
|
690
|
case $sel in
|
665
|
691
|
0) ENABLE_CJDNS="yes";;
|
666
|
692
|
1) ENABLE_CJDNS="no";;
|
667
|
693
|
255) exit 0;;
|
668
|
694
|
esac
|
|
695
|
+ save_configuration_file
|
669
|
696
|
|
670
|
697
|
if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
|
671
|
698
|
while [ ! $WIKI_DOMAIN_NAME ]
|
|
@@ -675,8 +702,8 @@ function interactive_configuration {
|
675
|
702
|
dialog --backtitle "Freedombone Configuration" \
|
676
|
703
|
--title "Wiki Configuration" \
|
677
|
704
|
--form "\nPlease enter your wiki details:" 11 55 3 \
|
678
|
|
- "Title:" 1 1 "$WIKI_TITLE" 1 16 25 40 \
|
679
|
|
- "Domain:" 2 1 "$WIKI_DOMAIN_NAME" 2 16 25 40 \
|
|
705
|
+ "Title:" 1 1 "$(grep 'WIKI_TITLE' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 40 \
|
|
706
|
+ "Domain:" 2 1 "$(grep 'WIKI_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 40 \
|
680
|
707
|
2> $data
|
681
|
708
|
sel=$?
|
682
|
709
|
case $sel in
|
|
@@ -698,6 +725,7 @@ function interactive_configuration {
|
698
|
725
|
fi
|
699
|
726
|
fi
|
700
|
727
|
done
|
|
728
|
+ save_configuration_file
|
701
|
729
|
fi
|
702
|
730
|
|
703
|
731
|
if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
|
|
@@ -708,8 +736,8 @@ function interactive_configuration {
|
708
|
736
|
dialog --backtitle "Freedombone Configuration" \
|
709
|
737
|
--title "Blog Configuration" \
|
710
|
738
|
--form "\nPlease enter your blog details:" 11 55 3 \
|
711
|
|
- "Title:" 1 1 "My Blog" 1 16 25 30 \
|
712
|
|
- "Domain:" 2 1 "" 2 16 25 30 \
|
|
739
|
+ "Title:" 1 1 "$(grep 'MY_BLOG_TITLE' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
|
|
740
|
+ "Domain:" 2 1 "$(grep 'FULLBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
|
713
|
741
|
2> $data
|
714
|
742
|
sel=$?
|
715
|
743
|
case $sel in
|
|
@@ -734,6 +762,7 @@ function interactive_configuration {
|
734
|
762
|
fi
|
735
|
763
|
fi
|
736
|
764
|
done
|
|
765
|
+ save_configuration_file
|
737
|
766
|
fi
|
738
|
767
|
|
739
|
768
|
if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
|
|
@@ -744,7 +773,7 @@ function interactive_configuration {
|
744
|
773
|
dialog --backtitle "Freedombone Configuration" \
|
745
|
774
|
--title "Owncloud Configuration" \
|
746
|
775
|
--form "\nPlease enter your Owncloud details:" 11 55 3 \
|
747
|
|
- "Domain:" 1 1 "" 1 16 25 30 \
|
|
776
|
+ "Domain:" 1 1 "$(grep 'OWNCLOUD_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
|
748
|
777
|
2> $data
|
749
|
778
|
sel=$?
|
750
|
779
|
case $sel in
|
|
@@ -765,6 +794,7 @@ function interactive_configuration {
|
765
|
794
|
fi
|
766
|
795
|
fi
|
767
|
796
|
done
|
|
797
|
+ save_configuration_file
|
768
|
798
|
fi
|
769
|
799
|
|
770
|
800
|
if [[ $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
|
|
@@ -775,7 +805,7 @@ function interactive_configuration {
|
775
|
805
|
dialog --backtitle "Freedombone Configuration" \
|
776
|
806
|
--title "RedMatrix Configuration" \
|
777
|
807
|
--form "\nPlease enter your RedMatrix details:" 11 55 3 \
|
778
|
|
- "Domain:" 1 1 "" 1 16 25 30 \
|
|
808
|
+ "Domain:" 1 1 "$(grep 'REDMATRIX_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
|
779
|
809
|
2> $data
|
780
|
810
|
sel=$?
|
781
|
811
|
case $sel in
|
|
@@ -796,6 +826,7 @@ function interactive_configuration {
|
796
|
826
|
fi
|
797
|
827
|
fi
|
798
|
828
|
done
|
|
829
|
+ save_configuration_file
|
799
|
830
|
fi
|
800
|
831
|
|
801
|
832
|
if [[ $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
|
|
@@ -806,7 +837,7 @@ function interactive_configuration {
|
806
|
837
|
dialog --backtitle "Freedombone Configuration" \
|
807
|
838
|
--title "Microblog Configuration" \
|
808
|
839
|
--form "\nPlease enter your Microblog details:" 11 55 3 \
|
809
|
|
- "Domain:" 1 1 "" 1 16 25 30 \
|
|
840
|
+ "Domain:" 1 1 "$(grep 'MICROBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
|
810
|
841
|
2> $data
|
811
|
842
|
sel=$?
|
812
|
843
|
case $sel in
|
|
@@ -830,6 +861,7 @@ function interactive_configuration {
|
830
|
861
|
fi
|
831
|
862
|
fi
|
832
|
863
|
done
|
|
864
|
+ save_configuration_file
|
833
|
865
|
fi
|
834
|
866
|
|
835
|
867
|
if [ ! $DOMAIN_NAME ]; then
|
|
@@ -838,7 +870,7 @@ function interactive_configuration {
|
838
|
870
|
data=$(tempfile 2>/dev/null)
|
839
|
871
|
trap "rm -f $data" 0 1 2 5 15
|
840
|
872
|
dialog --backtitle "Freedombone Configuration" \
|
841
|
|
- --inputbox "Domain name" 10 30 2> $data
|
|
873
|
+ --inputbox "Domain name" 10 30 "$(grep 'DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
|
842
|
874
|
sel=$?
|
843
|
875
|
case $sel in
|
844
|
876
|
0) DOMAIN_NAME=$(cat $data);;
|
|
@@ -846,6 +878,7 @@ function interactive_configuration {
|
846
|
878
|
255) exit 0;;
|
847
|
879
|
esac
|
848
|
880
|
done
|
|
881
|
+ save_configuration_file
|
849
|
882
|
fi
|
850
|
883
|
|
851
|
884
|
while [ ! $MY_EMAIL_ADDRESS ]
|
|
@@ -853,7 +886,7 @@ function interactive_configuration {
|
853
|
886
|
data=$(tempfile 2>/dev/null)
|
854
|
887
|
trap "rm -f $data" 0 1 2 5 15
|
855
|
888
|
dialog --backtitle "Freedombone Configuration" \
|
856
|
|
- --inputbox "Your email address" 10 30 "$MY_USERNAME@$DOMAIN_NAME" 2> $data
|
|
889
|
+ --inputbox "Your email address" 10 30 "$(grep 'MY_EMAIL_ADDRESS' temp.cfg | awk -F '=' '{print $2}')" 2> $data
|
857
|
890
|
sel=$?
|
858
|
891
|
case $sel in
|
859
|
892
|
0) MY_EMAIL_ADDRESS=$(cat $data);;
|
|
@@ -864,6 +897,11 @@ function interactive_configuration {
|
864
|
897
|
|
865
|
898
|
save_configuration_file
|
866
|
899
|
|
|
900
|
+ # delete the temporary configuration file
|
|
901
|
+ if [ -f temp.cfg ]; then
|
|
902
|
+ shred -zu temp.cfg
|
|
903
|
+ fi
|
|
904
|
+
|
867
|
905
|
FRIENDS_SERVERS_LIST=/home/$MY_USERNAME/backup.list
|
868
|
906
|
|
869
|
907
|
dialog --title "Encrypted backup to other servers" \
|