Syncthing : pour que son pc serve de cloud à ses autre machines (android, autre pc)

C'est quoi ?

De wikipedia :

Syncthing est une application de synchronisation de fichiers pair à pair open source disponible pour Windows, Mac, Linux, iOS, Android, Solaris, Darwin et BSD6. Aucun compte ni enregistrement préalable à l'utilisation auprès d'un tiers (comme les géants du web, ou quelque autre entité) n'est nécessaire, ni même optionnelle. La sécurité et l'intégrité des données sont intégrées dans la conception du logiciel

Site officiel https://syncthing.net/

Ici, je vais l'installer sur 3 appareils: ma tour principale (un linux), un ordi portable (une autre version de linux) et sur mon smartphone (android). Par la suite, je l'installerai probablement sur des raspberry pi.

L'installer

sur le smartphone sous android

via le dépot F-Droid https://f-droid.org/repository/browse/?fdid=com.nutomic.syncthingandroid

Le smartphone doit etre sur le meme réseau (donc etre en wifi sur la box locale). Je vais commencer par configurer la tour avec l'ordi portable.

sur linux

Récupérer le code de l'appli

Soit via snap (sudo snap install syncthing), soit via curl. Ici, via curl :

Si besoin, installer curl : sudo apt-get install curl
Sur ma tour, je lance :

sudo curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
sudo echo "deb http://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt-get update
sudo apt-get install syncthing
syncthing

L'installation annonce prendre 15 à 16 Mo.

Premier lancement et config

Lancer la commande syncthing ouvre le navigateur avec l'adresse URL http://127.0.0.1:8384 c'est à dire le port 8384 de localhost (ai cliqué sur yes avoir avoir regardé les stats publiées à https://data.syncthing.net/)1ere ouverture sur son PC

Il faut que le navigateur accepte les cookies.

La partie "Autres apparaeils" (vers le bas) est vide - normal, c'est le 1er que j'installe, rien n'est configuré. Par défaut le dossier de partage est en /home/nom-utilisateur/Sync - et le partage n'est pas activé (non partagé).

Je fais la meme install sur mon ordi portable (sous une autre ubuntu). J'ai donc 3 appareils, qui tous ont un "Syncthing" installé mais non configuré :

  • une tour linux, avec cable réseau eth0,
  • un ordi portable linux, avec cable eth0 + wifi + bluetooth,
  • et un smartphone, 4G + wifi + bluetooth.

configurer

Chaque machine a un ID unique pour échanger (qui est généré lors du 1er lancement). Pour que 2 machines puissent communiquer, chacune doit connaitre l'ID de l'autre (ces ID sont publiques, tout est crypté par système de clef privée/publique). Ainsi, à terme, avec 3 machines, chacune devra avoir les ID des autres (6 fois la manip' à faire et après on oublie tout, on utilise :p).

Pour voir l'ID de son PC (et l'image à scanner sur le smartphone) : en haut à droite, menu Actions / Afficher mon ID

  1. Sur le portable, clic "Ajouter un appareil", en quelques secondes, l'ID de ma tour apparait (on n'a meme pas besoin de saisir l'ID à la main). Je valide sans vraiment bien regarder.
  2. Par contre, ma tour ne voit pas le portable. En haut à droite: action / arreter, et je relance via la commande. La tour ne voit pas plus le portable (et je n'ai pas envie de recopier à la main l'ID).
    Du portable, dans "autre appareils" je vois la tour avec un bouton "déconnectée", en cliquant dessus, la tour voit le portable (son hostanme, son ID SyncThing) et me demande de l'ajouter à la liste des appareils connus :
    ma tour me propose d'ajouter l'ID du portable
    Là, par contre, je coche en bas le "default folder". Il sera en /home/ton-nom-d'utilisateur-linux/Sync
  3. Sur les 2 appareils, le vois que le partage est à jour.

Reste à configurer les dossiers qu'on a besoin de partager.
En test, sur la tour, je copie un pdf dans le dossier Sync, le temps de répondre au tel, je le vois sur le portable.

Configuration sur le portable

En haut à droite, menu Actions / Configuration / Interface graphique : sombre + je coche https et ajoute un compte utilisateur par sécurité.

Sur l'ordi portable, j'ai un dossier à récupérer sur ma tour.
Mais là il refuse d'ajouter un partage, il faut peut-etre le redémarrer (vu ce que j'ai changé précédemment), je verrai plus tard.

4. sur le smartphone : menu en haut à gauche "Afficher l'ID de l'appareil". Je tente une connection via bluetooth (j'active le blutooth sur le portable et le tel), le portable voit l'ID du smartphone smiley

  • Sur l'ordi portable : lorsque je tente un "ajout", je coche "auto-accept" et en bas (Share folders with device) je coche Default folder (le dossier Sync). Avant de cliquer sur Save, je vois un bouton à sa droite "Show QR", c'est bien l'ID Sync de mon smartphone, je sauve.
  • sur le smartphone, pas de changement. Un dossier est partagé Pictures. Je relance le programme.
  • Sur l'ordi portable, je clique sur déconnecté,
  • le smartphone me notifie alors que l'ID machin veux se déconnecter, c'est bien l'ID du linux sur portable, je l'ajoute aux appareils.
    • et hop, l'ordi portable sous linux (avec navigateur ouvert à 127.0.0.1:8384) montre qu'il télécharge les images du smartphone (5 Mo) :p
    • Plus tard le smartphone me notifie que l'Appareil (nom choisi pour Syncthing) veut partager Default Folder (default) ; je tappe sur la notif, et j'arrive sur "Création d'un partage" :
      • 1ere ligne : j'ajoute un nom pour l'ordi portable devant le "Default Folder" proposé suivi d'un tiret -
      • 2e ligne (clef) : je laisse default
      • 3e ligne Répertoire : le fameux soucis d'identification des cartes mémoire sur android... Il ne me propose pas de créer un dossier où je veux, et affiche une liste incompréhensible angry Il y a toute une liste de  /storage/machuns-trucs (/storage/1234-46AB et plusieurs /storage/emulated/0/Divers-Noms 
        Je prend celui qui fini par Download puis je tappe Choisir ce répertoire
      • 4 ligne : le nom que j'ai choisi sur le smartphone pour reconnaitre mon ordi portable, j'active le bidule (de gris à jaune)
      • 5e ligne (verrou) "Envoyer uniquement" je le laisse désactivé (gris)
      • Plus bas, est activé seul "Watch for change" -> je valide en haut à droite avec le V (on retourne à l'écran principal, avec en haut en bleu : le menu puis "Syncthing" et + et dessous Partages et Appareils
        • Je vois dans Appareils, l'ordi portable déconnecté, et j'ai dans Partages 2 partages
        • puis il se connecte tout seul et ils affichent qu'ils sont syncronisés.
        • Je coupe le buetooth sur les 2

    Utiliser

    Dans le navigateur de fichier, ajouter le signet sur le dossier Sync, sur les 2 appareils (Ctrl+b avec nautilus).

    Tout fichier copié ici est recopié dans le dossier du meme nom sur l'autre pc.

    Syncthing Partages sur un smartphone

     

    plus sur le web

    https://snapcraft.io/syncthing

    Sur le wikipedia fr, Le_réseau dans Téléphonie_mobile

    autre projets de type différent : owncloud avec framagenda, ou la solution https://yunohost.org