~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest29533
HackerMan
Most2
Nausicaa
Ruskoye_911
Vort
`
acetone_
anon3
b3t4f4c3
fidoid
flumental
nemiga
not_bob_afk
plap
poriori
profetikla
segfault
soos
teeth
tensor
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!
acetone
?
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
по-моему нормально
acetone
Сделал PR: github.com/PurpleI2P/i2pd/pull/1849
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
еще помимо самой строки надо хранить длительность жизни
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
:D
acetone
токены не нужны - рефы наше всё
weko
Вдруг это только а фаерфоксе так?))
weko
В*
sirmesh
на сертификаты больше не ругается, но осталась ошибко RouterInfo: can't open file
acetone
weko: сейчас бы в гуглхроме i2p серфить)
weko
acetone: ну есть другие свободные браузеры))
sirmesh
а так даже пиры в сети появились и туннели мои загрузились, это хорошо
R4SAS
sirmesh: это фигня
acetone
weko: короче, MDN авторитетная штука. Если они пишут, что реферы JSом подменять нельзя, я пологаю, что и другие разработчики до этого допетрили и тоже прикрыли эту дыру.
R4SAS
ы
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
xD
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
я только счас увидел
zzz
let's ask for i2p_pex too: github.com/arvidn/libtorrent/issues/7269
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
xD
revolution
:)
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
спокойно*
Vort
тут пусто? 127.0.0.1:7070/?page=sam_sessions
HidUserZ
пусто
HidUserZ
weko: у тебя как?
weko
щас собирать буду
Vort
запускаешь client_test --enable_dht=false --proxy_type=i2p_proxy --i2p_hostname=127.0.0.1 --i2p_port=7656
Vort
?
HidUserZ
Blinded message
HidUserZ
порт проверил
HidUserZ
ну и с магнитом тоже не работал
Vort
должна сразу создаться
HidUserZ
i2p же по дефлту поддерживается?
Vort
даже без торрент файла
weko
собирается
HidUserZ
без торрент файла тоже
HidUserZ
логи чтоли включаь
Vort
собирал точно мой коммит 96ad8c5?
Vort
может оно цепляет стандартную либу?
Vort
в системе где-то старая версия есть?
HidUserZ
ну твой форк собрал
HidUserZ
блин)
HidUserZ
ветку не переключил
Vort
:)
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> ссесии нету" пустая страница?
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
))
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
:)
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
++
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
я
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
3)
weko
просто это настолько долго что мнне больше нечего делать кроме как это писать)
`
проблема в отсутствии с== погромиста намеренного взять и сделать чоткий SAM в libtorrent г_г
weko
`: вишь, ворт взялся.
Vort
я поставил себе задачу допинать его до возможности закачки файла )
`
weko, ворт сишарпер.
weko
я вот чего не пойму - есть же готовая либа для SAM на C++, почему они её не используют
Vort
это полкучилось. а вот полировать...
weko
`: не спорю, но виш плюсы фиксит.
`
weko, за что и хвала.
weko
а то
Vort
да я и C++ знаю, 10 лет назад операционку уже свою писал от нечего делать )
weko
написал?
Vort
но вот давно свои знания не обновлял
weko
)
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 на каждую сторону