Astroport.ONE/install.sh

257 lines
10 KiB
Bash
Raw Normal View History

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
2022-12-14 20:52:57 +01:00
################################################################## SUDO
########################################################################
[ $(id -u) -eq 0 ] && echo "LANCEMENT root INTERDIT. " && exit 1
[[ ! $(groups | grep -w sudo) ]] \
&& echo "AUCUN GROUPE \"sudo\" : su -; usermod -aG sudo $USER" \
&& su - && apt-get install sudo -y \
&& echo "Run Install Again..." && exit 0
2022-12-14 20:52:57 +01:00
################################################################### IPFS
2022-08-23 13:38:37 +02:00
########################################################################
[[ ! $(which ipfs) ]] \
2023-06-07 12:11:10 +02:00
&& echo "bash <(wget -qO- https://git.p2p.legal/qo-op/Astroport.ONE/raw/branch/master/kubo_v0.20.0_linux.install.sh)" \
2023-01-08 20:02:49 +01:00
&& architecture=$(uname -m) && [[ $architecture == "x86_64" || $architecture == "aarch64" || "$architecture" == "armv7l" ]] \
2023-06-07 12:11:10 +02:00
&& bash <(wget -qO- https://raw.githubusercontent.com/papiche/Astroport.ONE/master/kubo_v0.20.0_linux.install.sh) \
2022-12-13 18:22:46 +01:00
|| echo "=== Installez IPFS KUBO puis relancez Install ==="
2022-12-14 20:52:57 +01:00
[[ ! $(which ipfs) ]] && echo "INSTALL IPFS PLEASE" && exit 1
#################################################################### TEST
2022-10-27 15:48:35 +02:00
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
echo "#############################################"
2023-04-15 15:28:47 +02:00
echo "###### ASTROPORT.ONE IPFS STATION ##############"
echo "################ TW Ŋ1 PROTOCOL #############"
2022-11-17 13:29:54 +01:00
echo "##################################################"
2023-04-15 15:28:47 +02:00
echo ; echo "UPDATING SYSTEM REPOSITORY"
#~ [[ $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-29 22:13:27 +02:00
echo "#############################################"
2023-04-15 15:28:47 +02:00
echo "######### INSTALL BASE & PYTHON3 PACKAGE ####"
2022-10-29 22:13:27 +02:00
echo "#############################################"
2023-12-18 15:32:45 +01:00
for i in git make cmake fail2ban npm argon2 netcat-traditional ncdu chromium* miller inotify-tools curl net-tools libsodium* libcurl4-openssl-dev 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 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
2022-08-23 13:38:37 +02:00
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 "#############################################"
2023-04-15 15:28:47 +02:00
echo "######### INSTALL MULTIMEDIA TOOLS ######"
2022-10-29 22:13:27 +02:00
echo "#############################################"
2022-10-28 20:18:00 +02:00
# removed : sqlite
for i in qrencode pv gnupg pandoc ca-certificates basez jq bc file gawk 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 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
2022-08-23 13:38:37 +02:00
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
2024-01-02 00:16:48 +01:00
echo "#############################################"
echo "######### FUN INSTALL ASCII ART TOOLS ######"
echo "#############################################"
for i in cmatrix cowsay; do
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
[[ $? != 0 ]] && echo "INSTALL $i FAILED." && echo "INSTALL $i FAILED." >> /tmp/install.errors.log && continue
fi
done
if [[ $XDG_SESSION_TYPE == 'x11' ]]; then
echo "#############################################"
2023-04-15 15:28:47 +02:00
echo "######### INSTALL DESKTOP TOOLS ######"
2023-04-19 14:56:19 +02:00
echo "#############################################"
for i in x11-utils xclip zenity kodi; do
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;
[[ $? != 0 ]] && echo "INSTALL $i FAILED." && echo "INSTALL $i FAILED." >> /tmp/install.errors.log && continue
fi
done
fi
2022-12-13 15:52:12 +01:00
#### GIT CLONE ###############################################################
echo "#############################################"
2023-04-15 15:28:47 +02:00
echo "=== CODE CLONING TO '~/.zen/Astroport.ONE'"
echo "#############################################"
2022-12-13 15:52:12 +01:00
mkdir -p ~/.zen
cd ~/.zen
git clone --depth 1 https://github.com/papiche/Astroport.ONE.git
2022-12-13 15:52:12 +01:00
# TODO INSTALL FROM IPFS / IPNS
2022-10-29 22:13:27 +02:00
echo "#############################################"
2023-04-15 15:28:47 +02:00
echo "######### INSTALL NODEJS & TIDDLYWIKI ############"
2022-10-29 22:13:27 +02:00
echo "#############################################"
2022-09-12 19:48:20 +02:00
##########################################################
sudo npm install -g tiddlywiki
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
#~ echo "#############################################"
#~ echo "######### PATIENCE #################"
#~ echo "#############################################
#~ ### PROPOSITION DE LOGICIELS COMPLEMETAIRES
#~ #############################################
#~ ## OpenCV = 'Vision par Ordinateur en Intelligence Amie'
#~ # sudo apt-get install python3-opencv -y
#~ ## CONVERT AUDIO TO MIDI
#~ # pip install basic-pitch
#~ ## CACHER LES VISAGES
#~ # python3 -m pip install 'git+https://github.com/ORB-HD/deface'
#~ ## ...
#~ ## DES SUGGESTIONS ?
#~ ## CONTACTER support@qo-op.com
#~ #################################################"
2023-04-15 15:28:47 +02:00
echo "######### CONFIGURE MAILJET ############"
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-15 02:35:59 +01:00
sudo ln -s /usr/sbin/ssmtp /usr/bin/ssmtp
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
2023-11-12 14:20:58 +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
2023-04-15 15:28:47 +02:00
echo "######### IMAGEMAGICK PDF ############"
2022-08-23 13:38:37 +02:00
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 "###########################"
2023-04-15 15:28:47 +02:00
echo "## ADDING CRYPTO LAYER ================"
echo "########################### ♥BOX"
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
2023-12-19 11:51:44 +01:00
#~ mkdir -p ~/.venvs
#~ python3 -m venv ~/.venvs/astro
2023-11-10 04:48:45 +01:00
2023-12-19 11:51:44 +01:00
# python -m pip install -U pip
# python -m pip install -U setuptools wheel
# python -m pip install -U cryptography Ed25519 base58 google duniterpy pynacl pgpy pynentry SecureBytes
# python -m pip install -U silkaj
# python -m pip install -U protobuf==3.19.0
2022-08-23 13:38:37 +02:00
for i in pip setuptools wheel cryptography==3.4.8 Ed25519 base58 google duniterpy pynacl pgpy pynentry SecureBytes amzqr pdf2docx pyppeteer; do
2022-10-27 15:48:35 +02:00
echo ">>> Installation $i <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
2023-12-19 11:51:44 +01:00
python -m pip install -U $i
[[ $? != 0 ]] && echo "INSTALL $i FAILED." && echo "python -m pip install -U $i FAILED." >> /tmp/install.errors.log && continue
2022-10-27 15:48:35 +02:00
done
2022-10-29 22:13:27 +02:00
echo "#############################################"
2023-04-15 15:28:47 +02:00
echo "######### IMPRIMANTE & G1BILLET ##############"
2022-10-29 22:13:27 +02:00
echo "#############################################"
########### QRCODE : ZENCARD / G1BILLET : PRINTER ##############
2023-03-25 19:49:45 +01:00
if [[ $USER != 'xbian' ]]; then
echo "INSTALL PRINTER FOR G1BILLET ASTROID ZENCARD ..."
2023-10-26 00:55:47 +02:00
saisie="OK"
2022-08-23 13:38:37 +02:00
if [[ $saisie != "" ]]; then
2023-05-01 21:42:18 +02:00
## PRINT & FONTS
2022-10-28 20:18:00 +02:00
sudo apt install ttf-mscorefonts-installer printer-driver-all cups -y
2023-12-19 11:51:44 +01:00
python -m pip install brother_ql
2022-08-23 13:38:37 +02:00
sudo cupsctl --remote-admin
2023-01-01 20:13:39 +01:00
sudo usermod -aG lpadmin $USER
sudo usermod -a -G tty $USER
sudo usermod -a -G lp $USER
2023-01-01 20:37:09 +01: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')
2023-03-25 19:49:45 +01:00
## G1BILLET
2023-04-15 15:28:47 +02:00
echo "INSTALLING G1BILLET SERVICE : http://g1billet.localhost:33101"
2023-05-01 21:42:18 +02:00
cd ~/.zen
git clone https://git.p2p.legal/qo-op/G1BILLET.git
cd G1BILLET && ./setup_systemd.sh
cd -
fi
fi
2022-10-29 22:13:27 +02:00
echo "#############################################"
echo "######### SYSTEM SETUP #########################"
2022-10-29 22:13:27 +02:00
echo "#############################################"
2022-08-23 13:38:37 +02:00
2023-10-26 00:55:47 +02:00
echo "=== SETUP IPFS"
2022-09-09 20:57:59 +02:00
~/.zen/Astroport.ONE/tools/ipfs_setup.sh
2023-01-04 14:35:48 +01:00
echo "/ip4/127.0.0.1/tcp/5001" > ~/.ipfs/api
2023-10-26 00:55:47 +02:00
echo "=== SETUP ASTROPORT"
2023-02-25 02:49:24 +01:00
~/.zen/Astroport.ONE/setup.sh
2022-12-13 18:22:46 +01:00
2023-03-07 03:21:17 +01:00
if [[ $(which kodi) && $XDG_SESSION_TYPE == 'x11' ]]; then
echo "#############################################"
echo " ### BONUS APP ## IPFS # KODI FR PLUGIN ## "
echo "#############################################"
2023-03-07 03:21:17 +01:00
(
mkdir -p ~/.zen/tmp/kodi
2022-12-13 18:22:46 +01:00
echo "PATIENTEZ..."
ipfs get -o ~/.zen/tmp/kodi/ /ipfs/Qmc2jg96KvQrLs5R29jn3hjUb1ViMWzeygtPR59fTP6AVT
2023-03-16 01:44:50 +01:00
echo '## INSTALL FRANCETV + VSTREAM + FILMSFORACTION'
mv ~/.kodi ~/.kodi.back 2>/dev/null
2023-03-16 01:44:50 +01:00
mv ~/.zen/tmp/kodi ~/.kodi
2023-03-07 03:21:17 +01:00
) &
fi
2023-10-26 00:55:47 +02:00
2023-03-07 03:21:17 +01:00
echo "#############################################"
2023-10-26 00:55:47 +02:00
echo "### ANY ERRORS ?"
cat /tmp/install.errors.log
2023-03-07 03:21:17 +01:00
echo "#############################################"
2023-10-26 00:55:47 +02:00
echo "Astroport.ONE INSTALLATION FINISHED"
end=`date +%s`
2023-03-07 03:21:17 +01:00
echo Execution time was `expr $end - $start` seconds.
echo "#############################################"
2023-04-15 15:28:47 +02:00
echo "CREEZ VOTRE COMPTE SUR"
echo " http://astroport.localhost:1234"
echo "%%%%%%%% OU ~/.zen/Astroport.ONE/command.sh "
2023-03-07 03:21:17 +01:00
echo "#############################################"
2023-03-07 03:21:17 +01:00
##########################################################
## ON BOARDING PLAYER
# ~/.zen/Astroport.ONE/start.sh
espeak "Please create a player"
2023-10-26 00:55:47 +02:00
2023-03-07 03:21:17 +01:00
[[ $XDG_SESSION_TYPE == 'x11' ]] \
&& xdg-open "http://astroport.localhost:1234" \
|| ~/.zen/Astroport.ONE/command.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
$(cat ~/.zen/game/players/.current/secret.june)
2022-08-23 13:38:37 +02:00
Powered by https://astroport.com
2022-08-23 13:38:37 +02:00
"
# MAIN #
fi
}