diff --git a/install.sh b/install.sh index d943ac0..c27dd7f 100755 --- a/install.sh +++ b/install.sh @@ -3,58 +3,84 @@ # 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##*/}" + [ $(id -u) -eq 0 ] && echo "LANCEMENT root INTERDIT. Utilisez un simple utilisateur du groupe \"sudo\" SVP" && exit 1 -# MAIN # +# MAIN # SI AUCUNE CLEF DE STATION... if [[ ! -f ~/.zen/secret.june ]]; then # Check requirements -echo "AstrXbian installateur pour distributions DEBIAN et dérivées : LinuxMint (https://www.linuxmint.com/) ou XBIAN (https://xbian.org) recommandé" +echo "AstrXbian installateur pour distributions DEBIAN et dérivées : LinuxMint (https://www.linuxmint.com/) ou XBIAN (https://xbian.org) recommandées" echo "Appuyez sur ENTRER pour commencer."; read TEST; [[ "$TEST" != "" ]] && echo "SORTIE"; exit 0 ## Ajouter confirmation à chaque nouvelle étape (+explications) +echo ; echo "Mise à jour des dépots de votre distribution..." sudo apt-get update -#sudo apt-get install git fail2ban inotify-tools curl net-tools libsodium* python3-dev python3-pip python3-setuptools python3-wheel python3-dotenv mpack libssl-dev libffi-dev -y + +[[ "$USER" != "xbian" ]] &&\ + for i in x11-utils xclip zenity handbrake*; do\ + [ $(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed") -eq 0 ] &&\ + echo ">>> Installation $i <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<";\ + sudo apt install -y $i; + done + for i in git fail2ban inotify-tools curl net-tools libsodium* python3-dev python3-pip python3-setuptools python3-wheel python3-dotenv mpack libssl-dev libffi-dev; 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 fi done -#sudo apt-get install build-essential qrencode jq bc gawk ffmpeg sqlite dnsutils v4l-utils vlc mp3info musl-dev openssl* cargo detox httrack html2text ssmtp sudo -y for i in build-essential qrencode jq bc file gawk yt-dlp ffmpeg sqlite dnsutils v4l-utils vlc mp3info musl-dev openssl* cargo detox nmap httrack html2text ssmtp imagemagick ttf-mscorefonts-installer libcurl4-openssl-dev; 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 fi done +[[ ! $(which kodi) && "$USER" != "xbian" ]] &&\ + echo ">>> Installation Kodi + Vstream = VOTRE VIDEOTHEQUE ! <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<";\ + sudo apt-get install kodi -y;\ + ${MY_PATH}/.install/kodi_uqload_downloader.sh + +echo "## INSTALLATION OpenCV = 'IA Amicale' " +sudo apt-get install python3-opencv -y + ## 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 -[[ ! $(which kodi) && "$USER" != "xbian" ]] && sudo apt-get install kodi -y -sudo apt-get install python3-opencv -y ## INSTALLATION IA par reconnaissance d'images -[[ "$USER" != "xbian" ]] && sudo apt-get install x11-utils xclip zenity handbrake* -y if [[ ! $(which apache2) ]]; then - ######################################################################## - ## INSTALL nginx + php + mariadb + ... - # sudo apt-get install mariadb-server nginx python3-certbot-nginx certbot ssl-cert php-imap php-cli php-curl php-sqlite3 php-gd php-json php-xml php-mbstring php-gettext php-mysql php-fpm -y + echo "########################################################################" + echo "## INSTALL PASSERELLE HTTP(S) #######################################"; echo ; for i in mariadb-server nginx python3-certbot-nginx certbot ssl-cert php-imap php-cli php-curl php-sqlite3 php-gd php-json php-xml php-mbstring php-gettext php-mysql php-fpm; 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 fi done +else + echo ">>> WARNING <<< Apache détecté - Vous devrez réaliser la configuration de votre passerelle par vous même..." fi -## INSTALL PYTHON CRYPTO LAYER -echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc && source ~/.bashrc +## GIVE ACCESS TO www-data group +sudo usermod -aG www-data $USER + +echo "###########################" +echo "## INSTALL PYTHON CRYPTO LAYER " +echo "###########################" +echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc && source ~/.bashrc; echo ">>> PATH=$PATH" python3 -m pip install -U pip python3 -m pip install -U setuptools wheel python3 -m pip install -U cryptography Ed25519 base58 google protobuf duniterpy -if [[ "$USER" == "pi" ]]; then ## PROPOSE QR_CODE PRINTER - echo "SOUHAITEZ VOUS AJOUTER UNE IMPRIMANTE A QR CODE? saisissez OUI, sinon tapez sur ENTREE" + +if [[ "$USER" == "pi" ]]; then ## PROPOSE QR_CODE PRINTER SUR RPI + echo "Ambassade? Souhaitez vous ajouter imprimante 'brother_ql'? Saisissez OUI, sinon laissez vide et tapez sur ENTRER" read saisie if [[ $saisie != "" ]]; then sudo apt install printer-driver-all cups -y @@ -64,33 +90,32 @@ if [[ "$USER" == "pi" ]]; then ## PROPOSE QR_CODE PRINTER sudo usermod -a -G gammu pi fi fi + # python3 -m pip install -U silkaj ## python -> python3 link sudo ln -f -s /usr/bin/python3 /usr/bin/python -## GIVE ACCESS TO www-data group -sudo usermod -aG www-data $USER + ######################################################################## -echo "Clonage git astrXbian depuis https://git.p2p.legal" +echo "=== Clonage git CODE astrXbian depuis https://git.p2p.legal" mkdir -p ~/.zen cd ~/.zen git clone https://git.p2p.legal/axiom-team/astrXbian.git ######################################################################## -echo "IMPORT configuration ASTROPORT dans ~/.kodi" +echo "=== IMPORT configuration ASTROPORT dans ~/.kodi" cp -Rf ~/.zen/astrXbian/.install/.kodi ~/ ######################################################################## -echo "Installation de IPFS https://ipfs.io" -~/.zen/astrXbian/.install/ipfs_alone.sh +[[ ! $(which ipfs) ]] && echo "=== Installation de IPFS https://ipfs.io"; ~/.zen/astrXbian/.install/ipfs_alone.sh ######################################################################## -echo "Configuration jaklis: Centre de communication CESIUM+ GCHANGE+ & MONNAIE LIBRE (gva protocole)" +echo "=== Configuration jaklis: Centre de communication CESIUM+ GCHANGE+" cd ~/.zen/astrXbian/zen/jaklis ./setup.sh ######################################################################## -echo "Sécurisation DEFCON SUDOERS FAIL2BAN" +echo "=== Sécurisation DEFCON SUDOERS FAIL2BAN" ## 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 @@ -131,18 +156,20 @@ sudo chown -R $USER:$wwwuser ~/astroport/www sudo chmod -R g+rw ~/astroport/www ####################################################################### -## CREATE symlinks for ~/.zen/www/swarm & me +## CREATE symlinks for ~/.zen/www/swarm & me ## OLD PHP METHOD ## TO REMOVE... sudo chown -R $USER:www-data ~/.zen/astrXbian/www/boris sudo chmod -R g+rw ~/.zen/astrXbian/www/boris ln -s /home/$USER/.zen/ipfs_swarm ~/.zen/astrXbian/www/boris/swarm ln -s /home/$USER/.zen/ipfs ~/.zen/astrXbian/www/boris/me -## INSTALL open_with_linux.py -## https://darktrojan.github.io/openwith/webextension.html -# https://addons.mozilla.org/firefox/addon/open-with/ -# https://chrome.google.com/webstore/detail/open-with/cogjlncmljjnjpbgppagklanlcbchlno +echo "## INSTALL open_with_linux.py ## +## https://darktrojan.github.io/openwith/webextension.html" ~/.zen/astrXbian/open_with_linux.py install +echo ">>> INFO : Ajoutez l'extension 'OpenWith' à votre navigateur !! +# https://addons.mozilla.org/firefox/addon/open-with/ +# https://chrome.google.com/webstore/detail/open-with/cogjlncmljjnjpbgppagklanlcbchlno" + if [[ "$USER" != "xbian" ]] then ## Desktop install