浏览代码

ipfs avahi for mesh

Bob Mottram 8 年前
父节点
当前提交
87f9e68933
没有帐户链接到提交者的电子邮件
共有 3 个文件被更改,包括 33 次插入9 次删除
  1. 5
    6
      src/freedombone-image-mesh
  2. 1
    3
      src/freedombone-mesh-batman
  3. 27
    0
      src/zeronetavahi

+ 5
- 6
src/freedombone-image-mesh 查看文件

@@ -728,19 +728,19 @@ function setup_ipfs {
728 728
     IPFS_KEY_LENGTH=2048
729 729
 
730 730
     su -c "$IPFS_PATH/jsipfs init -b $IPFS_KEY_LENGTH" - $MY_USERNAME
731
-    if [ ! -d ${rootdir}/home/$MY_USERNAME/.ipfs ]; then
731
+    if [ ! -d /home/$MY_USERNAME/.ipfs ]; then
732 732
         echo "IPFS could not be initialised for user $MY_USERNAME" >> $INSTALL_LOG
733 733
         exit 7358
734 734
     fi
735 735
 
736
-    TEMP_IPFS_ID=/tmp/ipfsid
737
-    su -c "echo $($IPFS_PATH/jsipfs id | grep '\"ID\":' | awk -F '\"' '{print $4}') > $TEMP_IPFS_ID" - $MY_USERNAME
738
-    if [ ! -f $TEMP_IPFS_ID ]; then
736
+    MY_IPFS_ID=/home/$MY_USERNAME/.ipfs-id
737
+    su -c "echo $($IPFS_PATH/jsipfs id | grep '\"ID\":' | awk -F '\"' '{print $4}') > $MY_IPFS_ID" - $MY_USERNAME
738
+    if [ ! -f $MY_IPFS_ID ]; then
739 739
         echo 'No IPFS identity was created' >> $INSTALL_LOG
740 740
         exit 37895
741 741
     fi
742 742
 
743
-    IPFS_PEER_ID=$(cat $TEMP_IPFS_ID)
743
+    IPFS_PEER_ID=$(cat $MY_IPFS_ID)
744 744
     if [ ${#IPFS_PEER_ID} -lt 10 ]; then
745 745
         echo 'Invalid IPFS peer ID' >> $INSTALL_LOG
746 746
         echo "$IPFS_PEER_ID" >> $INSTALL_LOG
@@ -749,7 +749,6 @@ function setup_ipfs {
749 749
 
750 750
     # TODO in avahi service for ipfs replace IPFS_PEER_ID
751 751
 
752
-    rm $TEMP_IPFS_ID
753 752
     echo 'IPFS installed with ID $IPFS_PEER_ID' >> $INSTALL_LOG
754 753
 }
755 754
 

+ 1
- 3
src/freedombone-mesh-batman 查看文件

@@ -62,7 +62,6 @@ sed -i "s|Wifi channel:.*|Wifi channel:${CHANNEL}|g" $COMPLETION_FILE
62 62
 
63 63
 ZERONET_PORT=15441
64 64
 IPFS_PORT=4001
65
-SYNCTHING_PORT=22000
66 65
 
67 66
 # Ethernet bridge definition (bridged to bat0)
68 67
 BRIDGE=br-mesh
@@ -134,8 +133,7 @@ function stop {
134 133
     iptables -D INPUT -p tcp --dport $ZERONET_PORT -j ACCEPT
135 134
     iptables -D INPUT -p udp --dport $ZERONET_PORT -j ACCEPT
136 135
     iptables -D INPUT -p tcp --dport $IPFS_PORT -j ACCEPT
137
-    iptables -D INPUT -p udp --dport $SYNCTHING_PORT -j ACCEPT
138
-    iptables -D INPUT -p tcp --dport $SYNCTHING_PORT -j ACCEPT
136
+    iptables -D INPUT -p udp --dport $IPFS_PORT -j ACCEPT
139 137
 
140 138
     systemctl restart network-manager
141 139
 }

+ 27
- 0
src/zeronetavahi 查看文件

@@ -458,6 +458,32 @@ function zeronet_update_config {
458 458
     fi
459 459
 }
460 460
 
461
+function avahi_ipfs {
462
+    MY_IPFS_ID=/home/$MESH_USERNAME/.ipfs-id
463
+    if [ ! -f $MY_IPFS_ID ]; then
464
+        return
465
+    fi
466
+
467
+    service_name='ipfs'
468
+    service_type='IPFS'
469
+    service_protocol='tcp'
470
+    service_port=$IPFS_PORT
471
+    service_description=$(cat $MY_IPFS_ID)
472
+
473
+    echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /etc/avahi/services/${service_name}.service
474
+    echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /etc/avahi/services/${service_name}.service
475
+    echo '<service-group>' >> /etc/avahi/services/${service_name}.service
476
+    echo "  <name replace-wildcards=\"yes\">%h ${service_type}</name>" >> /etc/avahi/services/${service_name}.service
477
+    echo '  <service>' >> /etc/avahi/services/${service_name}.service
478
+    echo "    <type>_${service_type}._${service_protocol}</type>" >> /etc/avahi/services/${service_name}.service
479
+    echo "    <port>${service_port}</port>" >> /etc/avahi/services/${service_name}.service
480
+    if [ "$service_description" ]; then
481
+        echo "    <txt-record>$service_description</txt-record>" >> /tmp/zeronet-blog.service
482
+    fi
483
+    echo '  </service>' >> /etc/avahi/services/${service_name}.service
484
+    echo '</service-group>' >> /etc/avahi/services/${service_name}.service
485
+}
486
+
461 487
 if [ ! -d /etc/avahi ]; then
462 488
     exit 0
463 489
 fi
@@ -472,6 +498,7 @@ if [ $ENABLE_ZERONET ]; then
472 498
     zeronet_update_config
473 499
 fi
474 500
 
501
+avahi_ipfs
475 502
 ipfs_bootstrap
476 503
 #detect_tox_users
477 504
 avahi_remove_info