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
myhost() {
echo $myHOST
echo $myIPFS
}
Describe 'tools/my.sh'
Include ./tools/my.sh
It 'does my env variables'
myhost() {
echo $myHOST
echo $myIPFS
}
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)"