astrXbian/zen/ipfs_P2P_forward.sh

55 lines
2.7 KiB
Bash
Raw Normal View History

2021-06-03 02:53:56 +02:00
#!/bin/bash
################################################################################
# Author: Fred (support@qo-op.com)
# Version: 0.1
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
################################################################################
# Activate SUPPORT MODE: open ssh over IPFS
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
########################################################################
YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) || er+=" ipfs daemon not running"
IPFSNODEID=$(ipfs --timeout=5s id -f='<id>\n') || er+=" ipfs id problem"
[[ "$YOU" == "" || "$IPFSNODEID" == "" ]] && echo "ERROR : $er " && exit 1
########################################################################
# TODO ESTABLISH A PORT FORWARD STRATEGY (depending on Node Flavour)
IPFSADMINID=$(cat ~/.zen/astrXbian/A_swarm_admin.txt)
## OASIS acts as nginx proxy WITH localhost:2443 => taurus:443 (NextCloud)
# OASIS : /etc/nginx/sites-available/taurus.copylaradio.com.conf
# server {
# server_name taurus.copylaradio.com;
2021-06-03 02:53:56 +02:00
#
# access_log /var/log/nginx/taurus-access.log;
# error_log /var/log/nginx/taurus-error.log;
#
# location / {
# proxy_pass https://127.0.0.1:2443;
# }
2021-06-03 02:53:56 +02:00
# }
# + sudo certbot !!
# _____
#|_ _|_ _ _ _ _ __ _ _ ___
# | |/ _` | | | | '__| | | / __|
# | | (_| | |_| | | | |_| \__ \
# |_|\__,_|\__,_|_| \__,_|___/ NextCloud
#
# 12D3KooWRstYPJSakosgnvvGpxDdUJd2xAncJB7fbBwLBaTAEJxp
2021-06-03 02:53:56 +02:00
if [[ "$IPFSNODEID" == "12D3KooWRstYPJSakosgnvvGpxDdUJd2xAncJB7fbBwLBaTAEJxp" ]]; then
[[ ! $(ipfs p2p ls | grep '/x/https-taurus') ]] && ipfs p2p listen /x/https-taurus /ip4/127.0.0.1/tcp/443
[[ ! $(ipfs p2p ls | grep '/x/ssh-taurus') ]] && ipfs p2p listen /x/ssh-taurus /ip4/127.0.0.1/tcp/22
2021-06-03 02:53:56 +02:00
fi
# BRING TO OASIS /etc/nginx/sites-available/taurus.copylaradio.com.conf
2021-06-03 02:53:56 +02:00
if [[ "$IPFSNODEID" == "12D3KooWBYme2BsNUrtx4mEdNX6Yioa9AV7opWzQp6nrPs6ZKabN" ]]; then
2021-06-04 05:13:24 +02:00
# CHECK CONNECTIVITY ipfs --timeout=5s ping /p2p/12D3KooWRstYPJSakosgnvvGpxDdUJd2xAncJB7fbBwLBaTAEJxp
2021-07-19 15:14:40 +02:00
[[ ! $(ipfs p2p ls | grep '/x/https-taurus') ]] && ipfs --timeout=5s ping -n 1 /p2p/12D3KooWRstYPJSakosgnvvGpxDdUJd2xAncJB7fbBwLBaTAEJxp && ipfs p2p forward /x/https-taurus /ip4/127.0.0.1/tcp/2443 /p2p/12D3KooWRstYPJSakosgnvvGpxDdUJd2xAncJB7fbBwLBaTAEJxp
[[ ! $(ipfs p2p ls | grep '/x/ssh-taurus') ]] && ipfs --timeout=5s ping -n 1 /p2p/12D3KooWRstYPJSakosgnvvGpxDdUJd2xAncJB7fbBwLBaTAEJxp && ipfs p2p forward /x/ssh-taurus /ip4/127.0.0.1/tcp/2022 /p2p/12D3KooWRstYPJSakosgnvvGpxDdUJd2xAncJB7fbBwLBaTAEJxp
2021-06-03 02:53:56 +02:00
fi
ipfs p2p ls