From 75283977edd14f3bdc10c5f892a9bb5db293a133 Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 13 Mar 2022 00:10:32 +0100 Subject: [PATCH] Astroport ONE crypto ambassade p2p --- install.sh | 31 +++++++++++++++++++------------ rooms/bigroom.sh | 16 ++++++---------- rooms/gameroom.sh | 27 +++++++++++++-------------- rooms/meteofrance.sh | 21 +++++++++++---------- script/opening.ben | 12 ++++++------ start.sh | 4 +--- templates/video_chain.html | 16 ++++++++-------- templates/video_first.html | 12 ++++++------ tools/vlc_webcam.sh | 34 +++++++++++++++++++++++----------- 9 files changed, 93 insertions(+), 80 deletions(-) diff --git a/install.sh b/install.sh index cc88d95d..4db059db 100755 --- a/install.sh +++ b/install.sh @@ -37,13 +37,19 @@ MMMM0..0MMMMMX 'NMMMMMMMMMMX 'NMMMMMMMMMMM',WMMMMMMMMMMMMx OMMMMMMMMMMN dMM ASTROPORT is a peer to peer friends of friends real life game based on IPFS. Join the Astronaiuts Team. Learn and share how to live together on 'One Planet' +ASTROPORT est un jeu d'amis entre amis basé sur IPFS. +Rejoignez l'équipe des astronautes. Apprenez et partagez comment vivre ensemble sur 'une seule planète'. + NOW INSTALLING REQUIRED TOOLS & CRYPTO STUFF +MAINTENANT INSTALLATION DES OUTILS NÉCESSAIRES ET DU MATÉRIEL CRYPTOGRAPHIQUE " +## 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 [ $(id -u) -eq 0 ] && echo "LANCEMENT root INTERDIT. Utilisez un simple utilisateur du groupe \"sudo\" SVP" && exit 1 sudo apt-get update -for i in git fail2ban inotify-tools curl net-tools libsodium* python3-dev python3-pip python3-setuptools python3-wheel python3-dotenv mpack libssl-dev libffi-dev printer-driver-all cups; do +for i in git fail2ban inotify-tools curl net-tools libsodium* python3-dev python3-pip python3-setuptools python3-wheel python3-dotenv mpack libssl-dev libffi-dev printer-driver-all cups figlet apt-transport-https ca-certificates; do if [ $(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed") -eq 0 ]; then sudo apt install -y $i fi @@ -66,12 +72,13 @@ sudo pip3 install brother_ql sudo cupsctl --remote-admin sudo usermod -aG lpadmin pi -## CREATING GAME DIRECTORIES +# GAME FILES DATA STRUCTURE mkdir -p ~/.zen/tmp mkdir -p ~/.zen/game/players +mkdir -p ~/.zen/game/worlds ######################################################################## -echo "CREATING OASIS ASTROPORT STATION SPECIAL IPFSNODEID" +echo "INITIALISATION STATION OASIS ASTROPORT" ######################################################################## salt="$(${MY_PATH}/tools/diceware.sh 3 | xargs)" salto="$salt" @@ -79,8 +86,8 @@ salto="$salt" pepper="$(${MY_PATH}/tools/diceware.sh 3 | xargs)" XZUID=$(${MY_PATH}/tools/diceware.sh 1 | xargs)${RANDOM:0:2}$(${MY_PATH}/tools/diceware.sh 1 | xargs) -echo "Gardez ou modifiez cet identifiant (passphrase 1)? $salt" && read salty && [[ $salty ]] && salt="$salty" -echo "Gardez ou modifiez cet mot de passe (passphrase 2)? $pepper" && read peppery && [[ $peppery ]] && pepper="$peppery" +echo "Conservez ou modifiez ce identifiant (passphrase 1)? $salt" && read salty && [[ $salty ]] && salt="$salty" +echo "Conservez ou modifiez ce mot de passe (passphrase 2)? $pepper" && read peppery && [[ $peppery ]] && pepper="$peppery" [[ "$salt" != "$salto" ]] && echo "Gardez ou modifiez ce Pseudo? $XZUID" && read XZUIDy && [[ $XZUIDy ]] && XZUID="$XZUIDy" g1_salt="$salt" @@ -92,7 +99,7 @@ echo "$g1_pepper" >> /tmp/secret.june ######################################################################## ######################################################################## -echo "CREATING STATION secret.dunikey (https://cesium.app WALLET)" +echo "CREATION CLEF secret.dunikey (https://cesium.app WALLET)" ######################################################################## python3 ${MY_PATH}/tools/key_create_dunikey.py "$g1_salt" "$g1_pepper" g1pub=$(cat /tmp/secret.dunikey | grep "pub" | cut -d ' ' -f 2) @@ -100,7 +107,7 @@ g1sec=$(cat /tmp/secret.dunikey | grep "sec" | cut -d ' ' -f 2) ######################################################################## ######################################################################## -echo "CREATING config.ipfs" +echo "PREPARATION config.ipfs" ######################################################################## ipfs_ID=$(python3 ${MY_PATH}/tools/create_ipfsnodeid_from_tmp_secret.dunikey.py) echo $ipfs_ID > /tmp/secret.ipfs && source /tmp/secret.ipfs @@ -120,7 +127,7 @@ mkdir -p $IPFS_sync_directory ######################################################################## # INSTALL KEYS ######################################################################## -echo "INSTALL OASIS crypto identity in ~/.zen" +echo "STATION CRYPTO ID ~/.zen" [[ -f ~/.zen/secret.june ]] && mv ~/.zen/secret.june ~/.zen/secret.june.old.$TS mv /tmp/secret.june ~/.zen/secret.june @@ -181,7 +188,7 @@ MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM ASTROPORT ONE. " ######################################################################## -echo "Activating ipfs DHT optimisations" +echo "Activation Identité $XZUID + Optimisations IPFS" ######################################################################## # DHT gossip PUBSUB mode ipfs config Pubsub.Router gossipsub @@ -195,19 +202,19 @@ ipfs config --json Experimental.P2pHttpProxy true ipfs config Addresses.Gateway "/ip4/0.0.0.0/tcp/8080" -# CREATE IPFS BOOTSTRAP ########### +# REMOVE IPFS BOOTSTRAP ########### ipfs bootstrap rm --all ## ARIES COLLECT REGULARLY OASIS ADDRESS # ARIES IPNS KEY /ip4/37.187.127.175/tcp/4001/p2p/12D3KooWSQYTxeoZZ39SNosEKxi7RUdGTtAQAqpKeZJxjzqqrZTx -for bootnode in $(ipfs cat /ipns/12D3KooWSQYTxeoZZ39SNosEKxi7RUdGTtAQAqpKeZJxjzqqrZTx/bootstrap) +for bootnode in $(ipfs cat /ipns/12D3KooWSQYTxeoZZ39SNosEKxi7RUdGTtAQAqpKeZJxjzqqrZTx/.12D3KooWSQYTxeoZZ39SNosEKxi7RUdGTtAQAqpKeZJxjzqqrZTx/bootstrap) do ## ADD $bootnode TO BOOTSTRAP ipfs bootstrap add $bootnode done ######################################################################## -echo "Install youtube-dl" # Avoid provider restrictions +echo "Installation de youtube-dl - Copions le Web avant qu'il ne ferme" # Avoid provider restrictions ######################################################################## ${MY_PATH}/tools/install.youtube-dl.sh diff --git a/rooms/bigroom.sh b/rooms/bigroom.sh index e281ee49..e9b343a4 100755 --- a/rooms/bigroom.sh +++ b/rooms/bigroom.sh @@ -14,26 +14,22 @@ echo sleep 1 echo "Vous décidez de sortir de la Sation Astroport." echo -sleep 4 -echo "aAu moment où vous franchiussez le seul.." -echo "Un immense flash fait jaillir partant de vos pieds votre ombre, immense silhouète aloongée" - echoleverstate=`cat ../logic/stationlogic.ben` if [ "$leverstate" = "on" ]; then sleep 2 echo "Il ne dépend que de vous d'explorer ce nouveau futur." - echo "Le Visa MadeInZion vous permet de découvrir celui qui vous entoure" + echo "Le Visa MadeInZion nous permet de découvrir ensemble le monde qui nous entoure" sleep 2 - echo "Nous vous attendons sur notre 'bon coin' https://gchange.fr " + echo "Nous espérons vous voir sur notre 'bon coin' https://gchange.fr " echo sleep 3 - echo "Il vous reste maintenant à installer IPFS pour rejoindre l'autre Internet." + echo "Vous aussi voulez ouvrir une ambassade? Installez IPFS, faisons Internet à notre façon." echo sleep 4 - echo "Devenez ambassadeur." - echo "Renseignez vous sur les formations habitats posés, vissés et cousus. " - echo "Apprenez à nourrir le sol et reconnaitre les plantes de votre environement. SOlDiag" + echo "Transformez votre bout de terrain, construisez un Astroport." + echo "Nous organisons des formations habitats posés, vissés et cousus. Eau potable. Biogaz, Marmite Norvégienne..." + echo "Et par desssus tout, comment nourrir le sol, reconnaitre les plantes... Redevenir ceuilleur, créateur." echo else echo "" diff --git a/rooms/gameroom.sh b/rooms/gameroom.sh index fb36c80e..5726a7b4 100755 --- a/rooms/gameroom.sh +++ b/rooms/gameroom.sh @@ -30,34 +30,33 @@ while true; do echo "A chaque frappe d'une touche. l'écran fait défiler le texte 'SCANNEZ VISA SVP'." else sed -i='' 's/off/on/' ../logic/stationlogic.ben - echo "Vous appuyez sur l'interupteur de l'écran et touchez la barre espace du clavier" + echo "Vous appuyez sur l'interupteur de l'écran. Y apparaît alors :" sleep 3 - echo "AMBASSADE MadeInZion" - echo "TerraPi4 2 To" + echo "AMBASSADE MadeInZion - TerraPi4 - 2 To -" + echo "" echo sleep 2 - echo "Avant que le GRAND RESET ne nous oblige à totalement réglementer nos information personnelles" - echo "En dehors de la version payante, un INTERNET gratuit existe. Il se contruit comme on collecte les oeufs à Paques." + echo "INTERNET est dangereux. il vend vos information personnelles pour que vous deveniez un produit. " + echo "Quittez INTERNET. Découvrez le Système de Fichiers Interplanétaire (IPFS)." sleep 2 echo - echo "Certains l'appelle 'Le Blob'. On y échange en pair à pair." + echo "Nous remplissons IPFS des identités des Astronautes qui explorent le mode de vie en forêt jardin." sleep 2 echo - echo "Cet endroit est une ambassade MadeInZion. Un crypto pays de la Nation d'Etat d'Esprit." - echo "Version optimisée, décentralisée, sans frontière des anciens pays et gouvernements." + echo "On y échange en pair à pair. La monnaie y est Libre." sleep 4 file1="../art/astrored.ben" while IFS= read -r line do echo "$line" done <"$file1" - echo "__________________ Connexion....." - echo "Parcourir l'Arbre des rêves " - echo "Ajouter un Astronaute au JEu." + echo "__________________ Astroport 20:12 est un programme qui permet de monter des ambassades de la 'présipauté pair à pair' MadeInZion....." + echo "Chaque Lieu porte l'Arbre des rêves de ses habitants" + echo "Chaque Astronaute apporte son 'Art des gens'" + echo "Il participe au JEu d'ingénierie DIY et propage la terraformation forêt jardin." sleep 3 echo - echo - echo "INITIALISATION ASTROPORT" + echo "ASTROPORT ONE" echo read -p "Appuyez sur [ENTER] pour accéder au MENU" ~/.zen/game/start.sh @@ -65,7 +64,7 @@ while true; do exit ;; - h ) echo "Vous lisez l'inscription Wifi 'qo-op|0penS0urce!' - 192.168.220.1 - Nextcloud https://astroport.cloud - Jukebox https://astroport.music ..." ;; + h ) echo "'qo-op|0penS0urce!' - 192.168.220.1 - Nextcloud https://astroport.cloud - Jukebox https://astroport.music ... C'est bien une Station Astroport" ;; * ) echo "Je suis désolé, je ne vous comprends pas. Les commandes sont : n, e, s, w, u et h..";; esac done diff --git a/rooms/meteofrance.sh b/rooms/meteofrance.sh index 6fb5329c..4a701e08 100755 --- a/rooms/meteofrance.sh +++ b/rooms/meteofrance.sh @@ -8,22 +8,23 @@ ts=$(date -u +%s%N | cut -b1-13) ################################################################################ # Capture la photographie satellite de la France # https://fr.sat24.com/image?type=visual5HDComplete®ion=fr -# https://media.meteonews.net/sat/EURwest_1273x892_c1/sat_20220308_1500.jpg -mkdir -p ~/..zen/game/meteofrance -rm -f ~/..zen/game/meteofrance/meteo.jpg -curl -m 20 --output ~/..zen/game/meteofrance/meteo.jpg https://media.meteonews.net/sat/EURwest_1273x892_c1/sat_20220308_1500.jpg +mkdir -p ~/..zen/game/meteo.anim.eu +rm -f ~/..zen/game/meteo.anim.eu/meteo.png +curl -m 20 --output ~/..zen/game/meteo.anim.eu/meteo.png https://s.w-x.co/staticmaps/wu/wu/satir1200_cur/europ/animate.png -if [[ ! -f ~/..zen/game/meteofrance/meteo.jpg ]]; then - echo "Impossible de vous connecter à https://fr.sat24.com/" +if [[ ! -f ~/..zen/game/meteo.anim.eu/meteo.png ]]; then + echo "Impossible de vous connecter au service meteo" exit 1 else - echo "MIse à jour de votre archive meteo : $ts" - echo $ts > ~/..zen/game/meteofrance/.ts + echo "NEED HTML TEMPLATING" + echo "Mise à jour archive points meteo : $ts" + echo $ts > ~/..zen/game/meteo.anim.eu/.ts + + IPFS=$(ipfs add -Rw ~/..zen/game/meteo.anim.eu/) + echo $IPFS > ~/..zen/game/meteo.anim.eu/.chain - IPFS=$(ipfs add -Rw ~/..zen/game/meteofrance/) - echo $IPFS > ~/..zen/game/meteofrance/.chain fi diff --git a/script/opening.ben b/script/opening.ben index 0f703af4..398233a3 100755 --- a/script/opening.ben +++ b/script/opening.ben @@ -1,21 +1,21 @@ Message de la Confédération Interplanétaire -La planète où vous vous trouvez est en danger. Une nouvelle extinction du vivant est en cours! -Les gouvernements de ce monde se disputent les dernières ressources. +La planète où vous vous trouvez est en danger. Les menaces sont nombreuses. +Vos gouvernements se disputent les dernières ressources. Le cycle du vivant est perturbé ! Le "contrat social" des 'pays civilisés' vascille. Les technocrates réclament plus de contrôle. La commission extraterrestre est formelle. Vous êtes en danger. Heureusement la monnaie libre a été découverte sur votre planète! -Elle s'utilise dans ce jeu de civilisation 'grandeur nature'. Prêt? -Bienvenue dans l'aventure. +Elle s'utilise dans un jeu 'grandeur nature'. Astroport 20:12 +Bienvenue dans l'aventure du changement de civilisation. -Vos commandes pour se déplacer et interagir sont +Les commandes pour vous déplacer et interagir sont 'n' aller au nord, 's' aller au sud, 'e' aller à l'est, 'w' aller à l'ouest, -'u' utiliser un objet, +'u' utiliser, 'h' observer plus en détail. Ctrl-C pour quitter. diff --git a/start.sh b/start.sh index 4592fd0b..46621224 100755 --- a/start.sh +++ b/start.sh @@ -27,9 +27,6 @@ ACTUAL PLAYERS ## 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 -mkdir -p ~/.zen/tmp -mkdir -p ~/.zen/game/players - ## CHECK CONNECTED USER if [[ -e ~/.zen/game/players/.current/.pseudo ]]; then PLAYER=$(cat ~/.zen/game/players/.current/.player) @@ -77,6 +74,7 @@ select fav in "${choices[@]}"; do ;; "EXPORTER VISA") echo "EXPORT" + ls ~/.zen/game/players/.current break ;; "SUPPRIMER VISA") diff --git a/templates/video_chain.html b/templates/video_chain.html index 8237ca22..7a7ce833 100644 --- a/templates/video_chain.html +++ b/templates/video_chain.html @@ -1,10 +1,10 @@ - _PSEUDO_ MyVid - Astroport One - - - + _PSEUDO_ VIDEO BLOG - Astroport One + + + @@ -19,17 +19,17 @@

- MyVid _DATE_ + Enregistrement du _DATE_

- Previous MyVid index + Video precedente

- Previous MyVid + Ancienne video

diff --git a/templates/video_first.html b/templates/video_first.html index aa01f6f6..a7a61010 100644 --- a/templates/video_first.html +++ b/templates/video_first.html @@ -1,10 +1,10 @@ - _PSEUDO_ My First Vid - Astroport One - - - + _PSEUDO_ VIDEO BLOG - Astroport One + + + @@ -19,11 +19,11 @@

- MyVid _DATE_ + Enregistrement du _DATE_

diff --git a/tools/vlc_webcam.sh b/tools/vlc_webcam.sh index 0eeef4b1..ae95fefc 100755 --- a/tools/vlc_webcam.sh +++ b/tools/vlc_webcam.sh @@ -9,39 +9,51 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ME="${0##*/}" TS=$(date -u +%s%N | cut -b1-13) - -RECTIME=12 -espeak "Video record starting for $RECTIME seconds" +if [[ -f ~/.zen/soundrecord.config ]]; then + source ~/.zen/soundrecord.config +else + RECDEVICE=$(pactl list short sources | grep input | cut -f 2) +fi +espeak "Starting Video record. Press ENTER to stop." # Find "input-slave" :: pactl list short sources -${MY_PATH}/displaytimer.sh 12 & +# RECTIME=12 +# ${MY_PATH}/displaytimer.sh 12 & # timeout $RECTIME cvlc v4l2:///dev/video0:width=640:height=480 --input-slave=pulse://alsa_input.usb-HD_Web_Camera_HD_Web_Camera_Ucamera001-02.analog-mono --sout "#transcode{acodec=mpga,ab=128,channels=2,samplerate=44100,threads=4,audio-sync=1}:standard{access=file,mux=mp4,dst=\"$HOME/.zen/tmp/MyVid.mp4\"}" -timeout $RECTIME cvlc v4l2:///dev/video0:width=640:height=480 --input-slave=pulse://alsa_input.pci-0000_00_1f.3.analog-stereo --sout "#transcode{acodec=mpga,ab=128,channels=2,samplerate=44100,threads=4,audio-sync=1}:standard{access=file,mux=mp4,dst=\"$HOME/.zen/tmp/MyVid.mp4\"}" +cvlc v4l2:///dev/video0:width=640:height=480 --input-slave=pulse://$RECDEVICE --sout "#transcode{acodec=mpga,ab=128,channels=2,samplerate=44100,threads=4,audio-sync=1}:standard{access=file,mux=mp4,dst=\"$HOME/.zen/tmp/MyVid.mp4\"}" & +processid="$!" +echo "Press ENTER to stop video recording" +read +kill -15 $processid # cvlc v4l2:///dev/video0:width=640:height=480 --input-slave=pulse://alsa_input.usb-HD_Web_Camera_HD_Web_Camera_Ucamera001-02.analog-mono --sout '#transcode{acodec=mpga,ab=128,channels=2,samplerate=44100,threads=4,audio-sync=1}:standard{access=file,mux=mp4,dst='~/.zen/tmp/MyVid.mp4'}' --run-time=$RECTIME --stop-time=$RECTIME cvlc://quit ## RECOMMANCER ? -espeak "mp4 convert" #-acodec aac +espeak "mp4 transcoding" #-acodec aac rm -f ~/.zen/tmp/output.mp4 -ffmpeg -i ~/.zen/tmp/MyVid.mp4 -vcodec libx264 ~/.zen/tmp/output.mp4 +ffmpeg -i ~/.zen/tmp/MyVid.mp4 -vcodec libx264 -loglevel quiet ~/.zen/tmp/output.mp4 IPFSID=$(ipfs add -wrHq ~/.zen/tmp/output.mp4 | tail -n 1) echo "NEW VIDEO FILE /ipfs/$IPFSID/output.mp4" ## Creating new video chain index.html PSEUDO=$(cat ~/.zen/game/players/.current/.pseudo 2>/dev/null) -OLDID=$(cat ~/.zen/game/players/.current/.index 2>/dev/null) +OLDID=$(cat ~/.zen/game/players/.current/.vlog.index 2>/dev/null) if [[ $OLDID ]]; then sed s/_OLDID_/$OLDID/g ${MY_PATH}/../templates/video_chain.html > /tmp/index.html sed -i s/_IPFSID_/$IPFSID/g /tmp/index.html else sed s/_IPFSID_/$IPFSID/g ${MY_PATH}/../templates/video_first.html > /tmp/index.html fi -sed s/_PSEUDO_/$PSEUDO/g /tmp/index.html > ~/.zen/game/players/.current/publish/index.html +sed -i s/_DATE_/$(date -u "+%Y-%m-%d#%H:%M:%S")/g /tmp/index.html +sed s/_PSEUDO_/$PSEUDO/g /tmp/index.html > ~/.zen/game/players/.current/public/index.html -INDEXID=$(ipfs add -wrHq ~/.zen/game/players/.current/publish/index.html | tail -n 1) -echo $INDEXID > ~/.zen/game/players/.current/.index +# Copy style css +cp -R ${MY_PATH}/../templates/styles ~/.zen/game/players/.current/public/ + +INDEXID=$(ipfs add -rHq ~/.zen/game/players/.current/public | tail -n 1) +echo $INDEXID > ~/.zen/game/players/.current/.vlog.index echo "LAST VIDEO INDEX http://127.0.0.1:8080/ipfs/$INDEXID"