Сегодня вечером вообщем-то планировалось написать немного другой пост, но т.к. обстоятельства сложились против меня, сегодня мы с вами рассмотрим что-то отвлеченное от околомобильной тематики (а то все телефоны, да планшеты). Большинство из вас в курсе что такое BitTorrent, а вот с новым продуктом BitTorrent Sync и практическими аспектами его применения, наверное, мало кто знаком. Вот этим-то мы и займемся сегодня.
Для начала давайте обратимся к двум статьям, одна из них на Википедии, другая на Хабре (правда статья на Хабре старовата и рассказывает нам о бета-версии клиента, но от этого она не менее полезна).
BitTorrent Sync - это описание на Википедии, и собственно
BitTorrent Sync выходит в бету обещанная статья на Хабре.
"
BitTorrent Sync был разработан для того, чтобы решить фундаментальные вызовы синхронизации данных: ограничения на скорость, размер и пространство; ограничения на безопасность файла и зависимость от облачной инфраструктуры. С BitTorrent Sync можно синхронизировать файлы любых размеров. Трансферы происходят в зашифрованном виде, и информация не сохраняется на каком-либо сервере или в облаке. Ваше содержимое принадлежит вам, и остается на устройстве по вашему выбору.BitTorrent Sync был разработан для того, чтобы решить фундаментальные вызовы синхронизации данных: ограничения на скорость, размер и пространство; ограничения на безопасность файла и зависимость от облачной инфраструктуры. С BitTorrent Sync можно синхронизировать файлы любых размеров. Трансферы происходят в зашифрованном виде, и информация не сохраняется на каком-либо сервере или в облаке. Ваше содержимое принадлежит вам, и остается на устройстве по вашему выбору." (с)
Википедия
Т.е. фактически, BitTorrent Sync - это удобный клиент для синхронизации ваших данных между различными ПК и/или мобильными устройствами. Предположим у вас есть папка с информацией ... например ваш семейный фотоальбом или же договора, которые должны быть под рукой у всех сотрудников фирмы, в том числе и у работающих удаленно. Так или иначе возникает вопрос, каким образом передать ее содержимое (а объем может быть достаточно большим в любом из приведенных примеров) на другие ПК, имеющие доступ в интернет. И BitTorrent Sync как раз отвечает на этот вопрос. Для создания раздачи вы просто нажимаете кнопку "Add Folder" в BitTorrent Sync клиенте, выбираете тип этой раздачи Read Only или Read & Write и получаете уникальный ключ, который вы сообщаете всем людям с BitTorrent Sync c которыми вы хотите поделиться этой информацией.
Режим Read Only подразумевает то, что содержимое в этом случае передается "как есть", и другие пользователи не могут вносить изменения в содержимое. Read & Write подразумевает что мы поставили папку "на раздачу" и при добавлении (или изменении) пользователями контента в этой папке - его получат все участники раздачи. Т.е. есть у нас, например, PC1 и PC2, между которыми папка с фотографиями синхронизируется в режиме Read & Write. Если PC2 добавит в папку свои файлы - то они появятся на PC1, и наооборот. Если же раздача будет Read Only, то все изменения будут распространяться только с ПК автора раздачи. Также при создании "шары" (секрета) в дополнительных опциях можно указать время жизни ключа (Link will expire in xx days), количество его использований (Link can be used xx times) и опцию одобрения (Peers i invite must be approved on this device) устройств. Зачем все это нужно? Ну с первым я думаю вопросов нет. При создании раздачи у нас создается ключ (секрет), который мы можем опубликовать в интернете к примеру и по истечении указанного времени он станет недоступен.
Допустим мы хотим распространить beta-версию программы 50-ти пользователям бесплатно. Можно создать BTSync шару, указать что ключ может быть использован только 50 раз и вуаля ... 50 копий будет синхронизировано (отдано). Вообщем вариантов применения масса.
Теперь же по-поводу добавления раздачи, допустим у нас есть ключ (ключ к слову выглядит как строка вида XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX), мы нажимаем менюшку "Enter a key" в клиенте:
Указываем папку в которую будет сохраняться раздача (секрет) и все. После этого клиент автоматически ищет пиров у которых имеется данная раздача, соединяется с ними и начинает закачку. Т.е. фактически все происходит как при использовании обычного торрент-трекера, за исключением того что сам торрент-трекер (т.е. ресурс на котором хранятся торрент-файлы BitTorrent Sync'у не нужен), для получения контента достаточно лишь знать ключ. На данный момент клиент доступен на
множестве платформ и устройств, фактически представляя из себя чуть-ли не идеальное решение для синхронизации больших объемов данных. Посудите сами, сторонние сервера для хранения данных при этом не используются (не нужно платить какие-то средства хостинг компаниям), все данные принадлежат вам и только вам (т.е. хранятся только у вас и передаются непосредственно между узлами обмена напрямую), данные могут быть получены только клиентами (узлами синхронизации), знающими "секретный ключ". К тому же, можно одобрять тех или иных клиентов, т.е. если вы опубликовали ключ для раздачи в интернете и хотите контролировать скачивания вашего контента - вы можете установить соответствующую "галочку" при создании раздачи.
Вообщем BitTorrent Sync представляет из себя достаточно полезный инструмент из разряда must have. Все-таки на дворе 21-й век и P2P-технологии достаточно прочно вошли в нашу жизнь, так почему бы не использовать? Я вот, например, пока писал эту заметку успел скачать один объемный видеоурок, который показался мне интересным ... Ну собственно на этом все. Все что хотел рассказать - вроде сказал, ставьте лайки, делайте репосты, задавайте вопросы ... )
p.s. Что еще не сказал или не показал, при синхронизации можно посмотреть Peer List, т.е. все узлы синхронизации участвующие в "раздаче". Выглядит это примерно вот так:
Т.е. другие узлы синхронизации также видят имя вашего ПК в своем клиенте. При создании папки для синхронизации (секреты, раздачи) ее ключ можно скопировать в буфер обмена, отправить по почте или сгенерировать QR-код для последующего считывания мобильным устройств. Крайне удобно.
p.p.s. Как это все использую лично я? У меня есть достаточно увесистая папка с собственными проектами, которые до поры до времени backup'ились в облако вручную. Ничего особенно критичного там нет, т.е. у меня есть копии сделанные в разное время на съемных HDD и т.п., плюс я периодически делал Backup в Облако@Mail.Ru (т.к. только у этого файлового хранилища бесплатно раздаются гигантские объемы, не знаю как сейчас, но какое-то время назад у них можно было получить до 1 Tb (!) места), а с появлением BTSync - проблема и вовсе решилась. Все данные автоматически синхронизируются между несколькими домашними ПК и парой рабочих. Так что даже в случае глобального катаклизма - что-нибудь да уцелеет )
Полезные ссылки по теме: