2023-09-11 01:45:42 +02:00
|
|
|
#!/bin/bash
|
|
|
|
################################################################################
|
|
|
|
# Author: Fred (support@qo-op.com)
|
|
|
|
# Version: 0.2
|
|
|
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
|
|
|
################################################################################
|
|
|
|
MY_PATH="`dirname \"$0\"`" # relative
|
|
|
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
|
|
|
. "$MY_PATH/../tools/my.sh"
|
|
|
|
################################################################################
|
|
|
|
## SEEK FOR UPLANET KEYS
|
|
|
|
# GET & UPDATE IPNS
|
|
|
|
############################################
|
|
|
|
echo "## RUNNING UPLANET.refresh"
|
|
|
|
[[ ${IPFSNODEID} == "" ]] && echo "IPFSNODEID is empty - EXIT -" && exit 1
|
|
|
|
|
|
|
|
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
|
|
|
mkdir ~/.zen/tmp/${MOATS}
|
|
|
|
|
|
|
|
#################################################################
|
|
|
|
## IPFSNODEID ASTRONAUTES SIGNALING ## 12345 port
|
|
|
|
############################
|
|
|
|
## RUNING FOR ALL UMAP FOUND IN STATION MAP CACHE : "_LAT_LON"
|
|
|
|
|
2023-09-11 23:55:07 +02:00
|
|
|
## SEARCH UMAP (created by PLAYER.refresh.sh)
|
2023-09-11 01:45:42 +02:00
|
|
|
UMAPS=($(ls -t ~/.zen/tmp/${IPFSNODEID}/UPLANET/ 2>/dev/null))
|
2023-09-12 16:46:15 +02:00
|
|
|
echo "FOUND : ${UMAPS[@]}" # "_LAT_LON" directories
|
2023-09-11 01:45:42 +02:00
|
|
|
|
|
|
|
for UMAP in ${UMAPS[@]}; do
|
|
|
|
|
2023-09-11 23:55:07 +02:00
|
|
|
start=`date +%s`
|
2023-09-11 01:45:42 +02:00
|
|
|
echo ">>> REFRESHING ${UMAP}"
|
|
|
|
LAT=$(echo ${UMAP} | cut -d '_' -f 2)
|
|
|
|
LON=$(echo ${UMAP} | cut -d '_' -f 3)
|
2023-09-11 17:08:22 +02:00
|
|
|
|
2023-09-11 23:55:07 +02:00
|
|
|
[[ $LAT == "" || $LON == "" ]] && echo ">> ERROR BAD $LAT $LON" && continue
|
2023-09-13 12:23:53 +02:00
|
|
|
[[ $LAT == "null" || $LON == "null" ]] && echo ">> ERROR BAD $LAT $LON" && continue
|
2023-09-11 23:55:07 +02:00
|
|
|
|
2023-09-11 01:45:42 +02:00
|
|
|
##############################################################
|
2023-09-25 14:08:04 +02:00
|
|
|
G1PUB=$(${MY_PATH}/../tools/keygen -t duniter "$LAT" "$LON")
|
|
|
|
[[ ! ${G1PUB} ]] && echo "ERROR generating WALLET" && exit 1
|
|
|
|
echo "ACTUAL UMAP WALLET : ${G1PUB}"
|
2023-09-11 01:45:42 +02:00
|
|
|
${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/WALLET.priv "$LAT" "$LON"
|
2023-09-25 14:08:04 +02:00
|
|
|
ipfs key rm ${G1PUB} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
|
|
|
|
UMAPNS=$(ipfs key import ${G1PUB} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/WALLET.priv)
|
2023-09-11 17:08:22 +02:00
|
|
|
##############################################################
|
2023-09-11 01:45:42 +02:00
|
|
|
|
2023-09-25 14:08:04 +02:00
|
|
|
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
2023-09-12 16:46:15 +02:00
|
|
|
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|
|
|
## IPFS GET ONLINE UMAPNS
|
2023-09-11 01:45:42 +02:00
|
|
|
mkdir ~/.zen/tmp/${MOATS}/${UMAP}
|
|
|
|
ipfs get -o ~/.zen/tmp/${MOATS}/${UMAP}/ /ipns/${UMAPNS}/
|
2023-09-12 16:46:15 +02:00
|
|
|
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
2023-09-25 14:08:04 +02:00
|
|
|
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
2023-09-11 17:08:22 +02:00
|
|
|
|
2023-09-12 18:10:42 +02:00
|
|
|
## FORMAT CONTROL WARNING
|
2023-09-25 14:08:04 +02:00
|
|
|
[[ ! -d ~/.zen/tmp/${MOATS}/${UMAP}/${G1PUB} || ! -d ~/.zen/tmp/${MOATS}/${UMAP}/${LAT}_${LON} ]] \
|
2023-09-12 18:10:42 +02:00
|
|
|
&& echo ">>> WARNING - UMAP IS BAD FORMAT - PLEASE MONITOR KEY -" \
|
|
|
|
&& mkdir -p ~/.zen/tmp/${MOATS}/${UMAP}/${LAT}_${LON} \
|
2023-09-28 12:58:54 +02:00
|
|
|
&& mkdir -p ~/.zen/tmp/${MOATS}/${UMAP}/${G1PUB} \
|
|
|
|
&& mkdir -p ~/.zen/tmp/${MOATS}/${UMAP}/RSS
|
|
|
|
|
|
|
|
## COLLECT RSS FROM ALL PLAYERS WITH SAME UMAP IN SWARM MEMORY
|
2023-10-09 22:15:29 +02:00
|
|
|
RSSFILES=($(ls ~/.zen/tmp/swarm/*/UPLANET/_${LAT}_${LON}/RSS/*.rss.json 2>/dev/null))
|
2023-09-28 12:58:54 +02:00
|
|
|
for RSSFILE in ${RSSFILES[@]}; do
|
|
|
|
cp ${RSSFILE} ~/.zen/tmp/${MOATS}/${UMAP}/${LAT}_${LON}/RSS/
|
|
|
|
done
|
2023-09-28 17:03:25 +02:00
|
|
|
|
|
|
|
## COLLECT TW LINKS FOR SWARM
|
2023-10-09 22:15:29 +02:00
|
|
|
TWFILES=($(ls ~/.zen/tmp/swarm/*/UPLANET/_${LAT}_${LON}/TW/*/index.html 2>/dev/null))
|
2023-09-28 17:03:25 +02:00
|
|
|
for TWRED in ${TWFILES[@]}; do
|
|
|
|
ZMAIL=$(echo ${TWRED} | rev | cut -d '/' -f 2 | rev)
|
|
|
|
mkdir -p ~/.zen/tmp/${MOATS}/${UMAP}/${LAT}_${LON}/TW/${ZMAIL}
|
|
|
|
cp ${TWRED} ~/.zen/tmp/${MOATS}/${UMAP}/${LAT}_${LON}/TW/${ZMAIL}/
|
|
|
|
done
|
2023-09-11 23:55:07 +02:00
|
|
|
|
2023-09-25 14:08:04 +02:00
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2023-09-11 17:08:22 +02:00
|
|
|
########################################################
|
|
|
|
## NODE SELECTION in UMAP.refresh
|
2023-09-12 16:46:15 +02:00
|
|
|
UREFRESH="${HOME}/.zen/tmp/${MOATS}/${UMAP}/${LAT}_${LON}/UMAP.refresh"
|
2023-09-11 17:08:22 +02:00
|
|
|
ALLNODES=($(cat ${UREFRESH})) # ${ALLNODES[@]}
|
2023-09-25 14:08:04 +02:00
|
|
|
[[ ! ${ALLNODES} ]] && ALLNODES=${IPFSNODEID} && echo ${IPFSNODEID} > ${UREFRESH}
|
|
|
|
|
2023-09-11 17:08:22 +02:00
|
|
|
STRAPS=($(ipfs bootstrap | rev | cut -f 1 -d'/' | rev)) ## ${STRAPS[@]}
|
|
|
|
# STRAPS=($(cat ${MY_PATH}/../A_boostrap_nodes.txt | grep -Ev "#"))
|
|
|
|
IAMINBOOTSTRAP=$(echo ${STRAPS[@]} | grep ${IPFSNODEID})
|
2023-09-25 14:08:04 +02:00
|
|
|
[[ ! ${IAMINBOOTSTRAP} ]] && ACTINGNODE=${ALLNODES[-1]} ## LAST NODE
|
2023-09-11 01:45:42 +02:00
|
|
|
|
2023-09-11 17:08:22 +02:00
|
|
|
# PRIORITY TO BOOSTRAP
|
|
|
|
for NODE in ${ALLNODES[@]}; do
|
|
|
|
for STRAP in ${STRAPS[@]}; do
|
2023-09-25 14:08:04 +02:00
|
|
|
[[ "${NODE}" == "${STRAP}" ]] && ACTINGNODE=${NODE} ## PREFER NODE BEING BOOSTRAP
|
2023-09-11 17:08:22 +02:00
|
|
|
done
|
|
|
|
done
|
2023-09-11 01:45:42 +02:00
|
|
|
|
2023-09-11 17:08:22 +02:00
|
|
|
[[ "${ACTINGNODE}" != "${IPFSNODEID}" ]] \
|
2023-09-25 14:08:04 +02:00
|
|
|
&& echo ">> ACTINGNODE=${ACTINGNODE} is not ME - CONTINUE -" \
|
2023-09-11 17:08:22 +02:00
|
|
|
&& continue
|
2023-09-25 14:08:04 +02:00
|
|
|
########################################
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PASSING THERE MAKE IPFSNODEID UMAP REFRESHER
|
2023-09-11 17:08:22 +02:00
|
|
|
|
2023-09-25 14:08:04 +02:00
|
|
|
## NEXT REFRESHER
|
|
|
|
# TODO: INTRODUCE NODE BALANCE AND CHOOSE THE MOST CONFIDENT ONE
|
2023-09-11 17:08:22 +02:00
|
|
|
# SHUFFLE UMAP.refresh
|
|
|
|
cat ${UREFRESH} | shuf > ${UREFRESH}.shuf
|
|
|
|
mv ${UREFRESH}.shuf ${UREFRESH}
|
2023-09-25 14:08:04 +02:00
|
|
|
## NEXT REFRESHER
|
|
|
|
echo ">> NEXT REFRESHER WILL BE $(cat ${UREFRESH} | tail -n 1)"
|
2023-09-11 17:08:22 +02:00
|
|
|
######################################################## # NODE SELECTION in UMAP.refresh
|
|
|
|
|
2023-09-25 14:08:04 +02:00
|
|
|
|
|
|
|
## ISM2IPFS UMAP GENESYS
|
|
|
|
UMAPGEN="/ipfs/QmRG3ZAiXWvKBccPFbv4eUTZFPMsfXG25PiZQD6N8M8MMM/Umap.html?southWestLat=$LAT&southWestLon=$LON°=0.01"
|
|
|
|
USATGEN="/ipfs/QmRG3ZAiXWvKBccPFbv4eUTZFPMsfXG25PiZQD6N8M8MMM/Usat.html?southWestLat=$LAT&southWestLon=$LON°=0.01"
|
|
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; url='${UMAPGEN}'\" />" > ~/.zen/tmp/${MOATS}/${UMAP}/Umap.html
|
|
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; url='${USATGEN}'\" />" > ~/.zen/tmp/${MOATS}/${UMAP}/Usat.html
|
|
|
|
|
|
|
|
[[ ! -s ~/.zen/tmp/${MOATS}/${UMAP}/Umap.jpg ]] \
|
2023-10-03 13:07:31 +02:00
|
|
|
&& python ${MY_PATH}/../tools/page_screenshot.py "${myIPFS}${UMAPGEN}" ~/.zen/tmp/${MOATS}/${UMAP}/Umap.jpg 900 900 \
|
|
|
|
&& [[ ! -s ~/.zen/tmp/${MOATS}/${UMAP}/Umap.jpg ]] && killall chrome
|
|
|
|
|
2023-09-25 14:08:04 +02:00
|
|
|
[[ ! -s ~/.zen/tmp/${MOATS}/${UMAP}/Usat.jpg ]] \
|
2023-10-03 13:07:31 +02:00
|
|
|
&& python ${MY_PATH}/../tools/page_screenshot.py "${myIPFS}${USATGEN}" ~/.zen/tmp/${MOATS}/${UMAP}/Usat.jpg 900 900 \
|
|
|
|
&& [[ ! -s ~/.zen/tmp/${MOATS}/${UMAP}/Usat.jpg ]] && killall chrome
|
2023-09-25 14:08:04 +02:00
|
|
|
|
|
|
|
|
2023-09-11 23:55:07 +02:00
|
|
|
##############################################################
|
2023-09-25 14:08:04 +02:00
|
|
|
## ERASE FOR ALL NODE PROTOCOL UGRADE
|
2023-09-13 00:01:03 +02:00
|
|
|
rm ~/.zen/tmp/${MOATS}/${UMAP}/geolinks.json
|
2023-09-11 23:55:07 +02:00
|
|
|
##############################################################
|
2023-09-12 17:19:36 +02:00
|
|
|
if [[ ! -s ~/.zen/tmp/${MOATS}/${UMAP}/geolinks.json ]]; then
|
2023-09-11 17:08:22 +02:00
|
|
|
##############################################################
|
|
|
|
## CALCULATE SURROUNDING UMAPS
|
2023-09-11 01:45:42 +02:00
|
|
|
##############################################################
|
|
|
|
# North Umap
|
|
|
|
NLAT=$(echo "$LAT + 0.01" | bc)
|
|
|
|
NLON="$LON"
|
|
|
|
NWALLET=$(${MY_PATH}/../tools/keygen -t duniter "$NLAT" "$NLON")
|
|
|
|
[[ ! ${NWALLET} ]] && echo "ERROR generating NWALLET" && exit 1
|
|
|
|
echo "NORTH UMAP NWALLET : ${NWALLET}"
|
|
|
|
ipfs key rm ${NWALLET} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
|
|
|
|
${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/NWALLET.priv "$NLAT" "$NLON"
|
|
|
|
NUMAPNS=$(ipfs key import ${NWALLET} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/NWALLET.priv)
|
2023-09-11 23:55:07 +02:00
|
|
|
ipfs key rm ${NWALLET}
|
2023-09-11 01:45:42 +02:00
|
|
|
|
|
|
|
##############################################################
|
|
|
|
# South Umap
|
|
|
|
SLAT=$(echo "$LAT - 0.01" | bc)
|
|
|
|
SLON="$LON"
|
|
|
|
SWALLET=$(${MY_PATH}/../tools/keygen -t duniter "$SLAT" "$SLON")
|
|
|
|
[[ ! ${SWALLET} ]] && echo "ERROR generating SWALLET" && exit 1
|
|
|
|
echo "SOUTH UMAP SWALLET : ${SWALLET}"
|
|
|
|
ipfs key rm ${SWALLET} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
|
|
|
|
${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/SWALLET.priv "$SLAT" "$SLON"
|
|
|
|
SUMAPNS=$(ipfs key import ${SWALLET} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/SWALLET.priv)
|
|
|
|
ipfs key rm ${SWALLET}
|
|
|
|
|
|
|
|
##############################################################
|
|
|
|
# West Umap
|
|
|
|
WLAT="$LAT"
|
|
|
|
WLON=$(echo "$LON - 0.01" | bc)
|
|
|
|
WWALLET=$(${MY_PATH}/../tools/keygen -t duniter "$WLAT" "$WLON")
|
|
|
|
[[ ! ${WWALLET} ]] && echo "ERROR generating WWALLET" && exit 1
|
|
|
|
echo "WEST UMAP WWALLET : ${WWALLET}"
|
|
|
|
ipfs key rm ${WWALLET} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
|
|
|
|
${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/WWALLET.priv "$WLAT" "$WLON"
|
|
|
|
WUMAPNS=$(ipfs key import ${WWALLET} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/WWALLET.priv)
|
|
|
|
ipfs key rm ${WWALLET}
|
|
|
|
|
|
|
|
##############################################################
|
|
|
|
# East Umap
|
|
|
|
ELAT="$LAT"
|
|
|
|
ELON=$(echo "$LON + 0.01" | bc)
|
|
|
|
EWALLET=$(${MY_PATH}/../tools/keygen -t duniter "$ELAT" "$ELON")
|
|
|
|
[[ ! ${EWALLET} ]] && echo "ERROR generating EWALLET" && exit 1
|
|
|
|
echo "EAST UMAP EWALLET : ${EWALLET}"
|
|
|
|
ipfs key rm ${EWALLET} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
|
|
|
|
${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/EWALLET.priv "$ELAT" "$ELON"
|
|
|
|
EUMAPNS=$(ipfs key import ${EWALLET} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/EWALLET.priv)
|
|
|
|
ipfs key rm ${EWALLET}
|
|
|
|
|
|
|
|
##############################################################
|
|
|
|
# South West Umap
|
|
|
|
SWLAT=$(echo "$LAT - 0.01" | bc)
|
|
|
|
SWLON=$(echo "$LON - 0.01" | bc)
|
|
|
|
SWWALLET=$(${MY_PATH}/../tools/keygen -t duniter "$SWLAT" "$SWLON")
|
|
|
|
[[ ! ${SWWALLET} ]] && echo "ERROR generating SWWALLET" && exit 1
|
|
|
|
echo "SOUTH WEST UMAP SWWALLET : ${SWWALLET}"
|
|
|
|
ipfs key rm ${SWWALLET} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
|
|
|
|
${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/SWWALLET.priv "$SWLAT" "$SWLON"
|
|
|
|
SWUMAPNS=$(ipfs key import ${SWWALLET} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/SWWALLET.priv)
|
|
|
|
ipfs key rm ${SWWALLET}
|
|
|
|
|
|
|
|
##############################################################
|
|
|
|
# North West Umap
|
|
|
|
NWLAT=$(echo "$LAT + 0.01" | bc)
|
|
|
|
NWLON=$(echo "$LON - 0.01" | bc)
|
|
|
|
NWWALLET=$(${MY_PATH}/../tools/keygen -t duniter "$NWLAT" "$NWLON")
|
|
|
|
[[ ! ${NWWALLET} ]] && echo "ERROR generating NWWALLET" && exit 1
|
|
|
|
echo "NORTH WEST UMAP NWWALLET : ${NWWALLET}"
|
|
|
|
ipfs key rm ${NWWALLET} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
|
|
|
|
${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/NWWALLET.priv "$NWLAT" "$NWLON"
|
2023-09-13 00:01:03 +02:00
|
|
|
NWUMAPNS=$(ipfs key import ${NWWALLET} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/NWWALLET.priv)
|
2023-09-11 01:45:42 +02:00
|
|
|
ipfs key rm ${NWWALLET}
|
|
|
|
|
|
|
|
##############################################################
|
|
|
|
# North East Umap
|
|
|
|
NELAT=$(echo "$LAT + 0.01" | bc)
|
|
|
|
NELON=$(echo "$LON + 0.01" | bc)
|
|
|
|
NEWALLET=$(${MY_PATH}/../tools/keygen -t duniter "$NELAT" "$NELON")
|
|
|
|
[[ ! ${NEWALLET} ]] && echo "ERROR generating NEWALLET" && exit 1
|
|
|
|
echo "NORTH EAST UMAP NEWALLET : ${NEWALLET}"
|
|
|
|
ipfs key rm ${NEWALLET} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
|
|
|
|
${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/NEWALLET.priv "$NELAT" "$NELON"
|
2023-09-13 00:01:03 +02:00
|
|
|
NEUMAPNS=$(ipfs key import ${NEWALLET} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/NEWALLET.priv)
|
2023-09-11 01:45:42 +02:00
|
|
|
ipfs key rm ${NEWALLET}
|
|
|
|
|
|
|
|
##############################################################
|
|
|
|
# South East Umap
|
|
|
|
SELAT=$(echo "$LAT - 0.01" | bc)
|
|
|
|
SELON=$(echo "$LON + 0.01" | bc)
|
|
|
|
SEWALLET=$(${MY_PATH}/../tools/keygen -t duniter "$SELAT" "$SELON")
|
|
|
|
[[ ! ${SEWALLET} ]] && echo "ERROR generating SEWALLET" && exit 1
|
|
|
|
echo "SOUTH EAST UMAP SEWALLET : ${SEWALLET}"
|
|
|
|
ipfs key rm ${SEWALLET} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
|
|
|
|
${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/SEWALLET.priv "$SELAT" "$SELON"
|
2023-09-13 00:01:03 +02:00
|
|
|
SEUMAPNS=$(ipfs key import ${SEWALLET} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/SEWALLET.priv)
|
2023-09-11 01:45:42 +02:00
|
|
|
ipfs key rm ${SEWALLET}
|
|
|
|
|
2023-09-12 17:19:36 +02:00
|
|
|
jq -n \
|
|
|
|
--arg north "${myIPFS}/ipns/${NUMAPNS}" \
|
|
|
|
--arg south "${myIPFS}/ipns/${SUMAPNS}" \
|
|
|
|
--arg east "${myIPFS}/ipns/${EUMAPNS}" \
|
|
|
|
--arg west "${myIPFS}/ipns/${WUMAPNS}" \
|
|
|
|
--arg northeast "${myIPFS}/ipns/${NEUMAPNS}" \
|
|
|
|
--arg northwest "${myIPFS}/ipns/${NWUMAPNS}" \
|
2023-09-13 00:01:03 +02:00
|
|
|
--arg southeast "${myIPFS}/ipns/${SEUMAPNS}" \
|
|
|
|
--arg southwest "${myIPFS}/ipns/${SWUMAPNS}" \
|
2023-09-26 14:52:20 +02:00
|
|
|
--arg here "${myIPFS}/ipns/${UMAPNS}" \
|
|
|
|
'{north: $north, south: $south, east: $east, west: $west, northeast: $northeast, northwest: $northwest, southeast: $southeast, southwest: $southwest, here: $here}' \
|
2023-09-12 17:19:36 +02:00
|
|
|
> ~/.zen/tmp/${MOATS}/${UMAP}/geolinks.json
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
2023-09-28 12:58:54 +02:00
|
|
|
### EXTRA SCRAPPING
|
|
|
|
####################################
|
2023-09-26 16:53:28 +02:00
|
|
|
## RECORD P4N SPOT DATA
|
2023-09-28 12:58:54 +02:00
|
|
|
curl -s "https://www.park4night.com/api/places/around?lat=$LAT&lng=$LON&radius=200&filter=%7B%7D&lang=fr" -o ~/.zen/tmp/${MOATS}/${UMAP}/fetch.json
|
|
|
|
[[ -s ~/.zen/tmp/${MOATS}/${UMAP}/fetch.json ]] \
|
2023-10-03 00:33:27 +02:00
|
|
|
&& mv ~/.zen/tmp/${MOATS}/${UMAP}/fetch.json ~/.zen/tmp/${MOATS}/${UMAP}/p4n.json
|
2023-09-28 12:58:54 +02:00
|
|
|
|
2023-09-28 14:32:20 +02:00
|
|
|
## GET 100KM GCHANGE ADS ( https://data.gchange.fr )
|
|
|
|
${MY_PATH}/../tools/gchange_get_50km_around_LAT_LON_ads.sh ${LAT} ${LON} > ~/.zen/tmp/${MOATS}/${UMAP}/gchange50.json
|
|
|
|
|
|
|
|
## CREATE GCHANGE ACCOUNT ??!!
|
|
|
|
|
2023-09-26 16:53:28 +02:00
|
|
|
|
2023-09-12 17:19:36 +02:00
|
|
|
### SET navigator.html ## MAKE EVOLVE template/umap.html
|
|
|
|
cp ${MY_PATH}/../templates/umap.html ~/.zen/tmp/${MOATS}/${UMAP}/navigator_Umap.html
|
2023-09-13 00:01:03 +02:00
|
|
|
cat ~/.zen/tmp/${MOATS}/${UMAP}/navigator_Umap.html | sed "s~Umap~Usat~g" > ~/.zen/tmp/${MOATS}/${UMAP}/navigator_Usat.html
|
2023-09-12 17:19:36 +02:00
|
|
|
|
2023-09-12 18:10:42 +02:00
|
|
|
### REFRESH PLAYERS DATA (SHOULD BE THERE, but Station rebuilds it )
|
|
|
|
# FIND WHICH PLAYERS MATCH SAME "_LAT_LON" IN ~/.zen/game/players/*/.umap
|
|
|
|
find ~/.zen/game/players -type f -name ".umap" -exec grep -l "${UMAP}" {} \; | while read umap_file; do
|
|
|
|
player_dir=$(dirname "$umap_file")
|
|
|
|
player_name=$(basename "$player_dir")
|
|
|
|
echo "MATCHING $player_name"
|
|
|
|
playertw=$(cat ${player_dir}/.playerns)
|
|
|
|
mkdir -p ~/.zen/tmp/${MOATS}/${UMAP}/TW/${player_name}
|
|
|
|
echo "<meta http-equiv=\"refresh\" content=\"0; url='/ipns/${playertw}'\" />" > ~/.zen/tmp/${MOATS}/${UMAP}/TW/${player_name}/index.html
|
|
|
|
done
|
2023-09-25 14:08:04 +02:00
|
|
|
|
2023-09-28 12:58:54 +02:00
|
|
|
########################################################
|
|
|
|
## ACTIVATE IN CASE OF PROTOCOL BRAKE
|
|
|
|
## TODO : BACKUP STATE IN // PRIVATE KEY
|
|
|
|
## TODO : SNIFF IPFS DHT MODIFICATIONS ## FAIL2BAN ## DEFCON
|
|
|
|
########################################################
|
2023-09-12 18:10:42 +02:00
|
|
|
|
2023-09-11 23:55:07 +02:00
|
|
|
##############################################################
|
|
|
|
############################ PUBLISHING UMAP
|
|
|
|
##############################################################
|
|
|
|
UMAPROOT=$(ipfs add -rwHq ~/.zen/tmp/${MOATS}/${UMAP}/* | tail -n 1)
|
|
|
|
|
2023-09-25 14:08:04 +02:00
|
|
|
ZCHAIN=$(cat ~/.zen/tmp/${MOATS}/${UMAP}/${G1PUB}/_chain | rev | cut -d ':' -f 1 | rev 2>/dev/null)
|
|
|
|
ZMOATS=$(cat ~/.zen/tmp/${MOATS}/${UMAP}/${G1PUB}/_moats 2>/dev/null)
|
2023-09-11 23:55:07 +02:00
|
|
|
[[ ${ZCHAIN} && ${ZMOATS} ]] \
|
2023-09-25 14:08:04 +02:00
|
|
|
&& cp ~/.zen/tmp/${MOATS}/${UMAP}/${G1PUB}/_chain ~/.zen/tmp/${MOATS}/${UMAP}/${G1PUB}/_chain.${ZMOATS} \
|
2023-09-11 23:55:07 +02:00
|
|
|
&& echo "UPDATING MOATS"
|
|
|
|
|
|
|
|
## DOES CHAIN CHANGED or INIT ?
|
|
|
|
[[ ${ZCHAIN} != ${UMAPROOT} || ${ZCHAIN} == "" ]] \
|
2023-09-26 12:26:08 +02:00
|
|
|
&& echo "${MOATS}:${IPFSNODEID}:${UMAPROOT}" > ~/.zen/tmp/${MOATS}/${UMAP}/${G1PUB}/_chain \
|
2023-09-25 14:08:04 +02:00
|
|
|
&& echo "${MOATS}" > ~/.zen/tmp/${MOATS}/${UMAP}/${G1PUB}/_moats \
|
2023-09-14 13:17:52 +02:00
|
|
|
&& UMAPROOT=$(ipfs add -rwHq ~/.zen/tmp/${MOATS}/${UMAP}/* | tail -n 1) && echo "ROOT was ${ZCHAIN}"
|
2023-09-11 23:55:07 +02:00
|
|
|
|
|
|
|
echo "PUBLISHING NEW UMAPROOT : http://ipfs.localhost:8080/ipfs/${UMAPROOT}"
|
|
|
|
|
2023-09-25 14:08:04 +02:00
|
|
|
ipfs name publish --key=${G1PUB} /ipfs/${UMAPROOT}
|
2023-09-11 23:55:07 +02:00
|
|
|
end=`date +%s`
|
2023-09-25 14:08:04 +02:00
|
|
|
ipfs key rm ${G1PUB} ## REMOVE IPNS KEY
|
2023-09-11 23:55:07 +02:00
|
|
|
|
|
|
|
echo "(UMAP) PUBLISH time was "`expr $end - $start` seconds.
|
|
|
|
|
2023-09-11 01:45:42 +02:00
|
|
|
done
|
|
|
|
|