IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#i2p-dev
/2026/05/02
@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 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 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 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 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
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