Если вдруг захотелось сделать своё распределенное хранилище файлов по сети, и не хочется платить за это сторонним сервисам, а еще добавить безопасности и приватности - эта статья для тебя.
Основная идея
Будем использовать свои компьютеры для хранения данных и синхронизации по сети - через Интернет или локальную сеть. Да да, эта штука может работать и в обычной локальной сети без интернета.
Рекомендуется использовать не менее двух компьютеров, чтобы обеспечить резервирование данных на случай поломок.
Каждый компьютер выступает в роли сервера, который будет хранить файлы и передавать их на другие твои серверы.
А еще можно добавить свой смартфон для того, чтобы выгружать свои фоточки в твое хранилище когда тебе удобно.
Папка с файлами является обычной папкой в твоем компьютере: можно по прежнему работать с файлами, добавлять новые, удалять, копировать и ни в чем себе не отказывать. Разве что хранить там фильмы не совсем логично.
Программное обеспечение - Syncthing
Это бесплатная программа, которую можно поставить на Windows, Linux, iOS и Android. Она с открытым исходным кодом и поддерживается сообществом разработчиков с 2014 года.
Сайт - syncthing.net
Для Windows есть две версии, у которых немного отличается интерфейс: SyncTrayzor и Syncthing-GTK. По мне первая версия выглядит удобней: она добавляет иконку в панель задач и по клику открывает окно управления. Управление так же доступно через веб-браузер, потому что сам интерфейс по сути является небольишм веб-сайтом. Лайфхак: доступ к этому интерфейсу можно настроить и через VPN, например, на домашний компьютер из любой точки Мира, с защитой и плюшками. Но это уже для другой статьи.
Основное преимущество этой программы - её легко поставить и она не требует использование стороннего сервиса для работы. Никому ничего платить тоже не нужно. ТЫЖ ПРОГРАММИСТ тебе тоже не нужен, всё легко.
Вот как выглядит окно программы:
Папки - это директории на компьютере, которые можно передавать другим компьютерам или получать от них.
Это устройство - информация о твоем компьютере, занимаемой памяти, процессора и тд.
Удаленные устройства - компьютеры, с которыми есть настройка для передачи папок.
Для каждой папки можно настроить на какие компьютеры будут передаваться файлы, на какие передавать нельзя. Есть так же хорошая опция - "Только передавать" или "Только получать". Например, сделать папку phone-photos в которую загружать фотографии из телефона. При случайном удалении файлов на компьютере, они повторно загрузятся из телефона. При обычной настройке, удаленный на компьютере файл так же удалится на телефоне.
Как запустить
Просто скачай версию SyncTrayzor с официального сайта: https://syncthing.net/downloads/
и запусти установку. Далее просто запусти установленную программу.
Программа создаст папку по-умолчанию, её можно удалить. И создать свою. Например, создай папку Хранилище
Заполни только поле ID папки - это название папки, которое будет показываться на всех компьютерах.
Путь к папке автоматически заполнится, но его можно так же изменить.
и нажми Сохранить".
Вот как она будет выглядеть в общем списке папок:
Теперь нужно поставить программу на другой компьютер, точно так же - скачай, установи и запусти. Оба компьютера должны иметь доступ к Интернету или общей локальной сети. Открой меню Действия - Показать ID:
и скопируй полученный ключ, он выглядит так:
1VRXWSQ-PD1YF2U-VDR11DA-AAQMQFL-TJPROGT-FND3AWS-FADEEEL-L2HJBQM
на первом компьютере в блоке Удаленные устройства нажми Добавить удаленное устройство и введи скопированный со второго компьютера ID. В поле Имя устройства можешь назвать его, чтобы не путаться. Далее открой вкладку Предоставление доступа и поставь галку напротив нужных папок, которые следует открыть для второго компьютера. И нажми Сохранить.
Через несколько секунд (максимум через минуту) на втором компьютере появится уведомление с предложением принять папку от определенного компьютера, нажми ОК. Появится окно для подтверждения, выбери куда нужно сохранять файлы из этой папки. Рекомендуется имя папки не менять, чтобы не запутаться.
Вот и всё. Папка начнет копироваться на второй компьютер через несколько минут.
В настройках полученной папки на втором компьютере можно задать дополнительные опции:
Управление версиями - отличная штука для резервного копирования. Syncting будет автоматически сохранять предыдущую версию файла при получении нового, сохраняя версии. Например, твой дипломный проект будет иметь несколько скрытых копий в папке .stversions, она скрыта, но легко находится.
Во вкладке Дополнительно есть интересная опция Тип папки: Отправлять и получать, Только отправлять, Только получать. Подойдет для резервного копирования файлов с удаленного компьютера или телефона. Например, при опции Только получать все файлы будут копироваться на твой компьютер, а если их случайно удалить на этом компьютере или изменить, они повторно загрузятся.
Вот и вся настройка!
Рекомендую добавлять 2-3 устройства, на которых будут храниться файлы, в том числе с Управлением версиями. В таком случае даже поломка твоего компьютера не приведет к потере твоих важных файлов, они останутся на других компьютерах.
Использование в офисе
Программа отлично подойдет для обмена файлами между несколькими офисами или филиалами. Так же хорошо работает в рамках одной сети, так как можно гибко настраивать права доступа к папкам для разных сотрудников и иметь доступное Управление версиями. Если сотрудник случайно что-то удалит или поймает вирус-шифровальщик, то отменить изменения можно в пару кликов.
Шифрование и приватность
Все данные передаются по сети в зашифрованном виде, ни у кого не будет доступа к твоим файлам. Никто не знает, какие файлы ты будет передавать, так как шифруются все соединения. Только устройства, которым открыт доступ в программе могут получать и расшифровывать данные. Ознакомиться с принципом и доверием можно на сайте этого проекта.
Лично я использую эту программу больше 5 лет. Советую всем. В комментариях могу ответить на вопросы.