From 3c226be0b74a70b8966e68f10d053d31865f7ea4 Mon Sep 17 00:00:00 2001 From: qo-op Date: Sat, 23 May 2020 18:10:10 +0200 Subject: [PATCH] $USER = $YOU --- .install/loveland.sh | 136 ++++++++++++++++++++++++++++++--------------------- g1sms/init_keys.sh | 2 - zen/tools/nodename | 2 +- 3 files changed, 81 insertions(+), 59 deletions(-) diff --git a/.install/loveland.sh b/.install/loveland.sh index 9047f6f..6e5acc9 100755 --- a/.install/loveland.sh +++ b/.install/loveland.sh @@ -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='\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='\n') - ################################## -## INSTALL +## INSTALL RAINBOW ASCII ;) [[ ! $(which figlet) ]] && sudo apt install figlet -y [[ ! $(which lolcat) ]] && sudo apt install lolcat -y + 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 -## CHOWN mpd FILES STRUCTURE -sudo chown -R $USER /var/lib/mpd/ /var/run/mpd /run/mpd /var/log/mpd -sudo service mpd restart || err=1 +############################### +# 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 $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 -if [[ ! $isLAN ]]; then - ### TODO install Feddless.social ??? +###################################### +### 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: 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) diff --git a/g1sms/init_keys.sh b/g1sms/init_keys.sh index 2b6397d..4e467f5 100755 --- a/g1sms/init_keys.sh +++ b/g1sms/init_keys.sh @@ -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 diff --git a/zen/tools/nodename b/zen/tools/nodename index 8590c73..5fc9276 100755 --- a/zen/tools/nodename +++ b/zen/tools/nodename @@ -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