2021-08-01 12:48:52 +02:00
|
|
|
#! /bin/bash
|
|
|
|
|
|
|
|
#########################################################
|
|
|
|
# Inclusions
|
|
|
|
#########################################################
|
|
|
|
|
|
|
|
# Variables partagées
|
|
|
|
# releases url : https://github.com/syncthing/syncthing/releases/
|
2023-02-18 20:33:48 +01:00
|
|
|
archive_url="https://github.com/syncthing/syncthing/releases/download/v1.23.1/syncthing-linux-amd64-v1.23.1.tar.gz"
|
2022-05-13 22:06:19 +02:00
|
|
|
archivename=$(echo $archive_url | grep -oE 'syncthing-(.*)\.tar\.gz')
|
2021-08-01 12:48:52 +02:00
|
|
|
iconurl="https://raw.githubusercontent.com/syncthing/syncthing/main/assets/logo-128.png"
|
|
|
|
|
|
|
|
# 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
|
|
|
|
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
|
|
|
|
#########################################################
|
|
|
|
|
|
|
|
# Vérifications
|
|
|
|
fonct_VerifConnexionInternet
|
|
|
|
fonct_PaquetInstalle firefox
|
|
|
|
|
|
|
|
# Introduction
|
|
|
|
clear
|
|
|
|
cat << "EOF"
|
|
|
|
|
|
|
|
..~~+~~~..
|
|
|
|
.++++~~.~~~++++.
|
|
|
|
.++~. .~++..
|
|
|
|
~o+ ~ooo+.
|
|
|
|
~o~ +oooo
|
|
|
|
+o .+++.~o+
|
|
|
|
.o+. ..~+ooo~. +o
|
|
|
|
+ooo+++++++++oooo~ .++
|
|
|
|
+ooo~.. ~~oo. ~o~
|
|
|
|
~o+ +o+~+o~
|
|
|
|
.++~. .oooo~
|
|
|
|
.~+++~~~~~~++o+o+.
|
|
|
|
..~~~~~~..
|
|
|
|
|
2022-05-27 17:25:37 +02:00
|
|
|
Syncthing remplace les logiciels de synchronisation
|
|
|
|
privateurs et les services de cloud par un
|
|
|
|
logiciel ouvert, de confiance et décentralisé.
|
|
|
|
https://syncthing.net
|
2021-08-01 12:48:52 +02:00
|
|
|
EOF
|
|
|
|
|
|
|
|
fonct_TouchePourContinuer
|
|
|
|
clear
|
2022-05-27 17:25:37 +02:00
|
|
|
cat << "EOF"
|
|
|
|
Ce que fait ce script :
|
|
|
|
-Télécharger et installer Syncthing de façon automatique
|
|
|
|
-Créer un dossier bin dans votre home
|
|
|
|
-Ajouter une entrée de démmarrage automatique pour Syncthing
|
|
|
|
-Ajouter l'icone de Syncthing dans votre dossier icons
|
|
|
|
-Ajouter une entrée Interface Syncthing dans votre menu principal
|
|
|
|
|
|
|
|
Notes : Après l'installation l'interface web de Syncthing
|
|
|
|
démmarra automatiquement à chaque session. Vous pouvez
|
|
|
|
empecher cela en décochant la case «Lancer le navigateur web»
|
|
|
|
dans la configuration de Syncthing.
|
|
|
|
EOF
|
|
|
|
|
2021-08-01 12:48:52 +02:00
|
|
|
|
|
|
|
fonct_TouchePourContinuer
|
|
|
|
clear
|
2022-05-19 17:05:20 +02:00
|
|
|
mkdir -p $HOME/bin/
|
|
|
|
fonct_ArretSurErreur
|
|
|
|
mkdir -p $HOME/.icons/
|
|
|
|
fonct_ArretSurErreur
|
|
|
|
mkdir -p $HOME/.config/autostart/
|
|
|
|
fonct_ArretSurErreur
|
2021-08-01 12:48:52 +02:00
|
|
|
|
|
|
|
# Téléchargement syncthing
|
2022-05-19 17:05:20 +02:00
|
|
|
wget --quiet $archive_url
|
2022-05-27 17:25:37 +02:00
|
|
|
fonct_ArretSurErreur
|
2022-05-19 17:05:20 +02:00
|
|
|
tar -xzf $archivename -C $HOME/bin/
|
2021-08-01 12:48:52 +02:00
|
|
|
mv $HOME/bin/syncthing* $HOME/bin/syncthing
|
|
|
|
rm $archivename
|
|
|
|
echo ""
|
|
|
|
echo "Syncthing a bien été installé."
|
2022-05-27 17:25:37 +02:00
|
|
|
sleep 2
|
2021-08-01 12:48:52 +02:00
|
|
|
|
|
|
|
# Ajout alias au .bashrc
|
|
|
|
#echo export PATH='$PATH':~/bin/syncthing >> $HOME/.bashrc
|
|
|
|
sed -i '1iexport PATH='$PATH':~/bin/syncthing' $HOME/.bashrc
|
|
|
|
fonct_ArretSurErreur
|
|
|
|
echo "Ajout des alias au bashrc réussi."
|
2022-05-27 17:25:37 +02:00
|
|
|
sleep 2
|
2021-08-01 12:48:52 +02:00
|
|
|
|
|
|
|
# Installation des fichiers desktop
|
2022-05-27 10:33:49 +02:00
|
|
|
cat << "EOF" > $HOME/.config/autostart/syncthing-autostart.desktop
|
|
|
|
[Desktop Entry]
|
|
|
|
Encoding=UTF-8
|
|
|
|
Name=Syncthing
|
|
|
|
Icon=syncthing
|
|
|
|
Comment="Outil de synchronisation sécurisé sans serveur central"
|
|
|
|
Exec=bin/syncthing/syncthing
|
|
|
|
Terminal=false
|
|
|
|
Type=Application
|
|
|
|
EOF
|
|
|
|
|
2021-08-01 12:48:52 +02:00
|
|
|
fonct_ArretSurErreur
|
|
|
|
echo "Ajout du lien de démmarrage automatique réussi."
|
2022-05-27 17:25:37 +02:00
|
|
|
sleep 2
|
2021-08-01 12:48:52 +02:00
|
|
|
|
2022-05-27 10:33:49 +02:00
|
|
|
cat << "EOF" > $HOME/.local/share/applications/syncthing-wui.desktop
|
|
|
|
[Desktop Entry]
|
|
|
|
Encoding=UTF-8
|
|
|
|
Name=Syncthing (Interface Web)
|
|
|
|
Icon=syncthing
|
|
|
|
Comment="Ouvrir l'interface web de Syncthing"
|
|
|
|
Exec=firefox --new-tab 127.0.0.1:8384
|
|
|
|
Terminal=false
|
|
|
|
Type=Application
|
|
|
|
Categories=Network;
|
|
|
|
EOF
|
2021-08-01 12:48:52 +02:00
|
|
|
fonct_ArretSurErreur
|
|
|
|
echo "Ajout du raccourcis vers l'interface web réussi."
|
|
|
|
echo "Vous le trouverez dans le menu principal"
|
|
|
|
echo "de votre distribution Rubrique Internet/Syncthing (Interface web)"
|
2022-05-27 17:25:37 +02:00
|
|
|
sleep 2
|
2021-08-01 12:48:52 +02:00
|
|
|
|
|
|
|
# Installation de l'icone
|
|
|
|
wget --quiet -O $HOME/.icons/syncthing.png $iconurl
|
|
|
|
fonct_ArretSurErreur
|
|
|
|
echo "Ajout de l'icone réussi."
|
2022-05-27 17:25:37 +02:00
|
|
|
sleep 2
|
|
|
|
echo ""
|
2021-08-01 12:48:52 +02:00
|
|
|
echo "Installation terminée."
|
|
|
|
echo "Merci de relancer votre session pour terminer l'installation"
|
2022-05-27 17:25:37 +02:00
|
|
|
echo ""
|
2021-08-01 12:48:52 +02:00
|
|
|
echo "Vous pouvez également installer Syncthing-GTK pour avoir les notifications de bureau et d'autres options"
|
|
|
|
echo "https://github.com/syncthing/syncthing-gtk"
|