#!/bin/bash # client or server installations sounds odd for a mesh, but this # indicates whether this is a dedicated mesh peer ("yes") or # a 'client' such as a laptop or desktop machine with # the freedombone-client script installed SERVER_INSTALLATION="no" PEERS_FILE=/tmp/meshwebstart ZERONET_REPO='https://github.com/bashrc/ZeroNet' ZERONET_DIR=~/zeronet ZERONET_URL=http://127.0.0.1:43110 TRACKER_PORT=6969 function install_zeronet { if [ -d $ZERONET_DIR ]; then return fi sudo apt-get -y install python python-msgpack python-gevent sudo apt-get -y install python-pip bittornado sudo pip install msgpack-python --upgrade git clone $ZERONET_REPO $ZERONET_DIR if [ ! -d $ZERONET_DIR ]; then exit 56823 fi cd $ZERONET_DIR git checkout bashrc/bootstrap-file } if [ -f /var/lib/batman ]; then SERVER_INSTALLATION="yes" fi if [[ $SERVER_INSTALLATION == "no" ]]; then if [ ! -f /usr/bin/batman ]; then freedombone-client fi fi if [[ $SERVER_INSTALLATION == "no" ]]; then if [ ! -f /tmp/meshtype ]; then install_zeronet sudo batman start if [ ! "$?" = "0" ]; then exit 2 fi fi fi avahi-browse -atl | grep "Workstation" | awk -F ' ' '{print $4}' | sort -u > $PEERS_FILE if [ ! -f $PEERS_FILE ]; then echo 'No peers were found' exit 0 fi ctr=0 while IFS='' read -r line || [[ -n "$line" ]]; do ctr=$((ctr + 1)) done < "$PEERS_FILE" rm $PEERS_FILE if [ ${ctr} -lt "1" ]; then echo 'No peers were found' exit 0 fi if [ ! -d $ZERONET_DIR ]; then echo 'zeronet was not installed' exit 63 fi cd $ZERONET_DIR existing_bttrack=$(ps aux | grep bttrack | wc -l) if [ $existing_bttrack -lt "2" ]; then if [ ! -d ~/.bttrack ]; then mkdir ~/.bttrack fi bttrack --port ${TRACKER_PORT} --dfile ~/.bttrack/dstate --logfile ~/.bttrack/tracker.log --nat_check 0 --scrape_allowed full --ipv6_enabled 0 & fi zeronetavahi existing_zeronet=$(ps aux | grep zeronet | wc -l) if [ $existing_zeronet -lt "2" ]; then python zeronet.py & fi if which xdg-open > /dev/null; then xdg-open $ZERONET_URL elif which gnome-open > /dev/null; then gnome-open $ZERONET_URL fi exit 0