This commit is contained in:
Yann Autissier 2022-12-26 22:24:52 +00:00
parent b4686b48b6
commit 2aa1186b69
3 changed files with 39 additions and 47 deletions

View File

@ -97,7 +97,7 @@ while true; do
############### ############### ############### ############### templates/index.http
# REPLACE myHOST in http response template (fixing next API meeting point)
echo "$HTTPCORS" > ~/.zen/tmp/coucou/${MOATS}.myHOST.http
template_register >> ~/.zen/tmp/coucou/${MOATS}.myHOST.http
myTmpl >> ~/.zen/tmp/coucou/${MOATS}.myHOST.http
sed -i -e "s~\"${myIPFS}/\"~\"$(myIpfs)\"~g" \
-e "s~http://${myHOST}:12345~http://${myHOST}:${PORT}~g" \
~/.zen/tmp/coucou/${MOATS}.myHOST.http

View File

@ -1,5 +1,4 @@
#shellcheck shell=sh
set -eu
Describe 'Dependency'
Describe 'ipfs:'
@ -13,25 +12,21 @@ Describe 'Dependency'
End
Describe 'Astroport'
Describe 'tools/myhost.sh'
Include ./tools/myhost.sh
Describe 'tools/my.sh'
Include ./tools/my.sh
It 'does my env variables'
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
When call myTmpl
The stdout should include $(hostname)
The stdout should include $IPFSNODEID
The stdout should include $myASTROPORT
@ -40,7 +35,8 @@ Describe 'Astroport'
The stderr should equal ""
End
It 'does localhost html register page'
When call template_register_localhost
isLAN=true
When call myTmpl
The stdout should include "input name='salt' value=''"
The stdout should include "input name='pepper' value=''"
The status should be success

View File

@ -1,4 +1,4 @@
#shellcheck shell=sh
#shellcheck shell=sh disable=SC2034
ipfsNodeId() {
ipfsNodeId=$(jq -r .Identity.PeerID ~/.ipfs/config)
@ -7,8 +7,9 @@ ipfsNodeId() {
isLan() {
isLan=$(ip route |awk '$1 == "default" {print $3}' | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/" \
|| 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])/")
[ -n "$isLan" ] && echo "$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])/" \
|| true)
[ -n "$isLan" ] && echo "$isLan" ||:
} 2>/dev/null
myDomainName() {
@ -27,13 +28,11 @@ myHash() {
myHttp() {
[ -n "$(myHttpHeader)" ] \
&& myHttp="$(myHttpHeader)" \
&& myHttp+="
&& myHttp="$(myHttpHeader)
" \
|| myHttp=""
" || myHttp=""
[ -n "$(myHttpContent)" ] \
&& myHttp+="$(myHttpContent)"
&& myHttp="${myHttp}$(myHttpContent)"
[ -n "$myHttp" ] \
&& echo "$myHttp"
}
@ -41,7 +40,7 @@ myHttp() {
myHttpContent() {
[ -n "$(myHash)" ] \
&& myHttpContent="<html><head><title>302 Found</title></head><body><h1>Found</h1>
<p>The document is <a href=\""ipfs/$(myHash)"\">here</a> in IPFS.</p></body></html>" \
<p>The document is <a href=\"ipfs/$(myHash)\">here</a> in IPFS.</p></body></html>" \
&& echo "$myHttpContent"
}
@ -53,15 +52,14 @@ Content-Length: $(myHttpContent |wc -c)
Date: $(date -R)
Location: ipfs/$(myHash)
Server: and"
[ -n "$(myKey)" ] && myHttpHeader+="
[ -n "$(myKey)" ] && myHttpHeader="${myHttpHeader}
set-cookie: AND=$(myKey); expires=$(date -R -d "+1 month"); path=/; domain=.$(myDomainName); Secure; SameSite=lax"
[ -n "$myHttpHeader" ] && echo "$myHttpHeader"
}
myHostName() {
myHostName=$(hostname |sed 's/\.'$(myDomainName)'$//')
myHostName=$(hostname |sed 's/\.'"$(myDomainName)"'$//')
[ -n "$(myDomainName)" ] && myHostName="${myHostName}.$(myDomainName)" || myDomainName=${myHostName#*.}
[ -z "$(myDomainName)" ] && myDomainName=localhost
[ -n "$myHostName" ] && echo "$myHostName"
}
@ -78,7 +76,7 @@ myIpfs() {
myIpns() {
[ -n "$(myKey)" ] \
&& myIpns="${myIPFS}/ipns/${myKey}" \
&& myIpns="${myIPFS}/ipns/$(myKey)" \
&& echo "$myIpns"
}
@ -88,15 +86,11 @@ myKey() {
}
myPath() {
myPath=$(cd "$(dirname \"$0\")" 2>/dev/null && pwd -P)
myPath=$(cd "$(dirname "$0")" 2>/dev/null && pwd -P)
[ -n "$myPath" ] && echo "$myPath"
}
myTmpl() {
[ -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'
myTmpl=$($RUN sed \
-e "s~\"http://127.0.0.1:1234/\"~\"${myIPFS}/\"~g" \
-e "s~\"http://127.0.0.1:1234\"~\"${myASTROPORT}\"~g" \
@ -104,9 +98,12 @@ myTmpl() {
-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})
-e "s~.000.~.$(printf '%03d' "$(seq 0 17 |shuf -n 1)").~g" \
~/.zen/Astroport.ONE/templates/register.html)
[ -n "$isLAN" ] \
&& myTmpl=$($RUN echo "$myTmpl" | 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")
[ -n "$myTmpl" ] && echo "$myTmpl"
}
@ -115,16 +112,15 @@ myTs() {
[ -n "$myTs" ] && echo "$myTs"
}
[ -n "$(myTs)" ] && MOATS="${myTs}"
[ -n "$(ipfsNodeId)" ] && IPFSNODEID="${ipfsNodeId}"
[ -n "$(myIp)" ] && myIP="${myIp}"
[ -n "$(isLan)" ] && isLAN="${isLan}"
[ -n "$(myDomainName)" ] \
&& myHOST="astroport.${myDomainName}" \
&& myIPFS="http://ipfs.${myDomainName}:8080" \
&& myASTROPORT="http://astroport.${myDomainName}:1234"
MOATS="$(myTs)"
IPFSNODEID="$(ipfsNodeId)"
myIP="$(myIp)"
isLAN="$(isLan)"
myHOST="astroport.$(myDomainName)" \
myIPFS="http://ipfs.$(myDomainName):8080" \
myASTROPORT="http://astroport.$(myDomainName):1234"
## WAN STATION
[ -n "$(myHostName)" ] && [ -z "$isLAN" ] \
&& myHOST="astroport.${myHostName}" \
&& myIPFS="https://ipfs.${myDomainName}" \
&& myASTROPORT="https://astroport.${myDomainName}"
[ -z "$isLAN" ] \
&& myHOST="astroport.$(myHostName)" \
&& myIPFS="https://ipfs.$(myDomainName)" \
&& myASTROPORT="https://astroport.$(myDomainName)"