diff --git a/src/freedombone-mesh-batman b/src/freedombone-mesh-batman index 7a01f57b..4507af49 100755 --- a/src/freedombone-mesh-batman +++ b/src/freedombone-mesh-batman @@ -37,6 +37,7 @@ HOTSPOT_PASSPHRASE="${PROJECT_NAME}" source /usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-wifi source /usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-mesh +mesh_protocol_init update_wifi_adaptors if [ ! $IFACE ]; then diff --git a/src/freedombone-mesh-bmx6 b/src/freedombone-mesh-bmx6 index 2a4a1793..7b34c568 100755 --- a/src/freedombone-mesh-bmx6 +++ b/src/freedombone-mesh-bmx6 @@ -37,6 +37,7 @@ HOTSPOT_PASSPHRASE="${PROJECT_NAME}" source /usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-wifi source /usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-mesh +mesh_protocol_init update_wifi_adaptors if [ ! $IFACE ]; then diff --git a/src/freedombone-utils-mesh b/src/freedombone-utils-mesh index abcdbf1e..9fb168cd 100755 --- a/src/freedombone-utils-mesh +++ b/src/freedombone-utils-mesh @@ -28,56 +28,58 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -if [[ $1 == "start" ]]; then - # install avahi - sed -i "s|#host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf - sed -i "s|host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf - sed -i "s|use-ipv4=.*|use-ipv4=yes|g" /etc/avahi/avahi-daemon.conf - sed -i "s|use-ipv6=.*|use-ipv6=no|g" /etc/avahi/avahi-daemon.conf - sed -i "s|#disallow-other-stacks=.*|disallow-other-stacks=yes|g" /etc/avahi/avahi-daemon.conf - sed -i "s|hosts:.*|hosts: files mdns4_minimal dns mdns4 mdns|g" /etc/nsswitch.conf -fi - -# Mesh definition -WIFI_SSID='mesh' -if [ -f $COMPLETION_FILE ]; then - if grep -q "WIFI_SSID:" $COMPLETION_FILE; then - WIFI_SSID=$(cat $COMPLETION_FILE | grep "WIFI_SSID:" | awk -F ':' '{print $2}') +function mesh_protocol_init { + if [[ $1 == "start" ]]; then + # install avahi + sed -i "s|#host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf + sed -i "s|host-name=.*|host-name=$(hostname)|g" /etc/avahi/avahi-daemon.conf + sed -i "s|use-ipv4=.*|use-ipv4=yes|g" /etc/avahi/avahi-daemon.conf + sed -i "s|use-ipv6=.*|use-ipv6=no|g" /etc/avahi/avahi-daemon.conf + sed -i "s|#disallow-other-stacks=.*|disallow-other-stacks=yes|g" /etc/avahi/avahi-daemon.conf + sed -i "s|hosts:.*|hosts: files mdns4_minimal dns mdns4 mdns|g" /etc/nsswitch.conf fi - sed -i "s|WIFI_SSID:.*|WIFI_SSID:${WIFI_SSID}|g" $COMPLETION_FILE -fi -CELLID='any' -CHANNEL=2 -HOTSPOT_CHANNEL=6 -if [ -f $COMPLETION_FILE ]; then - if grep -q "Wifi channel:" $COMPLETION_FILE; then - CHANNEL=$(cat $COMPLETION_FILE | grep "Wifi channel:" | awk -F ':' '{print $2}') + # Mesh definition + WIFI_SSID='mesh' + if [ -f $COMPLETION_FILE ]; then + if grep -q "WIFI_SSID:" $COMPLETION_FILE; then + WIFI_SSID=$(cat $COMPLETION_FILE | grep "WIFI_SSID:" | awk -F ':' '{print $2}') + fi + sed -i "s|WIFI_SSID:.*|WIFI_SSID:${WIFI_SSID}|g" $COMPLETION_FILE fi - sed -i "s|Wifi channel:.*|Wifi channel:${CHANNEL}|g" $COMPLETION_FILE -fi + CELLID='any' -ZERONET_PORT=15441 -IPFS_PORT=4001 -TOX_PORT=33445 -TRACKER_PORT=6969 -LIBREVAULT_PORT=42345 -TAHOELAFS_PORT=50213 -GIT_SSB_PORT=7718 -NGINX_GIT_SSB_PORT=7719 + CHANNEL=2 + HOTSPOT_CHANNEL=6 + if [ -f $COMPLETION_FILE ]; then + if grep -q "Wifi channel:" $COMPLETION_FILE; then + CHANNEL=$(cat $COMPLETION_FILE | grep "Wifi channel:" | awk -F ':' '{print $2}') + fi + sed -i "s|Wifi channel:.*|Wifi channel:${CHANNEL}|g" $COMPLETION_FILE + fi -# Ethernet bridge definition (bridged to bat0) -BRIDGE=br-mesh -BRIDGE_HOTSPOT=br-hotspot -IFACE= -IFACE_SECONDARY= -EIFACE=eth0 -WLAN_ADAPTORS=$(count_wlan) + ZERONET_PORT=15441 + IPFS_PORT=4001 + TOX_PORT=33445 + TRACKER_PORT=6969 + LIBREVAULT_PORT=42345 + TAHOELAFS_PORT=50213 + GIT_SSB_PORT=7718 + NGINX_GIT_SSB_PORT=7719 -if [ $WLAN_ADAPTORS -eq 0 ]; then - echo $'No wlan adaptors found' - exit 0 -fi + # Ethernet bridge definition (bridged to bat0) + BRIDGE=br-mesh + BRIDGE_HOTSPOT=br-hotspot + IFACE= + IFACE_SECONDARY= + EIFACE=eth0 + WLAN_ADAPTORS=$(count_wlan) + + if [ $WLAN_ADAPTORS -eq 0 ]; then + echo $'No wlan adaptors found' + exit 0 + fi +} function get_ipv4_wlan { echo $(ip -o -f inet addr show dev "$IFACE" | awk '{print $4}' | awk 'END {print}' | awk -F '/' '{print $1}')