2022-08-18 18:32:01 +02:00
|
|
|
#!/bin/bash
|
|
|
|
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
|
|
|
MY_PATH="`dirname \"$0\"`" # relative
|
|
|
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
|
|
|
# Controle par Scanner de QRCode
|
|
|
|
# Scan G1PUB
|
|
|
|
# Scan QRSec + PASS
|
|
|
|
# Colecter ou générer les identifiants / mot de passe = "$SALT" "$PEPPER"
|
|
|
|
# Correspondance profil Gchange+ (CESIUM+) = $PLAYER
|
|
|
|
#
|
|
|
|
# Get last connected User
|
|
|
|
PLAYER=$(cat ~/.zen/game/players/.current/.player 2>/dev/null) || ( echo "noplayer" && exit 1 )
|
|
|
|
|
|
|
|
echo "Bienvenue $PLAYER"
|
|
|
|
echo "Relancez start.sh pour changer votre identité"
|
|
|
|
echo "Pressez ENTRER"
|
|
|
|
read
|
|
|
|
|
|
|
|
sudo cat /dev/ttyACM0 | while read line; do
|
|
|
|
lon=${#line}
|
|
|
|
# /ipns/.... /ipfs
|
|
|
|
inet=$(echo $line | cut -d "/" -f 2)
|
|
|
|
hash=$(echo $line | cut -d "/" -f 3)
|
|
|
|
echo "__SUB:tag_READ.sh: SCAN /dev/ttyACM0 ($lon) :: $line"
|
|
|
|
|
|
|
|
if [[ $inet == 'ipns' ]]; then
|
|
|
|
xdg-open "http://127.0.0.1:8080/ipns/$hash" &
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ $lon != 43 && $lon != 44 ]]; then
|
|
|
|
## QRSEC SCAN ???
|
|
|
|
echo "Veuillez saisir PASS pour décoder cet identité"
|
|
|
|
read PASS
|
|
|
|
echo "********* DECODAGE SecuredSocketLayer *********"
|
|
|
|
rm -f ~/.zen/tmp/secret.dunikey 2>/dev/null
|
|
|
|
openssl enc -aes-256-cbc -d -in "$HOME/.zen/game/players/.current/enc.secret.dunikey" -out "$HOME/.zen/tmp/${PLAYER}.dunikey" -k $pass 2>&1>/dev/null
|
|
|
|
[ ! -f $HOME/.zen/tmp/${PLAYER}.dunikey ] && echo "ERROR. MAUVAIS PASS. SORTIE" && exit 1
|
|
|
|
|
|
|
|
PLAYER=$(cat ~/.zen/game/players/.current/.player 2>/dev/null) || ( echo "noplayer" && exit 1 )
|
|
|
|
echo "ASTRONAUTE $PLAYER : Ŋ1 exploration"
|
|
|
|
PLAYERNS=$(ipfs key list -l | grep -w "$PLAYER" | cut -d ' ' -f 1)
|
|
|
|
echo "MOA : http://127.0.0.1:8080/ipns/$PLAYERNS"
|
|
|
|
|
|
|
|
## Lancer vlc_webcam
|
|
|
|
## Ajouter vlog au TW
|
|
|
|
|
|
|
|
continue
|
|
|
|
fi
|
|
|
|
|
|
|
|
RESSOURCENS=$(ipfs key list -l | grep -w "$G1PUB" | cut -d ' ' -f 1)
|
|
|
|
|
|
|
|
if [[ $RESSOURCENS ]]; then
|
|
|
|
echo "SCAN G1REVE. CONFIRMER."
|
|
|
|
echo "'Identifiant' ..."
|
|
|
|
read SALT
|
|
|
|
echo "'Code secret' ..."
|
|
|
|
read PEPPER
|
|
|
|
echo "MERCI"; sleep 2
|
|
|
|
else
|
|
|
|
echo "Scan G1Billet VIERGE"
|
|
|
|
echo "Saisissez son TITRE (en majuscules sans accent)"
|
|
|
|
read TITLE
|
|
|
|
fi
|
|
|
|
|
|
|
|
# REGENERATION CLEFS ET COMPARAISON
|
|
|
|
$MY_PATH/tools/keygen -t duniter -o ~/.zen/tmp/secret.dunikey "$SALT" "$PEPPER"
|
|
|
|
G1PUB=$(cat ~/.zen/tmp/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2)
|
|
|
|
|
|
|
|
# EXISTING RESSOURCE ?
|
|
|
|
if [[ $RESSOURCENS ]]; then
|
|
|
|
# YES
|
|
|
|
echo "EXISTING RESSOURCE CURRENT STATUS $G1PUB"
|
|
|
|
ls -al ~/.zen/game/world/$G1PUB
|
|
|
|
|
|
|
|
ipfs ls /ipns/$RESSOURCENS
|
|
|
|
|
|
|
|
continue
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# CREATE NEW RESSOURCE
|
|
|
|
$MY_PATH/tools/keygen -t ipfs -o ~/.zen/tmp/astroscan.secret "$SALT" "$PEPPER"
|
|
|
|
ipfs key import $G1PUB -f pem-pkcs8-cleartext ~/.zen/tmp/astroscan.secret
|
|
|
|
|
|
|
|
if [[ ! -f ~/.zen/game/world/$G1PUB/index.html ]]; then
|
|
|
|
echo "Nouveau Canal TW Astroport"
|
|
|
|
mkdir -p ~/.zen/game/world/$G1PUB
|
|
|
|
|
|
|
|
cp ~/.zen/Astroport.ONE/templates/twdefault.html ~/.zen/game/world/$G1PUB/index.html
|
|
|
|
sed -i "s~_BIRTHDATE_~${MOATS}~g" ~/.zen/game/world/$G1PUB/index.html
|
|
|
|
sed -i "s~_PLAYER_~${PLAYER}~g" ~/.zen/game/world/$G1PUB/index.html
|
|
|
|
sed -i "s~_G1PUB_~${G1PUB}~g" ~/.zen/game/world/$G1PUB/index.html
|
|
|
|
|
|
|
|
IPNSK=$(ipfs key list -l | grep -w "${G1PUB}" | cut -d ' ' -f 1)
|
|
|
|
# La Clef IPNS porte comme nom G1PUB.
|
|
|
|
sed -i "s~_MOAKEY_~${G1PUB}~g" ~/.zen/game/world/$G1PUB/index.html
|
|
|
|
sed -i "s~k2k4r8opmmyeuee0xufn6txkxlf3qva4le2jlbw6da7zynhw46egxwp2~${IPNSK}~g" ~/.zen/game/world/$G1PUB/index.html
|
|
|
|
sed -i "s~ipfs.infura.io~tube.copylaradio.com~g" ~/.zen/game/world/$G1PUB/index.html
|
|
|
|
|
|
|
|
IPUSH=$(ipfs add -Hq ~/.zen/game/world/$G1PUB/index.html | tail -n 1)
|
|
|
|
ipfs name publish --key=${G1PUB} /ipfs/$IPUSH 2>/dev/null
|
|
|
|
|
|
|
|
else
|
|
|
|
echo "Canal TW existant"
|
|
|
|
# REFRESH IPNS
|
2022-08-24 11:40:49 +02:00
|
|
|
ipfs --timeout 6s cat /ipns/$IPNSK > ~/.zen/game/world/$G1PUB/index.html
|
2022-08-18 18:32:01 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
## CREATE GCHANGE AD
|
|
|
|
if [[ ! -f ~/.zen/game/world/.gchange.$G1PUB ]]
|
|
|
|
then
|
|
|
|
echo "CREATION ANNONCE CROWDFUNDING"
|
2022-08-23 14:04:32 +02:00
|
|
|
echo $MY_PATH/tools/jaklis/jaklis.py -k ~/.zen/tmp/secret.dunikey -n "https://data.gchange.fr" setoffer -t "${TITLE} #ASTROMIZ" -d "http://127.0.0.1:8080/ipns/$RESSOURCENS - Gratitude Astronaute $PLAYER" -p $HOME/.zen/Astroport.ONE/images/moa_net.png
|
2022-08-18 18:32:01 +02:00
|
|
|
# echo $GOFFER > ~/.zen/game/world/.gchange.$G1PUB
|
|
|
|
fi
|
|
|
|
|
|
|
|
## OPEN
|
|
|
|
echo "OUVERTURE TW"
|
|
|
|
xdg-open "http://127.0.0.1:8080/ipns/$IPNSK" &
|
|
|
|
|
|
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
# Charger le TW # sudo npm install -g tiddlywiki
|
|
|
|
# TODO USE TW COMMANDS
|
|
|
|
# https://tiddlywiki.com/static/ListenCommand.html
|
|
|
|
|
|
|
|
# CLEF PLAYER CONNUE
|
|
|
|
# tiddlywiki $PLAYER --verbose --load ~/.zen/Astroport.ONE/templates/moawiki.html --listen port=8282
|