forked from axiom-team/astroport
38 lines
1.9 KiB
Bash
Executable File
38 lines
1.9 KiB
Bash
Executable File
#!/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 id -f='<id>\n') || er+=" ipfs id problem"
|
|
WHOAMI=$(sbotc whoami | jq -r .id) || er+=" sbotc whoami problem"
|
|
[[ "$YOU" == "" || "$IPFSNODEID" == "" || "$WHOAMI" == "" ]] && echo "ERROR : $er " && exit 1
|
|
########################################################################
|
|
# TODO ESTABLISH A PORT FORWARD STRATEGY (depending on Node Flavour)
|
|
|
|
# Arrange local port forwarded to swarm
|
|
|
|
# GET _uidna (means g1sms/init.sh been run)
|
|
[[ -f /home/$YOU/.zen/ipfs/.$IPFSNODEID/G1SSB/_uidna ]] && UIDNA=$(cat /home/$YOU/.zen/ipfs/.$IPFSNODEID/G1SSB/_uidna)
|
|
|
|
if [[ $(which gammu) ]]; then
|
|
# I am a g1sms NODE, pushing my web interface
|
|
ipfs p2p listen /x/g1sms /ip4/127.0.0.1/tcp/10099
|
|
else
|
|
# Looking for g1sms NODE in my swarm
|
|
SMSNODE=$(ls /home/$YOU/.zen/ipfs_swarm/.Qm*/G1SSB/_g1sms | shuf -n 1 | cut -d '/' -f 6 | cut -d '.' -f 2)
|
|
# Wait for DHT to propagate.... before getting eventual /x/g1sms forward
|
|
[[ $SMSNODE ]] && sleep $((1 + RANDOM % 10)) && ipfs p2p forward /x/g1sms /ip4/127.0.0.1/tcp/10097 /p2p/$SMSNODE
|
|
fi
|
|
|
|
# ipfs p2p close --all
|
|
# ipfs p2p listen /x/ssh-$UIDNA /ip4/127.0.0.1/tcp/22
|
|
# ipfs p2p listen /x/http-$UIDNA /ip4/127.0.0.1/tcp/80
|
|
# ipfs p2p listen /x/https-$UIDNA /ip4/127.0.0.1/tcp/443
|
|
ipfs p2p ls
|