You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
4.5 KiB
128 lines
4.5 KiB
#!/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 |
|
}
|
|
|