LINUX.ORG.RU

Выпуск libtorrent 2.0 с поддержкой протокола BitTorrent 2

 


4

6

Представлен значительный выпуск библиотеки libtorrent 2.0 (известна также как libtorrent-rasterbar), предлагающей реализацию протокола BitTorrent, эффективную с точки зрения потребления памяти и нагрузки на CPU. Библиотека задействована в таких торрент-клиентах, как Deluge, qBittorrent, Folx, Lince, Miro и Flush (не путать с другой библиотекой libtorrent, которая используется в rTorrent). Код libtorrent написан на языке C++ и распространяется под лицензией BSD.

Выпуск примечателен добавлением поддержки протокола BitTorrent v2, в котором осуществлён уход от использования алгоритма SHA-1, имеющего проблемы с подбором коллизий, в пользу SHA2-256. SHA2-256 применяется как для контроля целостности блоков данных, так и для записей в индексах (info-dictionary), что нарушает совместимость с DHT и трекерами. Для магнитных ссылок на торренты с хэшами SHA2-256 предложен новый префикс «urn:btmh:» (для SHA-1 и гибридных торрентов используется «urn:btih:»).

Так как замена функции хэширования нарушает совместимость протокола (поле с хэшем 32 байта вместо 20 байт) разработка спецификации BitTorrent v2 изначально велась без оглядки на обратную совместимость и в состав были приняты другие существенные изменения, такие как использование хеш-дерева Меркла в индексах для сокращения размера torrent-файлов и проверки загруженных данных на уровне блоков.

Из изменений в BitTorrent v2 также выделяется переход к привязке отдельных хэш-деревьев к каждому файлу и применение выравнивания файлов по частям (без добавления добавочного заполнения после каждого файла), что позволяет избавиться от дублирования данных при наличии одинаковых файлов и упрощает выявления разных источников для файлов. Повышена эффективность кодирования структуры каталогов в торренте и добавлены оптимизации для обработки большого числа мелких файлов.

Для сглаживания сосуществования BitTorrent v1 и BitTorrent v2 реализована возможность создания гибридных torrent-файлов, которые включают помимо структур с хэшами SHA-1, индексы с SHA2-256. Указанные гибридные торренты могут использоваться с клиентами, поддерживающими только протокол BitTorrent v1. Ожидаемая в libtorrent 2.0 поддержка протокола WebTorrent из-за нерешённых проблем со стабильностью отложена до следующего значительного выпуска, который выйдет не раньше конца года.

>>> Подробности



Проверено: Shaman007 ()

Код libtorrent написан на языке C++ и распространяется под лицензией BSD.

А почему не на расте??? Быстро перепишите!!1

anonymous
()

Lince

Flush

Последний релиз в 2012-м году. Стоило ли их вообще упоминать?

Aceler ★★★★★
()

А в процессорах аппаратной обработки SHA разве нет, наподобие отдельных инструкций для AES «с точки зрения потребления памяти и нагрузки на CPU».

One ★★★★★
()

Короче посоны такой расклад. Нам тут в соседнем треде растолковали чо и как. В общем если ты пользуешься торрентами то ты лох и ваще биомусор. Так что расходимся – торренты больше не нужны.

anonymous
()
Ответ на: комментарий от mertvoprog

Нет, их надо беречь, ибо каждый поддерживающий торренты, а не drm важен

anonymous
()
Ответ на: комментарий от anonymous

Короче посоны такой расклад. Нам тут в соседнем треде растолковали чо и как. В общем если ты пользуешься торрентами то ты лох и ваще биомусор. Так что расходимся – торренты больше не нужны.

что серьёзно? а я не знал! скажите быстрее что сейчас нужно использовать вместо торрентов чтобы все с восхищением смотрели когда выхожу на улицу?!

anonymous
()
Ответ на: комментарий от anonymous

я вот качаю торрентом убанту. а у кого-то всё ещё горит

anonymous
()
Ответ на: комментарий от anonymous

Протокол же сломали, старые клиенты в новые раздачи не смогут. Это в торрент-файл можно сразу SHA1 и SHA256 положить (и то не факт, что все так делать будут), а магниты обычно тупо одним хешем распространяются.

mertvoprog ☆
()
Ответ на: комментарий от mertvoprog

а. ну может и перестанет. честно говоря, не жакло. у меня антивирь ругался даже на старые версии юторрента. мутная прога с мутными авторами. чем скорее сдохнет, чем скорее появится что-то более достойное.

хотя в последний раз я торрентами пользовался лет наверное 10 назад. так что мне, в общем, без разницы.

anonymous
()
Ответ на: комментарий от anonymous

чем скорее сдохнет

Ага, размечтались. Скорее виндузятники такой вой поднимут, что SHA-256 в итоге не взлетит. Пиров с µTorrent ведь до сих пор подавляющее большинство на любой попсовой раздаче? Мы в последние годы торрент-клиент очень редко запускаем, не следим, как там дела.

mertvoprog ☆
()

Deluge, qBittorrent, Folx, Lince, Miro и Flush

Совместима ли новая версия библиотеки со старыми версиями программ?

question4 ★★★★★
()
Ответ на: комментарий от mertvoprog

пф, вой я слышу только от линуксойдов, причем преимущественно на этом сайте. по любому поводу.

anonymous
()

Ждём в трансмиссии и на русракере.

Интересно, как сильно похудеет тот адовый терабайтный торрент с touhou-музыкой.

Radjah ★★★★★
()
Ответ на: комментарий от Radjah

терабайтный торрент с touhou-музыкой

боюсь представить себе этот ад. ещё больше боюсь представить себе, что в головах у тех, кто такое качает. а уж те, кто сидит на раздаче…

anonymous
()
Ответ на: комментарий от anonymous

offtop

С учётом того, что создатель Touhou - алконафт с многолетним стажем, эти вопросы вообще возникать не должны. :D

/offtop

Radjah ★★★★★
()

Выпуск примечателен добавлением поддержки протокола BitTorrent v2

Ага, библиотека с поддержкой есть, а клиента нет.

anonymous
()

Торренты не нужны! С их помощью распростаняется коронавирус! Забанить Гитхаб! Ваш РКН.

GP
()

теперь я смогу хентай качать не час, а 10 минут?

Kompilainenn ★★★★★
()

скажи мне просто, чё битторент наконец-то научился файлам ??
или так и останется монолитным говном, не могущим обменять идентичные файлы между разными раздачами ??
создателям за такую глупость надо было сразу настучать в единственную извилину…

pfg ★★★★★
()
Ответ на: комментарий от anonymous

причем преимущественно на этом сайте

Вот и не надо мерять его по какому-то маргинальному сайту.

mertvoprog ☆
()
Ответ на: комментарий от pfg

Справедливости ради, это стимулирует сохранять раздачи целиком. Если все будут выкачивать только те файлики, что им надо, то выживаемость раздач сильно понизится.

mertvoprog ☆
()

Это круто, но что с ней делать-то? Ни один клиент её пока не поддерживает.

Shamanoo7
()

miro.com is R.I.P. сдох миро по ходу flush трэкер и не разрешенный торрент https://habr.com/ru/post/72093/ https://zenway.ru/page/lince линс в репах убунты нету

Так же не написали про новые торрент клиенты в репах убунты, снапах, флэтпаках, правда там есть и мусорные клиенты, которые не очень.

Я зачастую использую консольную aria2 не знаю на чем она, но rtorrent точно был на другой либе.

В общем под Linux Deluge или qBittorrent вполне достаточно.

Хотя линс выглядит тоже довольно нормально.

zor1984qq ★
()
Ответ на: комментарий от mertvoprog

первый раз про такую глупость слышу. ты верно путаешь это с возможность неполного скачивания раздачи, которая есть имхо в любом современном клиенте.
я соверщенно про жругое,объясняю на пальтцах: в раздаче все файлики упаковываются в один поток, который режется на куски, для каждого куска считается хеш и значения которых выкладываются в сеть. т.е. раздача монолитна и если нескольких раздачах имеются идентичные файлики, к примеру рассово верная бибилотека msvcrt.dll которая присутсвует в мильонах раздач всякого софта, но качаться будет только с личей данной раздачи. иликакаянить известная мп3 которая присутствует в куче раздач, но никогда в них не найдутся из других раздач :( изто совершенно не будет уменьшать количестов личей на раздаче, а как раз наоборот еа порядки увеличит доступность файлов раздачи.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от pfg

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

Egor_ ★
()
Ответ на: комментарий от pfg

рассово верная бибилотека msvcrt.dll которая присутсвует в мильонах раздач всякого софта

Вы преувеличиваете распространённость этого кейса, чтобы закладывать его в протокол.

известная мп3 которая присутствует в куче раздач

Угу, и везде пожата по-разному, или хотя бы теги попорчены, так что дедуплицировать всё равно не получится. А ещё музыку часто архивами раздают, тут вообще, так сказать, тушите свет.

mertvoprog ☆
()
Ответ на: комментарий от Egor_

кроме хеша всей раздачи, имеется нарезка раздачи на блоки, заранее заданной длины и производится поиск по их хешам. т.е. дополнительные хеши кроме общего хеша раздачи и так уже есть :) просто нарезка сиих блоков будет более логично связана с содержимым раздачи.
юзерам полезно только быстро скачать раздачу, все остальное им до сиреневой лампочки. изменения в десятки килобайт юзер, имеющий террабайтные носители и многодесяткогигабайтные игры, даже не заметит. ну а сеть, обменивающая десятки гигабайт в секунду (выдавалась суммарная скорость обмена в статистике рутрекера раньше, сейчас жаль нет) твою нагрузку вообще посчитает за ошибку оценки скорости.

ты сильно путаешь с централизованными системами, в коих вся нагрузка падает на одну-несколько машин, которые можно захлебнуть трафиком :).
чтобы повесить поиск по DHT надо очень сильно постараться, да и то, отвалятся максимум десятки-сотни слабых машин из всей безграничной сети (тот же рутрекер показывается мильён личей в системе на данный момент) и это только рутрекер…

pfg ★★★★★
()
Ответ на: комментарий от mertvoprog

а у вас наверное маленький опыт в других сетях, того же dc++ где хеш привязан к файлу.

да и ладно, в юзвер-среде познания в вопросах

  • что такое битрейт
  • как битрейт соотносится с размером файла
  • как пережимать в другой битрейт

уменьшаются по экспоненте от одного пункта к другому.
даже в пору повального увлечения сд-грабингом, большинство знакомых просто брали готовую мптришку, чем возились с обработкой :)
вот как раз, когда музон архивами раздают множество составляющих этих архивов неуникальны и также живут копипастой из одного компутера в другой.

pfg ★★★★★
()
Ответ на: комментарий от pfg

кроме хеша всей раздачи, имеется нарезка раздачи на блоки, заранее заданной длины и производится поиск по их хешам. т.е. дополнительные хеши кроме общего хеша раздачи и так уже есть

сейчас, как я понимаю, функция «найти пира, у которого имеются данные с заданным хэшем» работает только для хэша раздачи
найти пира по хэшу блока нельзя
чтобы найти блок по его хэшу, ты должен сначала найти пира по хэшу раздачи и у этого пира запросить блок
если ты не знаешь, из какой раздачи твой блок, ты не найдёшь этот блок

Egor_ ★
()
Последнее исправление: Egor_ (всего исправлений: 1)
Ответ на: комментарий от pfg

того же dc++

Ну и где он теперь? ;) Актуальность уровня ФИДО.

чем возились с обработкой

А там и возиться нечего, испортить файл очень просто, достаточно открыть его в Windows Media Player, например (этим в целом софт от M$ грешит, изменять в открытых файлах всякие хедеры без спросу). Также некоторые программы для заливки музла в недодевайсы делают конвертацию «под капотом», никакой матчасти знать не надо.

mertvoprog ☆
()
Ответ на: комментарий от Egor_

список хешей всех блоков раздачи присутствует в торрент-файле. он опционален по стандарту, но всегда присуствует.
при получении магнит-ссылки торрент-клиент получает только хеш раздачи, по которому находит лича и запрашивает у него весь торрент-файл, а дальше действует стандартно.
хотя вполне согласен. первым делом ищут по хешу всей раздачи, ибо автоматически у владетелей хеша раздачи будут и хеши его блоков :) поиск по хешу блока в торрент-системе сильно бессмысленен, в этом есть большая глупость создателей.

pfg ★★★★★
()
Ответ на: комментарий от mertvoprog

Ну и где он теперь? ;) Актуальность уровня ФИДО.

месье, где торренты в современном мире ?? все давно сидят в онлайн-кинотеатрах и слушают музыку в онлайн-плеерах.
какой к лысой бабушке пиринг ?? какие скачивания ?? открытй порт + белый ип ?? зачем все это когда можно просто зайти на сайт и послушать/посмотреть ??
Актальность уровня топорнокамменых CD-плееров. :)

ну если пользоваться кривым инструментом то и к отстрелу ноги надо готовится. от мс медиаплеера даже лохи быстро уходили, настолько жуткая была вещчъ.
винамп + какойнить из видеоплееров. стандарт времен расцвета торрентов.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 4)
Ответ на: комментарий от pfg

поиск по хешу блока в торрент-системе сильно бессмысленен, в этом есть большая глупость создателей

да, бессмысленен и поэтому не реализован
хэши блоков используются только для проверки целостности блоков
нельзя найти пира по хэшу блока

Egor_ ★
()
Ответ на: комментарий от pfg

открытй порт + белый ип ??

Достаточно у одного сида. А с VPN ещё проще (и спокойнее).

можно просто зайти на сайт и послушать/посмотреть

Нельзя, многого онлайн нет. Ну и до сих пор не всех устраивает платить, даже копейки.

от мс медиаплеера даже лохи быстро уходили

А уходить поздно, файл-то уже испорчен ;) Да и запустить случайно эту говнину можно запросто (особенно если постороннего человека за комп пустить, не шарящего, что WMP говно).

винамп + какойнить из видеоплееров. стандарт времен расцвета торрентов

А если надо что-то больше тупо потребления трека (хотя бы такое), то локальные плееры и сейчас без вариантов. Крутили когда-нибудь скорость в аимпе, визуализации включали? ;)

mertvoprog ☆
()
Ответ на: комментарий от Egor_

:) и я о том же - мертворожденная и бессмысленная система , а вот если бы вместо хеша блока (подтверждение передачи отлично организуется и без этих хешей), был бы хеш отдельного файла, то поиск по этому хешу имел логичный смысл и большой прикладной плюс, опять же стоит глянуть в shareaza mldonkey dc++ и подобные сети.

pfg ★★★★★
()
Ответ на: комментарий от mertvoprog

пользователь пользуется имеющимся а не «ищет странного» :) чуть-чуть рубликов на одном из кучи сервисов и получаешь огромную структуированную библиотеку с блекджеком и полагающимся, где не надо мудрить с поиском - все муз.мейнстрим вот прям под руками, сам лезет новинками в ленту :)
ну чтож желание хозяина его закон :) недавно чудика встретил он в тырнетик ходит через w3m с отключенными скриптами, ибо за ним следят…

за десятки лет запускал wmp считанное количество раз, ну что ж это, как выше говорится, желание пользователя… тема вообще об другом.

иммитровать херовую технику на хорошей… ну что ж, as you wish master, кому-то нравится и пикассо, тема не про твои локальные желалки, а про надеюсь таки правильные улучшения в протоколе, надеюсь они не помрут.

pfg ★★★★★
()
Ответ на: комментарий от pfg

подтверждение передачи отлично организуется и без этих хешей

интересно, как?

вот представь, что раздача - один файл с фильмом на 20 Гбайт
и в сети есть один злобный пир, который специально высылает неправильный контент
благодаря хэш-суммам блоков, ты его забанишь получив от него всего 4Мбайта данных, а без этих хешей ты напрасно скачаешь несколько гигабайт

Egor_ ★
()
Ответ на: комментарий от pfg

пользователь пользуется имеющимся а не «ищет странного» :)

Странность субъективна, уж развлекательный контент-то — чистая вкусовщина. Это в доинтернетовские времена все попсу слушали, потому что что-то иное достать было сложно, сейчас простой народ куда прошареннее, обратно на попсу уже так просто не загнать.

за ним следят

В w3m тоже следят, по логам http-запросов.

надеюсь

Вот видите, даже сами сомневаетесь, что улучшение полезное ;) Стоит ради него, стало быть, совместимость ломать?

mertvoprog ☆
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.