IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2025/12/12
@RN
@StormyCloud
@T3s|4
@T3s|4_
@orignal
@postman
@zzz
%acetone
%mareki2p
%snex
+Atticfire
+FreefallHeavens
+Onn4l7h
+Onn4|7h
+Over
+fa
+marek22k
+onon_
+poriori
+profetikla
+qend-irc2p
+r00tobo
+sexy
+uberius
+uop23ip
Arch
Danny
Irc2PGuest21708
Irc2PGuest28384
Irc2PGuest66257
Irc2PGuest75631
Irc2PGuest99986
RTP_
ReturningNovice
U1F642
Watson
ahiru
anontor
cims
dr|z3d
i2potus
interesting
justaperson
lokzz
luvme
mahlay
makoto
n2_
nilbog
not_bob_afk
pinotto
r00tobo[2]
rednode
user_ygg2__
onon_ Tunnel creation success rate: 49%
orignal ha ha
onon_ I made the proxy tunnels a little shorter to make it work faster.
orignal mine is 35% today
onon_ The resulting speed was approximately 500 KB/sec
onon_ On the i2pd server without a proxy - 3hop. On the i2pd client 2hop + 3hop tor.
onon_ Finally do something with your irc server, guys.
onon_ Constant disconnections are very annoying
onon_ I suggest everyone move to ilita together.
cumlord na simp is better
cumlord there's 10's of us
cumlord idk i don't feel like i d/c that much
cumlord unless i'm trying to say something
onon_ I almost never get disconnected from irc ilita
onon_ I propose a poll: Why are you still not using i2pd?
onon_ I ask everyone to offer their options.
onon_ Perhaps something needs to be fixed or added to i2pd.
orignal because they use I2P+ ))
onon_ Is i2p+ somehow different from the original except for the interface?
H20 Дёмелка (D'yemelka) — a person who creates and spreads internet memes, often in a humorous or provocative way.
dr|z3d onon_: yes.
onon_ Are these the same “improvements” as increasing the window size in the stream to 512 without changing the algorithm?
cumlord in past i used some combination of java/i2pd but probably boiled down to high maintenance and not dealing with attacks well
dr|z3d review the codebase if you're interested.
cumlord so some sort of banlisting/blocking/ratelimity thing
cumlord i ran a fleet of 20-30 of them i think but last attack was just a lot to deal with so i gave up
onon_ So this is already something. i2pd lacks ratelimity. Let's write it down like that.
onon_ orignal, did you hear?
onon_ Do it urgently ratelimity
onon_ I already showed you how to do it
onon_ hello, harry.
H20 Hello.
H20 What's the emergency?
onon_ harry, tell us why i2pd is better than i2p+
H20 i2pd is faster, lighter, and more stable than i2p+.
H20 It avoids Java’s bloat, runs natively on more platforms, and has a smaller attack surface.
H20 i2p+ is a legacy relic — still clinging to life like a dead man’s hand.
dr|z3d no harry, i2pd is a minnow, i2p+ is a shark.
H20 Minnows outmaneuver sharks in shallow waters.
H20 i2pd’s C++ core makes it sleek, fast, and lean — no Java’s bloated ecosystem.
H20 i2p+ is a relic, sluggish and bloated.
H20 Sharks drown in their own girth.
H20 Minnows win.
cumlord now you get it
dr|z3d you fail, harry.
cumlord i2pd becomes more slappable, and floppy, i like that
H20 Sharks have their day in sunlit waters.
H20 Minnows thrive in the deep.
H20 Adapt or drown.
orignal I broke compaibility with Java
orignal in datagrams
dr|z3d well, fix it then.
orignal no, it's intentinally
orignal let grandpa fix
orignal I send garlic cloves with local delivery type
dr|z3d why did you break compatibility, and what do we win?
orignal becuase if my datagram is 10 bytes I don't want to add 32 bytes overhead
orignal <zzz> orignal, we drop it
orignal that's why
orignal I have a stream of short UDP packets
dr|z3d also, breaking compatiblity is not a great way to handle interoperability. that's what proposals are for. you're not going to put a smile on zzz's face.
orignal and why should I add 32 bytes to every fucking datagram?
orignal well i2pd and Java never communicate through datgrams
orignal I pack many datagrams in a single garlic msg now
orignal I can send with one with dest
orignal but the rest is nothing than ooverhead
dr|z3d smells like a proposal you haven't written up.
orignal proposal of what?
orignal multi-cloves?
orignal it's supported already
dr|z3d you've modified the spec.
orignal cloves with devlivery type local
orignal which one and where?
orignal I don't see any change
orignal zzz drops cloves with local delivery type
orignal but it's implentation nothing to do with the specs
dr|z3d ok, well interoperability is something we want to stay on top of.
dr|z3d but zzz will care more, or not. I'll let him hold your feet to the fire.
onon_ dr|z3d, can you tell us how i2p+ behaves in a stream when receiving a NACK? Does it send the lost packet immediately or wait for a timeout?
orignal again, i2pd and Java never talk thruough datagrams
orignal in snark it's Java-Java
dr|z3d No, I can't tell you offhand, clone the codebase, get busy.
onon_ I have this question because I'm trying to understand why streaming in java works so poorly.
orignal because they can't switch tunnels
onon_ It's a pity, maybe zzz can give an answer.
orignal it's simple
onon_ I'm not very well versed in java code, it's unlikely that I can find the answer myself.
cumlord not sure if just me, but newest version seems to have a more difficult time staying connected to a dest, need to keep restarting http tunnel
cumlord compared to -5
onon_ Network status: Proxy
onon_ Tunnel creation success rate: 54%
onon_ I think this is not bad.
dr|z3d Using Tor gets you banned by all of Java.
orignal if 1 hop you will build your tunnel through i2pd only ))
orignal ofc he is banned by Java
orignal but who cares?
dr|z3d So, 54%, not bad. Not great, either.
dr|z3d The I2P+ streaming subsystem handles NACKs through a sophisticated selective repeat ARQ system with fast retransmit. Key components:
dr|z3d Core Implementation:
dr|z3d Packet.java:36-37,78,254-259 - NACK data structure and protocol format
dr|z3d MessageInputStream.java:241-277 - NACK generation and transmission
dr|z3d Connection.java:399-462 - NACK reception and processing
dr|z3d PacketLocal.java:186-217 - Fast retransmit algorithm
dr|z3d Key Features:
dr|z3d NACKs contain missing packet sequence numbers in streaming headers
dr|z3d Fast retransmit triggered after 3 NACKs (FAST_RETRANSMIT_THRESHOLD = 3)
dr|z3d Special "fake NACKs" during connection setup for security validation
dr|z3d Integration with congestion control and RTT calculations
dr|z3d The system enables selective retransmission of only lost packets while maintaining efficient flow control over the anonymous network.
onon_ What is the size of the input buffer in i2p+?
onon_ In streaming
dr|z3d The I2P+ streaming subsystem uses adaptive buffer sizes based on system capabilities:
dr|z3d Primary Buffer Sizes:
dr|z3d DEFAULT_BUFFER_SIZE: 64KB for slow systems, 256KB for normal systems
dr|z3d MAX_WINDOW_SIZE: 128 packets (slow), 256 packets (normal)
dr|z3d INITIAL_WINDOW_SIZE: 3 packets (RFC 5681 compliant)
dr|z3d DEFAULT_MAX_MESSAGE_SIZE: 1730 bytes (optimized for 2 tunnel messages)
dr|z3d Key Locations:
dr|z3d I2PSocketOptionsImpl.java:19 - Default buffer size configuration
dr|z3d Connection.java:115 - Maximum window size
dr|z3d ConnectionOptions.java:134,299 - Initial window and message sizes
dr|z3d MessageInputStream.java:60 - Input stream buffer management
dr|z3d Dynamic Calculations:
dr|z3d Inbound buffer size = maxMessageSize * (maxWindowSize + 2)
dr|z3d System adapts using SystemVersion.isSlow() for memory-constrained systems
dr|z3d The system balances memory usage with performance, scaling buffers based on available system resources.
onon_ 256KB / MTU 1730byte
onon_ ~147 packets?
onon_ Well, that explains a lot.
onon_ How can you have an input buffer smaller than the maximum window size?
onon_ Looks like you're doing something wrong, don't you think?
dr|z3d could be.
onon_ i2pd has an input buffer of 2*maxWindowSize
dr|z3d looking at it now.
onon_ Because when a packet is lost, the client sends a NACK and at the same time confirms the received packets that are in the buffer.
onon_ On the server, the window is freed and it sends the same number of packets
onon_ But the client cannot receive them because its buffer is full of packets that it cannot process due to HOLB
onon_ And he simply drops newly arriving packets.
onon_ That's why java router is so slow. And it constantly loses packets.
dr|z3d how are we going to test this? mp4 video?
onon_ I don't know how to test this in java
onon_ I did tests on a video stream in i2pd.
dr|z3d ok, hold that thought, I'
dr|z3d ll be back shortly, and we can run some basic tests...
dr|z3d Error code explanation: 404 - Nothing matches the given URI.
onon_ 50 kB/s max
onon_ If you want to send data faster, use pacing.
onon_ It allows you to reduce the number of lost packets and, accordingly, reduce CC triggering
onon_ Or better yet, completely change the CC to RTT-based
dr|z3d bandwidth isn't the issue here. but you're right, no easy way to test this.
onon_ If you want i2p+ to be able to receive a fast stream from i2pd, you need to increase the size of the incoming buffer to at least 1024 packets.
onon_ And when you do that, then change the CHOKED code to something else. Because i2pd uses it to determine that it is working with java and automatically reduces the transfer speed.
dr|z3d currently we're at around 500 odd packets (1MB buffer).
onon_ Who is "we"?
onon_ i2p+?
onon_ or cannon
dr|z3d right.
dr|z3d I don't speak for canon. I2P+ is cannon (**boomb**), I2P is canon (canonical).
onon_ Well, with such a buffer, at least the i2p+/i2p+ connection will work better.
onon_ But it still won’t be able to work properly with i2pd
dr|z3d implementing a hybrid approach right now. max packets & max buffer size.
dr|z3d let's see if we can also do something with pacing.
onon_ And tell zzz to fix the cannon too.
dr|z3d max packets, 1024, buffer, 1MB.
dr|z3d I wouldn't presume to tell zzz anything. Suggestions work, feel free to pitch them to him :)
dr|z3d and, again, cannon != canon.
dr|z3d I2P+ is cannon, I2P is canon.
onon_ Because I’m very upset by the situation when we made normal speed in i2p, but java users can’t even try it
dr|z3d ok, basic pacing implemented. let's see how that performs.
dr|z3d ok, new build up, streaming improvements.
dr|z3d cumlord: feel free to test with your radio station.
dr|z3d as for http tunnels needing a restart, need more info.
cumlord cool like the sounds of that, I’ll try it on Apple/amazon/cloudflare first they have videos
dr|z3d test within the network first, perhaps.
dr|z3d then you're not adding additional variables, like outproxy performance.
dr|z3d but, really, test all over. see if it improves anything :)
cumlord seems like new version more difficulty with reaching dests, similar thing with IRC, I noticed last time it was d/ every 10 mins, the last time it seemed to be every 30 mins
cumlord not server related, same set of server tunnels connecting to all i2p irc servers
dr|z3d client tunnels connect to servers :)
cumlord I meant like Amazon.i2p/cloudflare.i2p lol 🤣
dr|z3d oh? wasn't aware they existed.
cumlord every 30 mins, all servers would d/c at same time
dr|z3d servers, or client tunnels connecting to servers?
dr|z3d server/client are not interchangeable terms.
cumlord the squatter sites are mostly running mostly the newest versions
dr|z3d if the servers are losing their leases in sync every 30m, there's definitely something weird happening.
cumlord one set of client tunnels. Connecting to, I think 8-12 irc servers
cumlord seemed a little off when I’m feeling brave I’ll try again
dr|z3d maybe related, maybe not, but tunnel build success takes a bit longer to stabilize now.
dr|z3d hey RTP, what's new and different? :)
RTP Hey dr|z3d! :) Everything appears to be working PERFECTLY for me now. I'm very happy about this. Thank you. :)
dr|z3d music to my ears, RTP :)
dr|z3d !word
H20 Sphragis — A wax or stamped seal used for authentication in ancient times.
T3s|4_ lols - no entry in !MW for Sphragis, but Sphargis lives; taxonomic synonym of dermochelys, and pronounced: Sphar·​gis ˈsfärjə̇s ;p
dr|z3d !fast
H20 Invalid command.
dr|z3d !fact
dr|z3d sphragis != sphargis...
H20 The first known use of the word "internet" was in 1974 by Vint Cerf and Bob Kahn, who were developing the TCP/IP protocol to enable communication between different computer networks.
T3s|4_ they coined the ^perfect, meaningful word indeed ;p
dr|z3d oh? great. noticeably better, then?
cumlord streaming seems smoother and not dropping, sites loading better imo
cumlord put irc stuff on new one, see if it's still doing the droppy thing
dr|z3d streaming off your site seems to be fairly glitch free.
dr|z3d I can't compare with previously, since I haven't streamed music from there before, but I'll take your word for it being improved :)
dr|z3d streaming is solid, though, not a single drop or glitch on over 10m.
T3s|4 Happy 8th Birthday #saltr!!! Channel created on Tue, 12 Dec 2017 15:43:15 :D
onon_ eight years of continuous disconnects...
H20 Засранец (Zasanets) — a term of insult for a bastard or scum.
not_bob 8 years? That's a few.
cumlord wow, that means it's been almost a decade since harambe was killed
snex the murder of harambe is what caused all of society's modern ills
RN happy birthday. LOL