diff --git a/zen/gchange_IPFS_swarm.sh b/zen/gchange_IPFS_swarm.sh index 2c37a41..c208377 100755 --- a/zen/gchange_IPFS_swarm.sh +++ b/zen/gchange_IPFS_swarm.sh @@ -43,61 +43,61 @@ do ## ZOMBIE NODE sends more that 300 ipfstryme ? [[ $(cat /tmp/ipfstryme.$liking_me | sort | uniq | wc -l) -gt 300 ]] && echo "THIS NODE IS A ZOMBIE..." && rm -f /tmp/ipfstryme.$liking_me && continue - for peerline in $(cat /tmp/ipfstryme.$liking_me); - do - echo "======================================================" - # GET $ipfsnodeid FROM $peerline - echo "PEERLINE: $peerline" - ipfsnodeid=${peerline##*/} # http://mywiki.wooledge.org/BashFAQ/100 - [[ "$ipfsnodeid" == "" ]] && continue - - # GET $whoisg1 FROM $peerline - ## Remove Qm ipfs nodes - [[ "${ipfsnodeid:0:2}" != "Qm" ]] && whoisg1=$(~/.zen/astrXbian/zen/tools/ipfs_to_g1.py $ipfsnodeid) || echo "$ipfsnodeid" >> ~/.zen/A_Qm_swarm.txt && continue - - # KEEPING LAST ipfstryme MESSAGES only - nbmessage=0 - for messageid in $(~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" read -n300 -j | jq -r --arg friendKEY "$whoisg1" '.[] | select(.pubkey == $friendKEY)' | jq 'select(.title == "ipfstryme")' | jq -r '.id') - do - nbmessage=$((nbmessage+1)) - [ $nbmessage -gt 1 ] && echo "Delete $nbmessage OLD 'ipfstryme' messages from $whoisg1" && ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" delete -i $messageid - sleep 0.5 - done - [[ $nbmessage == 0 ]] && echo "NO ipfstryme MESSAGE from $whoisg1" && echo "$ipfsnodeid" >> ~/.zen/A_dead_swarm.txt && continue - # SEND MESSAGE ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" send -d $whoisg1 -t 'Astroport' -m 'Aucun message de ta part https://copylaradio.com'" - - # REFRESH A_swarm_map.txt - echo $peerline >> ~/.zen/A_swarm_map.txt - cat ~/.zen/A_swarm_map.txt | sort | uniq > /tmp/A_swarm_map.txt - cp -f /tmp/A_swarm_map.txt ~/.zen/A_swarm_map.txt - - # FRIEND ADDRESS DISCOVERY - echo "Am I friend with my FRIEND friend $whoisg1 ?" - friend_of_mine=$(~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" stars -p $whoisg1 | jq -r '.yours.pseudo'); # must contains my XZUID - if [[ "$friend_of_mine" != "null" ]]; then - if [[ ! $(grep "$ipfsnodeid" ~/.zen/A_my_swarm.txt) ]] - then - echo "OK FRIEND" - # COUNT UNIQ FRIENDS - friend_of_mine_count=$((friend_of_mine_count+1)) - echo "$peerline" >> ~/.zen/A_my_swarm.txt - ipfs bootstrap add "$peerline" - else - echo "ALREADY RECORDED FRIEND" - fi - ipfs --timeout=20s get --output=/home/$YOU/.zen/ipfs_swarm/ /ipns/$ipfsnodeid - else - echo "NOT FULL FRIEND $ipfsnodeid / $whoisg1" - [[ "$liking_me" != "" ]] && rm -Rf ~/.zen/ipfs/.${IPFSNODEID}/FRIENDS/$liking_me - # SEND ME A MESSAGE TO DECIDE WHAT TO DO ? - # SEND MESSAGE ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" send -d $whoisg1 -t 'Astroport' -m 'Rejoins mon #Swarm0 https://copylaradio.com'" - fi - done; - echo "__________________________________________" done +for peerline in $(cat /tmp/ipfstryme.$liking_me | sort | uniq); +do + echo "======================================================" + # GET $ipfsnodeid FROM $peerline + echo "PEERLINE: $peerline" + ipfsnodeid=${peerline##*/} # http://mywiki.wooledge.org/BashFAQ/100 + [[ "$ipfsnodeid" == "" ]] && continue + + # GET $whoisg1 FROM $peerline + ## Remove Qm ipfs nodes + [[ "${ipfsnodeid:0:2}" != "Qm" ]] && whoisg1=$(~/.zen/astrXbian/zen/tools/ipfs_to_g1.py $ipfsnodeid) || echo "$ipfsnodeid" >> ~/.zen/A_Qm_swarm.txt && continue + + # KEEPING LAST ipfstryme MESSAGES only + nbmessage=0 + for messageid in $(~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" read -n300 -j | jq -r --arg friendKEY "$whoisg1" '.[] | select(.pubkey == $friendKEY)' | jq 'select(.title == "ipfstryme")' | jq -r '.id') + do + nbmessage=$((nbmessage+1)) + [ $nbmessage -gt 1 ] && echo "Delete $nbmessage OLD 'ipfstryme' messages from $whoisg1" && ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" delete -i $messageid + sleep 0.5 + done + [[ $nbmessage == 0 ]] && echo "NO ipfstryme MESSAGE from $whoisg1" && echo "$ipfsnodeid" >> ~/.zen/A_dead_swarm.txt && continue + # SEND MESSAGE ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" send -d $whoisg1 -t 'Astroport' -m 'Aucun message de ta part https://copylaradio.com'" + + # REFRESH A_swarm_map.txt + echo $peerline >> ~/.zen/A_swarm_map.txt + cat ~/.zen/A_swarm_map.txt | sort | uniq > /tmp/A_swarm_map.txt + cp -f /tmp/A_swarm_map.txt ~/.zen/A_swarm_map.txt + + # FRIEND ADDRESS DISCOVERY + echo "Am I friend with my FRIEND friend $whoisg1 ?" + friend_of_mine=$(~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" stars -p $whoisg1 | jq -r '.yours.pseudo'); # must contains my XZUID + if [[ "$friend_of_mine" != "null" ]]; then + if [[ ! $(grep "$ipfsnodeid" ~/.zen/A_my_swarm.txt) ]] + then + echo "OK FRIEND" + # COUNT UNIQ FRIENDS + friend_of_mine_count=$((friend_of_mine_count+1)) + echo "$peerline" >> ~/.zen/A_my_swarm.txt + ipfs bootstrap add "$peerline" + else + echo "ALREADY RECORDED FRIEND" + fi + ipfs --timeout=20s get --output=/home/$YOU/.zen/ipfs_swarm/ /ipns/$ipfsnodeid + else + echo "NOT FULL FRIEND $ipfsnodeid / $whoisg1" + [[ "$liking_me" != "" ]] && rm -Rf ~/.zen/ipfs/.${IPFSNODEID}/FRIENDS/$liking_me + # SEND ME A MESSAGE TO DECIDE WHAT TO DO ? + # SEND MESSAGE ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" send -d $whoisg1 -t 'Astroport' -m 'Rejoins mon #Swarm0 https://copylaradio.com'" + fi +done; + # UNIQ file cat ~/.zen/A_my_swarm.txt | sort | uniq > /tmp/A_my_swarm.txt cp -f /tmp/A_my_swarm.txt ~/.zen/A_my_swarm.txt