Evolution Milgram workflow & UX

This commit is contained in:
fred 2023-05-01 03:50:19 +02:00
parent f78c8041f0
commit 6ab293ff05
5 changed files with 233 additions and 60 deletions

View File

@ -12,13 +12,19 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
start=`date +%s`
echo "PORT=$1 THAT=$2 AND=$3 THIS=$4 APPNAME=$5 WHAT=$6 OBJ=$7 VAL=$8 MOATS=$9 COOKIE=$10"
PORT=$1 THAT=$2 AND=$3 THIS=$4 APPNAME=$5 WHAT=$6 OBJ=$7 VAL=$8 MOATS=$9 COOKIE=$10
echo "PORT=$1
THAT=$2
AND=$3
THIS=$4
APPNAME=$5
WHAT=$6
OBJ=$7
VAL=$8
MOATS=$9
COOKIE=$10"
PORT="$1" THAT="$2" AND="$3" THIS="$4" APPNAME="$5" WHAT="$6" OBJ="$7" VAL="$8" MOATS="$9" COOKIE="$10"
### transfer variables according to script
QRCODE=$THAT
TYPE=$WHAT
echo "COOKIE : $COOKIE"
QRCODE="$THAT"
HTTPCORS="HTTP/1.1 200 OK
Access-Control-Allow-Origin: ${myASTROPORT}
@ -89,11 +95,10 @@ fi
################################################################################
## QRCODE = PGP ENCRYPTED STRING
# /?qrcode=-----BEGIN%20PGP%20MESSAGE-----~~jA0ECQMC5iqIY7XLnGn_0koBJB5S2Sy1p%2FHr8CKFgWdZ9_j%2Fb2qdOznICGvqGCXY~7Flw6YtiabngvY6biq%2F0vpiFL8t8BSbMZe0GLBU90EMBrhzEiyPnh__bzQ%3D%3D~%3D9UIj~-----END%20PGP%20MESSAGE-----~
# /?qrcode=-----BEGIN%20PGP%20MESSAGE-----~~jA0ECQMC5iq8 [ ......... ] _Q%3D%3D~%3D9UIj~-----END%20PGP%20MESSAGE-----~
# &pass=coucou&history/read/pay/login=(1|email)&g1pub=_DESTINATAIRE_
################################################################################
if [[ ${QRCODE:0:5} == "~~~~~" ]]; then
echo ${QRCODE}
PASS=$(urldecode ${THIS})
echo "## THIS IS A PGP ENCRYPTED QRCODE LOOK - PASS ${PASS} - $APPNAME"
@ -163,7 +168,7 @@ if [[ ${QRCODE:0:5} == "~~~~~" ]]; then
|| echo ${WHAT} > ${DESTFILE}
cat ${DESTFILE}
echo "<h1>OPERATION</h1> <h3>$G1PUB <br> $CUR - ${WHAT}</h3> <h3>${VAL} <br> $DES + ${WHAT} </h3><h2>OK</h2>" >> ~/.zen/tmp/${MOATS}/disco
echo "<h1>OPERATION</h1> <h3>${G1PUB} <br> $CUR - ${WHAT}</h3> <h3>${VAL} <br> $DES + ${WHAT} </h3><h2>OK</h2>" >> ~/.zen/tmp/${MOATS}/disco
fi
fi
@ -190,7 +195,7 @@ if [[ ${QRCODE:0:5} == "~~~~~" ]]; then
## history & read
# cp ~/.zen/tmp/${MOATS}/secret.key ~/.zen/tmp/
qrencode -s 6 -o "${HOME}/.zen/tmp/${MOATS}/disco.qr.png" "$G1PUB"
qrencode -s 6 -o "${HOME}/.zen/tmp/${MOATS}/disco.qr.png" "${G1PUB}"
QRURL=${myIPFS}/ipfs/$(ipfs add -q ~/.zen/tmp/${MOATS}/disco.qr.png)
ONVADIRE="<h1> ~ ${CURCOINS} Ğ1</h1>${G1PUB}<br><br><img src=${QRURL} />"
echo "${ONVADIRE}" >> ~/.zen/tmp/${MOATS}/disco
@ -251,6 +256,153 @@ if [[ ${QRCODE:0:5} == "~~~~~" ]]; then
fi
################################################################################
## QRCODE = G1Milgram G1Missive PGP ENCRYPTED STRING
# /?qrcode=@@@@@BEGIN%20PGP%20MESSAGE@@@@@~~jA0ECQM...............
# &pass=YYYYMM&milgram=NEWLINE&email=DESTMAIL
################################################################################
if [[ ${QRCODE:0:5} == "@@@@@" ]]; then
PASS=$(urldecode ${THIS})
NEWLINE=$(urldecode ${WHAT})
DESTMAIL=$(urldecode ${VAL,,}) # lowercase
echo "## G1MISSIVE - PASS ${PASS} - $APPNAME"
if [[ ${PASS} != "" ]]; then
## Recreate GPG aes file
urldecode ${QRCODE} | tr '_' '+' | tr '-' '\n' | tr '@' '-' > ~/.zen/tmp/${MOATS}/disco.aes
sed -i '$ d' ~/.zen/tmp/${MOATS}/disco.aes
# Decoding
echo "cat ~/.zen/tmp/${MOATS}/disco.aes | gpg -d --passphrase "${PASS}" --batch"
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
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"
DISCO=$(cat ~/.zen/tmp/${MOATS}/decoded | cut -d '?' -f2)
arr=(${DISCO//[=&]/ })
s=$(urldecode ${arr[0]} | xargs)
salt=$(urldecode ${arr[1]} | xargs)
p=$(urldecode ${arr[2]} | xargs)
pepper=$(urldecode ${arr[3]} | xargs)
echo "$HTTPCORS" > ~/.zen/tmp/${MOATS}/disco
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 "secret2=$pepper" ## CONTAINS "G1VoeuName"
[[ ${pepper:0:2} != "G1" ]] && echo "NO GOOD KEY : $pepper" && exit 1
VoeuName=$(echo $pepper | cut -c 3-)
keyname="${player}_${VoeuName}"
echo "KeyName=$keyname"
ISTHERE=$(ipfs key list -l | grep -w ${player} | cut -d ' ' -f1)
echo "G1MISSIVE : $ISTHERE" >> ~/.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 "MISSIVE : $MCOINS G1" >> ~/.zen/tmp/${MOATS}/disco
#CONVERT TO IPNS KEY
QNS=$(${MY_PATH}/../tools/g1_to_ipfs.py ${G1PUB})
## 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 "<br>PLEASE RETRY IN 30 SECONDS GETTING MESSAGE FROM IPFS<br>" >> ~/.zen/tmp/${MOATS}/disco
(
cat ~/.zen/tmp/${MOATS}/disco | nc -l -p ${PORT} -q 1 > /dev/null 2>&1
echo "BLURP $PORT" && rm -Rf ~/.zen/tmp/${MOATS}
) &
exit 0
fi
echo "<br><br>" >> ~/.zen/tmp/${MOATS}/disco
cat ~/.zen/tmp/coucou/${ORIG1}.${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
## CHECK VALID EMAIL FORMAT
[[ "${DESTMAIL}" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ ]] \
&& echo "<br> GOOD $DESTMAIL <br>" >> ~/.zen/tmp/${MOATS}/disco \
&& GOMAIL=1
if [[ $APPNAME == "milgram" && ${GOMAIL} == 1 ]]; then
## 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}"
# 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
## 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
fi
echo "UPDATED" >> ~/.zen/tmp/${MOATS}/disco
cat ~/.zen/tmp/coucou/${ORIG1}.${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)
(
ipfs name publish -k ${DESTMAIL}_${VoeuName} /ipfs/${MILGRAM}
echo "${VoeuName} ${PASS} G1Milgram emitted ${DESTMAIL}"
) &
fi
else
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
fi
else
echo "<br>DATA MISSING" >> ~/.zen/tmp/${MOATS}/disco
fi
(
cat ~/.zen/tmp/${MOATS}/disco | nc -l -p ${PORT} -q 1 > /dev/null 2>&1
echo "BLURP $PORT" && rm -Rf ~/.zen/tmp/${MOATS}
) &
exit 0
fi
################################################################################
## QRCODE = G1* : MODE G1VOEU : RETURN WISHNS - IPNS App link - or direct tw tag selected json
# ~/?qrcode=G1Tag&tw=_IPNS_PLAYER_(&json)
################################################################################

View File

@ -27,6 +27,7 @@ for PLAYER in ${PLAYERONE[@]}; do
# CLEAN LOST ACCOUNT
[[ ! -s ~/.zen/game/players/${PLAYER}/secret.dunikey ]] \
&& rm -Rf ~/.zen/game/players/${PLAYER} \
&& mv ~/.zen/game/players/${PLAYER} ~/.zen/game/players/.${PLAYER} 2>/dev/null \
&& echo "LOST ${PLAYER} IS OUT" \
&& continue

View File

@ -136,7 +136,7 @@ while true; do
if [[ -d ~/.zen/tmp/swarm/${znod} ]]; then
echo "COMPLETING MY SWARM DATA WITH ZNOD=${znod}"
mkdir ~/.zen/tmp/swarm/${znod}
mkdir -p ~/.zen/tmp/swarm/${znod}
ipfs --timeout 180s get -o ~/.zen/tmp/swarm/${znod} /ipns/${znod}
else
echo "____________ KNOW ${znod}"

View File

@ -10,22 +10,22 @@ MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
PLAYER=$1
VoeuName=$2
MOATS=$3
G1PUB=$4
UPASS=$(date '+%Y%m') # YYYYMM
[[ ${PLAYER} == "" ]] && PLAYER=$(cat ~/.zen/game/players/.current/.player 2>/dev/null)
[[ ${PLAYER} == "" ]] && echo "PLAYER manquant" && exit 1
PSEUDO=$(cat ~/.zen/game/players/${PLAYER}/.pseudo 2>/dev/null)
[[ ${G1PUB} == "" ]] && G1PUB=$(cat ~/.zen/game/players/${PLAYER}/.g1pub 2>/dev/null)
[[ ${G1PUB} == "" ]] && echo "G1PUB manquant" && exit 1
ASTRONAUTENS=$(ipfs key list -l | grep -w "${G1PUB}" | cut -d ' ' -f 1)
[[ ${ASTRONAUTENS} == "" ]] && echo "ASTRONAUTE manquant" && exit 1
############################################################ G1Voeu.sh use
############################################################ PRINT G1Milgram (once a month)
if [[ ${G1PUB} != "" && ${VoeuName} != "" && -d ~/.zen/tmp/${MOATS} ]]; then
#################################################################
## MAKING SPECIAL amrzqr => G1Milgram TICKET
## 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}"
@ -47,7 +47,7 @@ ASTRONAUTENS=$(ipfs key list -l | grep -w "${G1PUB}" | cut -d ' ' -f 1)
-l H \
-p ~/.zen/tmp/${MOATS}/result.png -c
convert -gravity northwest -pointsize 25 -fill black -draw "text 5,5 \"${PLAYER} - ${UPASS} \"" ~/.zen/tmp/${MOATS}/result_qrcode.png ~/.zen/tmp/${MOATS}/layer1.png
convert -gravity northwest -pointsize 25 -fill black -draw "text 5,5 \"${PLAYER} - ${UPASS} -\"" ~/.zen/tmp/${MOATS}/result_qrcode.png ~/.zen/tmp/${MOATS}/layer1.png
convert -gravity southeast -pointsize 25 -fill black -draw "text 5,5 \"${VoeuName}\"" ~/.zen/tmp/${MOATS}/layer1.png ~/.zen/tmp/${MOATS}/START.png
IMAGIC=$(ipfs add -Hq ~/.zen/tmp/${MOATS}/START.png | tail -n 1)
@ -93,7 +93,8 @@ select zwish in "${vlist[@]}"; do
;;
*) echo "IMPRESSION ${voeu}"
TITLE=$(echo ${zwish} | cut -d ':' -f1) ## Get Voeu title
VoeuName=$(echo ${zwish} | cut -d ':' -f1) ## Get VoeuName
voeu=$(echo ${zwish} | cut -d ':' -f2) ## Get G1PUB part
VOEUXNS=$(ipfs key list -l | grep -w ${voeu} | cut -d ' ' -f1)
@ -106,43 +107,52 @@ select zwish in "${vlist[@]}"; do
"TW")
echo "Changer de Gateway $myIPFS ?"
read GW && [[ ! $GW ]] && GW="$myIPFS"
qrencode -s 12 -o "$HOME/.zen/game/world/${TITLE}/${voeu}/QR.WISHLINK.png" "$GW/ipns/$VOEUXNS"
convert $HOME/.zen/game/world/${TITLE}/${voeu}/QR.WISHLINK.png -resize 600 ~/.zen/tmp/${MOATS}/START.png
echo " QR code ${TITLE} : $GW/ipns/$VOEUXNS"
qrencode -s 12 -o "$HOME/.zen/game/world/${VoeuName}/${voeu}/QR.WISHLINK.png" "$GW/ipns/$VOEUXNS"
convert $HOME/.zen/game/world/${VoeuName}/${voeu}/QR.WISHLINK.png -resize 600 ~/.zen/tmp/${MOATS}/START.png
echo " QR code ${VoeuName} : $GW/ipns/$VOEUXNS"
break
;;
"Ğ1")
qrencode -s 12 -o "$HOME/.zen/game/world/${TITLE}/${voeu}/G1PUB.png" "${voeu}"
convert $HOME/.zen/game/world/${TITLE}/${voeu}/G1PUB.png -resize 600 ~/.zen/tmp/${MOATS}/START.png
qrencode -s 12 -o "$HOME/.zen/game/world/${VoeuName}/${voeu}/G1PUB.png" "${voeu}"
convert $HOME/.zen/game/world/${VoeuName}/${voeu}/G1PUB.png -resize 600 ~/.zen/tmp/${MOATS}/START.png
break
;;
"Ğ1Milgram")
GW="https://qo-op.com"
GW="(•‿‿•) SCAN https://astroport.com/scan"
# CREATE G1Milgram
IMAGIC=$(${MY_PATH}/VOEUX.print.sh "${PLAYER}" "${TITLE}" "${MOATS}" | tail -n 1)
IMAGIC=$(${MY_PATH}/VOEUX.print.sh "${PLAYER}" "${VoeuName}" "${MOATS}" | tail -n 1)
## EXTRACT TEXT FROM TIDDLER
tiddlywiki --load ~/.zen/game/players/${PLAYER}/ipfs/moa/index.html --output ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu \
--render '.' "${PLAYER}.${TITLE}.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' "${TITLE}"
--render '.' "${PLAYER}.${VoeuName}.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' "${VoeuName}"
cat ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.${TITLE}.json | jq -r '.[].text' > ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/index.html
MILGRAM=$(ipfs add -q ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/index.html)
# cat ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/${PLAYER}.${VoeuName}.json | jq -r '.[].text' | html2text > ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/index.txt
## COULD USE TEXT FROM TIDDLER (TODO)
echo "POUVEZ-VOUS REALISER CE SOUHAIT? Sinon relayez cette missive. SVP." > ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/index.txt
MILGRAM=$(ipfs add -q ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/g1voeu/index.txt)
xdg-open http://ipfs.localhost:8080/ipfs/${IMAGIC}
# ${TITLE} key
IK=$(ipfs key list -l | grep -w "${PLAYER}_${TITLE}" | cut -d ' ' -f 1 )
[[ $IK ]] && ipfs key rm ${PLAYER}_${TITLE}
ipfs key import ${PLAYER}_${TITLE} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/${TITLE}.ipfskey
IK=$(ipfs key list -l | grep -w "${PLAYER}_${TITLE}" | cut -d ' ' -f 1 )
# ${VoeuName} key
IK=$(ipfs key list -l | grep -w "${PLAYER}_${VoeuName}" | cut -d ' ' -f 1 )
[[ $IK ]] && ipfs key rm ${PLAYER}_${VoeuName}
ipfs key import ${PLAYER}_${VoeuName} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/${VoeuName}.ipfskey
IK=$(ipfs key list -l | grep -w "${PLAYER}_${VoeuName}" | cut -d ' ' -f 1 )
xdg-open http://ipfs.localhost:8080/ipfs/${MILGRAM}
echo "$GW" > ~/.zen/tmp/${MOATS}/intro.txt
## SEND BY EMAIL #############
mpack -a -s "♥Box : ${UPASS} Missive ... (•‿‿•)" -d ~/.zen/tmp/${MOATS}/intro.txt ~/.zen/tmp/${MOATS}/START.png ${PLAYER} &
(
ipfs name publish -k ${PLAYER}_${TITLE} /ipfs/${MILGRAM}
echo "${TITLE} ${UPASS} G1Milgram emitted ${PLAYER}"
ipfs name publish -k ${PLAYER}_${VoeuName} /ipfs/${MILGRAM}
echo "${VoeuName} ${UPASS} G1Milgram emitted ${PLAYER}"
xdg-open http://ipfs.localhost:8080/ipns/${IK}
) &
break
@ -155,7 +165,7 @@ select zwish in "${vlist[@]}"; do
esac
done
convert -gravity northwest -pointsize 40 -fill black -draw "text 50,2 \"${TITLE} ($typ)\"" ~/.zen/tmp/${MOATS}/START.png ~/.zen/tmp/${MOATS}/g1voeu1.png
convert -gravity northeast -pointsize 30 -fill black -draw "text 50,2 \"${VoeuName} ($typ)\"" ~/.zen/tmp/${MOATS}/START.png ~/.zen/tmp/${MOATS}/g1voeu1.png
convert -gravity southeast -pointsize 30 -fill black -draw "text 100,2 \"${GW}\"" ~/.zen/tmp/${MOATS}/g1voeu1.png ~/.zen/tmp/${MOATS}/g1voeu.png
#~ echo "~/.zen/tmp/${MOATS}/g1voeu.png READY ?"

View File

@ -2,8 +2,8 @@
<head>
<meta charset="utf-8">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="icon" type="image/x-icon" href="http://127.0.0.1:8080/ipfs/QmQLQ5WdCEc7mpKw5rhUujUU1URKweei4Bb4esyVNd9Atx/favicon.ico">
<title>♥Box - G1Missive - </title>
<link rel="icon" type="image/x-icon" href="http://127.0.0.1:8080/ipfs/QmeDx4rAhXaMfmFNzi12iCinG7vpvMnMf9GvB4iigbPjJ9">
<title>- G1Missive - </title>
<link rel="stylesheet" href="http://127.0.0.1:8080/ipfs/QmQLQ5WdCEc7mpKw5rhUujUU1URKweei4Bb4esyVNd9Atx/G1PalPay_fichiers/demo.css">
<script src="http://127.0.0.1:8080/ipfs/QmYD4y1pXHVnGxxFcn2LWo84ytwmWdNbkyUeFnPCbrpUQy/openpgp.min.js"></script>
@ -17,7 +17,7 @@
<style>
body {
background-image:url("http://127.0.0.1:8080/ipfs/QmPjA3g1ZK45VGGLSudZJ5VVtsGpbmyaokuj17HuPffVHY");
background-image:url("http://127.0.0.1:8080/ipfs/QmWm9b7obNEqiomDNLBkMbxTJ5AvgWhiv63tTzRMAZPbGi");
background-repeat: no-repeat;
background-size: 100% 100%;
padding: 0;
@ -49,7 +49,7 @@ header {
position: absolute;
bottom: 2%;
left: 2%;
width: 800px;
width: 70%;
visibility: hidden;
}
h1 {
@ -80,7 +80,11 @@ a {
padding-top: 15px;
padding-left: 20px;
}
#ainfo {
position: absolute;
top: 2%;
left: 50%;
}
#showoff {
float: right;
width: 30%;
@ -94,7 +98,7 @@ a {
}
#container {
top: 120px;
top: 10px;
right: 0px;
position: absolute;
display: inline-block;
@ -110,7 +114,8 @@ a {
<div id="demo">
<div id="description">
<header>
<h1><a href="http://astroport.localhost:1234"><span>♥Box</span> Ğ1Missive !</a></h1><br>
<h1><a href="http://astroport.localhost:1234"><span>♥Box</span> petit Monde </a></h1><br>
<p>Résolvez cette énigme où envoyez ce message à un de vos amis qui saurait (ou non) y répondre...</p>
</header>
</div>
</div>
@ -122,11 +127,12 @@ a {
<strong><div id="countdown">____</div></strong>
<p><input type="hidden" id="g1pub" value="DsEx1pS33vzYZg4MroyBV9hCw98j1gtHEhwiZ5tK7ech"/></p>
<p><input type="text" id="newline" value=""/></p>
<p>Email : <input type="text" id="email" value=""/></p>
<p>NewLine : <input type="text" id="newline" value=""/></p>
<div id="appname">
<input type="radio" id="r0" name="appname" value="milgram" checked="checked"><p><b>G1PASS</b></p>
<input type="radio" id="r0" name="appname" value="milgram" checked="checked"><p><b>G1Missive</b></p>
</div>
@ -138,35 +144,37 @@ a {
<script type="text/javascript">
var currentDate = new Date();
var year = currentDate.getFullYear();
var month = (currentDate.getMonth() + 1).toString().padStart(2, 0);
var dateInYYYYMM = year + month;
alert(dateInYYYYMM);
var currentDate = new Date();
var year = currentDate.getFullYear();
var month = (currentDate.getMonth() + 1).toString().padStart(2, 0);
var dateInYYYYMM = year + month;
let scanner = new Instascan.Scanner({ video: document.getElementById('preview') });
scanner.addListener('scan', function (content) {
alert(content);
if (content.startsWith('%40%40')) {
// GET APPNAME (milgram)
var appname = document.querySelector('input[name="appname"]:checked').value;
// GET PASS THAT DECODE PGP
var pass = prompt("Saisir PASS:");
// SET PASS OF THE MONTH
var pass = dateInYYYYMM ;
// GET DESTINATION
// FROM PREVIOUS G1PUB SCAN
var g1pub = document.getElementById("g1pub").value;
// GET NEWLINE & EMAIL TO SEND NEXT
var newline = document.getElementById("newline").value;
var email = document.getElementById("email").value;
alert('PAY TO ' + g1pub + ' = ' + _PRICE_);
var myU = 'http://astroport.localhost:1234/?qrcode=' + content +'&pass=' + pass + '&' + appname + '=' + newline + '&email=' + email;
var myU = 'http://astroport.localhost:1234/?qrcode=' + content +'&pass=' + pass + '&palpay=_PRICE_&g1pub=' + g1pub + '&who=' + document.getElementById("who").value ;
// alert(myU);
console.log(myU);
homeAstroportStation(myU, 'aframe', 10000)
} else {
// COPY QRCODE IN g1pub input
document.getElementById("who").value = content;
// COPY QRCODE IN newline input
document.getElementById("newline").value = content;
}
});
@ -192,10 +200,12 @@ alert(dateInYYYYMM);
</script>
<h1><button id="ainfo" onclick="javascript:var x = document.getElementById('yellow'); if (x.style.visibility === 'hidden') {x.style.visibility = 'visible';} else {x.style.visibility = 'hidden';}">0/1</button></h1>
<div id="yellow" >
<!--
<textarea id="myTextArea" name="myTextArea" rows="10" cols="50">
Markdown content goes here
</textarea>
<iframe name="aframe" id="aframe" src="_STATION_" width="100%" height="320px"></iframe>
-->
<iframe name="aframe" id="aframe" src="http://127.0.0.1:8080/ipfs/QmNq8WAsEkJhfJz6cdcasRrP2G6qDEatFVP5pAzh5FCAP1" width="100%" height="320px"></iframe>
</div>
<script>