2022-12-12 17:45:03 +01:00
|
|
|
#!/bin/bash
|
|
|
|
################################################################################
|
|
|
|
# Author: Fred (support@qo-op.com)
|
|
|
|
# Version: 0.1
|
|
|
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
|
|
|
################################################################################
|
|
|
|
MY_PATH="`dirname \"$0\"`"
|
|
|
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
2022-12-29 14:51:05 +01:00
|
|
|
. "${MY_PATH}/tools/my.sh"
|
2022-12-12 17:45:03 +01:00
|
|
|
|
|
|
|
TS=$(date -u +%s%N | cut -b1-13)
|
2023-09-08 14:36:47 +02:00
|
|
|
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
2023-09-08 15:58:39 +02:00
|
|
|
#~ mkdir -p ~/.zen/tmp/${MOATS}
|
2022-12-12 17:45:03 +01:00
|
|
|
|
|
|
|
echo '
|
|
|
|
_ ____ _____ ____ ___ ____ ___ ____ _____ ___ _ _ _____
|
|
|
|
/ \ / ___|_ _| _ \ / _ \| _ \ / _ \| _ \_ _| / _ \| \ | | ____|
|
|
|
|
/ _ \ \___ \ | | | |_) | | | | |_) | | | | |_) || | | | | | \| | _|
|
|
|
|
/ ___ \ ___) || | | _ <| |_| | __/| |_| | _ < | | | |_| | |\ | |___
|
|
|
|
/_/ \_\____/ |_| |_| \_\\___/|_| \___/|_| \_\|_| \___/|_| \_|_____|
|
|
|
|
|
|
|
|
Ambassade numérique pair à pair sur IPFS.
|
|
|
|
|
|
|
|
@@@@@@@@@@@@@@@@@@
|
|
|
|
ASTROPORT
|
|
|
|
VISA : MadeInZion
|
|
|
|
@@@@@@@@@@@@@@@@@@'
|
2023-11-26 21:55:20 +01:00
|
|
|
CURRENT=$(cat ~/.zen/game/players/.current/.player)
|
|
|
|
echo "CURRENT = ${CURRENT}"
|
2022-12-12 17:45:03 +01:00
|
|
|
echo
|
|
|
|
|
|
|
|
## VERIFY SOFTWARE DEPENDENCIES
|
|
|
|
[[ ! $(which ipfs) ]] && echo "EXIT. Vous devez avoir installé ipfs CLI sur votre ordinateur" && echo "https://dist.ipfs.io/#go-ipfs" && exit 1
|
2022-12-29 14:51:05 +01:00
|
|
|
YOU=$(myIpfsApi);
|
2022-12-12 17:45:03 +01:00
|
|
|
[[ ! $YOU ]] && echo "Lancez 'ipfs daemon' SVP sudo systemctl start ipfs" && exit 1
|
|
|
|
|
|
|
|
echo 'PRESS ENTER... '; read
|
|
|
|
|
|
|
|
## CREATE AND OR CONNECT USER
|
|
|
|
PS3='Astronaute connectez votre PLAYER ___ '
|
2023-11-26 21:55:20 +01:00
|
|
|
players=( "CREATE ZENCARD" "CREATE PLAYER" "IMPORT PLAYER" $(ls ~/.zen/game/players | grep "@" 2>/dev/null))
|
2022-12-12 17:45:03 +01:00
|
|
|
## MULTIPLAYER
|
|
|
|
|
2023-11-26 21:55:20 +01:00
|
|
|
|
2022-12-12 17:45:03 +01:00
|
|
|
select fav in "${players[@]}"; do
|
|
|
|
case $fav in
|
2023-11-26 21:55:20 +01:00
|
|
|
"CREATE ZENCARD")
|
2023-05-10 13:56:07 +02:00
|
|
|
## DIRECT VISA.print.sh
|
|
|
|
echo "'Email ?'"
|
|
|
|
read EMAIL
|
2023-05-10 15:04:10 +02:00
|
|
|
[[ ${EMAIL} == "" ]] && EMAIL=$(cat ~/.zen/game/players/.current/.player 2>/dev/null)
|
2023-05-10 13:56:07 +02:00
|
|
|
echo "'Secret 1 ?'"
|
|
|
|
read SALT
|
|
|
|
[[ ${SALT} == "" ]] && SALT=$(${MY_PATH}/tools/diceware.sh 4 | xargs)
|
|
|
|
echo "'Secret 2?'"
|
|
|
|
read PEPPER
|
|
|
|
[[ ${PEPPER} == "" ]] && PEPPER=$(${MY_PATH}/tools/diceware.sh 4 | xargs)
|
|
|
|
echo "'PIN ?'"
|
|
|
|
read PASS
|
2023-05-10 15:04:10 +02:00
|
|
|
echo "${MY_PATH}/tools/VISA.print.sh" "${EMAIL}" "'"$SALT"'" "'"$PEPPER"'" "'"$PASS"'"
|
2023-05-10 13:56:07 +02:00
|
|
|
${MY_PATH}/tools/VISA.print.sh "${EMAIL}" "$SALT" "$PEPPER" "$PASS" ##
|
2023-07-19 10:46:28 +02:00
|
|
|
|
|
|
|
[[ ${EMAIL} != "" && ${EMAIL} != $(cat ~/.zen/game/players/.current/.player 2>/dev/null) ]] && rm -Rf ~/.zen/game/players/${EMAIL}/
|
|
|
|
|
2023-05-10 13:56:07 +02:00
|
|
|
exit
|
|
|
|
;;
|
|
|
|
"CREATE PLAYER")
|
2023-10-03 22:50:59 +02:00
|
|
|
${MY_PATH}/RUNTIME/VISA.new.sh
|
2022-12-12 17:45:03 +01:00
|
|
|
fav=$(cat ~/.zen/tmp/PSEUDO 2>/dev/null) && rm ~/.zen/tmp/PSEUDO
|
|
|
|
echo "Astronaute $fav bienvenue dans le jeu de terraformation forêt jardin MadeInZion"
|
|
|
|
exit
|
|
|
|
;;
|
2023-05-10 13:56:07 +02:00
|
|
|
"IMPORT PLAYER")
|
2023-03-26 00:24:25 +01:00
|
|
|
echo "'Secret 1'"
|
2022-12-12 17:45:03 +01:00
|
|
|
read SALT
|
2023-03-26 00:24:25 +01:00
|
|
|
echo "'Secret 2'"
|
2022-12-12 17:45:03 +01:00
|
|
|
read PEPPER
|
|
|
|
echo "'Adresse Email'"
|
|
|
|
read EMAIL
|
2023-10-03 22:50:59 +02:00
|
|
|
${MY_PATH}/RUNTIME/VISA.new.sh "$SALT" "$PEPPER" "$EMAIL"
|
2022-12-12 17:45:03 +01:00
|
|
|
fav=$(cat ~/.zen/tmp/PSEUDO 2>/dev/null) && rm ~/.zen/tmp/PSEUDO
|
|
|
|
echo "Astronaute $fav heureux de vous acceuillir"
|
|
|
|
exit
|
|
|
|
;;
|
|
|
|
"")
|
|
|
|
echo "Choix obligatoire. exit"
|
|
|
|
exit
|
|
|
|
;;
|
|
|
|
*) echo "Salut $fav"
|
|
|
|
break
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
PLAYER=$fav
|
|
|
|
|
|
|
|
|
|
|
|
pass=$(cat ~/.zen/game/players/$PLAYER/.pass 2>/dev/null)
|
|
|
|
########################################## DEVEL
|
|
|
|
echo "Saisissez votre PASS -- UPGRADE CRYPTO FREELY -- $pass" && read PASS
|
|
|
|
|
|
|
|
## DECODE CURRENT PLAYER CRYPTO
|
|
|
|
# echo "********* DECODAGE SecuredSocketLayer *********"
|
|
|
|
# rm -f ~/.zen/tmp/${PLAYER}.dunikey 2>/dev/null
|
|
|
|
# openssl enc -aes-256-cbc -d -in "$HOME/.zen/game/players/${PLAYER}/enc.secret.dunikey" -out "$HOME/.zen/tmp/${PLAYER}.dunikey" -k $pass 2>&1>/dev/null
|
|
|
|
[[ $PASS != $pass ]] && echo "ERROR. MAUVAIS PASS. EXIT" && exit 1
|
|
|
|
|
2023-11-26 21:55:20 +01:00
|
|
|
## CURRENT CHANGE ?
|
|
|
|
[[ ${CURRENT} != ${PLAYER} ]] \
|
|
|
|
&& echo "BECOME ADMIN ? hit ENTER for NO, write something for YES" && read ADM \
|
|
|
|
&& [[ ${ADM} != "" ]] \
|
|
|
|
&& rm -f ~/.zen/game/players/.current \
|
|
|
|
&& ln -s ~/.zen/game/players/${PLAYER} ~/.zen/game/players/.current
|
2022-12-12 17:45:03 +01:00
|
|
|
|
|
|
|
echo "________LOGIN OK____________";
|
|
|
|
echo
|
|
|
|
echo "DECHIFFRAGE CLEFS ASTRONAUTE"
|
|
|
|
echo "Votre Pass Astroport.ONE : $(cat ~/.zen/game/players/$PLAYER/.pass 2>/dev/null)"
|
2022-12-12 23:57:21 +01:00
|
|
|
export G1PUB=$(cat ~/.zen/game/players/$PLAYER/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2)
|
2022-12-12 17:45:03 +01:00
|
|
|
[ ! ${G1PUB} ] && echo "ERROR. MAUVAIS PASS. EXIT" && exit 1
|
|
|
|
|
2023-09-08 14:36:47 +02:00
|
|
|
echo "Clef Publique Astronaute : $G1PUB"
|
2022-12-12 17:45:03 +01:00
|
|
|
echo "ENTREE ACCORDEE"
|
|
|
|
echo
|
2022-12-12 23:57:21 +01:00
|
|
|
export ASTRONAUTENS=$(ipfs key list -l | grep -w "$PLAYER" | cut -d ' ' -f 1)
|
2022-12-12 17:45:03 +01:00
|
|
|
|
|
|
|
echo "$(cat ~/.zen/game/players/${PLAYER}/.pseudo 2>/dev/null) TW/Moa"
|
2022-12-29 14:51:05 +01:00
|
|
|
echo "$myIPFS/ipns/$ASTRONAUTENS"
|
2022-12-12 17:45:03 +01:00
|
|
|
echo "Activation Réseau P2P Astroport !"
|
|
|
|
|
2023-03-02 23:48:10 +01:00
|
|
|
[[ $XDG_SESSION_TYPE == 'x11' ]] && xdg-open "http://ipfs.localhost:8080/ipns/$ASTRONAUTENS"
|
|
|
|
|
2022-12-12 17:45:03 +01:00
|
|
|
echo
|
|
|
|
PS3="$PLAYER choisissez : __ "
|
2023-11-26 21:55:20 +01:00
|
|
|
choices=("MAKE A WHISH" "PRINT WHISH" "PRINT VISA" "UNPLUG PLAYER" "QUIT")
|
2022-12-12 17:45:03 +01:00
|
|
|
select fav in "${choices[@]}"; do
|
|
|
|
case $fav in
|
2023-04-04 17:05:10 +02:00
|
|
|
"PRINT VISA")
|
2022-12-12 17:45:03 +01:00
|
|
|
echo "IMPRESSION"
|
|
|
|
${MY_PATH}/tools/VISA.print.sh "$PLAYER"
|
|
|
|
;;
|
|
|
|
|
2023-04-07 13:22:28 +02:00
|
|
|
"UNPLUG PLAYER")
|
2023-03-05 03:59:45 +01:00
|
|
|
echo "ATTENTION ${PLAYER} DECONNEXION DE VOTRE TW !!"
|
2022-12-12 17:45:03 +01:00
|
|
|
echo "Enter to continue. Ctrl+C to stop"
|
|
|
|
read
|
2023-03-05 03:59:45 +01:00
|
|
|
espeak "Droping TW in cyber space"
|
2023-09-08 15:58:39 +02:00
|
|
|
${MY_PATH}/tools/PLAYER.unplug.sh "${HOME}/.zen/game/players/${PLAYER}/ipfs/moa/index.html" "${PLAYER}"
|
2022-12-12 17:45:03 +01:00
|
|
|
|
|
|
|
break
|
|
|
|
;;
|
|
|
|
|
2023-04-04 17:05:10 +02:00
|
|
|
#~ "AJOUTER VLOG")
|
|
|
|
#~ echo "Lancement Webcam..."
|
|
|
|
#~ ${MY_PATH}/tools/vlc_webcam.sh "$PLAYER"
|
|
|
|
#~ ;;
|
2022-12-12 17:45:03 +01:00
|
|
|
|
2023-11-26 21:55:20 +01:00
|
|
|
"MAKE A WHISH")
|
2022-12-12 17:45:03 +01:00
|
|
|
echo "QRCode à coller sur les lieux ou objets portant une Gvaleur"
|
|
|
|
cp ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/$PLAYER.html
|
2023-07-06 17:06:09 +02:00
|
|
|
${MY_PATH}/RUNTIME/G1Voeu.sh "" "$PLAYER" "$HOME/.zen/tmp/$PLAYER.html"
|
2022-12-12 17:45:03 +01:00
|
|
|
DIFF=$(diff ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/$PLAYER.html)
|
|
|
|
if [[ $DIFF ]]; then
|
|
|
|
cp ~/.zen/game/players/$PLAYER/ipfs/moa/.chain \
|
|
|
|
~/.zen/game/players/$PLAYER/ipfs/moa/.chain.$(cat ~/.zen/game/players/$PLAYER/ipfs/moa/.moats)
|
|
|
|
|
|
|
|
TW=$(ipfs add -Hq ~/.zen/game/players/$PLAYER/ipfs/moa/index.html | tail -n 1)
|
2023-09-12 20:16:21 +02:00
|
|
|
ipfs name publish --key=$PLAYER /ipfs/$TW
|
2022-12-12 17:45:03 +01:00
|
|
|
|
|
|
|
echo $TW > ~/.zen/game/players/$PLAYER/ipfs/moa/.chain
|
|
|
|
echo $MOATS > ~/.zen/game/players/$PLAYER/ipfs/moa/.moats
|
|
|
|
fi
|
|
|
|
echo "================================================"
|
2022-12-29 14:51:05 +01:00
|
|
|
echo "$PLAYER : $myIPFS/ipns/$ASTRONAUTENS"
|
2022-12-12 17:45:03 +01:00
|
|
|
echo "================================================"
|
|
|
|
;;
|
|
|
|
|
2023-04-04 17:05:10 +02:00
|
|
|
"PRINT QRVOEU")
|
2022-12-12 17:45:03 +01:00
|
|
|
${MY_PATH}/tools/VOEUX.print.sh $PLAYER
|
|
|
|
;;
|
|
|
|
|
2023-04-07 13:22:28 +02:00
|
|
|
"QUIT")
|
2022-12-12 17:45:03 +01:00
|
|
|
echo "CIAO" && exit 0
|
|
|
|
;;
|
|
|
|
|
|
|
|
"")
|
|
|
|
echo "Mauvais choix."
|
|
|
|
;;
|
|
|
|
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
exit 0
|