diff --git a/zen/gchange_IPFS_swarm.sh b/zen/gchange_IPFS_swarm.sh index 0b4c292..9786e5e 100755 --- a/zen/gchange_IPFS_swarm.sh +++ b/zen/gchange_IPFS_swarm.sh @@ -8,18 +8,7 @@ MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ME="${0##*/}" -# Connect to IPFS peers with bidirectionnal "like" (Gchange or Cesium+ friends) -# configured in jaklis/.env - -######################################################################## -# \\/// -# qo-op -############# '$MY_PATH/$ME' -######################################################################## -# ex: ./'$ME' -# GET GCHANGE FRIENDS AND FIND THEIR IPFS ID TO "ipfs swarm connect" THEM -########################################################################' -## TODO : Beware of liking_me FLOOD & Invite $liking_me people to my #Swarm0 +# create swarm_map and my_swam files ######################################################################## # ENVIRONEMENT DETECTION + IPFS ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_info diff --git a/zen/ipfs_SWARM_refresh.sh b/zen/ipfs_SWARM_refresh.sh index c7912e6..ab5b481 100755 --- a/zen/ipfs_SWARM_refresh.sh +++ b/zen/ipfs_SWARM_refresh.sh @@ -37,48 +37,43 @@ rm -Rf /home/$YOU/.zen/ipfs_swarm/.Qm* rm -Rf /home/$YOU/.zen/ipfs_swarm/* count=1 -for peer in $(ipfs swarm peers); +for peerline in $(ipfs swarm peers && cat ~/.zen/A_swarm_map.txt); do - ipfsnodeid=$(echo "$peer" | awk -F '/' '{print $8}') - ip=$(echo "$peer" | awk -F '/' '{print $3}') + ipfsnodeid=$(echo "$peerline" | awk -F '/' '{print $8}') + whoisg1=$(~/.zen/astrXbian/zen/tools/ipfs_to_g1.py $ipfsnodeid) + + ip=$(echo "$peerline" | awk -F '/' '{print $3}') + isLAN=$(echo $ip | cut -f3 -d '/' | grep -E "(^127\.)|(^192\.168\.)|(^fd42\:)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/") + nowdate=$(date) timestamp=$(date -u +%s%N | cut -b1-13) - echo "$nowdate - $ipfsnodeid - $ip" - foundIp=$(cat ~/.zen/A_allow_ip.txt | grep "$ip") - foundIpfs=$(cat ~/.zen/A_allow_ipfsid.txt | grep "$ipfsnodeid") - isLAN=$(echo $ip | cut -f3 -d '/' | grep -E "(^127\.)|(^192\.168\.)|(^fd42\:)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/") - - if [[ ! $foundIpfs && ! $isLAN ]] ; then - echo "${ip} of peer ${id} is not in the authorized ip list." - echo "${peer} will be removed from the swarm" - - ipfs swarm disconnect $peer - ipfs bootstrap rm $peer - - echo "# FAIL2BAN # $USER must activate no password sudo (Rpi & Xbian OK)" - if [[ $USER == "pi" || $USER == "xbian" ]]; then - echo "TODO BAN $ip ($ipfsnodeid)" - # sudo fail2ban-client add recidive 2>/dev/null 1>&2 - # sudo fail2ban-client start recidive - # sudo fail2ban-client set recidive banip $ip - # Show banned IP - # sudo fail2ban-client status recidive - fi - else - echo "${peer}" - echo "REFRESH /ipns/$ipfsnodeid INTO ~/.zen/ipfs_swarm/" - $MY_PATH/tools/timeout.sh -t 30 ipfs get --output=/home/$YOU/.zen/ipfs_swarm/ /ipns/$ipfsnodeid - - fi - + echo "### $nowdate ### whoisg1 : $ipfsnodeid - $ip" + echo "${peerline}" + myfriendpeer=$(cat ~/.zen/A_my_swarm.txt | grep $ipfsnodeid ) + if [[ "$myfriendpeer" != "" ]]; then + echo "REFRESH /ipns/$ipfsnodeid INTO ~/.zen/ipfs_swarm/" + $MY_PATH/tools/timeout.sh -t 30 ipfs get --output=/home/$YOU/.zen/ipfs_swarm/ /ipns/$ipfsnodeid + ipfs swarm connect $peerline + ipfs bootstrap add $peerline + else + echo "#YOU CAN ACTIVATE FAIL2BAN # ADD $USER NOPASSWD:ALL in /etc/sudoers" + # sudo fail2ban-client add recidive 2>/dev/null 1>&2 + # sudo fail2ban-client start recidive + # sudo fail2ban-client set recidive banip $ip + # Show banned IP + # sudo fail2ban-client status recidive + echo "FALSE BAN $ip ($ipfsnodeid)" + fi done +######################################################################## +######################################################################## +######################################################################## echo "$IPFSNODEID PUBLISHING /home/$YOU/.zen/ipfs/ to SWARM" [[ ! -d /home/$YOU/.zen/ipfs ]] && echo "ERROR : /home/$YOU/.zen/ipfs/ NOT FOUND" && exit 1 IWALLETS=$(ipfs add -rHq /home/$YOU/.zen/ipfs | tail -n 1) NODEIPNS=$(ipfs name publish --quieter /ipfs/$IWALLETS) - # Retrieve my own data in /home/$YOU/.zen/ipfs_swarm/ ipfs get --output=/home/$YOU/.zen/ipfs_swarm/ /ipns/$IPFSNODEID