From 47f127f6cc88129bda1f7f854c03f1595bc130b3 Mon Sep 17 00:00:00 2001 From: fred Date: Thu, 2 Sep 2021 01:21:54 +0200 Subject: [PATCH] reading from IPNS capsules = lower gchange usage --- zen/gchange_INIT.sh | 42 ++++++++++++++++++++++++--------------- zen/gchange_IPFS_swarm.sh | 22 +++++++++++++++----- 2 files changed, 43 insertions(+), 21 deletions(-) diff --git a/zen/gchange_INIT.sh b/zen/gchange_INIT.sh index c0e81d4..ea53414 100755 --- a/zen/gchange_INIT.sh +++ b/zen/gchange_INIT.sh @@ -103,8 +103,8 @@ fi ######################################################################## echo "#################################################### Customisation TiddlyWiki" -# [[ ! -f /home/$YOU/.zen/ipfs/.$IPFSNODEID/index.html ]] && mkdir -p ~/.zen/ipfs/.${IPFSNODEID} && cp ~/.zen/astrXbian/.install/templates/tiddlyone/index.html ~/.zen/ipfs/.${IPFSNODEID}/index.html -cp ~/.zen/astrXbian/.install/templates/tiddlyone/index.html ~/.zen/ipfs/.${IPFSNODEID}/index.html +[[ ! $(cat ~/.zen/ipfs/.${IPFSNODEID}/index.html | grep ${IPFSNODEID}) ]] && mkdir -p ~/.zen/ipfs/.${IPFSNODEID} && cp ~/.zen/astrXbian/.install/templates/tiddlyone/index.html ~/.zen/ipfs/.${IPFSNODEID}/index.html +# cp -f ~/.zen/astrXbian/.install/templates/tiddlyone/index.html ~/.zen/ipfs/.${IPFSNODEID}/index.html zuid="$(cat ~/.zen/ipfs/.$IPFSNODEID/_xbian.zuid)" wiki="/home/$YOU/.zen/ipfs/.$IPFSNODEID/index.html" @@ -174,6 +174,12 @@ do fi + ipfsnodeid=$(~/.zen/astrXbian/zen/tools/g1_to_ipfs.py $liking_me) + echo "Reading stars.level from Stations IPNS Capsules." + starsin=$(ipfs --timeout=10s cat /ipns/$ipfsnodeid/.$ipfsnodeid/FRIENDS/$G1PUB/stars.level) + starsout=$(ipfs --timeout=10s cat /ipns/$IPFSNODEID/.$IPFSNODEID/FRIENDS/$liking_me/stars.level) + echo "I received $starsin stars while I sent $starsout stars." + ##### CHECKING IF WE LIKE EACH OTHER (AVOID LIKING MYSELF) ~/.zen/astrXbian/zen/tools/timeout.sh -t 20 ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" stars -p $liking_me > /tmp/Gstars.json @@ -200,22 +206,26 @@ do # zuid=$(ipfs --timeout=10s cat /ipns/${ipfsnodeid}/.${ipfsnodeid}/_xbian.zuid) # [[ ${zuid} ]] && touch ~/.zen/ipfs/.${IPFSNODEID}/FRIENDS/$liking_me/${zuid} +## NOT USEFULL TRYING # SEND jaklis message if tryme.addr is different from last one - if [[ $(diff ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr ~/.zen/ipfs/.${IPFSNODEID}/FRIENDS/$liking_me/tryme.addr 2>&1) ]] - then - echo "I AM $G1PUB" - echo "Sending IPFSTRYME message to $liking_me" - if [[ -f ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr ]]; then - ~/.zen/astrXbian/zen/tools/timeout.sh -t 20 ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" send -d $liking_me -t "ipfstryme" -f ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr - else - echo 'MISSING ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr' - fi - echo "$friend_of_mine" >> /tmp/friend_of_mine - else - echo "tryme.addr MESSAGE ALREADY SENT TO $liking_me" - fi - # MEMORIZE actual tryme.addr +# if [[ $(diff ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr ~/.zen/ipfs/.${IPFSNODEID}/FRIENDS/$liking_me/tryme.addr 2>&1) ]] +# then +# echo "I AM $G1PUB" +# echo "Sending IPFSTRYME message to $liking_me" +# +# if [[ -f ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr ]]; then +# ~/.zen/astrXbian/zen/tools/timeout.sh -t 20 ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" send -d $liking_me -t "ipfstryme" -f ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr +# else +# echo 'MISSING ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr' +# fi +# echo "$friend_of_mine" >> /tmp/friend_of_mine +# else +# echo "tryme.addr MESSAGE ALREADY SENT TO $liking_me" +# fi + + # MEMORIZE actual tryme.addr (gchange_IPFS_swarm.sh is getting it from IPNS capsule) cp -f ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr ~/.zen/ipfs/.${IPFSNODEID}/FRIENDS/$liking_me/ + fi sleep $((1 + RANDOM % 2)) # SLOW DOWN diff --git a/zen/gchange_IPFS_swarm.sh b/zen/gchange_IPFS_swarm.sh index 31c8b75..ee0a74d 100755 --- a/zen/gchange_IPFS_swarm.sh +++ b/zen/gchange_IPFS_swarm.sh @@ -42,16 +42,25 @@ do # 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 liking_me n° $liking_me_count : READING 'ipfstryme' message from $liking_me" - ## Get "/tmp/ipfstryme.$liking_me" from Gchange "ipfstryme" message - ~/.zen/astrXbian/zen/tools/timeout.sh -t 12 ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" read -n300 -j | jq -r --arg friendKEY "$liking_me" '.[] | select(.pubkey == $friendKEY)' | jq 'select(.title == "ipfstryme")' | jq -r '.content' > /tmp/ipfstryme.$liking_me + + ## IPFS WAY TO DO IT (LESS STRESS ON GCHANGE) + rm /tmp/ipfstryme.$liking_me + ipfsnodeid=$(~/.zen/astrXbian/zen/tools/g1_to_ipfs.py $liking_me) + echo "Getting /ipns/$ipfsnodeid/.$ipfsnodeid/tryme.addr ..." + ipfs --timeout=30s cat /ipns/$ipfsnodeid/.$ipfsnodeid/tryme.addr > /tmp/ipfstryme.$liking_me + + if [[ ! -f /tmp/ipfstryme.$liking_me ]]; then + echo ">>>>>> CHECKING liking_me n° $liking_me_count : READING 'ipfstryme' message from $liking_me" + ## Get "/tmp/ipfstryme.$liking_me" from Gchange "ipfstryme" message + ~/.zen/astrXbian/zen/tools/timeout.sh -t 12 ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" read -n300 -j | jq -r --arg friendKEY "$liking_me" '.[] | select(.pubkey == $friendKEY)' | jq 'select(.title == "ipfstryme")' | jq -r '.content' > /tmp/ipfstryme.$liking_me + fi ## 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 # CLEAN /tmp/ipfstryme.$liking_me > /tmp/ipfstryme.clean - for line in $(cat /tmp/ipfstryme.$liking_me); + for line in $(cat /tmp/ipfstryme.$liking_me | shuf); do ipfsnodeid=$(echo $line | rev | cut -d '/' -f 1 | rev) [[ $ipfsnodeid == "" ]] && break @@ -95,6 +104,7 @@ do # FRIEND ADDRESS DISCOVERY echo "Am I friend with my FRIEND friend $whoisg1 ?" + # ipfs cat /ipns/$ipfsnodeid/.$ipfsnodeid/FRIENDS/$G1PUB/tryme.addr # IS my own /ipns/$IPFSNODEID/.$IPFSNODEID/tryme.addr friend_of_mine=$(~/.zen/astrXbian/zen/tools/timeout.sh -t 12 ~/.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) ]] @@ -104,6 +114,8 @@ do friend_of_mine_count=$((friend_of_mine_count+1)) echo "$peerline" >> ~/.zen/A_my_swarm.txt ipfs bootstrap add "$peerline" + ## NOW USING Peers.Peering config + else echo "ALREADY RECORDED FRIEND" fi @@ -137,7 +149,7 @@ echo "####################################################" ## SHOULD HAVE exit 0 before !! ######################################################################## -## SWARM LOST !! EMERGENCY RECOVERY !! TEST CODE +## SWARM LOST !! EMERGENCY RECOVERY CODE !!! ######################################################################## ipfs bootstrap > /tmp/ipfs_bootstrap