Astroport.ONE/tools/myhost.sh

49 lines
1.7 KiB
Bash
Executable File

#shellcheck shell=sh
ipfsNodeId() {
ipfsNodeId=$(jq -r .Identity.PeerID ~/.ipfs/config)
[ -n "$ipfsNodeId" ] && echo "$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"
} 2>/dev/null
myDomainName() {
myDomainName=$(hostname -d 2>/dev/null) && [ -z "$myDomainName" ] && myDomainName=$(domainname 2>/dev/null) && [ "$myDomainName" = "(none)" ] && myDomainName="localhost"
[ -n "$myDomainName" ] && echo "$myDomainNane"
}
myHostName() {
myHostName=$(hostname |sed 's/\.'$(myDomainName)'$//')
[ -n "$myDomainName" ] && myHostName="${myHostName}.${myDomainName}" || myDomainName=${myHostName#*.}
[ -z "$myDomainName" ] && myDomainName=localhost
[ -n "$myHostName" ] && echo "$myHostName"
}
myIp() {
myIp=$(hostname -I | awk '{print $1}' | head -n 1)
[ -n "$myIp" ] && echo "$myIp"
}
myTs() {
myTs=$(date -u +"%Y%m%d%H%M%S%4N")
[ -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"
## WAN STATION
[ -n "$(myHostName)" ] && [ -z "$isLAN" ] \
&& myHOST="astroport.${myHostName}" \
&& myIPFS="https://ipfs.${myDomainName}" \
&& myASTROPORT="https://astroport.${myDomainName}"