@eyedeekay
&zzz
+FreefallHeavens
+R4SAS
+RN
+T3s|4
+acetone
+cims
+dr|z3d
+eche|off
+fa
+mareki2p
+nilbog
+orignal
+postman
+psychopuck
+qend-irc2p
+rednode
+snex
+wodencafe
Arch
Danny
Irc2PGuest28384
Irc2PGuest66257
Irc2PGuest75631
Irc2PGuest81267
Onn4l7h
Onn4|7h
Over
Sisyphus_
Sleepy
StormyCloud
T3s|4_
U1F642
Watson
Zapek
aargh4
ahiru
anontor
calamares
dr4wd3
duanin2
i2potus
ice_juice
justaperson
luvme3
mahlay
makoto
marek22k
n2_
not_bob_afk
onon_
pinotto
poriori
profetikla
r00tobo
rapidash
sahil
test7363673
uop23ip
w8rabbit
x74a6
zelgomer
orignal
will try today
orignal
zzz, running it now
orignal
connected to -Akx though SSU2
orignal
no tunnels
orignal
previous run was NTCP2 everything worked fine
orignal
please check
zzz
orignal, what's your router hash?
zzz
2RRY I guess
zzz
ok I dropped 115 requests in 27 minutes. I should be accepting about 3.5/minute from you or about 105 for 27 minutes but didn't have the accepts logged
zzz
please retest
orignal
no
orignal
my tunnels was my router->-Akx->2RRY
orignal
let's do again
orignal
connected
orignal
I'm nKkG
zzz
ok I knew it was one of those two
orignal
so, what do you see now?
zzz
counting now
zzz
what did you see?
zzz
ok in 37 minutes I accepted 44 and dropped 235
zzz
what's your counts?
orignal
0
orignal
no responses
orignal
do you know the direction?
orignal
look like your TBMs don't go through
orignal
neither to 2RRY no to nKKG
zzz
hmm
orignal
if I build tunnels through 2RRY only evething works fine
orignal
if I build a tunnel through your but connect through NTCP2 if works too
zzz
I see 50/50 nkkg-me-2rry and 2rry-me-nkkg
zzz
you're building both directions
orignal
yes
orignal
OB and IB same path
orignal
and since you receive a TBM it means you drop it somewhere
orignal
and you are always in the middle of a tunnel
zzz
ok I'll have to tweak my logging again, stand by
snex
You guys need to hang out in #i2p-chat and start recruiting new people to do this stuff
orignal
why?
orignal
how can other people help?
zzz
yeah sure, find new people to fix my bugs,great idea
snex
Because you're old and can't do it forever. And can probably spend time on more valuable work
snex
Not fix the bugs - run boring ass tests
zzz
but tests is how you fix bugs
zzz
orignal, I'm ready, please restart the test
orignal
bad luck. NTCP2 connection
snex
Yeah. Code change, tell the interns to go test it
orignal
let's try again
orignal
ok. SSU2 now, please check
orignal
interns? I don't see any interns around
orignal
only people with "genious" ideas
orignal
without understanding how code works
orignal
oh well, also vibecoders
snex
Yes, the potential interns are the people who show up in #i2p-chat who need to be recruited
zzz
orignal, I've accepted two, and I show two I2NP messages sent
snex
I've tried to tell them to come offer help. Nobody listens to me
orignal
⇒ -Akx: [2a02:180:2:92:92:92:11:15]:16799 [17255:5098] [pq=4]
orignal
let me log what I receive through SSU2 and see
jpk68
zzz, eyedeekay: Apologies if this is annoying, but it would really be great to have some sort of public feedback on my PRs soon
jpk68
I am planning on providing a status update to people in the next few days
jpk68
There is also some guidance in terms of parameters/implementation details that would be necessary to proceed with the work, as stated in the proposal
zzz
jpk68, it won't be me, I'm busy. eyedeekay may be busy also because I'm waiting on some help from him too
zzz
if you have a specific question, ask, I'll do my best
zzz
nKkG rcvd 33 sent 6
zzz
2RRY rcvd 36 sent 10
jpk68
Sure, no problem. I can wait, it would just be great to have an update
zzz
jpk68, not sure any of us are that qualified to review monero PRs, you may be hoping for too much
jpk68
Sorry if I missed anything; got disconnected
zzz
jpk68, not sure any of us are that qualified to review monero PRs, you may be hoping for too much
jpk68
Of course, I'm not asking for a full review - I just mean ensuring parameters were good, address parsing logic was spec-compliant, etc.
jpk68
Again, anything would be helpful, and I can totally wait. It would just be nice to know how long it might take
zzz
jpk68, the most qualified here would be orignal, he's the only real person here with both C++ and SAM expertise, maybe if you ask him nicely ))
jpk68
Sure :D
jpk68
If he is listening, that would be super helpful
jpk68
The main PR I have submitted for now (mirrored by someone else) is this one:
jpk68
That's just for address parsing; I plan to have the other one put up today or tomorrow
zzz
orignal, I didn't see any errors at the SSU2 layer, the I2NP tx/rx counts roughly matched what the tunnel handler was seeing. No evidence of anything being dropped other than in the tunnel handler
orignal
I will put more logs to see what I receive
zzz
ok. not claiming perfection here, but haven't found anything yet
zzz
jpk68, the PR seems harmless, but not sure why you need non-b32-hostname support at all for a P2P application
jpk68
Yes, true, but it's completely separate. The SAM one can be merged with or without it
zzz
unless you're going to have hardcoded hostnames for bootstrapping or something, but even then, b32 would be better because you don't know what's in the router's addressbook unless you're shipping the router with your application
jpk68
I just thought it would be nice to have
jpk68
Yeah, fair
jpk68
I just wanted to make sure there weren't any outstanding problems with it... would you consider that to be one?
zzz
so if you don't need it not sure why you're banging us to review it? ))
jpk68
Well, I mean, it's not completely necessary, but it's related
jpk68
If it isn't too much to ask, I am sure others would greatly value any feedback you might have on GitHub :)
zzz
and all the pedantic stuff like checking for .. and .- and -. barely seems worth it, you can try looking up whatever garbage you want, you just won't get anything back
jpk68
As you can imagine, not a whole lot of people are super familiar with I2P (hence why SAM and whatnot has taken so long)
zzz
it's not like the router is going to crash if you look up foo...i2p
jpk68
Fair
zzz
the naming rules are really targeted at addressbook and subscrition site implementers, doesn't seem like client side should care
zzz
and you haven't stated any use case for why you'd be looking up non-b32 host names at all, much less invalid hostnames. where would they come from?
jpk68
Anyone who wants to run a node with a non-Base32 hostname, I suppose
orignal
Spagni has hired another dude? ))
jpk68
For example, StormyCloud has such a node on their website (not sure how they did it, to be honest, since Monero will only accept Base32)
jpk68
orignal: He apparently left years ago and I've never even spoken to him :P
jpk68
He's running some weird exchange thing now (which seems like a scam)
jpk68
That was all before my time here
orignal
still forging invoices? ))
jpk68
I wouldn't put it past him
zzz
jpk68, but there's no global addressbook, you can't count on everybody knowing the destination for monero.stormycloud.i2p or whatever it is
zzz
so your P2P protocol seems like it should be either 32-byte hashes or 60-char b32 addresses only, not non-b32 hostnames
jpk68
This is exactly why your feedback is helpful ;)
jpk68
If you think it shouldn't be there, others would love to know
orignal
keep in mind there is also B33
zzz
well, now you know. Most of the PR seems unnecessary, but harmless. But maybe you have a plan for it, fine. That's my review ))
jpk68
Thanks. Considering my GH account is out of commission for the time being, I can't really your messages on there
orignal
AI slope?
jpk68
But if you are willing that would be good
jpk68
*can't really send
orignal
hmm I do receive I2NP blocks
zzz
interesting
orignal
SSU2: Message 1777755662 expired
orignal
that's what it is
orignal
I receive I2NP but it's expired
orignal
it comes with expired timestamp
zzz
hmm. we're not skewed, we're only 421 ms apart
orignal
right
orignal
let me print out the timestamp
jpk68
zzz: I had forgotten to mention this, but it is also worth noting that another potential use-case for 'human-readable' hostnames would be adding peers. For example, if you're setting up a node and want to manually add I2P peers, it would likely be far easier to be able to simply type "stormycloud.i2p" for the parameter than to look ip up manually, and then paste the B32 address
jpk68
s/ip/it/
zzz
date -d '@1777755662'
zzz
Sat May 2 17:01:02 EDT 2026
zzz
2RRY is only 100 ms off from me
zzz
jpk68, maybe, but manually-added peers seems like a strange feature for a P2P app, maybe bittorrent supports it, don't know
jpk68
This is something Monero already supports, along with Bitcoin as well
zzz
what you really want is for bootstrapping to work, via hardcoded peers or some centralized list to fetch
orignal
I'm trying at nKKG
orignal
I doubt it's clock kew
zzz
yeah but my reply will come back through the other one
jpk68
zzz: Yes, of course, we have hardcoded lists of seed nodes. Some of these are I2P ones, just Base32 at the moment of course
orignal
the issue persists only with v=4
zzz
sure jpk68 it's just tricky in the i2p context since hostnames aren't globally unique
jpk68
Alright, thanks for your help. I appreciate it :)
zzz
good luck
zzz
orignal, you have a timestamp on when you received or logged 'SSU2: Message 1777755662 expired' ?
orignal
no. Going to add
orignal
why so wide range?
orignal
also why seconds?
zzz
huh?
zzz
huh?
orignal
I print out that field
zzz
checked, I set the expiration for the TBM reply to now + 25 seconds
orignal
the current time is 1777757770
orignal
looks like you revert msgid and exp
zzz
oh thats the msg id field?
orignal
<orignal> SSU2: Message 1777757473 expired exp=78354796000
orignal
msgid looks like timestamp
orignal
yes
zzz
hmm
orignal
that's what I see
orignal
I print msgid
zzz
seems hard to believe but looking...
orignal
I can print whole message if you wish
zzz
give me a few minutes
orignal
let me also look how I handle I2NP block
orignal
well 000 millisconds is mine
zzz
very confused. both the message ID and expiration are in the I2NP block header, nothing to do with the SSU2 packet header
orignal
not really
zzz
there's not even a version in the short packet header
orignal
i2np block is not a plain i2np message
zzz
right
zzz
reviewing my changes since release, looking for clues
orignal
so you build one from block and you build block from I2NP header
orignal
it affects only PQ
orignal
no problem I can print I2NP block
zzz
found it
zzz
if (_peer.getVersion() == 2)
zzz
_i2npMessage.toRawByteArrayNTCP2(_messageBuf, 0); // NTCP2 style, 9 byte header
zzz
else
zzz
_i2npMessage.toRawByteArray(_messageBuf);
zzz
using SSU 1 style header
orignal
will you fix it?
zzz
thank you
zzz
lol stand by