IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2024/09/05
Most2
Nikat
acetone
segfault
trust
weko_
tetrimer Под фрей сборка ругается на отсутствие gexpr - он ставится из портов и не факт, что будет в системе по-умолчанию.
tetrimer В результате - всегда будет "-std=c++17"
tetrimer Т.е. собраться-то оно соберется с опцией -std=c++17, но в чем тогда смысл в случае "# clang 16 - 19" выбирать опцию "-std=c++20" - я так и не понял.
tetrimer С опцией "-std=c++20" на clang 17.0.6 - собирается, размер чуть меньше, но делает вид, что работает.
Vort tetrimer: сборки под винду на clang тоже бывают, это надо учитывать
acetone_ На днях пришла идея приложения на SAM, но оказалось, что на этом поприще все сложно. Взялся написать либу. Выложу позже, когда в рамках своего проекта обкатаю, но в целом работает и уже написал доку: paste.i2pd.xyz/?3d704337050c44bc#FHPdNZvC54FCcENhLQXwxvdvCMhv8Kd97ne5ahjkM3Ag
acetone_ *** The gang's back in town ***
Vort tetrimer: посмотрел код, понял, что речь исключительно об Makefile.bsd и винда тут не при чём
Vort acetone_: проект тоже выкладывать будешь?
acetone_ Vort: да, все публичное :) либу выложу раньше, когда пойму, что все на месте))
Vort иногда вместо чтения документации на либу проще накопипастить кода из какого-то проекта, её использующего :)
Vort ну и проект - это явное доказательство пригодности либы
acetone_ несомненно)) это не столько дока, сколько ридмишка для репозитория, но с понятнейшими примерами использования
onon acetone, Приветствую!
acetone_ onon: приветы
orignal tetrimer ну а как ты предлагаешь починить?
orignal я сделал как умел по аналогии с лиунксом
orignal смысл c++20 в использовании фич из 20
orignal это задел на будушее
flumental сколько нод i2p безопасно в плане банов иметь на одной машине?
tetrimer "else ifeq (${CXXVER}, ${filter ${CXXVER},16 17 18 19}) # clang 16 - 19
tetrimer NEEDED_CXXFLAGS = -std=c++17"
orignal tetrimer спс
tetrimer Если я правильно понимаю логику.
orignal неправильо
tetrimer Стоп, там еще строчка будет
orignal CXXVER же 17.0.6 грубо говоря
orignal а надо только первые два
tetrimer CXXVER := $(shell $(CXX) -dumpversion|cut -c 1-2)
tetrimer Вот там мы получаем первые две цифры
orignal вот теперь понял
orignal ты проверял?
tetrimer Да, только что собрал.
orignal flumental если не пубиловать IP то сколько угодно
orignal покажи весь кусок
flumental ну они все будут активно работать, не знаю публикуют они при этом айпи или как
orignal надо все что выше 16 чтобы 20 а все остальные 17
orignal flumental статус Firewalled если то не будут
tetrimer Вот, этого то я и не понял.
tetrimer Значит назначение флагов действительно надо вернуть обратно.
orignal для новых 20
orignal для старых 17
orignal для совсем старых облом
tetrimer Тогда вот так получается:
tetrimer " ## custom FLAGS to work at build-time.
tetrimer -CXXVER := $(shell $(CXX) -dumpversion)
tetrimer +CXXVER := $(shell $(CXX) -dumpversion|cut -c 1-2)
tetrimer ifeq (${CXXVER}, "4.2.1") # older clang always returned 4.2.1
tetrimer $(error Compiler too old)
tetrimer -else ifeq ($(shell gexpr match ${CXXVER} "1[6-9]"),2) # clang 16 - 19
tetrimer +else ifeq (${CXXVER}, ${filter ${CXXVER},16 17 18 19}) # clang 16 - 19
tetrimer NEEDED_CXXFLAGS = -std=c++20"
orignal вот тут не будет провреки
orignal <tetrimer> ifeq (${CXXVER}, "4.2.1") # older clang always returned 4.2.1
orignal счас починю
orignal поправил
tetrimer Спасибо!
tetrimer Работает!
tetrimer clang++ -dumpversion
tetrimer 14.0.5
tetrimer Выбрано: -std=c++17
orignal ну так и должно быть
orignal я не уврене что там 20 нормальный
orignal может и можно
tetrimer Проверить сборку с 20? Или это где-то очень глубоко может быть закопано?
orignal нет не надо
orignal я потом сам проверю
orignal у поляков там 18-ый
flumental можно ведь собирать не на сервере и потом закидывать на сервер
tetrimer Можно, только очень желательно, чтобы линкуемые библиотеки совпадали.
tetrimer Проверяется "ldd /where/live/i2pd"
tetrimer Или собирать статиком.
acetone_ Vort: залил либу notabug.org/acetone/samty
Vort acetone_: меня копирайт часто в ступор вводит. допустим, у меня куча кода надёргана из разных источников
Vort поставлю все лицензии из всех источников - кто-то скажет, что они несовместимы - нельзя
Vort поставлю PD/WTFPL - скажут, что нельзя - так как не весь код мой
Vort а переписывать всё с нуля... не пошли бы копирасты куда подальше...
acetone_ Vort: я отношусь к этому очень просто) как говорят у меня в деревне: вообще похуй
Vort ну просто могут прийти в issue умники и начать морочить голову
Vort а так то да
acetone_ не коммерцию же для гугла кто-то на I2P писать будет) так что тут разгуляй полнейший. что касается коммерческой белой разработки, то это другая история)
Vort для того чтобы придираться, код вообще писать не надо. вполне можно ходить по рандомным проектам и морочить голову
tetrimer А потом придет Майкрософт и потребует отчислений, т.к. у него i2p технология уже давно запатентована.
flumental ну драсьте
flumental будем новый миропорядок писать
flumental ща прилинкую i2pd к чатику и на весь мир растиражирую
flumental я таки сделал себе через sing-box его встроенными средствами прозрачный прокси к i2p, так что это возможно если вдруг кому интересно
flumental в секции dns включаете independent_cache и reverse_mapping, после чего спокойно роутите dns в fakeip, а не-днс запросы по domain_suffix i2p в i2pd http proxy
onon И что, дед предлагает сделать максимальное окно 320?
orignal так спроси его сам
orignal ты же понимаешь лучше
onon Я не шарю в вашей криптографии
orignal ты ответь по размер окна
onon А что за вопрос был
orignal что вычисляется тагов всего 320
orignal а потреяться может больще
orignal и если перепосылка придет 321 ым то не сможет расшфровать
onon Ну да. Может потеряться всё окно
orignal он говорит что окна в 500 быть не должно
onon А вот про ретрансмит 500 пакетов я не совсем понял
orignal дескать "вы там все дураки"
onon Ну так логично, изначально всё проектировалось под 128 пакетов
orignal вот я хочу чтобы ты объяснил что окно в 500 это нормально для тяжелого трафика
onon Но так не будет работать быстро
orignal ну вот я думаю поменять 320
onon Так он сам всё понимает bw = window / rtt = (128 * 1812) / 1 = 232 KBps = 1.8 Mbit/s
orignal я пытался у него понять откуда такое число взялось
onon Просто сделали с запасом я думаю
onon Если я получил 1000 пакетов, а потом получаю 1321-й, то я его что, не смогу расшифровать?
onon Может я что-то путаю, но у меня в тестах гэпы и побольше были и он справлялся
orignal именно так
orignal если 320 подряд потерялось то все
orignal потому что расчет новых тагов делается при получении
onon А можно как-то в заголовках пакетов передавать текущий размер окна
onon Или при старте договариваться
onon Сколько тагов генерить
onon Тогда выпиливай эту херню в SSU, которая дропает пакеты большими пачками
onon Понятно что это не единственная причина, но всё же
orignal так надо бы
orignal чтобы стрим сообщал сессии размер окна
onon Пока можно поставить 320 макс окно
orignal но проблема то на другой стороне
onon Это скажется только на длинных туннелях
orignal ну давай поставим
onon Пока не найдём решение
orignal а при перепосылке не станет больше?
onon Что имеется в виду?
orignal 320 размер окна
orignal а если перепосылка может откпрваляться без подверждаения больше чем 320