@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
On it
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