forked from axiom-team/astroport
$USER = $YOU
This commit is contained in:
parent
ac88b5f642
commit
3c226be0b7
|
@ -8,31 +8,27 @@
|
|||
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) || 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
|
||||
########################################################################
|
||||
#### DO NOT RUN AS ROOT
|
||||
[[ $USER == "root" ]] && echo "DO NOT RUN AS root!! Use regular USER with sudo AUTHORISATION" && exit 1
|
||||
|
||||
#### APACHE NOT SUPPORTED
|
||||
is_apache_running=$(ps auxf --sort=+utime | grep -w apache | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1);
|
||||
[[ $is_apache_running ]] && echo "SORRY ONLY nginx is supported. EXIT" && exit 1
|
||||
|
||||
#### ARM / X64 NOT USED THERE
|
||||
MACHINE_TYPE=`uname -m`
|
||||
[ ${MACHINE_TYPE:0:3} == 'arm' ] && isARM="YES"
|
||||
|
||||
YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1);
|
||||
[[ ! $YOU ]] && echo "EXIT! PLEASE INSTALL & RUN ipfs daemon WITH curl -s https://git.p2p.legal/axiom-team/astroport/raw/master/.install/ipfs_alone.sh | bash " \
|
||||
&& exit 1
|
||||
IPFSNODEID=$(ipfs id -f='<id>\n')
|
||||
|
||||
##################################
|
||||
## INSTALL
|
||||
## INSTALL RAINBOW ASCII ;)
|
||||
[[ ! $(which figlet) ]] && sudo apt install figlet -y
|
||||
[[ ! $(which lolcat) ]] && sudo apt install lolcat -y
|
||||
echo '
|
||||
__ ____ _ __________ __
|
||||
/ / / __ \ | / / ____/ / ____ _____ ____/ /
|
||||
/ / / / / / | / / __/ / / / __ `/ __ \/ __ /
|
||||
/ /___/ /_/ /| |/ / /___/ /___/ /_/ / / / / /_/ /
|
||||
/_____/\____/ |___/_____/_____/\__,_/_/ /_/\__,_/
|
||||
|
||||
echo '
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
______ __ ____ ___
|
||||
/ ____/___ ____ __ __/ / ____ _/ __ \____ _____/ (_)___
|
||||
|
@ -41,40 +37,42 @@ echo '
|
|||
\____/\____/ .___/\__, /_____/\__,_/_/ |_|\__,_/\__,_/_/\____/
|
||||
/_/ /____/
|
||||
|
||||
Multimedia Layer https://copylaradio.com
|
||||
Multimedia Layer (https://www.copylaradio.com)
|
||||
' | lolcat
|
||||
######## YOUTUBE-DL ##########
|
||||
if [[ ! $(which youtube-dl) ]]; then
|
||||
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl || exit 1
|
||||
sudo chmod a+rx /usr/local/bin/youtube-dl
|
||||
sudo chown $USER /usr/local/bin/youtube-dl
|
||||
fi
|
||||
|
||||
# AUDIO LAYER
|
||||
[[ ! $(which mpd) ]] && sudo apt-get update
|
||||
sudo apt-get install libid3-tools mpd mpc lame -y || err=1
|
||||
sudo apt-get install lame sox libsox-fmt-mp3 eyed3 python-chardet imagemagick curl -y #libav-tools || err=1
|
||||
sudo apt-get install ca-certificates git-core binutils rsync alsa-utils bc espeak mpg321 fuse atomicparsley -y || err=1
|
||||
|
||||
## CONFIG MPD
|
||||
sudo cp -f /home/$YOU/.zen/astroport/.install/templates/copylaradio/mpd.conf /etc/mpd.conf
|
||||
sudo sed -i "s/_USER_/$USER/g" /etc/mpd.conf || err=1
|
||||
mkdir ~/.config/mpd && sudo cp -f /etc/mpd.conf ~/.config/mpd/mpd.conf && sudo chown $USER ~/.config/mpd/mpd.conf
|
||||
|
||||
## MULTIMEDIA
|
||||
## VIDEO & AUDIO & PLAYLISTS ~/.zen/ DIR
|
||||
mkdir -p ~/.zen/video
|
||||
mkdir -p ~/.zen/audio
|
||||
mkdir -p ~/.zen/playlists
|
||||
mkdir -p /home/$YOU/.zen/ipfs/.$IPFSNODEID/TASK/loveland_entrance
|
||||
|
||||
######## YOUTUBE-DL ##########
|
||||
if [[ ! $(which youtube-dl) ]]; then
|
||||
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl || exit 1
|
||||
sudo chmod a+rx /usr/local/bin/youtube-dl
|
||||
sudo chown $YOU /usr/local/bin/youtube-dl
|
||||
fi
|
||||
|
||||
###############################
|
||||
# MPD/MPC RompR AUDIO LAYER
|
||||
###############################
|
||||
if [[ ! $(which mpd) ]]; then
|
||||
sudo apt-get update
|
||||
sudo apt-get install libid3-tools mpd mpc lame ffmpeg lsof inotify-tools -y || err=1
|
||||
sudo apt-get install lame sox libsox-fmt-mp3 eyed3 python-chardet imagemagick curl -y || err=1 #libav-tools unavailable on some system
|
||||
sudo apt-get install ca-certificates git-core binutils rsync alsa-utils bc espeak mpg321 fuse atomicparsley -y || err=1
|
||||
|
||||
## CONFIG MPD
|
||||
sudo cp -f /home/$YOU/.zen/astroport/.install/templates/copylaradio/mpd.conf /etc/mpd.conf
|
||||
sudo sed -i "s/_USER_/$YOU/g" /etc/mpd.conf || err=1
|
||||
mkdir ~/.config/mpd && sudo cp -f /etc/mpd.conf ~/.config/mpd/mpd.conf && sudo chown $YOU ~/.config/mpd/mpd.conf
|
||||
|
||||
## CHOWN mpd FILES STRUCTURE
|
||||
sudo chown -R $USER /var/lib/mpd/ /var/run/mpd /run/mpd /var/log/mpd
|
||||
sudo chown -R $YOU /var/lib/mpd/ /var/run/mpd /run/mpd /var/log/mpd
|
||||
sudo service mpd restart || err=1
|
||||
fi
|
||||
|
||||
### INSTALL NGINX
|
||||
echo '
|
||||
echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
_
|
||||
____ ____ _(_)___ _ __
|
||||
/ __ \/ __ `/ / __ \| |/_/
|
||||
|
@ -82,15 +80,14 @@ echo '
|
|||
/_/ /_/\__, /_/_/ /_/_/|_|
|
||||
/____/
|
||||
|
||||
install
|
||||
' | lolcat
|
||||
|
||||
sudo apt-get install fail2ban nginx ssl-cert php-curl php-sqlite3 php-gd php-json php-xml php-mbstring php-fpm sqlite -y || err=1
|
||||
|
||||
# IN CASE, KILL RUNNING OASIS
|
||||
sudo kill -9 $(ps auxf --sort=+utime | grep -w oasis | grep -v -E 'color=auto|grep' | tail -n 1 | awk '{print $2}')
|
||||
echo "REstarting OASIS with good NODENAME & network config"
|
||||
[[ ! $(which nslookup) ]] && sudo apt-get install lolcat dnsutils -y
|
||||
|
||||
echo '
|
||||
echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
__ ___ _ ___
|
||||
/ |/ /_ __ ____ ____ _____ ___ ___ (_)___/__ \
|
||||
/ /|_/ / / / / / __ \/ __ `/ __ `__ \/ _ \ / / ___// _/
|
||||
|
@ -99,25 +96,52 @@ echo '
|
|||
/____/
|
||||
' | lolcat
|
||||
|
||||
myip=$(hostname -I | awk '{print $1}')
|
||||
# Check if IP is from reserved LAN addresses (Thanks a lot to https://stackoverflow.com)
|
||||
isLAN=$(echo $myip | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/")
|
||||
# Find 1st route gateway
|
||||
myRouter=$(sudo route -n | head -n 3 | tail -n 1 | awk '{print $2}')
|
||||
myIP=$(hostname -I | awk '{print $1}' | head -n 1)
|
||||
isLAN=$(echo $myIP | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/")
|
||||
|
||||
# Ask to the router its name (BOX DNS or system defined)
|
||||
NODENAME=$(curl -s https://git.p2p.legal/axiom-team/astroport/raw/master/zen/tools/nodename | bash)
|
||||
[[ -f /home/$YOU/.zen/astroport/zen/tools/nodename ]] && NODENAME=$(/home/$YOU/.zen/astroport/zen/tools/nodename) \
|
||||
|| NODENAME=$(curl -s https://git.p2p.legal/axiom-team/astroport/raw/master/zen/tools/nodename | bash) ## RUNNING ALONE !!
|
||||
|
||||
echo $NODENAME
|
||||
|
||||
######################################
|
||||
### LAUNCHIN OASIS = SSB HTTP interface
|
||||
######################################
|
||||
echo '
|
||||
_
|
||||
____ ____ ______(_)____
|
||||
/ __ \/ __ `/ ___/ / ___/
|
||||
/ /_/ / /_/ (__ ) (__ )
|
||||
\____/\__,_/____/_/____/
|
||||
SSB DEMO HTTP interface
|
||||
' | lolcat
|
||||
# IN CASE, KILL RUNNING OASIS
|
||||
sudo kill -9 $(ps auxf --sort=+utime | grep -w oasis | grep -v -E 'color=auto|grep' | tail -n 1 | awk '{print $2}')
|
||||
echo "Starting OASIS with good $NODENAME & network config"
|
||||
echo "TODO: add to your /etc/rc.local or systemd or initV !!!"
|
||||
|
||||
if [[ ! $isLAN ]]; then
|
||||
### TODO install Feddless.social ???
|
||||
### TODO: unlock oasis restrictions!! CANNOT MAKE PRIVATE MESSAGE => Feddless.social CAN add it as module on loveland portal!!)
|
||||
oasis --allow-host $NODENAME --host $NODENAME --public 2>&1>/dev/null &
|
||||
echo "--public OASIS STATION CANNOT HTTP PUBLISH..."
|
||||
echo "--public = OASIS STATION IS IN VIEWING MODE ONLY..."
|
||||
else
|
||||
oasis --allow-host $NODENAME --host $NODENAME 2>&1>/dev/null &
|
||||
fi
|
||||
|
||||
sleep 5
|
||||
|
||||
echo '
|
||||
__ ____ _ __________ __
|
||||
/ / / __ \ | / / ____/ / ____ _____ ____/ /
|
||||
/ / / / / / | / / __/ / / / __ `/ __ \/ __ /
|
||||
/ /___/ /_/ /| |/ / /___/ /___/ /_/ / / / / /_/ /
|
||||
/_____/\____/ |___/_____/_____/\__,_/_/ /_/\__,_/
|
||||
|
||||
Portal
|
||||
' | lolcat
|
||||
|
||||
###
|
||||
echo "INSTALL LOVELand WebSite. Linking to /var/www ..."
|
||||
if [[ ! -L /var/www/loveland ]]; then
|
||||
sudo ln -s /home/$YOU/.zen/astroport/www/LOVELand /var/www/loveland
|
||||
|
@ -128,11 +152,8 @@ sudo chmod -R 777 /var/www/loveland/jukebox/albumart
|
|||
sudo chmod -R 777 /var/www/loveland/jukebox/prefs
|
||||
|
||||
# CONFIG NGINX - LOVE LAND FRONTAL WEB PAGE
|
||||
|
||||
echo "$NODENAME" | figlet -f slant | lolcat
|
||||
|
||||
YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1);
|
||||
|
||||
## Write NODENAME to IPFS
|
||||
echo "$NODENAME" > /home/$YOU/.zen/ipfs/.$IPFSNODEID/G1SSB/_nodename
|
||||
|
||||
|
@ -172,9 +193,12 @@ fi
|
|||
if [[ $(which oasis) ]]; then
|
||||
sudo sed "s/_MY_NODE_NAME_/$NODENAME/g" /home/$YOU/.zen/astroport/www/oasis.conf > /tmp/oasis.conf
|
||||
sudo sed -i "s/_PORT_/10040/g" /tmp/oasis.conf
|
||||
sudo sed -i "s/_LHOST_/$NODENAME\:3000/g" /tmp/oasis.conf
|
||||
sudo sed -i "s/_LHOST_/$NODENAME:3000/g" /tmp/oasis.conf
|
||||
sudo sed -i "s/_APPLI_//g" /tmp/oasis.conf
|
||||
sudo cp -f /tmp/oasis.conf /etc/nginx/conf.d/oasis.conf
|
||||
# TRICK: COULD BE USED TO ADD .htpasswod ACCESS CONTROL AND REMOVE --public
|
||||
# TODO use "ipfs p2p" to AGREGATE ALL OASIS on ONE (not ALL like G1SMS) ?
|
||||
# NEED G1PUB to be identified with same MEMBER owner in 'zen/ipfs_OPEN_ports.sh'?
|
||||
fi
|
||||
|
||||
### G1SMS propagation to localhost:10099 / 10097 ("ipfs p2p" forwarded)
|
||||
|
|
|
@ -50,8 +50,6 @@ if [ ! $IPFSPrivKey ]; then echo "FATAL ERROR:: IPFS Node.Identity.PrivKey IPFSP
|
|||
##################################################################
|
||||
# G1sms Service - G1Wallet
|
||||
#
|
||||
[[ ! -d /home/$YOU/.zen/ipfs/.$IPFSNODEID/TASK/loveland_entrance ]] && mkdir -p /home/$YOU/.zen/ipfs/.$IPFSNODEID/TASK/loveland_entrance
|
||||
|
||||
# ONE TIME GIVE NODE_UIDNA
|
||||
if [[ ! -f /home/$YOU/.zen/ipfs/.$IPFSNODEID/G1SSB/_uidna ]]; then
|
||||
# CREATE NODE G1 KEYS AND FILES
|
||||
|
|
|
@ -28,7 +28,7 @@ WAN=$1
|
|||
[[ ! $(which nslookup) ]] && sudo apt-get update && sudo apt-get install dnsutils -y
|
||||
|
||||
# What is myIP?
|
||||
export myIP=$(hostname -I | awk '{print $1}')
|
||||
export myIP=$(hostname -I | awk '{print $1}' | head -n 1)
|
||||
# Check if IP is from reserved LAN addresses
|
||||
export isLAN=$(echo $myIP | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/")
|
||||
# Find default route gateway
|
||||
|
|
Loading…
Reference in New Issue