Существует такой проект sparkleshare, созданный с целью создать аналог Dropbox на полностью свободной основе. Программа написана на mono поэтому кросплатформеная, и в отличии от Dropbox позволяет создать свой сервер для синхронизации папок на различных устройствах. В своей основе она использует GIT, и SSH для шифрованного соединения клиентов.
Программа устанавливается очень просто, для начала на сервере нужно установть git на вашем устройстве которое будет выполнять роль сервера, для этого выполняем команды:
Теперь на устройстве клиенте следует сгенерировать ssh ключ доступа к нашему серверу:
Установка самого сервиса происходит следующим образом, сначала нужно скачать конфиг для репозитария Fedora или для своего дистрибютива (для Windows просто качаем инсталятор):
Потом следует установить саму программу:
Теперь следует запустить sparkleshare на клиенте, выберите иконку программы в главном меню в разделе интернет или введите название программы, если вы используете GNOME 3. Запустится мастер в полях которого следует указать наши данные:
Нажимаем на кнопку Sync и если все хорошо то мы увидим надпись что синхронизация успешно выполнена. По умолчанию синхронизируется каталог в домашней директории клиента ~/SparkleShare/, все что вы положите сюда будет синхронизировано с остальными клиентами подключенными к репозитарию подобным образом.
Существенный минус данного решения то что git плохо работает с большими файлами (больше 1G).
Программа устанавливается очень просто, для начала на сервере нужно установть git на вашем устройстве которое будет выполнять роль сервера, для этого выполняем команды:
# yum install git-core openssh-serverПосле установки данных сервисов нужно создать git репозитарий на устройстве-сервере:
# git init --bare /patch/to/repo.gitСозданный репозитарий должен находится на устройстве с достаточным количеством места (ибо места он будет занимать столь же, сколько будет весить файло которое будет сброшено в синхронизируемые папки плюс еще полстолько же на версификацию), также он должен быть доступен для пользователя от имени которого вы собираетесь синхронизировать устройства.
Теперь на устройстве клиенте следует сгенерировать ssh ключ доступа к нашему серверу:
# ssh-keygenИ передать его на сервер:
# ssh-copy-id username@servernameпопробуйте войти на сервер указав выбранные параметры:
# ssh username@servernameЕсли сервер вас пустил можно продолжать настройки, если же нет проверьте настройки сервиса sshd на сервере в папке /etc/ssh, возможно запрещен вход на сервер с помощью ключа.
Установка самого сервиса происходит следующим образом, сначала нужно скачать конфиг для репозитария Fedora или для своего дистрибютива (для Windows просто качаем инсталятор):
#wget http://repos.fedorapeople.org/repos/alexh/sparkleshare/fedora-sparkleshare.repoИ скопировать его в директорию конфигов репозитариев yum:
#sudo mv fedora-sparkleshare.repo /etc/yum.repos.d/
Потом следует установить саму программу:
#sudo yum install sparkleshare
Теперь следует запустить sparkleshare на клиенте, выберите иконку программы в главном меню в разделе интернет или введите название программы, если вы используете GNOME 3. Запустится мастер в полях которого следует указать наши данные:
Нажимаем на кнопку Sync и если все хорошо то мы увидим надпись что синхронизация успешно выполнена. По умолчанию синхронизируется каталог в домашней директории клиента ~/SparkleShare/, все что вы положите сюда будет синхронизировано с остальными клиентами подключенными к репозитарию подобным образом.
Существенный минус данного решения то что git плохо работает с большими файлами (больше 1G).