./start + 1234 WRITE API + 12345 READ IPNS MAP

This commit is contained in:
fred 2022-11-02 15:00:01 +01:00
parent 07fe1d51c5
commit fac68e8d46
3 changed files with 38 additions and 18 deletions

View File

@ -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

View File

@ -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

View File

@ -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"