#!/bin/bash ######################################################################## # Author: Fred (support@qo-op.com) # Version: 2020.12.03 # 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##*/}" # create swarm_map and my_swam files echo "" > ~/.zen/A_my_swarm.txt echo "" > ~/.zen/A_swarm_map.txt ######################################################################## # ENVIRONEMENT DETECTION + IPFS ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_info ######################################################################## IPFSNODEID=$(ipfs id -f='\n') [[ $IPFSNODEID == "" ]] && echo "ERROR missing IPFS Node id !! IPFS is not installed !?" && exit 1 isIPFSRunning=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d ' ' -f 1) [[ ! $isIPFSRunning ]] && echo "ERROR! ipfs daemon is not running. EXIT" && exit 1 ######################################################################## # Force Strict #swarm0 !!? # ipfs bootstrap rm --all liking_me_count=0 friend_of_mine_count=0 ######################################################################## # Let's look for Friends and "IPFS swarm connect" with them ######################################################################## # 1. Get Gchange "liking_me" people list for liking_me in $(~/.zen/astrXbian/zen/jaklis/jaklis.py like | jq -r '.likes[].issuer'); do [[ "$liking_me" == "" ]] && continue # DE TOUS CEUX QUI M'AIMENT JE VAIS LIRE LES MESSAGES pour collecter les ipfstryme vers ~/.zen/A_swarm_map.txt # SI JE SUIS LEUR AMI EN RETOUR, je conserve leur ID dans ~/.zen/A_my_swarm.txt # Check if my like is reverse liking_me_count=$((liking_me_count+1)) echo ">>>>>> CHECKING my friend n° $liking_me_count" echo "READING 'ipfstryme' message from $liking_me" for peerline in $(~/.zen/astrXbian/zen/jaklis/jaklis.py read -n50 -j | jq -r --arg friendKEY "$liking_me" '.[] | select(.pubkey == $friendKEY)' | jq 'select(.title == "ipfstryme")' | jq -r '.content'); do echo "PEERLINE: $peerline" # KEEP A_swarm_map.txt uniq "$peerline" line echo $peerline >> ~/.zen/A_swarm_map.txt cat ~/.zen/A_swarm_map.txt | uniq > /tmp/A_swarm_map.txt cp -f /tmp/A_swarm_map.txt ~/.zen/A_swarm_map.txt # Get ipfsnodeid ipfsnodeid=$(echo "$peerline" | awk -F '/' '{print $8}') [[ "$ipfsnodeid" == "" ]] && continue whoisg1=$(~/.zen/astrXbian/zen/tools/ipfs_to_g1.py $ipfsnodeid) echo "Am I friend whith $whoisg1 ?" friend_of_mine=$(~/.zen/astrXbian/zen/jaklis/jaklis.py like -p $whoisg1 | jq -r '.yours.pseudo'); # must contains my XZUID if [[ "$friend_of_mine" != "" ]]; then friend_of_mine_count=$((friend_of_mine_count+1)) echo "YEAH FRIEND ° $friend_of_mine_count !!!" echo $peerline >> ~/.zen/A_my_swarm.txt # REMOVING OLD ipfstryme MESSAGES nbmessage=0 for messageid in $(~/.zen/astrXbian/zen/jaklis/jaklis.py read -n50 -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 OLD 'ipfstryme' messages from $whoisg1" && ~/.zen/astrXbian/zen/jaklis/jaklis.py delete -i $messageid sleep 0.5 done fi done; echo "__________________________________________" done # UNIQ file cat ~/.zen/A_my_swarm.txt | uniq > /tmp/A_my_swarm.txt cp -f /tmp/A_my_swarm.txt ~/.zen/A_my_swarm.txt echo "#################################################### I have $friend_of_mine_count friends amoung $liking_me_count liking me people __________________________________________ My actual #SWARM0" ipfs swarm peers # HONTO SEND MESSAGE ~/.zen/astrXbian/zen/jaklis/jaklis.py send -d $line -t 'Astroport' -m 'Rejoins mon #Swarm0 https://copylaradio.com'"