This commit is contained in:
poka 2020-05-18 00:55:48 +02:00
commit dd5748cd2c
5 changed files with 75 additions and 22 deletions

View File

@ -32,7 +32,7 @@ echo '
\____/\____/ .___/\__, /_____/\__,_/_/ |_|\__,_/\__,_/_/\____/ \____/\____/ .___/\__, /_____/\__,_/_/ |_|\__,_/\__,_/_/\____/
/_/ /____/ /_/ /____/
Multimedia Layer installation Multimedia Layer installation https://copylaradio.com
' '
######## YOUTUBE-DL ########## ######## YOUTUBE-DL ##########
if [[ ! $(which youtube-dl) ]]; then if [[ ! $(which youtube-dl) ]]; then
@ -52,16 +52,15 @@ sudo cp -f /home/$YOU/.zen/astroport/.install/templates/copylaradio/mpd.conf /et
sudo sed -i "s/_USER_/$USER/g" /etc/mpd.conf || err=1 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 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 ## VIDEO & AUDIO & PLAYLISTS ~/.zen/ DIR
mkdir -p ~/.zen/video mkdir -p ~/.zen/video
mkdir -p ~/.zen/audio mkdir -p ~/.zen/audio
mkdir -p ~/.zen/playlists mkdir -p ~/.zen/playlists
## CHOWN mpd FILES STRUCTURE ( ## CHOWN mpd FILES STRUCTURE
echo "TODO: CHECK if mpd start after a reboot !!"
sudo chown -R $USER /var/lib/mpd/ /var/run/mpd /run/mpd /var/log/mpd sudo chown -R $USER /var/lib/mpd/ /var/run/mpd /run/mpd /var/log/mpd
sudo service mpd restart || err=1 sudo service mpd restart || err=1
## TODO add to system start (/etc/rc.local?)
### INSTALL NGINX ### INSTALL NGINX
echo ' echo '
@ -75,7 +74,7 @@ echo '
' '
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 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
# KILL RUNNING OASIS # IN CASE, KILL RUNNING OASIS
kill -9 $(ps auxf --sort=+utime | grep -w oasis | grep -v -E 'color=auto|grep' | tail -n 1 | awk '{print $2}') 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" echo "REstarting OASIS with good $nodename & network config"
[[ ! $(which nslookup) ]] && sudo apt-get install lolcat dnsutils -y [[ ! $(which nslookup) ]] && sudo apt-get install lolcat dnsutils -y
@ -90,7 +89,7 @@ echo '
' | lolcat ' | lolcat
myip=$(hostname -I | awk '{print $1}') myip=$(hostname -I | awk '{print $1}')
# Check if IP is from reserved LAN addresses # 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])/") 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 # Find 1st route gateway
myRouter=$(sudo route -n | head -n 3 | tail -n 1 | awk '{print $2}') myRouter=$(sudo route -n | head -n 3 | tail -n 1 | awk '{print $2}')
@ -102,7 +101,6 @@ echo $nodename
if [[ ! $isLAN ]]; then if [[ ! $isLAN ]]; then
oasis --allow-host $nodename 2>&1>/dev/null & oasis --allow-host $nodename 2>&1>/dev/null &
echo "BE CAREFULL your SSB identity could be publicly controled..." echo "BE CAREFULL your SSB identity could be publicly controled..."
echo "TODO correct 'Not Found' error (cors problem related)"
else else
oasis --allow-host $nodename --host $nodename 2>&1>/dev/null & oasis --allow-host $nodename --host $nodename 2>&1>/dev/null &
fi fi
@ -111,20 +109,50 @@ sleep 5
# CONFIG NGINX - LOVE LAND FRONTAL WEB PAGE # CONFIG NGINX - LOVE LAND FRONTAL WEB PAGE
sudo cp -f /home/$YOU/.zen/astroport/www/loveland.conf /etc/nginx/conf.d/ sudo cp -f /home/$YOU/.zen/astroport/www/loveland.conf /etc/nginx/conf.d/
## TODO optimise loveland.conf
### Each Extra Flavour take a new
sudo cp /etc/nginx/conf.d/loveland.conf /etc/nginx/conf.d/10010.conf
sudo cp /etc/nginx/conf.d/loveland.conf /etc/nginx/conf.d/10020.conf
sudo cp /etc/nginx/conf.d/loveland.conf /etc/nginx/conf.d/10030.conf
sudo cp /etc/nginx/conf.d/loveland.conf /etc/nginx/conf.d/10030.conf
PHPVERSION=$(ps auxf | grep php-fpm | grep -v -E 'color=auto|grep' | head -n 1 | grep -oP '(?<=\().*(?=\))' | awk -F '/' '{print $4}')
sudo sed -i "s/_PHPVERSION_/$PHPVERSION/g" /etc/nginx/conf.d/loveland.conf
sudo sed -i "s/_SERVERNAME_/$nodename/g" /etc/nginx/conf.d/loveland.conf
sudo sed -i "s/_PORT_/10010/g" /etc/nginx/conf.d/loveland.conf
sudo sed -i "s/_APPLI_//g" /etc/nginx/conf.d/loveland.conf
echo "INSTALL LOVELand WebSite" echo "INSTALL LOVELand WebSite"
if [[ ! -L /var/www/loveland ]]; then if [[ ! -L /var/www/loveland ]]; then
sudo ln -s /home/$YOU/.zen/astroport/www/LOVELand /var/www/loveland sudo ln -s /home/$YOU/.zen/astroport/www/LOVELand /var/www/loveland
fi fi
# RompR JUKEBOX
sudo chmod -R 777 /var/www/loveland/jukebox/albumart sudo chmod -R 777 /var/www/loveland/jukebox/albumart
sudo chmod -R 777 /var/www/loveland/jukebox/prefs sudo chmod -R 777 /var/www/loveland/jukebox/prefs
PHPVERSION=$(ps auxf | grep php-fpm | grep -v -E 'color=auto|grep' | head -n 1 | grep -oP '(?<=\().*(?=\))' | awk -F '/' '{print $4}')
### ASTROPORT STATION PORTAL
sudo sed "s/_PHPVERSION_/$PHPVERSION/g" /home/$YOU/.zen/astroport/www/loveland.conf /etc/nginx/conf.d/loveland.conf
sudo sed -i "s/_SERVERNAME_/$nodename/g" /etc/nginx/conf.d/loveland.conf
sudo sed -i "s/_PORT_/10010/g" /etc/nginx/conf.d/loveland.conf
sudo sed -i "s/_APPLI_//g" /etc/nginx/conf.d/loveland.conf
### GCHANGE G1 Zen
sudo sed "s/_PHPVERSION_/$PHPVERSION/g" /home/$YOU/.zen/astroport/www/loveland.conf /etc/nginx/conf.d/gchange.conf
sudo sed -i "s/_SERVERNAME_/$nodename/g" /etc/nginx/conf.d/gchange.conf
sudo sed -i "s/_PORT_/10020/g" /etc/nginx/conf.d/gchange.conf
sudo sed -i "s/_APPLI_/gchange/g" /etc/nginx/conf.d/gchange.conf
### CESIUM G1 Zen
sudo sed "s/_PHPVERSION_/$PHPVERSION/g" /home/$YOU/.zen/astroport/www/loveland.conf /etc/nginx/conf.d/cesium.conf
sudo sed -i "s/_SERVERNAME_/$nodename/g" /etc/nginx/conf.d/cesium.conf
sudo sed -i "s/_PORT_/10030/g" /etc/nginx/conf.d/cesium.conf
sudo sed -i "s/_APPLI_/cesium/g" /etc/nginx/conf.d/cesium.conf
### SSB OASIS Zen
sudo sed "s/_SERVERNAME_/$nodename/g" /home/$YOU/.zen/astroport/www/oasis.conf /etc/nginx/conf.d/oasis.conf
sudo sed -i "s/_PORT_/10040/g" /etc/nginx/conf.d/oasis.conf
sudo sed -i "s/_LPORT_/3000/g" /etc/nginx/conf.d/oasis.conf
sudo sed -i "s/_APPLI_//g" /etc/nginx/conf.d/oasis.conf
# Disabling default website # Disabling default website
# sudo rm -f /etc/nginx/sites-enabled/default # sudo rm -f /etc/nginx/sites-enabled/default

View File

@ -26,13 +26,14 @@ export isG1smsRunning=$(ps auxf --sort=+utime | grep -w gammu | grep -v -E 'colo
&& echo "ipfs daemon not running. EXIT" \ && echo "ipfs daemon not running. EXIT" \
&& exit 1 && exit 1
export YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1);
export IPFSNODEID=$(ipfs id -f='<id>\n')
# CORRECT PATH # CORRECT PATH
[[ ! $(echo $PATH | grep "/usr/local/bin") ]] && export PATH="$PATH:/usr/local/bin" [[ ! $(echo $PATH | grep "/usr/local/bin") ]] && export PATH="$PATH:/usr/local/bin"
[[ ! $(echo $PATH | grep "~/.local/bin") ]] && export PATH="$PATH:~/.local/bin" [[ ! $(echo $PATH | grep "~/.local/bin") ]] && export PATH="$PATH:~/.local/bin"
export YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1);
export IPFSNODEID=$(ipfs id -f='<id>\n')
ipfsnodeid=$(ipfs id -f='<id>\n') ipfsnodeid=$(ipfs id -f='<id>\n')
g1pub=$(cat ~/.ssb/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2) g1pub=$(cat ~/.ssb/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2)

View File

@ -50,14 +50,33 @@ echo "REFRESHING /home/$YOU/.zen/ipfs_swarm/ from my SWARM peers"
count=1 count=1
# Search for All peers Nodes. ## TODO: To be changed when Swarm is too big or not expanding # Search for All peers Nodes. ## TODO: To be changed when Swarm is too big or not expanding
#for id in $(ls -d ~/.zen/ipfs_swarm/.Qm* | cut -d '.' -f 3); # Alternative search... #for id in $(ls -d ~/.zen/ipfs_swarm/.Qm* | cut -d '.' -f 3); # Alternative search...
for id in $(ipfs swarm peers | grep 'ip4' | awk -F '/' '{print $7}'); for peer in $(ipfs swarm peers);
do do
id=$(echo "$peer" | grep 'ip4' | awk -F '/' '{print $7}')
# FULL REFRESH (allow deletion, for DEV period) # FULL REFRESH (allow deletion, for DEV period)
# TODO: COMMENT TO LOWER DISK USAGE # TODO: COMMENT TO LOWER DISK USAGE
[[ "$id" == "" ]] && echo "WARNING! ID empty for $peer " && continue
echo "Refreshing /home/$YOU/.zen/ipfs_swarm/.$id ($count)" echo "Refreshing /home/$YOU/.zen/ipfs_swarm/.$id ($count)"
rm -Rf /home/$YOU/.zen/ipfs_swarm/.$id rm -Rf /home/$YOU/.zen/ipfs_swarm/.$id
$MY_PATH/tools/timeout.sh -t 30 ipfs get --output=/home/$YOU/.zen/ipfs_swarm/ /ipns/$id $MY_PATH/tools/timeout.sh -t 30 ipfs get --output=/home/$YOU/.zen/ipfs_swarm/ /ipns/$id
count=$((count+1)) count=$((count+1))
#### IPFS SWARM - BLOB SHAPING CONTROL -
### CHECK Astroport Station Database Coherence?
if [[ ! -d /home/$YOU/.zen/ipfs_swarm/.$id ]]; then
echo "WARNING! $peer is NOT an Astroport Station !!"
ipfs swarm disconnect $peer
ipfs bootstrap rm $peer
fi
### Is "ipfs_swarm/.$id/G1SSB/_ssb.whoami" my SSB friend??
ssbID=$(cat /home/$YOU/.zen/ipfs_swarm/.$id/G1SSB/_ssb.whoami)
isMyFriend=$(grep -Rwl "$ssbID" /tmp/ssb-friends.txt)
[[ ! $isMyFriend ]] && echo "WARNING! $peer is NOT my SSB Friend... $ssbID" # TODO: PROD ACTIVATE # && ipfs swarm disconnect $peer && ipfs bootstrap rm $peer
## TODO: Use fail2ban if same node continue entering our swarm...
done done
# TODO: TASK treatment. # TODO: TASK treatment.

View File

@ -188,6 +188,7 @@ ipfs ls /ipns/$ipfsnodeid
" "
# COPY NODE G1SSB ID to IPFS # COPY NODE G1SSB ID to IPFS
curl -s ${CESIUM}/user/profile/${g1pub} | jq -r '._source.title' > ~/.zen/ipfs/.$ipfsnodeid/G1SSB/_g1.cesium_name
echo "$ssbpub" > ~/.zen/ipfs/.$ipfsnodeid/G1SSB/_ssb.whoami echo "$ssbpub" > ~/.zen/ipfs/.$ipfsnodeid/G1SSB/_ssb.whoami
echo "$g1pub" > ~/.zen/ipfs/.$ipfsnodeid/G1SSB/_g1.pubkey echo "$g1pub" > ~/.zen/ipfs/.$ipfsnodeid/G1SSB/_g1.pubkey

View File

@ -19,6 +19,7 @@ PASSENGER="$3" # ~/.zen/miam/timestamp/src_id.ext in ZenTag (add to IPFS datastr
METADATA="$4" METADATA="$4"
READ="$5" # Zen amount asked to allow passenger reading READ="$5" # Zen amount asked to allow passenger reading
PARK="$6" # Zen amount payed for IPFS PIN by passenger everyday PARK="$6" # Zen amount payed for IPFS PIN by passenger everyday
# Add any "parameters" needed by CONTRACT.sh
echo " echo "
######################################################################## ########################################################################
@ -29,7 +30,7 @@ echo "
########################################################################" ########################################################################"
# If PASSENGER file, then must provide METADATA! # If PASSENGER file, then must provide METADATA!
[[ $PASSENGER != "" ]] && [[ $METADATA == "" ]] && echo "PASSENGER needs METADATA !!! Please verify and correct..." && exit 1 [[ $PASSENGER != "" ]] && [[ $METADATA == "" ]] && echo "ERROR PASSENGER needs METADATA !!! Please verify and correct..." && exit 1
[[ $READ == "" ]] && READ=1 [[ $READ == "" ]] && READ=1
[[ $PARK == "" ]] && PARK=10 [[ $PARK == "" ]] && PARK=10
############################################## ##############################################
@ -285,6 +286,8 @@ exit 0
EOF EOF
fi fi
# END PASSENGER FILE
####################
########################################################### ###########################################################
# Copy TAG into IPFS + ipfs name publish -k ${AA}.key # Copy TAG into IPFS + ipfs name publish -k ${AA}.key
@ -375,9 +378,8 @@ echo "
# READ QRCODE # READ QRCODE
qrencode -s 5 -o ~/.zen/tag/${AAH}/_QRCODE.read.png "RJ:${AA}#${J}" qrencode -s 5 -o ~/.zen/tag/${AAH}/_QRCODE.read.png "RJ:${AA}#${J}"
# WRITE QRCODE # WRITE QRCODE
# TODO: best security cypher? but it is better to defend system than file ??? I think so.
# So consider well before using this code not under DEBIAN 10 it is tested for!
qrencode -s 5 -o ~/.zen/tag/${AAH}/_QRCODE.write.png "BJ:${BB}#${J}" qrencode -s 5 -o ~/.zen/tag/${AAH}/_QRCODE.write.png "BJ:${BB}#${J}"
## TODO PROD REMOVE WRITE FILE
echo "QRCodes CREATED !! echo "QRCodes CREATED !!
See it : See it :
@ -386,6 +388,7 @@ xviewer ~/.zen/tag/${AAH}/_QRCODE.write.png &
${AA} ${AA}
" "
[[ $(which xviewer) ]] && xviewer ~/.zen/tag/${AAH}/_QRCODE.read.png & [[ $(which xviewer) ]] && xviewer ~/.zen/tag/${AAH}/_QRCODE.read.png &
[[ $(which xviewer) ]] && xviewer ~/.zen/tag/${AAH}/_QRCODE.write.png & [[ $(which xviewer) ]] && xviewer ~/.zen/tag/${AAH}/_QRCODE.write.png &
@ -393,11 +396,11 @@ ${AA}
######################################################################## ########################################################################
# SBOT PUBLISH # SBOT PUBLISH
######################################################################## ########################################################################
if [[ "${PASSENGERNAME}" != "" ]]; then if [[ "${PASSENGERNAME}" != "" ]]; then
echo "$ISSUER" echo "$ISSUER"
msg="$(sbotc get '{"id":"'"$ISSUER"'"}')" msg="$(sbotc get '{"id":"'"$ISSUER"'"}')"
# echo "$msg" | jq #DEBUG # echo "$msg" | jq #DEBUG
[[ $msg == "" ]] && echo "ERROR No SSB message for PASSENGER in $tstamp" && exit 1 [[ $msg == "" ]] && echo "ERROR No SSB message for PASSENGER (timestamp: $tstamp)" && exit 1
msg_root=$(printf %s "$msg" | jq -r .value.content.root) msg_root=$(printf %s "$msg" | jq -r .value.content.root)
[[ $msg_root == "null" ]] && msg_root=$ISSUER [[ $msg_root == "null" ]] && msg_root=$ISSUER
msg_branch=$(printf %s "$msg" | jq -r .value.content.branch) msg_branch=$(printf %s "$msg" | jq -r .value.content.branch)
@ -447,7 +450,8 @@ sbotc publish '{"type":"post", "branch": "'"$msg_branch"'", "root": "'"$msg_root
else else
# REGULAR ZenTAG, Send QRCode to INPUT TX emitter # REGULAR ZenTAG, Send QRCode to INPUT TX emitter
### TODO PRINT AND SEND BY SSB WITH WHEN PASSENGER TOO
# CAREFULL IN THAT CASE ISSUER IS A G1WALLET
ssbid="@$(echo $ISSUER | base58 -d | base64).ed25519" ssbid="@$(echo $ISSUER | base58 -d | base64).ed25519"
file=~/.zen/tag/${AAH}/_QRCODE.read.png file=~/.zen/tag/${AAH}/_QRCODE.read.png