forked from STI/Astroport.ONE
Compare commits
25 Commits
2d1301d2e7
...
5352e972b9
Author | SHA1 | Date |
---|---|---|
Yann Autissier | 5352e972b9 | |
fred | 96cb14ec20 | |
fred | 6660781a67 | |
fred | a435dfedd2 | |
fred | 9c98f73ad4 | |
fred | 0db95ea686 | |
fred | 7718f6ad7f | |
fred | e8bd784bf3 | |
fred | 3bfc1ad67a | |
fred | 8e7fbfc9c2 | |
fred | 514cdeed2b | |
fred | d1e590b787 | |
fred | 1d6849058b | |
fred | a4f0f0b69c | |
fred | 031fa04248 | |
fred | 1ebc8de0a9 | |
fred | e480a1b9b8 | |
fred | 47c69bdd84 | |
fred | a831e557b7 | |
fred | 5805aaf5dc | |
fred | c57005f076 | |
fred | 57623e9fbd | |
fred | 7fc9b6bef7 | |
fred | ede575d094 | |
fred | b199c6f1ad |
82
12345.sh
82
12345.sh
|
@ -13,20 +13,9 @@ MY_PATH="`dirname \"$0\"`" # relative
|
||||||
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||||
ME="${0##*/}"
|
ME="${0##*/}"
|
||||||
|
|
||||||
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
. "${MY_PATH}/tools/myhash.sh"
|
||||||
IPFSNODEID=$(cat ~/.ipfs/config | jq -r .Identity.PeerID)
|
. "${MY_PATH}/tools/myhost.sh"
|
||||||
myIP=$(hostname -I | awk '{print $1}' | head -n 1)
|
. "${MY_PATH}/tools/template.sh"
|
||||||
isLAN=$(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])/")
|
|
||||||
|
|
||||||
myDOMAINName=$(hostname -d 2>/dev/null) && [ -z "$myDOMAINName" ] && myDOMAINName=$(domainname 2>/dev/null) && [[ "$myDOMAINName" == "(none)" ]] && myDOMAINName="localhost"
|
|
||||||
myHOSTName=$(hostname |sed 's/\.'${myDOMAINName}'$//')
|
|
||||||
[ -n "$myDOMAINName" ] && myHOSTName="${myHOSTName}.${myDOMAINName}" || myDOMAINName=${myHOSTName#*.}
|
|
||||||
[ -z "$myDOMAINName" ] && myDOMAINName=localhost
|
|
||||||
myHOST="astroport.${myDOMAINName}"
|
|
||||||
myIPFS="http://ipfs.${myDOMAINName}:8080"
|
|
||||||
myASTROPORT="http://astroport.${myDOMAINName}:1234"
|
|
||||||
|
|
||||||
[[ ! $isLAN || $USER == "zen" ]] && myIPFS="https://ipfs.${myDOMAINName}" && myASTROPORT="https://astroport.${myDOMAINName}" ## WAN STATION
|
|
||||||
|
|
||||||
PORT=12345
|
PORT=12345
|
||||||
|
|
||||||
|
@ -34,7 +23,7 @@ PORT=12345
|
||||||
LIBRA=$(head -n 2 ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | tail -n 1 | cut -d ' ' -f 2) ## SWARM#0 ENTRANCE URL
|
LIBRA=$(head -n 2 ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | tail -n 1 | cut -d ' ' -f 2) ## SWARM#0 ENTRANCE URL
|
||||||
TUBE=$(head -n 2 ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | tail -n 1 | cut -d ' ' -f 3)
|
TUBE=$(head -n 2 ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | tail -n 1 | cut -d ' ' -f 3)
|
||||||
|
|
||||||
mkdir -p ~/.zen/tmp/coucou/
|
mkdir -p ~/.zen/tmp/coucou/ ~/.zen/game/players/localhost
|
||||||
|
|
||||||
## CHECK FOR ANY ALREADY RUNNING nc
|
## CHECK FOR ANY ALREADY RUNNING nc
|
||||||
ncrunning=$(ps auxf --sort=+utime | grep -w 'nc -l -p 1234' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1)
|
ncrunning=$(ps auxf --sort=+utime | grep -w 'nc -l -p 1234' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1)
|
||||||
|
@ -48,7 +37,6 @@ Access-Control-Allow-Credentials: true
|
||||||
Access-Control-Allow-Methods: GET
|
Access-Control-Allow-Methods: GET
|
||||||
Server: Astroport.ONE
|
Server: Astroport.ONE
|
||||||
Content-Type: text/html; charset=UTF-8
|
Content-Type: text/html; charset=UTF-8
|
||||||
|
|
||||||
"
|
"
|
||||||
echo "_________________________________________________________ $(date)"
|
echo "_________________________________________________________ $(date)"
|
||||||
echo "LAUNCHING Astroport API Server - TUBE : $LIBRA - "
|
echo "LAUNCHING Astroport API Server - TUBE : $LIBRA - "
|
||||||
|
@ -110,17 +98,11 @@ while true; do
|
||||||
|
|
||||||
############### ############### ############### ############### templates/index.http
|
############### ############### ############### ############### templates/index.http
|
||||||
# REPLACE myHOST in http response template (fixing next API meeting point)
|
# REPLACE myHOST in http response template (fixing next API meeting point)
|
||||||
sed "s~127.0.0.1:12345~${myHOST}:${PORT}~g" $HOME/.zen/Astroport.ONE/templates/index.http > ~/.zen/tmp/coucou/${MOATS}.myHOST.http
|
echo "$HTTPCORS" > ~/.zen/tmp/coucou/${MOATS}.myHOST.http
|
||||||
sed -i "s~http://127.0.0.1:1234~${myASTROPORT}~g" ~/.zen/tmp/coucou/${MOATS}.myHOST.http
|
template_register >> ~/.zen/tmp/coucou/${MOATS}.myHOST.http
|
||||||
sed -i "s~http://127.0.0.1:8080~${myIPFS}~g" ~/.zen/tmp/coucou/${MOATS}.myHOST.http
|
sed -i -e "s~\"${myIPFS}/\"~\"$(myIpfs)\"~g" \
|
||||||
|
-e "s~http://${myHOST}:12345~http://${myHOST}:${PORT}~g" \
|
||||||
sed -i "s~:12345~:${PORT}~g" ~/.zen/tmp/coucou/${MOATS}.myHOST.http
|
~/.zen/tmp/coucou/${MOATS}.myHOST.http
|
||||||
|
|
||||||
sed -i "s~_SESSIONLNK_~${myIPFS}/ipns/${SESSIONNS}~g" ~/.zen/tmp/coucou/${MOATS}.myHOST.http
|
|
||||||
|
|
||||||
sed -i "s~_IPFSNODEID_~${IPFSNODEID}~g" ~/.zen/tmp/coucou/${MOATS}.myHOST.http ## NODE PUBLISH
|
|
||||||
sed -i "s~_HOSTNAME_~$(hostname)~g" ~/.zen/tmp/coucou/${MOATS}.myHOST.http ## HOSTNAME
|
|
||||||
############### ############### ############### ###############
|
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
## SERVE LANDING REDIRECT PAGE ~/.zen/tmp/coucou/${MOATS}.myHOST.http on PORT 1234 (LOOP BLOCKING POINT)
|
## SERVE LANDING REDIRECT PAGE ~/.zen/tmp/coucou/${MOATS}.myHOST.http on PORT 1234 (LOOP BLOCKING POINT)
|
||||||
|
@ -131,8 +113,7 @@ while true; do
|
||||||
HOSTP=$(echo "$REQ" | grep '^Host:' | cut -d ' ' -f2 | cut -d '?' -f2)
|
HOSTP=$(echo "$REQ" | grep '^Host:' | cut -d ' ' -f2 | cut -d '?' -f2)
|
||||||
HOST=$(echo "$HOSTP" | cut -d ':' -f 1)
|
HOST=$(echo "$HOSTP" | cut -d ':' -f 1)
|
||||||
|
|
||||||
## TODO APPLY GENERAL isLAN or zen !isLAN CALACULA>TONS
|
############### ############### ############### ###############
|
||||||
[[ ! $isLAN || $USER == "zen" ]] && myHOST="$HOSTNAME" && myHOSTPort="ipfs.$HOSTNAME" && myHTTP="https://" && myASTROPORT="https://$HOSTNAME" ## WAN STATION
|
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
[[ $URL == "/test" || $URL == "" ]] && continue
|
[[ $URL == "/test" || $URL == "" ]] && continue
|
||||||
|
@ -152,21 +133,9 @@ while true; do
|
||||||
## / CONTACT
|
## / CONTACT
|
||||||
if [[ $URL == "/" ]]; then
|
if [[ $URL == "/" ]]; then
|
||||||
echo "/ CONTACT : $HOSTP"
|
echo "/ CONTACT : $HOSTP"
|
||||||
echo "___________________________ Preparing default return register.html"
|
|
||||||
echo "$HTTPCORS" > ~/.zen/tmp/coucou/${MOATS}.index.redirect ## HTTP 1.1 HEADER + HTML BODY
|
|
||||||
|
|
||||||
sed "s~http://127.0.0.1:1234~${myASTROPORT}~g" $HOME/.zen/Astroport.ONE/templates/register.html >> ~/.zen/tmp/coucou/${MOATS}.index.redirect
|
|
||||||
sed -i "s~_IPFSNODEID_~${IPFSNODEID}~g" ~/.zen/tmp/coucou/${MOATS}.index.redirect
|
|
||||||
sed -i "s~_HOSTNAME_~$(hostname)~g" ~/.zen/tmp/coucou/${MOATS}.index.redirect
|
|
||||||
sed -i "s~http://127.0.0.1:8080~${myIPFS}~g" ~/.zen/tmp/coucou/${MOATS}.index.redirect
|
|
||||||
|
|
||||||
|
|
||||||
## Random Background image ;)
|
|
||||||
sed -i "s~.000.~.$(printf '%03d' $(echo ${RANDOM} % 18 | bc)).~g" ~/.zen/tmp/coucou/${MOATS}.index.redirect
|
|
||||||
|
|
||||||
cat ~/.zen/tmp/coucou/${MOATS}.index.redirect | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &
|
|
||||||
end=`date +%s`
|
end=`date +%s`
|
||||||
echo " (‿/‿) ${myHTTP}$HOSTP / Execution time was "`expr $end - $start` seconds.
|
echo " (‿/‿) $myHOST:$PORT / Execution time was "`expr $end - $start` seconds.
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -193,7 +162,7 @@ while true; do
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
# API ZERO ## Made In Zion & La Bureautique
|
# API ZERO ## Made In Zion & La Bureautique
|
||||||
if [[ ${arr[0]} == "salt" ]]; then
|
if [[ ${arr[0]} == "salt" ]]; then
|
||||||
[[ ! $APPNAME ]] && echo "NO APPNAME - CONTINUE" && continue
|
[[ ! $APPNAME || $SALT == "pepper" ]] && echo "NO APPNAME - BAD APP - CONTINUE" && continue
|
||||||
############################################################################
|
############################################################################
|
||||||
# WRITING API # SALT # PEPPER # MAKING THE KEY EXIST #########
|
# WRITING API # SALT # PEPPER # MAKING THE KEY EXIST #########
|
||||||
################### KEY GEN ###################################
|
################### KEY GEN ###################################
|
||||||
|
@ -222,7 +191,7 @@ while true; do
|
||||||
ASTRONAUTENS=$(ipfs key import ${G1PUB} -f pem-pkcs8-cleartext ~/.zen/tmp/coucou/${MOATS}.${G1PUB}.ipns.key )
|
ASTRONAUTENS=$(ipfs key import ${G1PUB} -f pem-pkcs8-cleartext ~/.zen/tmp/coucou/${MOATS}.${G1PUB}.ipns.key )
|
||||||
[[ ! ${ASTRONAUTENS} ]] && (echo "$HTTPCORS ERROR - (╥☁╥ ) - ASTRONAUTENS COMPUTATION DISFUNCTON" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && continue
|
[[ ! ${ASTRONAUTENS} ]] && (echo "$HTTPCORS ERROR - (╥☁╥ ) - ASTRONAUTENS COMPUTATION DISFUNCTON" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && continue
|
||||||
|
|
||||||
echo "TW ADDRESS : ${myHTTP}$HOSTP/ipns/${ASTRONAUTENS}"
|
echo "TW ADDRESS : $myIPFS/ipns/${ASTRONAUTENS}"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
################### KEY GEN ###################################
|
################### KEY GEN ###################################
|
||||||
|
@ -231,6 +200,7 @@ while true; do
|
||||||
( ## SUB PROCESS
|
( ## SUB PROCESS
|
||||||
COINS=$($MY_PATH/tools/jaklis/jaklis.py -k ~/.zen/tmp/coucou/${MOATS}.secret.key balance)
|
COINS=$($MY_PATH/tools/jaklis/jaklis.py -k ~/.zen/tmp/coucou/${MOATS}.secret.key balance)
|
||||||
echo "+++ WALLET BALANCE _ $COINS (G1) _"
|
echo "+++ WALLET BALANCE _ $COINS (G1) _"
|
||||||
|
[[ $COINS == "" || $COINS == "null" ]] && $MY_PATH/tools/jaklis/jaklis.py -k ~/.zen/tmp/coucou/${MOATS}.secret.key -n "https://data.gchange.fr" send -d "${G1PUB}" -t "BRO." -m "TAPA DE JUNE ? VA AVEC >>> https://cesium.app >>> (ᵔ◡◡ᵔ) FLASHER TON G1VISA "
|
||||||
end=`date +%s`
|
end=`date +%s`
|
||||||
echo "G1WALLET (☓‿‿☓) Execution time was "`expr $end - $start` seconds.
|
echo "G1WALLET (☓‿‿☓) Execution time was "`expr $end - $start` seconds.
|
||||||
) &
|
) &
|
||||||
|
@ -240,7 +210,7 @@ while true; do
|
||||||
## ARCHIVE TOCTOC ${WHAT}S KEEP LOG (TODO : ERASE)
|
## ARCHIVE TOCTOC ${WHAT}S KEEP LOG (TODO : ERASE)
|
||||||
########################################
|
########################################
|
||||||
mkdir -p ~/.zen/game/players/.toctoc/
|
mkdir -p ~/.zen/game/players/.toctoc/
|
||||||
ISTHERE=$(ls -t ~/.zen/game/players/.toctoc/*.${G1PUB}.ipns.key 2>/dev/null | tail -n 1)
|
ISTHERE=$(ls -t ~/.zen/game/players/.toctoc/*.${G1PUB}.ipns.key 2>/dev/null | tail -n 1 | cut -d '.' -f 1)
|
||||||
TTIME=$(echo $ISTHERE | rev | cut -d '.' -f 4 | cut -d '/' -f 1 | rev)
|
TTIME=$(echo $ISTHERE | rev | cut -d '.' -f 4 | cut -d '/' -f 1 | rev)
|
||||||
if [[ ! $ISTHERE ]]; then
|
if [[ ! $ISTHERE ]]; then
|
||||||
echo "${APPNAME} 1ST TOCTOC : ${MOATS}"
|
echo "${APPNAME} 1ST TOCTOC : ${MOATS}"
|
||||||
|
@ -260,6 +230,7 @@ while true; do
|
||||||
##############################################
|
##############################################
|
||||||
if [[ $APPNAME == "pay" ]]; then
|
if [[ $APPNAME == "pay" ]]; then
|
||||||
echo "$APPNAME : $WHAT $OBJ $VAL"
|
echo "$APPNAME : $WHAT $OBJ $VAL"
|
||||||
|
echo "${MY_PATH}/tools/jaklis/jaklis.py -k ~/.zen/tmp/coucou/${MOATS}.secret.key -a ${WHAT} -p ${VAL} -c 'Bro'"
|
||||||
echo "$HTTPCORS $(${MY_PATH}/tools/jaklis/jaklis.py -k ~/.zen/tmp/coucou/${MOATS}.secret.key -a ${WHAT} -p ${VAL} -c 'Bro')" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &
|
echo "$HTTPCORS $(${MY_PATH}/tools/jaklis/jaklis.py -k ~/.zen/tmp/coucou/${MOATS}.secret.key -a ${WHAT} -p ${VAL} -c 'Bro')" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &
|
||||||
end=`date +%s`
|
end=`date +%s`
|
||||||
echo "(G_G ) PAYING Execution time was "`expr $end - $start` seconds.
|
echo "(G_G ) PAYING Execution time was "`expr $end - $start` seconds.
|
||||||
|
@ -270,7 +241,7 @@ while true; do
|
||||||
##############################################
|
##############################################
|
||||||
# MESSAGING
|
# MESSAGING
|
||||||
##############################################
|
##############################################
|
||||||
if [[ $APPNAME == "messaging" || $APPNAME == "email" ]]; then
|
if [[ $APPNAME == "messaging" ]]; then
|
||||||
|
|
||||||
( ## & SUB PROCESS
|
( ## & SUB PROCESS
|
||||||
|
|
||||||
|
@ -300,7 +271,7 @@ while true; do
|
||||||
#~ ( ## USING IPNS SESSION KEY
|
#~ ( ## USING IPNS SESSION KEY
|
||||||
#~ REPONSE=$(cat ~/.zen/tmp/coucou/${MOATS}.messaging.json | ipfs add -q)
|
#~ REPONSE=$(cat ~/.zen/tmp/coucou/${MOATS}.messaging.json | ipfs add -q)
|
||||||
#~ ipfs name publish --allow-offline --key=${PORT} /ipfs/$REPONSE
|
#~ ipfs name publish --allow-offline --key=${PORT} /ipfs/$REPONSE
|
||||||
#~ echo "SESSION ${myHTTP}$HOSTP/ipns/$SESSIONNS "
|
#~ echo "SESSION ${myIPFS}/ipns/$SESSIONNS "
|
||||||
#~ ) &
|
#~ ) &
|
||||||
|
|
||||||
end=`date +%s`
|
end=`date +%s`
|
||||||
|
@ -319,7 +290,7 @@ while true; do
|
||||||
########################################
|
########################################
|
||||||
# G1PUB WITH NO EMAIL -> Open Gchange Profile & Update TW cache
|
# G1PUB WITH NO EMAIL -> Open Gchange Profile & Update TW cache
|
||||||
########################################
|
########################################
|
||||||
if [[ "$APPNAME" == "g1pub" && ${arr[7]} == "" ]]; then
|
if [[ "$APPNAME" == "g1pub" && "$OBJ" != "email" ]]; then
|
||||||
|
|
||||||
[[ ${WHAT} == "astro" ]] && REPLACE="$LIBRA/ipns/$ASTRONAUTENS" \
|
[[ ${WHAT} == "astro" ]] && REPLACE="$LIBRA/ipns/$ASTRONAUTENS" \
|
||||||
|| REPLACE="https://www.gchange.fr/#/app/user/${G1PUB}"
|
|| REPLACE="https://www.gchange.fr/#/app/user/${G1PUB}"
|
||||||
|
@ -480,14 +451,14 @@ echo "" > ~/.zen/tmp/.ipfsgw.bad.twt # TODO move in 20h12.sh
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
# API ONE : ?salt=PHRASE%20UNE&pepper=PHRASE%20DEUX&g1pub=on&email=EMAIL&pseudo=PROFILENAME
|
# API ONE : ?salt=PHRASE%20UNE&pepper=PHRASE%20DEUX&g1pub=on&email=EMAIL&pseudo=PROFILENAME
|
||||||
if [[ ${arr[6]} == "email" && ${arr[7]} != "" ]]; then
|
if [[ ${OBJ} == "email" && "${VAL}" != "" ]]; then
|
||||||
|
|
||||||
[[ $APPNAME != "g1pub" ]] && (echo "$HTTPCORS ERROR - BAD COMMAND $APPNAME" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && echo "(☓‿‿☓) Execution time was "`expr $(date +%s) - $start` seconds. && continue
|
[[ $APPNAME != "g1pub" ]] && (echo "$HTTPCORS ERROR - BAD COMMAND $APPNAME" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && echo "(☓‿‿☓) Execution time was "`expr $(date +%s) - $start` seconds. && continue
|
||||||
|
|
||||||
start=`date +%s`
|
start=`date +%s`
|
||||||
|
|
||||||
# WHAT can contain urlencoded FullURL
|
# WHAT can contain urlencoded FullURL
|
||||||
EMAIL=$(urldecode ${arr[7]} | xargs)
|
EMAIL="${VAL}"
|
||||||
PSEUDO=$(urldecode ${arr[9]} | xargs)
|
PSEUDO=$(urldecode ${arr[9]} | xargs)
|
||||||
|
|
||||||
[[ ! ${EMAIL} ]] && (echo "$HTTPCORS ERROR - MISSING ${EMAIL} FOR ${WHAT} CONTACT" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && echo "(☓‿‿☓) Execution time was "`expr $(date +%s) - $start` seconds. && continue
|
[[ ! ${EMAIL} ]] && (echo "$HTTPCORS ERROR - MISSING ${EMAIL} FOR ${WHAT} CONTACT" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && echo "(☓‿‿☓) Execution time was "`expr $(date +%s) - $start` seconds. && continue
|
||||||
|
@ -540,17 +511,6 @@ echo "" > ~/.zen/tmp/.ipfsgw.bad.twt # TODO move in 20h12.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
##############################################
|
|
||||||
# VIDEOURL : ADD URL TO 'CopierYoutube' tagged Tiddler : TODO
|
|
||||||
##############################################
|
|
||||||
if [[ $APPNAME == "CopierYoutube" ]]; then
|
|
||||||
echo "$HTTPCORS /ipns/${ASTRONAUTENS} ADDING ${WHAT}"| nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &
|
|
||||||
end=`date +%s`
|
|
||||||
echo $APPNAME "(☉_☉ ) ${WHAT} Execution time was "`expr $end - $start` seconds.
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
## RESPONDING
|
## RESPONDING
|
||||||
cat ~/.zen/tmp/coucou/${MOATS}.index.redirect | nc -l -p ${PORT} -q 1 > ~/.zen/tmp/coucou/${MOATS}.official.swallow &
|
cat ~/.zen/tmp/coucou/${MOATS}.index.redirect | nc -l -p ${PORT} -q 1 > ~/.zen/tmp/coucou/${MOATS}.official.swallow &
|
||||||
echo "HTTP 1.1 PROTOCOL DOCUMENT READY"
|
echo "HTTP 1.1 PROTOCOL DOCUMENT READY"
|
||||||
|
|
|
@ -24,13 +24,12 @@ rm -Rf ~/.zen/tmp/*
|
||||||
|
|
||||||
espeak "Code Updating" > /dev/null 2>&1
|
espeak "Code Updating" > /dev/null 2>&1
|
||||||
|
|
||||||
|
|
||||||
## PROCESS TW BACKOFFICE TREATMENT
|
## PROCESS TW BACKOFFICE TREATMENT
|
||||||
cd ~/.zen/Astroport.ONE/
|
cd ~/.zen/Astroport.ONE/
|
||||||
git pull
|
git pull
|
||||||
## SOON /ipns/ Address !!!
|
## SOON /ipns/ Address !!!
|
||||||
|
|
||||||
espeak "Tube Up" > /dev/null 2>&1
|
espeak "Updating yt-dlp" > /dev/null 2>&1
|
||||||
## Updating yt-dlp
|
## Updating yt-dlp
|
||||||
$MY_PATH/youtube-dl.sh
|
$MY_PATH/youtube-dl.sh
|
||||||
sudo youtube-dl -U
|
sudo youtube-dl -U
|
||||||
|
@ -38,28 +37,21 @@ sudo youtube-dl -U
|
||||||
# Refresh ~/.zen/game/world/G1VOEU
|
# Refresh ~/.zen/game/world/G1VOEU
|
||||||
# NOW RUN FROM PLAYER.refresh.sh !! ~/.zen/Astroport.ONE/ASTROBOT/VOEUX.refresh.sh
|
# NOW RUN FROM PLAYER.refresh.sh !! ~/.zen/Astroport.ONE/ASTROBOT/VOEUX.refresh.sh
|
||||||
|
|
||||||
## CLOSING API PORT
|
|
||||||
[[ -s ~/.zen/.pid ]] && kill -9 $(cat ~/.zen/.pid)
|
|
||||||
|
|
||||||
espeak "Players refresh" > /dev/null 2>&1
|
espeak "Players refresh" > /dev/null 2>&1
|
||||||
# Refresh ~/.zen/game/players/PLAYER
|
# Refresh ~/.zen/game/players/PLAYER
|
||||||
~/.zen/Astroport.ONE/ASTROBOT/PLAYER.refresh.sh
|
~/.zen/Astroport.ONE/ASTROBOT/PLAYER.refresh.sh
|
||||||
|
|
||||||
## OPEN API ENGINE
|
## if [[ ! $isLAN ]]; then
|
||||||
espeak "Restarting API" > /dev/null 2>&1
|
|
||||||
~/.zen/Astroport.ONE/12345.sh > ~/.zen/tmp/12345.log &
|
|
||||||
PID=$!
|
|
||||||
echo $PID > ~/.zen/.pid
|
|
||||||
|
|
||||||
if [[ ! $isLAN ]]; then
|
|
||||||
## REFRESH BOOTSTRAP LIST (OFFICIAL SWARM)
|
## REFRESH BOOTSTRAP LIST (OFFICIAL SWARM)
|
||||||
|
espeak "bootstrap refresh" > /dev/null 2>&1
|
||||||
|
|
||||||
ipfs bootstrap rm --all > /dev/null 2>&1
|
ipfs bootstrap rm --all > /dev/null 2>&1
|
||||||
for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#") # remove comments
|
for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#") # remove comments
|
||||||
do
|
do
|
||||||
ipfsnodeid=${bootnode##*/}
|
ipfsnodeid=${bootnode##*/}
|
||||||
ipfs bootstrap add $bootnode
|
ipfs bootstrap add $bootnode
|
||||||
done
|
done
|
||||||
fi
|
## fi
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
end=`date +%s`
|
end=`date +%s`
|
||||||
|
@ -69,6 +61,14 @@ echo "20H12 (♥‿‿♥) Execution time was $dur" seconds.
|
||||||
## MAIL LOG : support@qo-op.com
|
## MAIL LOG : support@qo-op.com
|
||||||
$MY_PATH/tools/mailjet.sh "support@qo-op.com" "/tmp/20h12.log"
|
$MY_PATH/tools/mailjet.sh "support@qo-op.com" "/tmp/20h12.log"
|
||||||
|
|
||||||
espeak "Byte Strom End. $dur seconds" > /dev/null 2>&1
|
espeak "20 12 duration was $dur seconds" > /dev/null 2>&1
|
||||||
|
|
||||||
|
## CLOSING API PORT
|
||||||
|
[[ -s ~/.zen/.pid ]] && kill -9 $(cat ~/.zen/.pid)
|
||||||
|
## OPEN API ENGINE
|
||||||
|
espeak "Restarting API" > /dev/null 2>&1
|
||||||
|
~/.zen/Astroport.ONE/12345.sh > ~/.zen/tmp/12345.log &
|
||||||
|
PID=$!
|
||||||
|
echo $PID > ~/.zen/.pid
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
::: :::::::: ::::::::::: ::::::::: :::::::: ::::::::: :::::::: ::::::::: :::::::::::
|
||||||
|
:+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+:
|
||||||
|
+:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+
|
||||||
|
+#++:++#++: +#++:++#++ +#+ +#++:++#: +#+ +:+ +#++:++#+ +#+ +:+ +#++:++#: +#+
|
||||||
|
+#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+
|
||||||
|
#+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+#
|
||||||
|
### ### ######## ### ### ### ######## ### ######## ### ### ###
|
|
@ -113,8 +113,7 @@ if [[ ! ${TIDDLER} ]]; then
|
||||||
echo "COPIE : $ZYURL"
|
echo "COPIE : $ZYURL"
|
||||||
[[ $boucle == 13 ]] && echo "MAXIMUM COPY REACHED FOR TODAY" && continue
|
[[ $boucle == 13 ]] && echo "MAXIMUM COPY REACHED FOR TODAY" && continue
|
||||||
|
|
||||||
TITLE="$(yt-dlp --cookies-from-browser $BROWSER --print "%(title)s" "${ZYURL}")"
|
TITLE="$(yt-dlp --cookies-from-browser $BROWSER --print "%(title)s" "${ZYURL}" | detox --inline)"
|
||||||
TITLE=${TITLE//[^A-zÀ-ÿ0-9 ]/}
|
|
||||||
[[ ! $TITLE ]] && echo "NO TITLE" && continue
|
[[ ! $TITLE ]] && echo "NO TITLE" && continue
|
||||||
|
|
||||||
start=`date +%s`
|
start=`date +%s`
|
||||||
|
@ -151,7 +150,7 @@ if [[ ! ${TIDDLER} ]]; then
|
||||||
|
|
||||||
## LIMIT TO 12 MAXIMUM COPY PER DAY PER PLAYER
|
## LIMIT TO 12 MAXIMUM COPY PER DAY PER PLAYER
|
||||||
boucle=$((boucle+1))
|
boucle=$((boucle+1))
|
||||||
espeak "video copy number $bouche" > /dev/null 1>&2
|
espeak "Video Number $boucle" > /dev/null 1>&2
|
||||||
|
|
||||||
####################################################
|
####################################################
|
||||||
echo "FOUND : ~/.zen/tmp/yt-dlp/$ZFILE"
|
echo "FOUND : ~/.zen/tmp/yt-dlp/$ZFILE"
|
||||||
|
|
|
@ -41,7 +41,7 @@ for PLAYER in ${PLAYERONE[@]}; do
|
||||||
ASTRONS=$(cat ~/.zen/game/players/$PLAYER/.playerns 2>/dev/null)
|
ASTRONS=$(cat ~/.zen/game/players/$PLAYER/.playerns 2>/dev/null)
|
||||||
|
|
||||||
## REFRESH ASTRONAUTE TW
|
## REFRESH ASTRONAUTE TW
|
||||||
ASTRONAUTENS=$(ipfs key list -l | grep $PLAYER | cut -d ' ' -f1)
|
ASTRONAUTENS=$(ipfs key list -l | grep -w $PLAYER | cut -d ' ' -f1)
|
||||||
[[ ! $ASTRONAUTENS ]] && echo "WARNING No $PLAYER in keystore --" && ASTRONAUTENS=$ASTRONS
|
[[ ! $ASTRONAUTENS ]] && echo "WARNING No $PLAYER in keystore --" && ASTRONAUTENS=$ASTRONS
|
||||||
|
|
||||||
## VISA EMITER STATION MUST ACT ONLY
|
## VISA EMITER STATION MUST ACT ONLY
|
||||||
|
@ -65,8 +65,8 @@ isLAN=$(route -n |awk '$1 == "0.0.0.0" {print $2}' | grep -E "/(^127\.)|(^192\.1
|
||||||
LIBRA=$(head -n 2 ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | tail -n 1 | cut -d ' ' -f 2)
|
LIBRA=$(head -n 2 ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | tail -n 1 | cut -d ' ' -f 2)
|
||||||
echo "/ipns/$ASTRONAUTENS ON $LIBRA"
|
echo "/ipns/$ASTRONAUTENS ON $LIBRA"
|
||||||
|
|
||||||
ipfs --timeout 60s -o ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/index.html /ipns/$ASTRONAUTENS \
|
ipfs --timeout 60s get -o ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/index.html /ipns/$ASTRONAUTENS \
|
||||||
|| curl -m 30 -so ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/index.html "$LIBRA/ipns/$ASTRONAUTENS" \
|
|| curl -m 60 -so ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/index.html "$LIBRA/ipns/$ASTRONAUTENS" \
|
||||||
|| cp ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/index.html
|
|| cp ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/${IPFSNODEID}/${PLAYER}/index.html
|
||||||
|
|
||||||
## PLAYER TW IS ONLINE ?
|
## PLAYER TW IS ONLINE ?
|
||||||
|
|
|
@ -3,11 +3,16 @@
|
||||||
#################################################################
|
#################################################################
|
||||||
# astroport.libra.copylaradio.com
|
# astroport.libra.copylaradio.com
|
||||||
/ip4/149.102.158.67/udp/4001/quic/p2p/12D3KooWL2FcDJ41U9SyLuvDmA5qGzyoaj2RoEHiJPpCvY8jvx9u
|
/ip4/149.102.158.67/udp/4001/quic/p2p/12D3KooWL2FcDJ41U9SyLuvDmA5qGzyoaj2RoEHiJPpCvY8jvx9u
|
||||||
|
|
||||||
# astroport.cancer.copylaradio.com
|
# astroport.cancer.copylaradio.com
|
||||||
/ip4/185.202.238.69/tcp/4001/p2p/12D3KooWDYpPdfCFf3CbKpcLNmyA2vmJs4JY55k8yje9R1MxSgdB
|
/ip4/185.202.238.69/tcp/4001/p2p/12D3KooWDYpPdfCFf3CbKpcLNmyA2vmJs4JY55k8yje9R1MxSgdB
|
||||||
|
|
||||||
# astroport.aries.copylaradio.com
|
# astroport.aries.copylaradio.com
|
||||||
/ip4/37.187.127.175/tcp/4001/p2p/12D3KooWSQYTxeoZZ39SNosEKxi7RUdGTtAQAqpKeZJxjzqqrZTx
|
/ip4/37.187.127.175/tcp/4001/p2p/12D3KooWSQYTxeoZZ39SNosEKxi7RUdGTtAQAqpKeZJxjzqqrZTx
|
||||||
|
|
||||||
|
# astroport.sonic.copylaradio.com
|
||||||
|
/ip4/161.97.174.60/tcp/4001/p2p/12D3KooWJki74EkJ8YUhrAfr2UwtQiJKBY94PYLmVnEQe9jo3aqC
|
||||||
|
|
||||||
#################################################################
|
#################################################################
|
||||||
###### WISHING TO ADD YOUR NODE TO OFFICIAL ASTROPORT BOOSTRAP LIST ?
|
###### WISHING TO ADD YOUR NODE TO OFFICIAL ASTROPORT BOOSTRAP LIST ?
|
||||||
###### ===> CONTACT support@qo-op.com
|
###### ===> CONTACT support@qo-op.com
|
||||||
|
|
21
Makefile
21
Makefile
|
@ -37,16 +37,25 @@ player-%:
|
||||||
$(call make,stack-User-$*,$(MYOS),$(PLAYER_MAKE_VARS)) \
|
$(call make,stack-User-$*,$(MYOS),$(PLAYER_MAKE_VARS)) \
|
||||||
)
|
)
|
||||||
|
|
||||||
.PHONY: shellcheck
|
.PHONY: upgrade
|
||||||
shellcheck:
|
upgrade: migrate-home migrate-ipfs install
|
||||||
|
|
||||||
|
## TESTS
|
||||||
|
|
||||||
|
.PHONY: check
|
||||||
|
check:
|
||||||
shellcheck $(SHELL_FILES) ||:
|
shellcheck $(SHELL_FILES) ||:
|
||||||
|
|
||||||
.PHONY: shellcheck-%
|
.PHONY: shellcheck-%
|
||||||
shellcheck-%:
|
shellcheck-%:
|
||||||
shellcheck $*/*.sh
|
shellcheck $*/*.sh
|
||||||
|
|
||||||
.PHONY: tests
|
.PHONY: shellspec
|
||||||
tests: shellcheck
|
specs: shellspec-specs;
|
||||||
|
|
||||||
.PHONY: upgrade
|
.PHONY: shellspec-%
|
||||||
upgrade: migrate-home migrate-ipfs install
|
shellspec-%:
|
||||||
|
shellspec -f tap $*
|
||||||
|
|
||||||
|
.PHONY: tests
|
||||||
|
tests: check specs
|
||||||
|
|
|
@ -53,7 +53,7 @@ while true; do
|
||||||
## FIXING TIC TAC FOR NODE & SWARM REFRESH
|
## FIXING TIC TAC FOR NODE & SWARM REFRESH
|
||||||
if [[ duree -gt 3600000 ]]; then
|
if [[ duree -gt 3600000 ]]; then
|
||||||
|
|
||||||
(
|
( ##### SUB-PROCESS
|
||||||
start=`date +%s`
|
start=`date +%s`
|
||||||
|
|
||||||
############# GET BOOTSTRAP SWARM DATA
|
############# GET BOOTSTRAP SWARM DATA
|
||||||
|
@ -107,7 +107,7 @@ while true; do
|
||||||
end=`date +%s`
|
end=`date +%s`
|
||||||
echo "(*__*) MySwam Update ($BSIZE B) duration was "`expr $end - $start`' seconds.'
|
echo "(*__*) MySwam Update ($BSIZE B) duration was "`expr $end - $start`' seconds.'
|
||||||
|
|
||||||
) &
|
) & ##### SUB-PROCESS
|
||||||
|
|
||||||
# last run recording
|
# last run recording
|
||||||
echo "${MOATS}" > ~/.zen/tmp/${IPFSNODEID}/.MySwarm.moats
|
echo "${MOATS}" > ~/.zen/tmp/${IPFSNODEID}/.MySwarm.moats
|
||||||
|
|
|
@ -32,6 +32,8 @@ alias espeak='espeak 1>&2>/dev/null'
|
||||||
[[ $(which ffmpeg) == "" ]] && echo "ERREUR! Installez ffmpeg" && echo "sudo apt install ffmpeg" && exit 1
|
[[ $(which ffmpeg) == "" ]] && echo "ERREUR! Installez ffmpeg" && echo "sudo apt install ffmpeg" && exit 1
|
||||||
[[ $(which xdpyinfo) == "" ]] && echo "ERREUR! Installez x11-utils" && echo "sudo apt install x11-utils" && exit 1
|
[[ $(which xdpyinfo) == "" ]] && echo "ERREUR! Installez x11-utils" && echo "sudo apt install x11-utils" && exit 1
|
||||||
|
|
||||||
|
exec 2>&1 >> ~/.zen/tmp/ajouter_media.log
|
||||||
|
|
||||||
URL="$1"
|
URL="$1"
|
||||||
PLAYER="$2"
|
PLAYER="$2"
|
||||||
CHOICE="$3"
|
CHOICE="$3"
|
||||||
|
@ -45,12 +47,16 @@ CHOICE="$3"
|
||||||
&& OUTPUT=$(zenity --entry --width 640 --title="=> Astroport" --text="ASTRONAUTE ?" --entry-text=${players[@]}) \
|
&& OUTPUT=$(zenity --entry --width 640 --title="=> Astroport" --text="ASTRONAUTE ?" --entry-text=${players[@]}) \
|
||||||
&& [[ $OUTPUT ]] && PLAYER=$OUTPUT && rm -f ~/.zen/game/players/.current && ln -s ~/.zen/game/players/$PLAYER ~/.zen/game/players/.current \
|
&& [[ $OUTPUT ]] && PLAYER=$OUTPUT && rm -f ~/.zen/game/players/.current && ln -s ~/.zen/game/players/$PLAYER ~/.zen/game/players/.current \
|
||||||
|
|
||||||
[[ ${PLAYER} == "" ]] && exit 1
|
[[ ${PLAYER} == "" ]] \
|
||||||
|
&& ${MY_PATH}/start.sh \
|
||||||
|
&& espeak "Astroport Empty. Enter your magic email" \
|
||||||
|
&& xdg-open "https://qo-op.com" \
|
||||||
|
&& exit 1
|
||||||
|
|
||||||
PSEUDO=$(cat ~/.zen/game/players/${PLAYER}/.pseudo 2>/dev/null)
|
PSEUDO=$(cat ~/.zen/game/players/${PLAYER}/.pseudo 2>/dev/null)
|
||||||
espeak "Hello $PSEUDO"
|
espeak "Hello $PSEUDO"
|
||||||
|
|
||||||
(cd $MY_PATH && git pull && espeak "code ok") &
|
( cd $MY_PATH && git pull ) &
|
||||||
|
|
||||||
G1PUB=$(cat ~/.zen/game/players/${PLAYER}/.g1pub 2>/dev/null)
|
G1PUB=$(cat ~/.zen/game/players/${PLAYER}/.g1pub 2>/dev/null)
|
||||||
[[ $G1PUB == "" ]] && espeak "ERROR NO G 1 PUBLIC KEY FOUND - EXIT" && exit 1
|
[[ $G1PUB == "" ]] && espeak "ERROR NO G 1 PUBLIC KEY FOUND - EXIT" && exit 1
|
||||||
|
@ -79,6 +85,11 @@ if [ $URL ]; then
|
||||||
CHOICE="$IMPORT"
|
CHOICE="$IMPORT"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
( ## SUB PROCESS
|
||||||
|
# Get PLAYER wallet amount
|
||||||
|
COINS=$($MY_PATH/tools/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey balance | cut -d '.' -f 1)
|
||||||
|
[[ $COINS == "" || $COINS == "null" ]] && espeak "Missing coins. Free Run." || espeak "You have $COINS Coins"
|
||||||
|
)
|
||||||
|
|
||||||
# GET SCREEN DIMENSIONS
|
# GET SCREEN DIMENSIONS
|
||||||
screen=$(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/')
|
screen=$(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/')
|
||||||
|
@ -130,7 +141,7 @@ fi
|
||||||
ISADDING=$(ps auxf --sort=+utime | grep -w 'ipfs add' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1)
|
ISADDING=$(ps auxf --sort=+utime | grep -w 'ipfs add' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1)
|
||||||
ISPUBLISHING=$(ps auxf --sort=+utime | grep -w 'ipfs name publish' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1)
|
ISPUBLISHING=$(ps auxf --sort=+utime | grep -w 'ipfs name publish' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1)
|
||||||
[[ $ISADDING || $ISPUBLISHING ]] \
|
[[ $ISADDING || $ISPUBLISHING ]] \
|
||||||
&& espeak "I P F S progressing. Please try again later" && exit 1
|
&& espeak "I P F S not ready. Wait and try again" && exit 1
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
espeak "restart I P F S daemon"
|
espeak "restart I P F S daemon"
|
||||||
|
@ -210,39 +221,30 @@ mkdir -p ${YTEMP}
|
||||||
# youtube-dl $YTURL
|
# youtube-dl $YTURL
|
||||||
echo "VIDEO $YTURL"
|
echo "VIDEO $YTURL"
|
||||||
|
|
||||||
# --write-subs --write-auto-subs --sub-langs "fr, en, en-orig" --embed-subs
|
LINE="$(yt-dlp --cookies-from-browser $BROWSER --print "%(id)s&%(title)s" "${YTURL}")"
|
||||||
|
YID=$(echo "$LINE" | cut -d '&' -f 1)
|
||||||
|
TITLE=$(echo "$LINE" | cut -d '&' -f 2- | detox --inline)
|
||||||
|
|
||||||
/usr/local/bin/youtube-dl -f "(bv*[ext=mp4][height<=480]+ba/b[height<=480])" \
|
/usr/local/bin/youtube-dl -f "(bv*[ext=mp4][height<=720]+ba/b[height<=720])" \
|
||||||
--cookies-from-browser $BROWSER \
|
--cookies-from-browser $BROWSER --verbose --audio-format mp3\
|
||||||
--download-archive $HOME/.zen/.yt-dlp.list \
|
--download-archive $HOME/.zen/.yt-dlp.list \
|
||||||
-S res,ext:mp4:m4a --recode mp4 --no-mtime --embed-thumbnail --add-metadata \
|
-S res,ext:mp4:m4a --recode mp4 --no-mtime --embed-thumbnail --add-metadata \
|
||||||
--no-playlist --write-info-json --write-description --no-get-comments \
|
-o "${YTEMP}/$TITLE.%(ext)s" "$YTURL"
|
||||||
--no-mtime -o "${YTEMP}/%(id)s&%(title)s.%(ext)s" $YTURL
|
|
||||||
|
|
||||||
# Get filename, extract ID, make destination dir and move copy.
|
ZFILE="$TITLE.mp4"
|
||||||
YFILE=$(ls -S ${YTEMP} | head -n 1)
|
echo "$ZFILE"
|
||||||
FILE_NAME="$(basename "${YFILE}")"
|
|
||||||
|
FILE_NAME="$(basename "${ZFILE}")"
|
||||||
FILE_EXT="${FILE_NAME##*.}"
|
FILE_EXT="${FILE_NAME##*.}"
|
||||||
|
|
||||||
JSON_FILE=$(echo ${FILE_NAME} | sed "s/${FILE_EXT}/json/g")
|
echo "OK $ZFILE copied"
|
||||||
|
espeak "OK $TITLE copied"
|
||||||
YID=$(echo "${FILE_NAME}" | cut -d "&" -f 1)
|
|
||||||
YNAME=$(echo "${FILE_NAME}" | cut -d "&" -f 2- | sed "s/[(][^)]*[)]//g" | sed -e 's/[^A-Za-z0-9._-]/_/g' | sed -e 's/__/_/g' ) # Remove YoutubeID_ and (what is in perentheses)
|
|
||||||
[[ $(which detox) ]] && YNAME=$(echo "${FILE_NAME}" | cut -d "&" -f 2- | detox --inline)
|
|
||||||
|
|
||||||
espeak "OK $YNAME copied"
|
|
||||||
|
|
||||||
MEDIAID="$REVSOURCE${YID}"
|
MEDIAID="$REVSOURCE${YID}"
|
||||||
TITLE="${YNAME%.*}"
|
|
||||||
MEDIAKEY="YOUTUBE_${MEDIAID}"
|
MEDIAKEY="YOUTUBE_${MEDIAID}"
|
||||||
|
|
||||||
FILE_PATH="$HOME/Astroport/youtube/$MEDIAID"
|
FILE_PATH="$HOME/Astroport/youtube/$MEDIAID"
|
||||||
mkdir -p ${FILE_PATH} && mv -f ${YTEMP}/* ${FILE_PATH}/
|
mkdir -p ${FILE_PATH} && mv -f ${YTEMP}/* ${FILE_PATH}/
|
||||||
# rename FILE_NAME to YNAME (URL clean)
|
|
||||||
mv "${FILE_PATH}/${FILE_NAME}" "${FILE_PATH}/${YNAME}" && FILE_NAME="${YNAME}"
|
|
||||||
# get & rename video.json
|
|
||||||
jsonfile=$(ls ${FILE_PATH}/*.json)
|
|
||||||
mv "${jsonfile}" "${FILE_PATH}/video.json"
|
|
||||||
|
|
||||||
FILE_RES=$(ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 "${FILE_PATH}/${FILE_NAME}" | cut -d "x" -f 2)
|
FILE_RES=$(ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 "${FILE_PATH}/${FILE_NAME}" | cut -d "x" -f 2)
|
||||||
RES=${FILE_RES%?}0p
|
RES=${FILE_RES%?}0p
|
||||||
|
@ -472,7 +474,7 @@ then
|
||||||
# Ask for song name
|
# Ask for song name
|
||||||
[ ! $2 ] && song=$(zenity --entry --width 300 --title "Titre à chercher sur Youtube" --text "Titre recherché" --entry-text="")
|
[ ! $2 ] && song=$(zenity --entry --width 300 --title "Titre à chercher sur Youtube" --text "Titre recherché" --entry-text="")
|
||||||
[[ $song == "" ]] && espeak "I was expecting a song name. Sorry. I Am out." && exit 1
|
[[ $song == "" ]] && espeak "I was expecting a song name. Sorry. I Am out." && exit 1
|
||||||
|
espeak "Searching $artist $song"
|
||||||
# Download mp3 from 1st youtube search video result (--write-info-json)
|
# Download mp3 from 1st youtube search video result (--write-info-json)
|
||||||
/usr/local/bin/youtube-dl --default-search ytsearch1: \
|
/usr/local/bin/youtube-dl --default-search ytsearch1: \
|
||||||
--cookies-from-browser $BROWSER \
|
--cookies-from-browser $BROWSER \
|
||||||
|
@ -483,7 +485,7 @@ then
|
||||||
else
|
else
|
||||||
|
|
||||||
[[ $YTURL == "" ]] && YTURL="$artist"
|
[[ $YTURL == "" ]] && YTURL="$artist"
|
||||||
|
espeak "Copying Link"
|
||||||
/usr/local/bin/youtube-dl \
|
/usr/local/bin/youtube-dl \
|
||||||
--cookies-from-browser $BROWSER \
|
--cookies-from-browser $BROWSER \
|
||||||
--ignore-errors --no-mtime \
|
--ignore-errors --no-mtime \
|
||||||
|
|
|
@ -127,12 +127,17 @@ select fav in "${choices[@]}"; do
|
||||||
echo "ATTENTION ${PLAYER} SUPPRESSION DEFINITIVE !!"
|
echo "ATTENTION ${PLAYER} SUPPRESSION DEFINITIVE !!"
|
||||||
echo "Enter to continue. Ctrl+C to stop"
|
echo "Enter to continue. Ctrl+C to stop"
|
||||||
read
|
read
|
||||||
|
echo "REPLACE $IPFSNODEID WITH _ASTROPORT_"
|
||||||
|
sed "s~${IPFSNODEID}~_ASTROPORT_~g" ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/$PLAYER.html
|
||||||
|
TW=$(ipfs add -Hq ~/.zen/tmp/$PLAYER.html | tail -n 1)
|
||||||
|
ipfs name publish --allow-offline --key=$PLAYER /ipfs/$TW
|
||||||
|
espeak "TW dropped in cyberspace..."
|
||||||
ipfs key rm ${PLAYER}; ipfs key rm ${PLAYER}_feed; ipfs key rm $G1PUB;
|
ipfs key rm ${PLAYER}; ipfs key rm ${PLAYER}_feed; ipfs key rm $G1PUB;
|
||||||
for voeu in $(ls ~/.zen/game/players/$PLAYER/voeux/ 2>/dev/null); do
|
for voeu in $(ls ~/.zen/game/players/$PLAYER/voeux/ 2>/dev/null); do
|
||||||
ipfs key rm $voeu
|
ipfs key rm $voeu
|
||||||
[[ $voeu != "" ]] && rm -Rf ~/.zen/game/world/$voeu
|
[[ $voeu != "" ]] && rm -Rf ~/.zen/game/world/$voeu
|
||||||
done
|
done
|
||||||
echo "REMOVE GCHANGE PROFILE"
|
echo "REMOVING GCHANGE+ PROFILE"
|
||||||
$MY_PATH/tools/jaklis/jaklis.py -k $HOME/.zen/game/players/$PLAYER/secret.dunikey -n https://data.gchange.fr erase
|
$MY_PATH/tools/jaklis/jaklis.py -k $HOME/.zen/game/players/$PLAYER/secret.dunikey -n https://data.gchange.fr erase
|
||||||
#~ echo "REMOVE CESIUM+"
|
#~ echo "REMOVE CESIUM+"
|
||||||
#~ $MY_PATH/tools/jaklis/jaklis.py -k $HOME/.zen/game/players/$PLAYER/secret.dunikey -n https://g1.data.e-is.pro erase
|
#~ $MY_PATH/tools/jaklis/jaklis.py -k $HOME/.zen/game/players/$PLAYER/secret.dunikey -n https://g1.data.e-is.pro erase
|
||||||
|
|
|
@ -25,7 +25,7 @@ case "${1:-${cmd:-start}}" in
|
||||||
cron
|
cron
|
||||||
log &
|
log &
|
||||||
zen
|
zen
|
||||||
exec "$ASTROPORT_DIR/start.sh"
|
exec "$ASTROPORT_DIR/launch.sh"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
install)
|
install)
|
||||||
|
|
10
install.sh
10
install.sh
|
@ -30,7 +30,7 @@ then
|
||||||
|
|
||||||
# Check requirements
|
# Check requirements
|
||||||
echo "Installateur Astroport.ONE pour distributions DEBIAN et dérivées : LinuxMint (https://www.linuxmint.com/)"
|
echo "Installateur Astroport.ONE pour distributions DEBIAN et dérivées : LinuxMint (https://www.linuxmint.com/)"
|
||||||
echo "$USER appuyez sur ENTRER."; read TEST; [[ "$TEST" != "" ]] && echo "SORTIE" && exit 0 ## Ajouter confirmation à chaque nouvelle étape (+explications)
|
# echo "$USER appuyez sur ENTRER."; read TEST; [[ "$TEST" != "" ]] && echo "SORTIE" && exit 0 ## Ajouter confirmation à chaque nouvelle étape (+explications)
|
||||||
echo "#############################################"
|
echo "#############################################"
|
||||||
echo "###### IPFS BIOS INSTALL ##############################"
|
echo "###### IPFS BIOS INSTALL ##############################"
|
||||||
echo "################ CRYPTO TW Ŋ1 PROTOCOL #############"
|
echo "################ CRYPTO TW Ŋ1 PROTOCOL #############"
|
||||||
|
@ -278,12 +278,14 @@ echo "#############################################"
|
||||||
if [[ $XDG_SESSION_TYPE == 'x11' ]]; then
|
if [[ $XDG_SESSION_TYPE == 'x11' ]]; then
|
||||||
##########################################################
|
##########################################################
|
||||||
## ON BOARDING PLAYER
|
## ON BOARDING PLAYER
|
||||||
~/.zen/Astroport.ONE/start.sh &
|
~/.zen/Astroport.ONE/start.sh
|
||||||
|
~/.zen/Astroport.ONE/tools/displaytimer.sh 3
|
||||||
|
espeak "Enter your magic TW keys"
|
||||||
xdg-open "http://astroport.localhost:1234"
|
xdg-open "http://astroport.localhost:1234"
|
||||||
|
|
||||||
echo "EXPERIMENTAL ### RECOPIEZ VOS VSTREAM KODI DANS IPFS ## "
|
echo "EXPERIMENTAL ### RECOPIEZ VOS VSTREAM KODI DANS IPFS ## OUI ? ENTER sinon Ctrl+C"
|
||||||
read KODI
|
read KODI
|
||||||
if [[ $KODI ]]; then
|
if [[ ! $KODI ]]; then
|
||||||
|
|
||||||
mkdir -p ~/.zen/tmp/kodi
|
mkdir -p ~/.zen/tmp/kodi
|
||||||
echo "PATIENTEZ..."
|
echo "PATIENTEZ..."
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
#!/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\"`"
|
||||||
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||||
|
myIP=$(hostname -I | awk '{print $1}' | head -n 1)
|
||||||
|
isLAN=$(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])/")
|
||||||
|
[[ ! $myIP || $isLAN ]] && myIP="ipfs.localhost"
|
||||||
|
|
||||||
|
ME="${0##*/}"
|
||||||
|
TS=$(date -u +%s%N | cut -b1-13)
|
||||||
|
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
||||||
|
|
||||||
|
echo "cron_VRFY.sh ON"
|
||||||
|
###################################################
|
||||||
|
${MY_PATH}/tools/cron_VRFY.sh ON
|
||||||
|
|
||||||
|
echo "(RE)STARTING 12345.sh"
|
||||||
|
###################################################
|
||||||
|
[[ -s ~/.zen/.pid ]] && kill -9 $(cat ~/.zen/.pid) \
|
||||||
|
|| ( killall "12345.sh"; killall "_12345.sh"; killall "nc" )
|
||||||
|
|
||||||
|
mkdir -p ~/.zen/tmp
|
||||||
|
|
||||||
|
~/.zen/Astroport.ONE/12345.sh > ~/.zen/tmp/12345.log &
|
||||||
|
echo $! > ~/.zen/.pid && wait
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/bash
|
||||||
|
clear
|
||||||
|
echo "------------------------------------------------------------------------------"
|
||||||
|
if [ "$1" == "" ]; then
|
||||||
|
echo " Nothing to search for!"
|
||||||
|
else
|
||||||
|
echo " Searching for "$1" recursively. Please Wait..."
|
||||||
|
echo "------------------------------------------------------------------------------"
|
||||||
|
grep -h -r --exclude=B00 -H --colour=always "$1" ./
|
||||||
|
fi
|
||||||
|
echo "------------------------------------------------------------------------------"
|
||||||
|
if [ "$2" != "" ]; then
|
||||||
|
echo " To replace \"$1\" whith \"$2\", please run"
|
||||||
|
echo " grep -rl '$1' ./ | while read file; do sed -i 's~$1~$2~g' \$file; done"
|
||||||
|
fi
|
||||||
|
## THIS IS A GREAT RETRO ENGINEERING AND CODING TOOLS
|
|
@ -0,0 +1,50 @@
|
||||||
|
#shellcheck shell=sh
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
Describe 'Dependency'
|
||||||
|
Describe 'ipfs:'
|
||||||
|
It 'is available'
|
||||||
|
When run ipfs --help
|
||||||
|
The output should include "ipfs"
|
||||||
|
The status should be success
|
||||||
|
The stderr should equal ""
|
||||||
|
End
|
||||||
|
End
|
||||||
|
End
|
||||||
|
|
||||||
|
Describe 'Astroport'
|
||||||
|
Describe 'tools/myhost.sh'
|
||||||
|
Include ./tools/myhost.sh
|
||||||
|
myhost() {
|
||||||
|
echo $myHOST
|
||||||
|
echo $myIPFS
|
||||||
|
}
|
||||||
|
It 'does my env variables'
|
||||||
|
When call myhost
|
||||||
|
The output should include astroport.
|
||||||
|
The output should include ipfs.
|
||||||
|
The status should be success
|
||||||
|
The stderr should equal ""
|
||||||
|
End
|
||||||
|
End
|
||||||
|
Describe 'tools/template.sh'
|
||||||
|
Include ./tools/myhost.sh
|
||||||
|
Include ./tools/template.sh
|
||||||
|
It 'does host html register page'
|
||||||
|
When call template_register
|
||||||
|
The stdout should include $(hostname)
|
||||||
|
The stdout should include $IPFSNODEID
|
||||||
|
The stdout should include $myASTROPORT
|
||||||
|
The stdout should include $myIPFS
|
||||||
|
The status should be success
|
||||||
|
The stderr should equal ""
|
||||||
|
End
|
||||||
|
It 'does localhost html register page'
|
||||||
|
When call template_register_localhost
|
||||||
|
The stdout should include "input name='salt' value=''"
|
||||||
|
The stdout should include "input name='pepper' value=''"
|
||||||
|
The status should be success
|
||||||
|
The stderr should equal ""
|
||||||
|
End
|
||||||
|
End
|
||||||
|
End
|
7
start.sh
7
start.sh
|
@ -20,9 +20,10 @@ ${MY_PATH}/tools/cron_VRFY.sh ON
|
||||||
|
|
||||||
echo "(RE)STARTING 12345.sh"
|
echo "(RE)STARTING 12345.sh"
|
||||||
###################################################
|
###################################################
|
||||||
[[ -s ~/.zen/.pid ]] && kill -9 $(cat ~/.zen/.pid)
|
[[ -s ~/.zen/.pid ]] && kill -9 $(cat ~/.zen/.pid) \
|
||||||
# killall "12345.sh"; killall "_12345.sh"; killall "nc"; killall "command.sh"
|
|| ( killall "12345.sh"; killall "_12345.sh"; killall "nc" )
|
||||||
|
|
||||||
mkdir -p ~/.zen/tmp
|
mkdir -p ~/.zen/tmp
|
||||||
|
|
||||||
~/.zen/Astroport.ONE/12345.sh > ~/.zen/tmp/12345.log &
|
~/.zen/Astroport.ONE/12345.sh > ~/.zen/tmp/12345.log &
|
||||||
echo $! > ~/.zen/.pid && wait
|
echo $! > ~/.zen/.pid
|
||||||
|
|
|
@ -82,7 +82,7 @@ setTimeout(() => {
|
||||||
el.style.visibility = 'visible';
|
el.style.visibility = 'visible';
|
||||||
}, 3000); // 👈️ delay in milliseconds
|
}, 3000); // 👈️ delay in milliseconds
|
||||||
|
|
||||||
var timeLeft = 30;
|
var timeLeft = 2524608000;
|
||||||
var elem = document.getElementById('countdown');
|
var elem = document.getElementById('countdown');
|
||||||
var timerId = setInterval(countdown, 1000);
|
var timerId = setInterval(countdown, 1000);
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>[Astroport] :: Station _HOSTNAME_ :: _IPFSNODEID_ </title>
|
<title>[Astroport] :: Station _HOSTNAME_ :: _IPFSNODEID_ </title>
|
||||||
<link rel="icon" type="image/png" href="http://127.0.0.1:8080/ipfs/QmaCh8mywWfxkXF3JziFzqZS6yZFo3eNS5fSfnzJqdSQvX/logo.png" />
|
<link rel="icon" type="image/png" href="http://127.0.0.1:8080/ipfs/QmaCh8mywWfxkXF3JziFzqZS6yZFo3eNS5fSfnzJqdSQvX/logo.png" />
|
||||||
<link rel="stylesheet" href="http://127.0.0.1:8080/ipfs/QmaCh8mywWfxkXF3JziFzqZS6yZFo3eNS5fSfnzJqdSQvX/decoration.css" type="text/css" />
|
<link rel="stylesheet" href="http://127.0.0.1:8080/ipfs/QmaCh8mywWfxkXF3JziFzqZS6yZFo3eNS5fSfnzJqdSQvX/decoration.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="http://127.0.0.1:8080/ipfs/QmaCh8mywWfxkXF3JziFzqZS6yZFo3eNS5fSfnzJqdSQvX/layout.css" type="text/css" />
|
<link rel="stylesheet" href="http://127.0.0.1:8080/ipfs/QmaCh8mywWfxkXF3JziFzqZS6yZFo3eNS5fSfnzJqdSQvX/layout.css" type="text/css" />
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
|
@ -15,6 +15,9 @@ body {
|
||||||
}
|
}
|
||||||
html {
|
html {
|
||||||
height: 100%
|
height: 100%
|
||||||
|
}
|
||||||
|
header {
|
||||||
|
opacity: 0.8;
|
||||||
}
|
}
|
||||||
input[type=submit] {
|
input[type=submit] {
|
||||||
width: 12em; height: 4em;
|
width: 12em; height: 4em;
|
||||||
|
@ -25,13 +28,20 @@ html {
|
||||||
input {
|
input {
|
||||||
width: 20em; height: 2em;
|
width: 20em; height: 2em;
|
||||||
}
|
}
|
||||||
|
#yellow {
|
||||||
|
background: yellow;
|
||||||
|
position: absolute;
|
||||||
|
top: 40%;
|
||||||
|
left: 60%;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<h6>
|
<h6>
|
||||||
<a href="http://127.0.0.1:1234/"> <span>"/ipfs/</span>TW<span>"</span></a>
|
<a href="http://127.0.0.1:1234/">/ipfs/<span>"TW"</span></a>
|
||||||
</h6>
|
</h6>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
@ -39,29 +49,37 @@ html {
|
||||||
|
|
||||||
<center>
|
<center>
|
||||||
<b>--- Welkom - Mirë se vini - Willkommen - Welkomma - Welcome - Marhaban - Bari galoust - Xos gelmissiniz - Welkum - Ongi etorri- Swagata - Ansuf yiswen - ščyra zaprašajem - Kyo tzo pa eit - Ani kié - Dobro došli - Dagemer mat - Dobre doshŭl - Benvinguts - Ulihebisdi - Huān yíng - Karibu - Eoso eoseyo - Benvenuti - Bel bonjou - Bienvini - Dobrodošli - Velkommen - Bienvenido - Bonvenon - Tere tulemast - Gabitê - Vælkomin - Tervetuloa - Welkom - Wìllkòmme - Binvignut - Fàilte - Benvido - Croeso - Planvenguda - Mikouabô - Kalos irthate - -Eguahé porá - Baroukh habaim - ... ----</b><br>
|
<b>--- Welkom - Mirë se vini - Willkommen - Welkomma - Welcome - Marhaban - Bari galoust - Xos gelmissiniz - Welkum - Ongi etorri- Swagata - Ansuf yiswen - ščyra zaprašajem - Kyo tzo pa eit - Ani kié - Dobro došli - Dagemer mat - Dobre doshŭl - Benvinguts - Ulihebisdi - Huān yíng - Karibu - Eoso eoseyo - Benvenuti - Bel bonjou - Bienvini - Dobrodošli - Velkommen - Bienvenido - Bonvenon - Tere tulemast - Gabitê - Vælkomin - Tervetuloa - Welkom - Wìllkòmme - Binvignut - Fàilte - Benvido - Croeso - Planvenguda - Mikouabô - Kalos irthate - -Eguahé porá - Baroukh habaim - ... ----</b><br>
|
||||||
<h1>Astroport</h1>
|
<header>
|
||||||
|
|
||||||
<form id="formlink" action = "http://127.0.0.1:1234" method = "GET" enctype="application/x-www-form-urlencoded">
|
<form id="formlink" action = "http://127.0.0.1:1234" method = "GET" enctype="application/x-www-form-urlencoded">
|
||||||
|
<h1><span>Astroport</span> Ŋ0</h1>
|
||||||
<br>
|
<br>
|
||||||
<b>Activez votre BunkedBOX</b></br></br>
|
<input type='hidden' name='salt' value='0'></br></br>
|
||||||
Phrase 1 : <input name=salt value=''></br>
|
<input type='hidden' name='pepper' value='0'></br></br>
|
||||||
Phrase 2 : <input name=pepper value=''></br></br>
|
<h2><span>ENREGISTREZ VOS VIDEOS YOUTUBE FAVORITES</span></h2><input type="hidden" name=g1pub value='https://www.youtube.com/playlist?list=LL'></br>
|
||||||
<b>COPIEZ VOS VIDEOS YOUTUBE FAVORITES</b><input type="hidden" name=g1pub value='https://www.youtube.com/playlist?list=LL'></br>
|
<span>Email : </span><input name=email value=''></br></br>
|
||||||
Email : <input name=email value=''></br></br>
|
<input type='submit' value='[(♥‿‿♥)]'>
|
||||||
<input type='submit' value='(☼‿‿☼)'>
|
|
||||||
</form>
|
</form>
|
||||||
|
<div id="yellow">
|
||||||
|
<h3><a href="http://127.0.0.1:12345"> >>> (◕‿‿◕) <<< </a></h3>
|
||||||
|
</div>
|
||||||
</h2>
|
</h2>
|
||||||
|
</br>
|
||||||
<p>
|
<p>
|
||||||
<b>Besoin d'aide ? Contactez support@qo-op.com</b>
|
<b>Besoin d'aide ? Contactez support@qo-op.com</b>
|
||||||
</p>
|
</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
</center>
|
</center>
|
||||||
|
|
||||||
<article>
|
<article>
|
||||||
<div class="row justify-center">
|
<div class="row justify-center">
|
||||||
<h1 class="video-title">
|
<h1 class="video-title">
|
||||||
<a href="https://git.p2p.legal/qo-op/Astroport.ONE" target="code">CODE : Astroport.ONE - BunkedBOX edition -</a><br>
|
<center><a href="https://twitch.com/zicmama" target="twitch">COCODING TWITCH TW</a><br></center><br>
|
||||||
<a target="code" href="http://opencollective.com/monnaie-libre/projects/bunker-box">Recopiez les vidéos que vous aimez dans les capsules multimédia de votre TW, dans IPFS et les partager entre amis!
|
<a href="https://astroport.com">Astroport.ONE</a>
|
||||||
Devenez propriétaire d'INTERNET. Rendez in-censurable, in-arrêtable la liberté d'expression. LE PROJET!</a>
|
<a href="https://git.p2p.legal/qo-op/Astroport.ONE" target="code">- ♥BOX Edition - </a>
|
||||||
|
<a href="https://olympe.network">Olympe.Network</a><br>
|
||||||
|
<a target="code" href="http://opencollective.com/monnaie-libre/projects/bunker-box">Recopiez les vidéos que vous aimez dans les capsules multimédia de votre TW!
|
||||||
|
<br>Une fois votre G1Visa obtenu, direction <a target="gchange" href="https://gchange.fr">https://gchange.fr</a> !</a>
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
@ -115,11 +133,17 @@ Take possession of your TW. Make freedom of expression uncensurable, unstoppable
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
const el = document.getElementById('yellow');
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
el.style.visibility = 'visible';
|
||||||
|
}, 23456); // 👈️ delay in milliseconds
|
||||||
|
|
||||||
var arrTimes = [];
|
var arrTimes = [];
|
||||||
var i = 0; // start
|
var i = 0; // start
|
||||||
var timesToTest = 3;
|
var timesToTest = 3;
|
||||||
var tThreshold = 300; //ms
|
var tThreshold = 300; //ms
|
||||||
var testImage = "http://libra.copylaradio.com:8080/ipfs/QmUUyiuCM4yXgaeGyqC2SVUUXZksuxhDfHQYpUpZPuL2oS/astroport.jpg"; // small image in your server
|
var testImage = "https://ipfs.copylaradio.com/ipfs/QmUUyiuCM4yXgaeGyqC2SVUUXZksuxhDfHQYpUpZPuL2oS/astroport.jpg"; // small image in your server
|
||||||
var dummyImage = new Image();
|
var dummyImage = new Image();
|
||||||
var isConnectedFast = false;
|
var isConnectedFast = false;
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -26,7 +26,7 @@ PSEUDO=$(cat ~/.zen/game/players/${PLAYER}/.pseudo 2>/dev/null)
|
||||||
ASTRONS=$(cat ~/.zen/game/players/${PLAYER}/.playerns 2>/dev/null)
|
ASTRONS=$(cat ~/.zen/game/players/${PLAYER}/.playerns 2>/dev/null)
|
||||||
|
|
||||||
## REFRESH ASTRONAUTE TW
|
## REFRESH ASTRONAUTE TW
|
||||||
ASTRONAUTENS=$(ipfs key list -l | grep ${PLAYER} | cut -d ' ' -f1)
|
ASTRONAUTENS=$(ipfs key list -l | grep -w ${PLAYER} | cut -d ' ' -f1)
|
||||||
[[ ! $ASTRONAUTENS ]] && echo "WARNING No ${PLAYER} in keystore -- EXIT" && exit 1
|
[[ ! $ASTRONAUTENS ]] && echo "WARNING No ${PLAYER} in keystore -- EXIT" && exit 1
|
||||||
[[ ! -f ~/.zen/game/players/${PLAYER}/QR.png ]] && echo "NOT MY ${PLAYER} -- EXIT" && exit 1
|
[[ ! -f ~/.zen/game/players/${PLAYER}/QR.png ]] && echo "NOT MY ${PLAYER} -- EXIT" && exit 1
|
||||||
|
|
||||||
|
|
|
@ -78,11 +78,14 @@ if [[ $SALT != "" && PEPPER != "" ]]; then
|
||||||
IPNSTAIL=$(echo $ASTROPORT | rev | cut -f 1 -d '/' | rev)
|
IPNSTAIL=$(echo $ASTROPORT | rev | cut -f 1 -d '/' | rev)
|
||||||
echo "TW ASTROPORT GATEWAY : ${ASTROPORT}"
|
echo "TW ASTROPORT GATEWAY : ${ASTROPORT}"
|
||||||
|
|
||||||
|
[[ $IPNSTAIL == "_ASTROPORT_" ]] \
|
||||||
|
&& echo "GET CYBERSPACE TW : TODO CONNECT TO DOCK"
|
||||||
|
|
||||||
[[ $IPNSTAIL == $IPFSNODEID ]] \
|
[[ $IPNSTAIL == $IPFSNODEID ]] \
|
||||||
&& echo "UPDATING $PLAYER LOCAL CACHE ~/.zen/game/players/$PLAYER/ipfs/moa" \
|
&& echo "UPDATING $PLAYER LOCAL CACHE ~/.zen/game/players/$PLAYER/ipfs/moa" \
|
||||||
&& mkdir -p ~/.zen/game/players/$PLAYER/ipfs/moa \
|
&& mkdir -p ~/.zen/game/players/$PLAYER/ipfs/moa \
|
||||||
&& cp ~/.zen/tmp/${MOATS}/TW/index.html ~/.zen/game/players/$PLAYER/ipfs/moa/ \
|
&& cp ~/.zen/tmp/${MOATS}/TW/index.html ~/.zen/game/players/$PLAYER/ipfs/moa/ \
|
||||||
|| echo "PLAYER on $ASTROPORT Station"
|
|| echo "PLAYER CONNECTED TO $ASTROPORT STATION"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -97,7 +100,7 @@ if [[ $SALT != "" && PEPPER != "" ]]; then
|
||||||
|
|
||||||
fi
|
fi
|
||||||
################################################################################
|
################################################################################
|
||||||
TWMODEL="/ipfs/bafybeichgkzj5tkf3zuobrxqxr2evomuedsehfagstcel72gqy4lai3kqa"
|
TWMODEL="/ipfs/bafybeiel2pidycxek6jxjwat5wt4estn2fm4phhvhmlmmhq7dcltbp7nsi"
|
||||||
# ipfs cat $TWMODEL > templates/twdefault.html
|
# ipfs cat $TWMODEL > templates/twdefault.html
|
||||||
##################################################### # NEW PLAYER ###############
|
##################################################### # NEW PLAYER ###############
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -192,6 +195,9 @@ NID="${myIPFSGW}" && WID="$NID/api"
|
||||||
cp ~/.zen/game/players/$PLAYER/QR.png ~/.zen/game/players/$PLAYER/ipfs/QR.png
|
cp ~/.zen/game/players/$PLAYER/QR.png ~/.zen/game/players/$PLAYER/ipfs/QR.png
|
||||||
echo "$G1PUB" > ~/.zen/game/players/$PLAYER/ipfs/G1SSB/_g1.pubkey # G1SSB NOTATION (astrXbian compatible)
|
echo "$G1PUB" > ~/.zen/game/players/$PLAYER/ipfs/G1SSB/_g1.pubkey # G1SSB NOTATION (astrXbian compatible)
|
||||||
|
|
||||||
|
qrencode -s 12 -o ~/.zen/game/players/$PLAYER/QR.ASTRONAUTENS.png "https://ipfs.copylaradio.com/ipns/${ASTRONAUTENS}"
|
||||||
|
|
||||||
|
|
||||||
## SEC PASS PROTECTED QRCODE
|
## SEC PASS PROTECTED QRCODE
|
||||||
secFromDunikey=$(cat ~/.zen/game/players/$PLAYER/secret.dunikey | grep "sec" | cut -d ' ' -f2)
|
secFromDunikey=$(cat ~/.zen/game/players/$PLAYER/secret.dunikey | grep "sec" | cut -d ' ' -f2)
|
||||||
echo "$secFromDunikey" > ~/.zen/tmp/${MOATS}/${PSEUDO}.sec
|
echo "$secFromDunikey" > ~/.zen/tmp/${MOATS}/${PSEUDO}.sec
|
||||||
|
@ -282,20 +288,27 @@ NID="${myIPFSGW}" && WID="$NID/api"
|
||||||
|
|
||||||
## ID CARD & QRCODE
|
## ID CARD & QRCODE
|
||||||
convert ~/.zen/game/players/$PLAYER/QR.png -resize 300 ~/.zen/tmp/${MOATS}/QR.png
|
convert ~/.zen/game/players/$PLAYER/QR.png -resize 300 ~/.zen/tmp/${MOATS}/QR.png
|
||||||
convert ${MY_PATH}/../images/astroport.jpg -resize 300 ~/.zen/tmp/${MOATS}/ASTROPORT.png
|
convert ~/.zen/game/players/$PLAYER/QR.ASTRONAUTENS.png -resize 240 ~/.zen/tmp/${MOATS}/TW.png
|
||||||
|
convert ${MY_PATH}/../images/astroport.jpg -resize 240 ~/.zen/tmp/${MOATS}/ASTROPORT.png
|
||||||
|
|
||||||
|
|
||||||
composite -compose Over -gravity SouthWest -geometry +280+20 ~/.zen/tmp/${MOATS}/ASTROPORT.png ${MY_PATH}/../images/Brother_600x400.png ~/.zen/tmp/${MOATS}/astroport.png
|
composite -compose Over -gravity SouthWest -geometry +280+20 ~/.zen/tmp/${MOATS}/ASTROPORT.png ${MY_PATH}/../images/Brother_600x400.png ~/.zen/tmp/${MOATS}/astroport.png
|
||||||
composite -compose Over -gravity NorthWest -geometry +0+0 ~/.zen/tmp/${MOATS}/QR.png ~/.zen/tmp/${MOATS}/astroport.png ~/.zen/tmp/${MOATS}/one.png
|
composite -compose Over -gravity East -geometry +0+0 ~/.zen/tmp/${MOATS}/TW.png ~/.zen/tmp/${MOATS}/astroport.png ~/.zen/tmp/${MOATS}/astroport2.png
|
||||||
|
composite -compose Over -gravity NorthWest -geometry +0+0 ~/.zen/tmp/${MOATS}/QR.png ~/.zen/tmp/${MOATS}/astroport2.png ~/.zen/tmp/${MOATS}/one.png
|
||||||
# composite -compose Over -gravity NorthWest -geometry +280+280 ~/.zen/game/players/.current/QRsec.png ~/.zen/tmp/${MOATS}/one.png ~/.zen/tmp/${MOATS}/image.png
|
# composite -compose Over -gravity NorthWest -geometry +280+280 ~/.zen/game/players/.current/QRsec.png ~/.zen/tmp/${MOATS}/one.png ~/.zen/tmp/${MOATS}/image.png
|
||||||
|
|
||||||
convert -gravity northwest -pointsize 35 -fill black -draw "text 50,300 \"$PSEUDO\"" ~/.zen/tmp/${MOATS}/one.png ~/.zen/tmp/${MOATS}/image.png
|
convert -gravity northwest -pointsize 35 -fill black -draw "text 50,300 \"$PSEUDO\"" ~/.zen/tmp/${MOATS}/one.png ~/.zen/tmp/${MOATS}/image.png
|
||||||
convert -gravity northwest -pointsize 25 -fill black -draw "text 300,40 \"$PLAYER\"" ~/.zen/tmp/${MOATS}/image.png ~/.zen/tmp/${MOATS}/pseudo.png
|
convert -gravity northwest -pointsize 25 -fill black -draw "text 300,40 \"$PLAYER\"" ~/.zen/tmp/${MOATS}/image.png ~/.zen/tmp/${MOATS}/pseudo.png
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
convert -gravity northeast -pointsize 25 -fill black -draw "text 20,180 \"$PASS\"" ~/.zen/tmp/${MOATS}/pseudo.png ~/.zen/tmp/${MOATS}/pass.png
|
convert -gravity northeast -pointsize 25 -fill black -draw "text 20,180 \"$PASS\"" ~/.zen/tmp/${MOATS}/pseudo.png ~/.zen/tmp/${MOATS}/pass.png
|
||||||
convert -gravity northwest -pointsize 25 -fill black -draw "text 300,100 \"$SALT\"" ~/.zen/tmp/${MOATS}/pass.png ~/.zen/tmp/${MOATS}/salt.png
|
convert -gravity northwest -pointsize 25 -fill black -draw "text 300,100 \"$SALT\"" ~/.zen/tmp/${MOATS}/pass.png ~/.zen/tmp/${MOATS}/salt.png
|
||||||
convert -gravity northwest -pointsize 25 -fill black -draw "text 300,140 \"$PEPPER\"" ~/.zen/tmp/${MOATS}/salt.png ~/.zen/game/players/$PLAYER/ID.png
|
convert -gravity northwest -pointsize 25 -fill black -draw "text 300,140 \"$PEPPER\"" ~/.zen/tmp/${MOATS}/salt.png ~/.zen/game/players/$PLAYER/ID.png
|
||||||
|
|
||||||
# INSERTED IMAGE IPFS
|
# INSERTED IMAGE IPFS
|
||||||
IASTRO=$(ipfs add -Hq ~/.zen/game/players/$PLAYER/ID.png | tail -n 1)
|
# IASTRO=$(ipfs add -Hq ~/.zen/game/players/$PLAYER/ID.png | tail -n 1) ## G1VISA PUBLIC / PRIVATE
|
||||||
|
IASTRO=$(ipfs add -Hq ~/.zen/tmp/${MOATS}/pseudo.png | tail -n 1) ## G1VISA PUBLIC ONLY
|
||||||
sed -i "s~bafybeidhghlcx3zdzdah2pzddhoicywmydintj4mosgtygr6f2dlfwmg7a~${IASTRO}~g" ~/.zen/game/players/$PLAYER/ipfs/moa/index.html
|
sed -i "s~bafybeidhghlcx3zdzdah2pzddhoicywmydintj4mosgtygr6f2dlfwmg7a~${IASTRO}~g" ~/.zen/game/players/$PLAYER/ipfs/moa/index.html
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
@ -325,8 +338,6 @@ NID="${myIPFSGW}" && WID="$NID/api"
|
||||||
echo "$SALT" > ~/.zen/game/players/$PLAYER/secret.june
|
echo "$SALT" > ~/.zen/game/players/$PLAYER/secret.june
|
||||||
echo "$PEPPER" >> ~/.zen/game/players/$PLAYER/secret.june
|
echo "$PEPPER" >> ~/.zen/game/players/$PLAYER/secret.june
|
||||||
|
|
||||||
qrencode -s 12 -o "$HOME/.zen/game/players/$PLAYER/QR.ASTRONAUTENS.png" "https://ipfs.copylaradio.com/ipns/${ASTRONAUTENS}"
|
|
||||||
|
|
||||||
echo; echo "Création Clefs et QR codes pour accès au niveau Astroport Ŋ1"; sleep 1
|
echo; echo "Création Clefs et QR codes pour accès au niveau Astroport Ŋ1"; sleep 1
|
||||||
|
|
||||||
echo "--- PLAYER : $PLAYER";
|
echo "--- PLAYER : $PLAYER";
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
#shellcheck shell=sh
|
||||||
|
|
||||||
|
myHash() {
|
||||||
|
[ -f ~/.zen/game/players/localhost/latest ] \
|
||||||
|
&& myHash=$(cat ~/.zen/game/players/localhost/latest) \
|
||||||
|
|| myHash=$(template_register |ipfs add -q)
|
||||||
|
[ ! -f ~/.zen/game/players/localhost/latest ] \
|
||||||
|
&& echo "$myHash" > ~/.zen/game/players/localhost/latest
|
||||||
|
[ -n "$myHash" ] \
|
||||||
|
&& echo "$myHash"
|
||||||
|
}
|
||||||
|
|
||||||
|
myHttp() {
|
||||||
|
echo "$(myHttpHeader)"
|
||||||
|
echo
|
||||||
|
echo "$(myHttpContent)"
|
||||||
|
}
|
||||||
|
|
||||||
|
myIpfs() {
|
||||||
|
myIpfs=${myIPFS}/ipfs/$(myHash)
|
||||||
|
echo "$myIpfs"
|
||||||
|
}
|
||||||
|
|
||||||
|
myIpns() {
|
||||||
|
myIpns=${myIPFS}/ipns/$(myKey)
|
||||||
|
echo "$myIpns"
|
||||||
|
}
|
||||||
|
|
||||||
|
myKey() {
|
||||||
|
myKey=$(ipfs key list -l | awk '$2 == "self" {print $1}')
|
||||||
|
[ -n "$myKey" ] && echo "$myKey"
|
||||||
|
}
|
||||||
|
|
||||||
|
myHttpContent() {
|
||||||
|
myHash=$(myHash)
|
||||||
|
myHttpContent="<html><head><title>302 Found</title></head><body><h1>Found</h1>
|
||||||
|
<p>The document has moved <a href="ipfs/$myHash">here</a>.</p></body></html>"
|
||||||
|
echo "$myHttpContent"
|
||||||
|
}
|
||||||
|
|
||||||
|
myHttpHeader() {
|
||||||
|
myHttpContent=$(myHttpContent)
|
||||||
|
myHttpHeader="HTTP/1.0 302 Found
|
||||||
|
Content-Type: text/html; charset=UTF-8
|
||||||
|
Content-Length: $(myHttpContent |wc -c)
|
||||||
|
Date: $(date -R)
|
||||||
|
Location: ipfs/$myHash
|
||||||
|
set-cookie: AND=$myKey; expires=$(date -R -d "+1 month"); path=/; domain=.$myDomainName; Secure; SameSite=lax
|
||||||
|
Server: and"
|
||||||
|
echo "$myHttpHeader"
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
#shellcheck shell=sh
|
||||||
|
|
||||||
|
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
||||||
|
IPFSNODEID=$(jq -r .Identity.PeerID ~/.ipfs/config)
|
||||||
|
myIP=$(hostname -I | awk '{print $1}' | head -n 1)
|
||||||
|
isLAN=$(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])/")
|
||||||
|
|
||||||
|
myDomainName=$(hostname -d 2>/dev/null) && [ -z "$myDomainName" ] && myDomainName=$(domainname 2>/dev/null) && [ "$myDomainName" = "(none)" ] && myDomainName="localhost"
|
||||||
|
myHostName=$(hostname |sed 's/\.'${myDomainName}'$//')
|
||||||
|
[ -n "$myDomainName" ] && myHostName="${myHostName}.${myDomainName}" || myDomainName=${myHostName#*.}
|
||||||
|
[ -z "$myDomainName" ] && myDomainName=localhost
|
||||||
|
myHOST="astroport.${myDomainName}"
|
||||||
|
myIPFS="http://ipfs.${myDomainName}:8080"
|
||||||
|
myASTROPORT="http://astroport.${myDomainName}:1234"
|
||||||
|
|
||||||
|
[ -z "$isLAN" ] && myIPFS="https://ipfs.${myDomainName}" && myASTROPORT="https://astroport.${myDomainName}" ||: ## WAN STATION
|
|
@ -189,6 +189,7 @@ echo "-----------------------------------------------------------------"
|
||||||
startipfs=`date +%s`
|
startipfs=`date +%s`
|
||||||
|
|
||||||
echo "ADDING FILE SIZE = $FILE_SIZE ($FILE_BSIZE octets)"
|
echo "ADDING FILE SIZE = $FILE_SIZE ($FILE_BSIZE octets)"
|
||||||
|
espeak "Adding $FILE_SIZE file" 2>&1 > /dev/null
|
||||||
IPFS=$(ipfs add -wq "${path}${file}")
|
IPFS=$(ipfs add -wq "${path}${file}")
|
||||||
IPFSREPFILEID=$(echo $IPFS | cut -d ' ' -f 2)
|
IPFSREPFILEID=$(echo $IPFS | cut -d ' ' -f 2)
|
||||||
IPFSID=$(echo $IPFS | cut -d ' ' -f 1)
|
IPFSID=$(echo $IPFS | cut -d ' ' -f 1)
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
#shellcheck shell=sh
|
||||||
|
|
||||||
|
template_register() {
|
||||||
|
[ -n "$isLAN" ] \
|
||||||
|
&& SED_SCRIPT='sed -e "s~<input type='"'hidden'"' name='"'salt'"' value='"'0'"'>~<input name='"'salt'"' value='"''"'>~g"
|
||||||
|
-e "s~<input type='"'hidden'"' name='"'pepper'"' value='"'0'"'>~<input name='"'pepper'"' value='"''"'>~g"' \
|
||||||
|
|| SED_SCRIPT='tee'
|
||||||
|
$RUN sed \
|
||||||
|
-e "s~\"http://127.0.0.1:1234/\"~\"${myIPFS}/\"~g" \
|
||||||
|
-e "s~\"http://127.0.0.1:1234\"~\"${myASTROPORT}\"~g" \
|
||||||
|
-e "s~http://127.0.0.1:8080~${myIPFS}~g" \
|
||||||
|
-e "s~http://127.0.0.1:12345~http://${myHOST}:12345~g" \
|
||||||
|
-e "s~_IPFSNODEID_~${IPFSNODEID}~g" \
|
||||||
|
-e "s~_HOSTNAME_~$(hostname)~g" \
|
||||||
|
-e "s~.000.~.$(printf '%03d' $(seq 0 17 |shuf -n 1)).~g" \
|
||||||
|
~/.zen/Astroport.ONE/templates/register.html | \
|
||||||
|
eval ${SED_SCRIPT:-tee}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue