~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
DUHOVKIN
Leopold
Most2
Nausicaa
Vort
Xeha
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob_afk
poriori_
profetikla
soos
un
weko
whothefuckami_
and_or_not
там onon ебнулся и закрыл чат #ru
onon
Сюда пришёл спамить?
and_or_not
не ной как сучка
and_or_not
никто тут не спамит, кроме тебя
onon
Тут про разработку иди на ру
and_or_not
onon Cannot join channel #ru (channel is invite only)
and_or_not
ты идиот или притворяешься?
onon
А ты, похоже даже не притворяешься.
orignal
лучше давайте обсудим мое иноовационное решение с очередью
Vort
ну вообще-то нормальная работа IRC в условиях атак - это тоже важная тема
Vort
а насчёт очереди - меньше потребления CPU должно быть и меньше лагов?
orignal
больше данных прокачиваться
orignal
меньше спотыкаться на мьютексах
orignal
следущий шаг это пеередача между тредами
orignal
где io_service
orignal
я на работе наткнулся что вот как у нас счас создает тормоза
Vort
если один узел/процесс сможет потреблять все доступные ресурсы - будет конечно хорошо. но тогда ещё явнее будет выпирать глюченость балансировки
orignal
это про скорость прокачки данных
Vort
как я понял, будет увеличиваться разрыв между возможностями медленных и быстрых узлов
weko
так что по поводу стримов
weko
грузят проц
orignal
weko ?
Vort
weko: это вопрос или утверждение?
weko
ну стрим грузит процессор очень жёстко
weko
я обновился и заметил
weko
10% от ядра
onon
Один стрим?
Vort
при той же скорости?
onon
Или много?
weko
это подключение к ирки
weko
так что считай почти простаивает
Vort
фигассе
Vort
такое на баг похоже
weko
несколько стримов на одном dest'е грузят столько же
weko
но вот их уже может быть много
weko
ну по крайней мере грузится поток с именем Destination
Vort
пейсинг может жрать ресурсы в теории, но в IRC нету данных считай чтобы его "кормить"
Vort
когда нету пакетов для отправки он же простаивает, да?
onon
Ну там таймер срабатывает каждую милисекунду
onon
Вне зависимости есть данные на отправку или нет
Vort
тогда понятно
onon
Если ничего нет, он рестартует таймер и ничего не делает
orignal
у меня дестнейшин с ирком ничего не грузит
orignal
грузит с mtproxy но там дохуя народу сидит
orignal
weko ты уверен что это именно ирк?
orignal
давайте смотреть есть ли у кого то еще проблема
orignal
а нельзя сделать таймер каждые 10?
onon
Ну в ирке если на отправку ничего нет и в отправленных все подтверждены, таймер выключается
onon
Вряд ли проблема в этом
onon
У меня такой проблемы нет
orignal
у меня тоже
onon
Проц только транспорты грузят
orignal
нет у меня тоже проц грузит этот деситнейшин на серваке
orignal
но он там обслудивает сотни соединений
onon
weko, можешь попробовать сделать const uint64_t SEND_INTERVAL = 10000; // in microseconds
onon
Или переделать на милисекундный таймер. Может микросекундный больше ресурсов потребляет, яхз
orignal
без разницы там порог в 10 миллисекунд
orignal
по разному раюотают
and_or_not
а зачем тебе mtproxy это же прокся телеги?
orignal
он с тех времен когда хуйло боролось с телеграмом
orignal
народ через него сидит
orignal
он на telegram.i2p есть
and_or_not
странно, зачем в телеге сидеть через прокси которое в i2p
and_or_not
сейчас у себя посмотрю жор проца
orignal
потому что существуют страны во главе которых стоят бабуины
orignal
которые блокируют телеграм
orignal
иран например
and_or_not
а иран, да помню, когда у нас блокали я тоже держал проксю и через нее сидели 2к иранцев
orignal
ну вот этот прокси еще с 2018 года и постоянно на нем какой то народ
and_or_not
не, никаких 10% жора цпу и билзко нет на ирке и не только на ирке
orignal
так может у него это не ирк вовсе
orignal
надо все таки Destination тред промаркировать будет
orignal
чтобы было понятно кто есть кто
and_or_not
может у него проц древний как говно мамонта
orignal
так ладно к теме очередей тут главное что треды NTCP2 и SSU2 должны работать быстрее ибо меньше спотыкаются на мьютексах
orignal
ладно gopher:// выпилили туда ему и допрога
orignal
но блять ftp:// с ним сайтов было море типа funet.fi
orignal
где лежало куча всего и по ftp://
orignal
пардон не в то окно
darkcat09
Приветствую. Есть sing-box, который проксирует весь трафик и проверяет суффикс домена, если .i2p => передаёт на HTTP-прокси i2pd 127.0.0.1:4444. Я правильно понимаю, что прокся в i2pd всегда отвечает кодом 500 ISE, когда короткого домена нет в
darkcat09
адресбуке?
darkcat09
Сама проблема: sing-box шлёт connection refused, если апстрим-прокси ответил не 200.
darkcat09
Такое поведение явно не только у синг-бокса. Есть какое-нибудь поле в конфиге, чтоб прокся i2pd слала респонз с кодом 200, а не 500?
onon
HTTPProxy.cpp -> void HTTPReqHandler::SendProxyError(const std::string& content) -> res.code = 500;
onon
Наверное здесь
orignal
поля нету поле надо делать
orignal
то есть ты хочешь чтобы с addresshelper сразу в ответ выдавал страницу по тому адресу?
darkcat09
orignal: не, пусть та же самая страница с подтверждением добавления в адресбук, но код ответа не 500, а 200
darkcat09
Потому что промежуточным проксям не нравится 500 ISE от http-прокси i2pd
darkcat09
github.com/PurpleI2P/i2pd/blob/c86e0ec37192ae2237d33f97938910cc4d5e4934/libi2pd_client/HTTPProxy.cpp#L202
darkcat09
Ага, эт вот тут
darkcat09
А такая фигня есть ещё где-нибудь?
darkcat09
Чтоб прокси 500 отвечал
darkcat09
Мне щас либо патчить i2pd и какой-то магией компилить на андроид (мне он там тоже нужен, тоже в связке с sing-box), либо патчить sing-box, что выглядит как-то полезнее и проще
orignal
я думаю у джавистов также
orignal
где еще addressheloper есть?
orignal
я не понимаю одного зачем тебе куча адресов левых
onon
Может он ходит по сайтам, которые на reg.i2p в цензурном списке.
darkcat09
orignal: onon: энивей лучше когда прокси сконфигурирован правильно. И я ещё не очень хорошо разобрался в i2p, в локальном адресбуке нету моих доменов, которые я недавно добавил на reg.i2p, вот хотел хоть через addresshelper открыть
darkcat09
Лучше тогда пойду в issues в репе sing-box, скорее всего не только i2pd может отвечать 500
orignal
просто ты первый кто пожаловался на такую проблему
orignal
я пойду у джавистом спрошу
WebClient47
привет, это значит что i2pd не смог отрезольвить host тоннеля?
WebClient47
привет, это значит что i2pd не смог отрезольвить host тоннеля?
WebClient47
"/error" - I2PTunnel: Unable to resolve server tunnel address: Host not found (authoritative)
WebClient47
вопрос только какой именно, если тоннелей много, как понять где он спотыкается?
orignal
значит в адресной книге есть
orignal
*нет
WebClient47
а это из адресной книги? я думал это просто host=my_service.lan из серверного тоннеля не резольвится и поэтому такая ошибка
orignal
а ну такое тоже может быть
orignal
он резолвит через систмный днс
orignal
а преворить на той машине не можешь резолвится или нет?
orignal
насчет ошибки поправлю буду адрес туда писать
WebClient47
orignal да спасибо. Вроде понял как это происходит. У меня i2pd стартует раньше чем сервисы, поэтому когда i2pd пробует тоннели по dns то если сервис не успел поднятся i2pd получается отваливает этот сервис и
WebClient47
больше не пытается до него достучаться, хотя он через секунду появляется онлайн и его dns доступен. Может стоит поправить так что бы i2pd не забивало на имя dns хоста серверного тоннеля, а хотя бы делало
WebClient47
несколько попыток достучаться и только потом забывала про него.
WebClient47
Например пробуем dns 3 раза, с промежутками 30 сек
orignal
хорошо сделаю
WebClient47
спс
orignal
я постоянно раз в 30 секунд буду пробовать
WebClient47
ок, еще лучше
orignal
там все хуже
orignal
он только при старте резолвит
orignal
что в корне неправильно
WebClient47
ну вот да, поэтому я и ловил эти глюки и не мог понять почему после старта всех сервисов у меня половина из них не работает через i2pd и только после отдельного рестарта i2pd начинало работать
orignal
так в процессе работы домен может смниться
WebClient47
ну у меня точно не меняется, это все про docker, я одной пачкой докеров все поднимаю и там имя хоста жетско привязано к контейнеру
orignal
а у кого то может
WebClient47
и еще как можно понять что i2pd поднялся и онлайн? В docker есть healthcheck в который можно прописать нечто что вернет 0 (успех) и это будет означать что контейнер "здоров" и работает правильно
WebClient47
для обычного контейнера я бы прописал ping 8.8.8.8 но в случае с i2pd не понятно
WebClient47
можно curl ilita.i2p но она тоже можешь леч
orignal
дергай i2pcontrol
orignal
там запрос статуса есть
orignal
команда такая
orignal
давно уже делали
orignal
i2p.router.status она называется
orignal
WebClient472 я сделаю лучше
WebClient472
чего то не получается включить этот control, прописал это в i2pd.conf
WebClient472
[i2pcontrol]
orignal
я при старте буду резолвить пытаться если не получилось то при запросе
WebClient472
enabled = true
WebClient472
port = 7650
WebClient472
После ребута порт не слушается
orignal
да так
orignal
слушается везде
WebClient472
>я при старте буду резолвить пытаться если не получилось то при запросе
WebClient472
отлично
WebClient472
>да так
WebClient472
тогда у меня косяк, буду искать
orignal
и при запросе если скажем больше 10 минут назад резолв был то поновой
orignal
у меня везде слушает потому что я как раз счас его тестирую
orignal
а ну разумеется он по умолчанию 127.0.0.1 слушает
WebClient47
orignal чего то я не соображу как запрос делать, ты через curl запрашиваешь?
orignal
кто как это же просто JSON
orignal
я с itoopie тестировал
orignal
есть где то на питоне скрипты
WebClient47
я не пойму вообще через что пихать эти параметры
WebClient47
ладно буду разбираться
orignal
так спек же есть
orignal
вроде дано исчерпывающе
WebClient47
методом тыка разобрался, но простого примера конечно нехватало
orignal
где то есть на гитхабе на питоне
orignal
сам видел