All derivative keys comes from PLAYER credentials. So, every TW (salt/pepper) will make the same Wishes Keys

This commit is contained in:
fred 2023-03-04 16:42:01 +01:00
parent 9095333b5c
commit c9d16af39c
8 changed files with 51 additions and 221 deletions

View File

@ -24,7 +24,6 @@ start=`date +%s`
PORT=$1 THAT=$2 AND=$3 THIS=$4 APPNAME=$5 WHAT=$6 OBJ=$7 VAL=$8 MOATS=$9 PORT=$1 THAT=$2 AND=$3 THIS=$4 APPNAME=$5 WHAT=$6 OBJ=$7 VAL=$8 MOATS=$9
### transfer variables according to script ### transfer variables according to script
QRCODE=$THAT QRCODE=$THAT
URL=$THIS
TYPE=$WHAT TYPE=$WHAT
## GET TW ## GET TW
@ -61,13 +60,39 @@ $MY_PATH/../tools/jaklis/jaklis.py -n $myGCHANGE -k $MYPLAYERKEY send -d "${QRCO
$MY_PATH/../tools/jaklis/jaklis.py -n $myCESIUM -k $MYPLAYERKEY send -d "${QRCODE}" -t "COUCOU" -m "Rendez vous sur https://astroport.copylaradio.com/" $MY_PATH/../tools/jaklis/jaklis.py -n $myCESIUM -k $MYPLAYERKEY send -d "${QRCODE}" -t "COUCOU" -m "Rendez vous sur https://astroport.copylaradio.com/"
################################################################################################### ###################################################################################################
# THAT=$2 AND=$3 THIS=$4 APPNAME=$5 WHAT=$6 OBJ=$7 VAL=$8
### amzqr "$myASTROPORT/?qrcode=$G1PUB&sslpassdunikeysec=$PASsec&askpass=$HPass&tw=$ASTRONAUTENS" \ ### amzqr "$myASTROPORT/?qrcode=$G1PUB&sslpassdunikeysec=$PASsec&askpass=$HPass&tw=$ASTRONAUTENS" \
### amzqr "$myASTROPORT/?qrcode=$WISHKEY&sslpassdunikeysec=$PASsec&asksalt=$HPass&flux=$VOEUNS&tw=$ASTRONAUTENS" \ ### amzqr "$myASTROPORT/?qrcode=$WISHKEY&sslpassdunikeysec=$PASsec&asksalt=$HPass&flux=$VOEUNS&tw=$ASTRONAUTENS" \
###
if [[ $AND == "sslpassdunikeysec" ]]; then
echo "♥BOX♥BOX♥BOX♥BOX♥BOX"
echo "MAGIC WORLD ASTRONAUT & WISHES"
if [[ $APPNAME == "askpass" ]]; then
echo ">> ASTRONAUT QRCODE $APPNAME"
ENDCODED="$THIS"
HPASS="$WHAT"
TW="/ipns/$VAL"
fi
if [[ $APPNAME == "asksalt" ]]; then
echo ">> WISH QRCODE $APPNAME"
ENDCODED="$THIS"
HSALT="$WHAT"
FLUX="/ipns/$VAL"
fi
fi
## TODO MAGIC QRCODE RX / TX ## TODO MAGIC QRCODE RX / TX
################################################################################################### ###################################################################################################
# API TWO : ?qrcode=G1PUB&url=____&type=____ # API TWO : ?qrcode=G1PUB&url=____&type=____
if [[ $AND == "url" ]]; then
URL=$THIS
if [[ $URL ]]; then
## Astroport.ONE local use QRCODE Contains ${WHAT} G1PUB ## Astroport.ONE local use QRCODE Contains ${WHAT} G1PUB
g1pubpath=$(grep $QRCODE ~/.zen/game/players/*/.g1pub | cut -d ':' -f 1 2>/dev/null) g1pubpath=$(grep $QRCODE ~/.zen/game/players/*/.g1pub | cut -d ':' -f 1 2>/dev/null)
@ -80,7 +105,6 @@ $MY_PATH/../tools/jaklis/jaklis.py -n $myCESIUM -k $MYPLAYERKEY send -d "${QRCOD
&& exit 1 && exit 1
## Demande de copie d'une URL reçue. ## Demande de copie d'une URL reçue.
if [[ $URL ]]; then
[[ ${TYPE} ]] && CHOICE="${TYPE}" || CHOICE="Youtube" [[ ${TYPE} ]] && CHOICE="${TYPE}" || CHOICE="Youtube"
## CREATION TIDDLER "G1Voeu" G1CopierYoutube ## CREATION TIDDLER "G1Voeu" G1CopierYoutube
@ -107,4 +131,4 @@ $MY_PATH/../tools/jaklis/jaklis.py -n $myCESIUM -k $MYPLAYERKEY send -d "${QRCOD
(echo "$HTTPCORS ERROR - ${AND} - ${THIS} UNKNOWN" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && exit 1 (echo "$HTTPCORS ERROR - ${AND} - ${THIS} UNKNOWN" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && exit 1
fi fi
fi

View File

@ -167,7 +167,7 @@ PEPPER=$THIS
# CREATE PLAYER : ?salt=PHRASE%20UNE&pepper=PHRASE%20DEUX&g1pub=on&email=EMAIL&pseudo=PROFILENAME # CREATE PLAYER : ?salt=PHRASE%20UNE&pepper=PHRASE%20DEUX&g1pub=on&email=EMAIL&pseudo=PROFILENAME
# WHAT can contain urlencoded FullURL # WHAT can contain urlencoded FullURL
EMAIL="${VAL}" EMAIL="${VAL,,}" # lowercase
[[ ! ${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. && exit 0 [[ ! ${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. && exit 0

View File

@ -23,6 +23,7 @@ PSEUDO=$(cat ~/.zen/game/players/$PLAYER/.pseudo 2>/dev/null)
[[ $G1PUB == "" ]] && echo "Troisième paramètre G1PUB manquant" && exit 1 [[ $G1PUB == "" ]] && echo "Troisième paramètre G1PUB manquant" && exit 1
[[ ! $INDEX ]] && INDEX="$HOME/.zen/game/players/$PLAYER/ipfs/moa/index.html" [[ ! $INDEX ]] && INDEX="$HOME/.zen/game/players/$PLAYER/ipfs/moa/index.html"
echo $INDEX
[[ ! -s $INDEX ]] && echo "TW $PLAYER manquant" && exit 1 [[ ! -s $INDEX ]] && echo "TW $PLAYER manquant" && exit 1
echo "Working on $INDEX" echo "Working on $INDEX"
@ -51,7 +52,7 @@ mkdir -p ~/.zen/tmp/$MOATS
PEPPER=$(echo "$TITRE" | sed -r 's/\<./\U&/g' | sed 's/ //g') # CapitalGluedWords PEPPER=$(echo "$TITRE" | sed -r 's/\<./\U&/g' | sed 's/ //g') # CapitalGluedWords
echo "$PEPPER" && [[ ! $PEPPER ]] && echo "EMPTY PEPPER - ERROR" && exit 1 echo "$PEPPER" && [[ ! $PEPPER ]] && echo "EMPTY PEPPER - ERROR" && exit 1
echo "## keygen CLEF DE VOEUX" echo "## keygen CLEF DE VOEUX from PLAYER : pepper + G1Voeu derivation"
${MY_PATH}/../tools/keygen -t duniter -o ~/.zen/tmp/qrtw.dunikey "$SALT" "$PEPPER" ${MY_PATH}/../tools/keygen -t duniter -o ~/.zen/tmp/qrtw.dunikey "$SALT" "$PEPPER"
WISHKEY=$(cat ~/.zen/tmp/qrtw.dunikey | grep "pub:" | cut -d ' ' -f 2) WISHKEY=$(cat ~/.zen/tmp/qrtw.dunikey | grep "pub:" | cut -d ' ' -f 2)
echo "WISHKEY (G1PUB) = $WISHKEY" echo "WISHKEY (G1PUB) = $WISHKEY"

View File

@ -156,7 +156,7 @@ select fav in "${choices[@]}"; do
"CREER UN VOEU") "CREER UN VOEU")
echo "QRCode à coller sur les lieux ou objets portant une Gvaleur" echo "QRCode à coller sur les lieux ou objets portant une Gvaleur"
cp ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/$PLAYER.html cp ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/$PLAYER.html
${MY_PATH}/ASTROBOT/G1Voeu.sh "" "$PLAYER" "~/.zen/tmp/$PLAYER.html" ${MY_PATH}/ASTROBOT/G1Voeu.sh "" "$PLAYER" "$HOME/.zen/tmp/$PLAYER.html"
DIFF=$(diff ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/$PLAYER.html) DIFF=$(diff ~/.zen/game/players/$PLAYER/ipfs/moa/index.html ~/.zen/tmp/$PLAYER.html)
if [[ $DIFF ]]; then if [[ $DIFF ]]; then
MOATS=$(date -u +"%Y%m%d%H%M%S%4N") MOATS=$(date -u +"%Y%m%d%H%M%S%4N")

View File

@ -1,212 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>_PLAYER_ : TW : _G1VOEU_</title>
<meta charset="UTF-8">
<link rel="icon" type="image/x-icon" href="/ipfs/QmWbZm4dkxTQbayPLPNUKxdpMt9wjkkU3u5V2JQiCui979/favicon.ico">
<link rel="stylesheet" href="/ipfs/QmWbZm4dkxTQbayPLPNUKxdpMt9wjkkU3u5V2JQiCui979/index_fichiers/jquery-ui.min.css">
<script type="text/javascript" src="/ipfs/QmWbZm4dkxTQbayPLPNUKxdpMt9wjkkU3u5V2JQiCui979/index_fichiers/requestanimationframe.polyfill.js"></script>
<script type="text/javascript" src="/ipfs/QmWbZm4dkxTQbayPLPNUKxdpMt9wjkkU3u5V2JQiCui979/index_fichiers/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/ipfs/QmWbZm4dkxTQbayPLPNUKxdpMt9wjkkU3u5V2JQiCui979/index_fichiers/instascan.min.js"></script>
<script type="text/javascript" src="/ipfs/QmWbZm4dkxTQbayPLPNUKxdpMt9wjkkU3u5V2JQiCui979/index_fichiers/html5-qrcode.min.js"></script>
<script type="text/javascript" src="/ipfs/QmWbZm4dkxTQbayPLPNUKxdpMt9wjkkU3u5V2JQiCui979/index_fichiers/jquery-ui.0.min.js"></script>
<script type="text/javascript" src="/ipfs/QmWbZm4dkxTQbayPLPNUKxdpMt9wjkkU3u5V2JQiCui979/index_fichiers/sphere-hacked.js"></script>
<script type="text/javascript" src="/ipfs/QmWbZm4dkxTQbayPLPNUKxdpMt9wjkkU3u5V2JQiCui979/index_fichiers/jquery.earth-3d.js"></script>
<script type="text/javascript" src="/ipfs/QmWbZm4dkxTQbayPLPNUKxdpMt9wjkkU3u5V2JQiCui979/index_fichiers/demo.js"></script>
<script type="text/javascript">
examples['simple_mars'] = function() {
$('#sphere').earth3d({
texture: '/ipfs/QmNNSAJyzVSF2m16dReYgmqmiRkKa5HMKvFUgwhbRzTYto/mars1024x1024.jpg', // texture used by G1Wish planet
dragElement: $('#locations') // where do we catch the mouse drag
});
};
</script>
<style>
body {
padding: 0;
margin: 0;
font-family: sans-serif;
}
.slidecontainer {
width: 80%;
margin: 0 auto;
text-align: center;
}
.gif-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.gif-container img {
margin: 10px;
max-width: 200px;
}
.slider {
width: 100%;
text-align: center;
}
.slider #prev {
float: left;
font-size: 40px;
}
.slider #next {
float: right;
font-size: 40px;
}
#glow-shadows.earth {
background: url(/ipfs/QmTVspfoaNL1BK2CR1vVNrEnwo4PfUjwdQxEt57mGJjsLX/earth-glow-shadows.png);
}
#glow-shadows.mars {
background: url(/ipfs/QmTVspfoaNL1BK2CR1vVNrEnwo4PfUjwdQxEt57mGJjsLX/mars-glow-shadows.png);
}
.flight {
position: absolute;
width: 24px;
height: 25px;
left: 10px;
top: 10px;
background: url(/ipfs/QmTVspfoaNL1BK2CR1vVNrEnwo4PfUjwdQxEt57mGJjsLX/plain.png);
background-size: 100% 100%;
margin-left: -12px;
margin-top: -12.5px;
cursor: pointer;
}
</style>
<link rel="stylesheet" href="/ipfs/QmWbZm4dkxTQbayPLPNUKxdpMt9wjkkU3u5V2JQiCui979/index_fichiers/demo.css">
</head>
<body>
<div class="slidecontainer">
<h1>G1_G1VOEU_</h1>
<div class="gif-container">
<!-- gifs -->
</div>
<div class="slider">
<a href="#" id="prev">&lt;</a>
<a href="#" id="next">&gt;</a>
</div>
</div>
<script>
const gifContainer = document.querySelector('.gif-container');
const prevBtn = document.querySelector('#prev');
const nextBtn = document.querySelector('#next');
const pageSize = 12;
let pageNumber = 0;
let gifs = [];
let urls = [];
let titles = [];
let durees = [];
// Récupérer les données
fetch('_LIBRA__VOEUNS_/__PLAYER_.tiddlers.json')
.then(res => res.json())
.then(data => {
// Extraire les gifanime
gifs = data.map(tiddler => tiddler.gifanime);
urls = data.map(tiddler => tiddler.ipfs);
titles = data.map(tiddler => tiddler.title);
durees = data.map(tiddler => tiddler.duree);
// Afficher les gifs
showGifs();
});
// Afficher les images
function showGifs() {
let start = pageNumber * pageSize;
let end = start + pageSize;
let pageGifs = gifs.slice(start, end);
let pageUrls = urls.slice(start, end);
let pageTitles = titles.slice(start, end);
let pageDurees = durees.slice(start, end);
let output = '';
// Générer le HTML
pageGifs.forEach((gif, i) => {
output += `
<a href="_LIBRA_${pageUrls[i]}">
<img src="_LIBRA_${gif}" title="${pageDurees[i]} - ${pageTitles[i]}" />
</a>
`;
});
// Ajouter le HTML
gifContainer.innerHTML = output;
}
// Écouter les évènements
prevBtn.addEventListener('click', () => {
pageNumber--;
showGifs();
});
nextBtn.addEventListener('click', () => {
pageNumber++;
showGifs();
});
</script>
<a target=_blank href="https://astroport.copylaradio.com"><img style="position: absolute; top: 0; right: 0; border: 0;" src="l0g0.png" alt="Entrez par le Le Claude"></a>
<h1><a target=_blank href="http://astroport.localhost:1234">Astroport Ŋ1</a></h1>
<div class="subtitle">Une Planète à Vous<br>Un Internet entre Nous !</div>
<div id="demo">
<div id="description">
<h2>Un DON ? Flashez le QRCode !</h2>
Visitez TW "_PLAYER_"
<p><a href="https://ipfs.copylaradio.com/ipns/_ASTRONAUTENS_">
<img src="/ipfs/QmWUpjGFuF7NhpXgkrCmx8Tbu4xjcFpKhE7Bsvt6HeKYxu/g1ticket_qrcode.png" width=65%></p>
</a>
<h3>Installez <a href="https://cesium.app">Cesium</a>. Indiquez en commentaire vos "G1Talents" et les emails de vos amis qui partage(ront) votre dons.</h3>
<p>/ <a href="https://opencollective.com/monnaie-libre/projects/stiits">LaSTI</a> / G1Services by U + La♥BOX</p>
<br>
</div>
<div id="showoff">
<div id="container">
<h2>ONE WORLD</h2>
<canvas id="sphere" width="400" height="400"></canvas>
<div id="glow-shadows" class="earth"></div>
<canvas id="flights" width="400" height="400"></canvas>
<div id="locations"></div>
</div>
<p><a href="https://opencollective.com/monnaie-libre/projects/coeurbox">La♥BOX</a>, sauvegarde, diffuse et partage vos DATA 👍 à l'abris dans "Le Claude"</p>
<p>Powered by <a href="https://github.com/papiche/Astroport.ONE">Astroport.ONE</a></p>
<div class="choose_example">
Choose example: <select id="example">
<option value="simple">Simple earth</option>
<option value="simple_tilted">Simple tilted earth</option>
<option value="simple_mars">Simple mars</option>
<option value="locations">Earth with locations</option>
<option value="flights" selected>Earth with locations and flights</option>
</select>
</div>
<div class="code">
<a href="#" onclick="$('#example_code').show(); $(this).hide().siblings('a').show(); return false;">Show code</a>
<a href="#" style="display: none;" onclick="$('#example_code').hide(); $(this).hide().siblings('a').show(); return false;">Hide code</a>
<textarea id="example_code" onclick="this.focus();this.select();"></textarea>
</div>
</div>
</body>
</html>

View File

@ -202,7 +202,7 @@ DISCO="https://astroport.$(myHostName)/?salt=${SALT}&pepper=${PEPPER}&logout=${P
rm -f ~/.zen/tmp/${MOATS}/${PSEUDO}.sec rm -f ~/.zen/tmp/${MOATS}/${PSEUDO}.sec
ASTROQR=$(ipfs add -q $HOME/.zen/game/players/${PLAYER}/logoastro_qrcode.png | tail -n 1) ASTROQR=$(ipfs add -q $HOME/.zen/game/players/${PLAYER}/G1WorldMap_qrcode.png | tail -n 1)
### INITALISATION WIKI dans leurs répertoires de publication IPFS ### INITALISATION WIKI dans leurs répertoires de publication IPFS
@ -260,6 +260,7 @@ DISCO="https://astroport.$(myHostName)/?salt=${SALT}&pepper=${PEPPER}&logout=${P
tiddlywiki --load ~/.zen/game/players/${PLAYER}/ipfs/moa/index.html --output ~/.zen/tmp/${MOATS} --render '.' 'MadeInZion.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'MadeInZion' tiddlywiki --load ~/.zen/game/players/${PLAYER}/ipfs/moa/index.html --output ~/.zen/tmp/${MOATS} --render '.' 'MadeInZion.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' 'MadeInZion'
cat ~/.zen/tmp/${MOATS}/MadeInZion.json | jq -r ".[].secret" | base16 -d > ~/.zen/tmp/${MOATS}/crypto.$G1PUB.enc.2 cat ~/.zen/tmp/${MOATS}/MadeInZion.json | jq -r ".[].secret" | base16 -d > ~/.zen/tmp/${MOATS}/crypto.$G1PUB.enc.2
$MY_PATH/natools.py decrypt -f pubsec -k $HOME/.zen/game/players/${PLAYER}/secret.dunikey -i $HOME/.zen/tmp/${MOATS}/crypto.$G1PUB.enc.2 -o $HOME/.zen/tmp/${MOATS}/crypto.2 $MY_PATH/natools.py decrypt -f pubsec -k $HOME/.zen/game/players/${PLAYER}/secret.dunikey -i $HOME/.zen/tmp/${MOATS}/crypto.$G1PUB.enc.2 -o $HOME/.zen/tmp/${MOATS}/crypto.2
echo "DEBUG : $(cat $HOME/.zen/tmp/${MOATS}/crypto.2)"
########### ###########
## CRYPTO PROCESS VALIDATED ## CRYPTO PROCESS VALIDATED
[[ -s ~/.zen/tmp/${MOATS}/crypto.2 ]] && echo "NATOOLS LOADED" \ [[ -s ~/.zen/tmp/${MOATS}/crypto.2 ]] && echo "NATOOLS LOADED" \
@ -272,13 +273,22 @@ DISCO="https://astroport.$(myHostName)/?salt=${SALT}&pepper=${PEPPER}&logout=${P
cat ~/.zen/Astroport.ONE/templates/data/local.gw.json | sed "s~_NID_~${NID}~g" > ~/.zen/tmp/${MOATS}/local.gw.json cat ~/.zen/Astroport.ONE/templates/data/local.gw.json | sed "s~_NID_~${NID}~g" > ~/.zen/tmp/${MOATS}/local.gw.json
# Create"${PLAYER}_feed" Key # Create"${PLAYER}_feed" Key
FEEDNS=$(ipfs key gen "${PLAYER}_feed") ${MY_PATH}/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/feed.ipfskey "$SALT" "$G1PUB"
ipfs key import "${PLAYER}_feed" -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/feed.ipfskey
FEEDNS=$(ipfs key list -l | grep -w "${PLAYER}_feed" | cut -d ' ' -f 1 )
## MAKE LightBeam Plugin Tiddler ${PLAYER}_feed ## MAKE LightBeam Plugin Tiddler ${PLAYER}_feed
# $:/plugins/astroport/lightbeams/saver/ipns/lightbeam-key # $:/plugins/astroport/lightbeams/saver/ipns/lightbeam-key
echo '[{"title":"$:/plugins/astroport/lightbeams/saver/ipns/lightbeam-name","text":"'${PLAYER}_feed'","tags":""}]' > ~/.zen/tmp/${MOATS}/lightbeam-name.json echo '[{"title":"$:/plugins/astroport/lightbeams/saver/ipns/lightbeam-name","text":"'${PLAYER}_feed'","tags":""}]' > ~/.zen/tmp/${MOATS}/lightbeam-name.json
echo '[{"title":"$:/plugins/astroport/lightbeams/saver/ipns/lightbeam-key","text":"'${FEEDNS}'","tags":""}]' > ~/.zen/tmp/${MOATS}/lightbeam-key.json echo '[{"title":"$:/plugins/astroport/lightbeams/saver/ipns/lightbeam-key","text":"'${FEEDNS}'","tags":""}]' > ~/.zen/tmp/${MOATS}/lightbeam-key.json
## NATOOLS ENCRYPT
echo "# NATOOLS ENCODING feed.ipfskey "
$MY_PATH/../tools/natools.py encrypt -p $G1PUB -i $HOME/.zen/tmp/${MOATS}/feed.ipfskey -o $HOME/.zen/tmp/${MOATS}/feed.ipfskey.$G1PUB.enc
ENCODING=$(cat $HOME/.zen/tmp/${MOATS}/feed.ipfskey.$G1PUB.enc | base16)
echo $ENCODING
echo '[{"title":"$:/plugins/astroport/lightbeams/saver/g1/lightbeam-natools-feed","text":"'${ENCODING}'","tags":""}]' > ~/.zen/tmp/${MOATS}/lightbeam-natools.json
echo "TW IPFS GATEWAY : $NID" echo "TW IPFS GATEWAY : $NID"
# cat ~/.zen/tmp/${MOATS}/local.gw.json | jq -r # cat ~/.zen/tmp/${MOATS}/local.gw.json | jq -r
echo "TW IPFS API : $WID" echo "TW IPFS API : $WID"

View File

@ -28,6 +28,9 @@ awk -i inplace -v rmv="PATH" '!index($0,rmv)' /tmp/mycron
crontest=$(cat /tmp/mycron | grep -F '20h12.process.sh') crontest=$(cat /tmp/mycron | grep -F '20h12.process.sh')
## TODO check for Station geoposition in ~/.zen/GPS and calibrate 20H12
cat ~/.zen/GPS 2>/dev/null && echo " TODO calibrate 20H12 with GPS"
if [[ ! $crontest ]]; then if [[ ! $crontest ]]; then
## HEADER ## HEADER
[[ $1 == "OFF" ]] && exit 0 [[ $1 == "OFF" ]] && exit 0
@ -38,7 +41,9 @@ if [[ ! $crontest ]]; then
echo "12 20 * * * /bin/bash $MY_PATH/../20h12.process.sh > /tmp/20h12.log 2>&1" >> /tmp/newcron echo "12 20 * * * /bin/bash $MY_PATH/../20h12.process.sh > /tmp/20h12.log 2>&1" >> /tmp/newcron
crontab /tmp/newcron crontab /tmp/newcron
sudo systemctl enable ipfs sudo systemctl enable ipfs
sudo systemctl enable astroport
sudo systemctl start ipfs sudo systemctl start ipfs
sudo systemctl start astroport
echo "ASTROPORT is ON" echo "ASTROPORT is ON"
else else
@ -51,6 +56,8 @@ else
crontab /tmp/newcron crontab /tmp/newcron
sudo systemctl stop ipfs sudo systemctl stop ipfs
sudo systemctl disable ipfs sudo systemctl disable ipfs
sudo systemctl stop astroport
sudo systemctl disable astroport
echo "ASTROPORT is OFF" echo "ASTROPORT is OFF"
fi fi

View File

@ -40,7 +40,7 @@ ipfs config --json Swarm.ConnMgr.LowWater 20
ipfs config --json Swarm.ConnMgr.HighWater 40 ipfs config --json Swarm.ConnMgr.HighWater 40
[[ ! $isLAN ]] && ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://'$myIP':8080", "http://ipfs.localhost:8080", "http://127.0.0.1:8080", "http://127.0.1.1:8080", "https://ipfs.'$(hostname)'.copylaradio.com" ]' \ [[ ! $isLAN ]] && ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://'$myIP':8080", "http://ipfs.localhost:8080", "http://127.0.0.1:8080", "http://127.0.1.1:8080", "https://ipfs.'$(hostname)'.copylaradio.com" ]' \
|| ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://'$(hostname)'.local:8080","http://'$(hostname)':8080", "http://127.0.0.1:8080", "http://ipfs.localhost:8080", "http://127.0.1.1:8080" ]' || ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://'$myIP':8080", "http://'$(hostname)'.local:8080","http://'$(hostname)':8080", "http://127.0.0.1:8080", "http://ipfs.localhost:8080", "http://127.0.1.1:8080" ]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]' ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]' ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]'