IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#i2p-dev
/2025/05/06
@eyedeekay
&Irc2PGuest88200
&zzz
+R4SAS
+RN
+StormyCloud
+T3s|4
+acetone
+altonen
+dr|z3d
+eche|off
+hagen
+mareki2p
+orignal
+postman
+radakayot
+snex
+wodencafe
Arch2
Danny
DeltaOreo
FreeB
FreefallHeavens
Irc2PGuest30843
Irc2PGuest59134
Irc2PGuest59581
Irc2PGuest70083
Irc2PGuest96449
Irc2PGuest97049
Onn4l7h
Onn4|7h
Sisyphus
Sleepy
T3s|4_
aeiou
ardu
b3t4f4c3___
b4dab00m
bak83_
boonst
cumlord
death
dr4wd3
duck
enoxa
eyedeekay_bnc
not_bob_afk
onon_
phil
phobos_
pisslord
poriori_
profetikla
qend-irc2p
rapidash
shiver_1
solidx66
u5657
uop23ip
w8rabbit
weko_
x74a6
zzz eyedeekay, gitea down
eyedeekay Back now
zzz thx
zzz FYI diva tweeted out about the tm botnet, with reseed graphs
segfault zzz: could you help me to understand minimal i2p router?
segfault ntcp2 only
segfault i'll wirte my understaning, fix me please
segfault router must support:
segfault 1. connect by tcp/ip socket to other router
zzz hi segfault. You are writing a new router?
segfault 2. establish noise protocol based encryption
segfault zzz: hi. idk. i guess i haven't enough free time for that, but i want understand i2p as well as i can create one
zzz ok, sorry to interrupt, keep going with your list ))
segfault zzz: np
segfault zzz: second paragraph looks a few hard. i rtfm and see dh with ChaChaPoly AEAD_CHACHA20_POLY1305
segfault zzz: why dh?
zzz DH is a standard way to exchange public keys in a handshake, to generate a shared secret key
zzz see the Noise specification
segfault zzz: ok. why not just exchange public keys? i know old i2p use dh as main algorithm
segfault 3. netdb
zzz DH is the secure way to do it. Almost all encrypted protocols work this way: ssh, https, wireguard, ...
segfault 4. tunnelling
segfault zzz: ok, thx
zzz tell me when the list is done, and I will add to it ))
segfault zzz: what i forgot?
zzz 5. reseeding
zzz 6. send/receive I2NP messages over NTCP2
segfault zzz: reseeding? you mean bootsrapping with https in clearnet?
zzz yes
segfault zzz: i guess minimal router could igonre it
zzz I think that's the end of my list. Do 1-6 and you will have a basic router
zzz sure, but then you will have to copy routerinfo files from another router over to your minimal router
segfault zzz: i think use script with curl or wget or etc for that is good idea. router will be free from ssl hell)
zzz you can also ask altonen how he did it, he just wrote github.com/altonen/emissary/commits/master
zzz or eyedeekay who is working on github.com/go-i2p/go-i2p
zzz usually people start with the datastructures in i2p-projekt.i2p/spec/common-structures - maybe that is step #0
segfault zzz: on first link what commit i should check?
segfault zzz: ntcp2. i open docs and see "The I2P Network Protocol (I2NP), which is sandwiched between I2CP and the various I2P transport protocols,"
segfault zzz: as i know i2cp is java-i2p-only legacy embedded protocol
segfault zzz: is github.com/rweather/noise-c this library enough for cryptography in i2p?
eyedeekay legacy-ish at best, I2CP looks at least semi-important from go-i2p's perspective at the moment
segfault eyedeekay: i2pd doesn't use i2cp as i know
eyedeekay Yeah go-i2p may end up doing that differently is all I am saying
zzz yes segfault we use the rweather java lib github.com/rweather/noise-java not the C lib
segfault zzz: only 1 library?
zzz if you wanted to write a router in C, that would work
zzz re: what commit to check in emissary: all of them )) you are asking about how to write a router
zzz segfault, i2pd also support I2CP, it is not "legacy"
segfault zzz: could you tell what i2np do in i2cp free router?
segfault zzz: i2cp works only for compatability with java apps as i know
zzz I2NP != I2CP. I2NP is the router-to-router messaging layer. I2CP is the client-to-router messaging layer
zzz there are many ways for clients to talk to routers: I2CP, SAM, BOB, i2ptunnel.
segfault zzz: i understand. i ask what i2np do in i2cp free router.
zzz you need one of them if you want clients
zzz I2NP is the router-to-router messaging layer
zzz on top of NTCP2
zzz you need it to talk to other routers
segfault like dgrams are over tcp/ip, i2np "dgrams" are over ntcp2/ssu2 tunnel, right?
zzz no, you're getting things a little mixed up
zzz datagrams are over I2CP
zzz I2NP = N = Network. I2CP = C = Client.
zzz it can be confusing
segfault i2np is format of "messages" over any i2p transport protocol, right?
zzz correct
segfault zzz: thx
zzz any time. lots of people here can help if you have more questions
segfault zzz: how many threads/workers required for normal i2p router work?
segfault zzz: is it possible use signle thread app for minimal router?
zzz segfault, I don't know, it depends on your implementation and what libraries you use. Java I2P uses about 100 threads. I don't know about the other implementations. Threads make things a lot easier
segfault zzz: thx