IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2022/03/29
genka dr|z3d: how many tunnels do i need to reliable connection to IRC. it keeps reconnecting me periodically
genka for reliable*
dr|z3d genka: check the i2p+ faq for info on how to make your connection more stable. it's a client thing. tunnel-wise, you only need 1 each way.
genka dr|z3d: got it
dr|z3d if your system is particularly slow at building tunnels, then max 2 in each direction.
mesh genka: I use 3 tunnels, 3 hop counts
mesh genka: I've found it significantly better than 2 tunnels for everything
mesh you might need to give the router more memory tho. I don't set a max memory and it can get up to 512mb
mesh more if you're downloading lots of torrents
genka i gave 2048mb haha
mesh genka: you have a 2gig machine?
genka rpi 4 with 4 gb ram
mesh 2048mb is your max mem for the router?
dr|z3d 3 hops for irc is a waste of resources.
dr|z3d there is no one size fits all config for client service tunnels. really depends on what you're accessing.
mesh you might try 3/3 then. When I moved to 3/3 I saw significantly better connectivity with irc and http
dr|z3d you won't, not for irc.
mesh i2psnark seems to also default to 3 hop tunnels
mesh dr|z3d: it's what I saw. When I using 2 tunnels I was getting dropped from irc all the time
dr|z3d with http, more tunnels means your inbound traffic can cycle between tunnels while downloading. with irc, a persistent connection to the server doesn't benefit from more than 1 tunnel, so on a fast system, if that tunnel goes down, it'll rebuild quickly. on a slower system (or a firewwalled router) a backup tunnel can help.
mesh then again back when my router was young I think I had significantly less active peers. That probably plays a part
dr|z3d irc clients have different default timeouts, which is why I referred genka to the i2p+ faq.
dr|z3d that's usually the issue with an unstable connection.
dr|z3d don't confuse hops with tunnel count, mesh. totally different.
mesh dr|z3d: is that really how it works? I don't think there's a relationship between persistent connection and tunnel count
dr|z3d for optimal security, 3 hops is recommended. for speed, you can reduce hop count at the expense of security.
genka increased net_ping_timeout to 320
dr|z3d are you asking me or telling me, mesh?
mesh dr|z3d: I think 1 persistent irc connection still goes over multiple tunnels was my point
dr|z3d and you'd be wrong.
dr|z3d irc is not multiplexed.
mesh dr|z3d: why do you say that? everything I've read and seen suggests no relationship between the connection and the tunnel count
dr|z3d your outbound and inbound tunnels, notwithstanding, are different.
dr|z3d 1 stream = 1 tunnel. irc is 1 stream, unless you enable dcc, in which case a separate tunnel will be built. i2p does not split a single stream over multiple tunnels. period.
mesh dr|z3d: the multiplexing happens at the router level doesn't it?
dr|z3d I'm telling you how it is. you want a second opinion, go ask zzz.
mesh your router turns 3 i2p tunnels into a single TCP connection that your irc client connects to right?
dr|z3d if you read what I've just told you, you already know the answer to that question.
mesh I dunno dude, I don't believe you hehe. Nothing in the code suggests that either github.com/i2p/i2p.i2p/blob/master/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCClient.java
mesh I would be very surprised if there was somthing about irc that made tunnel count irrelevant unless I'm missing something big
dr|z3d like I said, feel free to consult zzz for a second opinion.
mesh dr|z3d: I mean I'm pretty sure you're not right, but I think I may be misunderstanding you
mesh I see "I2P IRC Network"
mesh and I see 3 inbound and 3 outbound tunnels
mesh and I see non-zero usages for all the tunnels
mesh this tells me that all the tunnels are being used -- though not much, ~10k-30kb for each tunnel
mesh so I dono't see why you would say IRC only uses one "persistent tunnel"
mesh at least that's what I see on my client side
mesh on the server side I suppose it could be using 1 tunnel
mesh if there was only 1 tunnel that would also make the whole system vulnerable to timing attacks so maybe the system is just generating noise
mesh zzz did mention something about "noise" to prevent timing attacks
mesh I would just be curious to know how that works because it suggests that the router itself has some special-case knowledge of irc
dr|z3d ok, here's the thing. you've got 3 tunnels running for irc. one of those tunnels goes down. what do you think happens? a) your connection to the irc server remains up? b) you disconnect from the server and reconnect using the next available tunnel?
mesh when you say connection do you mean the logical connection or the physical connection?
mesh but even still look at the expiry times
mesh it's not like it's a round robin affair with 1 tunnel having data and others 0 until it expires
mesh at least the router console shows me two tunnels, expiry time 6min, with 3 and 4kb
mesh so at least according to the consle I think it's properly multiplexing the irc connection over all 6 tunnels
dr|z3d ok, go talk to zzz. you're presenting like you actually _know_ what you're talking about, but in reality you're just guessing.
dr|z3d if zzz tells you i2p client tunnels multiplex, then I'll eat my shorts.
mesh dr|z3d: I'm telling you what I literally see in the router console
mesh 6 tunnels all being used to transfer data with "Usage" between 1-12KB
dr|z3d how do you think tunnels remain up? they're built and they don't pass any traffic until they're actively used?
mesh dr|z3d: ...
mesh dr|z3d: anyways I'm genuninely curious why you say that so I'll ask zzz. It's possible there's something I'm missing
mesh what I find surprising is the idea that the router would treat irc client tunnels differently from other client tunnels
dr|z3d all about the streams.
genka i think i'll stay with i2pd :)
genka i think java router and forks is user-friendly but overloaded with features
genka i like minimalism
dr|z3d do what makes you feel good, genka
genka dr|z3d :)
dr|z3d if you want minimal, i2pd is certainly that. when you factor in the features that you may want, however, it becomes less minimal when you're needing to install other software to get there.
dr|z3d if you want minimal but with a prettier face, you might be interested in building github.com/vituperative/i2pd
genka dr|z3d: you mean modified web interface?
dr|z3d for i2pd, genka, yeah, it's had a facelift.
genka dr|z3d: are there any screenshots? :)