#!/bin/bash ######################################################################## # Author: Armust (support@qo-op.com) # Version: 2020.12.24 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ######################################################################## MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ME="${0##*/}" YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1); IPFSNODEID=$(ipfs id -f='\n') myIP=$(hostname -I | awk '{print $1}' | head -n 1) IamInLAN=$(echo $myIP | grep -E "(^127\.)|(^192\.168\.)|(^fd42\:)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/" ) #EXTERNIP=$(curl -s http://whatismyip.akamai.com/) ######################################################################## echo "CREATING MY /home/$YOU/.zen/ipfs/.${IPFSNODEID}/tryme.addr" ######################################################################## mkdir -p ~/.zen/ipfs/.${IPFSNODEID} # echo "/ip4/$EXTERNIP/udp/4001/astro/p2p/${IPFSNODEID}" >> /home/$YOU/.zen/ipfs/.${IPFSNODEID}/tryme.addr # Doesn't have the right NATed port, so pretty useless... rm -f ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr touch ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr for tryme in $(ipfs id | jq -r .Addresses[]); do isLAN=$(echo $tryme | cut -f3 -d '/' | grep -E "(^127\.)|(^192\.168\.)|(^fd42\:)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/") [[ ! $isLAN ]] && echo "$tryme" >> ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr && echo "$tryme" done # Now adding "ipfs swarm peers" to ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr for tryme in $(ipfs swarm peers); do isLAN=$(echo $tryme | cut -f3 -d '/' | grep -E "(^127\.)|(^192\.168\.)|(^fd42\:)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/") [[ ! $isLAN ]] && echo "$tryme" >> ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr && echo "$tryme" done # REMOVE ipv6 address for in LAN node if [[ $IamInLAN ]]; then cat ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr | grep -Ev "ip6" > /tmp/tryme.addr cp -f /tmp/tryme.addr ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr fi # UNIQ TOUT CA cat ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr | sort | uniq > /tmp/tryme.addr cp -f /tmp/tryme.addr ~/.zen/ipfs/.${IPFSNODEID}/tryme.addr rm -f /tmp/tryme.addr exit 0