From db2dfdafa6f4d05e34319a70df195bcc9a70a2eb Mon Sep 17 00:00:00 2001 From: Djan GICQUEL <> Date: Sun, 1 Aug 2021 12:50:56 +0200 Subject: [PATCH] initial version Syncthing AMD64 v1.11.1 --- syncthing-install-auto-serveur.sh | 142 ++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 syncthing-install-auto-serveur.sh diff --git a/syncthing-install-auto-serveur.sh b/syncthing-install-auto-serveur.sh new file mode 100644 index 0000000..dadd4cd --- /dev/null +++ b/syncthing-install-auto-serveur.sh @@ -0,0 +1,142 @@ +#! /bin/bash + +######################################################### +# Inclusions +######################################################### + +# Variables partagées +# releases url : https://github.com/syncthing/syncthing/releases/ +archive_url="https://github.com/syncthing/syncthing/releases/download/v1.11.1/syncthing-linux-amd64-v1.11.1.tar.gz" +archivename="syncthing-linux-amd64-v1.11.1.tar.gz" +iconurl="https://raw.githubusercontent.com/syncthing/syncthing/main/assets/logo-128.png" + +#Chemin sans slash de fin. Un dossier "syncthing" sera créé dans ce dossier +installdir="$HOME/bin" + +# Fonctions partagées +fonct_VerifConnexionInternet () { +ping -c 1 github.com > /dev/null +if [ "$?" != "0" ]; then +echo "Erreur la connexion internet semble défaillante" +echo "Fin du script." +exit +else +echo "La connexion internet est fonctionnelle" +echo "" +fi +} + +fonct_ArretSurErreur(){ +if [ "$?" != "0" ]; then +echo "Erreur, le script va s'arreter." +exit +fi +} + +fonct_CreationDossier () { +if [ ! -d "$1" ]; then +mkdir -p "$1" +echo "Le dossier $1 a été créé." +fi +} + +fonct_PaquetInstalle () { +which $1 +if [ "$?" != "0" ]; then +echo "$1 ne semble pas installé." +echo "Fin du script." +exit +else +echo "Le paquet $1 est bien installé." +fi +} + +fonct_TouchePourContinuer (){ +read -p "Presser une touche pour continuer ou Ctrl-C pour annuler" CONT +} + +fonct_ArretSurErreur(){ +if [ "$?" != "0" ]; then +echo "Le script a rencontré une erreur." +exit +fi +} + +######################################################### +# Début du script +######################################################### + +# Introduction +clear +cat << "EOF" + + ..~~+~~~.. + .++++~~.~~~++++. + .++~. .~++.. + ~o+ ~ooo+. + ~o~ +oooo + +o .+++.~o+ + .o+. ..~+ooo~. +o + +ooo+++++++++oooo~ .++ + +ooo~.. ~~oo. ~o~ + ~o+ +o+~+o~ + .++~. .oooo~ + .~+++~~~~~~++o+o+. + ..~~~~~~.. + +EOF +echo "" +echo "Syncthing remplace les logiciels de synchronisation\n\ +privateurs et les services de cloud par un\n\ +logiciel ouvert, de confiance et décentralisé.\n\ +\n +https://syncthing.net" +echo "" +echo "Ce que fait ce script :\n\ +-Télécharger et installer Syncthing de façon automatique\n\ +-Créer un dossier bin dans votre home\n\ +-modifier l'adresse de l'interface web pour être utilisable sur un réseau local" +echo "" +fonct_TouchePourContinuer +clear + +# Vérifications +fonct_VerifConnexionInternet +fonct_PaquetInstalle wget +fonct_PaquetInstalle tar +fonct_CreationDossier $installdir +fonct_ArretSurErreur + +# Téléchargement syncthing +echo "Téléchargement Syncthing." +wget --quiet $archive_url +tar -xzf $archivename -C $installdir +mv $installdir/syncthing-linux-amd64-*/ $installdir/syncthing +rm $archivename +echo "" +echo "Syncthing a bien été installé." +sleep 5 + +# Ajout alias au .bashrc + +echo "alias syncthing=\".$installdir/syncthing/syncthing\"" >> $HOME/.bashrc + +which screen +if [ "$?" = "0" ]; then +echo "alias syncthinginascreen=\"screen -d -m -S syncthinginascreen $installdir/syncthing/syncthing\"" >> $HOME/.bashrc +fi + +fonct_ArretSurErreur +echo "Ajout des alias au bashrc terminé." +source $HOME/.bashrc +sleep 5 + +#Modification de l'adresse de l'interface web +$installdir/syncthing/syncthing >> /dev/null & +sleep 60 +killall syncthing +sed -i 's/127.0.0.1:8384/0.0.0.0:8384/' $HOME/.config/syncthing/config.xml +echo "Fichier de configuration modifié" +echo "Une fois lancé vous pouvez accéder à l'interface web de Syncthing depuis le réseau local." +echo "" +echo "Installation terminée."