no more official login. USER is becoming a PLAYER, seeding it's own IPFS, using a Docker on an Astroport NODE run by another PLAYER. So FRIENDS can invite other FRIENDS

This commit is contained in:
fred 2022-12-04 17:52:33 +01:00
parent cbc1b24f74
commit 9194845c8d
1 changed files with 0 additions and 119 deletions

119
12345.sh
View File

@ -441,125 +441,6 @@ echo "" > ~/.zen/tmp/.ipfsgw.bad.twt # TODO move in 20h12.sh
fi
##############################################
# DEFAULT (NO REDIRECT DONE YET) CHECK OFFICIAL GATEWAY
##############################################
# OFFICIAL Gateway ( increase waiting time ) - MORE SECURE
if [[ $APPNAME == "official" ]]; then
echo "SEARCHING FOR OFFICIAL TW GW... $LIBRA/ipns/${ASTRONAUTENS} ($YOU)"
## GETTING LAST TW via IPFS or HTTP GW
[[ $YOU ]] && echo "ipfs --timeout 12s cat /ipns/${ASTRONAUTENS} ($YOU)" && ipfs --timeout 12s cat /ipns/${ASTRONAUTENS} > ~/.zen/tmp/coucou/${MOATS}.astroindex.html
[[ ! -s ~/.zen/tmp/coucou/${MOATS}.astroindex.html ]] && echo "$HOST/ipns/${ASTRONAUTENS}" && curl -m 12 -so ~/.zen/tmp/coucou/${MOATS}.astroindex.html "$HOST/ipns/${ASTRONAUTENS}"
# DEBUG
# echo "tiddlywiki --load ~/.zen/tmp/coucou/${MOATS}.astroindex.html --output ~/.zen/tmp --render '.' 'MadeInZion.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'MadeInZion'"
# echo "cat ~/.zen/tmp/MadeInZion.json | jq -r .[].secret"
if [[ -s ~/.zen/tmp/coucou/${MOATS}.astroindex.html ]]; then
echo "GOT TW CACHE !!"
tiddlywiki --load ~/.zen/tmp/coucou/${MOATS}.astroindex.html --output ~/.zen/tmp --render '.' 'MadeInZion.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'MadeInZion'
[[ ! -s ~/.zen/tmp/MadeInZion.json ]] && (echo "$HTTPCORS MadeInZion ERROR - SORRY - CANNOT CONTINUE " | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && echo "BAD MadeInZion.json (☓‿‿☓) Execution time was "`expr $(date +%s) - $start` seconds. && continue
SECRET=$(cat ~/.zen/tmp/MadeInZion.json | jq -r .[].secret)
PLAYER=$(cat ~/.zen/tmp/MadeInZion.json | jq -r .[].player)
[[ ! $PLAYER ]] \
&& (echo "$HTTPCORS ERROR - BAD MadeInZion PLAYER in /ipns/${ASTRONAUTENS} - CONTINUE " | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && echo "BAD MadeInZion PLAYER (☓‿‿☓) Execution time was "`expr $(date +%s) - $start` seconds. && continue
#
# CRYPTO DECODING CRYPTIP -> myHOST
cat ~/.zen/tmp/MadeInZion.json | jq -r .[].secret | base16 -d > ~/.zen/tmp/myHOST.$G1PUB.enc.2
$MY_PATH/tools/natools.py decrypt -f pubsec -k ~/.zen/tmp/coucou/${MOATS}.secret.key -i ~/.zen/tmp/myHOST.$G1PUB.enc.2 -o ~/.zen/tmp/myHOST.$G1PUB > /dev/null 2>&1
GWIP=$(cat ~/.zen/tmp/myHOST.$G1PUB > /dev/null 2>&1)
[[ ! $GWIP ]] && GWIP=${myHOST} ## CLEAR
#
echo "TW is on ${myHTTP}$GWIP"
echo "BECOMING TW GATEWAY : ${myHOST}" ## BECOMING OFFICIAL BECOME R/W TW
####################
echo $GWIP > ~/.zen/tmp/GWIP
$MY_PATH/tools/natools.py encrypt -p $G1PUB -i $HOME/.zen/tmp/GWIP -o $HOME/.zen/tmp/myHOST.$G1PUB.enc
CRYPTIP=$(cat ~/.zen/tmp/myHOST.$G1PUB.enc | base16)
## WRITE CRYPTIP into MadeInZion tiddler
echo "# CRYPTO ENCODING $GWIP -> $CRYPTIP"
sed -i "s~$SECRET~$CRYPTIP~g" ~/.zen/tmp/MadeInZion.json
###########################
# Modification Tiddlers de contrôle de GW & API
[[ $isLAN ]] \
&& echo '[{"title":"$:/ipfs/saver/api/http/localhost/5001","tags":"$:/ipfs/core $:/ipfs/saver/api","text":"'${myHTTP}${myHOST}':5001"}]' > ~/.zen/tmp/5001.json \
&& echo '[{"title":"$:/ipfs/saver/gateway/http/localhost","tags":"$:/ipfs/core $:/ipfs/saver/gateway","text":"'${myHTTP}${myHOST}':8080"}]' > ~/.zen/tmp/8080.json
[[ ! $isLAN ]] \
&& echo '[{"title":"$:/ipfs/saver/api/http/localhost/5001","tags":"$:/ipfs/core $:/ipfs/saver/api","text":"'${myHTTP}${myHOST}'/api"}]' > ~/.zen/tmp/5001.json \
&& echo '[{"title":"$:/ipfs/saver/gateway/http/localhost","tags":"$:/ipfs/core $:/ipfs/saver/gateway","text":"'${myHTTP}${myHOST}'"}]' > ~/.zen/tmp/8080.json
tiddlywiki --load ~/.zen/tmp/coucou/${MOATS}.astroindex.html \
--import "$HOME/.zen/tmp/MadeInZion.json" "application/json" \
--import "$HOME/.zen/tmp/5001.json" "application/json" \
--import "$HOME/.zen/tmp/8080.json" "application/json" \
--output ~/.zen/tmp/coucou --render "$:/core/save/all" "${MOATS}.newindex.html" "text/plain"
[[ -s ~/.zen/tmp/coucou/${MOATS}.newindex.html ]] \
&& cp ~/.zen/tmp/coucou/${MOATS}.newindex.html ~/.zen/tmp/coucou/${MOATS}.astroindex.html \
&& rm ~/.zen/tmp/coucou/${MOATS}.newindex.html
###########################
if [[ "${PLAYER}" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ ]]; then
echo "VALID PLAYER OK"
else
echo "BAD EMAIL"
(echo "$HTTPCORS KO ${PLAYER} : BAD EMAIL" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && continue
fi
## CREATE $PLAYER IPNS KEY (for next 20h12)
ipfs key rm ${PLAYER}
ipfs key import ${PLAYER} -f pem-pkcs8-cleartext ~/.zen/tmp/coucou/${MOATS}.${G1PUB}.ipns.key
[[ ! -d ~/.zen/game/players/$PLAYER/ipfs/moa ]] && mkdir -p ~/.zen/game/players/$PLAYER/ipfs/moa/
cp ~/.zen/tmp/coucou/${MOATS}.astroindex.html ~/.zen/game/players/$PLAYER/ipfs/moa/index.html
echo "## PUBLISHING ${PLAYER} /ipns/$ASTRONAUTENS/ &"
(
startipfs=`date +%s`
IPUSH=$(ipfs add -Hq ~/.zen/tmp/coucou/${MOATS}.astroindex.html | tail -n 1)
[[ $IPUSH ]] && ipfs name publish --key=${PLAYER} /ipfs/$IPUSH 2>/dev/null
echo "## PUBLISHING ${PLAYER} /ipns/$ASTRONAUTENS/ END"
end=`date +%s`
dur=`expr $end - $start`
echo ${MOATS}:${G1PUB}:${PLAYER}:TWUPDATE:$dur >> ~/.zen/tmp/${IPFSNODEID}/_timings
cat ~/.zen/tmp/${IPFSNODEID}/_timings | tail -n 1
) & # ~~bbbzzzzzz~~&
## MEMORISE PLAYER Ŋ1 ZONE (TODO compare with VISA.new.sh)
echo "$PLAYER" > ~/.zen/game/players/$PLAYER/.player
echo "$G1PUB" > ~/.zen/game/players/$PLAYER/.g1pub
echo "${ASTRONAUTENS}" > ~/.zen/game/players/$PLAYER/.playerns
GWIP=${myHOST}
TWIP=${myHOST}
echo "*********** OFFICIAL LOGIN GOES TO $TWIP"
else
echo "NO TW FOUND - LAUNCHING CENTRAL"
## 302 REDIRECT CENTRAL GW
TWIP=${TUBE}
fi
## 302 REDIRECT $TWIP
cat ~/.zen/Astroport.ONE/templates/index.302 >> ~/.zen/tmp/coucou/${MOATS}.index.redirect
sed -i "s~_TWLINK_~${myHTTP}$TWIP:8080/ipns/${ASTRONAUTENS}~g" ~/.zen/tmp/coucou/${MOATS}.index.redirect
cat ~/.zen/tmp/coucou/${MOATS}.index.redirect | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &
end=`date +%s`
dur=`expr $end - $start`
echo ${MOATS}:${G1PUB}:${PLAYER}:${APPNAME}:$dur >> ~/.zen/tmp/${IPFSNODEID}/_timings
cat ~/.zen/tmp/${IPFSNODEID}/_timings | tail -n 1
continue
fi ## official
###################################################################################################
###################################################################################################
# API ONE : ?salt=PHRASE%20UNE&pepper=PHRASE%20DEUX&g1pub=on&email/elastic=ELASTICID&pseudo=PROFILENAME