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

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

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

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

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

Если обмен идет внутри корпоративной сети или по VPN, то наверно можно ограничиться цифровой подписью torrent-файла с информацией о раздаче. От MitM торренты защищены автоматически -- в torrent-файле есть чексуммы для всех раздаваемых данных. На тему использования сертификатов и подписей есть стандартный BEP: http://www.bittorrent.org/beps/bep_0035.html. Вот его было бы неплохо реализовать
...
Рейтинг: 0 / 0
10.08.2016, 13:16
    #39289644
Andrei T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bt -- новый open-souce фреймворк для BitTorrent
Вообще вы можно сказать сходу попали в яблочко. Пожалуй две наиболее востребованные фичи сейчас - это DHT и security. В совокупности они обеспечивают полностью защищенный децентрализованный обмен данными. Для любительской библиотеки реализация этих двух моемнтов обеспечивает выход в "высшую лигу". Имхо :)
...
Рейтинг: 0 / 0
10.08.2016, 16:27
    #39289844
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bt -- новый open-souce фреймворк для BitTorrent
Нелетает пока твой аскетичный 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
10.08.2016, 21:09
    #39290027
Andrei T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bt -- новый open-souce фреймворк для BitTorrent
mayton, спасибо за потраченное время, вам повезло с раздачей, это досадный и коварный баг)
зафиксил
...
Рейтинг: 0 / 0
11.08.2016, 01:22
    #39290066
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bt -- новый open-souce фреймворк для BitTorrent
Andrei T, я потратил около 5 минут.

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

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

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

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

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

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

Велкам!
...
Рейтинг: 0 / 0
25.02.2018, 15:49
    #39606972
kazeboba
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bt -- новый open-souce фреймворк для BitTorrent
Привет, есть ли возможность осуществлять закачку частей торрента последовательно(для медиаплеера)? Если да, то как? Спасибо!
...
Рейтинг: 0 / 0
25.02.2018, 17:28
    #39606994
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bt -- новый open-souce фреймворк для BitTorrent
Пиявки "скачивают" в том порядке, какой сложится на гуще раздающих.
Хочется упорядоченности "для медиаплеера" - используйте более другой протокол.
...
Рейтинг: 0 / 0
25.02.2018, 20:15
    #39607021
Andrei T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bt -- новый open-souce фреймворк для BitTorrent
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
27.02.2018, 18:46
    #39608070
Andrei T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bt -- новый open-souce фреймворк для BitTorrent
Опубликована моя статья на habrahabr "Пишем свой BitTorrent клиент"
https://habrahabr.ru/post/350076/
...
Рейтинг: 0 / 0
04.10.2018, 11:28
    #39712881
PPA
PPA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bt -- новый open-souce фреймворк для BitTorrent
Andrei T,

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

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



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


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