Add "login" feature using G1PASS QRCODE

This commit is contained in:
fred 2023-04-19 22:57:23 +02:00
parent 7b280f585f
commit edaac3df42
5 changed files with 38 additions and 7 deletions

View File

@ -84,7 +84,7 @@ fi
################################################################################
## MODE PGP ENCRYPTED QRCODE
# /?qrcode=-----BEGIN%20PGP%20MESSAGE-----~~jA0ECQMC5iqIY7XLnGn_0koBJB5S2Sy1p%2FHr8CKFgWdZ9_j%2Fb2qdOznICGvqGCXY~7Flw6YtiabngvY6biq%2F0vpiFL8t8BSbMZe0GLBU90EMBrhzEiyPnh__bzQ%3D%3D~%3D9UIj~-----END%20PGP%20MESSAGE-----~
# &pass=coucou&history/read/pay=1&g1pub=_DESTINATAIRE_
# &pass=coucou&history/read/pay/login=(1|email)&g1pub=_DESTINATAIRE_
################################################################################
if [[ ${QRCODE:0:5} == "~~~~~" ]]; then
echo ${QRCODE}
@ -122,7 +122,7 @@ if [[ ${QRCODE:0:5} == "~~~~~" ]]; then
echo "CURRENT KEY : $CURCOINS G1"
[[ ${WHAT} == "" ]] && echo "<br> Missing amount <br>" >> ~/.zen/tmp/${MOATS}/disco
[[ ${VAL} == "" ]] && echo "<br> Missing Destination PublicKey <br>" >> ~/.zen/tmp/${MOATS}/disco
[[ ${VAL} == "" || ${VAL} == "undefined" ]] && echo "<br> Missing Destination PublicKey <br>" >> ~/.zen/tmp/${MOATS}/disco
if [[ $APPNAME == "pay" ]]; then
@ -150,14 +150,41 @@ if [[ ${QRCODE:0:5} == "~~~~~" ]]; then
echo "<h2>${WHAT} ${VAL} ${CURCOINS} PROBLEM</h2>" >> ~/.zen/tmp/${MOATS}/disco
fi
else
fi
if [[ $APPNAME == "pay" || $APPNAME == "history" ]]; then
## history & read
cp ~/.zen/tmp/${MOATS}/secret.key ~/.zen/tmp/
# cp ~/.zen/tmp/${MOATS}/secret.key ~/.zen/tmp/
echo "${MY_PATH}/../tools/jaklis/jaklis.py -k ~/.zen/tmp/secret.key $APPNAME -j"
${MY_PATH}/../tools/jaklis/jaklis.py -k ~/.zen/tmp/${MOATS}/secret.key $APPNAME -j >> ~/.zen/tmp/${MOATS}/disco
fi
if [[ $APPNAME == "login" ]]; then
PLAYER=${WHAT}
ISTHERE=$(ipfs key list -l | grep -w $PLAYER | cut -d ' ' -f1)
echo "IS THERE ? $ISTHERE"
[[ ${ISTHERE} == "" ]] \
&& ipfs key import ${PLAYER} -f pem-pkcs8-cleartext ~/.zen/tmp/coucou/${MOATS}.${G1PUB}.ipns.key \
&& ASTRONAUTENS=$(ipfs key list -l | grep -w $PLAYER | cut -d ' ' -f1) \
|| ASTRONAUTENS=${ISTHERE}
REPLACE=${myIPFS}/ipns/${ASTRONAUTENS}
echo "${PLAYER} LOGIN - TW : ${REPLACE}"
sed "s~_TWLINK_~${REPLACE}~g" ~/.zen/Astroport.ONE/templates/index.302 > ~/.zen/tmp/coucou/${MOATS}.index.redirect
echo "url='"${REPLACE}"'" >> ~/.zen/tmp/coucou/${MOATS}.index.redirect
(
cat ~/.zen/tmp/coucou/${MOATS}.index.redirect | nc -l -p ${PORT} -q 1 > /dev/null 2>&1
echo "BLURP " && rm ~/.zen/tmp/coucou/${MOATS}*
[[ ${ISTHERE} == "" ]] && sleep 3600 && echo "${PLAYER} SESSION OVER" && ipfs key rm ${PLAYER} ## 1 HOUR SESSION
) &
exit 0
fi
else
echo "<br><h1>$PASS : MAUVAIS PASS</h1>" >> ~/.zen/tmp/${MOATS}/disco

View File

@ -446,7 +446,7 @@ echo "" > ~/.zen/tmp/.ipfsgw.bad.twt # TODO move in 20h12.sh
## INSTALL PLAYER IPNS KEY ON STATION
PLAYER=${WHAT}
ipfs key import ${PLAYER} -f pem-pkcs8-cleartext ~/.zen/tmp/coucou/${MOATS}.${G1PUB}.ipns.key
ASTRONAUTENS=$(ipfs key list -l | grep $PLAYER | cut -d ' ' -f1)
ASTRONAUTENS=$(ipfs key list -l | grep -w $PLAYER | cut -d ' ' -f1)
#~ WSTATION=$(cat ~/.zen/tmp/WSTATION 2>/dev/null)
#~ [[ $WSTATION != "" ]] \

View File

@ -58,7 +58,7 @@ for PLAYER in ${PLAYERONE[@]}; do
## MY PLAYER : RESTORE PLAYER KEY FROM G1PUB
ipfs key export $G1PUB -o ~/.zen/tmp/${MOATS}/$PLAYER.key
[[ ! $(ipfs key list -l | grep $PLAYER | cut -d ' ' -f1) ]] && ipfs key import $PLAYER ~/.zen/tmp/${MOATS}/$PLAYER.key
[[ ! $(ipfs key list -l | grep -w $PLAYER | cut -d ' ' -f1) ]] && ipfs key import $PLAYER ~/.zen/tmp/${MOATS}/$PLAYER.key
rm -f ~/.zen/tmp/${MOATS}/$PLAYER.key
## REFRESH CACHE

View File

@ -53,7 +53,7 @@ select voeu in "${vlist[@]}"; do
voeu=$(echo $voeu | cut -d ':' -f2) ## Get G1PUB part
TITLE=$(echo $voeu | cut -d ':' -f1) ## Get Voeu title
VOEUXNS=$(ipfs key list -l | grep $voeu | cut -d ' ' -f1)
VOEUXNS=$(ipfs key list -l | grep -w $voeu | cut -d ' ' -f1)
choices=("TW" "G1")
PS3='Imprimer le QR du TiddlyWiki TW ou celui de son G1 portefeuille ?'

View File

@ -123,6 +123,7 @@ a {
<video id="preview" style="transform: scaleX(-1);width: 240px;height: 240px;" autoplay="autoplay" class="active"></video>
<strong><div id="countdown"></div></strong>
<div id="appname">
<input type="radio" id="r0" name="appname" value="login"> Login
<input type="radio" id="r1" name="appname" value="read"> Messagerie
<input type="radio" id="r2" name="appname" value="history"> Historique
<input type="radio" id="r3" name="appname" value="pay" checked="checked"> Payer
@ -184,6 +185,9 @@ a {
if ( appname == 'pay') {
var amount = prompt("Saisir MONTANT Ğ1:");
}
if ( appname == 'login') {
var amount = prompt("Saisir EMAIL:");
}
// DESTINATION WAS PREVIOUS SCAN
if (document.getElementById("resu").innerHTML !== '') {
var mypub = document.getElementById("resu").innerHTML.value;