@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
orignal
I2CP
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+ ))
dr|z3d
:)
dr|z3d
!ru
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
orignal
lol
onon_
=)
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.
onon_
=)
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.
orignal
)))
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
it
orignal
I send garlic cloves with local delivery type
orignal
why?
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
onon_: try this: wall.i2p/TalkingToMe.mp4
onon_
And you can try this 6woqj4si4zc4j6gyie63qcpnenuy7c5nukket53ayoe4wo4a5naa.b32.i2p/COSTA%20RICA
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
:)
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
cumlord
big improvement btw :) running on radio, here's a longer one for test music.simp.i2p/static/playlists/From%20Vinyl.i2p/Amy%20Winehouse%20-%20Back%20to%20Black%20-%20Side%201.opus
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
dr|z3d
\o/
onon_
eight years of continuous disconnects...
dr|z3d
!ru
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