Приветствую ВСЕХ.
Короче, свершилось
ЧУДО. ещё и не там откуда ждали.
git libtorrent
Цитата:
lt_trackers is no longer a default extension libtorrent-1_0_5
arvidn committed on 10 Dec 2014
Цитата:
if (flags & add_default_plugins)
{
add_extension(create_ut_pex_plugin);
add_extension(create_ut_metadata_plugin);
add_extension(create_smart_ban_plugin);
- add_extension(create_lt_trackers_plugin);
}
Следовательно, флаг в коде делюги. Включающий дефолтные расширения, больше не включает lt_trackers. И специально разработчики также его не включают.
Цитата:
self.session = lt.session(lt.fingerprint("DE", *version), flags=1)
Следовательно, обмен трекерами больше не используется.
Да сегодня просто праздник какой-то. Код core.py deluge 1.13.12
Цитата:
Change log 1.3.12
* Enable lt extension bindings again for versions >=0.16.7 (this disables Tracker Exchange by default)
Код:
# In libtorrent versions below 0.16.7.0 disable extension bindings due to GIL issue.
# https://code.google.com/p/libtorrent/issues/detail?id=369
if deluge.common.VersionSplit(lt.version) >= deluge.common.VersionSplit("0.16.7.0"):
self.session = lt.session(lt.fingerprint("DE", *version), flags=0)
else:
# Setting session flags to 1 enables all libtorrent default plugins
self.session = lt.session(lt.fingerprint("DE", *version), flags=1)
По умолчанию для либторрент выше 0.16.7.0 не подгружаются расширения в том числе и lt_trackers.
Всё это очень и очень хорошо, но в виду отсутствия белого списка у рутрекера и отсутствия в user agent версии либторрент, Блек лист составить нельзя(ведь только он есть, куда нам до вайт листа, а то программист сказал что у нас нагрузки(с)))
Т.е. администрация скажет что вносить в блек лист просто нечего.
Существует 2 варианта.
Поныть что бы разработчики делюги добавили в релиз версию расширенный юзер агент содержащий версию либторрент.
Либо
Перекатится на 1.4.0
К сожалению 1.4.0 релиза пока не увидела и по моему её нет в тестинг репозиториях дебиан и убунту. Т.е. её можно собрать только из офф репы делюги. это делается в 2 комманды. А вот на сколько она стабильна хз.
Код:
self.settings.user_agent = "Deluge/%(deluge_version)s Libtorrent/%(lt_version)s" % \
{ 'deluge_version': deluge.common.get_version(),
'lt_version': self.get_libtorrent_version().rpartition(".")[0] }
UserAgent в deluge 1.4.0, помимо делюги, содержит ещё и версию либторрнет.
Код:
Deluge 1.4.0 Libtorrent 1.0.5
Юзер агент будет выглядить премерно так.
Т.е. запись в блек лист : Если присутствует Libtorrent && версия >= 1.0.5 -> Добро пожаловать.
Почитал предыдущие страницы. Оказывается это не новость. Но как я написал выше утекать не будет на версиях делюги 1.3.12 + либторрент >=0.16.17 и любая делюга + либторррент >=1.0.5
Выход для администрации написал.
Код:
код из 0.16.6
if (flags & add_default_plugins)
{
add_extension(create_ut_pex_plugin);
add_extension(create_ut_metadata_plugin);
-->add_extension(create_lt_trackers_plugin);<--
add_extension(create_smart_ban_plugin);
}
коре.пу
if deluge.common.VersionSplit(lt.version) >= deluge.common.VersionSplit("0.16.7.0"):
self.session = lt.session(lt.fingerprint("DE", *version), flags=0)
else:
# Setting session flags to 1 enables all libtorrent default plugins
self.session = lt.session(lt.fingerprint("DE", *version), flags=1)
В итоге утечка паскеев. Их проверка не работает для всех версий либторрент.