powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Bt -- новый open-souce фреймворк для BitTorrent
25 сообщений из 30, страница 1 из 2
Bt -- новый open-souce фреймворк для BitTorrent
    #39289449
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дорогие коллеги, хочу поделиться с форумом продуктом, который я пилил в течение последних двух месяцев. Наконец он начал приобретать законченный вид, и становится важным вопрос отзывов, пожеланий и критики. Приглашаю всех, кому интересна тема p2p обмена, ко мне на гитхаб: тынц

Если у кого-то есть мысли, прошу не стесняться, давайте поговорим в этой теме о возможных направлениях дальнейшего развития!
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39289475
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотреть в сорцы гитхаба - это не формат форума. ИМХО. Ты лучшей дай словесный брифинг.
Что тебя мотивировало к созданию? Как это использовать? В чем преимущество для нас
скажем в сравнении с Vuze?
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39289482
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том, что бы поисковики проиндексировали видимо.
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39289567
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКак это использовать?
Пока что могу предложить посмотреть описание и примеры использования на гитхабе. Заранее прошу прощения, если нужна версия на русском..

maytonВ чем преимущество для нас скажем в сравнении с Vuze?
Vuze это немного другая весовая категория. Насколько мне известно, это полновесный и непростой в изучении коммерческий клиент , единственная задача которого это качать торренты. С полноценным GUI, CLI и прочими фишками, которые нужны только разработчикам программ-клиентов для домашних пользователей. Т.е. наверно это правильный выбор, если стоит задача написать, к примеру, скачивалку для андроида. И есть $$$ на официальный саппорт (судя по форуму, количество багов прямо пропорционально функционалу, и правятся они весьма неспешно).

Bt же мне видится как альтернатива ttorrent, bitlet и т.д. -- простая в освоении библиотека , на базе которой можно быстро и без особых проблем собрать какую-нибудь корпоративную систему репликации или просто поэкспериментировать с новыми BEP'ами, поучаствовать в развитии p2p в целом. Т.е. целевая аудитория - это лайт-энтерпрайз и исследователи-энтузиасты :)
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39289580
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrei TBt же мне видится как альтернатива ttorrent, bitlet и т.д. -- простая в освоении библиотека , на базе которой можно быстро и без особых проблем собрать какую-нибудь корпоративную систему репликации или просто поэкспериментировать с новыми BEP'ами, поучаствовать в развитии p2p в целом. Т.е. целевая аудитория - это лайт-энтерпрайз и исследователи-энтузиасты :)
Спасибо.

По поводу репликации. Насколько это безопасно? Я так понимаю что нужно либо шифровать свой контент
либо устанавливать какие-то строгие правила для p2p. Либо мы получим эдакий себе секрет полишинеля.
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39289629
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПо поводу репликации. Насколько это безопасно? Я так понимаю что нужно либо шифровать свой контент
либо устанавливать какие-то строгие правила для p2p.
Если речь идет о репликации (и в целом обмену sensitive данными) по сетям общего пользования, то наверно нужно шифровать. Либо трафик на лету, либо раздаваемый контент. Стандартного похода тут нет, каждый клиент/либа реализуют это по-своему. В libtorrent, например, есть поддержка SSL с кодированием/декодированием на лету.

Если обмен идет внутри корпоративной сети или по VPN, то наверно можно ограничиться цифровой подписью torrent-файла с информацией о раздаче. От MitM торренты защищены автоматически -- в torrent-файле есть чексуммы для всех раздаваемых данных. На тему использования сертификатов и подписей есть стандартный BEP: http://www.bittorrent.org/beps/bep_0035.html. Вот его было бы неплохо реализовать
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39289644
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще вы можно сказать сходу попали в яблочко. Пожалуй две наиболее востребованные фичи сейчас - это DHT и security. В совокупности они обеспечивают полностью защищенный децентрализованный обмен данными. Для любительской библиотеки реализация этих двух моемнтов обеспечивает выход в "высшую лигу". Имхо :)
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39289844
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нелетает пока твой аскетичный example:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public static void main( String[] args ) throws Exception
    {
        // get metainfo file url and download location from the program arguments
        URL metainfoUrl = new URL("http://mirror.as43289.net/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1511.torrent");
        File targetDirectory = new File("out");

        // create default shared runtime without extensions
        BtRuntime runtime = BtRuntimeBuilder.defaultRuntime();


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" bt.BtException: Wrong number of chunk hashes in the torrent: too many
	at bt.data.DataDescriptor.init(DataDescriptor.java:118)
	at bt.data.DataDescriptor.<init>(DataDescriptor.java:38)
	at bt.data.DataDescriptorFactory.createDescriptor(DataDescriptorFactory.java:18)
	at bt.service.AdhocTorrentRegistry.lambda$getOrCreateDescriptor$1(AdhocTorrentRegistry.java:54)
	at java.util.Optional.orElseGet(Optional.java:267)
	at bt.service.AdhocTorrentRegistry.getOrCreateDescriptor(AdhocTorrentRegistry.java:51)
	at bt.Bt.createClient(Bt.java:85)
	at bt.Bt.lambda$build$0(Bt.java:73)
	at bt.Bt$LazyBtClient.initClient(Bt.java:118)
	at bt.Bt$LazyBtClient.startAsync(Bt.java:133)
	at mayton.App.main(App.java:35)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)


Чет не так?
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39290027
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, спасибо за потраченное время, вам повезло с раздачей, это досадный и коварный баг)
зафиксил
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39290066
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrei T, я потратил около 5 минут.

Вам тоже спасибо. Интересный софт и я попробую для себя придумать ему применение.
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39419068
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спешу поделиться новостями -- готовится к релизу версия 1.1.
Помимо нескольких важных доработок и багфиксов также добавлен модуль DHT:
https://github.com/atomashpolskiy/bt/tree/dht-experimental
Таким образом, качает теперь со свистом.
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39463034
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На днях зарелизил версию 1.2 с полной поддержкой стандартного протокола шифрования сообщений. Может быть актуально как для обычных торрент-качалок, так и для внутрикорпоративного использования.

Также на сайте появилось несколько новых туториалов по использованию либы:
1. настройка шифрования сообщений
2. как добавить в фреймворк кастомную фичу
3. за 10 минут пишем p2p мессенджер с кастомными сообщениями (не bittorrent)

Всем добра!
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39499129
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В версии 1.3 добавлены магнет-ссылки и, наконец-то, опубликован в maven central модуль для работы с DHT

Посмотреть демо
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39540678
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Апну тему :) С августа было два релиза, в т.ч. ряд значительных улучшений:
- поддержка NIO файловых систем (например, Jimfs, an in-memory file system for Java 7+ )
- события с колбэками и новые методы в клиентском API для более удобного управления загрузкой
- миграция на NIO селектор для приема сообщений от пиров, что существенно уменьшило расход ресурсов
- более удобный API для регистрации расширений

Более подробно здесь: http://atomashpolskiy.github.io/bt/
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39593906
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На днях зарелизил версию 1.6. Основное нововведение - Local Service Discovery, или поиск локальных пиров через мультикаст.

Также было сделано несколько минорных улучшений:
- возможность отключать стандартные расширения типа Peer Exchange и вышеупомянутого LSD
- автоматическое отключение шифрования, если используемая JRE не поддерживает длинные ключи
- оптимизация расхода памяти посредством переиспользования  send/receive буферов в новых соединениях

Велкам!
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39606972
kazeboba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, есть ли возможность осуществлять закачку частей торрента последовательно(для медиаплеера)? Если да, то как? Спасибо!
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39606994
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пиявки "скачивают" в том порядке, какой сложится на гуще раздающих.
Хочется упорядоченности "для медиаплеера" - используйте более другой протокол.
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39607021
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kazebobaПривет, есть ли возможность осуществлять закачку частей торрента последовательно(для медиаплеера)? Если да, то как? Спасибо!
Привет! Да, такая возможность есть. Надо в билдере клиента указать последовательный "селектор". Используя пример кода из основного README, получится примерно так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
// enable multithreaded verification of torrent data
Config config = new Config() {
    @Override
    public int getNumOfHashingThreads() {
        return Runtime.getRuntime().availableProcessors() * 2;
    }
};

// enable bootstrapping from public routers
Module dhtModule = new DHTModule(new DHTConfig() {
    @Override
    public boolean shouldUseRouterBootstrap() {
        return true;
    }
});

// get download directory
Path targetDirectory = new File(...).toPath();

// create file system based backend for torrent data
Storage storage = new FileSystemStorage(targetDirectory);

// create client with a private runtime
BtClient client = Bt.client()
        .config(config)
        .storage(storage)
        .magnet("magnet:?xt=urn:btih:af0d9aa01a9ae123a73802cfa58ccaf355eb19f1")
        .autoLoadModules()
        .module(dhtModule)
        .selector(SequentialSelector.sequential())
        .stopWhenDownloaded()
        .build();

// launch
client.startAsync().join();



Более реальный пример настройки и создания клиента можно посмотреть в CLI загрузчике и его README . В частности, CLI применяет последовательную закачку, если указан флаг -S . Очень удобно для просмотра фильмов параллельно с загрузкой
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39608070
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опубликована моя статья на habrahabr "Пишем свой BitTorrent клиент"
https://habrahabr.ru/post/350076/
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39712881
Фотография PPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrei T,

> на базе которой можно быстро и без особых проблем собрать какую-нибудь корпоративную систему репликации

А можно ссылку на простой пример синхронизации каталога?
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39713885
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример есть здесь
https://github.com/atomashpolskiy/bt/tree/master/examples/src/main/java/datasharing
Не хватает, правда, автоматического создания торрента для каталога. Пока что для этого нужно использовать какую-нибудь стороннюю тулзу.
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39742188
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм. Версии Google GUice надо поднять до 4.2.2 иначе не собирается. Ну по крайней мере у меня.
Код: xml
1.
<guice-version>4.2.2</guice-version>



И я-бы обратил внимание на Warnings во время package.
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39748713
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UP. Автор ты где? Есть парочка вопросов по DHT/Kademlia/P2P.
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39748816
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут
...
Рейтинг: 0 / 0
Bt -- новый open-souce фреймворк для BitTorrent
    #39748992
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Современные бит-торрент клиенты используют DHT/Kademlia для поиска раздающих?
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Bt -- новый open-souce фреймворк для BitTorrent
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]