kubo_v0.16.0_linux-amd64.install.sh

This commit is contained in:
fred 2022-11-25 15:29:20 +01:00
parent ada50bb265
commit 0f878e922b
3 changed files with 49 additions and 40 deletions

View File

@ -5,7 +5,7 @@
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
################################################################################
################################################################################
## ASTROPORT API SERVER http://$myIP:1234
## ASTROPORT API SERVER http://$myHOST:1234
## ATOMIC GET REDIRECT TO ONE SHOT WEB SERVICE THROUGH PORTS
## ASYNCHRONOUS IPFS API
################################################################################
@ -20,8 +20,9 @@ MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
IPFSNODEID=$(cat ~/.ipfs/config | jq -r .Identity.PeerID)
myIP=$(hostname -I | awk '{print $1}' | head -n 1)
isLAN=$(echo $myIP | 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" && myIPort="ipfs.localhost:8080" && myHTTP="http://" ## LAN STATION
[[ ! $isLAN ]] && myIP="astroport.copylaradio.com" && myIPort="ipfs.copylaradio.com" && myHTTP="https://" ## WAN STATION
[[ $isLAN ]] && myHOST="ipfs.localhost" && myHOSTPort="ipfs.localhost:8080" && myHTTP="http://" ## LAN STATION
[[ ! $isLAN ]] && myHOST="astroport.copylaradio.com" && myHOSTPort="ipfs.copylaradio.com" && myHTTP="https://" ## WAN STATION
PORT=12345
@ -33,7 +34,7 @@ mkdir -p ~/.zen/tmp/coucou/
## 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 ]] && echo "ERROR - API Server Already Running - ${myHTTP}$myIP:1234/?salt=totodu56&pepper=totodu56&getipns " && exit 1
[[ $ncrunning ]] && echo "ERROR - API Server Already Running - ${myHTTP}$myHOST:1234/?salt=totodu56&pepper=totodu56&getipns " && exit 1
## NOT RUNNING TWICE
# Some client needs to respect that
@ -48,14 +49,14 @@ Content-Type: text/html; charset=UTF-8
echo "_________________________________________________________"
echo "LAUNCHING Astroport API Server - TUBE : $TUBE - "
echo
echo "NEW TW ${myHTTP}$myIP:1234/?salt=totodu56&pepper=totodu56&g1pub=on&email=totodu56@yopmail.com"
echo "NEW TW ${myHTTP}$myHOST:1234/?salt=totodu56&pepper=totodu56&g1pub=on&email=totodu56@yopmail.com"
echo
echo "TW R/W MODE ${myHTTP}$myIP:1234/?salt=totodu56&pepper=totodu56&official"
echo "TW R/W MODE ${myHTTP}$myHOST:1234/?salt=totodu56&pepper=totodu56&official"
echo
echo "GCHANGE MESSAGING ${myHTTP}$myIP:1234/?salt=totodu56&pepper=totodu56&messaging"
echo "OPEN GCHANGE ${myHTTP}$myIP:1234/?salt=totodu56&pepper=totodu56&g1pub"
echo "GCHANGE MESSAGING ${myHTTP}$myHOST:1234/?salt=totodu56&pepper=totodu56&messaging"
echo "OPEN GCHANGE ${myHTTP}$myHOST:1234/?salt=totodu56&pepper=totodu56&g1pub"
echo
echo "TESTCRAFT ${myHTTP}$myIP:1234/?salt=totodu56&pepper=totodu56&testcraft=on&nodeid=12D3KooWK1ACupF7RD3MNvkBFU9Z6fX11pKRAR99WDzEUiYp5t8j&dataid=QmPXhrqQrS1bePKJUPH9cJ2qe4RrNjaJdRXaJzSjxWuvDi"
echo "TESTCRAFT ${myHTTP}$myHOST:1234/?salt=totodu56&pepper=totodu56&testcraft=on&nodeid=12D3KooWK1ACupF7RD3MNvkBFU9Z6fX11pKRAR99WDzEUiYp5t8j&dataid=QmPXhrqQrS1bePKJUPH9cJ2qe4RrNjaJdRXaJzSjxWuvDi"
echo "_________________________________________________________"
function urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
@ -80,14 +81,14 @@ while true; do
## CHECK 12345 PORT RUNNING (STATION FoF MAP)
maprunning=$(ps auxf --sort=+utime | grep -w '_12345.sh' | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1)
[[ ! $maprunning ]] && ($MY_PATH/_12345.sh &) && echo '(ᵔ◡◡ᵔ) LAUNCHING '${myHTTP}$myIP:'12345 (ᵔ◡◡ᵔ)'
[[ ! $maprunning ]] && ($MY_PATH/_12345.sh &) && echo '(ᵔ◡◡ᵔ) LAUNCHING '${myHTTP}$myHOST:'12345 (ᵔ◡◡ᵔ)'
############### ACTIVATE USE ON QUICK IPFS DRIVE
### CREATE IPNS KEY - ACTIVATE WHITH ENOUGH BOOTSTRAP
#~ echo
#~ ipfs key rm ${PORT} > /dev/null 2>&1
#~ SESSIONNS=$(ipfs key gen ${PORT})
#~ echo "IPNS SESSION ${myHTTP}$myIPort/ipns/$SESSIONNS CREATED"
#~ echo "IPNS SESSION ${myHTTP}$myHOSTPort/ipns/$SESSIONNS CREATED"
### # USE IT #
### MIAM=$(echo ${PORT} | ipfs add -q)
@ -100,21 +101,21 @@ while true; do
SALT=""; PEPPER=""; APPNAME=""
############### ############### ############### ############### templates/index.http
# REPLACE myIP in http response template (fixing next API meeting point)
sed "s~127.0.0.1:12345~$myIP:${PORT}~g" $HOME/.zen/Astroport.ONE/templates/index.http > ~/.zen/tmp/coucou/${MOATS}.myIP.http
sed -i "s~127.0.0.1~$myIP~g" ~/.zen/tmp/coucou/${MOATS}.myIP.http
sed -i "s~:12345~:${PORT}~g" ~/.zen/tmp/coucou/${MOATS}.myIP.http
# 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
sed -i "s~127.0.0.1~$myHOST~g" ~/.zen/tmp/coucou/${MOATS}.myHOST.http
sed -i "s~:12345~:${PORT}~g" ~/.zen/tmp/coucou/${MOATS}.myHOST.http
sed -i "s~_SESSIONLNK_~${myHTTP}${myIPort}/ipns/${SESSIONNS}~g" ~/.zen/tmp/coucou/${MOATS}.myIP.http
sed -i "s~_SESSIONLNK_~${myHTTP}${myHOSTPort}/ipns/${SESSIONNS}~g" ~/.zen/tmp/coucou/${MOATS}.myHOST.http
sed -i "s~_IPFSNODEID_~${IPFSNODEID}~g" ~/.zen/tmp/coucou/${MOATS}.myIP.http ## NODE PUBLISH
sed -i "s~_HOSTNAME_~$(hostname)~g" ~/.zen/tmp/coucou/${MOATS}.myIP.http ## HOSTNAME
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}.myIP.http on PORT 1234 (LOOP BLOCKING POINT)
## SERVE LANDING REDIRECT PAGE ~/.zen/tmp/coucou/${MOATS}.myHOST.http on PORT 1234 (LOOP BLOCKING POINT)
############################################################################
REQ=$(cat $HOME/.zen/tmp/coucou/${MOATS}.myIP.http | nc -l -p 1234 -q 1) ## # WAIT FOR 1234 PORT CONTACT
REQ=$(cat $HOME/.zen/tmp/coucou/${MOATS}.myHOST.http | nc -l -p 1234 -q 1) ## # WAIT FOR 1234 PORT CONTACT
URL=$(echo "$REQ" | grep '^GET' | cut -d ' ' -f2 | cut -d '?' -f2)
HOSTP=$(echo "$REQ" | grep '^Host:' | cut -d ' ' -f2 | cut -d '?' -f2)
@ -265,7 +266,7 @@ while true; do
cat ~/.zen/tmp/coucou/${MOATS}.messaging.json >> ~/.zen/tmp/coucou/${MOATS}.index.redirect
## SEND REPONSE PROCESS IN BACKGROUD
#~ cat ~/.zen/tmp/coucou/${MOATS}.index.redirect | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &
cat ~/.zen/tmp/coucou/${MOATS}.index.redirect | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &
#~ (
#~ REPONSE=$(cat ~/.zen/tmp/coucou/${MOATS}.messaging.json | ipfs add -q)
#~ ipfs name publish --allow-offline --key=${PORT} /ipfs/$REPONSE
@ -296,7 +297,7 @@ while true; do
echo "GCHANGE REDIRECTING https://www.gchange.fr/#/app/user/"${G1PUB}"/"
### REPONSE=$(echo https://www.gchange.fr/#/app/user/${G1PUB}/ | ipfs add -q)
### ipfs name publish --allow-offline --key=${PORT} /ipfs/$REPONSE
### echo "SESSION ${myHTTP}$myIP:8080/ipns/$SESSIONNS "
### echo "SESSION ${myHTTP}$myHOST:8080/ipns/$SESSIONNS "
(
cat ~/.zen/tmp/coucou/${MOATS}.index.redirect | nc -l -p ${PORT} -q 1 > /dev/null 2>&1
${MY_PATH}/tools/TW.cache.sh ${ASTRONAUTENS} ${MOATS}
@ -465,20 +466,20 @@ echo "" > ~/.zen/tmp/.ipfsgw.bad.twt # TODO move in 20h12.sh
&& (echo "$HTTPCORS ERROR - BAD MadeInZion PLAYER in /ipns/${ASTRONAUTENS} - CONTINUE " | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &) && echo "BAD MadeInZion PLAYER (☓‿‿☓) Execution time was "`expr $(date +%s) - $start` seconds. && continue
#
# CRYPTO DECODING CRYPTIP -> myIP
cat ~/.zen/tmp/MadeInZion.json | jq -r .[].secret | base16 -d > ~/.zen/tmp/myIP.$G1PUB.enc.2
$MY_PATH/tools/natools.py decrypt -f pubsec -k ~/.zen/tmp/coucou/${MOATS}.secret.key -i ~/.zen/tmp/myIP.$G1PUB.enc.2 -o ~/.zen/tmp/myIP.$G1PUB > /dev/null 2>&1
GWIP=$(cat ~/.zen/tmp/myIP.$G1PUB > /dev/null 2>&1)
# CRYPTO DECODING CRYPTIP -> myHOST
cat ~/.zen/tmp/MadeInZion.json | jq -r .[].secret | base16 -d > ~/.zen/tmp/myHOST.$G1PUB.enc.2
$MY_PATH/tools/natools.py decrypt -f pubsec -k ~/.zen/tmp/coucou/${MOATS}.secret.key -i ~/.zen/tmp/myHOST.$G1PUB.enc.2 -o ~/.zen/tmp/myHOST.$G1PUB > /dev/null 2>&1
GWIP=$(cat ~/.zen/tmp/myHOST.$G1PUB > /dev/null 2>&1)
[[ ! $GWIP ]] && GWIP=$myIP ## CLEAR
[[ ! $GWIP ]] && GWIP=$myHOST ## CLEAR
#
echo "TW is on ${myHTTP}$GWIP"
echo "BECOMING TW GATEWAY : $myIP" ## BECOMING OFFICIAL BECOME R/W TW
echo "BECOMING TW GATEWAY : $myHOST" ## BECOMING OFFICIAL BECOME R/W TW
####################
echo $GWIP > ~/.zen/tmp/GWIP
$MY_PATH/tools/natools.py encrypt -p $G1PUB -i $HOME/.zen/tmp/GWIP -o $HOME/.zen/tmp/myIP.$G1PUB.enc
CRYPTIP=$(cat ~/.zen/tmp/myIP.$G1PUB.enc | base16)
$MY_PATH/tools/natools.py encrypt -p $G1PUB -i $HOME/.zen/tmp/GWIP -o $HOME/.zen/tmp/myHOST.$G1PUB.enc
CRYPTIP=$(cat ~/.zen/tmp/myHOST.$G1PUB.enc | base16)
## WRITE CRYPTIP into MadeInZion tiddler
echo "# CRYPTO ENCODING $GWIP -> $CRYPTIP"
sed -i "s~$SECRET~$CRYPTIP~g" ~/.zen/tmp/MadeInZion.json
@ -486,12 +487,12 @@ echo "" > ~/.zen/tmp/.ipfsgw.bad.twt # TODO move in 20h12.sh
###########################
# Modification Tiddlers de contrôle de GW & API
[[ $isLAN ]] \
&& echo '[{"title":"$:/ipfs/saver/api/http/localhost/5001","tags":"$:/ipfs/core $:/ipfs/saver/api","text":"'${myHTTP}$myIP':5001"}]' > ~/.zen/tmp/5001.json \
&& echo '[{"title":"$:/ipfs/saver/gateway/http/localhost","tags":"$:/ipfs/core $:/ipfs/saver/gateway","text":"'${myHTTP}$myIP':8080"}]' > ~/.zen/tmp/8080.json
&& echo '[{"title":"$:/ipfs/saver/api/http/localhost/5001","tags":"$:/ipfs/core $:/ipfs/saver/api","text":"'${myHTTP}$myHOST':5001"}]' > ~/.zen/tmp/5001.json \
&& echo '[{"title":"$:/ipfs/saver/gateway/http/localhost","tags":"$:/ipfs/core $:/ipfs/saver/gateway","text":"'${myHTTP}$myHOST':8080"}]' > ~/.zen/tmp/8080.json
[[ ! $isLAN ]] \
&& echo '[{"title":"$:/ipfs/saver/api/http/localhost/5001","tags":"$:/ipfs/core $:/ipfs/saver/api","text":"'${myHTTP}$myIP'/api"}]' > ~/.zen/tmp/5001.json \
&& echo '[{"title":"$:/ipfs/saver/gateway/http/localhost","tags":"$:/ipfs/core $:/ipfs/saver/gateway","text":"'${myHTTP}$myIP'"}]' > ~/.zen/tmp/8080.json
&& echo '[{"title":"$:/ipfs/saver/api/http/localhost/5001","tags":"$:/ipfs/core $:/ipfs/saver/api","text":"'${myHTTP}$myHOST'/api"}]' > ~/.zen/tmp/5001.json \
&& echo '[{"title":"$:/ipfs/saver/gateway/http/localhost","tags":"$:/ipfs/core $:/ipfs/saver/gateway","text":"'${myHTTP}$myHOST'"}]' > ~/.zen/tmp/8080.json
tiddlywiki --load ~/.zen/tmp/coucou/${MOATS}.astroindex.html \
--import "$HOME/.zen/tmp/MadeInZion.json" "application/json" \
@ -534,8 +535,8 @@ echo "" > ~/.zen/tmp/.ipfsgw.bad.twt # TODO move in 20h12.sh
echo "$PLAYER" > ~/.zen/game/players/$PLAYER/.player
echo "$G1PUB" > ~/.zen/game/players/$PLAYER/.g1pub
echo "${ASTRONAUTENS}" > ~/.zen/game/players/$PLAYER/.playerns
GWIP=${myIP}
TWIP=${myIP}
GWIP=${myHOST}
TWIP=${myHOST}
echo "*********** OFFICIAL LOGIN GOES TO $TWIP"
else
@ -600,9 +601,9 @@ echo "" > ~/.zen/tmp/.ipfsgw.bad.twt # TODO move in 20h12.sh
cat ~/.zen/tmp/${IPFSNODEID}/_timings | tail -n 1
) &
echo "$HTTPCORS - <meta http-equiv='refresh' content='3; url=\"http://"$myIP":8080/ipns/"$ASTRONAUTENS"\"'/>
echo "$HTTPCORS - <meta http-equiv='refresh' content='3; url=\"http://"$myHOST":8080/ipns/"$ASTRONAUTENS"\"'/>
<h1>BOOTING - ASTRONAUT $PSEUDO </h1> IPFS FORMATING - [$SALT + $PEPPER] (${WHAT})
<br>- TW - http://$myIP:8080/ipns/$ASTRONAUTENS <br> - GW - /ipns/$IPFSNODEID" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &
<br>- TW - http://$myHOST:8080/ipns/$ASTRONAUTENS <br> - GW - /ipns/$IPFSNODEID" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &
echo "(☓‿‿☓) Execution time was "`expr $end - $start` seconds.
continue
else
@ -623,7 +624,7 @@ echo "" > ~/.zen/tmp/.ipfsgw.bad.twt # TODO move in 20h12.sh
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"
cat ~/.zen/tmp/coucou/${MOATS}.index.redirect
echo "${MOATS} -----> PAGE AVAILABLE -----> http://$myIP:${PORT}"
echo "${MOATS} -----> PAGE AVAILABLE -----> http://$myHOST:${PORT}"
#echo "${ASTRONAUTENS}" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 &

View File

@ -0,0 +1,8 @@
#!/bin/bash
mkdir ~/.zen/tmp
cd ~/.zen/tmp
wget https://dist.ipfs.tech/kubo/v0.17.0/kubo_v0.17.0_linux-amd64.tar.gz
tar -xvzf kubo_v0.17.0_linux-amd64.tar.gz
cd kubo
sudo bash install.sh
ipfs --version

View File

@ -47,7 +47,7 @@ Content-Type: text/html; charset=UTF-8
<center>
<h2>IPFS BIOS<br> - TW Astroport Ŋ1 -</h2>
<div id="yellow">
<h3><a href="http://127.0.0.1:12345"> >>> IPFS (◕‿‿◕) FORMAT <<< </a></h3>
<h3><a href="http://127.0.0.1:12345"> >>> TW (◕‿‿◕) TW <<< </a></h3>
</div>
<br>