IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2023/07/31
~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Leopold
Most2
Nausicaa
Ruskoye_911
Vort
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob_afk
plap
poriori
profetikla
soos
teeth
un
weko_
whothefuckami
Vort "зависит от того флудфил или нет" - допустим, флудфил. у него данные должны быть более упорядоченные, да?
tetrimer Vort: > желательно, чтобы кто-нибудь проверил и потестировал
tetrimer Вчера вечером собрал, запустил: пока работает...
tetrimer Uptime: 11 hours, 12 minutes, 49 seconds
tetrimer Network status: OK
tetrimer Tunnel creation success rate: 17%
tetrimer Received: 7.91 GiB (188.36 KiB/s)
tetrimer Sent: 9.33 GiB (230.77 KiB/s)
tetrimer Transit: 5.88 GiB (144.39 KiB/s)
tetrimer Router Caps: OfR
tetrimer Version: 2.46.1-194-g68f4961f
tetrimer Routers: 10952 Floodfills: 1000 LeaseSets: 201
tetrimer Client Tunnels: 69 Transit Tunnels: 2833
Vort tetrimer: спасибо. правда, исправление больше предназначено для U узлов. но если R узел не поломался, то тоже хорошо, конечно же :)
Vort то есть, главный вопрос - увеличивает ли исправление количество транзитных туннелей на U узлах
Vort исправлять, правда, это надо независимо от ответа на этот вопрос. но если увеличит - то будет хорошо
crystalway Всем привет. А это нормально Tunnel creation success rate резко упал с 30% до 22%
orignal да у флудфила будет большинство ближайших к нему по DHT
Leopold_ В веб консоли в транспортах: 4-х символьный идентификатор от одного и того же роутера для NTCP2 и NTCP2v6 совпадает?
orignal такое возможно
orignal может и одинаковый в списке быть
orignal какие то альтернативно одаренные клонируют целиком всю папка с router.info
Leopold По дефолту ставится длина 3 хопа, 5 туннелей?
orignal угу
weko apophis: ошибки протокола - некоторые известны и иногда даже предлагается более одного решения. Тут сложности:
weko 1) жавистам ничего не надо
weko 2) подобное сложнее, чем исправление бага
weko 3) баг может оказывать более сильное влияние, чем архитектурная ошибка
relaybot 13apophis: 1 :)))))
relaybot 13apophis: хороший аргумент
weko Ну реально ж, жавистам пох будет с большим шансом
relaybot 13apophis: я в курсе, да ... это факт
weko И потому желательно, чтобы большнство использовали i2pd... А этому способствует отсутствие багов в том числе и в клиентской части :)
weko ну и там GUI какой нибудь продвинутый не помешал бы
weko И разобраться с кучей клиентских протоколов, которые при расширении будут перкпокрывать одни и теже функции
weko А сейчас вообще не все функции покрываются
relaybot 13apophis: я думал вы давно решили про ГУИ ( вебморда ). Что касается подобия Йваи2п ГУИ, то это да ... надо такого типа. Наработки есть я слышал
guesto Hello, how can i access the 'irc2p' network? it seems to have different rooms than this one 'ILITA'
orignal irc.postman.i2p
guesto hi, i tried that, with port 6667 = irc.postman.i2p:6667
guesto but it says it cannot connect
guesto 'Unknown host. Maybe you misspelled it?'
orignal you must create another tunnel
guesto oh, i dont have that one, that makes sense. Do you have some link where its explained 'how to open a tunnel in i2pd'?
guesto orignal
guesto thanks in advance
orignal I'm busy
guesto found it on i2pd doc page(clearnet), sorry
Vort "у флудфила будет большинство ближайших к нему по DHT" там как-то XOR расстояние считается или что-то в этом духе? это хорошая особенность для проверки. сделать 10к рандом хешей, построить гистограмму расстояний и сделать то же самое с р
Vort еальной NetDb флудфила
Vort у меня есть подозрение, что там может быть что-то нечисто (хотя обоснований для этого мало)
weko расстояния тогда должны быть в среднем должны быть 2**256 / 10000, тоесть расстояния в среднем зависят от количества ключей
weko зависит*
weko тоесть можешь хоть щас посчитать
weko это если именно соседние рассматривть
Vort как там считать? xor хешей и подсчёт единиц (или нулей) или что-то хитрее? хотя могу и сам глянуть
weko тебе нужна сортировка с ключом xor
weko чтобы просмотреть каждое соседство
weko если кинешь все хэши, я посчитаю
weko ну могу если надо
Vort к сожалению, не понял пока что. про зависимость от количества тоже не понял. xor моего идентхеша и идентхеша произвольного узла в netdb стоит считать?
weko нет, оно же случайным будет
weko толку нет
weko не надо ничего произвольного считать. я же сказал, сортируешь по расстоянию (ключ xor), дальше смотишь среднее растояние между соседями
Vort так расстояние между чем и чем тогда считается если не между идентхешами?
weko оно должно приблжиаться к 2**256/N, где N - количество ключефй
weko ключей*
Vort так всё же - о расстоянии между какими "точками" мы говорим?
weko ну хэши
weko число от 0 до 2**256
weko xor двух чисел и есть расстояние
Vort интересно
weko а стоп да, действительно
weko а как сортировать .. не подумал
weko ща
Vort получается, расстояние наследует старшинство битов
Vort как оно по науке называется? XOR расстояние?
Vort погуглю просто
weko Kademlia DHT. XOR distance, так и называется вроде
user Оно меняется раз в сутки
weko user: ты что, самый умный тут?
user А ты доебаться решил?
weko Vort: а никакого xor расстояние для этой задачи не надо
weko user: это ты влез без понимания о чём идёт речь
Vort weko: узлы свои RI передают на ближайшие (по XOR метрике) флудфилы. верно?
weko Vort: что именно ты пытаешься узнать?
Vort weko: пытаюсь узнать, насколько netdb моего флудфила случайна, а насколько состоит из ближайших ко мне узлов (по XOR метрике)
Vort если я правильно понял идею. пока ещё не уверен
weko ааа
Vort короч я думаю, что атакующий может засирать netdb как-то по особому
Vort и вот хочу понять, что есть норма и проверить, насколько моя netdb нормальна
Vort ну и на предмет багов глянуть
weko ну тогда да, нужно смотреть расстояние от себя до всех узлов. найти среднее, и сравнить с числом 2*256/N, где N - число узлов
Vort я думал гистограмму сделать
weko ну тоже можно
Vort но там же большое число получается. наверно старших битов будет достаточно
weko xor надо считать весь
weko а хотя
Vort да наверно 32 битов хватит. посмотрю, как часто будут нули выпадать
weko не будут вообще
weko если кто-то не майнил специально под тебя конечно
Vort шанс 1/2^32, да? )
weko ага
Vort weko: не помнишь случаем где старший байт? ну и старший бит. 0й или последний в массиве identhash?
weko без понятия )
Vort окей. могу наверно даже догадаться ) вариантов не так уж много
weko это вроде должно зависить от твоего процессора
Vort ну вся сеть должна иметь один и тот же подход. иначе - баг
Vort это же не годится, если на андроиде будет одно расстояние, а на интеле - другое
user Кстати, да , замечал в логе ошибки типа RI не найден на 7 FF
Vort user: я тоже замечал. поэтому и стал разбираться
Vort при том, у меня был не найден RI узла, который прямо тут рядышком спокойно работал в виртуалке :)
user Такая же фигня, свой же роутер не нашел.
Vort пока что у меня хрень получается. смотрел начиная с нулевого байта. теперь попробую с конца
Vort или я делаю что-то не так, или у меня на флудфиле в netdb рандом
Vort первые буквы b64 хеша в названии RI - получается, должны соответствовать старшим битам?
Vort а, значит, при минимизации расстояния они должны хоть куда-то но сползать, скашиваться
Vort если же бегло глянуть в папку netdb флудфила, то там подпапки "засеяны" примерно равномерно
Vort а подпапки как раз по первой букве сделаны
Vort хотелось бы надеяться, что это я ошибаюсь. потому что иначе это означает большие проблемы в коде
Vort самое простое - считаю xor для самого старшего бита: RawHash[0] >> 7
Vort ну и получаю практически равное количество нулей или единиц
Vort то есть, старший бит хеша каждого узла в netdb XOR старший бит хеша моего узла
Vort похоже, что для упрощённой проверки даже xor делать не надо
Vort взять старшие биты для каждого RI в NetDb и подсчитать, сколько будет нулей и сколько единиц
Vort если будет примерно одинаково, значит в NetDb рандом
orignal короче на фледфиле в освноном ближение к нему
orignal там XOR но не хэша а хэша от хэша + дата
Vort интересно
Vort сейчас поищу в коде
orignal в Identity.cpp должно быть
Vort файлы KadDHT тоже имеют отношение к этому алгоритму?
Vort сразу возникает подозрение о несовместимости Little и Big Endian. но это потом. может показалось
Vort а, кажется, вижу: CreateRoutingKey
weko Оно
weko Я думал догадаешься по дате смотреть?
weko Точнее с датой
Vort то есть, вместо своего идентхеша надо посчитать хеш(моего идентхеша + дата) ?
Vort и от него делать xor
Vort я конечно попробую. но равное количество нулей и единиц всё же смущает
Vort weko: или надо у всех вообще RI считать хеш хеша + дата?
tetrimer Vort: Погонял сегодня немного версию "за NAT":
tetrimer Uptime: 1 hour, 1 minute, 48 seconds
tetrimer Network status: Firewalled - Symmetric NAT
tetrimer Tunnel creation success rate: 50%
tetrimer Router Caps: OU
tetrimer Version: 2.48.0-23-g0754255c
tetrimer Routers: 958 Floodfills: 570 LeaseSets: 0
tetrimer Client Tunnels: 70 Transit Tunnels: 20
tetrimer Vort: Ваш вариант:
user Трафика сколько набежало?
tetrimer Uptime: 1 hour, 38 minutes, 1 second
tetrimer Network status: Firewalled - Symmetric NAT
tetrimer Tunnel creation success rate: 61%
tetrimer Router Caps: OU
tetrimer Version: 2.46.1-194-g68f4961f
tetrimer Routers: 1359 Floodfills: 831 LeaseSets: 0
tetrimer Client Tunnels: 67 Transit Tunnels: 6
orignal я не уверен что счас этот код с метрикой вообще используется
weko Час маловато
orignal потому что он внутри DHT
weko Vort: ну да, для расстояния всегда routing key вычисляется
orignal кстати
orignal плаз наконец сподобился починить vain
Vort weko: окей, попробую пересчитать
weko orignal: хорошо!
Vort моя починка не подошла?
orignal не знаю
orignal просто он им занималдся и я его заставил проверить
Vort просто зачем двойную работу делать...
orignal так а ты PR сделал?
Vort ну какой PR если ты выкинул код и сказал, что не будешь им заниматься? я форк сделал, если это вообще так называется когда оригинальный вариант уже недоступен
orignal я не так сказал
orignal я выкинул и сказал что не буду заниматься раз никто не чинить а только жалу.тся
tetrimer Vort: Мне кажется, что количество транзитных туннелей монтонно убывает:
tetrimer Uptime: 2 hours, 29 minutes, 21 seconds
tetrimer Network status: Firewalled - Full cone NAT
tetrimer Tunnel creation success rate: 64%
tetrimer Router Caps: OU
tetrimer Version: 2.46.1-194-g68f4961f
tetrimer Routers: 1352 Floodfills: 849 LeaseSets: 0
tetrimer Client Tunnels: 69 Transit Tunnels: 4
Vort tetrimer: с Symmetric NAT у меня тоже 0-10 туннелей. этот вариант, скорее всего, по-другому надо чинить
Vort weko: так всё же - минимизироваться должно расстояние между RoutingKey(IdentHash(флудфила)) и RoutingKey(IdentHash(публикующегося узла)) ?
Vort в KadDHT.cpp я вообще не вижу никаких RoutingKey. к примеру, DHTTable::Insert. там подаётся на вход RouterInfo и дальше считается как-то так: bit1 = r->GetIdentHash ().GetBit (level);