All derivative keys comes from PLAYER credentials. So, every TW (salt/pepper) will make the same Wishes Keys
This commit is contained in:
parent
9095333b5c
commit
c9d16af39c
|
@ -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
|
||||
### transfer variables according to script
|
||||
QRCODE=$THAT
|
||||
URL=$THIS
|
||||
TYPE=$WHAT
|
||||
|
||||
## 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/"
|
||||
|
||||
###################################################################################################
|
||||
# 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=$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
|
||||
###################################################################################################
|
||||
# API TWO : ?qrcode=G1PUB&url=____&type=____
|
||||
|
||||
if [[ $AND == "url" ]]; then
|
||||
URL=$THIS
|
||||
|
||||
if [[ $URL ]]; then
|
||||
|
||||
## Astroport.ONE local use QRCODE Contains ${WHAT} G1PUB
|
||||
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
|
||||
|
||||
## Demande de copie d'une URL reçue.
|
||||
if [[ $URL ]]; then
|
||||
[[ ${TYPE} ]] && CHOICE="${TYPE}" || CHOICE="Youtube"
|
||||
|
||||
## 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
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
|
|
@ -167,7 +167,7 @@ PEPPER=$THIS
|
|||
|
||||
# CREATE PLAYER : ?salt=PHRASE%20UNE&pepper=PHRASE%20DEUX&g1pub=on&email=EMAIL&pseudo=PROFILENAME
|
||||
# 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
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ PSEUDO=$(cat ~/.zen/game/players/$PLAYER/.pseudo 2>/dev/null)
|
|||
[[ $G1PUB == "" ]] && echo "Troisième paramètre G1PUB manquant" && exit 1
|
||||
|
||||
[[ ! $INDEX ]] && INDEX="$HOME/.zen/game/players/$PLAYER/ipfs/moa/index.html"
|
||||
echo $INDEX
|
||||
[[ ! -s $INDEX ]] && echo "TW $PLAYER manquant" && exit 1
|
||||
|
||||
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
|
||||
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"
|
||||
WISHKEY=$(cat ~/.zen/tmp/qrtw.dunikey | grep "pub:" | cut -d ' ' -f 2)
|
||||
echo "WISHKEY (G1PUB) = $WISHKEY"
|
||||
|
|
|
@ -156,7 +156,7 @@ select fav in "${choices[@]}"; do
|
|||
"CREER UN VOEU")
|
||||
echo "QRCode à coller sur les lieux ou objets portant une Gvaleur"
|
||||
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)
|
||||
if [[ $DIFF ]]; then
|
||||
MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
||||
|
|
|
@ -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"><</a>
|
||||
<a href="#" id="next">></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>
|
|
@ -202,7 +202,7 @@ DISCO="https://astroport.$(myHostName)/?salt=${SALT}&pepper=${PEPPER}&logout=${P
|
|||
|
||||
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
|
||||
|
@ -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'
|
||||
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
|
||||
echo "DEBUG : $(cat $HOME/.zen/tmp/${MOATS}/crypto.2)"
|
||||
###########
|
||||
## CRYPTO PROCESS VALIDATED
|
||||
[[ -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
|
||||
|
||||
# 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
|
||||
# $:/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-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"
|
||||
# cat ~/.zen/tmp/${MOATS}/local.gw.json | jq -r
|
||||
echo "TW IPFS API : $WID"
|
||||
|
|
|
@ -28,6 +28,9 @@ awk -i inplace -v rmv="PATH" '!index($0,rmv)' /tmp/mycron
|
|||
|
||||
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
|
||||
## HEADER
|
||||
[[ $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
|
||||
crontab /tmp/newcron
|
||||
sudo systemctl enable ipfs
|
||||
sudo systemctl enable astroport
|
||||
sudo systemctl start ipfs
|
||||
sudo systemctl start astroport
|
||||
echo "ASTROPORT is ON"
|
||||
|
||||
else
|
||||
|
@ -51,6 +56,8 @@ else
|
|||
crontab /tmp/newcron
|
||||
sudo systemctl stop ipfs
|
||||
sudo systemctl disable ipfs
|
||||
sudo systemctl stop astroport
|
||||
sudo systemctl disable astroport
|
||||
echo "ASTROPORT is OFF"
|
||||
|
||||
fi
|
||||
|
|
|
@ -40,7 +40,7 @@ ipfs config --json Swarm.ConnMgr.LowWater 20
|
|||
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" ]' \
|
||||
|| 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-Credentials '["true"]'
|
||||
|
|
Loading…
Reference in New Issue