понедельник, 8 сентября 2014 г.

Используем BitTorrent Sync или чем он может быть полезен?

Сегодня вечером вообщем-то планировалось написать немного другой пост, но т.к. обстоятельства сложились против меня, сегодня мы с вами рассмотрим что-то отвлеченное от околомобильной тематики (а то все телефоны, да планшеты). Большинство из вас в курсе что такое 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 в [email protected] (т.к. только у этого файлового хранилища бесплатно раздаются гигантские объемы, не знаю как сейчас, но какое-то время назад у них можно было получить до 1 Tb (!) места), а с появлением BTSync - проблема и вовсе решилась. Все данные автоматически синхронизируются между несколькими домашними ПК и парой рабочих. Так что даже в случае глобального катаклизма - что-нибудь да уцелеет )

Полезные ссылки по теме:

3 комментария :

  1. Видимо я пока сам нахожусь под некоторым впечатлением от BTSync ... пока ходил в голове возник еще один интересный вариант его использования. Область банальна. Сейчас у каждого есть свой Android смартфон, ну и каждый туда чего-то иногда да снимает. Понятно что есть Google+ (Фото) с которым можно синхронизировать все фото на автомате. А если не хочется хранить свои личные данные на серверах Google? Тогда на помощь, опять же может прийти BTSync. Создаем шару на телефоне, в качестве узла синхронизации настраиваем домашний ПК ... и все фотки, видео и прочий контент автоматически синхронизируется с ним, когда телефон находится в зоне действия WiFi. Профит )) (правда это пока лишь идея, на практике, честно говоря я такую схему не тестировал)

    ОтветитьУдалить
  2. у IOS такая функция с рождения)))

    ОтветитьУдалить
    Ответы
    1. Синхронизация с любым другим устройством через P2P?

      Удалить