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:
parent
cbc1b24f74
commit
9194845c8d
119
12345.sh
119
12345.sh
|
@ -441,125 +441,6 @@ echo "" > ~/.zen/tmp/.ipfsgw.bad.twt # TODO move in 20h12.sh
|
||||||
fi
|
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
|
# API ONE : ?salt=PHRASE%20UNE&pepper=PHRASE%20DEUX&g1pub=on&email/elastic=ELASTICID&pseudo=PROFILENAME
|
||||||
|
|
Loading…
Reference in New Issue