From 5865f2633d0fc6e8be76ae2299829625074b83ed Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Fri, 6 Oct 2017 10:47:35 +0100 Subject: [PATCH] Only enable scuttlebot on mesh gateways --- src/freedombone-image-customise | 28 ++++++++++++++++++++++++++++ src/freedombone-image-mesh | 10 ---------- src/freedombone-mesh-batman | 9 +++++++-- 3 files changed, 35 insertions(+), 12 deletions(-) diff --git a/src/freedombone-image-customise b/src/freedombone-image-customise index 131952db..2d042cb0 100755 --- a/src/freedombone-image-customise +++ b/src/freedombone-image-customise @@ -894,6 +894,7 @@ function configure_user_interface { # Produce a text file on the desktop listing users on the mesh cat < $rootdir/usr/bin/list-tox-users #!/bin/bash +ethernet_connected=$(cat /sys/class/net/eth0/carrier) users_list=\$(lstox | awk -F ' ' '{\$1=""; print \$0}' | sed -e 's/^[[:space:]]*//' | sort -d | uniq) if [ ! \$users_list ]; then no_of_users=0 @@ -1003,6 +1004,26 @@ if [ \$no_of_users -gt 0 ]; then chmod +x /home/$MY_USERNAME/Desktop/tox.desktop chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Desktop/tox.desktop fi + + # If ethernet is connected then add the invite icon to help enable + # SSB nat traversal + if [[ "$ethernet_connected" != "0" ]]; then + if [ ! -f /home/$MY_USERNAME/Desktop/invite.desktop ]; then + echo '[Desktop Entry]' > /home/$MY_USERNAME/Desktop/invite.desktop + echo 'Version=1.0' >> /home/$MY_USERNAME/Desktop/invite.desktop + echo 'Name=Create Invite' >> /home/$MY_USERNAME/Desktop/invite.desktop + echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/invite.desktop + echo 'Comment=Create an invite for Patchwork or Ferment' >> /home/$MY_USERNAME/Desktop/invite.desktop + echo 'Exec=mate-terminal -e freedombone-mesh-invite' >> /home/$MY_USERNAME/Desktop/invite.desktop + echo 'Icon=/usr/share/freedombone/avatars/invite.png' >> /home/$MY_USERNAME/Desktop/invite.desktop + echo 'Terminal=false' >> /home/$MY_USERNAME/Desktop/invite.desktop + echo 'Categories=Application;' >> /home/$MY_USERNAME/Desktop/invite.desktop + fi + else + if [ -f /home/$MY_USERNAME/Desktop/invite.desktop ]; then + rm /home/$MY_USERNAME/Desktop/invite.desktop + fi + fi else if [ -f /tmp/Users.txt ]; then rm /tmp/Users.txt @@ -1031,6 +1052,13 @@ else #fi pkill qtox fi + + # If there is no ethernet then remove the invite icon + if [[ "$ethernet_connected" == "0" ]]; then + if [ -f /home/$MY_USERNAME/Desktop/invite.desktop ]; then + rm /home/$MY_USERNAME/Desktop/invite.desktop + fi + fi fi EOF chroot "$rootdir" /bin/chown $MY_USERNAME:$MY_USERNAME /usr/bin/list-tox-users diff --git a/src/freedombone-image-mesh b/src/freedombone-image-mesh index ad492b37..a9699a34 100755 --- a/src/freedombone-image-mesh +++ b/src/freedombone-image-mesh @@ -311,16 +311,6 @@ function show_desktop_icons { #echo 'Terminal=false' >> /home/$MY_USERNAME/Desktop/audio.desktop #echo 'Categories=Application;' >> /home/$MY_USERNAME/Desktop/audio.desktop - #echo '[Desktop Entry]' > /home/$MY_USERNAME/Desktop/invite.desktop - #echo 'Version=1.0' >> /home/$MY_USERNAME/Desktop/invite.desktop - #echo 'Name=Create Invite' >> /home/$MY_USERNAME/Desktop/invite.desktop - #echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/invite.desktop - #echo 'Comment=Create an invite for Patchwork or Ferment' >> /home/$MY_USERNAME/Desktop/invite.desktop - #echo 'Exec=mate-terminal -e freedombone-mesh-invite' >> /home/$MY_USERNAME/Desktop/invite.desktop - #echo 'Icon=/usr/share/freedombone/avatars/invite.png' >> /home/$MY_USERNAME/Desktop/invite.desktop - #echo 'Terminal=false' >> /home/$MY_USERNAME/Desktop/invite.desktop - #echo 'Categories=Application;' >> /home/$MY_USERNAME/Desktop/invite.desktop - # set permissions chmod +x /home/$MY_USERNAME/Desktop/*.desktop chown ${MY_USERNAME}:${MY_USERNAME} /home/$MY_USERNAME/Desktop/* diff --git a/src/freedombone-mesh-batman b/src/freedombone-mesh-batman index a4e0b896..7c6e0cc7 100755 --- a/src/freedombone-mesh-batman +++ b/src/freedombone-mesh-batman @@ -407,8 +407,13 @@ function start { systemctl restart avahi-daemon if [ -f /etc/scuttlebot/.ssb/config ]; then - sed -i "s|\"host\": .*|\"host\": \"$(get_ipv4_wlan)\",|g" /etc/scuttlebot/.ssb/config - systemctl restart scuttlebot + ethernet_connected=$(cat /sys/class/net/eth0/carrier) + if [[ "$ethernet_connected" != "0" ]]; then + sed -i "s|\"host\": .*|\"host\": \"$(get_ipv4_wlan)\",|g" /etc/scuttlebot/.ssb/config + systemctl restart scuttlebot + else + systemctl stop scuttlebot + fi fi verify