refined & easy ♥Box system interconnection
MODE DEMO :: BRECHE DE SECURITE POTENTIELLE :: LA SECURITE EST DANS IPFS la G1 et sa Toile de Confiance :: Indiquez l'IP externe de la BOX "Internet" dans le fichier ~/.zen/♥Box Ouvrir les ports mis en commentaire dans my.sh YOU ARE WISITING US THROUGH N0 WORLD TROLLS LAND - DO NOT USE IN PRODUCTION !! IF YOU LIKE TO HACK COME WITH US. PLENTY NEW LEVELS ARE RISING
This commit is contained in:
parent
cee27162f0
commit
024e9cd972
4
12345.sh
4
12345.sh
|
@ -65,8 +65,8 @@ while true; do
|
|||
|
||||
# EACH VISITOR RECEIVE COMMAND RESPONSE ON
|
||||
## RANDOM PORT = RESPONSE SOCKET & IPNS SESSION TOKEN
|
||||
if [[ ${isLAN} && $(which yunohost) ]]; then
|
||||
PORT=$((PORT+1)) && [ ${PORT} -ge 45782 ] && PORT=45780 ## yunohost OPEN FIREWALL 1234 12345 45780 45781
|
||||
if [[ ${isLAN} && ( $(which yunohost) || -s ~/.zen/♥Box ) ]]; then
|
||||
PORT=$((PORT+1)) && [ ${PORT} -ge 45782 ] && PORT=45780 ## yunohost|♥Box : OPEN FIREWALL 1234 12345 45780 45781
|
||||
else
|
||||
[ ${PORT} -le 12345 ] && PORT=$((PORT+${RANDOM:0:2})) || PORT=$((PORT-${RANDOM:0:2}))
|
||||
fi ## RANDOM PORT SWAPPINESS AVOIDING COLLISION
|
||||
|
|
136
API/QRCODE.sh
136
API/QRCODE.sh
|
@ -265,7 +265,7 @@ if [[ ${QRCODE:0:5} == "@@@@@" ]]; then
|
|||
NEWLINE=$(urldecode ${WHAT})
|
||||
DESTMAIL=$(urldecode ${VAL,,}) # lowercase
|
||||
|
||||
echo "## G1MISSIVE - PASS ${PASS} - $APPNAME"
|
||||
echo "## G1BILLET+ - @PASS ${PASS} - $APPNAME"
|
||||
|
||||
if [[ ${PASS} != "" ]]; then
|
||||
|
||||
|
@ -277,14 +277,14 @@ if [[ ${QRCODE:0:5} == "@@@@@" ]]; then
|
|||
cat ~/.zen/tmp/${MOATS}/disco.aes | gpg -d --passphrase "${PASS}" --batch > ~/.zen/tmp/${MOATS}/decoded
|
||||
|
||||
if [[ ! -s ~/.zen/tmp/${MOATS}/decoded ]]; then
|
||||
## COULD BE ONE MONTH OLDER
|
||||
## COULD BE ONE MONTH OLDER (TODO CHOOSE VALIDITY TIME TO MOVE)
|
||||
UPASS=$(date -d "1 month ago" +"%Y%m")
|
||||
cat ~/.zen/tmp/${MOATS}/disco.aes | gpg -d --passphrase "${UPASS}" --batch > ~/.zen/tmp/${MOATS}/decoded
|
||||
fi
|
||||
|
||||
# cat ~/.zen/tmp/${MOATS}/disco
|
||||
## FORMAT IS "/?salt=${USALT}&pepper=${UPEPPER}"
|
||||
## MADE by tools/VOEUX.print.sh WITH SALT="EMAIL G1PUB" PEPPER="G1VoeuName"
|
||||
## MADE by tools/VOEUX.print.sh WITH USALT="EMAIL(_SEC1_SEC2)" UPEPPER="G1VoeuName OriG1PUB"
|
||||
DISCO=$(cat ~/.zen/tmp/${MOATS}/decoded | cut -d '?' -f2)
|
||||
arr=(${DISCO//[=&]/ })
|
||||
s=$(urldecode ${arr[0]} | xargs)
|
||||
|
@ -296,36 +296,95 @@ if [[ ${QRCODE:0:5} == "@@@@@" ]]; then
|
|||
|
||||
if [[ ${salt} != "" && ${pepper} != "" ]]; then
|
||||
|
||||
echo "secret1=$salt" ## CONTAINS "EMAIL ORIGING1PUB"
|
||||
player=$(echo $salt | cut -d ' ' -f 1)
|
||||
ORIG1=$(echo $salt | cut -d ' ' -f 2)
|
||||
echo "secret1=$salt" ## CONTAINS "EMAIL(_SEC1_SEC2)"
|
||||
player=$(echo $salt | cut -d '_' -f 1 | cut -d ' ' -f 1 | grep '@')
|
||||
echo "player=$player"
|
||||
|
||||
echo "secret2=$pepper" ## CONTAINS "G1VoeuName"
|
||||
[[ ${pepper:0:2} != "G1" ]] && echo "NO GOOD KEY : $pepper" && exit 1
|
||||
VoeuName=$(echo $pepper | cut -c 3-)
|
||||
# # G1BILLET+ interlinked ? ##
|
||||
[[ $(echo "$salt" | grep '_') ]] \
|
||||
&& echo "G1BILLET+ interlinked : salt pepper refining" \
|
||||
&& murge=($(echo $salt | cut -d '_' -f 2- | sed 's/_/ /g' | xargs)) \
|
||||
&& echo "${#murge[@]} dice words" && i=$(( ${#murge[@]} / 2 )) && i=$(( i + 1 )) \
|
||||
&& extra1=$(echo "${murge[@]}" | rev | cut -d ' ' -f $i- | rev) \
|
||||
&& extra2=$(echo "${murge[@]}" | cut -d ' ' -f $i-) \
|
||||
&& VoeuName="G1BILLET+" \
|
||||
&& billkeyname=$(echo "${extra1} ${extra2}" | sha512sum | awk '{print $1}')
|
||||
|
||||
keyname="${player}_${VoeuName}"
|
||||
echo "KeyName=$keyname"
|
||||
echo "salt=$salt" ## CONTAINS "EMAIL"
|
||||
echo "pepper=$pepper" ## CONTAINS "G1VoeuName ORIGING1PUB" or G1BILLET+ secret2
|
||||
|
||||
ISTHERE=$(ipfs key list -l | grep -w ${player} | cut -d ' ' -f1)
|
||||
echo "<h1>$player G1MISSIVE<h1> $ISTHERE" >> ~/.zen/tmp/${MOATS}/disco
|
||||
[[ ${pepper:0:2} == "G1" ]] \
|
||||
&& VoeuName=$(echo $pepper | cut -d ' ' -f 1 | cut -c 3-) \
|
||||
&& PLAYERORIG1=$(echo $pepper | rev | cut -d ' ' -f 1 | rev) \
|
||||
&& echo "$VoeuName $PLAYERORIG1 @PASS"
|
||||
|
||||
## CHECK PLAYERORIG1 WALLETS
|
||||
echo "${MY_PATH}/../tools/jaklis/jaklis.py balance -p ${PLAYERORIG1}"
|
||||
PLAYERCOINS=$(${MY_PATH}/../tools/COINScheck.sh ${PLAYERORIG1} | tail -n 1)
|
||||
echo "<br><b>${player} $PLAYERCOINS G1</b>" >> ~/.zen/tmp/${MOATS}/disco
|
||||
### IF EMPTY ??? WHAT TODO
|
||||
|
||||
orikeyname="${player}_${VoeuName}"
|
||||
destkeyname="${DESTMAIL}_${VoeuName}"
|
||||
echo "@PASS KEYS :
|
||||
ORIGIN=$orikeyname
|
||||
DEST=$destkeyname
|
||||
BILL=$billkeyname"
|
||||
## REVEAL THE KEYS
|
||||
# G1VOEU & IPNS KEY
|
||||
[[ ${player} != "" ]] \
|
||||
&& ${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/playersecret.ipfs "${player}" "G1${VoeuName} ${PLAYERORIG1}" \
|
||||
&& ${MY_PATH}/../tools/keygen -t duniter -o ~/.zen/tmp/${MOATS}/player.secret.key "${player}" "G1${VoeuName} ${PLAYERORIG1}" \
|
||||
&& G1VOEUPUB=$(cat ~/.zen/tmp/${MOATS}/player.secret.key | grep 'pub:' | cut -d ' ' -f 2)
|
||||
# INSTALL orikeyname IPNS KEY ON NODE
|
||||
IK=$(ipfs key list -l | grep -w "${orikeyname}" | cut -d ' ' -f 1 )
|
||||
[[ ! $IK ]] && ipfs key import ${orikeyname} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/playersecret.ipfs
|
||||
|
||||
## IS IT A TRANSFER ? MILGRAM G1MISSIVE
|
||||
[[ ${DESTMAIL} != "" ]] \
|
||||
&& echo "MILGRAM :: ${player} :: ${DESTMAIL}" \
|
||||
&& DESTG1=$(${MY_PATH}/../tools/keygen "${DESTMAIL}" "G1${VoeuName} ${PLAYERORIG1}") \
|
||||
&& ${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/destsecret.ipfs "${DESTMAIL}" "G1${VoeuName} ${PLAYERORIG1}"
|
||||
|
||||
# INSTALL orikeyname IPNS KEY ON NODE
|
||||
IK=$(ipfs key list -l | grep -w "${orikeyname}" | cut -d ' ' -f 1 )
|
||||
[[ ! $IK ]] && ipfs key import ${orikeyname} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/playersecret.ipfs
|
||||
|
||||
## IS IT LINKED WITH extra G1BILLET+
|
||||
[[ ${extra1} != "" && ${extra2} != "" ]] \
|
||||
&& echo "@PASS LINK TO G1BILLET+ :: ${extra1} :: ${extra2}" \
|
||||
&& EXTRAG1=$(${MY_PATH}/../tools/keygen "${extra1}" "${extra2}") \
|
||||
&& ${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/extrasecret.ipfs "${extra1}" "${extra2}" \
|
||||
&& EXTRAG1COINS=$(${MY_PATH}/../tools/COINScheck.sh ${EXTRAG1} | tail -n 1) \
|
||||
&& echo "<br><b>EXTRA ${VoeuName} $EXTRAG1COINS G1</b>" >> ~/.zen/tmp/${MOATS}/disco
|
||||
|
||||
# Don't care if ORIGIN PLAYER is THERE
|
||||
#~ ISTHERE=$(ipfs key list -l | grep -w ${player} | cut -d ' ' -f1)
|
||||
#~ echo "<h1>$player G1MISSIVE<h1> $ISTHERE" >> ~/.zen/tmp/${MOATS}/disco
|
||||
|
||||
|
||||
|
||||
echo "${MY_PATH}/../tools/jaklis/jaklis.py balance -p ${G1VOEUPUB}"
|
||||
G1VOEUCOINS=$(${MY_PATH}/../tools/COINScheck.sh ${G1VOEUPUB} | tail -n 1)
|
||||
echo "<br><b>${VoeuName} $G1VOEUCOINS G1</b>" >> ~/.zen/tmp/${MOATS}/disco
|
||||
|
||||
# Recreate G1 KEY
|
||||
${MY_PATH}/../tools/keygen -t duniter -o ~/.zen/tmp/${MOATS}/secret.key "$salt" "$pepper"
|
||||
G1PUB=$(cat ~/.zen/tmp/${MOATS}/secret.key | grep 'pub:' | cut -d ' ' -f 2)
|
||||
## CHECK ORIG1 amount
|
||||
echo "${MY_PATH}/../tools/jaklis/jaklis.py balance -p ${ORIG1}"
|
||||
MCOINS=$(${MY_PATH}/../tools/COINScheck.sh ${ORIG1} | tail -n 1)
|
||||
echo "<br><b>$MCOINS G1</b>" >> ~/.zen/tmp/${MOATS}/disco
|
||||
|
||||
#CONVERT TO IPNS KEY
|
||||
QNS=$(${MY_PATH}/../tools/g1_to_ipfs.py ${G1PUB})
|
||||
G1VOEUNS=$(${MY_PATH}/../tools/g1_to_ipfs.py ${G1VOEUPUB})
|
||||
## RETRIEVE IPNS CONTENT
|
||||
echo "http://127.0.0.1:8080/ipns/$QNS"
|
||||
if [[ ! -s ~/.zen/tmp/coucou/${ORIG1}.${VoeuName}.missive.txt ]]; then
|
||||
|
||||
avanla=$(ps axf --sort=+utime | grep -w 'ipfs cat /ipns/$QNS' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1)
|
||||
[[ ! $avanla ]] && ipfs cat /ipns/$QNS > ~/.zen/tmp/coucou/${ORIG1}.${VoeuName}.missive.txt &
|
||||
echo "http://127.0.0.1:8080/ipns/$G1VOEUNS"
|
||||
if [[ ! -s ~/.zen/tmp/coucou/${PLAYERORIG1}.${VoeuName}.missive.txt ]]; then
|
||||
HELLO="@PASS :: G1BILLET+ :: ${G1VOEUPUB} :: $(date) :: ${player} :: ${PLAYERORIG1}"
|
||||
echo "${HELLO}"
|
||||
avanla=$(ps axf --sort=+utime | grep -w 'ipfs cat /ipns/$G1VOEUNS' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1)
|
||||
[[ ! $avanla ]] \
|
||||
&& ( ipfs cat /ipns/$G1VOEUNS > ~/.zen/tmp/coucou/${PLAYERORIG1}.${VoeuName}.missive.txt \
|
||||
&& [[ ! -s ~/.zen/tmp/coucou/${PLAYERORIG1}.${VoeuName}.missive.txt ]] \
|
||||
&& echo "@PASS G1BILLET+ INIT" \
|
||||
&& echo "${HELLO}" > ~/.zen/tmp/coucou/${PLAYERORIG1}.${VoeuName}.missive.txt \
|
||||
&& MILGRAM=$(ipfs add -q ~/.zen/tmp/coucou/${PLAYERORIG1}.${VoeuName}.missive.txt) \
|
||||
&& ipfs name publish -k ${player}_${VoeuName} /ipfs/${MILGRAM} &
|
||||
) &
|
||||
|
||||
echo "<br>PLEASE RETRY IN 30 SECONDS GETTING MESSAGE FROM IPFS<br>" >> ~/.zen/tmp/${MOATS}/disco
|
||||
(
|
||||
|
@ -336,7 +395,7 @@ if [[ ${QRCODE:0:5} == "@@@@@" ]]; then
|
|||
|
||||
fi
|
||||
echo "<br><br>" >> ~/.zen/tmp/${MOATS}/disco
|
||||
cat ~/.zen/tmp/coucou/${ORIG1}.${VoeuName}.missive.txt >> ~/.zen/tmp/${MOATS}/disco
|
||||
cat ~/.zen/tmp/coucou/${PLAYERORIG1}.${VoeuName}.missive.txt >> ~/.zen/tmp/${MOATS}/disco
|
||||
|
||||
[[ ${NEWLINE} == "" || ${NEWLINE} == "undefined" ]] && echo "<br> NO NEW LINE <br>" >> ~/.zen/tmp/${MOATS}/disco
|
||||
[[ ${DESTMAIL} == "" || ${DESTMAIL} == "undefined" ]] && echo "<br> Missing Destination EMAIL <br>" >> ~/.zen/tmp/${MOATS}/disco
|
||||
|
@ -352,28 +411,29 @@ if [[ ${QRCODE:0:5} == "@@@@@" ]]; then
|
|||
$($MY_PATH/../tools/search_for_this_email_in_players.sh ${DESTMAIL}) ## export ASTROTW and more
|
||||
echo "export ASTROTW=${ASTRONAUTENS} ASTROG1=${ASTROG1} ASTROMAIL=${DESTMAIL} ASTROFEED=${FEEDNS}"
|
||||
|
||||
## CREATE NEXT G1Missive !
|
||||
NEWIMAGIC=$(${MY_PATH}/../tools/VOEUX.print.sh "${DESTMAIL}" "${VoeuName}" "${MOATS}" "${ORIG1}" | tail -n 1)
|
||||
|
||||
# Create Next G1 & IPNS KEY
|
||||
DESTG1PUB=$(${MY_PATH}/../tools/keygen"${DESTMAIL} ${ORIG1}" "G1${VoeuName}")
|
||||
${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/newsecret.ipfs "${DESTMAIL} ${ORIG1}" "G1${VoeuName}"
|
||||
DESTG1PUB=$(${MY_PATH}/../tools/keygen"${DESTMAIL}" "G1${VoeuName} ${PLAYERORIG1}")
|
||||
${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/newsecret.ipfs "${DESTMAIL}" "G1${VoeuName} ${PLAYERORIG1}"
|
||||
|
||||
orikeyname="${DESTMAIL}_${VoeuName}"
|
||||
# INSTALL NEXT IPNS KEY ON NODE
|
||||
IK=$(ipfs key list -l | grep -w "${DESTMAIL}_${VoeuName}" | cut -d ' ' -f 1 )
|
||||
[[ ! $IK ]] && ipfs key import ${DESTMAIL}_${VoeuName} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/newsecret.ipfs
|
||||
IK=$(ipfs key list -l | grep -w "${orikeyname}" | cut -d ' ' -f 1 )
|
||||
[[ ! $IK ]] && ipfs key import ${orikeyname} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/newsecret.ipfs
|
||||
|
||||
## CREATE NEXT G1Missive !
|
||||
NEWIMAGIC=$(${MY_PATH}/../tools/VOEUX.print.sh "${DESTMAIL}" "${VoeuName}" "${MOATS}" "${PLAYERORIG1}" | tail -n 1)
|
||||
|
||||
## ADD NEWLINE TO MESSAGE
|
||||
if [[ ${NEWLINE} != "" ]]; then
|
||||
CLINE=$(echo "${NEWLINE}" | detox --inline)
|
||||
echo "$CLINE" >> ~/.zen/tmp/coucou/${ORIG1}.${VoeuName}.missive.txt ## NB: File could still being into "ipfs cat" process... TODO MAKE BETTER
|
||||
echo "$CLINE" >> ~/.zen/tmp/coucou/${PLAYERORIG1}.${VoeuName}.missive.txt ## NB: File could still being into "ipfs cat" process... TODO MAKE BETTER
|
||||
fi
|
||||
|
||||
echo "UPDATED" >> ~/.zen/tmp/${MOATS}/disco
|
||||
cat ~/.zen/tmp/coucou/${ORIG1}.${VoeuName}.missive.txt >> ~/.zen/tmp/${MOATS}/disco
|
||||
cat ~/.zen/tmp/coucou/${PLAYERORIG1}.${VoeuName}.missive.txt >> ~/.zen/tmp/${MOATS}/disco
|
||||
echo "<br><img src=/ipfs/$NEWIMAGIC />" >> ~/.zen/tmp/${MOATS}/disco
|
||||
|
||||
MILGRAM=$(ipfs add -q ~/.zen/tmp/coucou/${ORIG1}.${VoeuName}.missive.txt)
|
||||
MILGRAM=$(ipfs add -q ~/.zen/tmp/coucou/${PLAYERORIG1}.${VoeuName}.missive.txt)
|
||||
|
||||
(
|
||||
ipfs name publish -k ${DESTMAIL}_${VoeuName} /ipfs/${MILGRAM}
|
||||
|
@ -383,7 +443,7 @@ if [[ ${QRCODE:0:5} == "@@@@@" ]]; then
|
|||
fi
|
||||
|
||||
else
|
||||
|
||||
## TODO : EMPTY WALLET BACK TO ORIGIN
|
||||
echo "<br><h1>${PASS} ${UPASS} TOO OLD</h1>" >> ~/.zen/tmp/${MOATS}/disco
|
||||
echo "<br><img src='http://127.0.0.1:8080/ipfs/QmVnQ3GkQjNeXw9qM7Fb1TFzwwxqRMqD9AQyHfgx47rNdQ/your-own-data-cloud.svg' />" >> ~/.zen/tmp/${MOATS}/disco
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ mkdir -p ~/.zen/tmp/${MOATS}
|
|||
echo "# NATOOLS ENCODING qrtw.ipfskey "
|
||||
${MY_PATH}/../tools/natools.py encrypt -p $G1PUB -i $HOME/.zen/game/players/${PLAYER}/voeux/${VoeuName}/${WISHG1PUB}/qrtw.ipfskey -o $HOME/.zen/tmp/${MOATS}/qrtw.ipfskey.$G1PUB.enc
|
||||
ENCODING=$(cat $HOME/.zen/tmp/${MOATS}/qrtw.ipfskey.$G1PUB.enc | base16)
|
||||
echo $ENCODING
|
||||
#~ echo $ENCODING
|
||||
|
||||
## TEST IPFS
|
||||
#~ ipfs --timeout=30s cat /ipns/${VOEUNS} > ~/.zen/tmp/${VOEUNS}.json
|
||||
|
@ -98,8 +98,9 @@ mkdir -p ~/.zen/tmp/${MOATS}
|
|||
|
||||
#################################################################
|
||||
## MAKING SPECIAL amrzqr => G1Milgram TICKET
|
||||
## LE QRCODE CORRESPOND A LA CLEF DERIVE "${PLAYER} :: G1${VoeuName}" avec PASS=YYYYMM
|
||||
IMAGIC=$(${MY_PATH}/../tools/VOEUX.print.sh "${PLAYER}" "${VoeuName}" "${MOATS}" | tail -n 1)
|
||||
## LE QRCODE CORRESPOND A LA CLEF DERIVE "${PLAYER} :: G1${VoeuName} ${PLAYERG1PUB}" avec PASS=YYYYMM
|
||||
IMAGIC=$(${MY_PATH}/../tools/VOEUX.print.sh "${PLAYER}" "${VoeuName}" "${MOATS}" "${G1PUB}" | tail -n 1)
|
||||
cp ~/.zen/tmp/${MOATS}/START.png ~/.zen/game/world/${VoeuName}/${WISHG1PUB}/
|
||||
|
||||
qrencode -s 12 -o "$HOME/.zen/game/world/${VoeuName}/${WISHG1PUB}/QR.ASTROLINK.png" "$LIBRA/ipns/$ASTRONAUTENS"
|
||||
qrencode -s 12 -o "$HOME/.zen/game/world/${VoeuName}/${WISHG1PUB}/QR.G1ASTRO.png" "$G1PUB"
|
||||
|
|
|
@ -216,7 +216,7 @@ function testLatency(cb) {
|
|||
function countdown() {
|
||||
if (timeLeft == -1) {
|
||||
clearTimeout(timerId);
|
||||
document.getElementById("countdown").innerHTML = "Créez votre TW. Remplacez les '0' par les secrets de votre G1PASS.<br>Utilisez les identifiants de votre compte GChange si vous en disposez déjà <br><form method='get' action='http://g1billet.localhost:33101' target='aframe'><input type='hidden' name='montant' value='0' ><label for='type'>Type :</label><select name='type'><option value=''>G1BILLET x 6</option><option value='jeu' selected>G1PASS</option><option value='xastro'>G1TW</option></select> <button type='submit'>Lancer Fabrication</button></form>";
|
||||
document.getElementById("countdown").innerHTML = "<form method='get' action='http://g1billet.localhost:33101' target='aframe'><input type='hidden' name='montant' value='0' ><label for='type'>Type :</label><select name='type'><option value=''>G1BILLET x 6</option><option value='jeu' selected>G1PASS</option><option value='xastro'>G1TW</option></select> <button type='submit'>Lancer Fabrication</button></form>";
|
||||
} else {
|
||||
// elem.innerHTML = timeLeft + " s";
|
||||
timeLeft--;
|
||||
|
|
|
@ -7,7 +7,9 @@ MY_PATH="`dirname \"$0\"`" # relative
|
|||
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||
. "$MY_PATH/my.sh"
|
||||
|
||||
PLAYER=$1
|
||||
PLAYER_=$1
|
||||
PLAYER=$(echo "${PLAYER_}" | cut -d '_' -f 1 | cut -d ' ' -f 1) ## EMAIL_dice_words kinds
|
||||
|
||||
VoeuName=$2
|
||||
MOATS=$3
|
||||
G1PUB=$4
|
||||
|
@ -22,17 +24,37 @@ UPASS=$(date '+%Y%m') # YYYYMM
|
|||
|
||||
############################################################ G1Voeu.sh use
|
||||
############################################################ PRINT G1Milgram (once a month)
|
||||
if [[ ${G1PUB} != "" && ${VoeuName} != "" && -d ~/.zen/tmp/${MOATS} ]]; then
|
||||
if [[ ${G1PUB} != "" && ${VoeuName} != "" && ${MOATS} != "" ]]; then
|
||||
|
||||
mkdir -p ~/.zen/tmp/${MOATS}
|
||||
#################################################################
|
||||
## MAKING SPECIAL amrzqr => G1Milgram TICKET = G1Missive
|
||||
## LE QRCODE CORRESPOND A LA CLEF DERIVE "${PLAYER} ${G1PUB} :: G1${VoeuName}" avec PASS=YYYYMM
|
||||
SECRET1="${PLAYER} ${G1PUB}"
|
||||
SECRET2="G1${VoeuName}"
|
||||
## LE QRCODE CORRESPOND A LA CLEF DERIVE "${PLAYER} :: G1${VoeuName} ${G1PUB}" avec PASS=YYYYMM
|
||||
# LINK TO G1BILLET with MAKE_G1BILLET.sh :: ${PLAYER}_dice_words :: G1${VoeuName} ${G1PUB}"
|
||||
|
||||
# PLAYER G1Voeu G1BILLET+ (derivated key)
|
||||
SECRET1="${PLAYER}"
|
||||
SECRET2="G1${VoeuName} ${G1PUB}"
|
||||
|
||||
## ATTACHED G1BILLET+
|
||||
[[ $(cat ${PLAYER_} | grep '_' ) ]] \
|
||||
&& echo "G1BILLET+ interlinked : salt pepper refining" \
|
||||
&& murge=($(echo "${PLAYER_}" | cut -d '_' -f 2- | sed 's/_/ /g' | xargs)) \
|
||||
&& i=$(( ${#murge[@]} / 2 )) && i=$(( i + 1 )) \
|
||||
&& extra1=$(echo "${murge[@]}" | rev | cut -d ' ' -f $i- | rev) \
|
||||
&& extra2=$(echo "${murge[@]}" | cut -d ' ' -f $i-) \
|
||||
&& echo "extra1=${extra1} extra2=${extra2}"
|
||||
|
||||
## @PASS PLAYER IPFS KEY
|
||||
echo "@PASS - G1Voeu"
|
||||
${MY_PATH}/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/${VoeuName}.ipfskey "${SECRET1}" "${SECRET2}"
|
||||
|
||||
USALT=$(echo "${SECRET1}" | jq -Rr @uri)
|
||||
## EXTRA @PASS G1BILLET IPFS KEY
|
||||
[[ ${extra1} != "" && ${extra2} != "" ]] \
|
||||
&& echo "G1BILLET+ EXTRA" \
|
||||
&& ${MY_PATH}/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/${VoeuName}.BILL.ipfskey "${extra1}" "${extra2}"
|
||||
|
||||
USALT=$(echo "${PLAYER_}" | jq -Rr @uri)
|
||||
UPEPPER=$(echo "${SECRET2}" | jq -Rr @uri)
|
||||
DISCO="/?salt=${USALT}&pepper=${UPEPPER}"
|
||||
echo "${DISCO}" > ~/.zen/tmp/${MOATS}/topgp
|
||||
|
@ -53,9 +75,9 @@ UPASS=$(date '+%Y%m') # YYYYMM
|
|||
IMAGIC=$(ipfs add -Hq ~/.zen/tmp/${MOATS}/START.png | tail -n 1)
|
||||
echo ${IMAGIC}
|
||||
|
||||
## SENDING EMAIL #############
|
||||
echo "(•‿‿•) SCAN https://astroport.com/scan" > ~/.zen/tmp/${MOATS}/intro.txt
|
||||
mpack -a -s "(•‿‿•) : Missive ${VoeuName} - ${UPASS} - La♥Box" -d ~/.zen/tmp/${MOATS}/intro.txt ~/.zen/tmp/${MOATS}/START.png ${PLAYER} &
|
||||
## SENDING EMAIL TOO LONG (BETTER FROM ./command.sh) #############
|
||||
#~ echo "(•‿‿•) SCAN https://astroport.com/scan" > ~/.zen/tmp/${MOATS}/intro.txt
|
||||
#~ mpack -a -s "(•‿‿•) : Missive ${VoeuName} - ${UPASS} - La♥Box" -d ~/.zen/tmp/${MOATS}/intro.txt ~/.zen/tmp/${MOATS}/START.png ${PLAYER} &
|
||||
|
||||
exit 0
|
||||
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
#!/bin/bash
|
||||
################################################################################
|
||||
# Author: Fred (support@qo-op.com)
|
||||
# Version: 0.12
|
||||
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
||||
################################################################################
|
||||
# Create HTML page with image caroussel
|
||||
# If no image directory = create G1Station Local PLAYER accounts
|
||||
MY_PATH="`dirname \"$0\"`" # relative
|
||||
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||
. "$MY_PATH/my.sh"
|
||||
|
@ -7,13 +14,14 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
|||
img_dir="$1"
|
||||
|
||||
if [[ ! -d $img_dir ]]; then
|
||||
|
||||
PLAYERONE=($(ls -t ~/.zen/game/players/ | grep "@" 2>/dev/null))
|
||||
[[ ! $PLAYERONE ]] && echo "NO PLAYER IN THE GAME HERE" && exit 1
|
||||
|
||||
echo "ASTROPORT STATION CAROUSEL MODE"
|
||||
rm -Rf ~/.zen/tmp/carousel 2>/dev/null
|
||||
mkdir -p ~/.zen/tmp/carousel
|
||||
# Make it with latest PLAYERS WALLETS
|
||||
|
||||
## RUNING FOR ALL LOCAL PLAYERS
|
||||
for PLAYER in ${PLAYERONE[@]}; do
|
||||
|
||||
|
@ -155,7 +163,7 @@ if [[ $i =~ \.(JPG|jpg|PNG|png|JPEG|jpeg|GIF|gif)$ ]]; then
|
|||
|
||||
MORE="${i%.png}.insert"
|
||||
echo "$MORE"
|
||||
CODEBOUTON="$(cat ${i%.png}.button)"
|
||||
CODEBOUTON="$(cat ${i%.png}.button 2>/dev/null)"
|
||||
echo "$CODEBOUTON"
|
||||
|
||||
LINK="<img src=\"/ipfs/$ilink\" alt=\"$img_alt\" width=\"$img_width\" height=\"$img_height\">"
|
||||
|
|
10
tools/my.sh
10
tools/my.sh
|
@ -404,3 +404,13 @@ myASTROTUBE="https://$(myAstroTube)"
|
|||
&& myHOST="astroport.$(myHostName)" \
|
||||
&& myG1BILLET="http://${myIP}:33101" \
|
||||
|| true
|
||||
|
||||
## zIP :: PUT YOUR Internet Box IP IN ~/.zen/♥Box ( Forward PORTS 8080 4001 5001 33101 33102 1234 12345 45780 45781 )
|
||||
[ -s "~/.zen/♥Box" ] \
|
||||
&& zIP=$(cat ~/.zen/♥Box)
|
||||
&& myASTROPORT="http://$(zIP):1234" \
|
||||
&& myAPI="http://$(zIP):5001" \
|
||||
&& myIPFS="http://$(zIP):8080" \
|
||||
&& myHOST="$(zIP)" \
|
||||
&& myG1BILLET="http://$(zIP):33101" \
|
||||
|| true
|
||||
|
|
Loading…
Reference in New Issue