From bee4c167fd4034de793d73bebedc844174f3dc3e Mon Sep 17 00:00:00 2001 From: fred Date: Thu, 18 Aug 2022 18:32:01 +0200 Subject: [PATCH] Astronaute et Voeux ont leurs TW --- G1VOEUX.sh | 163 + astroscan.sh | 136 + images/Brother_600x100.png | Bin 0 -> 825 bytes images/Brother_600x300.png | Bin 0 -> 1424 bytes images/Brother_600x400.png | Bin 0 -> 2484 bytes images/Brother_600x600.png | Bin 0 -> 2324 bytes images/logoastro.png | Bin 0 -> 21566 bytes images/logojeu.png | Bin 0 -> 50604 bytes start.sh | 9 +- templates/draggable_TW.html | 35 + templates/twdefault.html | 3424 +++++++++++++++++++ tools/Connect_PLAYER_To_Gchange.sh | 2 +- tools/VISA.new.sh | 22 + tools/VISA.print.sh | 15 +- tools/__pycache__/crypto_pb2.cpython-38.pyc | Bin 0 -> 3118 bytes 15 files changed, 3795 insertions(+), 11 deletions(-) create mode 100755 G1VOEUX.sh create mode 100755 astroscan.sh create mode 100644 images/Brother_600x100.png create mode 100644 images/Brother_600x300.png create mode 100644 images/Brother_600x400.png create mode 100644 images/Brother_600x600.png create mode 100644 images/logoastro.png create mode 100644 images/logojeu.png create mode 100644 templates/draggable_TW.html create mode 100644 templates/twdefault.html create mode 100644 tools/__pycache__/crypto_pb2.cpython-38.pyc diff --git a/G1VOEUX.sh b/G1VOEUX.sh new file mode 100755 index 00000000..31a0ef07 --- /dev/null +++ b/G1VOEUX.sh @@ -0,0 +1,163 @@ +#!/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\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +ME="${0##*/}" +################################################################################ +# Create and print VOEUX. +# Attributed to a place shared through Astroport Ŋ1 confidence network IPFS layer +# PARAMETRES +# Promesse de virement du MONTANT, le nom du joueur PLAYER et sa G1PUB. +################################################################################ +MONTANT="$1" +PLAYER="$2" +G1PUB="$3" +QRTW="$4" # Nombre de QR + TW5 à créer + +[[ $MONTANT == "" ]] && MONTANT="_?_" +[[ $PLAYER == "" ]] && PLAYER=$(cat ~/.zen/game/players/.current/.player 2>/dev/null) +PSEUDO=$(cat ~/.zen/game/players/.current/.pseudo 2>/dev/null) +[[ $PLAYER == "" ]] && echo "Second paramètre PLAYER manquant" && exit 1 +[[ $G1PUB == "" ]] && G1PUB=$(cat ~/.zen/game/players/.current/.g1pub 2>/dev/null) +[[ $G1PUB == "" ]] && echo "Troisième paramètre G1PUB manquant" && exit 1 +[[ $QRTW == "" ]] && QRTW=1 + +ASTRONAUTENS=$(ipfs key list -l | grep -w "${PLAYER}" | cut -d ' ' -f 1) +[[ $ASTRONAUTENS == "" ]] && echo "ASTRONAUTE manquant" && exit 1 + +echo "Bienvenue $PSEUDO ($PLAYER) : $G1PUB" +echo "Astronaute Ŋ1 : http://127.0.0.1:8080/ipns/$ASTRONAUTENS" +echo + +# BACKING UP IPNS +rm -f ~/.zen/tmp/index.html +ipfs --timeout 5s get -o ~/.zen/tmp/index.html /ipns/$ASTRONAUTENS +if [ ! -f ~/.zen/tmp/index.html ]; then + echo "ERROR IPNS TIMEOUT" + TW=$(ipfs add -Hq ~/.zen/game/players/$PLAYER/ipfs/moa/index.html | tail -n 1) + ipfs name publish --key=$G1PUB /ipfs/$TW +else + cp ~/.zen/tmp/index.html ~/.zen/game/players/$PLAYER/ipfs/moa/index.html +fi + +# CREATION DE $QRTW BILLETS DE $MONTANT DU +boucle=0; +while [ $boucle -lt $QRTW ] +do + boucle=$((boucle+1)) + SALT=$(${MY_PATH}/tools/diceware.sh 3 | xargs) + PEPPER=$(${MY_PATH}/tools/diceware.sh 1 | xargs) + + echo "Entrez un Titre pour ce Voeu" + read TITRE + PEPPER=$(echo "$TITRE" | sed -r 's/\<./\U&/g' | sed 's/ //g') + + echo "# CREATION CLEF DE VOEUX" + ${MY_PATH}/tools/keygen -t duniter -o ~/.zen/tmp/qrtw.dunikey "$SALT" "$PEPPER" + WISHKEY=$(cat ~/.zen/tmp/qrtw.dunikey | grep "pub:" | cut -d ' ' -f 2) + + echo "# NOUVEAU VOEU ASTRONAUTE" + mkdir -p ~/.zen/game/players/$PLAYER/voeux/$WISHKEY/ + ${MY_PATH}/tools/keygen -t ipfs -o ~/.zen/game/players/$PLAYER/voeux/$WISHKEY/qrtw.ipfskey "$SALT" "$PEPPER" + VOEUXNS=$(ipfs key import $WISHKEY -f pem-pkcs8-cleartext ~/.zen/game/players/$PLAYER/voeux/$WISHKEY/qrtw.ipfskey) + # CRYPTO BUG. TODO use natools to protect and share key with Ŋ1 only ;) + + echo "# CREATION WORLD UPGRADE DATABASE" + MOATS=$(date -u +"%Y%m%d%H%M%S%4N") + + mkdir -p ~/.zen/game/world/$WISHKEY/ + echo $PEPPER > ~/.zen/game/world/$WISHKEY/.pepper + + echo "# CREATION TW" + # ipfs cat /ipfs/bafybeigw5naxqmxt62ljglgzefmfcchp5gulo3yxs5pu7xrxylhzo2obyu > ~/.zen/Astroport.ONE/templates/twdefault.html + cp ~/.zen/Astroport.ONE/templates/twdefault.html ~/.zen/game/world/$WISHKEY/index.html + + # PERSONNALISATION + sed -i "s~_BIRTHDATE_~${MOATS}~g" ~/.zen/game/world/$WISHKEY/index.html + sed -i "s~_PSEUDO_~${PSEUDO}~g" ~/.zen/game/world/$WISHKEY/index.html + sed -i "s~_PLAYER_~${PLAYER}~g" ~/.zen/game/world/$WISHKEY/index.html + sed -i "s~_G1PUB_~${G1PUB}~g" ~/.zen/game/world/$WISHKEY/index.html + sed -i "s~_WISHKEY_~${WISHKEY}~g" ~/.zen/game/world/$WISHKEY/index.html + sed -i "s~_NUMBER_~${SALT}~g" ~/.zen/game/world/$WISHKEY/index.html + sed -i "s~_SECRET_~${PEPPER}~g" ~/.zen/game/world/$WISHKEY/index.html + + # IPNS KEY is WISHKEY / VOEUXNS + sed -i "s~_MEDIAKEY_~${WISHKEY}~g" ~/.zen/game/world/$WISHKEY/index.html + sed -i "s~k2k4r8naeti1ny2hsk3a0ziwz22urwiu633hauluwopf4vwjk4x68qgk~${VOEUXNS}~g" ~/.zen/game/world/$WISHKEY/index.html + # ASTROPORT RELAY + sed -i "s~ipfs.infura.io~tube.copylaradio.com~g" ~/.zen/game/world/$WISHKEY/index.html + + echo "# CREATION QR CODE" + HOST="$(hostname).local" + + qrencode -s 6 -o "$HOME/.zen/game/world/$WISHKEY/QR.WISHLINK.png" "http://$HOST:8080/ipns/$VOEUXNS" + qrencode -s 6 -o "$HOME/.zen/game/world/$WISHKEY/QR.ASTROLINK.png" "http://$HOST:8080/ipns/$ASTRONAUTENS" + qrencode -s 6 -o "$HOME/.zen/game/world/$WISHKEY/QR.G1ASTRO.png" "$G1PUB" + qrencode -s 6 -o "$HOME/.zen/game/world/$WISHKEY/QR.G1WISH.png" "$WISHKEY" + qrencode -s 6 -o "$HOME/.zen/game/world/$WISHKEY/QR.IPNS.png" "/ipns/$VOEUXNS" + + # Bricolage avec node tiddlywiki (TODO add tiddler with command line) + # + cd ~/.zen/game/world/$WISHKEY + tiddlywiki $WISHKEY --load ~/.zen/game/world/$WISHKEY/index.html --savewikifolder ./tw/ + cd - + + # PREMIER TYPE + convert $HOME/.zen/game/world/$WISHKEY/QR.WISHLINK.png -resize 300 /tmp/QR.png + convert ${MY_PATH}/images/logoastro.png -resize 220 /tmp/ASTROLOGO.png + convert ${MY_PATH}/images/logojeu.png -resize 260 /tmp/MIZLOGO.png + +composite -compose Over -gravity NorthWest -geometry +350+10 /tmp/ASTROLOGO.png ${MY_PATH}/images/Brother_600x400.png /tmp/astroport.png +composite -compose Over -gravity NorthWest -geometry +0+0 /tmp/QR.png /tmp/astroport.png /tmp/one.png +convert -gravity northwest -pointsize 35 -fill black -draw "text 320,250 \"$PSEUDO\"" /tmp/one.png /tmp/hop.png +convert -gravity northwest -pointsize 30 -fill black -draw "text 20,320 \"$PEPPER\"" /tmp/hop.png /tmp/pseudo.png +convert -gravity northwest -pointsize 30 -fill black -draw "text 320,300 \"$SALT\"" /tmp/pseudo.png /tmp/salt.png +convert -gravity northwest -pointsize 40 -fill black -draw "text 320,350 \"$PEPPER\"" /tmp/salt.png /tmp/player.png + + # SECOND TYPE + convert $HOME/.zen/game/world/$WISHKEY/QR.G1WISH.png -resize 300 /tmp/G1.png + convert $HOME/.zen/game/world/$WISHKEY/QR.IPNS.png -resize 300 /tmp/IPNS.png + +composite -compose Over -gravity NorthWest -geometry +300+0 /tmp/G1.png ${MY_PATH}/images/Brother_600x400.png /tmp/astroport.png +composite -compose Over -gravity NorthWest -geometry +0+0 /tmp/IPNS.png /tmp/astroport.png /tmp/one.png +composite -compose Over -gravity NorthWest -geometry +320+280 /tmp/MIZLOGO.png /tmp/one.png /tmp/two.png + +convert -gravity northwest -pointsize 50 -fill black -draw "text 30,300 \"Ğ1 RÊVE\"" /tmp/play.png /tmp/voeu.png +convert -gravity northwest -pointsize 28 -fill black -draw "text 32,350 \"$PEPPER\"" /tmp/two.png /tmp/play.png + + + # IMAGE IPFS + IREVE=$(ipfs add -Hq /tmp/voeu.png | tail -n 1) + sed -i "s~bafybeidhghlcx3zdzdah2pzddhoicywmydintj4mosgtygr6f2dlfwmg7a~${IREVE}~g" ~/.zen/game/world/$WISHKEY/index.html + + # PRINTING + LP=$(ls /dev/usb/lp* | head -n1) + [[ ! $LP ]] && echo "NO PRINTER FOUND - Brother QL700 validated" # && exit 1 + echo "IMPRESSION VOEU" + brother_ql_create --model QL-700 --label-size 62 /tmp/player.png > /tmp/toprint.bin 2>/dev/null + sudo brother_ql_print /tmp/toprint.bin $LP + brother_ql_create --model QL-700 --label-size 62 /tmp/voeu.png > /tmp/toprint.bin 2>/dev/null + sudo brother_ql_print /tmp/toprint.bin $LP + + # COPY QR CODE TO PLAYER ZONE + cp /tmp/player.png /tmp/voeu.png ~/.zen/game/players/$PLAYER/voeux/$WISHKEY/ + + # PUBLISHING + echo "## ${PLAYER} RECORDING YOU WISH INTO BLOCKCHAIN" + echo "ipfs add -rHq ~/.zen/game/world/$WISHKEY/ + ipfs name publish --key=${WISHKEY} /ipfs/\$IPUSH" + IPUSH=$(ipfs add -rHq ~/.zen/game/world/$WISHKEY/ | tail -n 1) + echo $IPUSH > ~/.zen/game/world/$WISHKEY/.chain # Contains last IPFS backup PLAYER KEY + echo $MOATS > ~/.zen/game/world/$WISHKEY/.moats + ipfs name publish --key=${WISHKEY} /ipfs/$IPUSH 2>/dev/null + + echo "CAPSULE A REVE $PEPPER : http://127.0.0.1:8080/ipns/$VOEUXNS" + + +done + +exit 0 diff --git a/astroscan.sh b/astroscan.sh new file mode 100755 index 00000000..d6911533 --- /dev/null +++ b/astroscan.sh @@ -0,0 +1,136 @@ +#!/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 + ipfs get -o ~/.zen/game/world/$G1PUB/index.html /ipns/$IPNSK + + cd ~/.zen/game/world/ + tiddlywiki $G1PUB --load ~/.zen/game/world/$G1PUB/index.html & + sleep 3 && killall node # TRASH PUNK PROGRAMMING + echo "BACKUP DONE !!" + cd $MY_PATH + fi + + ## CREATE GCHANGE AD + if [[ ! -f ~/.zen/game/world/.gchange.$G1PUB ]] + then + echo "CREATION ANNONCE CROWDFUNDING" + echo ~/.zen/astrXbian/zen/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 + # 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 diff --git a/images/Brother_600x100.png b/images/Brother_600x100.png new file mode 100644 index 0000000000000000000000000000000000000000..de9a05ec93684a0b981ec76623608c72ac63e990 GIT binary patch literal 825 zcmeAS@N?(olHy`uVBq!ia0y~yV2S{;Q#hD_^X_+~x z3=A3*YbV-z9Cna78XxRBv1@^>i;Pi-I(L$*>{c$<6#`kUVX{7Yf1A{JJ-fOWKZq*$ zki7BLgGXytH?LOUsB5sWveew=(fQw-OE<~J;@$Dx)&0B68v^u=&%TmiH@RyT+__`M z$#q?^>jebd?3W2no|$^aGe~IPLox5g>q4q4Pk1B;OS4&Qb z8_BJnv)v;5saE#A$@>kaTn?YM)2~>9Qzwa2$VFqtq86hZm&~i48z(IKyQ9DU#8>Yp zK_^0)l#erMT~OFv_rd_d>dseMo>e|<^FZaQtT}w5q4?N{F_>ppA*&8p%Sx$ERd*)v>Pi<_BUXXtF_1c~N zm)RA3V^#ATnw=B2INW?~_x@ep`?vRv&;F}pxV^RL;*Y1>-UFkBv%n*=n1Ml08H5=t zmfDvA1=&kHeO=j~F^LFSX)HT)02rZ+9-c0aAr-gYUNvN7VBk1xaA5!QL_So`NirhHAzI={ovLI z4~{2YJ$N)SoITu8;15G#Nl{SAM4|uFMWT*W6x``A|1MYlo?&5N;;gHtd>OlPmrdq0 zoEN1EjzEr%lV^;csc5p^|5)135dZ#>&FTMl<}da?8_mPfab)uugWN~Fk6!xT zez3=1CRH_3)lOZ`_+`_P{+Mu^y2mjkkq>4D8c&|5-Y3+3lrPL`##Eo)iY|*~SyoTE zBl|U@H(UwviOGzi853gdf5`uNcTLO3uflU8i$GQ3oPI%tJ=`X*`##scu{bNN@PjAjWp4de z#xpgO;_|aMDle#)-mxPu`;=V4PG%lE$xWKOgC;Bs&|r9<{>9fa;eptT*w0njZy$eQ zJP{DSQu@II0SVopZ@bR#uC}WF{oQBvetGGJqLz9YK2SVy7I;J!Gcf2WgD_*oQu{KX zAbW|YuPggAHa0$Mu@tF(1qKG@1)eUBAr-gYUNvN7VBk1xaA5!QhmF%+oaUEJVrp3L z#>CJgFi4Ry3&UVV2RIl9Co*ti7_?~cCbTIG1C`Pmx>*Z2SVLP6eEJT|z6_qOelF{r G5}E)Yg=6jj literal 0 HcmV?d00001 diff --git a/images/Brother_600x400.png b/images/Brother_600x400.png new file mode 100644 index 0000000000000000000000000000000000000000..6e50021ca0a9c351fa31ce25bf77596f2584d65c GIT binary patch literal 2484 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1V4T3g1Qhuj-gzD<@VY7_q9iD>T%n*SKP@vS zRiUJ^AXOo?A~TJFq2kutX|bE`Xz;Y&k93{Zpwe=r$iO~yb8}=J-;H;-Yl|m)YJI-3 zjAzRMr#b!svd8xSKl6c?|LGCMm6dvy?lvoz91@l7e;!=sYxuUx{?$bN*WI>LcAw5* zT|0+4?EEyXH@`j}+{-4r{@a7=9KWBwklG=8Dys76h55}bbN#KCS}!UrD=Mt!`)Xk> zaND%7y=d>|kKdLbx7Q!NtPv2s$YT0*gk3D-n^TyO^ept z;S8SnpvUar{3#z+AGFs@Jhx3{k!qT)pt4@v%vJ-jouSEM4Hx$8cq#TnPyFAHDG?r_ z0#|f5CpVkQE$?=Isk}Xmlfxm&fKc6wae9bblpla3x>OXu1U6!fHD)txU?)OXdat5=%E z)2^TN`I5Em^3{FKu^fh44qUc;XyepUXIe8A#vsr;bqdA2JKN}b6Q-?C0P_KZW1aN`bLCXbA`GmC<~ z_MFg7+i1YoYSeV)s9H(Xkp=_aq`6-bzB|6#zJvAa{YS_CyXxtb{Ab_EP-0*7yD2I@ zyx{hcbHO`IdYdk{TTZooa5OXZ|Lt#YU%=pcnUhE6_Wu9%&|1lWN$Q2|tX^OqXw7tX z4)An#h9!GoVxLnx(bnUzgGAf?WnSGOE^h*kC_0O>a4%Boi)vL0;n?c5non)|KgY>! zOO755EYP+1u{ol&pzzw&gP{T}^$s#~=ZM5EIr4szQ@6x>i+2zAzOUW+n@>P0by;NW z;d1a7d-D!u*BZrj^u zoDb^R)_vKw{}Mx*o#*=PTVDuX*v=ahv)we6f5#n0CI7aZQ+-dCt3LUB;J0LLu$aUS z)~aiF_H8{^_={o5%J7rY4;~0eXa;=Sb$oa8+}hvUmtEa2U)5H$>W_=eF<^1TS>O>_ z%)p?h48n{ROYO^mg6t)pzOL-gI0OYH1^oRZ?HL$YPJ6mIh5!qutA>mW3>=3I4(xxP z*wpXhG{0;TQ^R^UCWan?L5h@F7zQgkz`-~;k%1G#phbf>p-o{JO=)DLXF8{}9UH`i W*kpSa*~b7&ItEWyKbLh*2~7aVb|7v5 literal 0 HcmV?d00001 diff --git a/images/Brother_600x600.png b/images/Brother_600x600.png new file mode 100644 index 0000000000000000000000000000000000000000..03c940894aca0e3c0c76c642e7eba3b45c91e39e GIT binary patch literal 2324 zcmeAS@N?(olHy`uVBq!ia0y~yV2S`?4kn<8Aq#&u0|R4Arn7T^r?ay{K~a8MW=<*t zgT}<#iMAex9b}Hi2fI$}S|IBpV-%v!o#ZOJmCJR7Kvrv*tdHK`CN*BquI|MTq6$7F zZ+!LO(VErGs}(rv8Z4|VHFtS*{`cn6O|r3gcYJqs|L*dJ0Da@LuO!$_?wSR6?wE0M zU03XS0RcDrWrCAurk?Q(6599pwH)KVd#;t!{_nJRUq5TJgn&S2`pm>zN2HGg&)#;h za=yixu1#Jwel}^BSUcr+uB-TSZ0Cbb2aFG=S(*CFsEKjsuGwO!Jxl7NN}8@^E0*BYN#Yc8(O9vl#VE%m^Qz~@35)*j=&wKV)%!`% ziBKlx<4jr?6n58ru>Wy)?bLqX3eSZW7k)mnkXLrNu6JRD<+<-0ADj3!JTNX;y8X{o zD}&FTRcn{J_BHIweeh`4QqAfEPx%afq?}mx#>;V*lO6w_`4`Po8ylk+q@R7gc4z-( zb_L&9)%=EL=Y%Z|H(%Smf0y_E?S133|LPcSZ!Nm`n$pNf(u221Q)M6{4bVpm eO;g&A4GYBB*H-U8n**#t89ZJ6T-G@yGywpC(+$G_ literal 0 HcmV?d00001 diff --git a/images/logoastro.png b/images/logoastro.png new file mode 100644 index 0000000000000000000000000000000000000000..2b96838bb98c83c17bf83eb0ec0a360251080dc4 GIT binary patch literal 21566 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 E3iMPf}+>ar-B?`JV;7qp3Cb z&v!EX1W~R$eI>?M_pqlJ__M)yo{nMeb2sV);}*);)Q$;e#R|Mg>+|OgAwmh~841~F zYK}oeRu(lbF3uG=GNhD66Mnrqky}s@@Jd?)d&iN#`LPZGUsw>wo>;&)oD4ByEys3_ z=k+RDN>LmT!N?*ZUxiJ1%k=_YkHm-0@C!N34j85)uvCm=^MU2yaC}@3 z9#mQ@C%8?ol6I@mlO9zeA0*ZAn0gOd+v&?4!459e zM@Jk)xN1uDg;cOMO5hhX-=RF(w%O4qpGgqQtrXGQJ0#(I`Q6J%xsA=uW#|?HKr^P( zX#1j~^p%yBZ@&p8=pXtLWuk9jPzH4us7r5eZ#%Ss;2(saI(@EyLOnUVY)+3hSZ$N> zs5F0RDKi$Zjul3pQ)k;F$mr@~#OJ|t30y_t=C1*heEc<2+5-wDH#e6wsjJ3uLm?Ca z_yhDV2AV8+mMda1OL;Q1P}g61MCEC5vyLY^uNIj>F5sreJtehlUU!`Pfb_4$Aq(~k zW|TRLi;5;zmBjIGFDq_S0XMfA*esh0LCXr53|u66qqtQKt(`mfnN(hRkzDkkI`1ZT z-`#i@U%oXzQY}U|w|jfEc=OZ#n)h-IH>7O#D}Uzg_PypAp*kZEeB9F~76Vy;nAx&4 z*eKsEJ>5J}k}#8ifWia!$-c-)G6?E=I1g8@T*(S;X}q8F_%G6rv3u(4eor1c!B7HK z{?nk|nepk78p@;7K0B!DnG2Ot{+0Ir#F3-4!q8D|Fc`cZomCSR6`h!$=ez5c0Un1x zT)Rd3VfjNd>(beFfHIW<#KFm){q`*l*t3-t7l@Xf27Dc&s4uMIfs_u`q(I=Gaj{W5 zgHPe4R@U#NJzq2&kq-F2C*9?}%P>GSgmd*xxMH^7oqUZzoejv9GIe_b?5fzvU93P=9C-4V5z{!W` z3px0N1OM=TEpI)pN~?*y0Lzogi2KQbqH)Tvk>Vvv9v>Y5d%4&I|~2e^Q!a{3Q96`swLuB|SYc@bsIz&xel)^6+avYUD|J z{_tCY*|6n@hZ1KAQ33S=H^y{~E=YL%Rhw$u+$D7~6Jej%D~$V%HguK6zGv@8R~|5(9f?pq zOe<_DB2guWZ6zcI-U`p7MNm9?gk;1DVFDxCi{v@x|L5~fghpGhGP~fP=UyrFU}l%$ z8d{1;DfIsG#0vbgxI)cH-;KTv0#jtmVJQ(CeRrj2DAZ zaiL;{Q-Om-SGEk!^?k*N0k0HYHc3r*Q|uNs5by9z!IA3>5`7ydfzV9csuCVAEJQ|= zuP8i`i!$%Thw0ISvDEAyF_ZyL4*O3<4SC&9J4njkhNX;hXdtnTFYnUKpmv7wsSTV# z;^_{18_~_nzmH4X%V4y;`N$bdE#L04Wy4PO`1YlVPe=zX^;*iz&wrwJWFA*U<}4jx zDvxCDps)^F&dFizH)HC>#7>!ZYPtOh`kY7A_hDy6lVs+ceTmoNS;iuEHMd%PBWW|= zUh3B0AQe>x$bBx7{?ps1f@0B=F$wX#=5EHbMx$q1BAhAuFc0`ulegou{p2LUz~cWO gx`aW@!Rc+3%UIM;Lza68%#I=)_8zdkXYHH#KUXU4sQ>@~ literal 0 HcmV?d00001 diff --git a/images/logojeu.png b/images/logojeu.png new file mode 100644 index 0000000000000000000000000000000000000000..51a7ef157091f3d129649fe7bfb6c5bc3e37ecdf GIT binary patch literal 50604 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 literal 0 HcmV?d00001 diff --git a/start.sh b/start.sh index 5c5c8e27..a9681af9 100755 --- a/start.sh +++ b/start.sh @@ -78,7 +78,7 @@ ASTRONAUTENS=$(ipfs key list -l | grep -w "$PLAYER" | cut -d ' ' -f 1) echo "Votre MOA : http://127.0.0.1:8080/ipns/$ASTRONAUTENS" PS3="$PLAYER choisissez : __ " -choices=("AJOUTER MEDIA" "IMPRIMER VISA" "EXPORTER VISA" "SUPPRIMER VISA" "QUITTER") +choices=("CREER UN VOEU" "IMPRIMER VISA" "EXPORTER VISA" "SUPPRIMER VISA" "QUITTER") select fav in "${choices[@]}"; do case $fav in "IMPRIMER VISA") @@ -111,9 +111,10 @@ select fav in "${choices[@]}"; do break ;; - "AJOUTER MEDIA") - echo "VIDEOBLOG" - ${MY_PATH}/tools/vlc_webcam.sh + "CREER UN VOEU") + echo "QRCode à coller sur votre REVE" + ${MY_PATH}/G1VOEUX.sh + # ${MY_PATH}/tools/vlc_webcam.sh #~/.zen/astrXbian/ajouter_video.sh ;; diff --git a/templates/draggable_TW.html b/templates/draggable_TW.html new file mode 100644 index 00000000..ecd7aba1 --- /dev/null +++ b/templates/draggable_TW.html @@ -0,0 +1,35 @@ + + + + + Drag and Drop Interoperability with TiddlyWiki Demo + + + +
+ Drag me to a TiddlyWiki window +
+ + + \ No newline at end of file diff --git a/templates/twdefault.html b/templates/twdefault.html new file mode 100644 index 00000000..b609da17 --- /dev/null +++ b/templates/twdefault.html @@ -0,0 +1,3424 @@ + + + + + + + + + + + + + + + + + + + + + — Capsule Interplanétaire Astroport + + + + + + + + + + + +
+ +
+ +
+ + + + + + + + + + + + diff --git a/tools/Connect_PLAYER_To_Gchange.sh b/tools/Connect_PLAYER_To_Gchange.sh index 53bd0601..a8fabad4 100755 --- a/tools/Connect_PLAYER_To_Gchange.sh +++ b/tools/Connect_PLAYER_To_Gchange.sh @@ -14,7 +14,7 @@ echo "CREATING $PLAYER GCHANGE+ PROFILE" ~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/game/players/$PLAYER/secret.dunikey -n "https://data.gchange.fr" set --name "Astronaute $PLAYER" --avatar "/home/$USER/.zen/astrXbian/logo.png" --site "http://127.0.0.1:8080/ipns/$ASTRONAUTENS" #GCHANGE+ [[ ! $? == 0 ]] && echo "GCHANGE PROFILE CREATION FAILED" && exit 1 ######################################################################## -echo "CREATING $PLAYER CESIUM+ PROFILE" +#echo "CREATING $PLAYER CESIUM+ PROFILE" ######################################################################## #~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/game/players/$PLAYER/secret.dunikey -n "https://g1.data.e-is.pro" set --name "Astronaute $PLAYER" --avatar "/home/$USER/.zen/astrXbian/logo.png" --site "http://127.0.0.1:8080/ipns/$ASTRONAUTENS" #CESIUM+ #[[ ! $? == 0 ]] && echo "CESIUM PROFILE CREATION FAILED" && exit 1 diff --git a/tools/VISA.new.sh b/tools/VISA.new.sh index 57498465..1202772e 100755 --- a/tools/VISA.new.sh +++ b/tools/VISA.new.sh @@ -105,6 +105,9 @@ G1PUB=$(cat /tmp/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2) cp ~/.zen/Astroport.ONE/templates/twdefault.html ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/moa/index.html sed -i "s~_BIRTHDATE_~${MOATS}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/moa/index.html sed -i "s~_PLAYER_~${PLAYER}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/moa/index.html + sed -i "s~_PSEUDO_~${PSEUDO}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/moa/index.html + sed -i "s~_WISHKEY_~${G1PUB}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/moa/index.html + sed -i "s~_G1PUB_~${G1PUB}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/moa/index.html sed -i "s~_QRSEC_~${PASsec}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/moa/index.html @@ -115,9 +118,28 @@ G1PUB=$(cat /tmp/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2) sed -i "s~k2k4r8naeti1ny2hsk3a0ziwz22urwiu633hauluwopf4vwjk4x68qgk~${ASTRONAUTENS}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/moa/index.html sed -i "s~ipfs.infura.io~tube.copylaradio.com~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/moa/index.html +## ID CARD +convert ~/.zen/game/players/$PLAYER/QR.png -resize 300 /tmp/QR.png +convert ${MY_PATH}/../images/astroport.jpg -resize 300 /tmp/ASTROPORT.png + +composite -compose Over -gravity SouthWest -geometry +280+20 /tmp/ASTROPORT.png ${MY_PATH}/../images/Brother_600x400.png /tmp/astroport.png +composite -compose Over -gravity NorthWest -geometry +0+0 /tmp/QR.png /tmp/astroport.png /tmp/one.png +# composite -compose Over -gravity NorthWest -geometry +280+280 ~/.zen/game/players/.current/QRsec.png /tmp/one.png /tmp/image.png + +convert -gravity northwest -pointsize 35 -fill black -draw "text 50,300 \"$PSEUDO\"" /tmp/one.png /tmp/image.png +convert -gravity northwest -pointsize 30 -fill black -draw "text 300,40 \"$PLAYER\"" /tmp/image.png /tmp/pseudo.png +convert -gravity northeast -pointsize 25 -fill black -draw "text 20,180 \"$PASS\"" /tmp/pseudo.png /tmp/pass.png +convert -gravity northwest -pointsize 25 -fill black -draw "text 300,100 \"$SALT\"" /tmp/pass.png /tmp/salt.png +convert -gravity northwest -pointsize 25 -fill black -draw "text 300,140 \"$PEPPER\"" /tmp/salt.png ~/.zen/game/players/$PLAYER/ID.png + +# INSERTED IMAGE IPFS +IASTRO=$(ipfs add -Hq ~/.zen/game/players/$PLAYER/ID.png | tail -n 1) +sed -i "s~bafybeidhghlcx3zdzdah2pzddhoicywmydintj4mosgtygr6f2dlfwmg7a~${IASTRO}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/moa/index.html + echo "## PUBLISHING ${PLAYER} /ipns/$ASTRONAUTENS/" IPUSH=$(ipfs add -Hq ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/moa/index.html | tail -n 1) echo $IPUSH > ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/.moachain # Contains last IPFS backup PLAYER KEY + echo "/ipfs/$IPUSH" echo $MOATS > ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/.moats ipfs name publish --key=${PLAYER} /ipfs/$IPUSH 2>/dev/null diff --git a/tools/VISA.print.sh b/tools/VISA.print.sh index f86d029a..5bfab1dc 100755 --- a/tools/VISA.print.sh +++ b/tools/VISA.print.sh @@ -29,19 +29,22 @@ SALT=$(cat ~/.zen/game/players/.current/secret.june | head -n 1) PEPPER=$(cat ~/.zen/game/players/.current/secret.june | tail -n 1) LP=$(ls /dev/usb/lp*) + convert ~/.zen/game/players/.current/QR.png -resize 300 /tmp/QR.png convert ${MY_PATH}/../images/astroport.jpg -resize 300 /tmp/ASTROPORT.png -composite -compose Over -gravity NorthWest -geometry +280+30 /tmp/ASTROPORT.png ${MY_PATH}/../images/carreblanc.png /tmp/astroport.png +composite -compose Over -gravity SouthWest -geometry +280+20 /tmp/ASTROPORT.png ${MY_PATH}/../images/Brother_600x400.png /tmp/astroport.png composite -compose Over -gravity NorthWest -geometry +0+0 /tmp/QR.png /tmp/astroport.png /tmp/one.png -composite -compose Over -gravity NorthWest -geometry +280+280 ~/.zen/game/players/.current/QRsec.png /tmp/one.png /tmp/image.png +# composite -compose Over -gravity NorthWest -geometry +280+280 ~/.zen/game/players/.current/QRsec.png /tmp/one.png /tmp/image.png -convert -gravity southwest -pointsize 40 -fill black -draw "text 20,40 \"$PLAYER\"" /tmp/image.png /tmp/pseudo.png -convert -gravity northwest -pointsize 30 -fill black -draw "text 80,380 \"$PASS\"" /tmp/pseudo.png /tmp/pass.png -convert -gravity northwest -pointsize 25 -fill black -draw "text 300,200 \"$SALT\"" /tmp/pass.png /tmp/salt.png -convert -gravity northwest -pointsize 25 -fill black -draw "text 300,240 \"$PEPPER\"" /tmp/salt.png /tmp/done.jpg +convert -gravity northwest -pointsize 35 -fill black -draw "text 50,300 \"$PSEUDO\"" /tmp/one.png /tmp/image.png +convert -gravity northwest -pointsize 30 -fill black -draw "text 300,40 \"$PLAYER\"" /tmp/image.png /tmp/pseudo.png +convert -gravity northeast -pointsize 25 -fill black -draw "text 20,180 \"$PASS\"" /tmp/pseudo.png /tmp/pass.png +convert -gravity northwest -pointsize 25 -fill black -draw "text 300,100 \"$SALT\"" /tmp/pass.png /tmp/salt.png +convert -gravity northwest -pointsize 25 -fill black -draw "text 300,140 \"$PEPPER\"" /tmp/salt.png /tmp/done.jpg brother_ql_create --model QL-700 --label-size 62 /tmp/done.jpg > /tmp/toprint.bin 2>/dev/null sudo brother_ql_print /tmp/toprint.bin $LP + exit 0 diff --git a/tools/__pycache__/crypto_pb2.cpython-38.pyc b/tools/__pycache__/crypto_pb2.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a419a5c60486a685af95e7fcdc469c850b505a49 GIT binary patch literal 3118 zcmcgu&2Q936t}%z@2<07*@Uoxd=W^<2C`cMK|)2SKthFRLlgonbFu85*~P(YTVn^3 z6*qd#t?H?j!jZqGcOQDGRB6v#Dk`eJH{P!Rl_-bq$S=Qn^X9$Zn|U*nhq;_C!SBj1 zm#rJ)lJq-vhJTaL`3k<^XGM~zL}f=J5|egiDosjMc`ET4nxN_rl7EgS@h?%pN^=q| zm8de#NIA)tMp6Q&0jEhu;0$1$j0mg)&XSxgvD{Jql|%|GwOgbkG)r?#q4}3G$ihpR z77vqT6vj$)l$NN>5RcI@hyu)@jUOh3<^-L9Hmo^G%g}~3lT?A$)ihOsPSMkJ>M%pb zS>fme8-FDOBlTzk5jjaEQl=ARl9tISs*uwVX^KwM8RP+9YImB>(m7x?AuZYtKFYH1N$jtKAGj z?)e@MtM@lIYN6*jL9NaY{LnLeYqjbhMCt2}*|Mm4BMGkFz$ft(h!0p`B*6mD+zaUl z=)Xeh%4VcFW@x*YDsrSTx9(BKk?DXN*RYFTF$PbA0NYXK?zN2Yz-PvDZu&mspwuY~ z>f8o?*h{ro5SUGd1DrJ+Ru65@gKT zB+E@Ze6nX%>t3to*p|QQ*P7l+j8^I%XWfOV`BwX#e#~KM;Bfv+J+rlEId=UXJ1EWR z>JB7OmgkhE{A#J%k6VRN94TdWbsb2S6|l(8U)S|5Za*_a_8GI6uj#3t+mxQzesHrW zl}7Z`23=iSyL7E6mvVaM0jv9~YgeCMDk`Onp4_;-4rYm4|0(@SGE!Z$#iA6{&{J6d zNDB_!(A&w7$%{|`QPOrP+mAFT0*i4z zhB_6iA?hX6!NQLQ8FkFfAN3K})cPd3e zmd`%K2&k)&f<%ps#s%)p?mVeUDhAySBP$GRljJs)CPl<6NRehwXG z?Z9CBA#(%RCwP{6&J`W-i75Z`hSi7Ap7JJ3I6?a7a6#m4;0kjVLaaNhY*M2P3(eOXZ=eSPD>?d`i;JNLIE-7s1n z-E){>R4zt|;2?;y<z$Hf*=y5yh}bx#@XLhs8IOwb!WHZpgT6I(!7Ylfrw$92c96 zz`pnHL7qcR+UV{z$7%wD!F|XJs3{un-H9Z%9@h>@;gCTslD`ATVSV8F8cxh_z!4lM z$r$z@;fWbirj2_Wk9Qt#ZIFp=*0fX z$Zz2eR?3hp&cGei2=r7(M_&Z;X@}aEU9e zuj}(Zz6NCKYvwWzH!|JAx1;Vk-^Py)=0Z~4PNY)19`f@Tw9s3D?igPKZItd^h(qt5 zc%AX_gI6}LlpFXm20q+uX?aG@_F5vHRAogpP1gR>(!HLd0Ft2L*gIAI