The OpenNET Project

 
Поиск (теги):    НОВОСТИ (+) КОНТЕНТ WIKI MAN'ы ФОРУМ twitter

30.05.2015 10:07  Анонсирован GitTorrent для доступа к Git-репозиториям при помощи BitTorrent

Несмотря на децентрализованный характер Git, для первичного получения исходных текстов требуется сервер, занимающийся отдачей кода. Например, блокирование доступа или сбой в работе GitHub перекроет возможность загрузить код и вынудит искать зеркала, несмотря на то, что данный код может присутствовать в локальных git-репозиториях сотен и тысяч разработчиков. Крис Болл (Chris Ball), долгое время занимавший пост главного инженера проекта One Laptop Per Child, предложил использовать технологии BitTorrent для решения данной проблемы. Кроме общей концепции Крис подготовил и опубликовал под лицензией MIT прототип дополнения для git с реализаций транспорта, загружающего данные через BitTorrent, а также специальный демон, отдающий содержимое локального git-репозитория через BitTorrent.

Идея проекта достаточно проста - по аналогии, как BitTorrent позволяет сформировать распределённую сеть для хранения файлов, GitTorrent даёт возможность сформировать распределённую сеть для содержимого Git-репозиториев, отключение отдельных участников в которой не скажется на доступности данных, за счёт наличия в отдаче реплицированных копий. Для определения отдающих искомый репозиторий узлов и узла для отправки коммитов применяется DHT (распределённая хеш-таблица). Организованное при помощи DHT хранилище в формате ключ/значение используется как система для определения профиля пользователя и информации о том, какие у него имеются репозитории и свежие git-хэши изменений.

Начальное согласование соединения производится при помощи специального расширения BitTorrent. При обращении к узлу, на котором установлено данное расширение, создаётся специальный архив, включающий запрошенные git-объекты. На основании SHA1-хэша данного архива начинается его загрузка с использованием обычного BitTorrent и задействованием распараллеливания по сидам, которые имеют в раздаче аналогичный набор git-объектов. После загрузки и распаковки архива производится проверка подлинности git-объектов через верификацию цепочки коммитов в репозитории.

Вместо прямого обращения к GitHub по SSH пользователь может выполнить "git clone gittorrent://github.com/someuser/somerepo" и загрузить репозиторий от участвующих в его раздаче узлов при помощи BitTorrent. В случае использования имени хоста с репозиторием (github.com/someuser/somerepo) будет отправлен запрос к github.com и получен хэш последнего коммита в репозитории. После этого через распределённую хэш-таблицу будут выявлены узлы, которые содержат данный коммит. Затем, после соединения с одним из таких узлов и запроса у него списка необходимых файлов, будет сформирован архив с нужными коммитами и передан его хэш, на основании которого начнётся загрузка при помощи штатного BitTorrent.

Стадию обращения к GitHub для получения данных о коммитах можно исключить, указав при обращении SHA1-хэш владельца репозитория. Так как метод использования хэшей не слишком удобен, предусмотрена возможность регистрации читаемых имён, используя методы, применяемые для регистрации имён пользователей в Bitcoin. Для прямой отдачи своего репозитория через BitTorrent достаточно запустить gittorrentd. Возможно совершение не только операций fetch и clone, но и внесение изменений через операцию push. Синхронизация полученных коммитов между участвующими в раздаче узлами производится через отправку архивов с необходимыми git-объектами при помощи специального расширения протокола BitTorrent.

  1. Главная ссылка к новости (http://blog.printf.net/article...)
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: gittorrent, git, bittorrent
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 11:18, 30/05/2015 [ответить] [смотреть все]
  • –15 +/
    Какой-то геморой и костыль Проще держать зеркало своего основного репозитория и... весь текст скрыт [показать]
     
     
  • 2.7, Аноним, 12:27, 30/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    > Какой-то геморой и костыль.

    +1

     
     
  • 3.37, Аноним, 05:37, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    На третий день Зоркий Глаз заметил что для установки этой штуки сватается какой-... весь текст скрыт [показать]
     
  • 2.11, Crazy Alex, 13:49, 30/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +7 +/
    А зеркало чужого тоже будете держать, даже не зная, что он вам понадобится? Тут, как я понимаю, идея в  том, что те, кому не жалко - открывают доступ к своим клонам, при этом их имена/адреса клиенту знать не надо. В результате когда очередной идиот заблокирует гитхаб вы сможете получить доступ к тем проектам, которые склонировал кто-то, кто не поленился запустить этот сервис.
     
     
  • 3.15, Demo, 15:22, 30/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Зеркало как и основной репозитарий можно сделать доступным не только в инете, ... весь текст скрыт [показать]
     
     
  • 4.17, Аноним, 15:32, 30/05/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    кто бы сомневался RFC1149... весь текст скрыт [показать]
     
     
  • 5.55, Аноним, 16:54, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Слишком устарело -- хороший карриер не то что флешку, болванку со всем проект... весь текст скрыт [показать]
     
  • 4.20, Crazy Alex, 16:11, 30/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Можно Осталось только понять, как те, кто хочет склонировать основной репозитор... весь текст скрыт [показать]
     
     
  • 5.49, Demo, 11:42, 31/05/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    Кому действительно нужно 8212 узнают ... весь текст скрыт [показать]
     
  • 3.27, ФСИН, 21:57, 30/05/2015 [^] [ответить] [смотреть все]  
  • –5 +/
    И тебя заблокируют лет на 20!
    Без права переписки! xD
     
     
  • 4.30, Crazy Alex, 01:15, 31/05/2015 [^] [ответить] [смотреть все]  
  • –6 +/
    Я не имею дурной привычки жить в России
     
  • 3.38, Аноним, 05:39, 31/05/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Вот в чем я совершенно точно уверен - так это в том что я не побегу ставить node... весь текст скрыт [показать]
     
     
  • 4.50, Crazy Alex, 13:08, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Да не бегите, кто ж заставляет Другие найдутся Кстати, интерпретатор перла или... весь текст скрыт [показать]
     
     
  • 5.65, Аноним, 15:00, 01/06/2015 [^] [ответить] [смотреть все]  
  • +/
    Ога, будет как в i2p Когда придется двое суток ффтыкатЪ пока единственный пир н... весь текст скрыт [показать]
     
     
  • 6.73, Аноним, 20:34, 01/06/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Скорее, просто нормальные варианты, без дополнительных прибамбасов и библиотек... весь текст скрыт [показать]
     
  • 6.77, Crazy Alex, 23:21, 01/06/2015 [^] [ответить] [смотреть все]  
  • +/
    Учитывая, что 95 которые с виндами из разработчиков - веберы, то нода у них о... весь текст скрыт [показать]
     
     
  • 7.81, Аноним, 10:31, 02/06/2015 [^] [ответить] [смотреть все]  
  • +/
    Не мешайте чуваку демонстрировать свое ЧСВ.
     
  • 7.82, arisu, 10:41, 02/06/2015 [^] [ответить] [смотреть все]  
  • +/
    согласен, незачем но оно тянет за собой идиотскую ноду ... весь текст скрыт [показать]
     
  • 1.2, Аноним, 11:21, 30/05/2015 [ответить] [смотреть все]  
  • +/
    Это недо допилить, добавить туда распределенную сборку проектов на разрешивших э... весь текст скрыт [показать]
     
     
  • 2.4, Какаянахренразница, 11:23, 30/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +10 +/
    Какую сборку, куда, зачем? Это VCS, а не CI.
     
  • 1.3, Какаянахренразница, 11:21, 30/05/2015 [ответить] [смотреть все]  
  • +2 +/
    Э-э-э, а как пушить коммиты-то?

    Торрент протокол подразумевает, что качаемые порнофиль... то есть файлы не изменяются во времени. А в нормальном репозитории постоянно происходят изменения. Как по хэшу определять, чья версия репы самая свежая? Как сиды будут узнавать, что появился ещё один коммит? Как определять, куда пушить?

    P.S.: Мама, это я дурак или идея битгита такая?

     
     
  • 2.9, Аноним, 13:12, 30/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Пример из оригинала статьи git clone gittorrent 81e24205d4bac8496d3e13282c90e... весь текст скрыт [показать] [показать ветку]
     
  • 2.10, Crazy Alex, 13:45, 30/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Даже если никак - это всё равно интересная возможость
     
  • 2.14, bav, 15:21, 30/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Это ты дурак. Синкаются object-файлы. Они не меняются.
     
     
  • 3.25, Какаянахренразница, 20:24, 30/05/2015 [^] [ответить] [смотреть все]  
  • +4 +/
    > Это ты дурак. Синкаются object-файлы. Они не меняются.

    Понятно. Спасибо.

     
  • 2.33, Anono, 01:52, 31/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Версионный срез не меняется
     
  • 1.5, Аноним, 12:00, 30/05/2015 [ответить] [смотреть все]  
  • +10 +/
    One Git Per Child
     
     
  • 2.8, Аноним, 13:11, 30/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +6 +/
    One GitHub Per Child
     
  • 1.6, Аноним, 12:15, 30/05/2015 [ответить] [смотреть все]  
  • –1 +/
    Бред какой-то, седня точно не первое апреля?
     
  • 1.12, Аноним, 14:33, 30/05/2015 [ответить] [смотреть все]  
  • +1 +/
    Интересная идея В любом случае хуже от этого не будет Единственный минус это а... весь текст скрыт [показать]
     
  • 1.13, iZEN, 14:42, 30/05/2015 [ответить] [смотреть все]  
  • –4 +/
    Слабость Git на базовом уровне в том, что он не только сложный в применении, но ... весь текст скрыт [показать]
     
     
  • 2.16, bav, 15:23, 30/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Тем не менее ртуть все сильнее разлагается и пахнет ... весь текст скрыт [показать] [показать ветку]
     
  • 2.18, Аноним, 15:34, 30/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +10 +/
    > Слабость Git на базовом уровне в том, что он не только сложный в применении

    iZen ниасилил

     
  • 2.19, Аноним, 15:42, 30/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    И часто у тебя связь рвется?
     
     
  • 3.26, Аноним, 21:36, 30/05/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Не, этот аргумент не катит Неосиляторство 8212 это, конечно, глупость, но сч... весь текст скрыт [показать]
     
     
  • 4.31, Аноним, 01:39, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Ты понимаешь о каком объеме трафика идет речь, чтобы заморачиваться на докачку ... весь текст скрыт [показать]
     
     
  • 5.74, iZEN, 22:08, 01/06/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    Примерно 5 ГБ занимает скачанный на ZFS с включенным сжатием LZ4 объём локальног... весь текст скрыт [показать]
     
     
  • 6.75, Andrey Mitrofanov, 22:21, 01/06/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    CODE REPO SIZE REPO SIZE 613M git 2,7G... весь текст скрыт [показать]
     
  • 6.76, Andrey Mitrofanov, 22:25, 01/06/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    И кстати, Великий Космос внял твоим мольбам о докачке теперь для тебя есть git ... весь текст скрыт [показать]
     
  • 4.39, Аноним, 05:44, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Скачать большой проект 1 раз в жизни можно и на нормальном канале А докачивать ... весь текст скрыт [показать]
     
     
  • 5.51, Crazy Alex, 13:18, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    И скачать может быть проблематично вопрос - где именно вас застала нужда что-то... весь текст скрыт [показать]
     
     
  • 6.59, Аноним, 19:39, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Качать первый раз через rsync?
     
     
  • 7.60, user, 21:49, 31/05/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    тарбол с добавленым .git
     
  • 6.61, arisu, 23:47, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    бинари в гит этот 171 проект 187 надо закопать вместе с разработчиками, не... весь текст скрыт [показать]
     
     
  • 7.78, Crazy Alex, 23:26, 01/06/2015 [^] [ответить] [смотреть все]  
  • +/
    Что-нибудь вроде специфических шкур под заказчика - ещё и как ложится в репу - к... весь текст скрыт [показать]
     
  • 6.67, Аноним, 15:14, 01/06/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    Ну, понимаешь, качать какой-нить линуксный кернель целиком по GPRS - займет уйму... весь текст скрыт [показать]
     
     
  • 7.79, Crazy Alex, 23:42, 01/06/2015 [^] [ответить] [смотреть все]  
  • +/
    Да хрен с ней, с дельтой Хотя бы для полного clone сделали костыль - решилось б... весь текст скрыт [показать]
     
  • 2.32, Аноним, 01:41, 31/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    у iZen хобби позориться?
     
     
  • 3.40, Аноним, 05:45, 31/05/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну да Если не веришь - посмотри в его профайл и загугли А что еще ожидать от ... весь текст скрыт [показать]
     
     
  • 4.54, Аноним, 14:18, 31/05/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    ИМХА, он уже много лет оччень неплохо так троллит и ловит лулзы с очередных д Ар... весь текст скрыт [показать]
     
     
  • 5.56, chinarulezzz, 18:12, 31/05/2015 [^] [ответить] [смотреть все]  
  • +3 +/
    Изя, залогинься)
     
  • 5.62, arisu, 23:48, 31/05/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    увы, нет, не тролль он а просто дурак ... весь текст скрыт [показать]
     
  • 5.68, Аноним, 15:15, 01/06/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    > троллит

    Вы сделали несколько ошибок в слове "тормозит".


     
  • 1.21, Аноним, 17:07, 30/05/2015 [ответить] [смотреть все]  
  • +/
    Очень круто!
     
  • 1.28, anonymous, 23:13, 30/05/2015 [ответить] [смотреть все]  
  • +/
    Как уже достало неосиляторство. Всё уже давно есть: http://j16sdiz.github.io/egit-freenet/ При этом freenet приспособлен для гита замечательно, поскольку позволяет распространять связки ключ-блокданных, а приспосабливание торрента для этого - костыль, который обречён на провал, поскольку торрент нужен для выкачки целых архивов, а не одиночных файлов. Даже emule был бы лучше.
     
     
  • 2.29, Аноним, 00:28, 31/05/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Ты бы сам осилил осведомиться как о freenet, так и о сабже как следует Они вооб... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.34, anonymous, 02:40, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Давно есть безопасная распределённая сеть с key-value базой данных Давно уже пы... весь текст скрыт [показать]
     
     
  • 4.41, Аноним, 05:48, 31/05/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Имела жаба гадюку W пито W жабу-скрипта, во В смысле, вы серьезно полагаете... весь текст скрыт [показать]
     
     
  • 5.43, anonymous, 07:16, 31/05/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    А вы посмотрите сколько jvm проектов на том же github Думается мне, кто сам пиш... весь текст скрыт [показать]
     
     
  • 6.44, arisu, 07:51, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    отличный ответ действительно, какая разница javascript или java ... весь текст скрыт [показать]
     
     
  • 7.53, Crazy Alex, 13:21, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Он фринет имел в виду
     
     
  • 8.69, Аноним, 15:17, 01/06/2015 [^] [ответить] [смотреть все]  
  • +/
    Состояние фринета как бы намекает, насколько оно всем надо В результате все исп... весь текст скрыт [показать]
     
  • 5.52, Crazy Alex, 13:21, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    Если вы разрабатываете не на ноутбуке то 100 метров рантайма для программера - в... весь текст скрыт [показать]
     
     
  • 6.70, Аноним, 15:19, 01/06/2015 [^] [ответить] [смотреть все]  
  • +/
    Вот только если на каждое крапваре вгружать по 100 метров дребедени, которая еще... весь текст скрыт [показать]
     
     
  • 7.80, Crazy Alex, 23:49, 01/06/2015 [^] [ответить] [смотреть все]  
  • +/
    Я сам ни разу не фанат всего, что идёт мимо пакетного менеджера Но вот самих ра... весь текст скрыт [показать]
     
  • 4.58, Dmitry77, 19:24, 31/05/2015 [^] [ответить] [смотреть все]  
  • +/
    А подробности можно ... весь текст скрыт [показать]
     
     
  • 5.63, arisu, 23:54, 31/05/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    зачем тебе подробности от профана по его тексту видно, что он вообще ничего не ... весь текст скрыт [показать]
     
  • 5.64, Аноним, 05:16, 01/06/2015 [^] [ответить] [смотреть все]  
  • +/
    Зачем вам всякие невзлетевшие сферические кони, которые только теоретически в 1... весь текст скрыт [показать]
     
  • 4.66, Аноним, 15:08, 01/06/2015 [^] [ответить] [смотреть все]  
  • +/
    fixed... весь текст скрыт [показать]
     
  • 1.57, Dmitry77, 18:57, 31/05/2015 [ответить] [смотреть все]  
  • +/
    Теперь патенты не страшны - даже если технология запатентована, опенсорсный проект можно развивать, никто не сможет закрыть
     
     
  • 2.71, Аноним, 15:21, 01/06/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Только штатовские и еще некоторые разработчики для себя им пользоваться не смогу... весь текст скрыт [показать] [показать ветку]
     
  • 2.72, Аноним, 17:06, 01/06/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Кроме пиндосов и так никто не боится, такой бред как патенты на ПО существует то... весь текст скрыт [показать] [показать ветку]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2016 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by BSH TopList