Il était une fois, les ordinateurs étaient très chers et vous aviez la chance d'avoir un accès partagé à un ordinateur. Bien que cela puisse sembler être un problème, cela avait un gros avantage: tous vos fichiers se trouvaient sur cet ordinateur.

Aujourd'hui, nous avons probablement tous au moins un ordinateur de bureau et un ordinateur portable. Votre téléphone est probablement un très bon ordinateur selon la plupart des normes. Vous pourriez avoir plusieurs ordinateurs et une poignée de tablettes. Alors, que faites-vous pour que vos fichiers restent accessibles partout? Pourquoi ne pas exécuter votre propre service de synchronisation peer-to-peer? Vos fichiers sont toujours sous votre contrôle et cryptés en mouvement. Il n’ya pas de point central de défaillance. Vous pouvez le faire avec un logiciel Open Source très astucieux appelé synchronisation. Il fonctionne sous Windows, Linux, Mac, BSD et Solaris. Il existe également des clients Android. Nous ne l'avons pas testé, mais une mise en garde est que la prise en charge non officielle d'iOS semble un peu inégale.

La blague sur le cloud – que ce ne sont que des serveurs d’autres personnes – est pertinente ici. Certaines personnes n'aiment pas que leurs fichiers soient hébergés sur un serveur tiers. Même si vos fichiers sont chiffrés ou que vous ne vous en souciez pas, vous avez toujours le problème de ce qui se passe si vous ne pouvez pas atteindre le serveur – peut-être dans un avion sans WiFi – ou si le serveur tombe en panne. Bien sûr, Google et Microsoft ne s’obscurcissent pas très souvent, mais ils le peuvent et le font. Même si vous créez votre propre cloud, il fonctionne sur votre les serveurs. La synchronisation est sans serveur: elle s'assure simplement que tous les fichiers sont à jour sur tous vos appareils finaux.

Entrez Syncthing

La synchronisation est écrite en Go – pas que vous vous en souciez – et synchronise efficacement les répertoires sur de nombreux appareils avec un certain nombre d'options. La configuration la plus simple synchronise tous les fichiers dans un dossier, sur toutes les machines, sans contrôle de version. Mais il existe plusieurs types de contrôle de version à sélectionner et vous pouvez également créer des dossiers qui ne publient que des modifications ou dans lesquels les modifications ne se propagent pas à d'autres appareils. Par défaut, les données sont cryptées, et éventuellement compressées, lors de la synchronisation. De plus, le protocole d'échange de blocs gagne en efficacité à mesure que vous ajoutez des appareils – considérez-le comme un BitTorrent privé entre vos appareils.

Installer

La configuration de Syncthing est facile. Pour Linux de type Debian, vous pouvez suivre leurs instructions pour ajouter un référentiel et l'installer en utilisant apt. Il existe d'autres options pour d'autres systèmes d'exploitation. Le seul inconvénient de l'installation est qu'elle ne configure pas Syncthing en tant que service, ce que vous souhaitez probablement.

Ils fournissent des exemples de la façon de procéder sur GitHub. Dans mon cas, j'ai dû utiliser le linux-systemd fichiers et mettez-les dans mon /etc/system.d/system annuaire. Le fichier syncthing @ .service indique que le service s'exécutera pour le compte d'un utilisateur. Vous pouvez activer le service comme ceci:

systemctl --user enable syncthing.service

Le programme fait un bon travail de traversée de NAT et de pare-feu, donc je n’ai pas eu à configurer quoi que ce soit. En parlant de configuration, la méthode par défaut pour exécuter la configuration consiste à ouvrir un navigateur Web sur l'hôte local. Par défaut, vous devez être sur la machine locale pour accéder à la page Web, mais vous pouvez changer cela si vous souhaitez configurer le système à distance. Vous pouvez également utiliser un ssh tunnel pour sortir sur la machine locale. Il existe des interfaces graphiques et des programmes tiers qui peuvent contrôler la synchronisation via son API.

Dispositifs de couplage

Les appareils doivent se connaître. Le programme génère un long ID ou un code QR que vous pouvez utiliser pour configurer une machine sur l'autre. Vous devez vraiment le faire des deux côtés – c'est-à-dire que vous devez donner à l'ordinateur A le code de l'ordinateur B et donner le code de l'ordinateur A à l'ordinateur B. Lorsque vous acceptez un autre ordinateur dans votre liste d'appareils, vous pouvez le marquer comme " introducteur ». Cela ajoutera également à votre liste tous les ordinateurs qu'ils connaissent et auxquels ils font confiance.

Ce schéma signifie que vous avez besoin d'une sorte d'accès aux deux ordinateurs, ce qui est une bonne chose pour la sécurité. Si vous installez sur un serveur headless, cependant, vous devrez peut-être utiliser un ssh tunnel. J'ai fait ça:

ssh -L 9876:localhost:8384 my-remote-host

Maintenant, un navigateur pointant vers mon hôte local sur le port 9876 apparaîtra sur le port d'administration de synchronisation (8384) sur le serveur distant. Je n’ai pas utilisé 8384 du côté local car, bien sûr, j’y exécutais déjà la synchronisation.

Partage de dossiers

Lorsque vous créez un dossier, vous pouvez lui donner un nom d'affichage et un emplacement. Ceux-ci peuvent être différents sur chaque machine ou être identiques. Ce qui les lie ensemble est l'ID du dossier. Tout dossier avec le même ID partagé entre deux machines sera synchronisé. Ainsi, par exemple, vous pourriez avoir votre local ~/Documents synchronisation d'annuaire avec un annuaire de serveur appelé Desktop-Backups.

Lorsque vous configurez un dossier, vous pouvez activer la gestion des versions. Cela permet de conserver les versions des fichiers lorsqu'un ordinateur distant y apporte des modifications. Il ne crée pas de versions pour les modifications locales. Il existe plusieurs options pour la gestion des versions. Le modèle de poubelle ne conserve qu'une seule copie de l'ancien fichier. Le contrôle de version simple conserve un nombre configurable d'anciennes copies avec un horodatage. Il existe plusieurs autres choix, mais ce sont les plus simples.

Une autre fonctionnalité vous permet de configurer des dossiers qui envoient uniquement les modifications aux ordinateurs distants ou les reçoivent uniquement. Bien sûr, la valeur par défaut est que les dossiers envoient et reçoivent les modifications. Vous pouvez, par exemple, disposer d'un ensemble principal de fichiers de configuration que vous ne souhaitez modifier que localement, mais que vous souhaitez que d'autres ordinateurs intègrent ces modifications: définissez le dossier pour qu'il envoie uniquement. Vous remarquerez que les icônes de dossier changent en fonction de vos sélections pour inclure une flèche qui pointe vers le haut ou vers le bas selon votre choix.

Quoi synchroniser

Une fois que vous avez configuré les choses, il est assez addictif de commencer à synchroniser les répertoires. Bien sûr, les images et autres documents sont une évidence. Mais qu'en est-il des configurations d'imprimante 3D? Ou même vos scripts de démarrage système. Il est vrai que le système n’est pas nécessairement la meilleure solution pour les sauvegardes, mais vous pouvez également l’utiliser de cette façon.

Lorsque nous avons mentionné Syncthing aux gens, ils répondent souvent qu'ils utiliseraient OwnCloud ou NextCloud. Chacun a ses avantages, bien sûr. Alors que la configuration de votre cloud privé vous donne la possibilité d'installer des applications, vous avez désormais une dépendance sur un serveur central, même s'il s'agit du vôtre.

En parlant de scripts de démarrage, j'ai écrit quelque chose pour le faire et il a utilisé Git pour synchroniser et contrôler la version de votre démarrage bash. Ce système fonctionnerait bien avec la synchronisation au lieu de Git. Si vous êtes intéressé par de telles choses, vous pouvez également consulter chezmoi.

LAISSER UN COMMENTAIRE

Rédigez votre commentaire !
Entrez votre nom ici