From fac68e8d466d92a9c7c286cc670ea75ab2988f88 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 2 Nov 2022 15:00:01 +0100 Subject: [PATCH] ./start + 1234 WRITE API + 12345 READ IPNS MAP --- 12345.sh | 4 ++++ _12345.sh | 50 +++++++++++++++++++++++++++++++++----------------- start.sh | 2 +- 3 files changed, 38 insertions(+), 18 deletions(-) diff --git a/12345.sh b/12345.sh index 56f0bf52..d673114f 100755 --- a/12345.sh +++ b/12345.sh @@ -62,6 +62,10 @@ while true; do [ ${PORT} -le 12345 ] && PORT=$((PORT+${RANDOM:0:3})) || PORT=$((PORT-${RANDOM:0:3})) ## RANDOM PORT SWAPPINESS + ## CHECK 12345 PORT RUNNING (PUBLISHING IPNS SWARM MAP) + maprunning=$(ps auxf --sort=+utime | grep -w 'nc -l -p 12345' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) + [[ ! $maprunning ]] && ($MY_PATH/_12345.sh &) && echo '(ᵔ◡◡ᵔ) LAUNCHING http://'$myIP:'12345 (ᵔ◡◡ᵔ)' + ############### ### CREATE IPNS KEY - ACTIVATE WHITH ENOUGH BOOTSTRAP ### echo diff --git a/_12345.sh b/_12345.sh index 49024365..27b02e30 100755 --- a/_12345.sh +++ b/_12345.sh @@ -4,8 +4,10 @@ # Version: 0.1 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ################################################################################ +# PUBLISHING IPNS SWARM MAP # This script scan Swarm API layer from official bootstraps # Then publish map of json DApp data +# MOATS=$(date -u +"%Y%m%d%H%M%S%4N") IPFSNODEID=$(cat ~/.ipfs/config | jq -r .Identity.PeerID) myIP=$(hostname -I | awk '{print $1}' | head -n 1) @@ -16,27 +18,31 @@ PORT=12345 YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1); ## $USER running ipfs LIBRA=$(head -n 2 ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | tail -n 1 | cut -d ' ' -f 2) ## SWARM#0 ENTRANCE URL +ncrunning=$(ps auxf --sort=+utime | grep -w 'nc -l -p 12345' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) +[[ $ncrunning ]] && echo "(≖‿‿≖) - API Server Already Running - (≖‿‿≖) " && exit 1 -for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#") # remove comments -do - ipfsnodeid=${bootnode##*/} - mkdir -p ~/.zen/tmp/swarm/$ipfsnodeid - echo "IPFS get /ipns/$ipfsnodeid" - [[ $YOU ]] && echo "http://$myIP:8080/ipns/${ipfsnodeid} ($YOU)" && ipfs --time-out 12s get -o ~/.zen/tmp/swarm/$ipfsnodeid /ipns/$ipfsnodeid -## [[ ! -s ~/.zen/tmp/swarm/$ipfsnodeid/index.json ]] && echo "$LIBRA/ipns/${ipfsnodeid}" && curl -m 6 -so ~/.zen/tmp/swarm/$ipfsnodeid/index.json "$LIBRA/ipns/${ipfsnodeid}" +while true; do + start=`date +%s` + for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#") # remove comments + do + ipfsnodeid=${bootnode##*/} + mkdir -p ~/.zen/tmp/swarm/$ipfsnodeid + echo "IPFS get /ipns/$ipfsnodeid" + [[ $YOU ]] && echo "http://$myIP:8080/ipns/${ipfsnodeid} ($YOU)" && ipfs --timeout 12s get -o ~/.zen/tmp/swarm/$ipfsnodeid /ipns/$ipfsnodeid + ## [[ ! -s ~/.zen/tmp/swarm/$ipfsnodeid/index.json ]] && echo "$LIBRA/ipns/${ipfsnodeid}" && curl -m 6 -so ~/.zen/tmp/swarm/$ipfsnodeid/index.json "$LIBRA/ipns/${ipfsnodeid}" - echo "Updated : ~/.zen/tmp/swarm/$ipfsnodeid" - ls ~/.zen/tmp/swarm/$ipfsnodeid -done + echo "Updated : ~/.zen/tmp/swarm/$ipfsnodeid" + ls ~/.zen/tmp/swarm/$ipfsnodeid + done -ls ~/.zen/tmp/${IPFSNODEID}/ -ROUTING=$(ipfs add -rwq ~/.zen/tmp/${IPFSNODEID} | tail -n 1 ) -echo "SELF PUBLISHING SWARM STATUS" -ipfs name publish --allow-offline /ipfs/$ROUTING + ls ~/.zen/tmp/swarm/ + ROUTING=$(ipfs add -rwq ~/.zen/tmp/swarm | tail -n 1 ) + echo "SELF PUBLISHING SWARM STATUS" + ipfs name publish --allow-offline /ipfs/$ROUTING -HTTPCORS="HTTP/1.1 200 OK + HTTPCORS="HTTP/1.1 200 OK Access-Control-Allow-Origin: '*' Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET @@ -44,8 +50,18 @@ Server: Astroport.ONE Content-Type: application/json; charset=UTF-8 { - \"ipns\"=\"${IPFSNODEID}\" - \"url\"=\"http://${myIP}:8080/ipns/${IPFSNODEID}\" + \"moats\" : \"${MOATS}\", + \"ipfsnodeid\" : \"${IPFSNODEID}\", + \"url\" : \"http://${myIP}:8080/ipns/${IPFSNODEID}\" } " + # BLOCKING COMMAND + echo '(◕‿‿◕) http://'$myIP:'12345 READY (◕‿‿◕)' + echo "$HTTPCORS" | nc -l -p 12345 -q 1 > /dev/null 2>&1 + #### 12345 NETWORK MAP TOKEN + end=`date +%s` + echo '(#__#) WAITING TIME was '`expr $end - $start`' seconds.' + echo '(^‿‿^) 12345 TOKEN '${MOATS}' CONSUMED (^‿‿^)' +done +exit 0 diff --git a/start.sh b/start.sh index 522d6e0f..66f67712 100755 --- a/start.sh +++ b/start.sh @@ -13,7 +13,7 @@ TS=$(date -u +%s%N | cut -b1-13) MOATS=$(date -u +"%Y%m%d%H%M%S%4N") ################################################### -killall 12345.sh; killall nc; killall tail; mkdir -p ~/.zen/tmp +killall 12345.sh; killall _12345.sh killall nc; killall tail; mkdir -p ~/.zen/tmp ~/.zen/Astroport.ONE/12345.sh > ~/.zen/tmp/12345.log & tail -f ~/.zen/tmp/12345.log & echo "1234 PORT SPIDER http://$myIP:1234"