2022-08-23 13:38:37 +02:00
#!/bin/bash
########################################################################
# Version: 0.3
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
########################################################################
{
MY_PATH = " `dirname \" $0 \"` " # relative
MY_PATH = " `( cd \" $MY_PATH \" && pwd )` " # absolutized and normalized
ME = " ${ 0 ##*/ } "
2022-10-29 22:13:27 +02:00
start = ` date +%s`
2022-08-23 13:38:37 +02:00
[ $( id -u) -eq 0 ] && echo "LANCEMENT root INTERDIT. Utilisez un simple utilisateur du groupe \"sudo\" SVP" && exit 1
########################################################################
2022-11-25 15:32:19 +01:00
[ [ ! $( which ipfs) ] ] \
&& echo "=== Installez IPFS KUBO puis relancez Install ===" \
&& echo "bash <(wget -qO- https://git.p2p.legal/qo-op/Astroport.ONE/raw/branch/master/kubo_v0.16.0_linux-amd64.install.sh)" \
2022-11-25 20:58:43 +01:00
&& [ [ $( uname -p) = = "x86_64" ] ] \
&& bash <( wget -qO- https://git.p2p.legal/qo-op/Astroport.ONE/raw/branch/master/kubo_v0.16.0_linux-amd64.install.sh)
2022-10-27 15:48:35 +02:00
#### GIT CLONE ###############################################################
[ [ ! $( which git) ] ] && sudo apt install -y git
2022-11-17 13:29:54 +01:00
echo "=== CLONAGE '~/.zen/Astroport.ONE' depuis https://git.p2p.legal"
2022-10-27 15:48:35 +02:00
mkdir -p ~/.zen
cd ~/.zen
2022-11-25 15:47:02 +01:00
export GIT_SSL_NO_VERIFY = true
2022-11-17 13:16:14 +01:00
git clone --depth 1 https://git.p2p.legal/qo-op/Astroport.ONE.git
2022-10-27 15:48:35 +02:00
# TODO INSTALL FROM IPFS / IPNS
2022-08-23 13:38:37 +02:00
# MAIN # SI AUCUNE CLEF DE STATION...
2022-10-27 15:48:35 +02:00
if [ [ ! -d ~/.zen/game/players/ ] ] ;
2022-08-23 13:38:37 +02:00
then
2022-10-29 22:13:27 +02:00
2022-08-23 13:38:37 +02:00
# Check requirements
2022-11-17 13:29:54 +01:00
echo "Installateur Astroport.ONE pour distributions DEBIAN et dérivées : LinuxMint (https://www.linuxmint.com/)"
echo " $USER appuyez sur ENTRER. " ; read TEST; [ [ " $TEST " != "" ] ] && echo "SORTIE" && exit 0 ## Ajouter confirmation à chaque nouvelle étape (+explications)
2022-10-29 22:13:27 +02:00
echo "#############################################"
2022-11-17 13:29:54 +01:00
echo "###### IPFS BIOS INSTALL ##############################"
echo "################ CRYPTO TW Ŋ1 PROTOCOL #############"
2022-11-25 14:02:58 +01:00
echo "tail -f /tmp/install.errors.log"
2022-11-17 13:29:54 +01:00
echo "##################################################"
2022-08-23 13:38:37 +02:00
echo ; echo "Mise à jour des dépots de votre distribution..."
2022-12-02 19:38:05 +01:00
[ [ $XDG_SESSION_TYPE = = 'x11' ] ] && sudo add-apt-repository ppa:obsproject/obs-studio
2022-08-23 13:38:37 +02:00
sudo apt-get update
2022-10-28 19:37:29 +02:00
2022-12-02 19:38:05 +01:00
for i in x11-utils xclip zenity obs-studio kodi; do
2022-10-28 19:37:29 +02:00
if [ $( dpkg-query -W -f= '${Status}' $i 2>/dev/null | grep -c "ok installed" ) -eq 0 ] ; then
2022-10-27 15:48:35 +02:00
echo " >>> Installation $i <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< "
2022-10-28 19:37:29 +02:00
[ [ $XDG_SESSION_TYPE = = 'x11' ] ] && sudo apt install -y $i ;
2022-11-25 14:02:58 +01:00
[ [ $? != 0 ] ] && echo " INSTALL $i FAILED. " && echo " INSTALL $i FAILED. " >> /tmp/install.errors.log && continue
2022-10-28 19:37:29 +02:00
fi
done
2022-08-23 13:38:37 +02:00
2022-10-29 22:13:27 +02:00
echo "#############################################"
echo "######### PATIENCE ####"
echo "#############################################"
2022-12-05 13:22:18 +01:00
for i in git make fail2ban npm netcat-traditional inotify-tools curl net-tools libsodium* python3-pip python3-setuptools python3-wheel python3-dotenv python3-gpg python3-jwcrypto python3-brotli mpack; do
2022-08-23 13:38:37 +02:00
if [ $( dpkg-query -W -f= '${Status}' $i 2>/dev/null | grep -c "ok installed" ) -eq 0 ] ; then
echo " >>> Installation $i <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< "
sudo apt install -y $i
2022-11-25 14:02:58 +01:00
[ [ $? != 0 ] ] && echo " INSTALL $i FAILED. " && echo " INSTALL $i FAILED. " >> /tmp/install.errors.log && continue
2022-09-12 19:48:20 +02:00
2022-08-23 13:38:37 +02:00
fi
done
2022-10-29 22:13:27 +02:00
echo "#############################################"
echo "######### PATIENCE ######"
echo "#############################################"
2022-10-28 20:18:00 +02:00
# removed : sqlite
2022-11-18 02:24:11 +01:00
for i in qrencode basez jq bc file gawk yt-dlp ffmpeg dnsutils ntpdate v4l-utils espeak vlc mp3info musl-dev openssl* detox nmap httrack html2text ssmtp imagemagick; do
2022-08-23 13:38:37 +02:00
if [ $( dpkg-query -W -f= '${Status}' $i 2>/dev/null | grep -c "ok installed" ) -eq 0 ] ; then
echo " >>> Installation $i <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< "
sudo apt install -y $i
2022-11-25 14:02:58 +01:00
[ [ $? != 0 ] ] && echo " INSTALL $i FAILED. " && echo " INSTALL $i FAILED. " >> /tmp/install.errors.log && continue
2022-09-12 19:48:20 +02:00
2022-08-23 13:38:37 +02:00
fi
done
2022-10-29 22:13:27 +02:00
echo "#############################################"
echo "######### PATIENCE ############"
echo "#############################################"
2022-09-12 19:48:20 +02:00
##########################################################
2022-10-27 15:48:35 +02:00
echo "### INSTALL TW node.js"
2022-11-01 01:26:06 +01:00
sudo npm install -g tiddlywiki sjcl-cli
2022-11-25 14:02:58 +01:00
[ [ $? != 0 ] ] && echo "INSTALL tiddlywikiFAILED." && echo "INSTALL tiddlywiki FAILED." >> /tmp/install.errors.log && continue
2022-08-23 14:24:18 +02:00
2022-10-29 22:13:27 +02:00
echo "#############################################"
echo "######### PATIENCE #################"
echo "#############################################"
2022-10-27 15:48:35 +02:00
##########################################################
echo "## INSTALLATION AstroGEEK OpenCV = 'Intelligence Amie' - DEV - "
2022-08-24 15:33:41 +02:00
# sudo apt-get install python3-opencv -y
2022-08-23 13:38:37 +02:00
2022-11-03 02:45:35 +01:00
## MAILJET SSMTP RELAYING : ADD YOUR CREDENTIALS
sudo cp ~/.zen/Astroport.ONE/templates/.ssmtprc /etc/ssmtp/ssmtp.conf
2022-12-10 13:24:50 +01:00
sudo chmod 640 /etc/ssmtp/ssmtp.conf
sudo chgrp mail /etc/ssmtp/ssmtp.conf
2022-11-14 16:46:09 +01:00
echo " $USER :support@g1sms.fr:mail.asycn.io:587 " | ( sudo su -c 'tee -a /etc/ssmtp/revaliases' )
2022-10-28 13:27:57 +02:00
2022-08-23 13:38:37 +02:00
## Correct PDF restrictions for imagemagick
echo "# Correction des droits export PDF imagemagick"
if [ [ $( cat /etc/ImageMagick-6/policy.xml | grep PDF) ] ] ; then
cat /etc/ImageMagick-6/policy.xml | grep -Ev PDF > /tmp/policy.xml
sudo cp /tmp/policy.xml /etc/ImageMagick-6/policy.xml
fi
echo "###########################"
echo "## INSTALL PYTHON CRYPTO LAYER "
echo "###########################"
2022-10-27 15:48:35 +02:00
sudo ln -f -s /usr/bin/python3 /usr/bin/python
echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc && source ~/.bashrc; echo " <<< CHECK YOUR >>> PATH= $PATH "
2022-08-23 13:38:37 +02:00
2022-10-27 15:48:35 +02:00
# python3 -m pip install -U pip
# python3 -m pip install -U setuptools wheel
# python3 -m pip install -U cryptography Ed25519 base58 google duniterpy pynacl pgpy pynentry SecureBytes
# python3 -m pip install -U silkaj
# python3 -m pip install -U protobuf==3.19.0
2022-08-23 13:38:37 +02:00
2022-10-30 22:15:35 +01:00
for i in pip setuptools wheel cryptography = = 3.4.8 Ed25519 base58 google duniterpy pynacl pgpy pynentry SecureBytes; do
2022-10-27 15:48:35 +02:00
echo " >>> Installation $i <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< "
2022-11-15 14:34:59 +01:00
sudo python3 -m pip install -U $i
2022-11-25 14:02:58 +01:00
[ [ $? != 0 ] ] && echo " INSTALL $i FAILED. " && echo " python3 -m pip install -U $i FAILED. " >> /tmp/install.errors.log && continue
2022-10-27 15:48:35 +02:00
done
2022-11-25 14:02:58 +01:00
cat /tmp/install.errors.log
2022-10-29 22:13:27 +02:00
echo "#############################################"
echo "######### PATIENCE ######################"
echo "#############################################"
2022-10-27 15:48:35 +02:00
########### PRINTER ##############
2022-08-23 13:38:37 +02:00
if [ [ " $USER " = = "pi" ] ] ; then ## PROPOSE QR_CODE PRINTER SUR RPI
2022-08-24 15:33:41 +02:00
echo "Ambassade? Ajouter imprimante 'brother_ql'? Saisissez OUI, sinon laissez vide et tapez sur ENTRER"
2022-08-23 13:38:37 +02:00
read saisie
if [ [ $saisie != "" ] ] ; then
2022-10-28 20:18:00 +02:00
sudo apt install ttf-mscorefonts-installer printer-driver-all cups -y
2022-08-23 13:38:37 +02:00
sudo pip3 install brother_ql
sudo cupsctl --remote-admin
sudo usermod -aG lpadmin pi
2022-08-23 13:54:16 +02:00
sudo usermod -a -G tty pi
2022-08-24 15:33:41 +02:00
sudo usermod -a -G lp pi
2022-08-23 13:54:16 +02:00
2022-08-23 13:38:37 +02:00
fi
fi
2022-10-29 22:13:27 +02:00
echo "#############################################"
echo "######### PATIENCE #########################"
echo "#############################################"
2022-08-23 13:38:37 +02:00
## Scripts pour systemd ou InitV (xbian)
2022-11-17 13:29:54 +01:00
echo "=== SETUP IPFS SYSTEM"
2022-09-09 20:57:59 +02:00
~/.zen/Astroport.ONE/tools/ipfs_setup.sh
2022-08-23 13:38:37 +02:00
2022-10-27 15:48:35 +02:00
#### SETUP JAKLIS ###############################################################
2022-11-17 13:29:54 +01:00
echo "=== SETUP jaklis"
2022-11-25 20:58:43 +01:00
cd ~/.zen/Astroport.ONE/tools/jaklis
2022-11-15 14:34:59 +01:00
sudo ./setup.sh
2022-08-23 13:38:37 +02:00
## XBIAN fail2ban ERROR correction ##
#[....] Starting authentication failure monitor: fail2ban No file(s) found for glob /var/log/auth.log
[ [ " $USER " = = "xbian" ] ] && sudo sed -i "s/auth.log/faillog/g" /etc/fail2ban/paths-common.conf
### MODIFIYING /etc/sudoers ###
[ [ " $USER " = = "xbian" ] ] && echo "xbian ALL=(ALL) NOPASSWD:ALL" | ( sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/astroport' )
# PERSONNAL DEFCON LEVEL
2022-09-09 20:57:59 +02:00
# cp ~/.zen/Astroport.ONE/DEFCON ~/.zen/
2022-08-23 13:38:37 +02:00
if [ [ " $USER " = = "xbian" ] ]
then
echo "enabling ipfs initV service autostart"
cd /etc/rc2.d && sudo ln -s ../init.d/ipfs S02ipfs
cd /etc/rc3.d && sudo ln -s ../init.d/ipfs S02ipfs
cd /etc/rc4.d && sudo ln -s ../init.d/ipfs S02ipfs
cd /etc/rc5.d && sudo ln -s ../init.d/ipfs S02ipfs
cd /etc/rc0.d && sudo ln -s ../init.d/ipfs K01ipfs
cd /etc/rc1.d && sudo ln -s ../init.d/ipfs K01ipfs
cd /etc/rc6.d && sudo ln -s ../init.d/ipfs K01ipfs
# Disable xbian-config auto launch
echo 0 > ~/.xbian-config-start
fi
########################################################################
# CREATE ~/astroport FILESYSTEM GATE
2022-11-23 14:59:04 +01:00
mkdir -p ~/Astroport/film
mkdir -p ~/Astroport/serie
mkdir -p ~/Astroport/anime
2022-11-25 14:02:58 +01:00
mkdir -p ~/Astroport/page
mkdir -p ~/Astroport/web
mkdir -p ~/Astroport/video
2022-11-23 14:59:04 +01:00
echo '${TYPE};${MEDIAID};${YEAR};${TITLE};${SAISON};${GENRES};_IPNSKEY_;${RES};/ipfs/_IPFSREPFILEID_/$URLENCODE_FILE_NAME' > ~/Astroport/ajouter_video.modele.txt
2022-08-23 13:38:37 +02:00
#######################################################################
2022-11-17 13:00:48 +01:00
echo "#############################################"
2022-11-26 19:33:25 +01:00
## https://darktrojan.github.io/openwith/webextension.html"
[ [ $XDG_SESSION_TYPE = = 'x11' ] ] && ~/.zen/Astroport.ONE/open_with_linux.py install; \
echo "#############################################" \
echo "# NOURRIR SON BLOB" \
echo "# avec 'OpenWith' depuis votre navigateur !!" \
2022-11-17 13:00:48 +01:00
echo " # https://addons.mozilla.org/firefox/addon/open-with/
2022-11-26 19:33:25 +01:00
# https://chrome.google.com/webstore/detail/open-with/cogjlncmljjnjpbgppagklanlcbchlno" \
echo "#############################################" \
echo \
echo " ## $HOME /.zen/Astroport.ONE/ajouter_media.sh ## " \
echo \
2022-11-17 13:00:48 +01:00
echo "#############################################"
2022-08-23 13:38:37 +02:00
2022-10-27 15:48:35 +02:00
### ADD 20h12.sh CRON ###############
2022-11-25 20:58:43 +01:00
~/.zen/Astroport.ONE/tools/cron_VRFY.sh ON
2022-10-27 15:48:35 +02:00
2022-09-09 18:20:18 +02:00
########################################################################
# SUDO permissions
########################################################################
## USED FOR fail2ban-client (DEFCON)
echo " $USER ALL=(ALL) NOPASSWD:/usr/bin/fail2ban-client " | ( sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/fail2ban-client' )
## USED FOR RAMDISK (video live streaming)
echo " $USER ALL=(ALL) NOPASSWD:/bin/mount " | ( sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/mount' )
echo " $USER ALL=(ALL) NOPASSWD:/bin/umount " | ( sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/umount' )
## USED FOR SYSTEM UPGRADE
echo " $USER ALL=(ALL) NOPASSWD:/usr/bin/apt-get " | ( sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/apt-get' )
echo " $USER ALL=(ALL) NOPASSWD:/usr/bin/apt " | ( sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/apt' )
## USED FOR "systemctl restart ipfs"
echo " $USER ALL=(ALL) NOPASSWD:/bin/systemctl " | ( sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/systemctl' )
2022-11-27 21:54:40 +01:00
## USED FOR "systemctl restart ipfs"
echo " $USER ALL=(ALL) NOPASSWD:/usr/local/bin/youtube-dl " | ( sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/youtube-dl' )
2022-09-09 18:20:18 +02:00
## brother_ql_print
echo " $USER ALL=(ALL) NOPASSWD:/usr/local/bin/brother_ql_print " | ( sudo su -c 'EDITOR="tee" visudo -f /etc/sudoers.d/brother_ql_print' )
2022-11-17 13:29:54 +01:00
echo "#############################################"
echo "# ADDING <<<Astroport>>> DESKTOP SHORTCUT"
[ [ -d ~/Bureau ] ] && sed " s/_USER_/ $USER /g " ~/.zen/Astroport.ONE/astroport.desktop > ~/Bureau/astroport.desktop && chmod +x ~/Bureau/astroport.desktop
[ [ -d ~/Desktop ] ] && sed " s/_USER_/ $USER /g " ~/.zen/Astroport.ONE/astroport.desktop > ~/Desktop/astroport.desktop && chmod +x ~/Desktop/astroport.desktop
2022-10-28 02:27:26 +02:00
2022-10-28 20:18:00 +02:00
mkdir -p ~/.zen/tmp
2022-11-25 14:02:58 +01:00
2022-11-17 13:29:54 +01:00
echo "#############################################"
2022-10-30 02:21:20 +01:00
2022-12-09 02:54:13 +01:00
## INSTALL yt-dlp & SYMLINK youtube-dl
${ MY_PATH } /youtube-dl.sh
2022-11-17 13:29:54 +01:00
which youtube-dl
2022-10-30 02:21:20 +01:00
echo "#############################################"
echo "#############################################"
## Desktop install
2022-11-26 19:33:25 +01:00
echo "Astroport.ONE INSTALL"
2022-10-30 02:21:20 +01:00
end = ` date +%s`
echo Execution time was ` expr $end - $start ` seconds.
2022-11-17 13:00:48 +01:00
echo "#############################################"
2022-11-17 13:29:54 +01:00
echo "# START VISA ENGINE : ~/.zen/Astroport.ONE/start.sh"
2022-11-17 13:00:48 +01:00
echo "#############################################"
2022-10-30 02:21:20 +01:00
echo
2022-11-17 13:00:48 +01:00
echo "Démarrer en mode Aventure. Tapez ENTRER."
2022-10-30 02:21:20 +01:00
read ADVENTURE
2022-11-17 13:00:48 +01:00
[ [ $ADVENTURE ] ] && ~/.zen/Astroport.ONE/start.sh \
|| ~/.zen/Astroport.ONE/adventure/adventure.sh
2022-10-30 02:21:20 +01:00
2022-08-23 13:38:37 +02:00
else
echo " Installation existante !!
= = = = = = = = = = = = = = = = = = = = = = = =
2022-10-27 15:48:35 +02:00
Astroport/TW
2022-08-23 13:38:37 +02:00
= = = = = = = = = = = = = = = = = = = = = = = =
Connectez-vous sur https://gchange.fr avec vos identifiants
2022-08-24 15:33:41 +02:00
$( cat ~/.zen/game/players/.current/secret.june)
2022-08-23 13:38:37 +02:00
2022-11-26 19:33:25 +01:00
Powered by https://astroport.com
2022-08-23 13:38:37 +02:00
"
# MAIN #
fi
}