forked from axiom-team/astrXbian
51 lines
2.4 KiB
Bash
Executable File
51 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
########################################################################
|
|
# Author: Fred (support@qo-op.com)
|
|
# Version: 2021.03.21
|
|
# 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##*/}"
|
|
countMErunning=$(ps auxf --sort=+utime | grep -w $ME | grep -v -E 'color=auto|grep' | wc -l)
|
|
[[ $countMErunning -gt 2 ]] && echo "$ME already running $countMErunning time" && exit 0
|
|
|
|
YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) && [[ ! $YOU ]] && echo "ipfs NOT RUNNING. EXIT" && exit 1
|
|
G1PUB=$(cat ~/.zen/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2) && [[ ! $G1PUB ]] && echo "ERREUR G1PUB. EXIT" && exit 1
|
|
IPFSNODEID=$(ipfs --timeout=20s id -f='<id>\n')
|
|
[[ ! $IPFSNODEID ]] && echo 'ERROR missing IPFS Node id !! IPFS is not installed !?' && exit 1
|
|
########################################################################
|
|
########################################################################
|
|
# This script is controling IPFS swarm
|
|
# Sync friends peers ~/.zen/ipfs/ into ~/.zen/ipfs_swarm/.IPFSNODEID's/ directories
|
|
# add not friend_of_mine IPs to fail2ban
|
|
########################################################################
|
|
########################################################################
|
|
## SYNC WITH FRIENDS
|
|
# _____ ____ ___ _____ _ _ ____
|
|
# | ___| _ \|_ _| ____| \ | | _ \
|
|
# | |_ | |_) || || _| | \| | | | |
|
|
# | _| | _ < | || |___| |\ | |_| |
|
|
# |_| |_| \_\___|_____|_| \_|____/
|
|
#
|
|
#
|
|
for g1id in $(ls ~/.zen/ipfs/.$IPFSNODEID/FRIENDS | shuf);
|
|
do
|
|
[[ "$g1id" == "index.html" ]] && continue
|
|
ipfsnodeid=$(~/.zen/astrXbian/zen/tools/g1_to_ipfs.py $g1id)
|
|
|
|
# Try to ping my friend OR continue
|
|
ipfs --timeout=10s ping -n 3 /p2p/$ipfsnodeid || continue
|
|
|
|
echo "REFRESHING Friend /ipns/$ipfsnodeid INTO ~/.zen/ipfs_swarm/"
|
|
ipfs --timeout=90s get --output=/home/$YOU/.zen/ipfs_swarm/ /ipns/$ipfsnodeid
|
|
[[ -f /home/$YOU/.zen/ipfs_swarm/.$ipfsnodeid/_xbian.zuid ]] && cat /home/$YOU/.zen/ipfs_swarm/.$ipfsnodeid/_xbian.zuid || echo "NO ZUID"
|
|
|
|
echo "This is the list of your friend friends"
|
|
ls -d ~/.zen/ipfs_swarm/.$ipfsnodeid/FRIENDS/*/ | rev | cut -d '/' -f 2 | rev
|
|
done
|
|
|
|
|
|
exit 0
|
|
|