diff --git a/API/QRCODE.sh b/API/QRCODE.sh index 5e4f1aa6..75e3a9cf 100755 --- a/API/QRCODE.sh +++ b/API/QRCODE.sh @@ -100,7 +100,7 @@ if [[ ${QRCODE} == "station" ]]; then ISTATION=$(cat ~/.zen/tmp/ISTATION) fi ## SHOW G1PALPAY FRONT (IFRAME) - sed "s~_STATION_~${myIPFS}${ISTATION}/~g" $MY_PATH/../templates/G1PalPay/index.html > ~/.zen/tmp/${MOATS}/index.htm + sed "s~_STATION_~${myIPFS}${ISTATION}/~g" $MY_PATH/../templates/ZenStation/index.html > ~/.zen/tmp/${MOATS}/index.htm [[ ! $isLAN ]] && sed -i "s~MENU~DEMO~g" ~/.zen/tmp/${MOATS}/index.htm sed -i "s~http://127.0.0.1:8080~${myIPFS}~g" ~/.zen/tmp/${MOATS}/index.htm sed -i "s~http://127.0.0.1:33101~${myG1BILLET}~g" ~/.zen/tmp/${MOATS}/index.htm diff --git a/BOOSTRAP/OC_API.md b/BOOSTRAP/OC_API.md new file mode 100644 index 00000000..392ae2a1 --- /dev/null +++ b/BOOSTRAP/OC_API.md @@ -0,0 +1,14 @@ +# UPlanet OC App +https://docs.opencollective.com/help/developers/oauth#3.-use-the-access-token-to-access-the-api + +HOWTO GRAPHQLv2 +https://medium.com/open-collective/open-collective-graphql-api-preview-3b42ed1d55ff +https://til.simonwillison.net/graphql/graphql-with-curl + +https://opencollective.com/made-in-zen/members/all.json?limit=10&offset=0 + +https://opencollective.com/oauth/authorize?client_id=e95ce84b6df50f7e554f&response_type=code + +https://ipfs.copylaradio.com/ipns/copylaradio.com/?code=16fd94e0d84ce55afaab42b2006e7cef591e6f391d764030be5351220671cfae&state=null + +https://opencollective.com/oauth/token?grant_type=authorization_code&client_id=e95ce84b6df50f7e554f&client_secret=0eb246d4d2afe21154a83f42201b7d0ecf1e8a36&code=16fd94e0d84ce55afaab42b2006e7cef591e6f391d764030be5351220671cfae&https://opencollective.com/oauth/token?grant_type=authorization_code&client_id=e95ce84b6df50f7e554f&client_secret=0eb246d4d2afe21154a83f42201b7d0ecf1e8a36&code=16fd94e0d84ce55afaab42b2006e7cef591e6f391d764030be5351220671cfaehttps://opencollective.com/oauth/token?grant_type=authorization_code&client_id=e95ce84b6df50f7e554f&client_secret=0eb246d4d2afe21154a83f42201b7d0ecf1e8a36&code=16fd94e0d84ce55afaab42b2006e7cef591e6f391d764030be5351220671cfaehttps://opencollective.com/oauth/token?grant_type=authorization_code&client_id=e95ce84b6df50f7e554f&client_secret=0eb246d4d2afe21154a83f42201b7d0ecf1e8a36&code=16fd94e0d84ce55afaab42b2006e7cef591e6f391d764030be5351220671cfae&redirect_uri=https://ipfs.copylaradio.com/ipns/copylaradio.com diff --git a/README.md b/README.md index 1033dd2b..9af356e2 100644 --- a/README.md +++ b/README.md @@ -219,7 +219,7 @@ async function fetchAstroport(myURL) { } ``` -USE "[astro.js](templates/G1PalPay/G1PalPay_fichiers/astro.js)" +USE "[astro.js](templates/ZenStation/G1PalPay_fichiers/astro.js)" ``` ``` diff --git a/RUNTIME/PLAYER.refresh.sh b/RUNTIME/PLAYER.refresh.sh index ca9ccc8f..d824c1fc 100755 --- a/RUNTIME/PLAYER.refresh.sh +++ b/RUNTIME/PLAYER.refresh.sh @@ -21,6 +21,8 @@ echo "FOUND : ${PLAYERONE[@]}" echo "CLEANING UPLANET KEYS ~/.zen/tmp/${IPFSNODEID}/UPLANET/_*_*" rm -Rf ~/.zen/tmp/${IPFSNODEID}/UPLANET/_*_* +echo "CLEANING TW KEYS ~/.zen/tmp/${IPFSNODEID}/TW/" +rm -Rf ~/.zen/tmp/${IPFSNODEID}/TW/ ## RUNING FOR ALL LOCAL PLAYERS for PLAYER in ${PLAYERONE[@]}; do @@ -36,6 +38,7 @@ for PLAYER in ${PLAYERONE[@]}; do ### UPGRADE PLAYER for myos IPFS API ### DOUBLON WITH VISA.new (TO REMOVE) mkdir -p ~/.zen/game/players/${PLAYER}/.ipfs # Prepare PLAYER datastructure echo "/ip4/127.0.0.1/tcp/5001" > ~/.zen/game/players/${PLAYER}/.ipfs/api + ######## WORK IN PROGRESS #### myos integration MOATS=$(date -u +"%Y%m%d%H%M%S%4N") mkdir -p ~/.zen/tmp/${MOATS} @@ -48,15 +51,16 @@ for PLAYER in ${PLAYERONE[@]}; do ASTRONS=$(cat ~/.zen/game/players/${PLAYER}/.playerns 2>/dev/null) # Get PLAYER wallet amount COINS=$($MY_PATH/../tools/COINScheck.sh $G1PUB | tail -n 1) - echo "+++ WALLET BALANCE _ $COINS (G1) _" - #~ ## IF WALLET IS EMPTY : WHAT TODO ? + ZEN=$(echo "($COINS - 1) * 10" | bc | cut -d '.' -f 1) + echo "+++ WALLET BALANCE _ $COINS (G1) _ / $ZEN ZEN /" + + #~ ## ZENCARD ARE ACTIVATED WITH 1 G1 + 10 ZEN (= 1 €OC) ? echo "##################################################################" echo "##################################################################" echo "################### REFRESH ASTRONAUTE TW ###########################" echo "##################################################################" - ## REFRESH ASTRONAUTE TW ASTRONAUTENS=$(ipfs key list -l | grep -w ${G1PUB} | cut -d ' ' -f1) @@ -71,24 +75,21 @@ for PLAYER in ${PLAYERONE[@]}; do ${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/feed.ipfskey "$SALT" "$G1PUB" FEEDNS=$(ipfs key import "${PLAYER}_feed" -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/feed.ipfskey) - ## + ## IF ASTRONS="" KEY WILL BE DELETED AFTER REFRESH ASTRONAUTENS=$ASTRONS && ASTRONS="" fi - [[ ! ${ASTRONAUTENS} ]] && echo "ERROR BAD ${PLAYER} - CONTINUE" && continue echo ">>> $myIPFS/ipns/${ASTRONAUTENS}" - ## REFRESH PLAYER IN STATION CACHE - rm -Rf ~/.zen/tmp/${IPFSNODEID}/TW/${PLAYER}/ + ## ACTIVATE PLAYER TW IN STATION CACHE mkdir -p ~/.zen/tmp/${IPFSNODEID}/TW/${PLAYER}/ ################### GET LATEST TW - echo "Getting latest online TW..." - echo "/ipns/${ASTRONAUTENS}" - rm ~/.zen/tmp/${IPFSNODEID}/TW/${PLAYER}/index.html 2>/dev/null + echo "GETTING TW..." + ipfs --timeout 480s get -o ~/.zen/tmp/${IPFSNODEID}/TW/${PLAYER}/index.html /ipns/${ASTRONAUTENS} ## PLAYER TW IS ONLINE ? @@ -97,17 +98,34 @@ for PLAYER in ${PLAYERONE[@]}; do NOWCHAIN=$(cat ~/.zen/game/players/${PLAYER}/ipfs/moa/.chain) LASTCHAIN=$(cat ~/.zen/game/players/${PLAYER}/ipfs/moa/.chain.* | tail -n 1) echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - echo "ERROR_PLAYERTW_OFFLINE : /ipns/${ASTRONAUTENS}" - echo "------------------------------------------------" - echo ">> MANUAL CONTROL NEEDED" + echo "TW REFRESH FAILED : $myIPFS/ipns/${ASTRONAUTENS}" + echo ">> %%% WARNING %%%" echo "------------------------------------------------" echo "LAST : ${myIPFS}/ipfs/${LASTCHAIN}" echo "NOW : ${myIPFS}/ipfs/${NOWCHAIN}" - echo "" - echo "ipfs name publish --key=${PLAYER} /ipfs/${NOWCHAIN}" echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + ## SEND AN EMAIL ALERT TO PLAYER + echo "TW REFRESH FAILED : $myIPFS/ipns/${ASTRONAUTENS}" > ~/.zen/tmp/result + echo "------------------------------------------------" >> ~/.zen/tmp/result + echo "" >> ~/.zen/tmp/result + echo "NOW CHAIN : ${myIPFS}/ipfs/${NOWCHAIN}" >> ~/.zen/tmp/result + echo "PREVIOUS : ${myIPFS}/ipfs/${LASTCHAIN}" >> ~/.zen/tmp/result + echo "" >> ~/.zen/tmp/result + echo " %%% WARNING %%%" >> ~/.zen/tmp/result + echo "------------------------------------------------" >> ~/.zen/tmp/result + echo "PLEASE REPAIR BY SAVING ONLINE" >> ~/.zen/tmp/result + echo "OR RUNNING CLI COMMAND : ipfs name publish --key=${PLAYER} /ipfs/${NOWCHAIN}" >> ~/.zen/tmp/result - echo "TW REFRESH HAS FAILED... USE IT ONLINE : ${myIPFS}/ipfs/${NOWCHAIN}" > ~/.zen/tmp/result + try=$(cat ~/.zen/game/players/${PLAYER}/ipfs/moa/.try 2>/dev/null) || try=3 + + [[ $try == 0 ]] \ + && echo "PLAYER ${PLAYER} UNPLUG" \ + && ${MY_PATH}/../tools/PLAYER.unplug.sh ~/.zen/game/players/${PLAYER}/ipfs/moa/index.html ${PLAYER} \ + && continue + + try=$((try-1)) + echo "$try" > ~/.zen/game/players/${PLAYER}/ipfs/moa/.try + echo " %%% WARNING %%% ${PLAYER} STATION UNPLUG IN $try DAY(S)." >> ~/.zen/tmp/result $MY_PATH/../tools/mailjet.sh "${PLAYER}" ~/.zen/tmp/result continue @@ -143,6 +161,8 @@ for PLAYER in ${PLAYERONE[@]}; do IPNSTAIL=$(echo ${ASTROPORT} | rev | cut -f 1 -d '/' | rev) # Remove "/ipns/" part echo "TW ASTROPORT GATEWAY : ${ASTROPORT}" + ###################################### + #### UPLANET GEO COORD EXTRACTION ## GET "GPS" TIDDLER - 0.00 0.00 (if empty: null) tiddlywiki --load ~/.zen/tmp/${IPFSNODEID}/TW/${PLAYER}/index.html \ --output ~/.zen/tmp/${MOATS} \ @@ -167,7 +187,7 @@ for PLAYER in ${PLAYERONE[@]}; do if [[ ${IPNSTAIL} != ${IPFSNODEID} || ${IPNSTAIL} == "_ASTROPORT_" ]]; then echo "> I AM ${IPFSNODEID} : PLAYER MOVED TO ${IPNSTAIL} : EJECTION " echo "UNPLUG PLAYER" - ${MY_PATH}/../tools/PLAYER.unplug.sh "${HOME}/.zen/game/players/${PLAYER}/ipfs/moa/index.html" "${PLAYER}" "FREE" + ${MY_PATH}/../tools/PLAYER.unplug.sh "${HOME}/.zen/game/players/${PLAYER}/ipfs/moa/index.html" "${PLAYER}" "ONE" echo ">>>> ASTRONAUT ${PLAYER} TW CAPSULE EJECTION TERMINATED" continue fi @@ -180,18 +200,18 @@ for PLAYER in ${PLAYERONE[@]}; do ############################################################## echo "##################################################################" - [[ ${COINS} > 100 ]] \ + [[ ${COINS} >= 2 ]] \ && echo "## Connect_PLAYER_To_Gchange.sh" \ && ${MY_PATH}/../tools/Connect_PLAYER_To_Gchange.sh "${PLAYER}" \ - || echo "1000 ẑen needed to activate star system" + || echo "1 G1 + 10 ẑen needed to activate ★★★★★ system" - # G1PalPay - 10 ZEN mini -> Check for G1 TX incoming comments # + # G1PalPay - 1 G1 + 10 ZEN mini -> Check for G1 TX incoming comments # [[ ${COINS} > 1 ]] \ - && echo "## RUNNING G1PalPay " \ + && echo "## RUNNING G1PalPay Wallet Monitoring " \ && ${MY_PATH}/G1PalPay.sh ${HOME}/.zen/tmp/${IPFSNODEID}/TW/${PLAYER}/index.html "${PLAYER}" \ - || echo "> INSUFFICIENT ${COINS} - 10 ẑen minimum" + || echo "> ZenCard is not activated ($ZEN)" - ### CHECK FOR pending (TODO) + ### CHECK FOR pending (TODO! In case PAY4SURE have abandonned pendings) ############### @@ -226,11 +246,15 @@ for PLAYER in ${PLAYERONE[@]}; do #~ echo '[{"title":"$:/ipfs/saver/api/http/localhost/5001","tags":"$:/ipfs/core $:/ipfs/saver/api","text":"'$(myPlayerApiGw)'"}]' > ~/.zen/tmp/${MOATS}/5001.json #~ echo '[{"title":"$:/ipfs/saver/gateway/http/localhost","tags":"$:/ipfs/core $:/ipfs/saver/gateway","text":"'$myIPFS'"}]' > ~/.zen/tmp/${MOATS}/8080.json - #~ ## COPY DATA PRODUCED BY GCHANGE STAR EXTRACTION - #~ FRIENDSFEEDS=$(cat ~/.zen/tmp/${IPFSNODEID}/RSS/${PLAYER}/FRIENDSFEEDS 2>/dev/null) - #~ echo "FRIENDS qo-op FEEDS : "${FRIENDSFEEDS} + ## COPY DATA PRODUCED BY GCHANGE STAR EXTRACTION + FRIENDSFEEDS=$(cat ~/.zen/tmp/${IPFSNODEID}/RSS/${PLAYER}/FRIENDSFEEDS 2>/dev/null) + echo "★★★★★ FRIENDS FEEDS : "${FRIENDSFEEDS} + ASTRONAUTES=$(cat ~/.zen/tmp/${IPFSNODEID}/RSS/${PLAYER}/ASTRONAUTES 2>/dev/null) + echo "★★★★★ FRIENDS TW : "${ASTRONAUTES} + + ## Change TW FRIENDFEED ie PLAYER RSS IPNS (must fix TW plugin to work) #~ echo '[{"title":"$:/plugins/astroport/lightbeams/state/subscriptions","text":"'${FRIENDSFEEDS}'","tags":""}]' > ~/.zen/tmp/${MOATS}/friends.json - #~ ## ADD --import "$HOME/.zen/tmp/${MOATS}/friends.json" "application/json" \ ## MANUAL TW RSS REGISTRATION + #~ ## ADD --import "$HOME/.zen/tmp/${MOATS}/friends.json" "application/json" \ ## MANUAL TW RSS REGISTRATION ## WRITE TIDDLERS IN TW tiddlywiki --load ~/.zen/tmp/${IPFSNODEID}/TW/${PLAYER}/index.html \ @@ -263,6 +287,7 @@ for PLAYER in ${PLAYERONE[@]}; do ## COUNT NO CHANGE try=$(cat ~/.zen/game/players/${PLAYER}/ipfs/moa/_nochange 2>/dev/null) || try=0 ((try++)) && echo $try > ~/.zen/game/players/${PLAYER}/ipfs/moa/_nochange + echo "NO CHANGE $try TIMES" fi ############################################################## @@ -276,6 +301,7 @@ for PLAYER in ${PLAYERONE[@]}; do ipfs name publish --key=${PLAYER} /ipfs/${TW} [[ $DIFF ]] && echo ${TW} > ~/.zen/game/players/${PLAYER}/ipfs/moa/.chain + echo ${MOATS} > ~/.zen/game/players/${PLAYER}/ipfs/moa/.moats echo "================================================" @@ -293,7 +319,8 @@ for PLAYER in ${PLAYERONE[@]}; do #### PLAYER ACCOUNT CLEANING ######### ## CHECK FOR EMPTY RSS + 30 DAYS BIRTHDATE + null G1 [[ $(cat ~/.zen/game/players/${PLAYER}/ipfs/${PLAYER}.rss.json) == "[]" ]] \ - && echo "RSS IS EMPTY" \ + && echo "RSS IS EMPTY -- COINS=$COINS / ZEN=$ZEN --" \ + && [[ $COINS < 2.1 ]] \ && SBIRTH=$(${MY_PATH}/../tools/MOATS2seconds.sh ${BIRTHDATE}) \ && SNOW=$(${MY_PATH}/../tools/MOATS2seconds.sh ${MOATS}) \ && [[ $(( SNOW - SBIRTH )) -gt $(( 27 * 24 * 60 * 60 )) ]] \ @@ -309,10 +336,10 @@ for PLAYER in ${PLAYERONE[@]}; do && ipfs name publish --key="${PLAYER}_feed" /ipfs/${IRSS} ######################### REPLACE TW with REDIRECT (reduce 12345 cache size) - echo "" \ + echo "${PLAYER}" \ > ~/.zen/tmp/${IPFSNODEID}/TW/${PLAYER}/index.html - echo "" \ + echo "${PLAYER}" \ > ~/.zen/tmp/${IPFSNODEID}/TW/${PLAYER}.feed.html ## Publish on LAT/ON key on 12345 CACHE diff --git a/RUNTIME/SECTOR.refresh.sh b/RUNTIME/SECTOR.refresh.sh index fa99839e..cb78f2df 100755 --- a/RUNTIME/SECTOR.refresh.sh +++ b/RUNTIME/SECTOR.refresh.sh @@ -162,6 +162,66 @@ for SECTOR in ${SECTORS[@]}; do rm ~/.zen/tmp/${MOATS}/${SECTOR}/N_RSS* echo ${TOTL} > ~/.zen/tmp/${MOATS}/${SECTOR}/N_RSS_${TOTL} +########################################################################################### +## MAKE SECTOR PLANET WITH ASTONAUTENS LINKS +########################################################################################### + + ## PREPARE Ŋ1 WORLD MAP + echo "var examples = {}; + examples['locations'] = function() { + var locations = { + " > ~/.zen/tmp/world.js + floop=1 + + UMAPTW=($(cat ~/.zen/tmp/swarm/*/UPLANET/_*_*/TW/*/index.html | grep -o "/ipns/[^\"]*" | sed "s/'$//")) + + for TWADD in ${UMAPTW[@]}; + do + + + ## ADD ASTRONAUTNS ON SECTOR WORLD MAP + echo "${floop}: { + alpha: Math.random() * 2 * Math.PI, + delta: Math.random() * 2 * Math.PI, + name: '"${floop}"', + link: '"${TWADD}"' + } + ," >> ~/.zen/tmp/world.js + + ((floop++)) + done + + # REMOVE la dernière virgule + sed -i '$ d' ~/.zen/tmp/world.js + ################################## + ## FINISH LOCATIONS + echo " + }; + \$('#sphere').earth3d({ + locationsElement: \$('#locations'), + dragElement: \$('#locations'), + locations: locations + }); + }; + " >> ~/.zen/tmp/world.js + + IAMAP=$(ipfs add -qw ~/.zen/tmp/world.js | tail -n 1) + echo "JSON WISH WORLD READY /ipfs/${IAMAP}/world.js" + + ### APPLY ON APP MODEL + cat ${MY_PATH}/../templates/UPlanetSector/index.html \ + | sed -e "s~_SECTOR_~${SECTOR}~g" \ + -e "s~QmYdWBx32dP14XcbXF7hhtDq7Uu6jFmDaRnuL5t7ARPYkW/index_fichiers/world.js~${IAMAP}/world.js~g" \ + -e "s~_SECTORNS_~${SECTORNS}~g" \ + -e "s~http://127.0.0.1:8080~~g" \ + > ~/.zen/tmp/${MOATS}/${SECTOR}/_index.html + + ################################## + +########################################################################################### + + + ## zday of the week for IPFSNODEID rm ~/.zen/tmp/${MOATS}/${SECTOR}/z$(date -d "yesterday" +%A) echo "" > ~/.zen/tmp/${MOATS}/${SECTOR}/z$(date +%A) diff --git a/RUNTIME/VOEUX.refresh.sh b/RUNTIME/VOEUX.refresh.sh index 87b8fcaf..2421abf0 100755 --- a/RUNTIME/VOEUX.refresh.sh +++ b/RUNTIME/VOEUX.refresh.sh @@ -170,6 +170,7 @@ do # Extract Origin G1Voeu Tiddler tiddlywiki --load ${FRIENDTW} --output ~/.zen/tmp --render '.' "${APLAYER}.${WISHNAME}.json" 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' "${WISHNAME}" FWISHNS=$(cat ~/.zen/tmp/${APLAYER}.${WISHNAME}.json | jq -r '.[].wishns') +# FWISHPROG=$(cat ~/.zen/tmp/${APLAYER}.${WISHNAME}.json | jq -r '.[].text') [[ $FWISHNS == "null" ]] && echo "NO FWISHNS in ~/.zen/tmp/${APLAYER}.${WISHNAME}.json" && echo && ((floop++)) && continue echo ">>> ${myIPFS}${FWISHNS}" @@ -232,7 +233,8 @@ do ################################## ########################################################################################### - ## DATA POST TREATMENT PROGRAM + ## N1Program are run through PLAYER G1PalPay RUNTIME + ## CAN BE EXTENDED WITH DATA POST TREATMENT PROGRAMS ## RUN Z1Program ASTROBOT PROGRAM #~ if [[ -s $MY_PATH/../ASTROBOT/Z1${WISHNAME}.sh ]]; then #~ echo "........................ Astrobot Z1${WISHNAME}.sh post-treatment found !" @@ -259,7 +261,7 @@ do cp -f ~/.zen/tmp/${IPFSNODEID}/WISH/${PLAYER}/g1voeu/${WISHNAME}/* ~/.zen/game/players/${PLAYER}/G1${WISHNAME}/${G1PUB}/ 2>/dev/null #~ echo "************************************************************" - #~ echo "Hop, 0.1 JUNE pour le Voeu $WISHNAME" + #~ echo "Hop, 1 ZEN pour le Voeu $WISHNAME" #~ echo $MY_PATH/../tools/jaklis/jaklis.py -k ~/.zen/game/players/$PLAYER/secret.dunikey pay -a 0.1 -p $VOEUKEY -c \'"ASTRO:${IPNS_VOEUNS} G1Voeu $WISHNAME"\' -m #~ echo "************************************************************" #~ echo "************************************************************" diff --git a/docker/astroport/Dockerfile b/docker/astroport/Dockerfile index a7b5a6a7..43cf342c 100644 --- a/docker/astroport/Dockerfile +++ b/docker/astroport/Dockerfile @@ -75,7 +75,6 @@ RUN apt-get update \ x11-utils \ xclip \ xz-utils \ - yt-dlp \ zenity \ && sed -i '/PDF/d' /etc/ImageMagick-6/policy.xml \ && ln -f -s /usr/bin/python3 /usr/bin/python \ diff --git a/install.sh b/install.sh index 9e36d071..d0827d3b 100755 --- a/install.sh +++ b/install.sh @@ -56,7 +56,7 @@ echo "#############################################" echo "######### INSTALL MULTIMEDIA TOOLS ######" echo "#############################################" # removed : sqlite -for i in qrencode pv gnupg pandoc ca-certificates basez jq bc file gawk yt-dlp ffmpeg dnsutils ntpdate v4l-utils espeak vlc mp3info musl-dev openssl* detox nmap httrack html2text ssmtp imagemagick; do +for i in qrencode pv gnupg pandoc ca-certificates basez jq bc file gawk ffmpeg dnsutils ntpdate v4l-utils espeak vlc mp3info musl-dev openssl* detox nmap httrack html2text ssmtp imagemagick; do if [ $(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed") -eq 0 ]; then echo ">>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Installation $i <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" sudo apt install -y $i diff --git a/templates/UPlanetSector/favicon.ico b/templates/UPlanetSector/favicon.ico new file mode 100644 index 00000000..e0128c6b Binary files /dev/null and b/templates/UPlanetSector/favicon.ico differ diff --git a/templates/UPlanetSector/images/earth-glow-shadows.png b/templates/UPlanetSector/images/earth-glow-shadows.png new file mode 100644 index 00000000..c9618037 Binary files /dev/null and b/templates/UPlanetSector/images/earth-glow-shadows.png differ diff --git a/templates/UPlanetSector/images/earth1024x1024.jpg b/templates/UPlanetSector/images/earth1024x1024.jpg new file mode 100644 index 00000000..04d23d8e Binary files /dev/null and b/templates/UPlanetSector/images/earth1024x1024.jpg differ diff --git a/templates/UPlanetSector/images/mars-glow-shadows.png b/templates/UPlanetSector/images/mars-glow-shadows.png new file mode 100644 index 00000000..87168b08 Binary files /dev/null and b/templates/UPlanetSector/images/mars-glow-shadows.png differ diff --git a/templates/UPlanetSector/images/mars1024x1024.jpg b/templates/UPlanetSector/images/mars1024x1024.jpg new file mode 100644 index 00000000..a7e0f38f Binary files /dev/null and b/templates/UPlanetSector/images/mars1024x1024.jpg differ diff --git a/templates/UPlanetSector/images/plain.png b/templates/UPlanetSector/images/plain.png new file mode 100644 index 00000000..11ceddcd Binary files /dev/null and b/templates/UPlanetSector/images/plain.png differ diff --git a/templates/UPlanetSector/index.html b/templates/UPlanetSector/index.html new file mode 100644 index 00000000..e62e9d90 --- /dev/null +++ b/templates/UPlanetSector/index.html @@ -0,0 +1,155 @@ + + + +
+t |