Bunch of upgrades

This commit is contained in:
fred 2022-06-14 00:02:06 +02:00
parent ca686ebd25
commit 8fd31f89c1
6 changed files with 59 additions and 247 deletions

View File

@ -66,11 +66,11 @@ DELARATION DES LIEUX
- Collecte & publication des rêves : Pinterest
NAVIGATEUR JOUEUR
ASTRONAUTES
~/.zen/game/players
- Identité astronaute + VISA
- aptitudes / équipements
- Identité astronaute & VISA MadeInZion (accès au niveau 3 de confiance réciproque)
- Expression des Talents (Page Gchange?), validation aptitudes / équipements
- arbres informationnels, projection de rêves.
---

View File

@ -1,225 +0,0 @@
#!/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##*/}"
TS=$(date -u +%s%N | cut -b1-13)
echo "
oMMWMMMMMMMMMMMMMMMMoccdocc::xMMMMMMMMMMMMMMWMW00MMx ' .o0XNXx: ...'',.. .,lxKNMN0d'
,:::;cxNMMMMMMMMMMMMMMMMMMM. ,. cMMMMMMMMMMMMMMMMMMMMMXd;.'oKMMMMMMMMWMMMMMMMMXNMMMMMMMMMMMNkc;.
,oOKWMMMMMMMMMMMMMMMMMMNXXXNMMMMM;., .c, cMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKd,
'xWMMMMMMMMMMMMMMMMMMMMMMXl:::oKWMMM. cMMMMMMMMMMdccXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNkKMMMMNWMMMMMMMMMX:
xMMMMMMMMMMMMMMMMMMMMMMMMWx::::::0MMM;.,'..:' cMMMMMMMMMMd::KMMMMMMMMMMMMMMMMWk:.'x:,KMMMMNo. ... 'lo' ,0KMMMMMMMMMO
0MMMMMMMMMMM0.,,'lMMMMMWlc::::::::0MMM. .. . .,WMMMMMMMMMd::KMMMMMMMMMMMMMMWo;. :MXldd : ,kMMMMMMMM0
xMMMMMMMX0KKKx.cc::NNNWNW::::::::::0MMM,.. ,.''KMMMMMWWMMd::KMx...0MMMMMMMWc. ,dc . .lWMMMMMMMM:
.MMMMMkdc .... .cc: ,.. :...;;,''',0MWW'... ..''0XMkc;::c0o::k:. XWkkXKM0. ,XMMMMMMMMXoc;;.
cWMMMMM' ;ll: .llc l. cll, .,,.0X .,. ..,,' k' .,,,,,,;. .. . :c ' ,; ,. c; ,c:..;NMMMMMMMN:
'NMNXMMMxccl. ;ll: .llc l. cll, 'll.O; ... ,..' ''.''''. .XkoM0;W0XNk'k,X0. 'WMMMMMMMMo
NMMMMWNl ;ll: .llc l. :ll, 'll ... . ....... lxcd' .OXl''.cXk.; . .clxWMMMMMMMN
MMMMM' ;ll: .llc o. :ll, 'cc ''' ,. ,'.,,,, . :. 'o cWMMMMMM
MMMMW. .,,' ::; ;. ',,. .;, ... .. ....... .;' ,WMMMMMM
MMMMX .dOK00OkxN
MMMMK :oooo; ;looooooooo. .ooooooooooo' 'oooooooooooc 'loooooooc. cooooooooool' .loooooool. 'ooooooooooo: ;oooooooooo.0
MMMM0..0MMMMMX 'NMMMMMMMMMMX 'NMMMMMMMMMMM',WMMMMMMMMMMMMx OMMMMMMMMMMN dMMMMMMMMMMMMW. xMMMMMMMMMMW.,WMMMMMMMMMMMMx cWMMMMMMMMMM'X
:XM0 :lllllll :lllllllllll' :lllllllllll: :lllllllllllll; 'oooooooooooo .llllllllllllll..oooooooooooo.:lllllllllllll;.llllllllllll.N
'; oOOOOOOOOc 'OOOOOOOOko. k000: ;OOOOOOOOOOOOO,.OOOO; d000l xOOOOOOOOOOOOo kOOOc c000x ;OOOOOOOOOOOOO' .0000. 0WXM
0MMMMMMMMX .WMMMMMMMMMW; ;MMMW. KMMMMMMMMMMMNl lMMMW. 'MMMM' ;MMMMMMMMMMMM0.;MMMM' NMMMc KMMMMMMMMMMMNl oMMMK ;MMMM
,::::XMMMM' .;;;;:XMMMMx OMMMk ,MMMMxlllkMMMx XMMMx xMMM0 0MMMKlllllc;. 0MMMO lMMMN.;MMMMxlllkMMMd NMMMl xMMMM
lMMMMdclllllloNMMMMo .WMMM; OMMMK xMMMk .MMMM:..;WMMW, 'MMMM; .MMMMo..'NMMMc 0MMMK OMMMx cMMMW. XMMMM
.WMMMWMMMMMMMMMMMMO xMMMX .WMMM; .WMMM; .XMMMMMMMMMX, xMMMK KMMMMMMMMMWc ,MMMM; 'MMMM' XMMMx .WNOo.
o00000000000000x, O000: l000x c000x .lk0000Od; O000; ck0000Ox: o000x l000d .0000.
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 figlet apt-transport-https ca-certificates protobuf-compiler; do
if [ $(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
sudo apt install -y $i
fi
done
for i in build-essential parallel tree fim qrencode jq bc gawk ffmpeg sqlite dnsutils v4l-utils vlc mp3info musl-dev openssl* cargo detox nmap httrack html2text ssmtp imagemagick ttf-mscorefonts-installer libcurl4-openssl-dev; do
if [ $(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed") -eq 0 ]; then
sudo apt install -y $i
fi
done
## INSTALL PYTHON CRYPTO LAYER
echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc && source ~/.bashrc
python3 -m pip install -U pip
python3 -m pip install -U setuptools wheel
python3 -m pip install -U cryptography Ed25519 base58 google protobuf duniterpy
## INSTALL QR CODE PRINTER
sudo pip3 install brother_ql
sudo cupsctl --remote-admin
sudo usermod -aG lpadmin pi
# GAME FILES DATA STRUCTURE
mkdir -p ~/.zen/tmp
mkdir -p ~/.zen/game/players
mkdir -p ~/.zen/game/worlds
########################################################################
echo "INITIALISATION STATION OASIS ASTROPORT"
########################################################################
salt="$(${MY_PATH}/tools/diceware.sh 3 | xargs)"
salto="$salt"
[[ $salt == "" ]] && echo "ERROR" && exit 1
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 "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"
g1_pepper="$pepper"
echo "Creation secret.june avec ($g1_salt) ($g1_pepper)"
echo "$g1_salt" > /tmp/secret.june
echo "$g1_pepper" >> /tmp/secret.june
########################################################################
########################################################################
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)
g1sec=$(cat /tmp/secret.dunikey | grep "sec" | cut -d ' ' -f 2)
########################################################################
########################################################################
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
[[ $PrivKEY == "" ]] && echo "ERROR CREATING IPFS IDENTITY" && exit 1
jq -r --arg PeerID "$PeerID" '.Identity.PeerID=$PeerID' ~/.ipfs/config > /tmp/config.tmp
jq -r --arg PrivKEY "$PrivKEY" '.Identity.PrivKey=$PrivKEY' /tmp/config.tmp > /tmp/config.ipfs
rm /tmp/config.tmp
# IPFSNODEID
IPFSNODEID=$PeerID
echo "IPFSNODEID=$IPFSNODEID"
## Declare directory transfered in IPFS
IPFS_sync_directory="$HOME/astroport"
mkdir -p $IPFS_sync_directory
########################################################################
# INSTALL KEYS
########################################################################
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
chmod 640 ~/.zen/secret.june
[[ -f ~/.zen/secret.dunikey ]] && mv ~/.zen/secret.dunikey ~/.zen/secret.dunikey.old.$TS
mv /tmp/secret.dunikey ~/.zen/secret.dunikey
chmod 640 ~/.zen/secret.dunikey
[[ -f ~/.zen/secret.ipfs ]] && mv ~/.zen/secret.ipfs ~/.zen/secret.ipfs.old.$TS
mv /tmp/secret.ipfs ~/.zen/secret.ipfs
chmod 640 ~/.zen/secret.ipfs
#[[ -f ~/.ipfs/config ]] && mv ~/.ipfs/config ~/.ipfs/config.old.$TS
mv /tmp/config.ipfs ~/.ipfs/config
########################################################################
echo "INIT ~/.zen/ipfs/.${IPFSNODEID} INDEX"
########################################################################
rm -Rf ~/.zen/ipfs
mkdir -p ~/.zen/ipfs/.${IPFSNODEID}/G1SSB
########################################################################
# Give $XZUID to your (gchange friends)
########################################################################
echo "SETTING ASTRXBIAN PROFILE NAME = $XZUID"
echo "$XZUID" > ~/.zen/ipfs/.${IPFSNODEID}/_xbian.zuid
## AJOUTER COORD GPS :!!!!!
echo "
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKkxllllllldk0NWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXx:..';lokkxkkol;'..;d0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXo' 'dKWMMMMMX.;WMMMMMXk;..c0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKc .xNMMMMMMMMN. :MMMMMMMMWO, ,OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWl .kMMMMMMMMMMN. :MMMMMMMMMMK; :XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX, lWMMMMMMMMMMW. cMMMMMMMMMMMk .OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX' OMMMMMMMMMMMW, lMMMMMMMMMMMX..OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW: xMMMMMMMMMMMM; dMMMMMMMMMMMK .XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO 'MMMMMMMMMMMMc xMMMMMMMMMMMl oMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWl xMMMMMMMMMMMl kMMMMMMMMMMX 'WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWc OMMMMMMMMMMl kMMMMMMMMMM.'WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWc xMMMMMMMMMd . OMMMMMMMMN 'WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMk ,MMMMMMMMx :WMMWWN; 0MMMMMMMo lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN; kMMMMMMO ,WW, KMMMMMX..KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK. KMMMM0 .NW, .KMMMN. kMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK. xMM0 XW, .KM0..kMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNc ,O;',,,,,0MK:::::::::ccclooodxl ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0; ,OWMMMMMMMMMMMMMMMMMMMMMMK: 'kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKc..:kNMMMMMMMMMMMMMMMWOc..:kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKo,..,:odO0000xdc;..'lOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOdo:::::::ldkKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
ASTROPORT ONE.
"
########################################################################
echo "Activation Identité $XZUID + Optimisations IPFS"
########################################################################
# DHT gossip PUBSUB mode
ipfs config Pubsub.Router gossipsub
# MAXSTORAGE = 1/2 available
availableDiskSize=$(df -P ~/ | awk 'NR>1{sum+=$4}END{print sum}')
diskSize="$((availableDiskSize / 2))"
ipfs config Datastore.StorageMax $diskSize
# Activate Rapid "ipfs p2p"
ipfs config --json Experimental.Libp2pStreamMounting true
ipfs config --json Experimental.P2pHttpProxy true
ipfs config Addresses.Gateway "/ip4/0.0.0.0/tcp/8080"
# 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/.12D3KooWSQYTxeoZZ39SNosEKxi7RUdGTtAQAqpKeZJxjzqqrZTx/bootstrap)
do
## ADD $bootnode TO BOOTSTRAP
ipfs bootstrap add $bootnode
done
########################################################################
echo "Installation de youtube-dl - Copions le Web avant qu'il ne ferme" # Avoid provider restrictions
########################################################################
${MY_PATH}/tools/install.youtube-dl.sh
#TODO# SWITCH TO yt-dlp
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
exit 0

View File

@ -1 +1 @@
on
off

View File

@ -9,12 +9,12 @@ IPFSNODEID=$(cat ~/.zen/game/players/.current/.ipfsnodeid 2>/dev/null) || ( echo
########################################################################
echo "CREATING $PLAYER GCHANGE+ PROFILE"
########################################################################
~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" set --name "Astronaute $PLAYER" --avatar "/home/$USER/.zen/astrXbian/logo.png" #GCHANGE+
~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://data.gchange.fr" set --name "Astronaute $PLAYER" --avatar "/home/$USER/.zen/astrXbian/logo.png" --site "https://astroport.com/ipns/$(cat ~/.zen/game/players/$PLAYER/.qoopns)" #GCHANGE+
[[ ! $? == 0 ]] && echo "GCHANGE PROFILE CREATION FAILED" && exit 1
########################################################################
echo "CREATING $PLAYER CESIUM+ PROFILE"
########################################################################
~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://g1.data.e-is.pro" set --name "Astronaute $PLAYER" --avatar "/home/$USER/.zen/astrXbian/logo.png" #CESIUM+
~/.zen/astrXbian/zen/jaklis/jaklis.py -k ~/.zen/secret.dunikey -n "https://g1.data.e-is.pro" set --name "Astronaute $PLAYER" --avatar "/home/$USER/.zen/astrXbian/logo.png" --site "https://astroport.com/ipns/$(cat ~/.zen/game/players/$PLAYER/.moans)" #CESIUM+
[[ ! $? == 0 ]] && echo "CESIUM PROFILE CREATION FAILED" && exit 1
########################################################################

View File

@ -56,11 +56,12 @@ echo "=== Replacing ~/.ipfs/config ==="; sleep 2
echo
echo "==== qo-op & moa Captain/Station keystore ===="; sleep 2
mv ~/.ipfs/keystore ~/.ipfs/keystore.astrXbian.${PLAYER}.${MOATS}
[[ ! -d ~/.ipfs/keystore.astrXbian ]] && mv ~/.ipfs/keystore ~/.ipfs/keystore.astrXbian
ln -s ~/.zen/game/players/$PLAYER/keystore ~/.ipfs/keystore
# Keep already created keys !!?
cp ~/.ipfs/keystore.astrXbian/* ~/.ipfs/keystore/ 2>/dev/null
###################################################################################
# 'tokenring' Key there? TOKENRING IS A SHARED KEY TO KNOW WHO IS NEXT IN MY FRIEND TO WRITE COMMON CHANNEL
# In case of corruption... Swarm goes into DEFCON 3 procedure and eject "bad friend"

View File

@ -20,30 +20,66 @@ QOOPNS=$(cat ~/.zen/game/players/.current/.qoopns 2>/dev/null) || ( echo "noplay
source ~/.zen/ipfs.sync; echo "Le capitaine de cet Astroport est actuellement $CAPTAIN"
echo "Astronaute $PLAYER ($PSEUDO) "
xdg-open "file://$HOME/.zen/Astroport.ONE/templates/instascan.html"
xdg-open "file://$HOME/.zen/Astroport.ONE/templates/instascan.html" 2>/dev/null
function urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
while true; do
REPONSE=$(echo -e 'HTTP/1.1 200 OK\r\n' | nc -l -p 1234 -q 1 | grep '^GET' | cut -d' ' -f2 | cut -d'=' -f 2)
URL=$(echo -e 'HTTP/1.1 200 OK\r\n' | nc -l -p 1234 -q 1 | grep '^GET' | cut -d ' ' -f2 | cut -d '?' -f2)
echo "=================================================="
echo "GET RECEPTION : $URL"
arr=(${URL//[=&]/ })
echo "PARAM : ${arr[0]} = ${arr[1]} & ${arr[2]} = ${arr[3]} & ${arr[4]} = ${arr[5]}"
## PLAYER G1PUB
g1pubpath=$(grep $REPONSE ~/.zen/game/players/*/.g1pub | cut -d ':' -f 1 2>/dev/null)
PLAYER=$(echo "$g1pubpath" | rev | cut -d '/' -f 2 | rev 2>/dev/null)
if [[ ${arr[0]} == "qrcode" ]]; then
## Astroport.ONE local use QRCODE Contains PLAYER G1PUB
QRCODE=$(echo $URL | cut -d ' ' -f2 | cut -d '=' -f 2 | cut -d '&' -f 1) && echo "Instascan.html QR : $QRCODE"
g1pubpath=$(grep $QRCODE ~/.zen/game/players/*/.g1pub | cut -d ':' -f 1 2>/dev/null)
PLAYER=$(echo "$g1pubpath" | rev | cut -d '/' -f 2 | rev 2>/dev/null)
##
[[ $(echo $REPONSE | grep '/ipns/') ]] &&
# Get IPFS ID
ASTROID=$(~/.zen/Astroport.ONE/tools/g1_to_ipfs.py $QRCODE)
echo "ASTROID = $ASTROID"
# Rechercher dans mon essaim Gchange
[[ $PLAYER ]] &&\
echo "$PLAYER" && \
ns=$(ipfs key list -l | grep -w qo-op_$PLAYER | cut -d ' ' -f 1) &&\
## Open "qo-op_PLAYER" TW
if [[ $PLAYER ]]; then
echo "$PLAYER"
qoop=$(ipfs key list -l | grep -w qo-op_$PLAYER | cut -d ' ' -f 1)
moa=$(ipfs key list -l | grep -w moa_$PLAYER | cut -d ' ' -f 1)
perso=$(ipfs key list -l | grep -w $PLAYER | cut -d ' ' -f 1)
xdg-open "http://127.0.0.1:8080/ipns/$qoop"
else
echo "Astronaute INCONNU ? $QRCODE" # && continue
fi
[[ ${arr[2]} == "" ]] && continue
fi
## Demande de copie d'une URL reçue.
if [[ ${arr[0]} == "qrcode" && ${arr[2]} == "url" ]]; then
wsource="${arr[3]}"
[[ ${arr[4]} == "type" ]] && wtype="${arr[5]}" || wtype="Youtube"
## LANCEMENT COPIE
~/.zen/astrXbian/ajouter_video.sh "$(urldecode $wsource)" "$wtype" "$QRCODE" &
if [[ $PLAYER == $CAPTAIN ]]; then
echo "running as captain"
else
# running for another player than captain.
# Captain copy for all PLAYER (Gchange key conversion TODO)
echo "$QRCODE $wsource"
fi
fi
## ENVOYER MESSAGE GCHANGE POUR QRCODE
xdg-open "http://127.0.0.1:8080/ipns/$ns" || \
echo "? "$REPONSE
done
moa=$(ipfs key list -l | grep -w moa_$PLAYER | cut -d ' ' -f 1)
qoop=$(ipfs key list -l | grep -w $PLAYER | cut -d ' ' -f 1)