Syncthing/syncthing

Блог

Копирование файлов между Windows и Linux через SSH

Если на вашем устройстве Linux включен SSH, вы можете отправлять данные с одного компьютера на другой через командную строку. Для этого вам необходимо настроить SSH-сервер на вашем Linux-компьютере.

Начните с обновления ОС.

После завершения обновлений установите SSH-сервер. Сервер OpenSSH — хороший вариант.

Подождите, пока он установится. Чтобы проверить, запущен ли сервер OpenSSH, наберите:

Для передачи данных из Windows используйте SSH-клиент, например PuTTY. Для этого требуется, чтобы инструмент PSCP (клиент безопасного копирования) загружался в вашу систему Windows, чтобы работать вместе с PuTTY. Найдите оба на домашней странице PuTTY.

Обратите внимание, что PuTTY необходимо установить, а  PSCP работает без инсталляции. Просто сохраните загруженный файл pscp.exe в корне диска Windows C: или настройте его как переменную среды

Вам также необходимо подтвердить IP-адрес устройства Linux. Зарегистрируйтесь в терминале Linux с помощью

Установив соединение, вы можете перенести файл из Windows в Linux следующим образом:

Вам будет предложено ввести пароль для компьютера Linux перед началом передачи.

Хотите скопировать данные из Linux в Windows в одном сеансе SSH? Эта команда загрузит указанный файл в текущий каталог:

Обратите внимание на одинокий период в конце — включите это, иначе передача не будет работать

Синхронизация на вашем смартфоне

Для Windows и большинства обычных пользователей лучше использовать вилку SyncThing SyncTrayzor. Аналогичная история и с Android, где Syncthing-Fork предлагает больше функций и несколько проще в использовании, чем официальная версия. Таким образом, мы воспользуемся этим в этом руководстве.

Установите Syncthing-Fork на свое устройство Android и запустите его. Папка с фотографиями по умолчанию вашего смартфона уже будет зарегистрирована как папка, которой вы потенциально можете поделиться. Вы также увидите дополнительную папку «Обсидиановые хранилища» на наших снимках экрана, где вы можете делать заметки – не стесняйтесь игнорировать ее.

Перейдите на вкладку УСТРОЙСТВА и нажмите кнопку в правом верхнем углу экрана, чтобы добавить новое устройство.

Вернитесь к компьютеру и выберите « Показать идентификатор» в меню « Действия» в правом верхнем углу интерфейса SyncTrayzor.

QR-код с идентификатором вашего ПК появится на вашем экране.

Обратите внимание на свой смартфон и обратите внимание, что первое поле на странице добавления устройства пустое и имеет небольшой значок с QR-кодом рядом с ним. Нажмите на этот значок и наведите камеру вашего смартфона на QR-код на экране вашего ПК, чтобы прочитать его идентификатор

Когда закончите, нажмите на галочку в правом верхнем углу экрана вашего Android-смартфона. Это свяжет ваш компьютер и ваш смартфон и позволит им обмениваться папками.

SyncTrayzor спросит вас, хотите ли вы разрешить устройству «пинговать его» для подключения. Нажмите « Добавить устройство», чтобы создать соединение SyncThing между ним и вашим ПК.

Вы можете пропустить настройку папок вручную, если при добавлении смартфона в SyncThing вы перейдете на вкладку « Общий доступ ». Вы увидите список папок, которые вы «зарегистрировали» в SyncThing, к которым еще не предоставлен общий доступ к этому конкретному устройству. Поставьте галочку рядом с теми, которыми вы хотите поделиться. В нашем случае это была отдельная папка с названием «Takeaway».

Возвращаясь к Android, Syncthing-Fork может не сразу обнаружить или показать вашу новую общую папку. Нажмите на кнопку меню в верхнем левом углу экрана и выберите Web GUI . Это откроет фактический веб-интерфейс SyncThing в браузере вашего смартфона по умолчанию.

Первое, что вы увидите, это подсказка в самом верху о новой папке. Нажмите на Добавить, чтобы сделать это.

Просмотрите доступные параметры и убедитесь, что они соответствуют настройкам папки на вашем ПК.

Ваши устройства начнут синхронизацию почти сразу после их связывания и обмена папкой между ними. Вы можете щелкнуть или коснуться своей общей папки, чтобы «развернуть» ее и просмотреть сведения о ней и статус синхронизации.

На вашем смартфоне Android новые общие папки по умолчанию хранятся в корневой папке внутренней памяти вашего устройства. Вы можете получить к ним доступ с помощью любого файлового менеджера.

В качестве следующего шага, для еще более унифицированного опыта, возможно, стоит также проверить наше руководство о том, как синхронизировать буфер обмена между Android и ПК .

Установка и настройка

Теперь после краткого обзора перейдем непосредственно к установке и настройке приложения. Я буду использовать домашний макбук в качестве основного хоста с веб-интерфейсом, а клиент будет установлен на Raspberry PI model B.

На макбуке Перейдем на страницу загрузки актуального релиза и скачаем необходимый архив, для Mac OS необходимо загрузить syncthing-darwin-amd64-v0.8.13.tar.gz

список поддерживаемых на данный момент платформ

Распаковываем скачанный архив и в папке с программой запускаем файл syncthing. Дожидаемся завершения программы и находим в консоли строку вида:

Это — идентификатор системы, запомните его, он пригодится нам чуть поз днее. Теперь займемся клиентом.

На Raspberry Pi Зайдем в консоль Raspberry Pi и скачаем пакет для этой платформы:

Теперь распакуем и запустим сервис

Необходимо подождать некоторое время, пока сгенерируется уникальный ключ-идентификатор и также запомнить (записать) его. После этого нужно добавить первый сгенерированный на ноутбуке ключ в конфигурационный файл config.xml. и добавить ID «ноутбука» в ветку repository, а также новый узел:

Настройка клиента на Raspberry Pi завершена, осталось заново запустить сервис командой

Или же добавить его в автозагрузку в файле /etc/rc.local.

Настроить и использовать Syncthing

После запуска Syncthing главное меню появиться в нашем браузере, который мы включили по умолчанию. L ‘ интерфейс довольно простой и он также на испанском языке, что ценится, так что все типы пользователей могут легко получить доступ к этому типу программы. Конечно, появляется знак (он на английском языке), предупреждающий нас о том, что имя пользователя / пароль не настроены, поэтому мы должны настроить его, если мы не хотим, чтобы нежелательные пользователи получали к нему доступ.

Чтобы настроить наше имя пользователя и пароль, щелкните вкладку «Настройки» информационного окна или вкладку «Действия» в правом верхнем углу. Здесь мы нажимаем на вкладку GUI. Здесь мы заполняем поля «Проверка подлинности пользователя» и «Пароль» и нажимаем «Сохранить». Это также позволяет нам настроить тему из этого окна, если мы хотим выбрать светлую или темную тему.

На главном экране слева мы увидим столбец папок. Здесь мы можем настроить Папка папки по умолчанию существующий и добавлять новые. Таким образом, мы можем создать папку для изображений, видео, документов и т. Д. Папка по умолчанию, в которой хранятся все файлы, — «C: Имя пользователя для синхронизации пользователей» . Добавить новые папки так же просто, как щелкнуть «Добавить папки» и настроить его по своему усмотрению.

С правой стороны у нас есть наше устройство, где мы можем видеть такие данные, как скорость загрузки и выгрузки, версия нашего оборудования или время работы. Чтобы иметь возможность изменять файлы на другом устройстве, нам нужно будет щелкнуть вкладку «Добавить устройство» и настроить наш идентификатор, который должен быть правильным на другом устройстве, на котором мы делимся файлами, чтобы они могли синхронизироваться друг с другом.

Задача

Синхронизация файлов между серверами — часто востребованная задача, которая наиболее просто решается с помощью Rsync. Однако, в некоторых случаях использование rsync затруднено. Например, это может быть ситуация, когда требуется как можно быстрее осуществить синхронизацию, а обработка по расписанию не подходит. В этом случае на помощь приходят утилиты, которые используют inotify — специализированный интерфейс Linux, позволяющий реагировать на изменения в файловой системе.

В более сложных конфигурациях в группе может быть несколько серверов, тогда настройка синхронизации «каждый с каждым» весьма утомительна — при добавлении к группе из N серверов еще одного, вам необходимо произвести 2xN настроек — на каждом из существующих серверов с новым и на новом сервере с существующими. Конечно, эта задача может быть автоматизирована с помощью средств управления инфраструктурой как кодом (Ansible, Chef, Puppet), но само решение, где необходимо настраивать взаимосвязь каждый с каждым выглядит весьма неудобно.

Для решения проблемы синхронизации файлов в группе серверов приходят на помощь утилиты, использующие пиринговые протоколы синхронизации. Один из популярных открытых инструментов называется SyncThing.

Далее мы рассмотрим, как с помощью SyncThing настроить синхронизацию файлов между несколькими серверами. Мы будем использовать операционную систему Linux. Руководство подойдет для любого дистрибутива, который использует systemd — Debian 9, Ubuntu 16.04, Ubuntu 18.04, CentOS 7 и т.п.

О синхронизации

Syncthing — инструмент с открытым исходным кодом, бесплатный и мультиплатформенный Его можно использовать для синхронизации файлов и / или папок между компьютерами в сети.

В отличие от других инструментов синхронизации, таких как Google Диск, pCloud, Dropbox и т. Д., Syncthing передает данные напрямую из одной системы в другую, и это полностью безопасно и конфиденциально.

все данные будут храниться в вашей системе, чтобы вы могли полностью контролировать свои файлы и папки, поскольку ни один из них не хранится в какой-либо сторонней системе.

Это также дает нам возможность выбрать место, где он будет храниться, будет ли он передан третьим лицам и как он будет передаваться через Интернет.

Все коммуникации зашифрованы с использованием TLS, Syncthing имеет гибкий и мощный веб-интерфейс, который поможет пользователям добавлять, удалять и управлять каталогами, которые будут синхронизироваться по сети.

Позволяет синхронизировать файлы с одного устройства на другое напрямую, без необходимости проходить через посредникаНапример, если вы используете Dropbox, файлы будут проходить через Dropbox, поэтому вы сможете видеть, что мы передаем, и контролировать, как ваши файлы передаются через Интернет.

Таким образом, Использование Syncthing позволяет получить безопасность и конфиденциальность.

Безопасность гарантируется шифрованием и аутентификацией, так как нет центрального сервера, который хранит все и может быть взломан.

Используя Syncthing, вы можете синхронизировать несколько папок с несколькими системами одновременно, tВсе, что вам нужно, — это очень стабильное соединение LAN / WAN и достаточно места на диске в вашей системе.

Он совместим со всеми современными операционными системами, включая GNU / Linux, Windows, Mac OS X и, конечно же, Android.

Приложение для Android

Приложение Sycnthing для Android (Рисунок 7) все еще находится на начальных этапах разработки; однако, оно уже может успешно использоваться по прямому назначению. После запуска оно получает доступ к директории, в которой смартфон или планшет хранит фотоснимки. Как и в случае приложения для настольных компьютеров, данное приложение позволяет публиковать содержимое других директорий по мере необходимости. Процесс настройки приложения полностью аналогичен процессу настройки его версии для настольных компьютеров. Кроме того, рассматриваемое приложение позволяет активировать механизм обмена данными только при активации WiFi или при зарядке мобильного телефона.

Рисунок 7: Скорее всего, вы будете запускать приложение Syncthing для Android лишь при необходимости, ведь для его работы требуется большое количество энергии.

Необходимость в значительных энергозатратах для корректной работы приложения является одним из его главных недостатков. Если в разделе настроек приложения для мобильного телефона активированы параметры для постоянного отслеживания изменений данных и синхронизации новых данных (Рисунок 8), Syncthing будет постоянно функционировать, нагружая его центральный процессор и значительно сокращая время жизни его аккумулятора. По этой причине рекомендуется запускать Syncthing лишь при необходимости вместо запуска демона в фоновом режиме.

Рисунок 8: На данный момент Syncthing требует значительных энергозатрат для корректной работы. По этой причине стоит деактивировать демон, работающий в фоновом режиме.

Veeam Agent for Windows or Linux Free

С его помощью можно бэкапить как целиком весь компьютер, так и отдельные диски и папки. После установки он создаст загрузочный диск, с помощью которого можно будет восстановить систему и залить бэкап, если совсем всё умрет. Поддерживает хранение бэкапов локально, на smb шарах, на usb устройствах. При подключении последнего может автоматом запускать бэкап.

Свой ноут лично я бэкаплю им же. Много раз уже выручал, так что рекомендую. Традиционно, софт от Veeam работает качественно и просто. Не надо долго разбираться с настройками. Так что добавить особо нечего. Берите и пробуйте. Работает как на Windows, так и Linux.

От обычных к пиринговым сетям

В отличие от свободных облачных хранилищ, таких, как ownCloud, приложение Syncthing (как и BitTorrent Sync) не хранит загружаемые данные на центральном сервере; вместо этого оно распространяет их по компьютерам (или узлам, если вам будет угодно), из которых состоит пиринговая сеть. Команда разработчиков Syncthing разработала протокол Block Exchange Protocol , в рамках которого реализуются все механизмы, необходимые для обмена данными. Обязательное использование алгоритмов шифрования гарантирует доступность ваших данных лишь для вас.

Syncthing осуществляет синхронизацию данных между устройствами в локальной сети, а также между удаленными компьютерами. Для упрощения обмена данными с компьютерами, расположенными за пределами локальной сети, рассматриваемое приложение, как и его закрытый аналог BitTorrent Sync, использует протокол UPnP , поддержку которого вам, возможно, придется активировать на уровне вашего маршрутизатора. Поддержка данного протокола активирована по умолчанию на большинстве маршрутизаторов, поэтому вам не придется вмешиваться в автоматический процесс проброса требуемых портов. Если ваш маршрутизатор не поддерживает протокол UPnP, вам придется осуществить проброс необходимых портов вручную: пробросьте TCP-порт 22000 вашего компьютера для того, чтобы он мог взаимодействовать с другими удаленными компьютерами. Если компьютер находится за локальным межсетевым экраном, вам придется пробросить как TCP-порт 22000, так и UDP-порт 21025.

Файлы везде, без облака

Вы можете добавить еще больше устройств, например, поделиться одной папкой между вашим ноутбуком и ПК, а также синхронизировать вторую со своим смартфоном. Или, может быть, вы хотите иметь двунаправленное соединение между двумя смартфонами, обмениваться всеми фотографиями между ними, но только «проталкивать» эти фотографии на ноутбук. SyncThing позволяет вам контролировать, где и как вы делитесь своими данными.

Цена, которую нужно заплатить, заключается в том, что, пропуская облачные серверы, ваши устройства должны иногда подключаться напрямую, имея доступ к той же локальной сети для облегчения обмена данными. Однако это не серьезная проблема: включите их с активным SyncThing дома хотя бы на 5 минут, и все должно быть настроено.

Это намного лучше, чем если бы провайдер файлового хостинга попросил вас сменить пароль, потому что кто-то получил доступ к его серверам (и вашим данным). Опять таки.

Тем не менее, вы должны помнить, что синхронизация – это не ответ на все вопросы. Если вы потеряете свой смартфон до того, как синхронизируете файлы с компьютером, вы также потеряете некоторые из своих ценных файлов. Даже при правильной работе синхронизации между вашими устройствами вы также должны всегда сохранять резервные копии всех ваших важных данных. Никогда не знаешь, когда они могут понадобиться.

История

Синхронизация истории версий
Дата Версия Major Changes
2019-10-01 1.3.0
  • New parameter for adjusting database size
  • Better database performance
2019-07-09 1.2.0
  • New transport protocol (QUIC)
  • Automatic crash reporting
2019-05-09 1.1.3
2019-04-02 1.1.1
2019-04-22 1.1.0
  • User/group ownership follows parent dir
  • Fix hashing performance
2019-01-01 1.0.0
  • Limit max simultaneous scans
  • Show limit locally changed files for receive only folders
2016-06-19 0.14 «Dysprosium Dragonfly»
2016-05-17 0.13 «Copper Cockroach»
  • Serve files while downloading them
  • Unique folder ID separate from label
2015-11-05 0.12 «Beryllium Bedbug»
  • Connection Relaying
  • Device Discovery over HTTPS

Первоначальный общедоступный двоичный выпуск (v0.2) был выпущен 30 декабря 2013 г.

В октябре 2014 года первоначальный автор объявил, что Syncthing будет переименован в «Pulse». Однако 17 ноября разработчик решил не менять Syncthing на Pulse и больше не работает с ind.ie. Pulse от Ind.ie теперь является официально разрешенным форком Syncthing.

22 апреля 2015 г. была выпущена версия 0.11.0, в которой были представлены обработка конфликтов, выбор языка в пользовательском интерфейсе, улучшение использования ЦП и скорости синхронизации, поддержка длинных имен файлов в Windows, автоматический перезапуск при возникновении проблемы, например, при недоступности диска, и поддержка внешнего программного обеспечения для управления версиями. 0.11 не имеет обратной совместимости со старыми версиями Syncthing. Из-за изменений в REST API клиенты Syncthing, которые были на 0.10.x, не обновлялись автоматически до 0.11, поскольку на момент выпуска они не были совместимы со многими сторонними интеграциями.

0.13.0, как и многие старые выпуски Syncthing, несовместим с клиентами, работающими под управлением версии 0.12.x и ниже. 0.13.x отделяет идентификаторы папок от меток папок. Теперь он также может обслуживать части файла, которые уже были загружены другим клиентам, пока он еще загружается.

Версия 1.0.0 под кодовым названием Erbium Earthworm не внесла серьезных изменений в таблицу. Это было скорее размышлением разработчиков о широком использовании программы и о том, что на тот момент она уже находилась в разработке почти 5 лет. Несмотря на изменение основного номера, Джейкоб Борг, ведущий разработчик, заявил, что в остальном он идентичен 0.14.55-rc.2

Наряду с выпуском 1.0.0 команда представила новую semver-подобную систему управления версиями со следующими критериями:

  • Новая версия, протокол которой несовместим с предыдущей, считается основной версией.
  • Новая версия с изменениями в REST API или базой данных или изменениями в конфигурации, не позволяющими перейти на более раннюю версию, считается второстепенной версией.
  • Если нет особых проблем, как указано выше, это новая версия исправления.

В 1.1.0 syncthing принял Go 1.12 и поэтому теряет совместимость с Windows XP и Windows Server 2003

1.2.0 вводит поддержку QUIC , теперь может создавать автоматические отчеты о сбоях и отказывается от небольших / фиксированных блоков. В версии 1.2.0 также прекращена поддержка связи с клиентами Syncthing, работающими под управлением версии 0.14.45 или старше.

1.8.0 добавляет экспериментальную опцию папки, которая позволяет пользователям указывать, как изменения файлов должны сохраняться в файловых системах с копированием при записи , а также добавляет поддержку пробивки отверстий TCP.

В версии 1.9.0 появилась опция , которая позволяла пользователям отключать недавно добавленную обработку файловых систем без учета регистра.

Версия 1.10.0 дала пользователям возможность переключать, хотят ли они, чтобы IP-адреса локальной сети транслировались в глобальную сеть обнаружения.

Как работал портфель

Вот как бы вы использовали портфель:

Во-первых, вы бы храните портфель на устройстве, которое путешествует с вами. Например, если у вас есть ноутбук, вы можете хранить портфель где угодно на ноутбуке. Если бы у вас был настольный компьютер, вы могли бы поместить портфель на дискету и взять ее с собой домой.

Вы можете переместить объект «Мой портфель» с рабочего стола на дискету или щелкнуть правой кнопкой мыши в любой папке и выбрать «Создать»> «Портфель», чтобы создать новый.

Вы можете перетащить любые важные файлы, которые хотите взять с собой, в портфель. Например, если у вас есть важные документы, хранящиеся на сетевом файловом сервере вашего рабочего места, вы можете перетащить их в портфель на своем ноутбуке. Или, если у вас были какие-то файлы, которые вы использовали на настольном ПК на рабочем месте, вы могли бы перетащить их в портфель на своей дискете.

Вы также можете перетащить целые папки в портфель, и Windows синхронизирует эти папки.

Теперь вы можете отключить свой ноутбук от сети или удалить дискету и перенести ее на другой компьютер. В портфеле на ноутбуке или на дискете были копии всех файлов, которые вы кладете в портфель. Вы можете просматривать их в автономном режиме и даже вносить изменения. Вы просто открыли портфель, а затем открыли файлы внутри.

Windows относилась к портфелям как практически к любой другой папке. Вы можете открыть файл прямо из портфеля и сохранить его прямо в портфеле.

Позже вы вернетесь к работе и подключите свой ноутбук к локальной сети на рабочем месте или вставите дискету в настольный компьютер. Чтобы синхронизировать изменения, вы должны открыть портфель и нажать кнопку «Обновить все» на панели инструментов. Любые изменения будут синхронизированы. Например, если вы редактировали файлы в портфеле, ваши изменения будут синхронизированы с исходным расположением файла. Если файлы в сети вашего рабочего места изменились, копии в вашем портфеле будут обновлены.

Вы также можете использовать кнопку «Обновить выбранное», чтобы обновить только несколько файлов. И, как бы вы это ни сделали, вам будет предложено выбрать, какие файлы вы хотите обновить, чтобы не было ошибок.

В отличие от Dropbox, вы не могли синхронизировать файлы на нескольких разных компьютерах с помощью портфеля. Содержимое портфеля можно было синхронизировать только с одним местом — вот и все. Итак, пока вы были вдали от рабочего места, идея заключалась в том, чтобы работать только с файлами, хранящимися в портфеле, а не вытаскивать их из портфеля или пытаться синхронизировать их в другом месте.

Как настроить синхронизацию с мастером

Как и у большинства мастеров, этот процесс довольно прост. Сначала нажмите кнопку «Создать новую синхронизацию» и назовите пару папок — выберите что-нибудь уникальное и описывающее, что вы будете синхронизировать. В этом примере я настраиваю пару папок для снимков экрана.

Затем вы добавите облачный аккаунт. FolderSync поддерживает большинство популярных сервисов, таких как Dropbox, Google Drive, Amazon Cloud Drive, Box, OneDrive и некоторые другие. Нажмите кнопку «Добавить учетную запись» и выберите учетную запись, которую вы хотите добавить, после чего начнется процесс настройки.

Как и в случае с парами папок, первое, что вам нужно сделать, это выбрать имя. Я бы не стал делать это конкретным для действия, поскольку в конечном итоге вы могли бы добавить разные пары папок, которые синхронизируются с одной и той же службой, — вместо этого я обычно просто даю ей то же имя, что и настраиваемую службу. Например, для Google Диска я называю его просто «Диск».

Оттуда вы просто введете учетные данные своего облачного хранилища, нажав кнопку «Аутентифицировать учетную запись». После входа в систему не забудьте нажать кнопку «Сохранить» в правом нижнем углу, иначе вся введенная вами информация будет удалена, и вам придется начинать заново.

После выбора учетной записи нажмите «Далее», чтобы выбрать тип синхронизации. Здесь есть три основных варианта:


  • В локальную папку:

    Это извлекает данные из папки в вашем облачном хранилище и передает их на устройство Android.

  • В удаленную папку:

    Это перемещает данные с устройства Android в папку в вашем облачном хранилище.

  • Двусторонний:

    Это обеспечивает синхронизацию данных между службой и устройством.

В этом примере мы собираемся создать пару папок, которая передает все снимки экрана с устройства Android на Google Диск, поэтому мы выберем вариант «В удаленную папку».

На следующем экране вы выберете, какую папку синхронизировать и куда ее синхронизировать. Параметр «Удаленная папка» позволяет выбрать папку из облачного хранилища — просто коснитесь пустой области, чтобы открыть средство выбора папок. Найдя папку, просто нажмите зеленую галочку в правом нижнем углу. Если вам нужно создать удаленную папку, вы можете сделать это со знаком «плюс» в правом верхнем углу.

Процесс точно такой же для локальной папки, но на этот раз вы выберете на своем устройстве папку, которую хотите синхронизировать. В этом примере мы синхронизируем папку со снимками экрана, которая находится в разделе «Изображения / Снимки экрана» на нашем телефоне. Когда вы закончите, нажмите кнопку «Далее».

Следующий и последний экран мастера позволяет вам управлять параметрами запланированной синхронизации. Если вы решили настроить синхронизацию по расписанию, просто установите флажок «Использовать синхронизацию по расписанию» и выберите нужный интервал. Здесь есть множество вариантов, от коротких интервалов, например «каждые 5 минут» до «каждые 12 часов», а также ежедневных, еженедельных, ежемесячных и расширенных параметров. Если вы выберете «расширенный» вариант, вы можете указать точные дни и время для синхронизации приложения.

Это конец мастера — теперь ваша пара папок должна быть настроена. Чтобы получить дополнительные возможности, такие как мгновенная синхронизация, вам придется вручную отредактировать пару папок.

Технология

Syncthing написан на Go и реализует собственный, столь же бесплатный протокол обмена блоками.

Syncthing — это облачная модель BYO , в которой пользователи предоставляют оборудование, на котором работает программное обеспечение. Он поддерживает IPv6 , а для тех, кто работает в сетях IPv4, предлагается перфорация и ретрансляция NAT. Устройства, подключающиеся друг к другу, требуют явного утверждения (если только не используется функция Introducer), что повышает безопасность сетки . Все данные, независимо от того, передаются ли они напрямую между устройствами или через ретрансляторы, шифруются с помощью TLS .

Конфликты обрабатываются путем переименования старого файла с суффиксом «синхронный конфликт» (вместе с отметкой времени и даты), что позволяет пользователю решить, как управлять двумя или более файлами с одинаковым именем, которые были изменены между синхронизациями. GUI Wrappers могут использовать эти файлы, чтобы предоставить пользователю метод разрешения конфликтов, не прибегая к ручной обработке файлов.

Эффективная синхронизация достигается за счет сжатия метаданных или всех передаваемых данных, повторного использования блоков и облегченного сканирования измененных файлов после вычисления и сохранения полного хэша . Syncthing предлагает типы папок только для отправки и только для получения , в которых обновления с удаленных устройств не обрабатываются, различные типы управления версиями файлов (мусорная корзина, простое или поэтапное управление версиями, а также передача управления версиями внешней программе или сценарию). ) и шаблоны игнорирования файла/пути. Два разных SHA256В настоящее время поддерживаются реализации хеширования, более быстрая из которых будет использоваться динамически после краткого теста производительности при запуске. Перемещение и переименование файлов и папок выполняется эффективно, Syncthing интеллектуально обрабатывает эти операции, а не повторно загружает данные с нуля.

Burp

Автор на своём сайте целый раздел написал на тему того, зачем он начал разрабатывать Burp, если есть такая замечательная Bacula, которой он сам пользовался. Если кратко — Бакула слишком сложная для простых задач. Он решил написать что-то похожее, но значительно проще.

Burp написан на языке C с использованием librsync (значит синхронизирует файлы быстро) и имеет клиент-серверную архитектуру. Сервер ставится на linux, клиенты есть под linux, windows, mac. Разрабатывается активно уже в течении более чем 10-ти лет.

Burp поддерживает создание репозиториев для бэкапа, дедупликацию, шифрование, сжатие, планирование, оповещения и т.д. В общем, полноценная система бэкапа. Умеет выдавать свой статус в json, можно разворачивать с помощью ansible, есть готовые роли. Так что с молодёжностью все в порядке, несмотря на то, что проект достаточно старый.

Отдельный персонаж написал веб интерфейс для Burp. Живет тут — https://git.ziirish.me/ziirish/burp-ui.

Любопытная система бэкапа. Мне приглянулась в первую очередь тем, что она на базе rsync сделана, плюс файлы хранятся в открытом виде. По бэкапам можно тем же find лазить при желании, если они не зашифрованы.

Понравилась статья? Поделиться с друзьями:
React System
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: