#!/bin/bash [ "${DEBUG}" ] && set -x i_am() { echo 'v0.5.0' } i_am_root() { [ $(id -u) -eq 0 ] } i_am_xbian() { [[ "$USER" == "xbian" ]] } i_should_install() { [[ ! -f ~/.zen/secret.dunikey ]] } import_astrXbian() { echo "=== Clonage git CODE 'astrXbian' + 'Astroport.ONE' depuis https://git.p2p.legal" mkdir -p ~/.zen cd ~/.zen # TODO INSTALL FROM IPFS / IPNS [ ! -d astrXbian ] \ && git clone https://git.p2p.legal/axiom-team/astrXbian.git \ || GIT_DIR=astrXbian/.git git pull [ ! -d Astroport.ONE ] \ && git clone https://git.p2p.legal/qo-op/Astroport.ONE.git \ || GIT_DIR=Astroport.ONE git pull } import_astroport() { echo "INITIALISATIOn Astroport/KODI" echo "Appuyez sur la touche ENTREE pour démarrer le mode Aventure" echo "sinon interrompez ici l'installation, et activez votre Ambassade ~/.zen/Astroport.ONE/start.sh" read ~/.zen/Astroport.ONE/adventure.sh # ~/.zen/astrXbian/ISOconfig.sh } import_ipfs() { ## Scripts pour systemd ou InitV (xbian) echo "=== Activation SYSTEM IPFS" ~/.zen/astrXbian/.install/ipfs_alone.sh } import_jaklis() { echo "=== Configuration jaklis: Centre de communication CESIUM+ GCHANGE+" cd ~/.zen/astrXbian/zen/jaklis ./setup.sh } import_kodi() { [[ ! $(which kodi) && "$user" != "xbian" ]] &&\ echo ">>> installation kodi + vstream = votre videotheque ! <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" \ && sudo apt-get install kodi -y \ && ~/.zen/astrXbian/.install/kodi_uqload_downloader.sh echo "=== IMPORT configuration ASTROPORT dans ~/.kodi" cp -Rf ~/.zen/astrXbian/.install/.kodi ~/ } install_requirements() { echo "mise à jour des dépots de votre distribution..." sudo apt-get update PACKAGES="" INSTALL_PACKAGES="" [[ "$user" != "xbian" ]] && PACKAGES="x11-utils xclip zenity handbrake*" PACKAGES="${PACKAGES} git fail2ban netcat-traditional inotify-tools curl net-tools libsodium* python3-dev python3-pip python3-setuptools python3-wheel python3-dotenv swig libgpgme-dev mpack libssl-dev libffi-dev" PACKAGES="${PACKAGES} 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 libcurl4-openssl-dev" # python pip install dependencies PACKAGES="${PACKAGES} libcairo2-dev libgirepository1.0-dev pkg-config" # AstroGEEK OpenCV = 'Intelligence Amie' PACKAGES="${PACKAGES} python3-opencv" for package in ${PACKAGES}; do\ [ $(dpkg-query -W -f='${status}' ${package} 2>/dev/null | grep -c "ok installed") -eq 0 ] \ && apt-cache show ${package} > /dev/null 2>&1 \ && INSTALL_PACKAGES="${INSTALL_PACKAGES} ${package}" done [ -n "${INSTALL_PACKAGES# *}" ] \ && echo ">>> installation ${INSTALL_PACKAGES} <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" \ && sudo apt install -y ${INSTALL_PACKAGES} ## 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 "###########################" echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc && source ~/.bashrc; echo ">>> PATH=$PATH" python3 -m pip install -U pip python3 -m pip install setuptools wheel python3 -m pip install cryptography Ed25519 base58 google duniterpy pynacl pgpy gpg python3 -m pip install pycairo python3 -m pip install nicotine-plus silkaj python3 -m pip install protobuf==3.19.0 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 sudo pip3 install brother_ql sudo cupsctl --remote-admin sudo usermod -aG lpadmin pi 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 } prepare_next_boot() { cat /etc/rc.local | grep -Ev "exit 0" > /tmp/new.rc.local ## REMOVE "exit 0" # PREPARE NEXT BOOT - Network config - NEXTBOOT - ISOConfig - NEXTBOOT - OK echo "su - xbian -c '~/.zen/astrXbian/FirstBOOT.sh'" >> /tmp/new.rc.local echo "exit 0" >> /tmp/new.rc.local sudo cp -f /tmp/new.rc.local /etc/rc.local }