~AreEnn
                        
                        
                            ~R4SAS
                        
                        
                            ~acetone
                        
                        
                            ~orignal
                        
                        
                            ~villain
                        
                        
                            &N00B
                        
                        
                            +Xeha
                        
                        
                            GFW
                        
                        
                            Nobody
                        
                        
                            Opax
                        
                        
                            WebClient95
                        
                        
                            anon
                        
                        
                            anontor
                        
                        
                            b3t4f4c3
                        
                        
                            deserving-stegosaur
                        
                        
                            duanin2
                        
                        
                            fidoid
                        
                        
                            fujifilm
                        
                        
                            halloy1341
                        
                        
                            iiii
                        
                        
                            karamba_i2p
                        
                        
                            leopold
                        
                        
                            mareki2p
                        
                        
                            negative_rock127
                        
                        
                            nik0tr
                        
                        
                            not_bob_afk
                        
                        
                            ntty
                        
                        
                            osoznayka
                        
                        
                            poriori
                        
                        
                            profetikla
                        
                        
                            rc13
                        
                        
                            shaye
                        
                        
                            slfd
                        
                        
                            teeth
                        
                        
                            un
                        
                        
                            weko_
                        
                        
                            КрутыеЖиды]]]]]]]]]]]]]_Z
                        
                    
                    
                        weko
                    
                    
                        Лол
                    
                
                
                    
                        weko
                    
                    
                        Вопрос убил
                    
                
                
                    
                        orignal
                    
                    
                        segfault представь себе что у тебя два хуя
                    
                
                
                    
                        orignal
                    
                    
                        а не один
                    
                
                
                    
                        segfault
                    
                    
                        Просто почему-то оно вопринималось как одно и тоже. Тут длина туннеля, а тут тоже самое -- сколько штук их в туннеле.
                    
                
                
                    
                        orignal
                    
                    
                        ну вот длина хуя и число хуев это не одно и то же ))
                    
                
                
                    
                        segfault
                    
                    
                        orignal: Кстати, зачем почему в проекте есть new и delete?
                    
                
                
                    
                        orignal
                    
                    
                        потому что мне так захотелось
                    
                
                
                    
                        orignal
                    
                    
                        ну всякие там пулы реализовывать в частности
                    
                
                
                    
                        segfault
                    
                    
                         github.com/PurpleI2P/i2pd/blob/b8f998f76a4acb0f0764e151308f6150a19f076c/libi2pd/NTCP2.cpp#L39   
                    
                
                
                    
                        segfault
                    
                    
                        Переделать на вектор?
                    
                
                
                    
                        weko
                    
                    
                        [22:29:53] <orignal> segfault представь себе что у тебя два хуя
                    
                
                
                    
                        weko
                    
                    
                        Не совсем в тему но такие люди реально есть :)
                    
                
                
                    
                        orignal
                    
                    
                        так о чем и речь ))
                    
                
                
                    
                        orignal
                    
                    
                        segfault нет ничего не трогать там
                    
                
                
                    
                        orignal
                    
                    
                        но замечание верное
                    
                
                
                    
                        orignal
                    
                    
                        надо бы его из пула брать
                    
                
                
                    
                        segfault
                    
                    
                        Там местами нужен рефакторинг. Вот например, код написан в ветке else, а обработка ошибки под if. И это вложено.  github.com/PurpleI2P/i2pd/blob/b8f998f76a4acb0f0764e151308f6150a19f076c/libi2pd/NTCP2.cpp#L476   
                    
                
                
                    
                        orignal
                    
                    
                        нет рефакторинг не нужен
                    
                
                
                    
                        orignal
                    
                    
                        и перестань уже умничать
                    
                
                
                    
                        orignal
                    
                    
                        не оп делу
                    
                
                
                    
                        orignal
                    
                    
                        тебя вот ебет в какой ветке код а где обработка ошибка?
                    
                
                
                    
                        orignal
                    
                    
                        тебе религия велит код под if а обработку под else? фэшнуй?
                    
                
                
                    
                        orignal
                    
                    
                        займись лучше делом
                    
                
                
                    
                        weko
                    
                    
                        Просто важно речь про наличие одного стиля или про чистоту кода
                    
                
                
                    
                        weko
                    
                    
                        Нельзя недооценивать важное и того, и другого
                    
                
                
                    
                        weko
                    
                    
                        Важность*
                    
                
                
                    
                        orignal
                    
                    
                        я придерживаюсь иного мнения
                    
                
                
                    
                        orignal
                    
                    
                        главное чтобы работало проавильно а не чтобы было красиво оформлено
                    
                
                
                    
                        segfault
                    
                    
                        Ну просто в процессе сочинения программы незамтно получилось if {, if {, if {, if {, } else Terminate(), } else Terminate(), } else Terminate(), } else Terminate(). На FullHD мониторе функция еле-еле влазит в экран. Можно за день перелопатить код и привести его к...
                    
                
                
                    
                        segfault
                    
                    
                        Blinded message
                    
                
                
                    
                        segfault
                    
                    
                        Blinded message
                    
                
                
                    
                        segfault
                    
                    
                        Я, конечно, почитываю материалы по работе сети потихоньку, но жестко кодить пока не готов.
                    
                
                
                    
                        segfault
                    
                    
                        Там логика очень многослойная и сложная.
                    
                
                
                    
                        weko
                    
                    
                        [22:56:32] <orignal> главное чтобы работало проавильно а не чтобы было красиво оформлено
                    
                
                
                    
                        weko
                    
                    
                        Безусловно важнее. Однако плохое оформление может с большей вероятностью приводить к ошибкам и багам. А где больше багов, там и больше багов связанных с безопасностью
                    
                
                
                    
                        weko
                    
                    
                        А это вообще не желательно
                    
                
                
                    
                        orignal
                    
                    
                        демагогия
                    
                
                
                    
                        weko
                    
                    
                        В чём я не прав?
                    
                
                
                    
                        weko
                    
                    
                        Или думаешь вероятность не так уж и сильно больше?
                    
                
                
                    
                        orignal
                    
                    
                        в том что обычно те кто озабочен правильным оформлемнием ничего полезного написать не в состоянии
                    
                
                
                    
                        orignal
                    
                    
                        жизненное набдюдение
                    
                
                
                    
                        orignal
                    
                    
                        а те кто умеют писать нужные вещи тем обычно на оформление насрать
                    
                
                
                    
                        weko
                    
                    
                        А это разве делает плохое оформление чем то плохим?
                    
                
                
                    
                        weko
                    
                    
                        Ой бля
                    
                
                
                    
                        weko
                    
                    
                        Хорошее
                    
                
                
                    
                        weko
                    
                    
                        Всё пора в дурку
                    
                
                
                    
                        weko
                    
                    
                        Скоро адрес и номер пас(с)порта писать буду
                    
                
                
                    
                        orignal
                    
                    
                        та же самая логика почему метросексуал пидар
                    
                
                
                    
                        orignal
                    
                    
                        что пдохого  в том что мужик душится как баба?)))
                    
                
                
                    
                        weko
                    
                    
                        Ничего...
                    
                
                
                    
                        orignal
                    
                    
                        но нормальный мужик этого делать не станет
                    
                
                
                    
                        orignal
                    
                    
                        тут примерно также
                    
                
                
                    
                        weko
                    
                    
                        Плохое сравнение. Тут то практический смысл присутствует и не маленький
                    
                
                
                    
                        orignal
                    
                    
                        ну я тебе написал выше
                    
                
                
                    
                        orignal
                    
                    
                        кто занят реальным делом тот не парится с оформлением
                    
                
                
                    
                        weko
                    
                    
                        Ну смотри ты же принял мой PR с редактором функции. Я что подушился ?
                    
                
                
                    
                        weko
                    
                    
                        Рефактором
                    
                
                
                    
                        orignal
                    
                    
                        ну так это ж ты
                    
                
                
                    
                        weko
                    
                    
                        А чем он не он? Пусть делает.
                    
                
                
                    
                        orignal
                    
                    
                        я просто не стал бы заморачиваться
                    
                
                
                    
                        weko
                    
                    
                        А он хочет и видимо может
                    
                
                
                    
                        weko
                    
                    
                        Ты же на баб которые душаться не жалуешься?
                    
                
                
                    
                        orignal
                    
                    
                        потому что бабе положенно душиться
                    
                
                
                    
                        orignal
                    
                    
                        равно как и оформлять все по правилам )))
                    
                
                
                    
                        weko
                    
                    
                        потому я написал про правила сразу
                    
                
                
                    
                        weko
                    
                    
                        но тут правила нужно определить и следовать
                    
                
                
                
                    
                        orignal
                    
                    
                        читай
                    
                
                
                    
                        orignal
                    
                    
                        оно наверное еще в 2015 году написано
                    
                
                
                    
                        user
                    
                    
                        Как работает trust.hidden = true
                    
                
                
                    
                        orignal
                    
                    
                        не знаю
                    
                
                
                    
                        orignal
                    
                    
                        это не я делал
                    
                
                
                    
                        user
                    
                    
                        Не работает
                    
                
                
                    
                        orignal
                    
                    
                        и все собираюсь выпилить
                    
                
                
                    
                        user
                    
                    
                        Ничего не меняется
                    
                
                
                    
                        orignal
                    
                    
                        значит фтопку
                    
                
                
                    
                        orignal
                    
                    
                        я все равно разбираться и чинить не стану
                    
                
                
                    
                        orignal
                    
                    
                        в jeff куда то пропал опять
                    
                
                
                    
                        user
                    
                    
                        Это нужная фича. Надо будет починить.
                    
                
                
                    
                        orignal
                    
                    
                        чини ))
                    
                
                
                    
                        weko
                    
                    
                        так а что вообще должно делать?
                    
                
                
                    
                        orignal
                    
                    
                        а я знаю? ))
                    
                
                
                    
                        orignal
                    
                    
                        что он там думал сделать
                    
                
                
                    
                        weko
                    
                    
                        user вот знает видимо
                    
                
                
                    
                        user
                    
                    
                        Не публиковать IP
                    
                
                
                    
                        orignal
                    
                    
                        с чего ты взял?
                    
                
                
                    
                        user
                    
                    
                        Что бы не попасть в БД роутеров
                    
                
                
                    
                        orignal
                    
                    
                        это ж в секции trust
                    
                
                
                    
                        user
                    
                    
                        Ну да
                    
                
                
                    
                        orignal
                    
                    
                        а просто опции hidden не будет никогда 
                    
                
                
                    
                        orignal
                    
                    
                        почему я неоднократно говорил
                    
                
                
                    
                        weko
                    
                    
                        <~orignal> а просто опции hidden не будет никогда 
                    
                
                
                    
                        weko
                    
                    
                        а её разве уже нету?
                    
                
                
                    
                        user
                    
                    
                        Я, видимо, пропустил
                    
                
                
                    
                        orignal
                    
                    
                        вот для ssu2 да я собираюст сделать опцию чтобы всегда firewalled было
                    
                
                
                    
                        orignal
                    
                    
                        нет и не будет
                    
                
                
                    
                        weko
                    
                    
                        ой бля я имел ввиду что есть
                    
                
                
                    
                        weko
                    
                    
                        точно в дурку пора
                    
                
                
                    
                        orignal
                    
                    
                        есть буква H
                    
                
                
                    
                        orignal
                    
                    
                        мы ее читаем 
                    
                
                
                    
                        weko
                    
                    
                        да я помню
                    
                
                
                    
                        weko
                    
                    
                        говорили про неё недавно
                    
                
                
                    
                        orignal
                    
                    
                        но у самих этого режима нет и не будет
                    
                
                
                    
                        user
                    
                    
                        Он мне объясняет, не мешай
                    
                
                
                    
                        weko
                    
                    
                        вот а смысл от неё ?
                    
                
                
                    
                        orignal
                    
                    
                        это очредной тупняк от jrandom был
                    
                
                
                    
                        weko
                    
                    
                        user: ... -_-
                    
                
                
                    
                        orignal
                    
                    
                        смысла ее нет
                    
                
                
                    
                        user
                    
                    
                        А почему нет?
                    
                
                
                    
                        weko
                    
                    
                        потому что не публиция адресов делает тоже самое
                    
                
                
                    
                        weko
                    
                    
                        и писать об этом дополнительно смысла нет
                    
                
                
                    
                        user
                    
                    
                        А где настраивается публиковать/не публиковать адрес?
                    
                
                
                    
                        weko
                    
                    
                        ntcp2.publish или как то так
                    
                
                
                    
                        weko
                    
                    
                        ну и ssu2
                    
                
                
                    
                        weko
                    
                    
                        просто один хер своё участие в сети не скрыть
                    
                
                
                    
                        weko
                    
                    
                        так что неуловимые джо могут не надеятся на лёгкий способ и идти настраивать прокси или впн
                    
                
                
                    
                        weko
                    
                    
                        или что там в моде у джо
                    
                
                
                    
                        user
                    
                    
                        Ну он хотя бы не будет у всех в БД
                    
                
                
                    
                        user
                    
                    
                        Так?
                    
                
                
                    
                        weko
                    
                    
                        ну знаете, я про себя данные сливаю только ВКонтакте, лучше чем всем сливать, не так ли?
                    
                
                
                    
                        weko
                    
                    
                        )))
                    
                
                
                    
                        weko
                    
                    
                        в прямых подключениях нельзя скрыть свой адрес
                    
                
                
                    
                        user
                    
                    
                        Ну так это ограниченное число одключений
                    
                
                
                    
                        user
                    
                    
                        До начала туннеля
                    
                
                
                    
                        user
                    
                    
                        И все
                    
                
                
                    
                        weko
                    
                    
                        пару дней твоего подключения и несколько майорских нод будет достаточно
                    
                
                
                    
                        weko
                    
                    
                        чтобы хотя бы одно подключение засечь
                    
                
                
                    
                        weko
                    
                    
                        а дальше обратится к провайдеру чтобы он выдал кто именно подключился
                    
                
                
                    
                        weko
                    
                    
                        хоп и майор знает что ты ш2з врубал
                    
                
                
                    
                        user
                    
                    
                        Намекаешь, что это вызовет дополнительное внимание со стороны сс?
                    
                
                
                    
                        weko
                    
                    
                        вполне возможно они уже так делают. списки составляют
                    
                
                
                    
                        weko
                    
                    
                        я говорю что вариантов кроме как доверенный промежуточный узел который не связыван с тобой единственный вариант. и то могут отследить цепочку, что ты общаешься с узлов, а тот в ш2з активен. но я думаю пассивно таким не занимаются
                    
                
                
                    
                        user
                    
                    
                        Где посмотреть b64 роутера?
                    
                
                
                    
                        weko
                    
                    
                        своего?
                    
                
                
                    
                        user
                    
                    
                        Да
                    
                
                
                    
                        weko
                    
                    
                        в вебконсоли
                    
                
                
                    
                        weko
                    
                    
                        RouterIdent
                    
                
                
                    
                        user
                    
                    
                        Это хеш
                    
                
                
                    
                        weko
                    
                    
                        ну дак
                    
                
                
                    
                        weko
                    
                    
                        это и есть хэш в base64
                    
                
                
                    
                        user
                    
                    
                        В trust.routers вставлять эти хеши?
                    
                
                
                    
                        weko
                    
                    
                        думаю да
                    
                
                
                    
                        user
                    
                    
                        через запятую
                    
                
                
                    
                        weko
                    
                    
                        но не уверен
                    
                
                
                    
                        user
                    
                    
                        Ща попробуем
                    
                
                
                    
                        weko
                    
                    
                        интересно заработает ли 
                    
                
                
                    
                        user
                    
                    
                        Что-то судя по транспортам, не работает. Коннектится куда хочет.
                    
                
                
                    
                        orignal
                    
                    
                        RouterIdent должен быть в base64
                    
                
                
                    
                        user
                    
                    
                        Где взять?
                    
                
                
                    
                        weko
                    
                    
                        да я ему уже сказал
                    
                
                
                    
                        orignal
                    
                    
                        есть же параметр тоннеля explicitPeers=
                    
                
                
                    
                        orignal
                    
                    
                        вот он работает
                    
                
                
                    
                        orignal
                    
                    
                        мы его для тестирования используем
                    
                
                
                    
                        user
                    
                    
                        Походу заработало
                    
                
                
                    
                        user
                    
                    
                        Это я лопух. Не раскомментил enabled = true
                    
                
                
                    
                        user
                    
                    
                        Получается, если я не публикую свой IP, и подключаюсь только через доверенные роутеры, никто не узнает, что я использую i2p
                    
                
                
                    
                        user
                    
                    
                        Доверенные роутеры, естественно, не аффилированы со мной.
                    
                
                
                    
                        orignal
                    
                    
                        так они узнают
                    
                
                
                    
                        user
                    
                    
                        Так они мои, на впс за крипту.
                    
                
                
                    
                        orignal
                    
                    
                        так и держи i2p там
                    
                
                
                    
                        orignal
                    
                    
                        а сам ходит по ssh тоннелям
                    
                
                
                    
                        orignal
                    
                    
                        строить тоннели через свои собственные узлы так себе идея
                    
                
                
                    
                        user
                    
                    
                        Просто добавлять +1 хоп
                    
                
                
                    
                        user
                    
                    
                        Если один из роутеров скомпрометируют, увидят, кто подключался по ssh
                    
                
                
                    
                        user
                    
                    
                        А так, по NTCP2 куча соединений
                    
                
                
                    
                        user
                    
                    
                        И попробуй найди
                    
                
                
                    
                        orignal
                    
                    
                        так они и так увидят потому что как той этой впс тебе придется управлять
                    
                
                
                    
                        user
                    
                    
                        Через впн
                    
                
                
                    
                        orignal
                    
                    
                        все равно твои ssh соединения буту
                    
                
                
                    
                        orignal
                    
                    
                        ну так и ssh тоннели делай через впн
                    
                
                
                    
                        orignal
                    
                    
                        не стоит умножать сущности без надобности
                    
                
                
                    
                        weko
                    
                    
                        Кацапы ещё не созрели до тюрьмы за i2p
                    
                
                
                    
                        weko
                    
                    
                        Он может коннектится к ВПС через i2p опять же..
                    
                
                
                    
                        Vort
                    
                    
                        по поводу стиля/чистоты кода: думаю, это станет актуальнее, когда сами по себе функции будут получше отлажены
                    
                
                
                    
                        Vort
                    
                    
                        будет, допустим, покрытие тестами
                    
                
                
                    
                        Vort
                    
                    
                        иначе сейчас 1. хватает багов. 2. неаккуратный рефакторинг может добавить ещё багов, при чём трудноуловимых
                    
                
                
                    
                        segfault
                    
                    
                        Vort: ради бога не надо googletest и прочую херню
                    
                
                
                    
                        Vort
                    
                    
                        ну проблема в том, что никто не знает как полноценно потестировать фрагмент кода после рефакторинга. да даже после починки бага
                    
                
                
                    
                        Vort
                    
                    
                        а вслепую чинить - не очень удобно. проще не трогать, чтобы не сломать
                    
                
                
                    
                        Vort
                    
                    
                        я сам плохо в тестах разбираюсь, но понимаю, что без них каждое изменение - большой риск
                    
                
                
                    
                        Vort
                    
                    
                        и если баги чинить всё-таки надо, и риск понятен, то тягание кода туда-сюда риск не оправдывает
                    
                
                
                    
                        segfault
                    
                    
                        Я сделал правильное выключение
                    
                
                
                    
                        segfault
                    
                    
                        И у меня роутер выключился через segmentation fault (core dumped)
                    
                
                
                    
                        Vort
                    
                    
                        он у меня всегда так выключается
                    
                
                
                    
                        Vort
                    
                    
                        и я даже разбирался, почему
                    
                
                
                    
                        segfault
                    
                    
                        И почему?
                    
                
                
                    
                        Vort
                    
                    
                        потому что код выключения написан не очень аккуратно. а написан он так, потому что orignal считает выключение узла делом маловажным
                    
                
                
                    
                        Vort
                    
                    
                        там и утечки памяти ещё есть
                    
                
                
                    
                        Vort
                    
                    
                        при выключении
                    
                
                
                    
                        Vort
                    
                    
                        в общем, дело в порядке того, как модули завершают свою работу
                    
                
                
                    
                        Vort
                    
                    
                        они довольно загадочным образом друг от друга зависят
                    
                
                
                    
                        Vort
                    
                    
                        и распутать этот клубок непросто
                    
                
                
                    
                        Vort
                    
                    
                        ещё многие модули хранятся в глобальных переменных
                    
                
                
                    
                        segfault
                    
                    
                        мьютексы сделать для правильного порядка выключения модулей никто не хочет?
                    
                
                
                    
                        Vort
                    
                    
                        а C++ насколько я помню, не заморачивается с порядком их уничтожения
                    
                
                
                    
                        segfault
                    
                    
                        Vort: Так они же в разных тредах
                    
                
                
                    
                        Vort
                    
                    
                        ну дедлоки будут с мьютексами ) там задница в общем
                    
                
                
                    
                        Vort
                    
                    
                        можешь попробовать разобраться, но башка болеть будет )
                    
                
                
                    
                        segfault
                    
                    
                        Нужно в дестуктор каждого модуля поместить join() тех модулей, которые должны завершить работу до него
                    
                
                
                    
                        segfault
                    
                    
                        Но знает ли хоть кто-нибудь идеальный порядок выключения модулей?
                    
                
                
                    
                        Vort
                    
                    
                        1. это только кажется простым. 2. хехе. вот это правильный вопрос. особенно учитывая взаимные связи. иногда надо половину одного модуля вырубить, потом половину второго, потом опять половину первого )))
                    
                
                
                    
                        Vort
                    
                    
                        segfault: знаешь же что i2pd использует boost asio ?
                    
                
                
                    
                        Vort
                    
                    
                        а как этот asio работает знаешь?
                    
                
                
                    
                        segfault
                    
                    
                        Ну если дестукторы нормально не работают, то какой вообще в них смысл? Можно просто после 10 минут сделать exit(0) и всё. Ничего не поменяется.
                    
                
                
                    
                        Vort
                    
                    
                        а в i2pd модули и не через деструкторы завершаются. там методы Stop вроде :))
                    
                
                
                    
                        Vort
                    
                    
                        ты не осознаёшь ещё глубины задницы ))
                    
                
                
                    
                        segfault
                    
                    
                        Vort: нет. Я всегда использовал Linux API
                    
                
                
                    
                        Vort
                    
                    
                        так вот этот asio добавляет очень много интересностей к процессу завершения работы i2pd
                    
                
                
                    
                        Vort
                    
                    
                        пока не поймешь идеально как он работает, выключение i2pd починить не удастся
                    
                
                
                    
                        segfault
                    
                    
                        Я же предложил. Надо просто exit(0) сделать. Ошибки не будет
                    
                
                
                    
                        segfault
                    
                    
                        Да, это плохо
                    
                
                
                    
                        segfault
                    
                    
                        Но не хуже, чем сейчас
                    
                
                
                    
                        Vort
                    
                    
                        сейчас хотя бы есть шанс, что нормально выйдет - с сохранением пир профилей к примеру
                    
                
                
                    
                        Vort
                    
                    
                        с exit ещё можно лог файлы попортить, если на половине вывода строчки выйти. короч ленивое решение это
                    
                
                
                    
                        Vort
                    
                    
                        и запросто создаст больше проблем, чем есть сейчас
                    
                
                
                    
                        segfault
                    
                    
                        Так просто подождать мьютекс сохранялки и мьютекс логера
                    
                
                
                    
                        Vort
                    
                    
                        ещё же и в netdb может быть активность
                    
                
                
                    
                        Vort
                    
                    
                        ну так вот эти все ожидания - это и есть процесс завершения работы
                    
                
                
                    
                        Vort
                    
                    
                        и вопрос в том, как сделать так, чтобы это нормально работало :)
                    
                
                
                    
                        orignal
                    
                    
                        где то пулы удаляются раньше значит
                    
                
                
                    
                        Vort
                    
                    
                        там много взаимосвязанных проблем
                    
                
                
                    
                        Vort
                    
                    
                        как минимум, связь с утечками
                    
                
                
                    
                        Vort
                    
                    
                        то есть, цель - и чтобы крешей не было и чтобы утечек не было
                    
                
                
                    
                        Vort
                    
                    
                        убрать креши, добавив утечки - как бы не вариант
                    
                
                
                    
                        Vort
                    
                    
                        думаю, суть всё же в продумывании правильного порядка остановки модулей
                    
                
                
                    
                        Vort
                    
                    
                        может, стоит подумать над распутыванием взаимосвязей модулей. может, новый модуль какой-то выделять надо
                    
                
                
                    
                        Vort
                    
                    
                        ну и это уже мои личные предпочтения, но мне кажется, что надо избавляться от хранения модулей в глобальных переменных
                    
                
                
                    
                        Vort
                    
                    
                        вариант "удаление в произвольном порядке" порядка не добавляет )
                    
                
                
                    
                        orignal
                    
                    
                        у меня обычно корректно заверщнается
                    
                
                
                    
                        Vort
                    
                    
                        при быстром выходе или при медленном?
                    
                
                
                    
                        weko
                    
                    
                        Vort: тоесть выходит тесты приоритетней. Но кто будет их писать?
                    
                
                
                    
                        weko
                    
                    
                        Нужно же там пакеты подбирать нужные и не очень
                    
                
                
                    
                        Vort
                    
                    
                        как по мне, важно удачную архитектуру для тестов выбрать
                    
                
                
                    
                        Vort
                    
                    
                        с удачной архитектурой уже можно тесты по аналогии делать
                    
                
                
                    
                        weko
                    
                    
                        Ну это да
                    
                
                
                    
                        Vort
                    
                    
                        тесты они же на разных уровнях нужны
                    
                
                
                    
                        Vort
                    
                    
                        на уровне функций, классов, целой сети
                    
                
                
                    
                        weko
                    
                    
                        Так завершаться модули должны в обратном порядке как они были запущены
                    
                
                
                    
                        Vort
                    
                    
                        ну и производительность тоже надо тестировать
                    
                
                
                    
                        Vort
                    
                    
                        weko: говорю же - не так там всё просто. есть неочевидные связи между модулями
                    
                
                
                    
                        weko
                    
                    
                        Vort: для целой сети можно только статистику сделать. Что я и хотел, как самое практически полезное. Чтобы видеть те баги, которые влияют на сеть
                    
                
                
                    
                        Vort
                    
                    
                        ну и опять же - есть два типа остановки - Stop() и деструктор
                    
                
                
                    
                        Vort
                    
                    
                        weko: ну целой _тестовой_ сети, прошу прощения что не уточнил
                    
                
                
                    
                        weko
                    
                    
                        Vort: вот от Stop есть какие то ошибки?
                    
                
                
                    
                        weko
                    
                    
                        Vort: ну тестовая менее показательна, что минус
                    
                
                
                    
                        Vort
                    
                    
                        ну Stop может не всё остановить - в asio будут ещё ошмётки болтаться. а потом приходит деструктор...
                    
                
                
                    
                        Vort
                    
                    
                        я уже не помню точно как там сделано. помню только что проблем много и разных
                    
                
                
                    
                        weko
                    
                    
                        Значит нужно Stop доделывать
                    
                
                
                    
                        weko
                    
                    
                        Чтобы он реально всё останавливал
                    
                
                
                    
                        Vort
                    
                    
                        я тоже думал о таком варианте. но это надо кучу всего на умные указатели переделывать
                    
                
                
                    
                        Vort
                    
                    
                        ну и почему просто не использовать деструктор?
                    
                
                
                    
                        weko
                    
                    
                        Потом деструктор чистил всё в обратном порядке создания что есть поведение по умолчанию
                    
                
                
                    
                        weko
                    
                    
                        Не знаю, правильно пихать в деструктор остановку модуля. Если правильно - ну вот и решение
                    
                
                
                    
                        Vort
                    
                    
                        ну а правильно иметь две функции уничтожения? по каким критериям разделение - что должно в Stop идти, а что в деструктор?
                    
                
                
                    
                        Vort
                    
                    
                        я когда пробовал чинить это место, я кстати Stop2 ещё делал
                    
                
                
                    
                        Vort
                    
                    
                        из-за загадочных связей )
                    
                
                
                    
                        weko
                    
                    
                        Stop это по логике остановка работы, а деструктор удаления из памяти оставшегося мусора
                    
                
                
                    
                        Vort
                    
                    
                        то есть, Stop ничего удалять не должен? ну условно говоря
                    
                
                
                    
                        Vort
                    
                    
                        вроде и логично, но по-моему он дофига всего удаляет
                    
                
                
                    
                        weko
                    
                    
                        Так не должен
                    
                
                
                    
                        weko
                    
                    
                        Сначала остановка полная потом удаление
                    
                
                
                    
                        Vort
                    
                    
                        может так и правильно
                    
                
                
                    
                        weko
                    
                    
                        А ты пробовал?
                    
                
                
                    
                        Vort
                    
                    
                        что пробовал?
                    
                
                
                    
                        weko
                    
                    
                        Сделать так
                    
                
                
                    
                        weko
                    
                    
                        Дестуркторы же они для того и нужны чтобы удалять не нужное после того как объект не нужен
                    
                
                
                    
                        Vort
                    
                    
                        я пробовал чисто затыкать креши и утечки. полностью чтобы переделать это надо понимать всю структуру программы. у меня же этого понимания нету
                    
                
                
                    
                        weko
                    
                    
                        Борьба с симптомами
                    
                
                
                    
                        Vort
                    
                    
                        вот посмотри к примеру как Stop в NetDb сделан:  github.com/PurpleI2P/i2pd/blob/b8f998f76a4acb0f0764e151308f6150a19f076c/libi2pd/NetDb.cpp#L83-L103   
                    
                
                
                    
                        Vort
                    
                    
                        clear, clear, delete, даже = 0 чтобы уж точно добить :D
                    
                
                
                    
                        weko
                    
                    
                        При чём останавливать тоже в обратном порядке. Точно не знаю, но логично начать с прокси, SAM, и прочего. Потом остановить построение туннлей, прочее, потом транспорта и под конец netdb
                    
                
                
                    
                        weko
                    
                    
                        И когда оно гарантированно всего не работает деструкторы начинают чистить
                    
                
                
                    
                        weko
                    
                    
                        А они то как раз умные, помогать им не надо
                    
                
                
                    
                        Vort
                    
                    
                        если только нету циклических связей
                    
                
                
                    
                        orignal
                    
                    
                        по kill -s INT
                    
                
                
                    
                        Vort
                    
                    
                        иначе "кольцо" так и останется в памяти болтаться
                    
                
                
                    
                        Vort
                    
                    
                        case SIGINT: ... "Graceful shutdown after "...
                    
                
                
                    
                        weko
                    
                    
                        А они есть? 
                    
                
                
                    
                        Vort
                    
                    
                        по-моему есть. но на 100% не уверен
                    
                
                
                    
                        Vort
                    
                    
                        orignal: медленная остановка меньше крешит, да. но, во-первых, и быстрая не должна крешить
                    
                
                
                    
                        Vort
                    
                    
                        и, во-вторых, отладив быструю, скорее всего и медленная станет надёжной
                    
                
                
                    
                        orignal
                    
                    
                        я согласен что надо разбираться
                    
                
                
                    
                        weko
                    
                    
                        А разве деструкторы умеют определять что кольцо есть? Они же просто удаляют объекты рекурсивно. Или в этом и проблема?
                    
                
                
                    
                        orignal
                    
                    
                        по уму же быстрой остановки вообще быть не должно
                    
                
                
                    
                        weko
                    
                    
                        [12:03:01] <orignal> по уму же быстрой остановки вообще быть не должно
                    
                
                
                    
                        weko
                    
                    
                        А я предлагал)). И ты тоже. Как сделать в смысле
                    
                
                
                    
                        orignal
                    
                    
                        weko если кольцо то десткурторы вообще никогда не вызовутся
                    
                
                
                    
                        segfault
                    
                    
                        orignal: ^C и ^\ всегда останутся.
                    
                
                
                    
                        Vort
                    
                    
                        ну иногда юзеру надо срочно вырубить комп - и лучше быстрая остановка, чем выдергивание из розетки )
                    
                
                
                    
                        weko
                    
                    
                        И kill -s TERM
                    
                
                
                    
                        segfault
                    
                    
                        В этом проблема, кстати. I2P-роутер это не демон в привычном понимании, потому что демон должен мочь управляться через систему инициализации
                    
                
                
                    
                        segfault
                    
                    
                        Вот я выключаю комп и I2Pd должен на 10 минут остановить Init
                    
                
                
                    
                        segfault
                    
                    
                        Сомнительное решение
                    
                
                
                    
                        weko
                    
                    
                        Речь про то что должно быть куда меньше 10 минут
                    
                
                
                    
                        weko
                    
                    
                        Если ввести некоторые модификации протокола
                    
                
                
                    
                        orignal
                    
                    
                        так я об этом навнрное 10 лет говорю
                    
                
                
                    
                        orignal
                    
                    
                        что нужно сообщение от узла что он уходит из тоннеля
                    
                
                
                    
                        user
                    
                    
                        Routers: 227 Floodfills: 222
                    
                
                
                    
                        user
                    
                    
                        Очень быстро деградировал с 3к роутеров.
                    
                
                
                    
                        user
                    
                    
                        Отключен транзит и публикация адреса.
                    
                
                
                    
                        user
                    
                    
                        Это норма?
                    
                
                
                    
                        weko
                    
                    
                        может подключение плохое?
                    
                
                
                    
                        user
                    
                    
                        За натом
                    
                
                
                    
                        Vort
                    
                    
                        может интернет отрубался
                    
                
                
                    
                        user
                    
                    
                        Не отрубался
                    
                
                
                    
                        user
                    
                    
                        В логах пишет, что удаляет недоступные хосты из бд.
                    
                
                
                    
                        user
                    
                    
                        Вроде пишет, что и новые добавляет и обновляет существующие, но ситуация вот такая.
                    
                
                
                    
                        segfault
                    
                    
                        Я с 8000 до 3000 просел
                    
                
                
                    
                        Vort
                    
                    
                        я на своём узле тоже проседание видел
                    
                
                
                    
                        Vort
                    
                    
                        но решил, что это из-за моих нагрузок на сеть
                    
                
                
                    
                        user
                    
                    
                        На другом роутере сейчас норм
                    
                
                
                    
                        Vort
                    
                    
                        может и общее для сети явление
                    
                
                
                    
                        user
                    
                    
                        Routers: 9635 Floodfills: 1444
                    
                
                
                    
                        user
                    
                    
                        Правда Tunnel creation success rate: 15%
                    
                
                
                    
                        segfault
                    
                    
                        У меня чуть больше 50%
                    
                
                
                    
                        weko
                    
                    
                        у меня всё ок. tcsr 35%
                    
                
                
                    
                        segfault
                    
                    
                        Жалко что потребление памяти посмотреть не получается
                    
                
                
                    
                        weko
                    
                    
                        htop?
                    
                
                
                    
                        Vort
                    
                    
                        у меня на графиках видно 3 часа назад какое-то событие - резкий всплеск TCP коннектов и соответствующее ему повышение нагрузки CPU у i2pd. длилось полчаса
                    
                
                
                    
                        Vort
                    
                    
                        может эхо от того события проявляется
                    
                
                
                    
                        segfault
                    
                    
                        Оно не показывает сколько ядро жрёт на поддержку нескольких тысяч подключений
                    
                
                
                    
                        Vort
                    
                    
                        думаю, что мало
                    
                
                
                    
                        weko
                    
                    
                        segfault: так оно в теории константное значение
                    
                
                
                    
                        weko
                    
                    
                        на один коннект одинаковое количество памяти
                    
                
                
                    
                        weko
                    
                    
                        на каждый
                    
                
                
                    
                        segfault
                    
                    
                        Ну, да это сколько?
                    
                
                
                    
                        weko
                    
                    
                        откуда я знаю
                    
                
                
                    
                        segfault
                    
                    
                        Ну вот. Я не знаю сколько оно потребляет, но почему-то мне кажется что не мало
                    
                
                
                    
                        weko
                    
                    
                        я думаю копейки
                    
                
                
                    
                        Vort
                    
                    
                        вот тут кстати тоже виден всплеск 3 часа назад:  ujtui6edpiqofdhuwdwo3trfrjznqgvzcagvofybu666wivwkdqa.b32.i2p/index.html  
                    
                
                
                    
                        segfault
                    
                    
                        Кто-то насилует сеть?
                    
                
                
                    
                        Vort
                    
                    
                        может быть тестовый запуск атаки
                    
                
                
                    
                        weko
                    
                    
                        <Vort> вот тут кстати тоже виден всплеск 3 часа назад:  ujtui6edpiqofdhuwdwo3trfrjznqgvzcagvofybu666wivwkdqa.b32.i2p/index.html  
                    
                
                
                    
                        weko
                    
                    
                        резко выросло количество SSU2 коннектов, и сильно и резко снизилось количество транзитных туннелей.
                    
                
                
                    
                        weko
                    
                    
                        может кто-то пытался блокировать? если коннекты это причина, а не следствие
                    
                
                
                    
                        user
                    
                    
                        Чебурнет тестируют
                    
                
                
                    
                        weko
                    
                    
                        я так подумал потому что только TCP
                    
                
                
                    
                        Vort
                    
                    
                        это я чисто TCP логирую (UDP так просто не пологируешь), а на графике по ссылке видно, что всплеск был общий - и TCP и UDP
                    
                
                
                    
                        Vort
                    
                    
                        видимо, кто-то просто данных много гонял, вот коннектов и наплодилось
                    
                
                
                    
                        Vort
                    
                    
                        то есть, скорее всего, это как и раньше - коннекты от обычных юзеров, но спровоцированные каким-то событием
                    
                
                
                    
                        weko
                    
                    
                        почему тогда скорость упала
                    
                
                
                    
                        Vort
                    
                    
                        наверно у того узла лимит стоит
                    
                
                
                    
                        Vort
                    
                    
                        а как лимит в i2pd работает мы знаем :)
                    
                
                
                    
                        weko
                    
                    
                        видно что там скакануло вверх перед этим
                    
                
                
                    
                        weko
                    
                    
                        наверное да
                    
                
                
                    
                        user
                    
                    
                        Streaming: LeaseSet was not confirmed in 4000 milliseconds. Trying to resubmit
                    
                
                
                    
                        user
                    
                    
                        А что за лизсеты мой роутер пытается опубликовать? У меня никаких сервисов не запущено...
                    
                
                
                    
                        orignal
                    
                    
                        значит что то запущено
                    
                
                
                    
                        orignal
                    
                    
                        и это обязательно серврный тоннель
                    
                
                
                    
                        user
                    
                    
                        Client Tunnels:
                    
                
                
                    
                        user
                    
                    
                         HTTP Proxy 
                    
                
                
                    
                        user
                    
                    
                        И все
                    
                
                
                    
                        orignal
                    
                    
                        а сокс?
                    
                
                
                    
                        user
                    
                    
                        Services HTTP ProxyEnabled SOCKS ProxyDisabled BOBDisabled SAMDisabled I2CPDisabled I2PControlDisabled   
                    
                
                
                    
                        orignal
                    
                    
                        что в серверных тоннелях?
                    
                
                
                    
                        orignal
                    
                    
                        аааа так это в Streaming
                    
                
                
                    
                        orignal
                    
                    
                        что тебя удвиляет?
                    
                
                
                    
                        orignal
                    
                    
                        у тебя же у прокси тоже есть лизсет просто не публикемый
                    
                
                
                    
                        user
                    
                    
                        Я не совсе, видимо, понимаю логику работы
                    
                
                
                    
                        orignal
                    
                    
                        ну смотри
                    
                
                
                    
                        orignal
                    
                    
                        когда ты через прокси подключаешься к кому то
                    
                
                
                    
                        orignal
                    
                    
                        то он чтобы отправить тебе ответ должен знать твой лизсет
                    
                
                
                    
                        orignal
                    
                    
                        ты его обычно отправляешь с первым пакетом данных
                    
                
                
                    
                        orignal
                    
                    
                        ну и когда протухнет тоже
                    
                
                
                    
                        orignal
                    
                    
                        и ждешь подтверждения
                    
                
                
                    
                        orignal
                    
                    
                        если есть подверждение то все
                    
                
                
                    
                        orignal
                    
                    
                        если нет пытаешься снова
                    
                
                
                    
                        user
                    
                    
                        А это с туннелями проблема, типа
                    
                
                
                    
                        user
                    
                    
                        Не могу достучаться до сервиса
                    
                
                
                    
                        weko
                    
                    
                        да и с туннелями тоже так. и вообще с любым i2p подключением
                    
                
                
                    
                        orignal
                    
                    
                        ну да
                    
                
                
                    
                        user
                    
                    
                        Понял, спасибо
                    
                
                
                    
                        orignal
                    
                    
                        не пришел ответ на лизсет короче
                    
                
                
                    
                        user1
                    
                    
                        i2p.streaming.initialAckDelay Milliseconds to wait before sending Ack. (default: 200)
                    
                
                
                    
                        user1
                    
                    
                        Это для чего задержка нужна?
                    
                
                
                    
                        orignal
                    
                    
                        сколько ждать данных в другую сторону перед тем как Ack послать
                    
                
                
                    
                        Opicaak
                    
                    
                        Hello, I was just wondering if it is possible to configure i2pd in a way, that it uses Tor proxy for reseeding only from .onion reseed servers, and no proxy for regular normienet reseed servers?
                    
                
                
                    
                        orignal
                    
                    
                        reseed.proxy=socks://127.0.0.1:9050
                     
                
                
                    
                        Opicaak
                    
                    
                        But that will route everything though that proxy, no?
                    
                
                
                    
                        Opicaak
                    
                    
                        Even clearnet reseeds.
                    
                
                
                    
                        orignal
                    
                    
                        no it's not possible
                    
                
                
                    
                        Opicaak
                    
                    
                        By everything I mean all reseed servers, including clearnet ones.
                    
                
                
                    
                        orignal
                    
                    
                        then tell me if you use Tor why do you need clearnet reseed?
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: лол
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: edit your list to have ONLY onion reseed
                    
                
                
                    
                        orignal
                    
                    
                        I don't see any rationalie 
                    
                
                
                    
                        orignal
                    
                    
                        apophis, he wants to have both in the list
                    
                
                
                    
                        orignal
                    
                    
                        Blinded message
                    
                
                
                    
                        orignal
                    
                    
                        but what for?
                    
                
                
                    
                        orignal
                    
                    
                        especially reseed is one time thing
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: > Opicaak: Hello, I was just wondering if it is possible to configure i2pd in a way, that it uses Tor proxy for reseeding only from .onion reseed servers, and no proxy for regular normienet reseed servers?
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: Means he wants Onion only reseeds, so why bother to keep clearnet records ?
                    
                
                
                    
                        orignal
                    
                    
                        " and no proxy for regular normienet reseed servers" means direct access to clearnet resseds
                    
                
                
                    
                        Opicaak
                    
                    
                        original, yeah, you are right, it doesn't really make sense. I'm overthinking things.
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: sure
                    
                
                
                    
                        pikachu
                    
                    
                        Всем print "hello"
                    
                
                
                    
                        pikachu
                    
                    
                        как настроение, как разработка I2P, что новенького в сети, какие планы?