@eyedeekay
&kytv
&zzz
+R4SAS
+RN
+StormyCloud
+T3s|4
+altonen
+dr|z3d
+hk
+lbt
+orignal
+postman
+radakayot
+snex
+theoddone
+wodencafe
Arch
Danny
DeltaOreo
FreeB
FreefallHeavens
Irc2PGuest12735
Irc2PGuest13718
Irc2PGuest30483
Irc2PGuest59134
Irc2PGuest60240
Irc2PGuest64178
Onn4l7h
Onn4|7h
Sisyphus
Sleepy
T3s|4_
Teeed
acetone_
aeiou
ardu
b3t4f4c3___
bak83_
cumlord
death
dr4wd3
enoxa
eyedeekay_bnc
hagen_
not_bob_afk
poriori
profetik1
qend-irc2p
rapidash
shiver_
solidx66
u5657
uop23ip
w8rabbit
x74a6h
zzz
are you the bittorrent guy from reddit?
theoddone
I am yes.
zzz
ok good, glad you made it over here
zzz
lets back up a bit
zzz
you're writing a i2p bittorrent client with an embedded router, right?
theoddone
well I'm trying :)
theoddone
I'm not embedding the router just yet, still working through using an already running router
zzz
what router do you plan to embed, and what language is your client in
theoddone
I've not fully decided yet, client is typescript
theoddone
Working on a tauri app, so the rust router is maybe likely.
zzz
and right now you're using SAM, correct?
theoddone
well I was using SAM for the torrenting, but I've writing a basic i2cp client so that I can utilize the dht
zzz
what router are you using now?
theoddone
i2pd and the java router both
theoddone
I started w/ i2pd as it distributes binaries that I could distribute w/ the tauri app, but easier to debug w/ the java router as I can add logs and recompile/restart
zzz
so you're kindof at a crossroads right now
theoddone
after I get dht working I'll probably take a look at emissary
theoddone
how's that?
zzz
you need datagrams and streaming on the same session
zzz
option 1) SAM v3.3, not supported by i2pd or emissary, you're locked into java router
theoddone
well I'll probably switch over to i2cp entirely, just taking it a step at a time
zzz
option 2) I2CP, you need to write both a I2CP client lib AND a streaming lib.
zzz
there are exactly zero streaming libs out there
theoddone
🤔
theoddone
streaming can be done over i2cp right?
zzz
client lib pretty straightforward, I know eyedeekay pointed you to his old go lib, and you have the java lib to peek at
zzz
yes ofc
zzz
socket -- streaming -- i2cp -- router
theoddone
I was using this previously for sam - npmjs.com/package/@diva.exchange/i2p-sam
theoddone
^ but pretty sure I could only dial to others, they couldn't dial to me.
zzz
in java it goes socket -- sam -- streaming -- i2cp -- router
zzz
in i2pd it's socket -- sam -- streaming -- router (no i2cp in the middle)
zzz
we were talking to the rust router guy about possibly pulling out his streaming impl as a lib
zzz
but he doesn't have any i2cp client-side code
zzz
anyway, that's your crossroads, sorry for the bad news
theoddone
ah no worries, will cross that bridge when I get to it
zzz
nobody's done really anything with SAM 3.3 before, other than some lib support
zzz
libtorrent doesn't sound too enthusiastic about it
theoddone
Can't use sam 3.3 w/ dht any way right?
zzz
wrong. that's the whole point of 3.3, to enable udp + tcp on the same session
zzz
but nobody's actually done it, up to now
theoddone
Looking at the docs here:
theoddone
^ it mentions i2cp specifically
zzz
sure.
zzz
if you have any rust skills, you might want to collaborate with the rust router guy, perhaps there's a solution there somewhere
theoddone
I don't ;_; just stumbling through
zzz
so a simple i2cp client for datagrams isn't that hard, but what you didn't realize is you lost streaming when you switched from sam to i2cp
orignal
zzz, I know why NSR decryption failed
orignal
I haven't implemented resend properly
zzz
it failed for me because of similar issues on my side, not because of your issues
zzz
I exploded before I tried to decrypt it...
orignal
wrong size basically
orignal
and we need to save encrypted enpasulated key for follow on MixHash
orignal
because we apply this MixHash after tag
zzz
yup, it's a little tricky
zzz
theoddone, I recommend you abandon I2CP for now, go back to SAM, work on 3.3 support, enable DHT if router supports 3.3, start testing with emissary, and when you get 3.3 working with java, start lobbying emissary to support it, and embed emissary
zzz
theoddone, I recommend you abandon I2CP for now, go back to SAM, work on 3.3 support, enable DHT if router supports 3.3, start testing with emissary, and when you get 3.3 working with java, start lobbying emissary to support it, and embed emissary
zzz
I think that'll be the most promising path
orignal
how is DHT related to sam 3.3?
orignal
in mean time fixed NSR
theoddone
orignal how is DHT related to sam 3.3? <-- I think it's more 3.2, which added support for I2CP messages which is how snark's dht implementation works.
theoddone
Is the maintainer of emissary on IRC?
theoddone
Also... I'm a little confused about SAM 3.2+ and I2PC, in order to support 3.2+ the router itself would need to translate from SAM <-> I2CP right? Maybe that's what you were saying before.
orignal
no
orignal
i2pd's SAM doesn't use I2CP at all
orignal
also be aware that SAM 3.3 is complete mess
orignal
uless you need something very special use SAM 3.1 that works everywhere
zzz
thanks for the MR reviews eyedeekay, you're now four down and three to go
zzz
everybody check out the new world map on the netdb page
orignal
zzz, how do you decide no more NSR messages at Alice side?
orignal
for PQ we need to cleanup
orignal
e.g. I have to keep it for decaps, but it's at least 800 bytes
zzz
orignal, I'll get back to you in a couple days, been busy, and have to fix my broken stuff first
orignal
I'm not asking about broken stuff
orignal
anyway no rush
zzz
I know
zzz
just saying I have to do that first
orignal
because for PQ it's too much overhead
zzz
but in general you drop your handshake state stuff once you get a data phase packet
zzz
should be the same cleanup you do for regular ratchet
orignal
can it be delyaed NSR after first data packet?
orignal
but I don't do cleanup on Alice side for regular ratchets
orignal
because overhead is small
zzz
I don't remember much about the retransmission stuff, that's why I have problems, when I fix them then I'll be able to answer your questions
orignal
thanks
zzz
altonen, you a fan of prometheus?
altonen
not necessarily fan but i wrote a testnet tool whih together with prometheus & grafana allows me to get good view of the entire testnet
altonen
iow, convenience
zzz
wasn't familiar but have been playing with it
zzz
just got a simple console plugin working to export the jvm stats; looks pretty straightforward to export all our stats
altonen
i wish java and i2pd supported it as well, could get even more detailed testnet runs
zzz
we have about 500 stats we can export
altonen
i rember seeing some list somewhere but lost it
altonen
and stats.i2p ofc
zzz
on /stats and /graphs in the console
altonen
ty
dr|z3d
looks like prometheus hooks up with grafana nicely. have you tried grafana, zzz?
zzz
not yet
altonen
grafana is honesly pretty great, the only reason i'm using prometheus
snex
i use zabbix, it does both the frontend and backend. though a lot of it is in php(gross)
zzz
just playing with prometheus web viewer out of debian for now
zzz
just happy to be making progress after fighting class loader issues for a while
dr|z3d
when you're ready: grafana.com/docs/grafana/latest/setup-grafana/installation/debian
zzz
the plugin's only going to be 500KB
zzz
actually under 300KB
dr|z3d
very good
mareki2p
Hi, I was talking to altonen that I was developing my own I2P capable application that communicates over I2CP. It was quite labourious, also I did it in pure C (so it could be usable from any language). After I realized I needed to implement streaming (equivalent of TCP over IP) I abbandoned it - postponed it indefinetly. And currently I'm doing other, non-I2P related things. But I like I2P quite
mareki2p
a lot, so I will eventually come back to it. The result might be easily usable I2P I2CP library that could be included into any other software. But right now it is still in phase of wild dreams.
orignal
why don't you start with raw datragms?
zzz
** theoddone
zzz
also, theoddone, you asked who the rust guy was, it's altonen
orignal
openssl 3.5 released
orignal
hence I will be able to include PQ to the next release for some platforms
zzz
that's at your own risk, we haven't agreed to anything yet
zzz
ok I got 369 stats exported
dr|z3d
screenshot or it didn't happen, zzz :)
zzz
lol it's got the socksoutproxy UI
zzz
so grafana talks to prometheus server and prometheus server talks to all the clients, right?
zzz
I need prometheus server in the middle?
zzz
I think that's right. I tried to get grafana to talk to the clients directly and it wasn't happy
dr|z3d
yeah, prometheus is the middleware afaik.
dr|z3d
I thought you might be using the socks UI, let me know if there's anything missing.
zzz
think I'll rip out most of it, no need for much status or config
dr|z3d
maybe config of the graphana instance, ports? grafana might be running on another box.
dr|z3d
status is mostly just "yes, it's working" or "no, it's broken", perhaps streaming any logging provided by prometheus.
zzz
this is the prometheus client, it knows nothing about grafana
dr|z3d
ok