|
@@ -320,6 +320,7 @@ CJDNS_PRIVATE_KEY=
|
320
|
320
|
CJDNS_PUBLIC_KEY=
|
321
|
321
|
CJDNS_IPV6=
|
322
|
322
|
CJDNS_PASSWORD=
|
|
323
|
+CJDNS_PORT=
|
323
|
324
|
|
324
|
325
|
function show_help {
|
325
|
326
|
echo ''
|
|
@@ -552,6 +553,46 @@ function install_not_on_BBB {
|
552
|
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
|
596
|
function install_cjdns {
|
556
|
597
|
if grep -Fxq "install_cjdns" $COMPLETION_FILE; then
|
557
|
598
|
return
|
|
@@ -561,6 +602,12 @@ function install_cjdns {
|
561
|
602
|
fi
|
562
|
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
|
611
|
if [ ! -d /etc/cjdns ]; then
|
565
|
612
|
git clone https://github.com/cjdelisle/cjdns.git /etc/cjdns
|
566
|
613
|
cd /etc/cjdns
|
|
@@ -604,6 +651,11 @@ function install_cjdns {
|
604
|
651
|
else
|
605
|
652
|
CJDNS_PASSWORD=$(cat /etc/cjdns/cjdroute.conf | grep '"password"' | awk -F '"' '{print $4}' | sed -n 1p)
|
606
|
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
|
660
|
# endure that ipv6 is enabled and can route
|
609
|
661
|
sed -i 's/net.ipv6.conf.all.disable_ipv6.*/net.ipv6.conf.all.disable_ipv6 = 0/g' /etc/sysctl.conf
|
|
@@ -718,9 +770,11 @@ function install_cjdns {
|
718
|
770
|
echo '' >> /home/$MY_USERNAME/README
|
719
|
771
|
echo 'Mesh Networking' >> /home/$MY_USERNAME/README
|
720
|
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
|
778
|
chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
725
|
779
|
fi
|
726
|
780
|
|