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
|
||||
|
|
138
API/QRCODE.sh
138
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}"
|
||||
# Create Next G1 & IPNS KEY
|
||||
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,42 +24,62 @@ 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
|
||||
|
||||
#################################################################
|
||||
## 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}"
|
||||
mkdir -p ~/.zen/tmp/${MOATS}
|
||||
#################################################################
|
||||
## MAKING SPECIAL amrzqr => G1Milgram TICKET = G1Missive
|
||||
## 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}"
|
||||
|
||||
${MY_PATH}/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/${VoeuName}.ipfskey "${SECRET1}" "${SECRET2}"
|
||||
# PLAYER G1Voeu G1BILLET+ (derivated key)
|
||||
SECRET1="${PLAYER}"
|
||||
SECRET2="G1${VoeuName} ${G1PUB}"
|
||||
|
||||
USALT=$(echo "${SECRET1}" | jq -Rr @uri)
|
||||
UPEPPER=$(echo "${SECRET2}" | jq -Rr @uri)
|
||||
DISCO="/?salt=${USALT}&pepper=${UPEPPER}"
|
||||
echo "${DISCO}" > ~/.zen/tmp/${MOATS}/topgp
|
||||
rm -f ~/.zen/tmp/${MOATS}/gpg.asc
|
||||
cat ~/.zen/tmp/${MOATS}/topgp | gpg --symmetric --armor --batch --passphrase "$UPASS" -o ~/.zen/tmp/${MOATS}/gpg.asc
|
||||
## 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}"
|
||||
|
||||
cp ${MY_PATH}/../images/g1magicien.png ~/.zen/tmp/${MOATS}/result.png
|
||||
## @PASS PLAYER IPFS KEY
|
||||
echo "@PASS - G1Voeu"
|
||||
${MY_PATH}/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/${VoeuName}.ipfskey "${SECRET1}" "${SECRET2}"
|
||||
|
||||
## MAKE amzqr WITH @@@@@ PGP G1PASS FORMAT (%40)
|
||||
amzqr "$(cat ~/.zen/tmp/${MOATS}/gpg.asc | tr '-' '@' | tr '\n' '-' | tr '+' '_' | jq -Rr @uri )" \
|
||||
-d "$HOME/.zen/tmp/${MOATS}" \
|
||||
-l H \
|
||||
-p ~/.zen/tmp/${MOATS}/result.png -c
|
||||
## EXTRA @PASS G1BILLET IPFS KEY
|
||||
[[ ${extra1} != "" && ${extra2} != "" ]] \
|
||||
&& echo "G1BILLET+ EXTRA" \
|
||||
&& ${MY_PATH}/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/${VoeuName}.BILL.ipfskey "${extra1}" "${extra2}"
|
||||
|
||||
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
|
||||
USALT=$(echo "${PLAYER_}" | jq -Rr @uri)
|
||||
UPEPPER=$(echo "${SECRET2}" | jq -Rr @uri)
|
||||
DISCO="/?salt=${USALT}&pepper=${UPEPPER}"
|
||||
echo "${DISCO}" > ~/.zen/tmp/${MOATS}/topgp
|
||||
rm -f ~/.zen/tmp/${MOATS}/gpg.asc
|
||||
cat ~/.zen/tmp/${MOATS}/topgp | gpg --symmetric --armor --batch --passphrase "$UPASS" -o ~/.zen/tmp/${MOATS}/gpg.asc
|
||||
|
||||
IMAGIC=$(ipfs add -Hq ~/.zen/tmp/${MOATS}/START.png | tail -n 1)
|
||||
echo ${IMAGIC}
|
||||
cp ${MY_PATH}/../images/g1magicien.png ~/.zen/tmp/${MOATS}/result.png
|
||||
|
||||
## 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} &
|
||||
## MAKE amzqr WITH @@@@@ PGP G1PASS FORMAT (%40)
|
||||
amzqr "$(cat ~/.zen/tmp/${MOATS}/gpg.asc | tr '-' '@' | tr '\n' '-' | tr '+' '_' | jq -Rr @uri )" \
|
||||
-d "$HOME/.zen/tmp/${MOATS}" \
|
||||
-l H \
|
||||
-p ~/.zen/tmp/${MOATS}/result.png -c
|
||||
|
||||
exit 0
|
||||
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)
|
||||
echo ${IMAGIC}
|
||||
|
||||
## 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
|
||||
|
||||
fi
|
||||
############################################################
|
||||
|
|
|
@ -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,85 +14,86 @@ 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
|
||||
[[ ! $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
|
||||
echo "ASTROPORT STATION CAROUSEL MODE"
|
||||
rm -Rf ~/.zen/tmp/carousel 2>/dev/null
|
||||
mkdir -p ~/.zen/tmp/carousel
|
||||
|
||||
pub=$(cat ~/.zen/game/players/$PLAYER/.g1pub)
|
||||
## RUNING FOR ALL LOCAL PLAYERS
|
||||
for PLAYER in ${PLAYERONE[@]}; do
|
||||
|
||||
# Get PLAYER wallet amount :: ~/.zen/game/players/${PLAYER}/ipfs/G1SSB/COINS
|
||||
echo "$MY_PATH/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey balance"
|
||||
COINS=$($MY_PATH/COINScheck.sh ${pub} | tail -n 1)
|
||||
echo "+++ ${PLAYER} have $COINS Ğ1 Coins +++"
|
||||
pub=$(cat ~/.zen/game/players/$PLAYER/.g1pub)
|
||||
|
||||
## USE G1BARRE OR G1WorldMap.png AS 1ST IMAGE
|
||||
#~ curl -m 3 -so ~/.zen/tmp/carousel/${pub}.one.png \
|
||||
#~ "https://g1sms.fr/g1barre/image.php?pubkey=${pub}&target=20000&title=${PLAYER}&node=g1.asycn.io&start_date=2020-01-01&display_pubkey=true&display_qrcode=true"
|
||||
#~ [[ $(file -b ~/.zen/tmp/carousel/${pub}.one.png | cut -d ' ' -f 1) == "PNG" ]] \
|
||||
#~ && echo "GOT ~/.zen/tmp/carousel/${pub}.one.png" \
|
||||
#~ || cp $MY_PATH/../images/G1WorldMap.png ~/.zen/tmp/carousel/${pub}.one.png
|
||||
# Get PLAYER wallet amount :: ~/.zen/game/players/${PLAYER}/ipfs/G1SSB/COINS
|
||||
echo "$MY_PATH/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey balance"
|
||||
COINS=$($MY_PATH/COINScheck.sh ${pub} | tail -n 1)
|
||||
echo "+++ ${PLAYER} have $COINS Ğ1 Coins +++"
|
||||
|
||||
cp $MY_PATH/../images/G1WorldMap.png ~/.zen/tmp/carousel/${pub}.one.png
|
||||
## USE G1BARRE OR G1WorldMap.png AS 1ST IMAGE
|
||||
#~ curl -m 3 -so ~/.zen/tmp/carousel/${pub}.one.png \
|
||||
#~ "https://g1sms.fr/g1barre/image.php?pubkey=${pub}&target=20000&title=${PLAYER}&node=g1.asycn.io&start_date=2020-01-01&display_pubkey=true&display_qrcode=true"
|
||||
#~ [[ $(file -b ~/.zen/tmp/carousel/${pub}.one.png | cut -d ' ' -f 1) == "PNG" ]] \
|
||||
#~ && echo "GOT ~/.zen/tmp/carousel/${pub}.one.png" \
|
||||
#~ || cp $MY_PATH/../images/G1WorldMap.png ~/.zen/tmp/carousel/${pub}.one.png
|
||||
|
||||
##################
|
||||
## PREPARE LOOP LINK LINE
|
||||
ASTRONAUTENS=$(cat ~/.zen/game/players/${PLAYER}/.playerns)
|
||||
[[ $COINS -gt 0 ]] \
|
||||
&& echo "<a href=\"javascript:homeAstroportStation('"$myASTROPORT"/?qrcode="$ASTRONAUTENS"', 'page', '3000')\" title=\"$PLAYER ($COINS G1) CHARGEUR DE G1BILLET \">_REPLACE_</a>" > ~/.zen/tmp/carousel/${pub}.insert \
|
||||
|| echo "_REPLACE_" > ~/.zen/tmp/carousel/${pub}.insert
|
||||
cp $MY_PATH/../images/G1WorldMap.png ~/.zen/tmp/carousel/${pub}.one.png
|
||||
|
||||
## EXTRACT G1Voeu FROM PLAYER TW
|
||||
echo "Ŋ1Flux ____ " > ~/.zen/tmp/carousel/${pub}.button
|
||||
INDEX=~/.zen/game/players/${PLAYER}/ipfs/moa/index.html
|
||||
##################
|
||||
## PREPARE LOOP LINK LINE
|
||||
ASTRONAUTENS=$(cat ~/.zen/game/players/${PLAYER}/.playerns)
|
||||
[[ $COINS -gt 0 ]] \
|
||||
&& echo "<a href=\"javascript:homeAstroportStation('"$myASTROPORT"/?qrcode="$ASTRONAUTENS"', 'page', '3000')\" title=\"$PLAYER ($COINS G1) CHARGEUR DE G1BILLET \">_REPLACE_</a>" > ~/.zen/tmp/carousel/${pub}.insert \
|
||||
|| echo "_REPLACE_" > ~/.zen/tmp/carousel/${pub}.insert
|
||||
|
||||
if [[ -s ${INDEX} ]]; then
|
||||
# EXTRACT [tag[moa]] : ~/.zen/game/players/${PLAYER}/moa.jpg
|
||||
tiddlywiki --load ${INDEX} --output ~/.zen/tmp --render '.' "${PLAYER}.moa.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[moa]]'
|
||||
cat ~/.zen/tmp/${PLAYER}.moa.json | jq -r '.[].text' | base64 -d > ~/.zen/game/players/${PLAYER}/moa.jpg
|
||||
echo "DESSIN DE MOA : ~/.zen/game/players/${PLAYER}/moa.jpg"
|
||||
[[ $(file -b ~/.zen/game/players/${PLAYER}/moa.jpg | cut -d ' ' -f 1) == "JPEG" ]] \
|
||||
&& convert ~/.zen/game/players/${PLAYER}/moa.jpg -resize 200 ~/.zen/tmp/moa.jpg \
|
||||
&& composite -compose Over -gravity Center -geometry +0+0 ~/.zen/tmp/moa.jpg ~/.zen/tmp/carousel/${pub}.one.png ~/.zen/tmp/carousel/${pub}.one.png
|
||||
## EXTRACT G1Voeu FROM PLAYER TW
|
||||
echo "Ŋ1Flux ____ " > ~/.zen/tmp/carousel/${pub}.button
|
||||
INDEX=~/.zen/game/players/${PLAYER}/ipfs/moa/index.html
|
||||
|
||||
## EXTRACT [tag[G1Voeu]] : ~/.zen/tmp/${PLAYER}.g1wishes.txt
|
||||
tiddlywiki --load ${INDEX} --output ~/.zen/tmp --render '.' "${PLAYER}.g1voeu.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[G1Voeu]]'
|
||||
cat ~/.zen/tmp/${PLAYER}.g1voeu.json | jq -r '.[].wish' > ~/.zen/tmp/${PLAYER}.g1wishes.txt
|
||||
while read WISH
|
||||
do
|
||||
[[ ${WISH} == "" || ${WISH} == "null" ]] && echo "BLURP. EMPTY WISH" && continue
|
||||
WISHNAME=$(cat ~/.zen/tmp/${PLAYER}.g1voeu.json | jq .[] | jq -r 'select(.wish=="'${WISH}'") | .title')
|
||||
[[ ! ${WISHNAME} ]] && echo "WISH sans NOM - CONTINUE -" && continue
|
||||
echo "<button onclick=\"homeAstroportStation('$myASTROPORT/?qrcode=G1G1$WISHNAME&tw=$ASTRONAUTENS', 'tab', 9000)\">G1$WISHNAME</button>" >> ~/.zen/tmp/carousel/${pub}.button
|
||||
done < ~/.zen/tmp/${PLAYER}.g1wishes.txt
|
||||
fi
|
||||
echo "<button onclick=\"window.open('"$myIPFS"/ipns/"$ASTRONAUTENS"');\">TW</button>" >> ~/.zen/tmp/carousel/${pub}.button
|
||||
if [[ -s ${INDEX} ]]; then
|
||||
# EXTRACT [tag[moa]] : ~/.zen/game/players/${PLAYER}/moa.jpg
|
||||
tiddlywiki --load ${INDEX} --output ~/.zen/tmp --render '.' "${PLAYER}.moa.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[moa]]'
|
||||
cat ~/.zen/tmp/${PLAYER}.moa.json | jq -r '.[].text' | base64 -d > ~/.zen/game/players/${PLAYER}/moa.jpg
|
||||
echo "DESSIN DE MOA : ~/.zen/game/players/${PLAYER}/moa.jpg"
|
||||
[[ $(file -b ~/.zen/game/players/${PLAYER}/moa.jpg | cut -d ' ' -f 1) == "JPEG" ]] \
|
||||
&& convert ~/.zen/game/players/${PLAYER}/moa.jpg -resize 200 ~/.zen/tmp/moa.jpg \
|
||||
&& composite -compose Over -gravity Center -geometry +0+0 ~/.zen/tmp/moa.jpg ~/.zen/tmp/carousel/${pub}.one.png ~/.zen/tmp/carousel/${pub}.one.png
|
||||
|
||||
## EXTRACT [tag[G1Voeu]] : ~/.zen/tmp/${PLAYER}.g1wishes.txt
|
||||
tiddlywiki --load ${INDEX} --output ~/.zen/tmp --render '.' "${PLAYER}.g1voeu.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[G1Voeu]]'
|
||||
cat ~/.zen/tmp/${PLAYER}.g1voeu.json | jq -r '.[].wish' > ~/.zen/tmp/${PLAYER}.g1wishes.txt
|
||||
while read WISH
|
||||
do
|
||||
[[ ${WISH} == "" || ${WISH} == "null" ]] && echo "BLURP. EMPTY WISH" && continue
|
||||
WISHNAME=$(cat ~/.zen/tmp/${PLAYER}.g1voeu.json | jq .[] | jq -r 'select(.wish=="'${WISH}'") | .title')
|
||||
[[ ! ${WISHNAME} ]] && echo "WISH sans NOM - CONTINUE -" && continue
|
||||
echo "<button onclick=\"homeAstroportStation('$myASTROPORT/?qrcode=G1G1$WISHNAME&tw=$ASTRONAUTENS', 'tab', 9000)\">G1$WISHNAME</button>" >> ~/.zen/tmp/carousel/${pub}.button
|
||||
done < ~/.zen/tmp/${PLAYER}.g1wishes.txt
|
||||
fi
|
||||
echo "<button onclick=\"window.open('"$myIPFS"/ipns/"$ASTRONAUTENS"');\">TW</button>" >> ~/.zen/tmp/carousel/${pub}.button
|
||||
##################
|
||||
|
||||
|
||||
# CREATE G1 AMZQR
|
||||
CIMG="$MY_PATH/../images/g1ticket.png"
|
||||
amzqr ${pub} -l H -p "$CIMG" -c -n QRG1avatar.png -d ~/.zen/game/players/${PLAYER}/
|
||||
convert ~/.zen/game/players/${PLAYER}/QRG1avatar.png -resize 250 ~/.zen/tmp/QR.png
|
||||
# ADD IT
|
||||
composite -compose Over -gravity NorthEast -geometry +0+0 ~/.zen/tmp/QR.png ~/.zen/tmp/carousel/${pub}.one.png ~/.zen/tmp/one.png
|
||||
# CREATE G1 AMZQR
|
||||
CIMG="$MY_PATH/../images/g1ticket.png"
|
||||
amzqr ${pub} -l H -p "$CIMG" -c -n QRG1avatar.png -d ~/.zen/game/players/${PLAYER}/
|
||||
convert ~/.zen/game/players/${PLAYER}/QRG1avatar.png -resize 250 ~/.zen/tmp/QR.png
|
||||
# ADD IT
|
||||
composite -compose Over -gravity NorthEast -geometry +0+0 ~/.zen/tmp/QR.png ~/.zen/tmp/carousel/${pub}.one.png ~/.zen/tmp/one.png
|
||||
|
||||
## WRITE ON IT : ASK FOR REFILL
|
||||
convert -font 'Liberation-Sans' \
|
||||
-pointsize 80 -fill purple -draw 'text 50,120 "'"$COINS Ğ1"'"' \
|
||||
-pointsize 30 -fill purple -draw 'text 40, 180 "'"$PLAYER"'"' \
|
||||
-pointsize 14 -fill white -draw 'text 40, 200 "'"$(date)"'"' \
|
||||
"${HOME}/.zen/tmp/one.png" "${HOME}/.zen/tmp/carousel/${pub}.png" \
|
||||
&& rm ${HOME}/.zen/tmp/carousel/${pub}.one.png
|
||||
## WRITE ON IT : ASK FOR REFILL
|
||||
convert -font 'Liberation-Sans' \
|
||||
-pointsize 80 -fill purple -draw 'text 50,120 "'"$COINS Ğ1"'"' \
|
||||
-pointsize 30 -fill purple -draw 'text 40, 180 "'"$PLAYER"'"' \
|
||||
-pointsize 14 -fill white -draw 'text 40, 200 "'"$(date)"'"' \
|
||||
"${HOME}/.zen/tmp/one.png" "${HOME}/.zen/tmp/carousel/${pub}.png" \
|
||||
&& rm ${HOME}/.zen/tmp/carousel/${pub}.one.png
|
||||
|
||||
|
||||
done
|
||||
img_dir="$HOME/.zen/tmp/carousel"
|
||||
done
|
||||
img_dir="$HOME/.zen/tmp/carousel"
|
||||
fi
|
||||
|
||||
#Set Path to HTML page
|
||||
|
@ -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\">"
|
||||
|
|
12
tools/my.sh
12
tools/my.sh
|
@ -13,7 +13,7 @@ Revert() {
|
|||
}
|
||||
|
||||
isLan() {
|
||||
local isLan=$(ip route |awk '$1 == "default" {print $3}' | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/" \
|
||||
local isLan=$(ip route | awk '$1 == "default" {print $3}' | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/" \
|
||||
|| route -n |awk '$1 == "0.0.0.0" {print $2}' | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/" \
|
||||
|| true)
|
||||
[ -n "$isLan" ] && echo "$isLan" || true
|
||||
|
@ -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