diff --git a/start.sh b/start.sh index 6b7e2e0c..53f29f63 100755 --- a/start.sh +++ b/start.sh @@ -16,17 +16,19 @@ echo ' / ___ \ ___) || | | _ <| |_| | __/| |_| | _ < | | | |_| | |\ | |___ /_/ \_\____/ |_| |_| \_\\___/|_| \___/|_| \_\|_| \___/|_| \_|_____| +Ambassade numérique pair à pair sur IPFS. -ASTROPORT Ambassade numérique pair à pair sur IPFS. +@@@@@@@@@@@@@@@@@@ +ASTROPORT VISA : MadeInZion +@@@@@@@@@@@@@@@@@@ -@@@@@@@@@ -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 +YOU=$(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" && exit 1 ## CONNECT USER PS3='Choisissez votre combinaison Astronaute ou ajoutez la votre. Identité ? ' @@ -50,7 +52,7 @@ ACTUAL PLAYERS done PLAYER=$fav -echo "SVP entrez votre PASS" + rm -f ~/.zen/game/players/.current ln -s ~/.zen/game/players/$PLAYER ~/.zen/game/players/.current diff --git a/templates/demo_moa_qoop.html b/templates/demo_moa_qoop.html new file mode 100644 index 00000000..e2a146c5 --- /dev/null +++ b/templates/demo_moa_qoop.html @@ -0,0 +1,46 @@ + + + + + 'Moa' _PLAYER_ 'qo-op' [_PSEUDO_] Astronaute / Astroport.ONE + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ +
+ +
+ + + + + + + diff --git a/templates/playerhome.html b/templates/playerhome.html new file mode 100644 index 00000000..056c7c6b --- /dev/null +++ b/templates/playerhome.html @@ -0,0 +1,60 @@ + + + + + 'Moa' _PLAYER_ 'qo-op' [_PSEUDO_] Astronaute / Astroport.ONE + + + + + + + +
+ +
+ +
+ +
+ +
+ +
+ + + + + + + diff --git a/templates/playerwiki.html b/templates/playerwiki.html index 81d13e5b..a9edf4d3 100644 --- a/templates/playerwiki.html +++ b/templates/playerwiki.html @@ -381,7 +381,7 @@ Error message and password prompt {"text":"\u003Cvideo controls>\u003Csource src='/ipfs/QmbzC6TWz3PzD2iNrwbx3EXkMPy3WqrJuq7QWQ2JriQAtc' type='video/mp4'>\u003C/video>\u003Ch1>LES_TERRAFORMEURS_Bande_annonce-2022-\u003C/h1>","title":"LES_TERRAFORMEURS_Bande_annonce-2022-","type":"text/vnd.tiddlywiki","mime":"video/mp4","cat":"youtube","poster":"/screen.png","ipfsroot":"QmXEmZqNvERq1AefCJzacBsLxV1HHjVo8thTBhoeVLrtsN","file":"LES_TERRAFORMEURS_Bande_annonce-2022-.mp4","mediakey":"YOUTUBE_moc.ebutuoy.www_7oVxT5sioIE","ipns":"k51qzi5uqu5djgo38exhj1s2leeaaac7kg8ldqrml9gezd0bm9z9t9oc4h0ee5","tmdb":"moc.ebutuoy.www_7oVxT5sioIE","tags":"youtube astroport Nature Divertir Humain Eveil onelove $:/isAttachment $:/isEmbedded","_canonical_uri":"","modified":"20220428181445901"}, {"created":"20220427232048731","text":"","title":"mantra chakras","type":"image/jpeg","modified":"20220427232226462","tags":"$:/isAttachment $:/isIpfs image jpg","_canonical_uri":"/ipfs/bafybeif3h65wbku3b7yw263t343qycnjpdnpwm6t63v3jbk4ev3pg44eou"}, {"created":"20220427231712303","text":"❤️Chakra Racine :\n\n« Je suis proche de tout ce qui vit »\n« Je suis en confiance, solide et en sécurité »\n« Je subviens avec facilité à mes besoins vitaux »\n« La Terre m’apporte son soutien »\n\n🧡Chakra Sacré :\n\n« J’honore mon corps »\n« Je mérite le plaisir et l’Abondance et je les accepte volontiers »\n« J’honore ma sensualité et je l’assume »\n« Je mérite qu’il m’arrive des bonnes expériences »\n\n💛Chakra du Plexus Solaire :\n\n« Je mérite qu’on m’aime, qu’on me respecte »\n« J’ai décidé d’aller de l’avant »\n« J'ose être ce que je suis » \n« J’ai décidé d'évoluer »\n« Je suis un être spirituel et humain »\n« Je suis responsable de mes actes et pensées »\n« Je m'assume et je suis autonome »\n« Je mérite la vie dont je rêve et suis prêt(e) à l’accueillir »\n\n💚Chakra du Cœur :\n\n« Je m'aime »\n« Je suis aimé(e) »\n« J’aime »\n« J’accepte l’Amour que me prodigue les autres et je le mérite »\n« C’est l’Amour qui motive mes choix »\n« Mon cœur est en paix »\n« Je partage l’Amour et la Lumière »\n\n💙Chakra de la Gorge :\n\n« Je dis ce que j’ai à dire à haute voix et clairement »\n« Je suis à l'écoute »\n« J'exprime mes sentiments »\n« Je communique et je m'exprime avec facilité » \n« Je mérite d’être entendu(e) »\n\n💜Chakra du Troisième Œil :\n\n« Je m’ouvre à mes intuitions et à ma sagesse intérieure »\n« Je fais confiance à ma petite voix intérieure et suis ses conseils »\n« Je me sers de mon intelligence et de mon intuition »\n\n💟Chakra Couronne :\n\n« Je fais qu’un(e) avec le Divin »\n« Je suis relié(e) à la Source de la Connaissance Infinie »\n« J’accepte la Guidance Divine tout au long de ma vie »\n\n[img[mantra chakras]]\n\n28 - l'interdiction de la mort\n2145432 - résurrection\n739819419 - résurrection collective\n4748132148 - arrêt instantané des événements négatifs\n","tags":"","title":"MANTRAS POUR NOURRIR LES CHAKRAS","modified":"20220427233811306"}, -{"created":"20210224201642486","text":"! ''{{Moa!!pseudo}}''\n\n```\nBienvenue dans votre \"Bunker\". l'endroit le plus privé et prisé de votre entourage.\nVotre journal de bord privé, journal intime.\n\n```\n!! Notez vos secrets\n''Il ne seront accessibles que par votre cercle d'amitié 5 étoiles. ''\n\nLes tag peuvent contenir le pseudo d'amis pour classer ce qui les concernent...\nVous pouvez imaginer une messagerie privée, échanger, effacer...\nEnfin tous type de communication que vos amis accepteront. ''Quartier Libre!''\n\nCe journal possède toutes les fonctionnalités de partage.\n\n* Adaptez le [[Dessin de Moa]], ajoutez du son [[Horse Galloping (Loop)]]\n* Insérez des vidéos externes (depuis Youtube par exemple) [[Astroport 20:12]] \n* Gravez vos NFT dans IPFS [[Astroport_Final.mp4]] ! \n* Gardez le contrôle sur leur partage avec un simple mot de passe [[Film]] (1234)\n* Placez un contrat plus élaboré (challenge, distribution, vente, ...) votre imagination est la limite.\n\nEt bien des applications à accueillir.\n\n''Voici votre G1PUB ''{{Moa!!g1pub}}'' et [[la carte|https://carte.monnaie-libre.fr/?id=22023]] où apparu le premier Astroport. Allez à la rencontre des premiers membres terriens de la toile de confiance de la première monnaie libre au monde!''\n\n\u003C\u003C\u003C\nBienvenue dans un réseau sûr et de confiance.\n\nTout y est calme et serein? Violent et chaotique?\n\nA vous de choisir selon votre État d'Esprit et les Astroport parmi lesquels vous voyagerez.\n\u003C\u003C\u003C\n","title":"Moa","type":"","modified":"20220502210729728","tags":"Moa","pseudo":"_PSEUDO_","birthdate":"_BIRTHDATE_","g1pub":"_G1PUB_","ipfsnodeid":"_IPFSNODEID_","ipnsmoa":"_MOAID_","qo-op":"_QOOP_"}, +{"created":"20210224201642486","text":"! ''{{Moa!!pseudo}}''\n\n```\nBienvenue dans votre \"Bunker\". l'endroit le plus privé et prisé de votre entourage.\nVotre journal de bord privé, journal intime.\n\n```\n!! Notez vos secrets\n''Il ne seront accessibles que par votre cercle d'amitié 5 étoiles. ''\n\nLes tag peuvent contenir le pseudo d'amis pour classer ce qui les concernent...\nVous pouvez imaginer une messagerie privée, échanger, effacer...\nEnfin tous type de communication que vos amis accepteront. ''Quartier Libre!''\n\nCe journal possède toutes les fonctionnalités de partage.\n\n* Adaptez le [[Dessin de Moa]], ajoutez du son [[Horse Galloping (Loop)]]\n* Insérez des vidéos externes (depuis Youtube par exemple) [[Astroport 20:12]] \n* Gravez vos NFT dans IPFS [[Astroport_Final.mp4]] ! \n* Gardez le contrôle sur leur partage avec un simple mot de passe [[Film]] (1234)\n* Placez un contrat plus élaboré (challenge, distribution, vente, ...) votre imagination est la limite.\n\nEt bien des applications à accueillir.\n\n''Voici votre G1PUB ''{{Moa!!g1pub}}'' et [[la carte|https://carte.monnaie-libre.fr/?id=22023]] où apparu le premier Astroport. Allez à la rencontre des premiers membres terriens de la toile de confiance de la première monnaie libre au monde!''\n\n\u003C\u003C\u003C\nBienvenue dans un réseau sûr et de confiance.\n\nTout y est calme et serein? Violent et chaotique?\n\nA vous de choisir selon votre État d'Esprit et les Astroport parmi lesquels vous voyagerez.\n\u003C\u003C\u003C\n","title":"Moa","type":"","modified":"20220505002129818","tags":"Moa","pseudo":"_PSEUDO_","birthdate":"_BIRTHDATE_","g1pub":"_G1PUB_","ipfsnodeid":"_IPFSNODEID_","qo-op":"_QOOP_","player":"_PLAYER_","moans":"_MOANS_","qoopns":"_QOOPNS_"}, {"title":"Roar","created":"20180412015019044","modified":"20220421231454595","type":"audio/ogg","text":"","tags":"$:/isAttachment $:/isIpfs","_canonical_uri":"/ipfs/bafybeigcwjdtehrvpj6sh7fatiuhny5mpxterithys3z2lzcjirsv7c6gi"}, {"created":"20220423175608829","text":"\u003Cvideo controls>\u003Csource src='/ipfs/QmcFHXFMt1dFF5TAwGx9xuGgU6VeNEqFLd3PBzVFFW2GtT' type='video/mp4'>\u003C/video>\u003Ch1>The Dark Knight : Le Chevalier noir\u003C/h1>","title":"The Dark Knight : Le Chevalier noir","type":"text/vnd.tiddlywiki","cat":"film","file":"The Dark Knight : Le Chevalier noir.mp4","mediakey":"TMDB_155","ipns":"k51qzi5uqu5dltoxsr2sg9iumsyyj2eocvdmq6jvuaj29o0awhhh54o2pv29ri","tmdb":"155","tags":"film Action Crime Drame Thriller onelove","_canonical_uri":"","modified":"20220426083624062"}, {"created":"20210804082551273","text":"\n!!! [[Astroport|Astroport]] propulse votre Espace Numérique Libre TiddlyWiki\n\nTiddlyWiki est un outil à forme humaine pour organiser des informations et prendre des notes. Il stocke et relie les informations de manière non linéaire mais structurée, tout comme votre cerveau, et il n'oublie pas les choses. Maintenir un TiddlyWiki bien organisé demande un effort modeste, et TiddlyWiki a une certaine courbe d'apprentissage, mais il est extrêmement puissant et personnalisable, et une fois que vous le maîtriserez, il changera votre façon de prendre des notes, de penser à votre travail et à vos idées, et de vous rapporter à l'information en général.\n\nVoici quelques exemples de documents que vous pouvez y ajouter*\n\n* des films (astrXbian) : [[Apocalyto|Film]] - mot de passe: 1234\n\n{{Film}}\n\n* des vidéos : [[Astroport_Final.mp4]]\n\n{{Astroport_Final.mp4}}\n\n* des plans : [[Carte|Carte]]\n\n{{Carte}}\n\n\nEt tout un tas d'autres choses merveilleuses...\n\nhttps://tiddlywiki.com/languages/fr-FR/index.html\n\n---\n\nChaque Station [[Astroport|Astroport]], chaque Astronaute possède un (ou plusieurs) bloc-note interplanétaire. Il sont publiés sur le réseau '''astrXbian''' selon les règles de confiances établies entre chaque clef par sa propre toile de confiance. En réseau d'amis, d'amis.\n\n```\nSeule la clef qo-op_{{Moa!!pseudo}} émise par une passerelle officielle du réseau permet de publier sa mise à jour sur le canal principal {{Moa!!ipnsmoa}}\n\n```\n\n---\n\n!! ''Pour participer au jeu de société \"Astoport.ONE\" vous devez importer la clef 'moa' de votre joueur \"Astronaute\" pour l'utiliser comme clef de publication IPNS .'' $:/ControlPanel\n\n---\n\nTant que vous n'aurez pas différencié votre joueur en plaçant votre clef, vos modifications resteront muettes, mais toujours accessibles!\n\n* vous êtes une des sources : http://127.0.0.1:8080/ipns/{{Moa!!ipnsmoa}}\n\n* 'de l’émetteur collectif : http://127.0.0.1:8080{{Moa!!qo-op}}\n","title":"TiddlyWiki","modified":"20220421194024250","tags":""} diff --git a/tools/CHANNELS.populate.sh b/tools/CHANNELS.populate.sh new file mode 100755 index 00000000..908b468e --- /dev/null +++ b/tools/CHANNELS.populate.sh @@ -0,0 +1,24 @@ +#!/bin/bash +################################################################################ +# Author: Fred (support@qo-op.com) +# Version: 0.1 +# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) +################################################################################ +# Construction du canal 'qo-op' à partir des journaux qo-op_$PLAYER +# +################################################################################ +################################################################################ +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized +ME="${0##*/}" + +for player in $(ls ~/.zen/game/players/); do + + echo $player + qoopns=$(cat ~/.zen/game/players/$PLAYER/.qoopns) + moans=$(cat ~/.zen/game/players/$PLAYER/.moans) + playerns=$(cat ~/.zen/game/players/$PLAYER/.playerns) + +done + +exit 0 diff --git a/tools/VISA.new.sh b/tools/VISA.new.sh index 063b4d45..8cbf1816 100755 --- a/tools/VISA.new.sh +++ b/tools/VISA.new.sh @@ -19,6 +19,8 @@ echo "" MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ME="${0##*/}" +YOU=$(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" && exit 1 SALT=$(${MY_PATH}/diceware.sh 4 | xargs) # [[ $1 != "quiet" ]] && echo "-> SALT : $SALT" @@ -111,19 +113,25 @@ else IPFSNODEID=$(cat ~/.ipfs/config | jq -r .Identity.PeerID) # We should have a Captain already... # PLAYER Home ~/.zen/game/players/$PLAYER/index.html + PLAYERNS=$(ipfs key list -l | grep -w $PLAYER | cut -d ' ' -f 1) cp ${MY_PATH}/../templates/playerhome.html ~/.zen/game/players/$PLAYER/index.html - sed -i "s~_MOANS_~${MOANS}~g" ~/.zen/game/players/$PLAYER/index.html - sed -i "s~_QOOPNS_~${QOOPNS}~g" ~/.zen/game/players/$PLAYER/index.html + sed -i "s~_PLAYER_~${PLAYER}~g" ~/.zen/game/players/$PLAYER/index.html + sed -i "s~_PSEUDO_~${PSEUDO}~g" ~/.zen/game/players/$PLAYER/index.html + # Not used (yet) TODO make jQuery Slider + sed -i "s~_PLAYERNS_~${PLAYERNS}~g" ~/.zen/game/players/$PLAYER/index.html + sed -i "s~_MOAKEY_~${PLAYER}~g" ~/.zen/game/players/$PLAYER/index.html + sed -i "s~k2k4r8opmmyeuee0xufn6txkxlf3qva4le2jlbw6da7zynhw46egxwp2~${PLAYERNS}~g" ~/.zen/game/players/$PLAYER/index.html #echo "## PUBLISHING ${PLAYER} /ipns/$PLAYERNS" - IPUSH=$(ipfs add -wHq ~/.zen/game/players/$PLAYER/index.html | tail -n 1) + IPUSH=$(ipfs add -Hq ~/.zen/game/players/$PLAYER/index.html | tail -n 1) ipfs name publish --key=${PLAYER} /ipfs/$IPUSH 2>/dev/null # Moa WIKI ~/.zen/game/players/$PLAYER/moa/index.html mkdir -p ~/.zen/game/players/$PLAYER/moa cp ${MY_PATH}/../templates/moawiki.html ~/.zen/game/players/$PLAYER/moa/index.html sed -i "s~_BIRTHDATE_~${MOATS}~g" ~/.zen/game/players/$PLAYER/moa/index.html - sed -i "s~_PSEUDO_~${PLAYER}~g" ~/.zen/game/players/$PLAYER/moa/index.html + sed -i "s~_PSEUDO_~${PSEUDO}~g" ~/.zen/game/players/$PLAYER/moa/index.html + sed -i "s~_PLAYER_~${PLAYER}~g" ~/.zen/game/players/$PLAYER/moa/index.html sed -i "s~_MOAID_~${MOANS}~g" ~/.zen/game/players/$PLAYER/moa/index.html STATION=$(ipfs key list -l | grep -w 'moa' | cut -d ' ' -f 1) sed -i "s~_QOOP_~${STATION}~g" ~/.zen/game/players/$PLAYER/moa/index.html @@ -133,13 +141,14 @@ else sed -i "s~_IPFSNODEID_~${IPFSNODEID}~g" ~/.zen/game/players/$PLAYER/moa/index.html #echo "## PUBLISHING moa_${PLAYER} /ipns/$MOANS" - IPUSH=$(ipfs add -wHq ~/.zen/game/players/$PLAYER/moa/index.html | tail -n 1) + IPUSH=$(ipfs add -Hq ~/.zen/game/players/$PLAYER/moa/index.html | tail -n 1) ipfs name publish --key=moa_${PLAYER} /ipfs/$IPUSH 2>/dev/null # qo-op WIKI ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/index.html cp ${MY_PATH}/../templates/qoopwiki.html ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/index.html sed -i "s~_BIRTHDATE_~${MOATS}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/index.html - sed -i "s~_PSEUDO_~${PLAYER}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/index.html + sed -i "s~_PSEUDO_~${PSEUDO}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/index.html + sed -i "s~_PLAYER_~${PLAYER}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/index.html sed -i "s~_MOAID_~${QOOPNS}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/index.html STATION=$(ipfs key list -l | grep -w 'qo-op' | cut -d ' ' -f 1) sed -i "s~_QOOP_~${STATION}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/index.html @@ -149,13 +158,17 @@ else sed -i "s~_IPFSNODEID_~${IPFSNODEID}~g" ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/index.html #echo "## PUBLISHING qo-op_${PLAYER} /ipns/$QOOPNS" - IPUSH=$(ipfs add -wHq ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/index.html | tail -n 1) + IPUSH=$(ipfs add -Hq ~/.zen/game/players/$PLAYER/ipfs/.$PeerID/index.html | tail -n 1) ipfs name publish --key=qo-op_${PLAYER} /ipfs/$IPUSH 2>/dev/null - echo "$PSEUDO" > ~/.zen/game/players/$PLAYER/.pseudo echo "$PLAYER" > ~/.zen/game/players/$PLAYER/.player + # Record IPNS address for CHANNEL.populate + echo "$PLAYERNS" > ~/.zen/game/players/$PLAYER/.playerns + echo "$MOANS" > ~/.zen/game/players/$PLAYER/.moans + echo "$QOOPNS" > ~/.zen/game/players/$PLAYER/.qoopns + echo "$SALT" > ~/.zen/game/players/$PLAYER/secret.june echo "$PEPPER" >> ~/.zen/game/players/$PLAYER/secret.june