parent
b1ee55d196
commit
7160c835fb
@ -1,204 +1,332 @@
|
||||
#shellcheck shell=sh disable=SC2034
|
||||
|
||||
Normalize() {
|
||||
awk '{print tolower($1)}' | sed 's/\(_\|+\)/./g;'
|
||||
}
|
||||
|
||||
Revert() {
|
||||
awk -F. '{for (i=NF; i>1; i--) printf("%s.",$i); print $1;}'
|
||||
}
|
||||
|
||||
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])/" \
|
||||
local 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])/" \
|
||||
|| true)
|
||||
[ -n "$isLan" ] && echo "$isLan" || true
|
||||
} 2>/dev/null
|
||||
|
||||
isPlayerLegal() {
|
||||
isPlayerLegal=$(cat "$(myPlayerPath)"/.legal 2>/dev/null || true)
|
||||
local isPlayerLegal=$(cat "$(myPlayerPath)"/.legal 2>/dev/null || true)
|
||||
[ -n "$isPlayerLegal" ] && echo "$isPlayerLegal" || true
|
||||
}
|
||||
|
||||
myAstronauteKey() {
|
||||
myAstronauteKey=$(ipfs --api "$(myIpfsApi)" key list -l | awk '$2 == "'"$(myPlayer)"'" {print $1}')
|
||||
[ -n "$myAstronauteKey" ] && echo "$myAstronauteKey"
|
||||
myAstroKey() {
|
||||
local myAstroKey=$(ipfs --api "$(myIpfsApi)" key list -l | awk '$2 == "'"$(myPlayer)"'" {print $1}')
|
||||
[ -n "$myAstroKey" ] && echo "$myAstroKey"
|
||||
}
|
||||
|
||||
myDomainName() {
|
||||
myDomainName=$(hostname -d 2>/dev/null) && [ -z "$myDomainName" ] && myDomainName=$(domainname 2>/dev/null) && [ "$myDomainName" = "(none)" ] && myDomainName="localhost"
|
||||
[ -n "$myDomainName" ] && echo "$myDomainName"
|
||||
myAstroPath() {
|
||||
local myAstroPath=$(cd ~/.zen/Astroport.ONE/ && pwd -P)
|
||||
[ -n "$myAstroPath" ] && echo "$myAstroPath"
|
||||
}
|
||||
|
||||
myIpfsHash() {
|
||||
[ -f "$(myPath)"/localhost/latest ] \
|
||||
&& myIpfsHash=$(cat "$(myPath)"/localhost/latest) \
|
||||
|| myIpfsHash=$(myTmpl |ipfs add -q)
|
||||
[ ! -f "$(myPath)"/localhost/latest ] \
|
||||
&& echo "$myIpfsHash" > "$(myPath)"/localhost/latest
|
||||
[ -n "$myIpfsHash" ] && echo "$myIpfsHash"
|
||||
myDate() {
|
||||
local myDate=$(date -u +"%Y%m%d%H%M%S%4N")
|
||||
[ -n "$myDate" ] && echo "$myDate"
|
||||
}
|
||||
|
||||
myDomainName() {
|
||||
local myDomainName=$(hostname -d 2>/dev/null) && [ -z "$myDomainName" ] && myDomainName=$(domainname 2>/dev/null) && [ "$myDomainName" = "(none)" ] && myDomainName="localhost"
|
||||
[ -n "$myDomainName" ] && echo "$myDomainName"
|
||||
}
|
||||
|
||||
myHttp() {
|
||||
[ -n "$(myHttpHeader)" ] \
|
||||
&& myHttp="$(myHttpHeader)
|
||||
&& local myHttp="$(myHttpHeader)
|
||||
|
||||
" || myHttp=""
|
||||
[ -n "$(myHttpContent)" ] \
|
||||
&& myHttp="${myHttp}$(myHttpContent)"
|
||||
[ -n "$myHttp" ] \
|
||||
&& echo "$myHttp"
|
||||
" || local myHttp=""
|
||||
[ -n "$(myHttpContent)" ] && myHttp="${myHttp}$(myHttpContent)"
|
||||
[ -n "$myHttp" ] && echo "$myHttp"
|
||||
}
|
||||
|
||||
myHttpContent() {
|
||||
[ -n "$(myIpfsHash)" ] \
|
||||
&& myHttpContent="<html><head><title>302 Found</title></head><body><h1>Found</h1>
|
||||
&& local myHttpContent="<html><head><title>302 Found</title></head><body><h1>Found</h1>
|
||||
<p>The document is <a href=\"ipfs/$(myIpfsHash)\">here</a> in IPFS.</p></body></html>" \
|
||||
&& echo "$myHttpContent"
|
||||
}
|
||||
|
||||
myHttpHeader() {
|
||||
[ -n "$(myIpfsHash)" ] \
|
||||
&& myHttpHeader="HTTP/1.0 302 Found
|
||||
&& local myHttpHeader="HTTP/1.0 302 Found
|
||||
Content-Type: text/html; charset=UTF-8
|
||||
Content-Length: $(myHttpContent |wc -c)
|
||||
Date: $(date -R)
|
||||
Location: ipfs/$(myIpfsHash)
|
||||
Server: and"
|
||||
[ -n "$(myIpfsKey)" ] && myHttpHeader="${myHttpHeader}
|
||||
Server: and" \
|
||||
&& [ -n "$(myIpfsKey)" ] && myHttpHeader="${myHttpHeader}
|
||||
set-cookie: AND=$(myIpfsKey); expires=$(date -R -d "+1 month"); path=/; domain=.$(myDomainName); Secure; SameSite=lax"
|
||||
[ -n "$myHttpHeader" ] && echo "$myHttpHeader"
|
||||
}
|
||||
|
||||
myHome() {
|
||||
myHome=$(cd ~ && pwd -P)
|
||||
local myHome=$(cd ~ && pwd -P)
|
||||
[ -n "$myHome" ] && echo "$myHome"
|
||||
}
|
||||
|
||||
myHostName() {
|
||||
myHostName=$(hostname |sed 's/\.'"$(myDomainName)"'$//')
|
||||
local myHostName=$(hostname |sed 's/\.'"$(myDomainName)"'$//')
|
||||
[ -n "$(myDomainName)" ] && myHostName="${myHostName}.$(myDomainName)" || myDomainName=${myHostName#*.}
|
||||
[ -n "$myHostName" ] && echo "$myHostName"
|
||||
}
|
||||
|
||||
myIp() {
|
||||
myIp=$(hostname -I | awk '{print $1}' | head -n 1)
|
||||
[ -n "$myIp" ] && echo "$myIp"
|
||||
local myIp=$(hostname -I | awk '{print $1}' | head -n 1)
|
||||
[ -n "$myIp" ] && echo "$myIp" || echo "127.0.0.1"
|
||||
}
|
||||
|
||||
myIpfs() {
|
||||
[ -n "$(myIpfsHash)" ] \
|
||||
&& myIpfs="${myIPFS}/ipfs/$(myIpfsHash)" \
|
||||
&& local myIpfs="${myIPFS}/ipfs/$(myIpfsHash)" \
|
||||
&& echo "$myIpfs"
|
||||
}
|
||||
|
||||
myIpfsApi() {
|
||||
ipfs --api "$(cat "$(myHome)"/.ipfs/api)" swarm peers >/dev/null 2>&1 \
|
||||
&& myIpfsApi=$(cat "$(myHome)"/.ipfs/api) \
|
||||
&& echo "$myIpfsApi"
|
||||
&& local myIpfsApi=$(cat "$(myHome)"/.ipfs/api)
|
||||
[ -n "$myIpfsApi" ] && echo "$myIpfsApi"
|
||||
}
|
||||
|
||||
myIpfsApiGw() {
|
||||
[ -n "$isLAN" ] \
|
||||
&& local myIpfsApiGw="http://ipfs.localhost:5001" \
|
||||
|| local myIpfsApiGw="https://ipfs.$(myHostName)/api"
|
||||
[ -n "$myIpfsApiGw" ] && echo "$myIpfsApiGw"
|
||||
}
|
||||
|
||||
myIpfsBootstrapNode() {
|
||||
[ -n "$(myIpfsBootstrapNodes)" ] \
|
||||
&& local myIpfsBootstrapNode=$(myIpfsBootstrapNodes | shuf | head -1)
|
||||
[ -n "$myIpfsBootstrapNode" ] && echo "$myIpfsBootstrapNode"
|
||||
}
|
||||
|
||||
myIpfsBootstrapNodes() {
|
||||
[ -f "$(myAstroPath)/A_boostrap_nodes.txt" ] \
|
||||
&& local myIpfsBootstrapNodes=$(awk -F/ '$6 != "" {print}' "$(myAstroPath)/A_boostrap_nodes.txt")
|
||||
[ -n "$myIpfsBootstrapNodes" ] && echo "$myIpfsBootstrapNodes"
|
||||
}
|
||||
|
||||
myIpfsGw() {
|
||||
[ -f "$(myAstroPath)/A_boostrap_nodes.txt" ] \
|
||||
&& local myIpfsGw=$(head -n2 "$(myAstroPath)/A_boostrap_nodes.txt" | tail -n 1 | cut -d ' ' -f 2)
|
||||
[ -n "$myIpfsGw" ] && echo "$myIpfsGw"
|
||||
}
|
||||
|
||||
myIpfsHash() {
|
||||
[ -f "$(myPath)"/localhost/latest ] \
|
||||
&& local myIpfsHash=$(cat "$(myPath)"/localhost/latest) \
|
||||
|| local myIpfsHash=$(myHtml |ipfs add -q)
|
||||
[ ! -f "$(myPath)"/localhost/latest ] \
|
||||
&& echo "$myIpfsHash" > "$(myPath)"/localhost/latest
|
||||
[ -n "$myIpfsHash" ] && echo "$myIpfsHash"
|
||||
}
|
||||
|
||||
myIpfsKey() {
|
||||
myIpfsKey=$(ipfs --api "$(myIpfsApi)" key list -l | awk '$2 == "self" {print $1}')
|
||||
local myIpfsKey=$(ipfs --api "$(myIpfsApi)" key list -l | awk '$2 == "self" {print $1}')
|
||||
[ -n "$myIpfsKey" ] && echo "$myIpfsKey"
|
||||
}
|
||||
|
||||
myIpfsKeystore() {
|
||||
myIpfsKeystore=$(cd "$(myHome)"/.ipfs/keystore && pwd -P)
|
||||
local myIpfsKeystore=$(cd "$(myHome)"/.ipfs/keystore && pwd -P)
|
||||
[ -n "$myIpfsKeystore" ] && echo "$myIpfsKeystore"
|
||||
}
|
||||
|
||||
myIpfsPeerId() {
|
||||
myIpfsPeerId=$(jq -r .Identity.PeerID "$(myHome)"/.ipfs/config)
|
||||
local myIpfsPeerId=$(jq -r .Identity.PeerID "$(myHome)"/.ipfs/config)
|
||||
[ -n "$myIpfsPeerId" ] && echo "$myIpfsPeerId"
|
||||
}
|
||||
|
||||
myIpns() {
|
||||
[ -n "$(myIpfsKey)" ] \
|
||||
&& myIpns="${myIPFS}/ipns/$(myIpfsKey)" \
|
||||
&& local myIpns="${myIPFS}/ipns/$(myIpfsKey)" \
|
||||
&& echo "$myIpns"
|
||||
}
|
||||
|
||||
myPath() {
|
||||
myPath=$(cd ~/.zen/game/players/ && pwd -P)
|
||||
local myPath=$(cd ~/.zen/game/players/ && pwd -P)
|
||||
[ -n "$myPath" ] && echo "$myPath"
|
||||
}
|
||||
|
||||
myPlayer() {
|
||||
myPlayer=$(cat "$(myPath)"/.current/.player 2>/dev/null)
|
||||
local myPlayer=$(cat "$(myPath)"/.current/.player 2>/dev/null)
|
||||
[ -n "$myPlayer" ] && echo "$myPlayer"
|
||||
}
|
||||
|
||||
myPlayerApi() {
|
||||
ipfs --api "$(cat "$(myPlayerPath)"/.ipfs/api )" swarm peers >/dev/null 2>&1 \
|
||||
&& myPlayerApi=$(cat "$(myPlayerPath)"/.ipfs/api) \
|
||||
&& echo "$myPlayerApi"
|
||||
&& local myPlayerApi=$(cat "$(myPlayerPath)"/.ipfs/api)
|
||||
[ -n "$myPlayerApi" ] && echo "$myPlayerApi"
|
||||
}
|
||||
|
||||
myPlayerApiGw() {
|
||||
[ -n "$(myReyalp)" ] \
|
||||
&& { [ -n "$isLAN" ] \
|
||||
&& local myPlayerApiGw="http://ipfs.$(myHostName):5001" \
|
||||
|| local myPlayerApiGw="https://ipfs.$(myReyalp).$(myHostName)/api" \
|
||||
;}
|
||||
[ -n "$myPlayerApiGw" ] && echo "$myPlayerApiGw"
|
||||
}
|
||||
|
||||
myPlayerBrowser() {
|
||||
myPlayerBrowser=$(xdg-settings get default-web-browser | cut -d '.' -f 1 | cut -d '-' -f 1)
|
||||
[ -n "$myPlayerBrowser" ] && echo "$myPlayerBrowser"
|
||||
myPlayerDomain() {
|
||||
echo "$(myPlayer)" | grep "@" >/dev/null \
|
||||
&& local myPlayerDomain=$(echo "$(myPlayer)" | awk -F "@" '{print $2}' | Normalize)
|
||||
[ -n "$myPlayerDomain" ] && echo "$myPlayerDomain"
|
||||
}
|
||||
|
||||
myPlayerFeedKey() {
|
||||
myPlayerFeedKey=$(ipfs --api "$(myPlayerApi)" key list -l | awk '$2 == "'"$(myPlayer)"'_feed" {print $1}')
|
||||
[ -n "$myPlayerFeedKey" ] && echo "$myPlayerFeedKey"
|
||||
local myPlayerFeedKey=$(ipfs --api "$(myPlayerApi)" key list -l | awk '$2 == "'"$(myPlayer)"'_feed" {print $1}')
|
||||
[ -n "$myPlayerFeedKey" ] && echo "$myPlayerFeedKey"
|
||||
}
|
||||
|
||||
myPlayerG1Pub() {
|
||||
myPlayerG1Pub=$(cat "$(myPlayerPath)"/.g1pub 2>/dev/null)
|
||||
local myPlayerG1Pub=$(cat "$(myPlayerPath)"/.g1pub 2>/dev/null)
|
||||
[ -n "$myPlayerG1Pub" ] && echo "$myPlayerG1Pub"
|
||||
}
|
||||
|
||||
myPlayerHome() {
|
||||
echo "$(myPlayer)" | grep "@" >/dev/null \
|
||||
&& local myPlayerHome=$(cd "$(dirname "$(myHome)")/$(myPlayer)" && pwd -P)
|
||||
[ -n "$myPlayerHome" ] && echo "$myPlayerHome"
|
||||
}
|
||||
|
||||
myPlayerKey() {
|
||||
myPlayerKey=$(ipfs --api "$(myPlayerApi)" key list -l | awk '$2 == "'"$(myPlayer)"'" {print $1}')
|
||||
[ -n "$myPlayerKey" ] && echo "$myPlayerKey"
|
||||
local myPlayerKey=$(ipfs --api "$(myPlayerApi)" key list -l | awk '$2 == "'"$(myPlayer)"'" {print $1}')
|
||||
[ -n "$myPlayerKey" ] && echo "$myPlayerKey"
|
||||
}
|
||||
|
||||
myPlayerKeystore() {
|
||||
myPlayerKeystore=$(cd "$(myPlayerPath)"/.ipfs/keystore && pwd -P)
|
||||
local myPlayerKeystore=$(cd "$(myPlayerPath)"/.ipfs/keystore && pwd -P)
|
||||
[ -n "$myPlayerKeystore" ] && echo "$myPlayerKeystore"
|
||||
}
|
||||
|
||||
myPlayerNs() {
|
||||
myPlayerNs=$(cat "$(myPlayerPath)"/.playerns 2>/dev/null)
|
||||
local myPlayerNs=$(cat "$(myPlayerPath)"/.playerns 2>/dev/null)
|
||||
[ -n "$myPlayerNs" ] && echo "$myPlayerNs"
|
||||
}
|
||||
|
||||
myPlayerPath() {
|
||||
[ -n "$myPlayer" ] \
|
||||
&& myPlayerPath=$(cd "$(myPath)"/"$(myPlayer)" && pwd -P) \
|
||||
&& echo "$myPlayerPath"
|
||||
[ -n "$(myPlayer)" ] \
|
||||
&& local myPlayerPath=$(cd "$(myPath)"/"$(myPlayer)" && pwd -P)
|
||||
[ -n "$myPlayerPath" ] && echo "$myPlayerPath"
|
||||
}
|
||||
|
||||
myPlayerPseudo() {
|
||||
myPlayerPseudo=$(cat "$(myPlayerPath)"/.pseudo 2>/dev/null)
|
||||
local myPlayerPseudo=$(cat "$(myPlayerPath)"/.pseudo 2>/dev/null)
|
||||
[ -n "$myPlayerPseudo" ] && echo "$myPseudo"
|
||||
}
|
||||
|
||||
myTmpl() {
|
||||
myTmpl=$($RUN sed \
|
||||
myPlayerUser() {
|
||||
echo "$(myPlayer)" | grep "@" >/dev/null \
|
||||
&& local myPlayerUser=$(echo "$(myPlayer)" | awk -F "@" '{print $1}' | Normalize)
|
||||
[ -n "$myPlayerUser" ] && echo "$myPlayerUser"
|
||||
}
|
||||
|
||||
myPlayerUserDomain() {
|
||||
[ -n "$(myPlayerDomain)" ] \
|
||||
&& local myPlayerUserDomain="$(myPlayerUser).$(myPlayerDomain)" \
|
||||
&& echo "$myPlayerUserDomain"
|
||||
}
|
||||
|
||||
myReyalp() {
|
||||
[ -n "$(myPlayerDomain)" ] \
|
||||
&& local myReyalp="$(myPlayerUser).$(myPlayerDomain)" \
|
||||
&& echo "$myReyalp" \
|
||||
|| echo "$(myPlayer)"
|
||||
}
|
||||
|
||||
myReyalpHome() {
|
||||
[ -n "$(myReyalpResuPath)" ] \
|
||||
&& local myReyalpHome=$(cd "$(case ${RESU_HOME:-mail} in \
|
||||
dns) echo /dns/$(myReyalpResuPath) ;; \
|
||||
*) echo /home/$(myReyalpMail) ;; \
|
||||
esac)" && pwd -P)
|
||||
[ -n "$myReyalpHome" ] && echo "$myReyalpHome"
|
||||
}
|
||||
|
||||
myReyalpMail() {
|
||||
[ -n "$(myPlayerDomain)" ] \
|
||||
&& local myReyalpMail=$(echo "$(myPlayer)" | Normalize)
|
||||
[ -n "$myReyalpMail" ] && echo "$myReyalpMail"
|
||||
}
|
||||
|
||||
myReyalpNiamod() {
|
||||
[ -n "$(myPlayerDomain)" ] \
|
||||