Je voulais partager des fichiers sur plusieurs PC sans git push
, alors j'ai essayé Syncthing
introduit par la société!
Dépôt officiel https://github.com/syncthing/syncthing/
Syncthing est un programme de synchronisation de fichiers en continu. Il synchronise les fichiers entre deux ou plusieurs ordinateurs (à partir du référentiel officiel)
Traduit littéralement, il dit: «Partager des fichiers entre deux ou plusieurs PC».
L'image est similaire à DropBox et OneDrive, mais contrairement à ceux-ci, les fichiers ne sont pas téléchargés sur le serveur.
À partir de mars 2020, les éléments suivants sont pris en charge.
J'ai un Mac et Ubuntu sous la main, donc je vais les essayer avec ces deux-là. Tout d'abord, je décrirai la procédure de configuration avec GUI, mais comme il semble que cela ne puisse être fait qu'avec CLI, je la décrirai plus tard.
Ubuntu
référence https://apt.syncthing.net/
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt update && sudo apt install syncthing
#Exécuter → Lancer le navigateur
syncthing
Mac
brew install syncthing
#Exécuter → Lancer le navigateur
syncthing
Je ne l'ai pas confirmé car il n'y a pas d'environnement, mais il semble que l'installation binaire puisse être effectuée comme indiqué sur le site suivant. https://computingforgeeks.com/install-and-configure-syncthing-on-centos-linux/
Android
Je n'ai pas confirmé cela car il n'y a pas d'environnement, mais il y a une application dans le magasin. https://play.google.com/store/apps/details?id=com.nutomic.syncthingandroid&hl=ja
Lorsque vous exécutez la commande syncthing
, le navigateur sera lancé et l'écran suivant sera affiché.
Si vous exécutez la commande syncthing
selon la procédure ci-dessus, la synchronisation ne sera possible que si vous laissez la console en marche, donc enregistrez-la en tant que service.
Ubuntu
sudo systemctl enable syncthing@${USER}.service
sudo systemctl start syncthing@${USER}.service
Mac
brew services start syncthing
Sur Mac, Syncthing démarre, mais je ne vois pas l'interface graphique Web ... S'il est déjà défini, la synchronisation sera effectuée correctement.
Si vous souhaitez lancer l'interface graphique Web sur votre Mac, utilisez la commande séparée syncthing -browser-only
.
Il y a les étapes suivantes pour synchroniser.
syncthing
sur tous les appareils que vous souhaitez synchroniserPuisque 1. est terminé, nous expliquerons à partir de 2.
Il y a un bouton «Ajouter un appareil connecté» en bas à droite de l'écran affiché sur le navigateur, alors appuyez dessus. Ensuite, la fenêtre contextuelle suivante s'affiche.
Si les appareils à synchroniser sont sur le même réseau avec syncsync
opérationnel
L'ID d'appareil de l'autre terminal s'affiche automatiquement, vous pouvez donc simplement le sélectionner.
S'ils n'existent pas sur le même réseau, vous devez rechercher et saisir l'ID de l'appareil.
Vous pouvez vérifier l'ID de l'appareil en sélectionnant Menu → Afficher l'ID en haut à droite de l'écran.
Définissez les paramètres ci-dessus pour 2 unités.
Cette fois, je vais essayer de synchroniser le dossier ~ / github
d'Ubuntu.
Il y a un bouton «Ajouter un dossier» sur le côté gauche du navigateur de source de synchronisation, alors appuyez dessus.
Ensuite, la fenêtre contextuelle suivante s'affiche. Spécifiez le dossier que vous souhaitez partager dans le nom du dossier. Il se trouve que j'étais un dossier dans mon répertoire personnel, donc ça va comme ça, mais dans d'autres cas, définissez également le chemin du dossier.
Notez cet «ID de dossier» car il est important.
Il y a un onglet «nom de fichier ignoré» dans la fenêtre contextuelle, vous pouvez donc exclure les fichiers que vous ne voulez pas partager ici. Je l'ai fait directement dans le fichier de configuration.
https://docs.syncthing.net/users/ignoring.html
Effectuez les mêmes réglages sur la destination de synchronisation. Le but est de rendre l'ID de dossier identique.
Cliquez sur le bouton Modifier de l'appareil connecté.
Appuyez sur «Partager» dans la fenêtre contextuelle affichée, cochez le dossier que vous souhaitez partager dans «Dossier à partager avec cet appareil» et enregistrez-le.
Si le réglage de synchronisation est réussi, il vous suffit d'attendre que la synchronisation démarre comme indiqué ci-dessous!
Avec les paramètres par défaut, vous ne pouvez ouvrir l'écran GUI Web qu'à partir de localhost. Par conséquent, si vous modifiez les paramètres afin que l'interface graphique Web puisse être affichée de l'extérieur, vous pouvez facilement définir les paramètres même dans un environnement CLI uniquement.
Cependant, dans un environnement public tel que VPS ou EC2, n'importe qui peut modifier les paramètres, assurez-vous donc de définir un mot de passe.
L'emplacement du fichier de paramètres varie en fonction de l'environnement.
--Pour Linux
~/.config/syncthing/config.xml
--Pour Mac
~/Library/ApplicationSupport/Syncthing/config.xml
Puisqu'il existe un paramètre GUI, modifiez-le comme suit.
before
<gui enabled="true" tls="false" debugging="false">
<address>127.0.0.1:8384</address>
<apikey>aNw6DrLYWukHvLK22Ed7M5hoR5tixPJG</apikey>
<theme>dark</theme>
</gui>
after
<gui enabled="true" tls="false" debugging="false">
<!--0 ici.0.0.Fixé à 0-->
<address>0.0.0.0:8384</address>
<apikey>aNw6DrLYWukHvLK22Ed7M5hoR5tixPJG</apikey>
<theme>dark</theme>
</gui>
Si la synchronisation est en cours, redémarrez la synchronisation.
Maintenant, vous pouvez le voir de l'extérieur, mais comme mentionné ci-dessus, il est dans un état public, vous recevrez donc un avertissement.
Cliquez sur le bouton Paramètres
en bas à droite et définissez l'utilisateur et le mot de passe de l'interface graphique.
Il était également possible de le définir complètement sur la ligne de commande simplement en définissant config.xml
.
Cependant, c'était un peu ennuyeux car je dois éditer le XML directement et il doit être décrit sur tous les terminaux multiples.
Bien qu'il soit léger, je décrirai la méthode de réglage.
La procédure d'installation est exactement la même que ci-dessus.
Je pense qu'il existe une balise device
, alors copiez ce contenu et définissez-le directement en dessous.
Définissez l'ID de l'appareil que vous souhaitez synchroniser avec l'ID de l'appareil.
<device id="XXXXXXXXX" name="xxx-ubuntu" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
<address>dynamic</address>
<paused>false</paused>
<autoAcceptFolders>false</autoAcceptFolders>
<maxSendKbps>0</maxSendKbps>
<maxRecvKbps>0</maxRecvKbps>
<maxRequestKiB>0</maxRequestKiB>
</device>
L'ID de l'appareil est le journal affiché lorsque la commande syncthing
est exécutée, l'écran WEB dans le cas de l'interface graphique et le service (démon) dans le cas de l'exécution.
Vérifiez à partir de la commande suivante.
syncthing -device-id
Il y a une balise de folder id =" default "
en haut de config.xml
, donc copiez-la et définissez-la directement ci-dessous.
<folder id="default" label="Default Folder" path="/Users/xxxx/Sync" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
<filesystemType>basic</filesystemType>
<device id="XXXXXXXXX" introducedBy=""></device>
<minDiskFree unit="%">1</minDiskFree>
<versioning></versioning>
<copiers>0</copiers>
<pullerMaxPendingKiB>0</pullerMaxPendingKiB>
<hashers>0</hashers>
<order>random</order>
<ignoreDelete>false</ignoreDelete>
<scanProgressIntervalS>0</scanProgressIntervalS>
<pullerPauseS>0</pullerPauseS>
<maxConflicts>-1</maxConflicts>
<disableSparseFiles>false</disableSparseFiles>
<disableTempIndexes>false</disableTempIndexes>
<paused>false</paused>
<weakHashThresholdPct>25</weakHashThresholdPct>
<markerName>.stfolder</markerName>
<copyOwnershipFromParent>false</copyOwnershipFromParent>
<modTimeWindowS>0</modTimeWindowS>
</folder>
Réécrivez la partie suivante des paramètres copiés.
Après avoir modifié les paramètres, redémarrez syncthing
.
Exemple de réglage
example
<folder id="github-folder-id" label="github" path="/Users/xxxxx/github" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
<filesystemType>basic</filesystemType>
<device id="ID appareil 1" introducedBy=""></device>
<device id="ID de l'appareil 2" introducedBy=""></device>
<device id="ID de l'appareil 3" introducedBy=""></device>
<minDiskFree unit="%">1</minDiskFree>
<versioning></versioning>
<copiers>0</copiers>
<pullerMaxPendingKiB>0</pullerMaxPendingKiB>
<hashers>0</hashers>
<order>random</order>
<ignoreDelete>false</ignoreDelete>
<scanProgressIntervalS>0</scanProgressIntervalS>
<pullerPauseS>0</pullerPauseS>
<maxConflicts>-1</maxConflicts>
<disableSparseFiles>false</disableSparseFiles>
<disableTempIndexes>false</disableTempIndexes>
<paused>false</paused>
<weakHashThresholdPct>25</weakHashThresholdPct>
<markerName>.stfolder</markerName>
<copyOwnershipFromParent>false</copyOwnershipFromParent>
<modTimeWindowS>0</modTimeWindowS>
</folder>
c'est tout. Utilisons-le pendant un moment et vérifions sa convivialité.
Recommended Posts