Git Product home page Git Product logo

Comments (27)

VuzzyM avatar VuzzyM commented on July 17, 2024 1

Libtorrent+bep29 vs Anacrolix
imgonline-com-ua-twotoone-c9j68QtzyR

from torrserver.

YouROK avatar YouROK commented on July 17, 2024

Я в курсе про libtorrent

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

Я в курсе про libtorrent

Это не libtorrent, это просто анакроликс с авторскими правками

from torrserver.

YouROK avatar YouROK commented on July 17, 2024

Ок гляну

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

Ок гляну

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

https://github.com/ElementumOrg/lt2http

@YouROK Что вы скажете об этом проекте?

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

@YouROK http://localhost:65225/swagger/ui
Есть api

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

@YouROK https://github.com/ElementumOrg/lt2http Это не библиотека, а приложение.

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

@YouROK Я поговорил с разработчиком и насколько я понял, l2http(Libtorrent) возможно реализовать, здесь также используется http api.

l2http был реализован для упрощения кодирования из libtorrent-go - https://github.com/ElementumOrg/libtorrent-go

Слова одного из разработчиков:

резюмируя:

  1. python часть это сам коди аддон plugin.video.elementum - он общается с коди через питоновские библиотеки коди, а с elementum через http api предоставляемое elementum'ом.

  2. elementum это go демон, который общается с коди через http api предоставляемое plugin.video.elementum'ом, а торренты качает использую libtorrent-go.

  3. libtorrent-go это так сказать "манифесты" на языке swig, которые во время сборки генерируют промежуточный go (https://pkg.go.dev/cmd/cgo) и c++ код для связи golang c libtorrent. сгенерированный код который используется в elementum, как в примере выше (https://github.com/elgatito/elementum/tree/master/bittorrent).
    если хочется посмотреть на этот код (вероятно это будет то, что вы имели ввиду под api) - то вот как можно это сделать: elgatito/plugin.video.elementum#712 (comment)

  4. lt2http это отдельный, плагино-независимый демон, написанный на c++, который предоставляет http api, через которое можно давать команды ему на скачивание торрентов, получение их списка, стриминг файла из торрента.

  5. к lt2http есть "запускалка при старте" внутри коди, в виде коди аддона - https://github.com/ElementumOrg/service.lt2http

Слова одного из разработчиков:

И если чисто технически - мне кажется использовать libtorrent-go так себе затея, от него много проблем в коде, паники вылезают много где, сложно писать код, так как он пишется для автосгенерированной прослойки (см ссылку выше).
И версия libtorrent-go используемая в elementum работает со старой версией libtorrent (1.1).
Та, что вы скинули, использует 1.2 - не плохо, но уже есть и 2.0. И если её автор перестанет её обновлять, то опять же риск остаться со старой версией libtorrent.

В общем, по этим причинам автор elementum'а и написал lt2http(Libtorrent), чтобы попробовать перевести elementum на него.

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

@YouROK

Я сказал почти все подробности выше :), относящиеся к Libtorrent-go и l2http на c ++.
Даже пример реализации Libtorrent-go или l2http через http api.

Выбор за вами, у Anacrolix есть проблемы с частными подключениями, с воспроизведением фильмов назад, и многое другое...

у torrserve есть веб-сайт 10-го уровня, почему бы не иметь сервер 10-го уровня :).

Да, знаю, работа тяжелая, но результат тоже потрясающий.

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

@YouROK Забыл сказать, самый стабильный и обновляемый libtorrent-go это: https://github.com/i96751414/libtorrent-go

from torrserver.

YouROK avatar YouROK commented on July 17, 2024

Я тебя понял, но пока не очень хочется переходить на либторрент. На днях Цыник попробовал последний движок от Анакролиса, и он показал хорошие результаты, по поводу скорости и спама подключений

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

Я тебя понял, но пока не очень хочется переходить на либторрент. На днях Цыник попробовал последний движок от Анакролиса, и он показал хорошие результаты, по поводу скорости и спама подключений

@YouROK
мне также ответил anacrolix и сказал что решил проблему с kinozal.tv. Вы можете это проверить?
anacrolix/torrent#462 (comment)

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

@YouROK Теперь сиды находит с кинозал, тестировал на версию 101.ne.

Вы можете посмотреть здесь https://gitlab.com/axet/libtorrent/-/blob/master/lpd.go? здесь реализовано bep 14 local peers discovery. Это анакроликс, только модифицированный автором, и если это может быть реализовано в torrserver.
Bep14 не реализован в Anacrolix.

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

Я тебя понял, но пока не очень хочется переходить на либторрент. На днях Цыник попробовал последний движок от Анакролиса, и он показал хорошие результаты, по поводу скорости и спама подключений

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

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

@YouROK https://github.com/martintrojer/mtorrent-go
Я наткнулся на этот проект, он основан на Libtorrent Go, исходник старый, но это тот же Libtorrent-go, по крайней мере здесь Libtorrent-go не имеет отношения к elementum.

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

@YouROK Прихожу с новой информацией, может это поможет. Спасибо за ваше терпение

Libtorrent-go - это проект, содержащий привязки go (сгенерированные SWIG) для libtorrent (https://github.com/arvidn/libtorrent). Поэтому api можно найти в документации по проекту libtorrent.

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

@YouROK
Привет.

Подскажите пожалуйста, с какими проблемами вы столкнулись при внедрении Libtorrent-go?

Мне нужна как можно более четкая информация

from torrserver.

YouROK avatar YouROK commented on July 17, 2024

Дошел до того что смог собрать сам https://github.com/i96751414/libtorrent-go и https://github.com/i96751414/torrest
Но что там собирается не понял, так как оно все в докерах идет. А что там внутри нужно разбираться

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

Дошел до того что смог собрать сам https://github.com/i96751414/libtorrent-go и https://github.com/i96751414/torrest
Но что там собирается не понял, так как оно все в докерах идет. А что там внутри нужно разбираться

@YouROK
Здесь сказано что Libtorrent-go можно запустить без докера. И еще как можно увидеть код c++ во взаимодействии с Go. И как с ним можно работать.

elgatito/plugin.video.elementum#712 (comment)

elgatito/plugin.video.elementum#712 (comment)

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

@YouROK
libtorrent-go это библиотека, её нельзя запустить.
Собрать (скомпилировать) её можно в свою систему напрямую.

В
https://github.com/ElementumOrg/libtorrent-go/blob/master/README.md

Есть шаг:
(Optionally) Build locally without Docker (for local development, for example) для дополнительной информации

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

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

from torrserver.

YouROK avatar YouROK commented on July 17, 2024

Еще раз, я все собрал. Все это в докере. Но как там чего в докере происходит с помощью скриптов, я не разобрался

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

Еще раз, я все собрал. Все это в докере. Но как там чего в докере происходит с помощью скриптов, я не разобрался

@YouROK
Посмотрите исходный код Makefile, плюс репозитории с самими компиляторами могут быть полезны для общего понимания (там же в GitHub).
Ну и соберите без докера библиотеку, как описано в шаге, который я написал ранее.

В
https://github.com/ElementumOrg/libtorrent-go/blob/master/README.md

Есть шаг:
(Optionally) Build locally without Docker (for local development, for example)

Плюс еще поможет эта тема.
elgatito/plugin.video.elementum#712 (comment)

from torrserver.

tsynik avatar tsynik commented on July 17, 2024

imho это бесcмысленный тред. VuzzyM - если тебе интересна тема интеграции libtorrent в торрсервер - разбирайся сам и приходи с готовым решением. А учить разработчиков как собирать библиотеки, когда сам слабо понимаешь - не нужно.

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

imho это бесcмысленный тред. VuzzyM - если тебе интересна тема интеграции libtorrent в торрсервер - разбирайся сам и приходи с готовым решением. А учить разработчиков как собирать библиотеки, когда сам слабо понимаешь - не нужно.

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

я лично поддерживаю любой проект ,
например сколько issue я для anacrolix сделал.

Еще один проект, который вот-вот должен был умереть был elementum, когда появился kodi 19, он был написан на python 3, но elementum на python2 и не был совместим с kodi 19, я вместе с vlmaksime адаптировал elementum с python 3. Теперь оригинальный разработчик elementum продолжает развитие elementum.

Я не хотел этого говорить, но иногда лучше сказать правду.

Я даже пожертвовал деньги другому опытному разработчику Libtorrent, чтобы он объяснил некоторые вещи о libtorrent, чтобы помочь проекту torrserver.
@tsynik

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

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

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

@YouROK У YouROK есть свое мнение, он может закрыть любую issue. Если вы считаете то что сделал бесполезно, можете закрыть тему. Жду ответа.

from torrserver.

VuzzyM avatar VuzzyM commented on July 17, 2024

Еще раз, я все собрал. Все это в докере. Но как там чего в докере происходит с помощью

@YouROK
Все что я написал это простое мнение, предложение.

Насколько я понимаю, надо работать без докера, надо работать локально. С помощью swig. Приведение структур C++ в Golang с использованием библиотеки SWIG задокументировано в документации SWIG-Golang http://www.swig.org/Doc2.0/Go.html . И вроде после в докере запустить, протестировать.

например без докера, взято из документации Libtorrent-go:
make local-env CROSS_TRIPLE=x86_64-linux-gnu
make re TARGET_OS=linux TARGET_ARCH=x64 CROSS_ROOT=local-env

Это все что я должен был сказать, спасибо за понимание.

from torrserver.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.