IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2024/06/05
cumlord Oh wow i2pd in the 40s now, i2p+ still in the 80s. Very nice
StormyCloud I2P+ is king
dr|z3d ok, -11+ avaiable on release and dev branches. recommended update.
dr|z3d it seems temp banning peers sending unsolicited netdb store messages was causing issues. so we're just sending a warning to the logs now.
T3s|4 dr|z3d: still seeing plenty of these failures to connect to IRC on my 'newer' rig, despite my older rig connecting to IRc within 10-20 secs following router restart. Both are running 11+:
T3s|4 09:56:39 i2p -- | irc: connecting to server 127.0.0.1/6668...
T3s|4 09:56:39 i2p -- | irc: connected to 127.0.0.1/6668 (127.0.0.1)
T3s|4 09:57:39 i2p =!= | irc: connection timeout (message 001 not received)
T3s|4 09:57:39 i2p -- | irc: disconnected from server
T3s|4 09:57:39 i2p -- | irc: reconnecting to server in 10 minutes
T3s|4 10:07:39 i2p -- | irc: reconnecting to server...
T3s|4 10:07:39 i2p -- | irc: connecting to server 127.0.0.1/6668...
T3s|4 10:07:39 i2p -- | irc: connected to 127.0.0.1/6668 (127.0.0.1)
T3s|4 10:08:39 i2p =!= | irc: connection timeout (message 001 not received)
T3s|4 10:08:39 i2p -- | irc: disconnected from server
T3s|4 10:08:39 i2p -- | irc: reconnecting to server in 10 minutes
T3s|4 10:18:39 i2p -- | irc: reconnecting to server...
T3s|4 10:18:39 i2p -- | irc: connecting to server 127.0.0.1/6668...
dr|z3d 10m delay between reconnect attempts?
dr|z3d try 20-30s
T3s|4 Both rigs have plenty of tunnels, and router restarts, IRC tunnel restarts, network restarts, nor rig restarts seem to have any impact
dr|z3d see if your client is setting a short connection timeout.
T3s|4 where to look on weechat? Both rigs run weechat
T3s|4 and I don't get to the '10 minute reconnecting' message after seeing *many* of earlier failed IRC connection attempts
T3s|4 *until after seeing
T3s|4 the first few look like this:
T3s|4 08:34:08 i2p -- | irc: connecting to server 127.0.0.1/6668...
T3s|4 08:34:09 i2p -- | irc: connected to 127.0.0.1/6668 (127.0.0.1)
T3s|4 08:35:09 i2p =!= | irc: connection timeout (message 001 not received)
T3s|4 08:35:09 i2p -- | irc: disconnected from server
T3s|4 08:35:09 i2p -- | irc: reconnecting to server in 10 seconds
T3s|4 08:35:19 i2p -- | irc: reconnecting to server...
T3s|4 08:35:19 i2p -- | irc: connecting to server 127.0.0.1/6668...
T3s|4 08:35:19 i2p -- | irc: connected to 127.0.0.1/6668 (127.0.0.1)
T3s|4 always with: connection timeout (message 001 not received)
dr|z3d try a longer connect timeout in weechat.
dr|z3d as for 10m, it's obviously retrying initially at 10s intervals and then scaling back after a number of fails.
T3s|4 My point is that both of my weechat clients are identically configured, so how could that explain the issue?
dr|z3d is one of your rigs connecting over a vpn?
dr|z3d anything different other than weechat itself?
T3s|4 and I do mean the running the latest weechat 4.3.1-1 and i2p+ on both
T3s|4 No VPN on either
T3s|4 both updated and rebooted
dr|z3d I'd set the reconnect default interval to be slightly higher than 10s, just in case you get a temp ban/throttle from the server. 15s min.
dr|z3d irc.server_default.connection_timeout
dr|z3d description: timeout (in seconds) between TCP connection to server and message 001 received, if this timeout is reached before 001 message is received, WeeChat will disconnect from server
dr|z3d type: integer
dr|z3d values: 1 .. 3600
dr|z3d default value: 60
dr|z3d try setting that higher, something like 180
dr|z3d irc.network.autoreconnect_delay_growing
dr|z3d description: growing factor for autoreconnect delay to server (1 = always same delay, 2 = delay*2 for each retry, etc.)
dr|z3d type: integer
dr|z3d values: 1 .. 100
dr|z3d default value: 2
dr|z3d irc.server_default.autoreconnect_delay
dr|z3d description: delay (in seconds) before trying again to reconnect to server
dr|z3d type: integer
dr|z3d values: 1 .. 65535
dr|z3d default value: 10
dr|z3d so in order, 180, 1, 30 is what I'd suggest.
T3s|4 dr|z3d: baked those weechat changes in, restarted IRC, almost instant connection - thanks! I'll let you know if persistent :D
dr|z3d happy days
dr|z3d you could just have hit a stale leaseset, also possible. but those settings should make connect timeouts less frequent, and the reconnect cadence more predictable.
dr|z3d here's another enhancement for the graphs, zzz, in TimeAxis.java
dr|z3d private int prevLabel = 0;
dr|z3d private int prevLabelInterval = 0;
dr|z3d private void drawLabels() {
dr|z3d Font font = gdef.getFont(FONTTAG_AXIS);
dr|z3d Paint color = gdef.getColor(ElementsNames.font);
dr|z3d adjustStartingTime(tickSetting.labelUnit, tickSetting.labelUnitCount);
dr|z3d int y = im.yorigin + (int) worker.getFontHeight(font) + 2;
dr|z3d for (int status = getTimeShift(); status <= 0; status = getTimeShift()) {
dr|z3d String label = tickSetting.format.format(calendar, gdef.locale);
dr|z3d long time = calendar.getTime().getTime() / 1000L;
dr|z3d int x1 = mapper.xtr(time);
dr|z3d int x2 = mapper.xtr(time + tickSetting.labelSpan);
dr|z3d int labelWidth = (int) worker.getStringWidth(label, font);
dr|z3d int x = x1 + (x2 - x1 - labelWidth) / 2;
dr|z3d if (im.xsize < 400 || im.ysize < 200) {
dr|z3d if (x >= im.xorigin && x + labelWidth <= im.xorigin + im.xsize) {
dr|z3d if (x - prevLabel >= prevLabelInterval) {
dr|z3d worker.drawString(label, x, y, font, color);
dr|z3d prevLabel = x;
dr|z3d prevLabelInterval = tickSetting.labelUnit * (int) tickSetting.labelUnitCount;
dr|z3d } else if (x >= im.xorigin && x + labelWidth <= im.xorigin + im.xsize) {
dr|z3d worker.drawString(label, x, y, font, color);
dr|z3d findNextTime(tickSetting.labelUnit, tickSetting.labelUnitCount);
dr|z3d if width < 400px, or height < 200px, only show the time label every other major gridline.
zzz the criterion should be pixels between major grid lines, not overall width and definitely not height
dr|z3d yeah, just working on that as well.
dr|z3d ok, what about this, boolean drawLabel = true; declared outside of loop...
dr|z3d if (x >= im.xorigin && x + labelWidth <= im.xorigin + im.xsize) {
dr|z3d if (drawLabel) {
dr|z3d worker.drawString(label, x, y, font, color);
dr|z3d prevLabel = x;
dr|z3d prevLabelInterval = tickSetting.labelUnit * (int) tickSetting.labelUnitCount;
dr|z3d drawLabel = false;
dr|z3d } else {
dr|z3d drawLabel = true;
dr|z3d not quite, but close.
dr|z3d actually, that might be it.
dr|z3d ok, no. not quite was right.
zzz dunno, it's convoluted even before your changes, good luck
dr|z3d I'll have some magic in a minute, worry not.
dr|z3d ok, I think this is pretty much it:
dr|z3d if (x >= im.xorigin && x + labelWidth <= im.xorigin + im.xsize) {
dr|z3d if (x - prevLabel >= prevLabelInterval) {
dr|z3d worker.drawString(label, x, y, font, color);
dr|z3d prevLabel = x;
dr|z3d prevLabelInterval = tickSetting.labelUnit * (int) tickSetting.labelUnitCount;
dr|z3d essentially if the spacing between 2 labels is less than the width of a single label, we skip a label.
dr|z3d seems to be doing what I want, which is making that axis look a lot less congested without sacrificing much in the way of useful info.
trial_ thanks bro
trial_ Guys I explained my issue in #i2p room
trial_ $ i2prouter start always launch two browsers somehow, instead of only librewolf
dr|z3d why not just disable auto-browser loading entirely, trial_?
dr|z3d or you can add the following to your router.config file: routerconsole.browser={/path/to/browser}
trial_ I don't know, how could I ? All I got from the internet is to enter $ i2prouter start
trial_ ~/i2p doesn't list a router.config file :(
dr|z3d "No console at startup" or whatever your button there says.
dr|z3d ~/.i2p/router.config
trial_ only clients and i2ptunnel.config
dr|z3d all your settings are in .i2p/ not i2p/ except wrapper.config
dr|z3d if you're looking in your file manager, try ctrl+h to expose hidden files.
trial_ router.startup.jetty9.migrated=true
trial_ this ?
dr|z3d are you trying to annoy me?
trial_ no I swear
dr|z3d or you can ***add*** the following to your router.config file: routerconsole.browser={/path/to/browser}
dr|z3d replace {/path/to/browser} with the path of librewolf, possibly /usr/bin/librewolf
dr|z3d to disable browser loading, again, 127.0.0.1:7657/configservice
trial_ Got it! i didn't see your line from :54 lol sorry
dr|z3d > /msg nickserv register chooseapassword foo@randomemail.com or you@mail.i2p if you want p/w recovery option.
dr|z3d that is, if you plan on being around.
not_bob Don't annoy dr|z3d , that's my job.
not_bob Don't annoy dr|z3d , that's my job. ;)