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 ##########
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
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
## CHOWN mpd FILES STRUCTURE (
echo "TODO: CHECK if mpd start after a reboot !!"
## 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
## TODO add to system start (/etc/rc.local?)
### INSTALL NGINX
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
# 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}')
echo "REstarting OASIS with good $nodename & network config"
[[ ! $(which nslookup) ]] && sudo apt-get install lolcat dnsutils -y
@ -90,7 +89,7 @@ echo '
' | lolcat
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])/")
# Find 1st route gateway
myRouter=$(sudo route -n | head -n 3 | tail -n 1 | awk '{print $2}')
@ -102,7 +101,6 @@ echo $nodename
if [[ ! $isLAN ]]; then
oasis --allow-host $nodename 2>&1>/dev/null &
echo "BE CAREFULL your SSB identity could be publicly controled..."
echo "TODO correct 'Not Found' error (cors problem related)"
else
oasis --allow-host $nodename --host $nodename 2>&1>/dev/null &
fi
@ -111,20 +109,50 @@ sleep 5
# CONFIG NGINX - LOVE LAND FRONTAL WEB PAGE
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"
if [[ ! -L /var/www/loveland ]]; then
sudo ln -s /home/$YOU/.zen/astroport/www/LOVELand /var/www/loveland
fi
# RompR JUKEBOX
sudo chmod -R 777 /var/www/loveland/jukebox/albumart
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
# 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" \
&& 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
[[ ! $(echo $PATH | grep "/usr/local/bin") ]] && export PATH="$PATH:/usr/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')
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
# 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 $(ipfs swarm peers | grep 'ip4' | awk -F '/' '{print $7}');
for peer in $(ipfs swarm peers);
do
id=$(echo "$peer" | grep 'ip4' | awk -F '/' '{print $7}')
# FULL REFRESH (allow deletion, for DEV period)
# TODO: COMMENT TO LOWER DISK USAGE
[[ "$id" == "" ]] && echo "WARNING! ID empty for $peer " && continue
echo "Refreshing /home/$YOU/.zen/ipfs_swarm/.$id ($count)"
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
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
# TODO: TASK treatment.

View File

@ -188,6 +188,7 @@ ipfs ls /ipns/$ipfsnodeid
"
# 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 "$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"
READ="$5" # Zen amount asked to allow passenger reading
PARK="$6" # Zen amount payed for IPFS PIN by passenger everyday
# Add any "parameters" needed by CONTRACT.sh
echo "
########################################################################
@ -29,7 +30,7 @@ echo "
########################################################################"
# 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
[[ $PARK == "" ]] && PARK=10
##############################################
@ -285,6 +286,8 @@ exit 0
EOF
fi
# END PASSENGER FILE
####################
###########################################################
# Copy TAG into IPFS + ipfs name publish -k ${AA}.key
@ -375,9 +378,8 @@ echo "
# READ QRCODE
qrencode -s 5 -o ~/.zen/tag/${AAH}/_QRCODE.read.png "RJ:${AA}#${J}"
# 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}"
## TODO PROD REMOVE WRITE FILE
echo "QRCodes CREATED !!
See it :
@ -386,6 +388,7 @@ xviewer ~/.zen/tag/${AAH}/_QRCODE.write.png &
${AA}
"
[[ $(which xviewer) ]] && xviewer ~/.zen/tag/${AAH}/_QRCODE.read.png &
[[ $(which xviewer) ]] && xviewer ~/.zen/tag/${AAH}/_QRCODE.write.png &
@ -393,11 +396,11 @@ ${AA}
########################################################################
# SBOT PUBLISH
########################################################################
if [[ "${PASSENGERNAME}" != "" ]]; then
if [[ "${PASSENGERNAME}" != "" ]]; then
echo "$ISSUER"
msg="$(sbotc get '{"id":"'"$ISSUER"'"}')"
# 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 == "null" ]] && msg_root=$ISSUER
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
# 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"
file=~/.zen/tag/${AAH}/_QRCODE.read.png