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 из-за нерешённых проблем со стабильностью отложена до следующего значительного выпуска, который выйдет не раньше конца года.

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

Код 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 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.