start.sh means Astoport API is running - command.sh is for Ambassy CLI mode
This commit is contained in:
parent
46ac37917a
commit
c8820de8cc
|
@ -0,0 +1,186 @@
|
|||
#!/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
|
||||
myIP=$(hostname -I | awk '{print $1}' | head -n 1)
|
||||
isLAN=$(echo $myIP | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/")
|
||||
[[ ! $myIP || $isLAN ]] && myIP="ipfs.localhost"
|
||||
|
||||
ME="${0##*/}"
|
||||
TS=$(date -u +%s%N | cut -b1-13)
|
||||
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
||||
|
||||
echo '
|
||||
_ ____ _____ ____ ___ ____ ___ ____ _____ ___ _ _ _____
|
||||
/ \ / ___|_ _| _ \ / _ \| _ \ / _ \| _ \_ _| / _ \| \ | | ____|
|
||||
/ _ \ \___ \ | | | |_) | | | | |_) | | | | |_) || | | | | | \| | _|
|
||||
/ ___ \ ___) || | | _ <| |_| | __/| |_| | _ < | | | |_| | |\ | |___
|
||||
/_/ \_\____/ |_| |_| \_\\___/|_| \___/|_| \_\|_| \___/|_| \_|_____|
|
||||
|
||||
Ambassade numérique pair à pair sur IPFS.
|
||||
|
||||
@@@@@@@@@@@@@@@@@@
|
||||
ASTROPORT
|
||||
VISA : MadeInZion
|
||||
@@@@@@@@@@@@@@@@@@'
|
||||
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
|
||||
YOU=$(ipfs swarm peers >/dev/null 2>&1 && echo "$USER" || ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1);
|
||||
[[ ! $YOU ]] && echo "Lancez 'ipfs daemon' SVP sudo systemctl start ipfs" && exit 1
|
||||
IPFSNODEID=$(cat ~/.ipfs/config | jq -r .Identity.PeerID)
|
||||
|
||||
echo 'PRESS ENTER... '; read
|
||||
|
||||
## CREATE AND OR CONNECT USER
|
||||
PS3='Astronaute connectez votre PLAYER ___ '
|
||||
players=("NOUVEAU VISA" "IMPORT PLAYER" $(ls ~/.zen/game/players 2>/dev/null))
|
||||
## MULTIPLAYER
|
||||
|
||||
select fav in "${players[@]}"; do
|
||||
case $fav in
|
||||
"NOUVEAU VISA")
|
||||
${MY_PATH}/tools/VISA.new.sh
|
||||
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
|
||||
;;
|
||||
"IMPORT PLAYER")
|
||||
echo "'Identifiant'"
|
||||
read SALT
|
||||
echo "'Mot de passe'"
|
||||
read PEPPER
|
||||
echo "'Adresse Email'"
|
||||
read EMAIL
|
||||
${MY_PATH}/tools/VISA.new.sh "$SALT" "$PEPPER" "$EMAIL"
|
||||
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
|
||||
|
||||
rm -f ~/.zen/game/players/.current
|
||||
ln -s ~/.zen/game/players/$PLAYER ~/.zen/game/players/.current
|
||||
|
||||
echo "________LOGIN OK____________";
|
||||
echo
|
||||
echo "DECHIFFRAGE CLEFS ASTRONAUTE"
|
||||
echo "Votre Pass Astroport.ONE : $(cat ~/.zen/game/players/$PLAYER/.pass 2>/dev/null)"
|
||||
G1PUB=$(cat ~/.zen/game/players/$PLAYER/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2)
|
||||
[ ! ${G1PUB} ] && echo "ERROR. MAUVAIS PASS. EXIT" && exit 1
|
||||
|
||||
echo "Clef Publque Astronaute : $G1PUB"
|
||||
echo "ENTREE ACCORDEE"
|
||||
echo
|
||||
ASTRONAUTENS=$(ipfs key list -l | grep -w "$PLAYER" | cut -d ' ' -f 1)
|
||||
|
||||
echo "$(cat ~/.zen/game/players/${PLAYER}/.pseudo 2>/dev/null) TW/Moa"
|
||||
echo "http://$myIP:8080/ipns/$ASTRONAUTENS"
|
||||
echo "Activation Réseau P2P Astroport !"
|
||||
|
||||
echo
|
||||
PS3="$PLAYER choisissez : __ "
|
||||
choices=("AJOUTER VLOG" "CREER UN VOEU" "IMPRIMER QRVOEU" "IMPRIMER VISA" "EXPORTER VISA" "SUPPRIMER VISA" "QUITTER")
|
||||
select fav in "${choices[@]}"; do
|
||||
case $fav in
|
||||
"IMPRIMER VISA")
|
||||
echo "IMPRESSION"
|
||||
${MY_PATH}/tools/VISA.print.sh "$PLAYER"
|
||||
;;
|
||||
|
||||
"EXPORTER VISA")
|
||||
echo "EXPORT IDENTITE ASTRONAUTE"
|
||||
du -h ~/.zen/game/players/$PLAYER/
|
||||
echo "MANUAL BACKUP ZIP ~/.zen/game/players/$PLAYER/"
|
||||
## EXPORT TW + VOEUX IPNS KEYS
|
||||
|
||||
|
||||
break
|
||||
;;
|
||||
|
||||
"SUPPRIMER VISA")
|
||||
echo "ATTENTION ${PLAYER} SUPPRESSION DEFINITIVE !!"
|
||||
echo "Enter to continue. Ctrl+C to stop"
|
||||
read
|
||||
ipfs key rm ${PLAYER}; ipfs key rm ${PLAYER}_feed; ipfs key rm $G1PUB;
|
||||
for voeu in $(ls ~/.zen/game/players/$PLAYER/voeux/ 2>/dev/null); do
|
||||
ipfs key rm $voeu
|
||||
[[ $voeu != "" ]] && rm -Rf ~/.zen/game/world/$voeu
|
||||
done
|
||||
echo "REMOVE GCHANGE PROFILE"
|
||||
$MY_PATH/tools/jaklis/jaklis.py -k $HOME/.zen/game/players/$PLAYER/secret.dunikey -n https://data.gchange.fr erase
|
||||
#~ echo "REMOVE CESIUM+"
|
||||
#~ $MY_PATH/tools/jaklis/jaklis.py -k $HOME/.zen/game/players/$PLAYER/secret.dunikey -n https://g1.data.e-is.pro erase
|
||||
echo "rm -Rf ~/.zen/game/players/$PLAYER"
|
||||
rm -Rf ~/.zen/game/players/$PLAYER
|
||||
|
||||
break
|
||||
;;
|
||||
|
||||
"AJOUTER VLOG")
|
||||
echo "Lancement Webcam..."
|
||||
${MY_PATH}/tools/vlc_webcam.sh "$PLAYER"
|
||||
;;
|
||||
|
||||
"CREER UN VOEU")
|
||||
echo "QRCode à coller sur les lieux ou objets portant une Gvaleur"
|
||||
cp ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/$PLAYER.html
|
||||
${MY_PATH}/ASTROBOT/G1Voeu.sh "" "$PLAYER" "~/.zen/tmp/$PLAYER.html"
|
||||
DIFF=$(diff ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/$PLAYER.html)
|
||||
if [[ $DIFF ]]; then
|
||||
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
||||
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)
|
||||
ipfs name publish --allow-offline -t 72h --key=$PLAYER /ipfs/$TW
|
||||
|
||||
echo $TW > ~/.zen/game/players/$PLAYER/ipfs/moa/.chain
|
||||
echo $MOATS > ~/.zen/game/players/$PLAYER/ipfs/moa/.moats
|
||||
fi
|
||||
echo "================================================"
|
||||
echo "$PLAYER : http://$myIP:8080/ipns/$ASTRONAUTENS"
|
||||
echo "================================================"
|
||||
;;
|
||||
|
||||
"IMPRIMER QRVOEU")
|
||||
${MY_PATH}/tools/VOEUX.print.sh $PLAYER
|
||||
;;
|
||||
|
||||
"QUITTER")
|
||||
echo "CIAO" && exit 0
|
||||
;;
|
||||
|
||||
"")
|
||||
echo "Mauvais choix."
|
||||
;;
|
||||
|
||||
esac
|
||||
done
|
||||
|
||||
exit 0
|
171
start.sh
171
start.sh
|
@ -31,173 +31,4 @@ cat ~/.zen/tmp/12345.log
|
|||
echo "API DEBUG : tail -f ~/.zen/tmp/12345.log"
|
||||
###################################################
|
||||
|
||||
echo '
|
||||
_ ____ _____ ____ ___ ____ ___ ____ _____ ___ _ _ _____
|
||||
/ \ / ___|_ _| _ \ / _ \| _ \ / _ \| _ \_ _| / _ \| \ | | ____|
|
||||
/ _ \ \___ \ | | | |_) | | | | |_) | | | | |_) || | | | | | \| | _|
|
||||
/ ___ \ ___) || | | _ <| |_| | __/| |_| | _ < | | | |_| | |\ | |___
|
||||
/_/ \_\____/ |_| |_| \_\\___/|_| \___/|_| \_\|_| \___/|_| \_|_____|
|
||||
|
||||
Ambassade numérique pair à pair sur IPFS.
|
||||
|
||||
@@@@@@@@@@@@@@@@@@
|
||||
ASTROPORT
|
||||
VISA : MadeInZion
|
||||
@@@@@@@@@@@@@@@@@@'
|
||||
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
|
||||
YOU=$(ipfs swarm peers >/dev/null 2>&1 && echo "$USER" || ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1);
|
||||
[[ ! $YOU ]] && echo "Lancez 'ipfs daemon' SVP sudo systemctl start ipfs" && exit 1
|
||||
IPFSNODEID=$(cat ~/.ipfs/config | jq -r .Identity.PeerID)
|
||||
|
||||
echo 'PRESS ENTER... '; read
|
||||
|
||||
## CREATE AND OR CONNECT USER
|
||||
PS3='Astronaute connectez votre PLAYER ___ '
|
||||
players=("NOUVEAU VISA" "IMPORT PLAYER" $(ls ~/.zen/game/players 2>/dev/null))
|
||||
## MULTIPLAYER
|
||||
|
||||
select fav in "${players[@]}"; do
|
||||
case $fav in
|
||||
"NOUVEAU VISA")
|
||||
${MY_PATH}/tools/VISA.new.sh
|
||||
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
|
||||
;;
|
||||
"IMPORT PLAYER")
|
||||
echo "'Identifiant'"
|
||||
read SALT
|
||||
echo "'Mot de passe'"
|
||||
read PEPPER
|
||||
echo "'Adresse Email'"
|
||||
read EMAIL
|
||||
${MY_PATH}/tools/VISA.new.sh "$SALT" "$PEPPER" "$EMAIL"
|
||||
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
|
||||
|
||||
rm -f ~/.zen/game/players/.current
|
||||
ln -s ~/.zen/game/players/$PLAYER ~/.zen/game/players/.current
|
||||
|
||||
echo "________LOGIN OK____________";
|
||||
echo
|
||||
echo "DECHIFFRAGE CLEFS ASTRONAUTE"
|
||||
echo "Votre Pass Astroport.ONE : $(cat ~/.zen/game/players/$PLAYER/.pass 2>/dev/null)"
|
||||
G1PUB=$(cat ~/.zen/game/players/$PLAYER/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2)
|
||||
[ ! ${G1PUB} ] && echo "ERROR. MAUVAIS PASS. EXIT" && exit 1
|
||||
|
||||
echo "Clef Publque Astronaute : $G1PUB"
|
||||
echo "ENTREE ACCORDEE"
|
||||
echo
|
||||
ASTRONAUTENS=$(ipfs key list -l | grep -w "$PLAYER" | cut -d ' ' -f 1)
|
||||
|
||||
echo "$(cat ~/.zen/game/players/${PLAYER}/.pseudo 2>/dev/null) TW/Moa"
|
||||
echo "http://$myIP:8080/ipns/$ASTRONAUTENS"
|
||||
echo "Activation Réseau P2P Astroport !"
|
||||
|
||||
echo
|
||||
PS3="$PLAYER choisissez : __ "
|
||||
choices=("AJOUTER VLOG" "CREER UN VOEU" "IMPRIMER QRVOEU" "IMPRIMER VISA" "EXPORTER VISA" "SUPPRIMER VISA" "QUITTER")
|
||||
select fav in "${choices[@]}"; do
|
||||
case $fav in
|
||||
"IMPRIMER VISA")
|
||||
echo "IMPRESSION"
|
||||
${MY_PATH}/tools/VISA.print.sh "$PLAYER"
|
||||
;;
|
||||
|
||||
"EXPORTER VISA")
|
||||
echo "EXPORT IDENTITE ASTRONAUTE"
|
||||
du -h ~/.zen/game/players/$PLAYER/
|
||||
echo "MANUAL BACKUP ZIP ~/.zen/game/players/$PLAYER/"
|
||||
## EXPORT TW + VOEUX IPNS KEYS
|
||||
|
||||
|
||||
break
|
||||
;;
|
||||
|
||||
"SUPPRIMER VISA")
|
||||
echo "ATTENTION SUPPRESSION DEFINITIVE !!"
|
||||
echo "Enter to continue. Ctrl+C to stop"
|
||||
read
|
||||
ipfs key rm $PLAYER; ipfs key rm $G1PUB;
|
||||
for voeu in $(ls ~/.zen/game/players/$PLAYER/voeux/ 2>/dev/null); do
|
||||
ipfs key rm $voeu
|
||||
[[ $voeu != "" ]] && rm -Rf ~/.zen/game/world/$voeu
|
||||
done
|
||||
echo "REMOVE GCHANGE PROFILE"
|
||||
$MY_PATH/tools/jaklis/jaklis.py -k $HOME/.zen/game/players/$PLAYER/secret.dunikey -n https://data.gchange.fr erase
|
||||
#~ echo "REMOVE CESIUM+"
|
||||
#~ $MY_PATH/tools/jaklis/jaklis.py -k $HOME/.zen/game/players/$PLAYER/secret.dunikey -n https://g1.data.e-is.pro erase
|
||||
echo "rm -Rf ~/.zen/game/players/$PLAYER"
|
||||
rm -Rf ~/.zen/game/players/$PLAYER
|
||||
|
||||
break
|
||||
;;
|
||||
|
||||
"AJOUTER VLOG")
|
||||
echo "Lancement Webcam..."
|
||||
${MY_PATH}/tools/vlc_webcam.sh "$PLAYER"
|
||||
;;
|
||||
|
||||
"CREER UN VOEU")
|
||||
echo "QRCode à coller sur les lieux ou objets portant une Gvaleur"
|
||||
cp ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/$PLAYER.html
|
||||
${MY_PATH}/ASTROBOT/G1Voeu.sh "" "$PLAYER" "~/.zen/tmp/$PLAYER.html"
|
||||
DIFF=$(diff ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/$PLAYER.html)
|
||||
if [[ $DIFF ]]; then
|
||||
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
||||
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)
|
||||
ipfs name publish --allow-offline -t 72h --key=$PLAYER /ipfs/$TW
|
||||
|
||||
echo $TW > ~/.zen/game/players/$PLAYER/ipfs/moa/.chain
|
||||
echo $MOATS > ~/.zen/game/players/$PLAYER/ipfs/moa/.moats
|
||||
fi
|
||||
echo "================================================"
|
||||
echo "$PLAYER : http://$myIP:8080/ipns/$ASTRONAUTENS"
|
||||
echo "================================================"
|
||||
;;
|
||||
|
||||
"IMPRIMER QRVOEU")
|
||||
${MY_PATH}/tools/VOEUX.print.sh $PLAYER
|
||||
;;
|
||||
|
||||
"QUITTER")
|
||||
echo "CIAO" && exit 0
|
||||
;;
|
||||
|
||||
"")
|
||||
echo "Mauvais choix."
|
||||
;;
|
||||
|
||||
esac
|
||||
done
|
||||
|
||||
exit 0
|
||||
${MY_PATH}/command.sh
|
||||
|
|
Loading…
Reference in New Issue