IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2023/01/16
~R4SAS
~orignal
~villain
&N00B
+relaybot
Leopold
Most2_
Nausicaa
Nikat
Opax
Vort
WayBest
acetone
anon
anontor
b3t4f4c3
banona_
fidoid
grimreaper
itsAMe
karamba_i2p
lex
mauzer
onon
onon1
poriori
profetikla
qend
r00tobo
soos
teeth
typhoon_
uis
un
weko
whothefuckami_
колдоёбина
колдырь
R4SAS orignal: Timestamp.cpp лезет в m_Config
R4SAS через хедер
orignal ну так ntp оттуда читает
orignal а в чем проблема?
orignal в все понял
orignal в том тесте надо
orignal потому что Blinding зависит от даты
` 18%
acetone Вектор атаки: разместить на сайте <a href> с ссылкой вида: domain.i2p/?i2paddresshelper=ZALUPA&update=true. Это позволит злоумышленнику заменить дестинейшн домена на свой, при том что неотпытый пользователь вообще ничего не поймет
relaybot 13trusishka: Ой ой ой
relaybot 13trusishka: А ты так то дело говоришь
weko Согласен, проблема
relaybot 13trusishka: У меня недогрузило возможно поэтому вопрос
weko На уровне фишинга, но можно поправить большим предупреждающим сообщением
acetone weko: если убрать &update=true, будет хоть какое-то предупрежние типа "уже есть, обновить?", но если в адресе есть флаг согласия, i2pd перезаписывает адресбук
relaybot 13trusishka: Что м этого получит злоумышленник, нттп б32 юзеров заходящих на сайт?
weko Мол вы уверены что хотите заменить адрес домена hui.i2p на mnogohui.b32.i2p?
weko acetone: нужно убрать этот флаг, если так.
weko Это даст лёгкую возможность фишинга.
acetone weko: а по нему i2pd парсит согласие юзера на обновление))
weko acetone: ну вот
weko Убрать
weko Флаг))
acetone то есть http-прокси i2pd парсит URI юзера. через этот URI все взаимодействие. если что-то убрать - у юзера функционал пропадет
weko acetone: хм....
weko Тогда нужно думать
Vort опять проблемы из-за HTTP ;)
weko Vort: тут уже виноват сам HTTP))
weko Есть вроде заголовок, который говорит откуда пришёл юзер.
Vort нет. это опять подмена
weko Referrer:
weko Vort: не шизи
weko Иначе у меня опять будет гореть
Vort :))
acetone Я сейчас понял, что это вообще критическая дырища в публичных прокси. Если кто-то подключится к моему i2p-прокси через игг и подменит домен в адресбуке - другие юзеры вообще не поймут что была подмена и пойдут по фишинговым коротким доменам
weko acetone: а вот тут ты полностью прав
weko Абсолютно
weko Нужно добавить возможность отключения управления роутером через хттп прокси
acetone weko: есть такая опция, адресхелпер=фалсе
weko acetone: ну вот. Ставь
weko Насчёт фишинга самим сайтом - можно смотреть заголовок referer
acetone weko: не знаю насколько это будет корректно. Реферер может быть не доверенный регистратор или не оригинальный домен, который добавляется. И что, тогда режектить?
Vort если без согласия только
Vort запрос согласия может поставить любые заголовки?
acetone выключил адресхелпер на публичном аутпрокси, там же ИРЦ стоит. сейчас переподключусь
Vort из браузера
acetone here we go
acetone что-то важное пропустил?
Vort да я кое что спросить хочу
Vort acetone: когда идёт запрос согласия, referrer ведь ставится?
Vort и в нём будет ?i2paddresshelper ?
Vort если да, то можно именно это проверять
Vort пришли ли в запрос без согласия с запроса с согласием
acetone Vort: хз, глубоко так не смотрел, сейчас посмотрю
Vort и ещё - о дырке же наверно надо рассказать другим владельцам прокси?
acetone Чекнул: сейчас проверки реферера нет и описанная мной атака с &update=true с любого места отрабатывает как не хотелось бы. Однако, если ходить на ссылку с обновлением штатным образом (со страницы адрес-хелпера http-прокси), реферер в заголовках указывается
acetone корректно. Можно парсить-с
Vort значит от атаки из браузера можно защититься
Vort а вот дял прокси дырку надо прикрывать вручную
acetone Да, выходит, что так
acetone Сейчас пофикшу сурцы
acetone Яко хацкер
acetone Написал патч, сейчас локально проверю
weko acetone: я придумал более корректный способ - при первом запросе добавлять в <form> специальный токен, и только если он правильный (нажатие юзера), то мы обновляем
weko Просто рандомный сайт этот токен знать не могут
weko Тоесть как - мы кликаем на сайте, нас перекидывает на страницу с формой (в форме содержится токен), где чтобы обновить нужно нажать кнопку. При нажатии сгенерированный токен отправляется роутеру, и тот делает действия. Рандомный сайт не может этот токен знать, и
weko соответственно не может без ведома юзера обновить домен.
weko Referrer может не быть, а вот токен при отправке из формы - есть всегда
weko acetone: насчёт аутпрокси - во первых, стоит снова скачать адресную книгу, на всякий случай
acetone weko: реферер - рабочий вариант. С токенами - много лишней возни в имплементации. Реферер ничего не сломает, лишь запретит давать юзеру линки &update=true, оставляя юзеру ручное подтверждение в любом случае (кроме случаев, когда перезапись идет с хоста,
acetone адресбук для которого обновляем)
acetone Парни, с точки зрения англ. граматики все ок:
acetone Forced update rejected. Be careful: maybe source of this URL is harmful!
Vort мне понятно )
acetone ошибка будет только в случае &update=true, подставленного майором
acetone Ок, сейчас сделаю PR
Vort я бы чуть по-другому правда писал
Vort Forced update rejected. Be careful: source of this URL may be harmful!
Vort хотя мой английский далёк от идеала
Vort так что не уверен
acetone Коллега! :)
acetone Вот так нормально выглядит страница ошибки, не выбивается из общей стилистики? paste.i2pd.xyz/?5a43b0c83587ebe6#5NPsyZoxk5E3CF3hbaBYAKeL8b2isYFs8DpcwNCs8448
Vort по-моему нормально
Vort по поводу тестирования моих libtorrent исправлений: только сейчас заметил, что в комплекте либы идёт простенький клиент
Vort собирается вместе с либой при указанной опции -Dbuild_examples=ON (cmake)
Vort картинку для скриншота я получил: github.com/arvidn/libtorrent/issues/7262#issuecomment-1383848366
Vort а потом эта штукенция крешнулась :D
acetone Vort: я немного вне темы. На скриншоте ты запускаешь с proxy. Это штатный планируемый режим работы, или будет SAM/I2CP для управления туннелями на стороне приложения?
Vort это SAM в роли прокси
Vort пока что опций нету, но для начала надо чтобы хоть по-простому работало
acetone Понял. Круто
weko acetone: подразумевается, что коннект от браузера к роутеру безопасен (локалхост или доверенная локальная сеть)
Vort весь обмен идёт через SAM. надо, правда, когда-нибудь проверить, чтобы ничего не шло мимо
weko acetone: проблема в том, что referrer может не быть, например юзер его отключил
weko А основной функционал форм обычно не отключают))
Vort weko: я думаю, стоит вначале сделать простой фикс, а потом думать над более сложным
Vort главное, проверить, чтобы новых дырок не наделать исправлением
weko Vort: да уж))
weko Сейчас проблема в том, что если пользователь отключил referrer, то к нему всё ещё применима такая атака
weko (казалось бы, убираешь фингрепринт, а в итоге снижаешь безопасность)
acetone weko: не применима. Он просто не сможет обновить запись адресбука, всегда будет ошибка
acetone В целом, при штатном использовании юзер никогда не увидит эту ошибку
weko acetone: а, объясни тогда чем различается referrer при адресации с сайта, и адресации с i2pd-странички? Я просто не понял))
acetone Адресбук имеет адрес
acetone domain.i2p/?i2paddresshelper=...
acetone Происходит проверка, чтобы перезапись допускалась только для адреса, который обновляем, то есть domain.i2p может domain.i2p
acetone Если хост реферера отличается от обновляемого домена, значит, юзер пришел с левого источника и тут-то происходит вывод ошибки о злонамеренной попытке перезаписи
acetone (все это только при флаге &update=true)
acetone В итоге получается, что адресхелперы работают как обычно, но юзеру в любом случае надо вручную подтвердить перезапись, если адрес уже имеется в адресной книге
weko acetone: а, сайт может обновить только свой адрес. А если я уверен, что хочу обновить адрес другого домена (отличного от исходного)
acetone weko: тоже будет все ок, просто юзеру будет выведено сообщение о перезаписи и операция свершится только после его ручного подтверждения
weko acetone: тогда ладно
acetone а не как сейчас: вставляешь в URL "update=true" и без ведома юзера перезаписываешь у него что-то там))
weko А если я отключу referrer надо будет всегда подтверждать?
weko Если так, то вообщем то окей
acetone weko: если ты отключишь реферер, ты никак не сможешь перезаписать существующую запись адресбука, так как реферер всегда будет невалидный для этой операции)
weko acetone: его не будет
acetone Его отсутствие == Его невалидность
weko А может сделать что если его нету, требовать подтверждение?
weko Хотяяяя
weko Хз как))
weko Схема с токеном надёжнее)
acetone Операция перезаписи адресбука - экзотика. Думаю, не стоит заморачиваться целенаправленно :)
weko Точнее можно в таком случае нужно запрашивать подтверждение с помощью токена))
weko А если сайт перезаписывает свой б32, и реферер не отключён, то можно не спрашивать
R4SAS acetone: учти что referer может и не передаваться
weko acetone: скажи про экзотику юзеру, которого заскамят)
R4SAS если ссылка правильно сформирована то не поможет
weko Если реферера нет/ он не верный, то спрашиваем через токен.
acetone R4SAS: ага, об этом weko говорит, что реферера может не быть. Я считаю, что веб-консоль всегда отдает реферер, а если уж юзер включил его блок - экзотика в квадрате
acetone Реферер нужен только при перезаписи, когда приходит флаг update=true. В остальном никак не скажется. А прийти по ссылке перезаписи с флагом update=true юзер может (в штатном варианте) только со страницы, сгенерированной i2pd
acetone i2pd в свою очередь реферер явно никак не ограничивает, так что бэнч
weko В данном случае 100% прибежит юзер с ошибкой
weko И в любом случае надо будет делать))
R4SAS надо по другому как то делать
weko Надо расчитывать на 100% случаеа
weko R4SAS: говори через токен в форме
weko Если реферер не сошёлся
weko Говорю*
R4SAS откуда и куда токен ты возьмешь
acetone Я тоже говорю, что токен - это та еще очкопорка. Ради такой мелочной задачи городить трехэтажную логику как-то не уместно)
R4SAS т.е. если делаем обновление, то дополнительно передавать токен?
R4SAS ну... можно
R4SAS только много кода добавляется
weko R4SAS: реферер не сошёлся -> генерируем токен, суём его в <form>, юзер кликает (подтверждает) и тогда обновляем. Сайт токен не знает, так что это точно сделает юзер
R4SAS да я понял
weko Это если реферер нету/там другой сайт.
R4SAS не, тогда проще полностью чекать
R4SAS независимо от рефера
R4SAS с update=true ожидать токен
R4SAS который генерируется на ссылке обновления
R4SAS s/на/для/
acetone R4SAS: криптография подключим, или просто статический член класса рандомную сроку, которая генерится при выдаче кнопки обновления и проверяется при перезаписи?
weko Ну я просто предлагаю улучшить "юзер эксприенс"
weko acetone: не нужна тут криптография))
weko Токен можно хоть 5 букв сделать)) лишь бы сайт не знал )))
weko Заранее*
R4SAS acetone: глянь как оно генерится в морде
R4SAS для ссылок управления
sirmesh i2pd пакет для termux не работает?
R4SAS sirmesh: не известно
sirmesh я прверил, у меня никак не хочет
R4SAS что пишет то
R4SAS хоть в логи глянь
R4SAS телепатов нема
weko R4SAS: подумал. Да, согласен, лучше всегда спрашивать подтверждение для обновления домена. Чтобы избежать конфузов)))
R4SAS я вообще пользуюсь тем что прямо с исходников собирается
sirmesh сначала работал но в веб-консоли показывал, что пиров ноль. Туннель не получалось добавить, хотя я четко прописал откуда брать туннели. Сейчас даже веб-сервер не хочет запускать, просто пишет i2p starting и молчит
R4SAS ты чего то намудрил значит
acetone R4SAS: в демоне есть структура токенов. В HTTPProxy такого нет и нужна ли? Может быть рассмотреть вариант с членом класса в виде простой строки, которая генерится для токена при выдаче страницы с кликом на подтверждение и проверяется при фактической
acetone попытке перезаписи, чтобы переданное юзером соответствовало рандомно сгенерированной строке?
R4SAS тебе в любом случае придется его делать
R4SAS тебе же надо где то зранить
R4SAS хранить?
R4SAS еще помимо самой строки надо хранить длительность жизни
R4SAS m_Tokens, если ты про него
R4SAS приходит запрос с адресхелпером
acetone Ну да, хранить. Вот я и спрашиваю твое мнение по поводу хранения токена в обычной std::string (статический член класса HTTPProxy например). Длительность жизни конечно в таком раскладе отсутствует. Но кажется не критичным
R4SAS ты видишь что у тебя уже есть
R4SAS генеришь токен, проходишь по коду до строк где пишет что уже есть, добавляешь в ссылку токен
acetone На каждый реквест токен будет новый, поэтому одним что-то сделать не получится. Если токен пустой - операция отклоняется дефакто
R4SAS другой запрос - адресхелпер с update
R4SAS проверяешь на токен
R4SAS нету - гененришь токен и говоришь "не алё"
R4SAS и делаешь ссылку на обновление там же
R4SAS если есть и он валиден - то обновляешь и просто ввылку на сайт
R4SAS ссылку*
acetone Логику твою понял, так и сделаю. Вопрос только нормально ли токен просто в строке хранить и очищать эту строку после удачной операции и перезаписывать при новой генерации странички с кликом на подтверждение
R4SAS не знаю
weko Неправильный токен - делаем варнинг что вас попытались заскамить)))
R4SAS это полустатичный токен получается
R4SAS один раз сгенерился, а если атакующая сторона каким либо образом узнает то тебе всю книгу перепишут
R4SAS например JS
R4SAS кстати, было бы забавно написать такой скриптец
acetone букв 10 в него накидать, чтобы спокойным на тему брутфорса быть)
acetone Неет, всю книгу не перезапишут. После каждого удачного обновления токен будет очищатсься. Пустая строка, хранящая токен - всегда режект, значит, даже не генерировалась
acetone R4SAS: да, забавная история с JS. Заходишь на сайт, а после него у тебя все короткие домены идут на кислицу))
R4SAS ну можно по идее
weko R4SAS: а сайт и не узнает
R4SAS weko: а сайту и не обязательно
weko Про JS кстати верное упоминание))) это ещё страшнее
R4SAS достаточно скрипта )))
weko R4SAS: ну дак
weko Про этр и речь
weko Скрипт не узнает
R4SAS узнает
weko Как?
R4SAS скритпу как раз плюнуть разобрать строку
R4SAS если даже проверка на токен будет
acetone Короче, приступаю к реализации
acetone Зря реферы пилил :D
R4SAS ыыы
R4SAS weko: заходишь на сайт, он выполняет ;c
R4SAS жс
weko Ааа
weko Понял))
weko Да))
weko Он же ответ получить может
weko Точно
R4SAS генерить запрос на локалхост ничего нему не помешает0))
sirmesh cant load family certificates, cant load reseed certificates. Откуда сии серитфикаты берутся?
acetone sirmesh: i2pd-tools
R4SAS sirmesh: это такое тебе в пакете говорит?
R4SAS пакет должен сертификаты устанавливать
acetone ой, херню сказал. i2pd-tools с ресидами не связано))
R4SAS в конфиге есть параметр
R4SAS обычно где то в /usr/share/i2pd/certificates
acetone R4SAS: что-то я встрял. Если убрать проверку на рефер, не решаем проблему с JS-скриптом, который будет делать запросы на адрес-хелпер... А вот рефер эту проблему решает!)
R4SAS если ты свой путь до datadir делаешь то тебе надо либо символическую ссылку как в папке оригинальной, либо указать в конфиге путь
R4SAS acetone: я же говорю, рефер можно вырезать
R4SAS даже жс умеет без этого
acetone R4SAS: без проверки рефера открывается пространство для атак, и токены в этом не помогут, как ты и сказал выше
acetone Сегодня то что написал - я протестировал. С рефером железно получается, надежно :) Единственный невалидный вариаент, если в браузере напрочь отключена передача рефер-хедеров
sirmesh R4SAS: говорит в пакете, cant load reseed certificates from, но ищет оно в $HOME/.i2pd а не в /usr/share
R4SAS sirmesh: значит ты не как положенно запускаешь
R4SAS в домашней их и не должно быть
R4SAS оно автоматом в var/lib/i2pd всё
R4SAS ибо бы пакет ставишь
sirmesh i2pd --tunconf "${MYDIR}/i2pd/tunnels.conf" \
sirmesh --tunnelsdir "${MYDIR}/i2pd/tunnels.d" \
sirmesh --conf "${MYDIR}/i2pd/i2pd.conf" &
sirmesh запускаю так
R4SAS acetone: ну добавь к нему тогда
R4SAS sirmesh: datadir тогда у тебя будет $HOME/.i2pd
acetone R4SAS: а если рассчитываем на реферы и без валидного рефера даем отлуп, то получается, что и токены не нужны, потому что без них все работает, а без рефера толку от токена нет
acetone Или предлагаешь работать с токеном, если рефер оказался пустой?
R4SAS лучше поставь --datadir=${MYDIR}/i2pd
R4SAS acetone: работать со всем вместе
acetone Тогда что делать, если JS удалит рефер и снова возвращаемся к атаке JS-скрипта
R4SAS acetone: в этом и вопрос)))
weko Вопрос оказался сложнее чем можно было подумать сразу))
weko Но вообще js это огромная дырка)))
acetone R4SAS: значит, разумно оставить уже существующий мой фикс с реферами. Он работает как надо и JS не страшен. Перезапись адресбука - случай экзотический. Если на него нарвется фраер с отключеными рефами в браузере - экзотика икс2
weko И ещё вопрос - а точно ли нельзя в js свои хедеры делать? Если можно, то и реферер не спасёт
sirmesh R4SAS: ну собственно теперь он не может найти сертификаты в $MYDIR/i2pd/certificates. Это у меня просто на флешке конфиги
R4SAS sirmesh: ну вот лучше уже
acetone weko: это истерика))
R4SAS теперь ищи где они лежат
R4SAS как и говорю, они должы быть где то в термуксе
weko acetone: всмысле? Я ищу векторы атаки, как видишь они есть))
R4SAS от корня термукса ищи
sirmesh R4SAS: в /data/data/com.termux/files/usr/share/i2pd/certificates я полагаю
weko И вот как теперь убедится, что действие делает юзер, а не поганый ЖС? Хороший вопрос)))
R4SAS sirmesh: ну вот делай не нее символическую
R4SAS на*
R4SAS либо просто скопируй к себе
acetone Ура, JS запрещает подменять рефера developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name
acetone Хоть где-то эта херня работает не граблями в лоб
weko А это точно во всех браузерах?
acetone weko: вопрос снят
acetone токены не нужны - рефы наше всё
weko Вдруг это только а фаерфоксе так?))
weko В*
sirmesh на сертификаты больше не ругается, но осталась ошибко RouterInfo: can't open file
acetone weko: сейчас бы в гуглхроме i2p серфить)
weko acetone: ну есть другие свободные браузеры))
sirmesh а так даже пиры в сети появились и туннели мои загрузились, это хорошо
R4SAS sirmesh: это фигня
acetone weko: короче, MDN авторитетная штука. Если они пишут, что реферы JSом подменять нельзя, я пологаю, что и другие разработчики до этого допетрили и тоже прикрыли эту дыру.
weko acetone: ну... По крайней мере будет лучше
weko Но нужно иметь это ввиду в будущем
acetone weko: токены не нужны :D дяяя
acetone от них нет секьюрности
weko acetone: :(
weko acetone: это жаба скрипт виноват
acetone *** радуется, что не зря пилил реализацию с реферами ***
weko Это от него нет секьюрности
sirmesh R4SAS: спасибо
weko Опять же, реферер - костыль. Вот отключу я их, или буду менять домен с другого сайта.
weko Нужно думать)))
acetone weko: ты не будешь менять домен с другого сайта без рефера - всегда будет ошибка
R4SAS acetone: добавляй токены
acetone это не дыра, это легкое неудобство для тех, кто отключил
weko acetone: вот вот
acetone R4SAS: теперь я не понимаю зачем)
weko А если я хочу с другого сайта
weko Да, поэтому говорю что не дыра а костыль)))
R4SAS так тебе же уже описали, что если рефереры отрублены то можно поймать котиков
acetone weko: мы уже это обсуждали - с другого сайта будет работать. Ты подтвердишь действие кликом на подтверждающую ссылку с рефером и все будет ок
acetone R4SAS: а я пишу, что без реферов все что угодно - не секьюрно)
weko acetone: а подтверждение можно сделать через токен только)))
acetone пустой рефер == неправильный -> ошибка
acetone *** в истерике. Это было всего лишь утреннее предположение :DD ***
R4SAS кстати, а точно ли не будет рефа при переходе по ссылке на страницу обновления?
R4SAS не поймаешь ли ты сам себя за яйца?
acetone R4SAS: я сегодня перед PR протестировал с нескольких сторон. Все было корректно :)
weko R4SAS: да. Мы же на тот же домен переходим.
R4SAS "я хочу обновить!" "ты откуда то пришел, низя!"
weko Точнее да, это вопрос ))
R4SAS acetone: да я шучу
weko Короче лучше пока что так, чем никак
R4SAS яж вижу: `if (m_RequestURL.host != referer_url.host)`
weko Надо думать))
acetone R4SAS: 1) приходишь на страницу хелпера, в урл которой вписан обновляемый домен. 2) кликаешь подтверждение перезаписи. 3) в рефере указывается источником.
acetone *** прервал написание ***
acetone тролль)
R4SAS лол
weko ;)))))
R4SAS ладно, думайте
acetone В голос уже смеюсь)
R4SAS но я бы всё равно к реферерам добавил токены
acetone R4SAS: что "думайте"?) ведь все идеально
acetone от токенов нет толку, а от рефов - полный профит
acetone что еще нужно нам, господа? :D
acetone *** афк, покушац ***
R4SAS я просто думаю что не надо давать обновлять без перехода на основную страницу
R4SAS а рефер не выполняет этого условия
R4SAS только если не делать повторную ссылку
R4SAS и да
R4SAS допиши коммент в строку "Be careful"
R4SAS как это сделано с "Click here to update record:"
R4SAS а то будут потом вопросы "а где это"
sirmesh ура) simpletest.i2p Теперь я умею на termux разворачивать круглосуточные сервера с сайтами в i2pd
weko acetone: от токен нет толька, когда включён ЖС, а от реферера когда ЖС кривой)) итог: виноват ЖС
weko )))
weko sirmesh: круть!))
R4SAS указывать `tr:` в начале обязательно
weko acetone: не идеально, в этом беда
weko Вот отключу реферер, пользоваться не получится фичей. Или с другого сайта обновить не выйдет (придётся переоткрывать ссылку)
Vort acetone: рефы защитят только от браузерного варианта, а токены - ещё и от безбраузерного (кастомный клиент)
R4SAS weko: ладно уж, хватит бедного ацетона до истерики доводить )))
weko R4SAS: ужс
weko Да)
R4SAS посмотри внимательно код
weko Не идеально, но хотя бы без дыры
R4SAS weko: у тебя есть тоже возможность запушить PR
weko Vort: речь только про браузер, где можно запустить ЖС
R4SAS если тебе прям хочется)
weko Так лучше я пока что не знаю как))
weko Вот и говорю, надо думать
weko Без браузерные программы ставятся в 99,999% случаях с согласия пользователя
weko А вот ЖС , если он не отключен, никого не спрашивает
sirmesh По умолчанию i2pd имеет подписки на какие-нибудь адресбуки? Если не менять конфиг абсолютно
sirmesh может мне проще в следущий раз будет написать небольшой reverse proxy, который будет по SAM3 запрашивать туннели, и тогда вообще не понадобится трогать лапами конфиги от i2pd
Vort хотя я не прав. токены от безбраузерного варианта не защитят
Vort один фиг для высовывания прокси на всеобщее обозрение надо отключать хелперы
Vort для такого случая надо дописать предупреждение в дефолтный i2pd.conf
Vort что если открываете доступ к прокси извне, вырубайте addresshelper
acetone Парни, я сейчас ел и понял, что бага критическая уровня PIZDEC. Это касается не только перезаписи домена в адресбуке, но и добавления новых. На любом сайте может быть жс-скрипт, который добавляет кучу доменов без ведома юзера.
acetone R4SAS: что думаешь о том, чтобы и первичное добавление через адресхелпер сделать с использованием рефера?
acetone Vort: не понял почему рефы не могут защитить в безбраузерном варианте. Имеешь ввиду, что любое приложение, подключенное к i2pd proxy может подставить Refer-хедер и что-то перезаписать? Если так, я думаю, что это излишняя паранойя, так как к i2pd http proxy подключают
acetone обычно только браузеры ну или внешние приложения, которые о http i2pd proxy вообще ничего не знают
acetone R4SAS: также предлагаю заменить "Addresshelper found" на "Addresshelper adding" и "Addresshelper update", чтобы заголовок был информативен в части осуществляемой операции
Vort acetone: я имею в виду ситуацию, когда HTTP прокси i2pd выставлен в клирнет
Vort или такого никто не делает?
Vort в таком случае атакующий может какие угодно заголовки поставить и какие угодно токены нагенерить
Vort через curl, к примеру
acetone Vort: для публичных прокси нужно отключать адресхелпер. А что кто делает с частным прокси - дело личное) В нашем случае защита от злонамеренных парней в веб-браузере
HidUserZ `: добавил verbose
HidUserZ зацени
Vort acetone: вот я и говорю, что надо в примере конфига об этом написать
acetone согласен, Vort. Добавлю в своем PR, когда подправлю реализацию. Понял, что нужно любое добавление домена через адресхелпер пропускать через проверку рефера, а не только в случае перезаписи
acetone сейчас получается, в релизе дыра размером с манхеттен
acetone кто-нибудь уже написал JS скрипт?)
acetone Вот так, я считаю, будет секьюрно. paste.i2pd.xyz/?d4131cdad7b81442#FVp5EZSz3f6CzKbVDLkR7Bj85k4sTw1oTx6gfHC3shYr После клика по адресхелперу для адреса, которого нет в адресбуке, выдавать не "Добавлено, кликните, чтобы перейти", а "Запрос на добавление. Кликните, чтобы добавить"
acetone А то недолог час дыру разнюхают любители JS и говно польется свирепым водопадом)
weko [15:36:08] <58afb3Vort> что если открываете доступ к прокси извне, вырубайте addresshelper
weko Vort: это то понятно. Большей проблемой является ЖопаСкрипт
weko [15:39:13] <b39775acetone> Парни, я сейчас ел и понял, что бага критическая уровня PIZDEC. Это касается не только перезаписи домена в адресбуке, но и добавления новых. На любом сайте может быть жс-скрипт, который добавляет кучу доменов без ведома юзера.
weko Именно поэтому я крайне активно начал выяснять что с этим делать))
acetone weko: запушил. Любое добавление в адресную книгу (не только перезапись) - через валидацию рефер-хедера. JS тут не страшен. Локально перепроверил поведение - вроде как то, что нам всем нужно.
weko acetone: ну понятно что сейчас не так торчит дыра))
weko Не так сильно
weko Но в перспективе лучше сделать по-божески))
acetone weko: вот то что сейчас в релизе - это страшно)
weko acetone: поэтому я хочу предложить сделать 2.45.2))
relaybot 13trusishka: Йобаные ваши реги, пора как в торе онли b32 юзать
relaybot 13trusishka: В пезду такие дырки
weko Ну вон кавычках "апостроф" уже
weko кавычка*
relaybot 13trusishka: Я щас подумал что при такой хуйне злодей может перенаправлять на свои сервера юзеров жабы и логать их пароли при подключении
relaybot 13trusishka: Благо омемо спасает от этого говна и он ниче не прочтет
weko И проблема даже не в самой адресной книге, а в функционали адресхелпера через прокси
weko А ещё конкретнее в джава скрипте
acetone "по-божески" сделать, weko, я понимаю, это для тебя чтобы работало и без рефер-хедеров в браузере (у людей, которые прямо хотят отключить, но не совсем догоняя зачем). У меня (и у вас) реферы включены. Это, пожалуй, единственный разумный и рабочий вариант
acetone защиты. Другое в голову не приходит, а что пришло - при анализе оказалось нерабочим by design
orignal ну так отключить его надо по умолчанию как галка предлагает
acetone orignal: это еще страшнее в перспективе, когда все обновятся и дыра перестанет зиять
acetone потому что без адресхелпера комфорт сильно поубавится
weko acetone: у меня отключены)))) нефиг сайтам следить откуда я к ним пришёл.
orignal ну почему же?
weko А кстати, i2pd режет реферер?
orignal скачают с подписки и все
orignal комфорт поубавится только люителям цп ))
orignal в прокси?
orignal разумеется
weko Да
acetone orignal: нужно пофиксить (смержить мой PR после ознакомления), а адресхелпер оставить включенным, потому что это привычная и удобная фича. в коммент в конфиге только вписать коммент, что при публичном доступе адресхелпер нужно отключать
weko orignal: ну уже хорошо. Но вот в клирнете остаётся этот заголовок, а я его не хочу туда пускать. Так что я его отключил
acetone weko: и тут все за реферы)) даже вот i2pd твои паленные штучки никуда не пустит при всем твоем желании)
weko acetone: в клирнет пустит))
weko Через аутпрокси
orignal acetone ты проверил его работу?
acetone orignal: пятьсот раз, но сейчас еще раз могу :)
weko acetone: я не спорю что текущий вариант в 1000000 раз лучше, чем зыяющая дыра. Но я же и говорю, что нужно подумать как сделать удобнее
weko Потому что заголовок может быть отключён, например
weko И самое лучшее, конечно, это настойчиво посоветовать юзеру отключить жопускрипт
orignal я просто спросил
acetone orignal: еще раз проверил. Работает яко швейцарские watches :)
orignal смержил
orignal polistern а проч то там твой PR висит?
orignal я только счас увидел
orignal what is i2p_pex?
zzz i2p flavor of bittorrent ut_pex (peer exchange)
zzz basically 'tell me the peers you know about'
zzz about 100x easier than full DHT support
` 2dayZ: 15%
weko Transit Tunnels: 12465
orignal а че так мало? ))
weko ))))))))))
weko Transit Tunnels: 15743
weko )))
weko видел очередь 33)
HidUserZ Transit Tunnels: 16607
weko видимо этот пик был очень большой
weko и трафик одновременно с ним пошёл
weko 3846.78 KiB/s
weko лиссеты пошли
orignal значит точно атака
orignal пытаются разные вариаеты
weko возможно
weko надо пытаться анализировать
weko такая активность точно выделяется
` > а че так мало? ))
` мне вопрос? так это я просто ещё не обновился на 2.46.0, да-а-а (злобдневности ради)
weko анализировать можно на основе того, что шанс того, что запрос на туннель прищёл от какера (минимум) 1/8, а остальные 7/8 размазываются по остальным роутерам (тех что так под атакой, если конкретнее)
orignal нет к weko
weko пришёл*
orignal всего 12K
weko orignal: то было начала пика))
weko начало*
weko кстати в итоге имеем что для того чтобы положить сеть анонимно нужа 1/8 моЩЩЩностей сети
` Даже не знаю кто здесь (в ш2з) бОльший "какер" (когда-нибудь загуглю что это):
` - этот самый "какер"
` - или "отлупыши" жава-прайда
HidUserZ java-pride
orignal а разве сеть лежит? ))
weko какер - переделка слова хакер (да я знаю что оно значит другое, поэтому собсна переделка смешная)
orignal как же мы тогда общаемся
weko сеть то не лежит
weko но сдеанонить пидора было бы не плохо)
HidUserZ вообще тут далеко до смерти сети
orignal weko ну найдешь ты сотню китайских серверов например
orignal и что тебе оно даст?
` Что такое сотня серверофф для государства, или даже тыща..
weko а если не китайских?
weko мыж не знаем
weko как минимум будет наглядно, о чём речь когда я говорю что нужны ограничения
weko и каким образом они будут работать)
weko повод для новости например
` Гусары, в ш2з есть хоть один "какерский" форум? .б32.ш2з не прошу, если секрет то пусть остаётся, но слову гусара поверю
orignal pizdabol.i2p )))
` \оффтоп
` orignal, "это классика, это знать надо" дадада)00
orignal так про него статья в хакере была
orignal что типа это настоящие хакеры замаскированные под стеб ))
weko Это штука вроде с имджборд вылилась
weko Не?)
` weko, до того, как здесь в каждом искали плаза, раньше здесь в каждом искали "сову". Как-то так выразился, да.
` Даже мне удостоилась эта честь..
weko orignal: надо попробовать сделать некий "дамп" пика. Когда 10тыщ транзитов наступает, создаём хэштаблицу и в ней считаем количество туннелей с каждого RI/айпи, затем как только снова наступает 10000 тыщ, сохраняем "дамп" в файл. Ещё такой же дамп, но уже постоянный можно
weko делать с жирными туннелями. Если туннель достиг, скажем 50мб, то записываем RI/айпи с которого он пришёл в хэштаблицу
weko `: а я плаз или сова?)
` weko, Мы&Ко
` )
weko Vort: а у меня вот NTCP2 явно больше кушает в сравнении с SSU2
weko не пропорционально количеству
weko даже больше чем Tunnels
Vort скорее всего потому, что SSU2 коннекты реже
Vort станут чаще - будет есть больше
weko почему? у меня нагрузка от SSU2 в 2 раза меньше, а вот коичество нет
Vort важно то, как часто и как массивно через SSU2 текут данные
weko да.... но когда несколько тысяч коннектов, вероятно что распеределение равномерное
weko 3435.94 KiB/s - скорость)
Vort там у java какие-то приоритеты, не разбирался. может быть и не равномерно
weko а может
Vort хочет кто собирать и проверять github.com/arvidn/libtorrent/pull/7272 ?
Vort тестовая программа входит в состав библиотеки: libtorrent.org/client_test.html
weko можно попробовать)
weko хз))
HidUserZ Счас попробую
Vort чтобы собрать тестовую программу, надо выбрать настройку build_examples=ON
Vort запускать тестовую программу надо с ключами client_test --enable_dht=false --proxy_type=i2p_proxy --i2p_hostname=127.0.0.1 --i2p_port=7656
Vort последний параметр - или торрент файл или магнит ссылка
Vort но как экранировать & в магнит ссылках для Линукса - не знаю
Vort можно и через CUI указать, что качать. тоже вариант
Vort запуск без параметров выдаёт справку по списку параметров
weko дай какой нибудь торрент пока что
weko я счас соберу
Vort уже после запуска есть ещё справка по UI - выдаётся нажатием клавиши h
Vort я тестирую на вот этом: magnet:?xt=urn:btih:cb18974db461c640c0d938710203bb263a746694&dn=I2P%2B+Universal+Installer+2.0.0%2B&tr=http://tracker2.postman.i2p/announce.php
Vort много пиров, небольшой размер - удобно
weko что там в исходниках на 75 мегабайт -_-
HidUserZ а где клиент будет находиться после компиляции
Vort я собирал в build, получается вот такой путь libtorrent\build\examples\client_test.exe
HidUserZ А, я неправильно ключ указал
Vort сама либа вот тут: libtorrent\build\libtorrent-rasterbar.dll
HidUserZ чет SAM сессия появляться не хочет
weko *** пытается спойно смотреть на косые черты ***
weko спокойно*
HidUserZ пусто
HidUserZ weko: у тебя как?
weko щас собирать буду
Vort запускаешь client_test --enable_dht=false --proxy_type=i2p_proxy --i2p_hostname=127.0.0.1 --i2p_port=7656
HidUserZ Blinded message
HidUserZ порт проверил
HidUserZ ну и с магнитом тоже не работал
Vort должна сразу создаться
HidUserZ i2p же по дефлту поддерживается?
Vort даже без торрент файла
weko собирается
HidUserZ без торрент файла тоже
HidUserZ логи чтоли включаь
Vort собирал точно мой коммит 96ad8c5?
Vort может оно цепляет стандартную либу?
Vort в системе где-то старая версия есть?
HidUserZ ну твой форк собрал
HidUserZ блин)
HidUserZ ветку не переключил
weko я вот на фоне ваших бесед тоже заметил что не ту ветку собираю
weko уже собирается другая)
weko ниндзя))
weko не спамит в терминал, приятно
Vort i2p-fixes2 ветка
weko да эт понятно)
Vort ну ветку без 2 тоже лучше не собирать )
Vort там нету кое чего
HidUserZ а DHT i2p там не работает еще да?
HidUserZ так сессия появилась
Vort мне казалось, что DHT надо UDP
Vort а в SAM его или нету или я не видел
HidUserZ есть
Vort в общем, с DHT я ещё не разбирался
HidUserZ пошли стримы
weko у меня пусто
HidUserZ пошла закачка
weko а, я понял
weko не тот хотс указал для сэма
weko хост*
HidUserZ 4 пира, 100кб/c
Vort мне не нравится, что acceptor потерялся ( видимо, ещё много багов выловить придётся.
weko поменял хост, пусто....
Vort я же даже толком не знаю, как этот SAM работает. вот пришёл коннект в acceptor. что дальше надо делать? новый acceptor создавать?
weko ссесии нету
weko да
weko новый
weko лучше даже два
weko чтобы не пропустить
Vort а вот что делает libtorrent я даже не знаю. может, всего один создаёт и на этом всё завершается
weko хотя может 2 и не надо
Vort "<weko> ссесии нету" пустая страница?
Vort а либа точно та, что надо?
weko в качестве хоста прокси указал локальный адрес
weko должна быть)
Vort в общем, тут ещё есть варианты дебага...
weko могу пересобрать на всякий случай
Vort -f log.txt ещё приписать можно
Vort и смотреть что в лог идёт
weko окей
weko я сначала попробую пересобрать на всякий
Vort коммит перепроверь, чтобы 96ad8c5 был
Vort ну я думаю всё равно надо PR вливать, потерянный acceptor можно будет потом найти
Vort там ещё какие-то загадочные креши при сборке в дебаг режиме есть
weko а, я в дебаг собираю
weko надо релиз?
Vort по крайней мере, 1 раз acceptor срабатывает =)
Vort да всё равно
Vort пусть debug
weko ок
weko ща всё сделаю
Vort "в качестве хоста прокси указал локальный адрес" - SAM ведь на 127.0.0.1:7656 сидит?
Vort я кроме этого адреса больше ни на каком не тестировал
Vort может, если SAM где-то далеко, то будут проблемы, не знаю
weko sam сидит на чом хочешь
weko кстати верное замечание
weko ща посмотрю конфиг i2pd
weko опа, действительн адрес 127.0.0.1 в саме
weko ща поменяю
weko рестарт!)
weko есть сессия
Vort хорошо
weko 10 лет тунели создаёт, как всегда...
Vort ага
weko это надо менять точно
Vort особенно на 3х хопах
weko так.. туннели создались
weko закачки пока что нету
weko опа лиссеты
Vort теперь пойдёт запрос к трекеру
weko пошло
Vort а потом уже к пирам
weko а в какую директори. оно качает?
Vort под себя )
weko понял)
R4SAS acetone: лишние переводимые строки
R4SAS это одно
R4SAS второе: нафиг было делить
R4SAS ss << tr("To add host") << " <b>" << m_RequestURL.host << "</b> " << tr("in router's addressbook") << ", "; ss << tr("click here") << ":";
Vort weko: клавишу i если нажать - покажет пиров
R4SAS ты это видишь как видишь, а вот в всяких азиатских языках его так надо вывернуть наизнанку, что охереть можно иногда
weko ага
weko вижу
weko I2Psnark раздаёт
weko IP пишет 0.0.0.0
Vort ага
weko интересно - видно когда туннель дохнет и скорость падает в 0
Vort в общем, в целом - работает. спасибо за тесты
Vort да, тоже такое видел
Vort но главное что не глючит
weko 29 лиссетов
Vort потом продолжает скачку
weko 15109 KiB на туннеле
weko понятно))))
weko кстати вот у меня щас на этой ссесии по 1 туннелю, а должно быть видимо 3?
Vort да, по три
weko к слову о скорости создания
Vort у меня как-то раз почему-то до 6 догнало. так и не понял из-за чего
weko которой не хватает
weko там вообще 0 висело в какойто момент
weko ну больше это ладно
weko у меня тоже на 1-2 больше было
weko а вот меньше быть не должно
Vort сейчас поставил 3+3 туннеля, 3+3 хопа
Vort потом надо чтобы кто-то сделал кастомаизацию
weko 28145 KiB
weko теперь знаю откуда жирные туннели ))0 из торрентов
Vort то есть, сейчас это вшито в код
weko Vort: +
Vort :))
Vort какая скорость получилась?
weko ну 100 была
Vort окей
weko она очень переменчивая
weko опять же показатель плохой реализации
Vort наверно от 3х хопов большой скорости можно не ждать
weko ВСЕГО)
Vort профилирование надо доделывать, да?
weko всё
weko и стриминг, и профилирование, либторрент
weko и сам
weko хотяб работает
weko 67 процентов скачало
Vort чёрт, кто-то сожрал acceptor и смылся :(
Vort не нравится мне это. но я пока не готов это чинить
weko опа, unknown стрим
Vort ага, ещё не успел определиться )
weko а ещё надо закрывать те стримы, где ответа нет
weko куча стримов с received 0 висит
Vort ну оно не бесконечно растёт
weko ну уже лучше
Vort я тоже поначалу испугался, думал утечка
Vort это же ещё клиент тестовый
Vort может реальный такой фигни творить не будет
weko 114 скорость видел
weko может
weko скачалось!)
Vort хорошо :)
weko можно сидировать!)
Vort как минимум, качает нормально. а вот сидирование, с нуля - это ещё придётся чинить
weko хых)
weko попробуй щас качать))
weko я сидирую
Vort acceptor теряется, поэтому с сидированием будут проблемы
weko ну вот у меня один есть
weko точнее остался
Vort сейчас запущу ещё раз скачку
weko давай
weko я посмотрю появишся ли ты
Vort ещё странно, почему у меня всего 5 пиров показывается
weko у меня было 4
Vort остальные дохлые что ли?
Vort или лимит какой-то
weko а вот Хз
weko у меня было 3 I2PSnark и один BiglyBT
Vort просто если всего 4 живых пира - это странно
Vort при том что трекер около 30 выдаёт
weko acceptor висит ещё
weko скачиваешь?
weko хЗ
weko качаешь или нет?
Vort пошло качать
weko я сидирую, а тебя у меня нету
weko давай
Vort client_test
weko жду...
Vort ха
weko пошло!
Vort ну понятно кто такой client_test )
weko у тебя тоже client_test ))
weko 10 килобит)
Vort ну окей. пока acceptor жив - он работает
Leopold вы торренты пробуете?)
Vort да
Leopold какой?
Leopold deluge только знаю
Leopold с прокси встроенным i2p
weko библиотеку libtorrent Vort починил, вот щас смотрим
Vort client_test :)
Leopold но это только прокси
weko Vort: ну смотри - acceptor всё ещё есть
Vort она через SAM
Vort да. пока я качаю - ещё есть
Vort как докачаю..
Vort кстати, почему только один пир?
weko опа тридцатка
weko я))
Vort так обрадовался знакомому client_test`у, что забил на всех остальных?
weko ))))))))
weko у меня было 4
Vort и у меня было
Vort а теперь один. другие и не пробует
weko странно
Vort угу
weko а если я уйду с раздачи?)
Vort попробуй
weko ушёл
weko есть что то?
Vort ну скорость в 0 ушла и всё
weko а ХдЕ пиры?)))
Vort я боюсь, что он потерял пиров от трекера
Vort обновление трекера через час )
weko запустил снова
weko ждём
Vort ну.. было наивно полагать, что после исправления 6 багов больше не вылезет )
weko [s[
weko хых
Vort но в любом случае стало лучше, чем было (лучше, чем никак)
weko orignal: в очередной раз жалуюсь на скорость создания туннелей)
weko надо довести до состояния "юзабельно"
Vort у меня 3+3 висит, норм
orignal тут только профилировщик допиливать
weko а ещё лучше протестить с реальным клиентом
Vort тьфу. 1+2
weko orignal: а скорость создания повысить?))
orignal чтобы ислючать тех кто дают отлупы
weko потому что это не дело
orignal так не в скорости дело
weko иногда в 0 уходит
weko так лагает
weko в 0 уходит и всё
orignal я тебе уже ответил смотри почему
weko уже 5 минут не может туннель входящий создать
orignal проанализируй
` orignal, то есть штука "бан на 24 часа за отлуп" не работает?
weko может сделать чтобы работало хоть как то?)
orignal ` надо будет
` orignal, штука из-за которой есть "грасефулл даун".
orignal заебал
` )
orignal в weko
orignal это проблема сети
weko я понимаю что это проблема сети
orignal надо просто строить через узлы которые не дают отлупы
weko которыю дают меньше всего отлупов, скорее.
orignal засирать сеть запросами не надо
` Помню первое время боялся жозка выключать роутер, потому что где-то прочитал, что за отлуп меня забанят на 24 часа. Поэтому каждый раз уходил в грасефулл даун на 10 минут.
orignal const int TUNNEL_POOL_MAX_NUM_BUILD_REQUESTS = 2;
orignal поменяй эту константу на 5
weko хорошо
orignal не знаю где ты такую ерунду прочитал
orignal вот с чем я согласен что пора делать профилировщик
` orignal, и сам не помню где.
orignal если роутер дал отлуп то 10 минут его не трогаем
weko orignal: профилировщий поможет, я согласен. но есть НО - иногда всё равно может не везти, и туннели будут обрываться часто. тут нужна политика "максимально быстро сделать чтобы было N туннелей и дальше сидеть на жопе ровно".
orignal на самом деле я понимаю в чем дело
orignal тоннели не строятся на высоконграженных роутерах
orignal где много транзита
orignal думаю понятно почему
weko тоже проблема сети
weko по другому не сделать, как я понимаю.
orignal у меня на дохлых тоннели без проблем
orignal потому что джавситы банят не источник а откуда приходит запрос
` orignal, а много транзита на высоконагруженных роутерах это сколько?
` В попугаях
orignal ` ну вот 15K тоннелей как у weko
weko orignal: ну дак тут надо думать как правильно лимиты делать
weko 19К был рекорд.
orignal ну так для этого думалка нужна ))
weko orignal: а у джавистов нету её, да они и не пытались её подключать
weko понятно на какой концепции лимит будет работать, но нужно думать как именно его реализовать
` orignal, то есть когда 100500 транзитофф на высоконагруженном роутере, то этот роутер перестаёт создавать туннели, для_себя/свои? То есть, вот я при "высоких нагрузках" у себя мог наблюдать, как туннели
` переставали строиться, которые для себя по крайней мере.
weko опять же лимит скорости нужен ещё
weko по причинм которые уже тыщу раз были озвучены
weko лимит скорости на один транзит
Vort оживить заглючившую скачку через client_test так и не вышло :(
weko orignal: а,я не помню, говорил ли, но есть такая беда, что все стримы прутся через один туннель. для торрентов через SAM это буда.
weko беда*
weko Vort: а у меня тоже заглючило )
weko попробуй перезапустить
weko а я дальше буду сидировать
Vort тут ещё фиг поймёшь, баг в поддержке i2p, в самой либе или в тестовом клиенте
weko баг как обычно перед монитором)))
orignal ` на да из-за отсуствия думалки кое у кого
Vort да если перезапустить, то заработает. я уже проверял. продолжает качать с того места, где прервалось
orignal weko все стримы или все стримы на один адрес?
weko orignal: на разные адреса. торрент же
Vort я тоже об этом подумал. даже о нескольких destination мысль проходила )
Vort но ,конечно, тут просто надо улучшать i2pd
Vort а не переть напролом
weko на один адрес тоже лучше через разные туннели стримы пускать
orignal weko это странно
orignal он должен выбираться случайно
weko в ИДЕАЛЕ нужно равномерно распределять в зависимости от пропускной способности туннеля и нагрузке от стрмов
weko orignal: давай проверю
Vort если туннель тормозной, то хоть к 10 пирам подключись, ну разделится 16 килобайт/сек на 10 пиров )
weko ещё раз
orignal на один и тот же разумеется само собой
orignal счас я сам
weko Vort: ++
orignal нет у меня госткойн через все тоннели равномерно гонит
Vort я, правда, не уверен в том, что именно так было
Vort может все три тормозные были просто
Vort orignal: если можешь, мой PR для libtorrent собери, погоняй
Vort тут выше в чате писал, как собирать и как запускать
Vort уже несколько проблем выловили, но, может ещё что-то важное найдётся
weko реально долго создаётся ссесия. ну прям очень долго
Vort weko: сколько раз уже это сказал? )
weko просто это настолько долго что мнне больше нечего делать кроме как это писать)
` проблема в отсутствии с== погромиста намеренного взять и сделать чоткий SAM в libtorrent г_г
weko `: вишь, ворт взялся.
Vort я поставил себе задачу допинать его до возможности закачки файла )
` weko, ворт сишарпер.
weko я вот чего не пойму - есть же готовая либа для SAM на C++, почему они её не используют
Vort это полкучилось. а вот полировать...
weko `: не спорю, но виш плюсы фиксит.
` weko, за что и хвала.
weko а то
Vort да я и C++ знаю, 10 лет назад операционку уже свою писал от нечего делать )
weko написал?
Vort но вот давно свои знания не обновлял
Vort от асинхронного буста немного в ужасе
Vort ну да, написал. но, понятно, что она была не идеальна )
weko ну конечно)
weko что-то тупит торрент, не качает.
Vort хотя стиль у меня там... специфичный. сейчас я много не делаю того, что делал тогда )
weko а, я видел ктся...)
` Vort, гаварят техническое название буста - "смузихлёбство"
` )00
weko Vort: как в том меме про ядро на чистом си)))
orignal попозже
Vort окей
orignal счас некогда
orignal а вот профилировщик да надо
weko Vort: у меня тоже перестало качаться
orignal иначе будет пиздец
orignal а последний раз я его касался году в 2015 наверное )))
weko уже
weko ухххх
weko весело
weko "Это не пипец, это не пипец..."
Vort weko: ну я понял, там, видимо, входящие коннекты как-то через зад работают. и только приходит входящий, то клиент глючить начинает
Vort weko: acceptor жив?
weko жив
weko ну я перезапустил щас
weko но был жив
Vort хм. какой это тогда по счёту баг? )
weko 7-й?
Vort я давно не сбивался со счёту багов )
Vort их тут стая
weko может проще переписать с готовой либой?))
Vort и ещё не поймёшь, где
Vort нет, посмотри на мой PR. там несколько строк там, несколько строк сям. это не полное переписывание
weko я понимаю
Vort да и либа в либе - это архитектурное решение
Vort короч починить проще
weko но одно дело написать пару строк, а другое найти где их написать))
Vort это да. у меня ещё инструменты ужасны (
weko сноси шинду, как грится.)
Vort автор бы быстро эти баги раскидал. но у него, видимо, дела поинтереснее
weko нюхает))
weko он ещё на задолбался от этого потока иссуев?
Vort я думаю, когда ты поймешь, чем он занимается, то можешь начать ругаться
weko и чем же?)
` Tunnel creation success rate: 14%
Vort Chia
` Держу в курсе)00
weko `: у тебя какая длинна туннелей там? 8?)
` weko, где там? тутачьки? тутачьки 3, допустим.
weko ну вот у тебя есть больше 3?
` weko, а таки кто спгашивает?)00
weko я.
` Тогда только "трёхпрыжковые".
weko тогда хз....
weko может у тебя с сетью какие проблемы
weko Tunnel creation success rate: 41%
` завист
weko у меня конечно есть туннели где хопов меньше, но всё же.
HidUserZ Vort, может лучше будет совместить i2p_hostname с proxy_hostname в libtorrent?
Vort HidUserZ: это чтобы 0.0.0.0 не светились?
Vort а, параметр
HidUserZ к примеру в qlibtorrent нужно будет делать отдельные формы ввода адреса SAM вместо стандартных
Vort надо глянуть как в deluge сделано
Vort ну и надо ещё Deluge не сломать
weko много что надо))
Vort короч это надо как-то координироваться со всеми разработчиками клиентов
Vort тут хотя бы одного выловить...
weko могу затестить Deluge (попробовать)
Vort weko: скрины в одном из отчётов лежат
weko может есть кто на либера чат?
weko Vort: ну я могу собрать последний пулреквест
weko надо?
Vort там ещё хуже работает чем в client_test
weko понятно
Vort можешь, конечно, но вряд ли это чем-то поможет
weko тогда не буду
weko дела ещё есть
Vort там надо понять, что чинить - или Deluge или libtorrent
Vort вроде в Deluge в списке пиров всего один висит
Vort а качает с многих
Vort наверно Deluge выбирает пиров по адресу
Vort а там у всех же 0.0.0.0:0
Vort надо или вот это 0.0.0.0 как-то извести или Deluge переделывать
Vort HidUserZ: в общем, в Deluge как-то сделано. думаю, что и в qbittorrent можно сделать аналогично
uis weko: мем мемом, но линукс на си
weko uis: не спорб
weko Спорю*
orignal Tunnel creation success rate: 52%
orignal что скажете креведки? ))
Vort давно рестарт был? )
Vort у меня 4 часа аптайма и 42%
Vort ещё и Transit Tunnels: 1443
Vort вот после нескольких суток аптайма посмотреть будет интереснее
orignal толкьо что
weko orignal: 2 часа, 44%
orignal госткойнн моментально сеесию построил
uis 39%
orignal так что нормально
weko orignal: я уже говорил в чём проблема, и говорил почему лимит в секунду смысла не имеет
orignal я и не собираюсь лимит в секнду
orignal я собираюст если роутер дать отлуп то отсавить его в покое на несколько минут
uis Сделай с разбросом, чтобы волнами не долбились
uis 10+-5 например
orignal так давно уже
orignal с разбросим случаным
uis Я говорю про оставить в покое на несколько минут
orignal это само собой
weko orignal: а что это тогда за лимит , который в 2 стоит
orignal сколько тоннелей одновремненно запрашивать для дестнейшина
orignal по 2 на каждую сторону