Kaynağa Gözat

Obtain cjdns parameters from readme

Bob Mottram 10 yıl önce
ebeveyn
işleme
cdca69c96a
1 değiştirilmiş dosya ile 57 ekleme ve 3 silme
  1. 57
    3
      install-freedombone.sh

+ 57
- 3
install-freedombone.sh Dosyayı Görüntüle

320
 CJDNS_PUBLIC_KEY=
320
 CJDNS_PUBLIC_KEY=
321
 CJDNS_IPV6=
321
 CJDNS_IPV6=
322
 CJDNS_PASSWORD=
322
 CJDNS_PASSWORD=
323
+CJDNS_PORT=
323
 
324
 
324
 function show_help {
325
 function show_help {
325
   echo ''
326
   echo ''
552
   echo 'install_not_on_BBB' >> $COMPLETION_FILE
553
   echo 'install_not_on_BBB' >> $COMPLETION_FILE
553
 }
554
 }
554
 
555
 
556
+function get_cjdns_public_key {
557
+  if [ -f /home/$MY_USERNAME/README ]; then
558
+      if grep -q "cjdns public key" /home/$MY_USERNAME/README; then
559
+          if [ ! $CJDNS_PUBLIC_KEY ]; then
560
+              CJDNS_PUBLIC_KEY=$(cat /home/$MY_USERNAME/README | grep "cjdns public key" | awk -F ':' '{print $2}' | sed 's/^ *//')
561
+          fi
562
+      fi
563
+  fi
564
+}
565
+
566
+function get_cjdns_private_key {
567
+  if [ -f /home/$MY_USERNAME/README ]; then
568
+      if grep -q "cjdns private key" /home/$MY_USERNAME/README; then
569
+          if [ ! $CJDNS_PRIVATE_KEY ]; then
570
+              CJDNS_PRIVATE_KEY=$(cat /home/$MY_USERNAME/README | grep "cjdns private key" | awk -F ':' '{print $2}' | sed 's/^ *//')
571
+          fi
572
+      fi
573
+  fi
574
+}
575
+
576
+function get_cjdns_ipv6_address {
577
+  if [ -f /home/$MY_USERNAME/README ]; then
578
+      if grep -q "cjdns IPv6 address" /home/$MY_USERNAME/README; then
579
+          if [ ! $CJDNS_IPV6 ]; then
580
+              CJDNS_IPV6=$(cat /home/$MY_USERNAME/README | grep "cjdns IPv6 address" | awk -F ':' '{print $2}' | sed 's/^ *//')
581
+          fi
582
+      fi
583
+  fi
584
+}
585
+
586
+function get_cjdns_port {
587
+  if [ -f /home/$MY_USERNAME/README ]; then
588
+      if grep -q "cjdns port" /home/$MY_USERNAME/README; then
589
+          if [ ! $CJDNS_PORT ]; then
590
+              CJDNS_PORT=$(cat /home/$MY_USERNAME/README | grep "cjdns port" | awk -F ':' '{print $2}' | sed 's/^ *//')
591
+          fi
592
+      fi
593
+  fi
594
+}
595
+
555
 function install_cjdns {
596
 function install_cjdns {
556
   if grep -Fxq "install_cjdns" $COMPLETION_FILE; then
597
   if grep -Fxq "install_cjdns" $COMPLETION_FILE; then
557
       return
598
       return
561
   fi
602
   fi
562
   apt-get -y install nodejs git build-essential
603
   apt-get -y install nodejs git build-essential
563
 
604
 
605
+  # if a README exists then obtain the cjdns parameters
606
+  get_cjdns_ipv6_address
607
+  get_cjdns_public_key
608
+  get_cjdns_private_key
609
+  get_cjdns_port
610
+
564
   if [ ! -d /etc/cjdns ]; then
611
   if [ ! -d /etc/cjdns ]; then
565
       git clone https://github.com/cjdelisle/cjdns.git /etc/cjdns
612
       git clone https://github.com/cjdelisle/cjdns.git /etc/cjdns
566
       cd /etc/cjdns
613
       cd /etc/cjdns
604
   else
651
   else
605
       CJDNS_PASSWORD=$(cat /etc/cjdns/cjdroute.conf | grep '"password"' | awk -F '"' '{print $4}' | sed -n 1p)
652
       CJDNS_PASSWORD=$(cat /etc/cjdns/cjdroute.conf | grep '"password"' | awk -F '"' '{print $4}' | sed -n 1p)
606
   fi
653
   fi
654
+  if [ $CJDNS_PORT ]; then
655
+      sed -i "s/\"bind\": \"0.0.0.0:.*/\"bind\": \"0.0.0.0:$CJDNS_PORT\",/g" /etc/cjdns/cjdroute.conf
656
+  else
657
+      CJDNS_PORT=$(cat /etc/cjdns/cjdroute.conf | grep '"bind": "0.0.0.0:' | awk -F '"' '{print $4}' | awk -F ':' '{print $2}')
658
+  fi
607
 
659
 
608
   # endure that ipv6 is enabled and can route
660
   # endure that ipv6 is enabled and can route
609
   sed -i 's/net.ipv6.conf.all.disable_ipv6.*/net.ipv6.conf.all.disable_ipv6 = 0/g' /etc/sysctl.conf
661
   sed -i 's/net.ipv6.conf.all.disable_ipv6.*/net.ipv6.conf.all.disable_ipv6 = 0/g' /etc/sysctl.conf
718
       echo '' >> /home/$MY_USERNAME/README
770
       echo '' >> /home/$MY_USERNAME/README
719
       echo 'Mesh Networking' >> /home/$MY_USERNAME/README
771
       echo 'Mesh Networking' >> /home/$MY_USERNAME/README
720
       echo '===============' >> /home/$MY_USERNAME/README
772
       echo '===============' >> /home/$MY_USERNAME/README
721
-      echo "IPv6 Address: $CJDNS_IPV6" >> /home/$MY_USERNAME/README
722
-      echo "Public key:   $CJDNS_PUBLIC_KEY" >> /home/$MY_USERNAME/README
723
-      echo "Private key:  $CJDNS_PRIVATE_KEY" >> /home/$MY_USERNAME/README
773
+      echo "cjdns IPv6 address: $CJDNS_IPV6" >> /home/$MY_USERNAME/README
774
+      echo "cjdns public key: $CJDNS_PUBLIC_KEY" >> /home/$MY_USERNAME/README
775
+      echo "cjdns private key: $CJDNS_PRIVATE_KEY" >> /home/$MY_USERNAME/README
776
+      echo "cjdns port: $CJDNS_PORT" >> /home/$MY_USERNAME/README
777
+      echo '' >> /home/$MY_USERNAME/README
724
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
778
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
725
   fi
779
   fi
726
 
780