#!/bin/bash ######################################################################## # Author: Fred (support@qo-op.com) # Version: 2021.03.21 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ######################################################################## MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ME="${0##*/}" countMErunning=$(ps auxf --sort=+utime | grep -w $ME | grep -v -E 'color=auto|grep' | wc -l) [[ $countMErunning -gt 2 ]] && echo "$ME already running $countMErunning time" && exit 0 start=`date +%s` YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) && [[ ! $YOU ]] && echo "ipfs NOT RUNNING. EXIT" && exit 1 G1PUB=$(cat ~/.zen/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2) && [[ ! $G1PUB ]] && echo "ERREUR G1PUB. EXIT" && exit 1 IPFSNODEID=$(cat ~/.ipfs/config | jq -r .Identity.PeerID) [[ ! $IPFSNODEID ]] && echo 'ERROR missing IPFS Node id !! IPFS is not installed !?' && exit 1 ######################################################################## ######################################################################## # This script is controling IPFS swarm # Sync friends peers ~/.zen/ipfs/ into ~/.zen/ipfs_swarm/.IPFSNODEID's/ directories # add not friend_of_mine IPs to fail2ban ######################################################################## ######################################################################## ## SYNC WITH FRIENDS # _____ ____ ___ _____ _ _ ____ # | ___| _ \|_ _| ____| \ | | _ \ # | |_ | |_) || || _| | \| | | | | # | _| | _ < | || |___| |\ | |_| | # |_| |_| \_\___|_____|_| \_|____/ # # for g1id in $(ls ~/.zen/ipfs/.$IPFSNODEID/FRIENDS | shuf); do [[ "$g1id" == "index.html" ]] && continue [ -d ~/.zen/ipfs/.$IPFSNODEID/FRIENDS/$g1id ] && ipfsnodeid=$(~/.zen/astrXbian/zen/tools/g1_to_ipfs.py $g1id) || continue echo "==============================================" echo "$ipfsnodeid" echo "==============================================" # Try to ping my friend OR continue #ipfs --timeout=10s ping -n 3 /p2p/$ipfsnodeid || continue #echo "REFRESHING Friend /ipns/$ipfsnodeid INTO ~/.zen/ipfs_swarm/" #ipfs --timeout=90s get --output=/home/$YOU/.zen/ipfs_swarm/ /ipns/$ipfsnodeid #[[ -f /home/$YOU/.zen/ipfs_swarm/.$ipfsnodeid/.player ]] && cat /home/$YOU/.zen/ipfs_swarm/.$ipfsnodeid/.player || echo "NO ZUID" echo "This is the list of your friend $g1id friends liking you" ls -d ~/.zen/ipfs_swarm/.$ipfsnodeid/FRIENDS/*/ 2>/dev/null | rev | cut -d '/' -f 2 | rev echo "LIKING YOU?" ls -d ~/.zen/ipfs_swarm/.$ipfsnodeid/FRIENDS/$G1PUB/ 2>/dev/null | rev | cut -d '/' -f 2 | rev done echo "#### EXCECUTION TIME" end=`date +%s` echo Execution time was `expr $end - $start` seconds. echo "########################################################################" exit 0