~dr|z3d
@RN
@RN_
@StormyCloud
@T3s|4
@orignal
@postman
@zzz
%cumlord
%snex
+BeepyBee
+FreefallHeavens
+Onn4l7h
+Onn4|7h
+Over
+Sh0ck
+leopold
+nyaa2pguy
+onon_
+profetikla
+qend-irc2p
+r00tobo
+uop23ip
+waffles_
Arch
Danny
H20
Irc2PGuest11372
Irc2PGuest12817
Irc2PGuest21366
Irc2PGuest32328
Irc2PGuest49393
Irc2PGuest57061
Irc2PGuest62416
Irc2PGuest68429
Irc2PGuest78216
Irc2PGuest96466
Meow
Stormycloud_
T3s|4__
ac9f_
acetone_
anontor
duck
gellegery
mahlay
makoto
n1
nZDoYBkF
nilbog
not_bob_afk
ntty
poriori_
r00tobo[2]
shiver_
solidx66_
thetia
tr
u5657
user1
vivid_reader56
zer0bitz
not_bob
0 hop does not work with NAT.
not_bob
1 hop resolves firewall traversal while still giving you much of the speed.
onon_
dr|z3d as for streaming configs, try the i2cp options input.
onon_
Can it only apply the parameters described here? i2p-projekt.i2p/ru/docs/protocol/i2cp
onon_
Or is this list of available options longer? And where can you watch it in this case?
dr|z3d
here's your first git lesson: cd ~/i2pplus && git grep i2cp *.java | grep snark
dr|z3d
as for optional tweaks, anything related to i2cp should be listed there, but maybe there's more, not sure. there's also some snark specific configs, configured in snark.config
dr|z3d
git grep PROP_ *.java |grep snark
onon_
git grep PROP_ *.java | grep snark | grep ack
onon_
nothing about AckDelay =(
dr|z3d
git grep ack *.java | grep snark
dr|z3d
PROP_ is for properties, usually configuration options.
onon_
git grep AckDelay *.java
onon_
options.getSendAckDelay() from now (1000 ms)
onon_
1000 ms ???
dr|z3d
when you get a return on your grep, open the referenced file to review the code block and context.
dr|z3d
/**
dr|z3d
* If the next send time is currently >= 0 (i.e. not "never"),
dr|z3d
* this may make the next time sooner but will not make it later.
dr|z3d
* If the next send time is currently < 0 (i.e. "never"),
dr|z3d
* this will set it to the time specified, but not later than
dr|z3d
* options.getSendAckDelay() from now (1000 ms)
dr|z3d
*/
dr|z3d
public void setNextSendTime(long when) {
dr|z3d
synchronized(_nextSendLock) {
dr|z3d
if (_nextSendTime >= 0) {
dr|z3d
if (when < _nextSendTime) {_nextSendTime = when;}
dr|z3d
} else {_nextSendTime = when;}
dr|z3d
if (_nextSendTime >= 0) {
dr|z3d
long max = _context.clock().now() + _options.getSendAckDelay();
dr|z3d
if (max < _nextSendTime) {_nextSendTime = max;}
dr|z3d
}
dr|z3d
}
dr|z3d
}
onon_
private static final int DEFAULT_INITIAL_ACK_DELAY = 500;
onon_
Too many
onon_
must be 100
onon_
for 3in 3out hops
onon_
Or you're better off requesting the ACK explicitly on the sender's side, in this case.
dr|z3d
you've obviously read the RFC that's indicated in the comment above that value.
dr|z3d
(not)
dr|z3d
A TCP SHOULD implement a delayed ACK, but an ACK should not
dr|z3d
be excessively delayed; in particular, the delay MUST be
dr|z3d
less than 0.5 seconds, and in a stream of full-sized
dr|z3d
segments there SHOULD be an ACK for at least every second
dr|z3d
segment.
cumlord
we doin lots of pings now looks like
onon_
Set it to 1/10 RTT
dr|z3d
sadly the ticket reference will be dead.
dr|z3d
well observed, cumlord :)
dr|z3d
public static final int DEFAULT_INITIAL_RTT = 8*1000;
dr|z3d
private static final int MAX_RTT = 60*1000;
cumlord
I like what’s going on with susidns, seems like a lot of wasted tunnels though? Or no big deal?
dr|z3d
no big deal, tunnels are short lived.
dr|z3d
you also win some cover traffic.
cumlord
lol thanks
onon_
Ok AckDelay = 1/10 RTT but if > 100 ms set to 100 ms
onon_
simple
dr|z3d
if you clean out the cruft in your addressbook once it's done a full hostchecker run, subsequent runs will be faster.
cumlord
but I need all 20k of those dead domains
dr|z3d
sure you do.
onon_
The problem is that the more AckDelay you have, the more packets it simultaneously acknowledges to the sender. And accordingly, the more packets it sends at the same time, because space is freed up in the window
dr|z3d
if they're not truly dead, they'll return when your subscriptions update.
dr|z3d
looking at it.
onon_
And the more packets the sender sends at the same time, if he does not use pacing, the higher the probability of packet loss due to peak traffic.
onon_
Do I really have to explain such simple things to you?
dr|z3d
no, you don't. did I ask you to?
dr|z3d
but it doesn't hurt to state your thinking, I'm not the only person in the channel. :)
onon_
> dr|z3d: no, you don't. did I ask you to?
onon_
Can I refer to this comment every time I am asked why java-router is not working well?
dr|z3d
if you want to get a better idea of what the HostChecker is up to, cumlord, add net.i2p.addressbook=INFO to /configlogging and keep an eye on your logs. set refresh to 5s.
dr|z3d
log refresh interval can be set by hovering over the file location on /routerlogs ...
dr|z3d
onon_: you seem to be forgetting that a lot of the code you're reviewing isn't mine per se, it's inherited from I2P.
onon_
If you claim to be the developer of an “improved” version of i2p, then you should at least know how it works...
dr|z3d
are you going to continue being an antagonistic ass, or can we just keep it impersonal and technical?
onon_
You guys get paid to develop. I don't get anything. And when I try to give you free advice on how to improve the operation of i2p-router, I get back:
onon_
> dr|z3d: no, you don't. did I ask you to?
dr|z3d
I get paid to develop? *laughs*
dr|z3d
where did you read that?
dr|z3d
*** laughs some more. ***
orignal
drozd is not paid
dr|z3d
you want to know how much I2P has rewarded me since I started contributing 15 years ago? I'll tell you. zero, nada, nothing. not a cent.
orignal
ann all money were stolen by Nazi
cumlord
cool I’ll add it in :)
orignal
afaik drozd has been kicked out from the project
onon_
Who the fuck is Nazi
orignal
echelon
dr|z3d
this is super old news, orignal *chuckle*
orignal
right but it happened
orignal
and str4d commited your code later
dr|z3d
in as much as I lost my commit privs when mtn was a thing, sure, won't argue with that. that was maybe 14 years ago.
dr|z3d
yup, that's also true.
dr|z3d
str4d committed a year or more of my work renovating the console UI, and got paid for it.
dr|z3d
easiest job ever, review some code, check it in, get paid. *laughs*
onon_
How confusing everything is...
onon_
Now I even less want to participate in this in any way.
onon_
What does zzz say about this?
orignal
about what?
dr|z3d
this is old news, historical. we've moved on.
orignal
ofc Java-I2P has been acquired by stormy ))))
orignal
tell us why zzz.i2p is read-only?
StormyCloud
Good thing Java-I2P is open source nobody can own it
dr|z3d
:)
orignal
tor is open source too
dr|z3d
zzz is read only because he got tired of zab trolling him on the site, and also presumably because he didn't want the maintenance burden.
orignal
so?
orignal
zab is not online for a long time
orignal
and zzz.i2p is still read only
onon_
zab is zlatnib?
orignal
yes
orignal
another faggot )))
dr|z3d
any more info relating to zzz.i2p you'll have to query him about.
orignal
let me tell you somthing
orignal
10 years ago zzz blamed me that I post my text on habr rather than zzz.i2p )))
orignal
*texts
dr|z3d
what is this? a walk down memory avenue?
dr|z3d
*** chuckles. ***
orignal
?
dr|z3d
10 years ago, 12 years ago...
dr|z3d
WE'VE MOVED ON!!!
dr|z3d
even if your ui hasn't.
onon_
Nothing funny. dr|z3d
onon_
Oh, thats funny =)
dr|z3d
:)
onon_
Good joke
StormyCloud
speaking of @onon_ I moved web irc over to i2pd and much more stable irc connection. idk will look at this after 2.11
orignal
* [orignal] idle 00:05:46, signon: Sat Nov 29 16:02:20
orignal
that's how irc stability should look like
orignal
it's ilita ofc
orignal
and it's not a local connection
orignal
* [orignal] is connecting from *@er7pg2v2l67ab3pd4n6ux2b2imqrdofc2evkl55xe55gvkz65c3q.b32.i2p 127.36.126.243
onon_
In this case, it’s not entirely clear to me why, if dr|z3d is in no way connected with the “canon” i2p router, why does it have such problems with making changes to the code
orignal
dr|z3d do you happen to know what has happened to that Hamilton alcoholic?
dr|z3d
I have no issues whatsoever making code changes.
dr|z3d
clue me in, orignal
orignal
idk
orignal
don't see her for a long time
dr|z3d
oh. you mean Sadie?
orignal
yes
orignal
do you know that Hamilton is a shithole?
dr|z3d
maybe the funding dried up? dunno.
dr|z3d
I wasn't aware, no.
dr|z3d
there you go, onon_, let's see how she blows: git.skank.i2p/i2pplus/I2P.Plus/commit/47486ef979fc4f9b95bdae0eb08f6de079984e53
orignal
that's what I thought
dr|z3d
don't get me started on Sadie, please.
dr|z3d
*** chuckles. ***
orignal
no money and such people disappecr
onon_
private static final int MAX_RTT = 30*1000;
onon_
is it 30 seconds?
dr|z3d
it is.
dr|z3d
down from 60.
onon_
=\
dr|z3d
still too high, or?
onon_
if you overload tunnel, real RTT can be more than 1 minute
onon_
In this case, if RTT > MAX_RTT do you change the route?
onon_
I don't know the logic behind your router, that's why I'm asking.
dr|z3d
private void setRTT(int ms) {
dr|z3d
synchronized(this) {
dr|z3d
_rtt = ms;
dr|z3d
if (_rtt > MAX_RTT) {_rtt = MAX_RTT;}
dr|z3d
}
dr|z3d
}
onon_
What is PROP_INITIAL_RESEND_DELAY
onon_
resend what?
dr|z3d
look at the full file, review.
dr|z3d
and remember, PROP_ is normally a user-configurable value.
onon_
It's too late to figure this out today. Perhaps tomorrow.
uop23ip
onon_, does i2pd have a feature to rekey the http proxy for a new client b32 (even auto rekey after x minutes) while running the router? java-i2p has that feature
dr|z3d
we'll meet in the middle, I'm setting MAX_RTT to 45s for now. see how that works.
onon_
uop23ip, no
onon_
http proxy have static key now, changes after reboot or button in webconsole
uop23ip
"button in webconsole" there is a button for rekeying? you know where? onon_
onon_
Router commands->Reload tunnels configuration
dr|z3d
which presumably terminates all active tunnels?
onon_
If the key is not specified or specified as transient, then it will be updated
uop23ip
before that any changes to tunnel.conf and then reload tunnel configuration? or not needed?
uop23ip
ok thx
onon_
If nothing has changed in the tunnel configuration, it will not reboot.
orignal
not yet
dr|z3d
close on inactivity, new key on open.
orignal
good idea, no stream or leasests ten rekey
dr|z3d
"Lessons from the Banana King" - harry.i2p/the-tragic-tale-of-idi-amin-a-lesson-in-power-and-.html
orignal
I have a fresh idea
orignal
built-in "snark" in i2pd
orignal
with direct access to streams
orignal
no I2CP, no SAM, no BOB
orignal
just another service
dr|z3d
why not, orignal?
dr|z3d
pull that UI patch of mine and I'll help you design the bittorrent UI. up to you.
dr|z3d
you got up to date with + yet, dollarthief?
dollarthief
not yet, struggled and failed to set up i2pd in docker
dollarthief
can't figure out where to place the config files, there's not being read no matter in which of the documented locationes I put them
dollarthief
then again, I should just build my own image, i know...
dr|z3d
well, that's not going to help you update +, is it? :)
dollarthief
*they're
dr|z3d
"Did you try that new beer I recommended?" - "There wasn't enough milk in the coffee".
dollarthief
I said "one of these days" lol
dr|z3d
are you allergic to help documentation? :)
dollarthief
I'll just put i2pd on an old Pi
dollarthief
wdym?
dr|z3d
onon_ apparently is, which is why I ask.
dollarthief
I read the docs for i2pd
dollarthief
didn't look into i2p+ much yet, since everything is either working as expected or easy to figure out lol
onon_
?
dr|z3d
go back to sleep, onon_ :)
dollarthief
but the problem I had with is a probably docker issue, or just the image being set up in a way idk how to handle
onon_
Ок
dollarthief
*wuth i2pd
dollarthief
*with. fml
dr|z3d
the thing about docker is that you need to expose directories or files that you want to be able to edit.
dollarthief
haha
dollarthief
now even skank says unspported encryption options
dollarthief
catch 22 much? :D
dollarthief
I'm doing that, even search all files in the image, but there's just no ispd.conf or tunnels.conf at all lol
dollarthief
yet i2pd is running fine, the datadir is present ofc
onon_
i2cp is disabled by default
dollarthief
so I'm guessing it's just using the default settings. but for some reason it's not reading from any of the locations the docs mention
onon_
Need to be enabled in i2pd.conf
dollarthief
what does that have to do with my issue lol
dollarthief
Blinded message
dr|z3d
nothing, but at least you won't be told to install i2pd. :)
dollarthief
I'll install sipd and + anyway xDD
dollarthief
*i2pd lol
onon_
Did I mention here that more than 40% of sites in i2p run on i2pd?
dr|z3d
sigh2pd.
dr|z3d
yeah, you've mentioned that before, onon_, more than once.
onon_
Ok
dollarthief
makes sense, but have a fancy UI and a ton of features if all u wanna do is host a site? lol
onon_
Did I ever mention that 2pd provides data transfer speeds of more than 1MB/s per stream?
dollarthief
*why would you want to
dollarthief
I need sleep
dollarthief
probably
onon_
dr|z3d, Snark+, which I am testing, works very poorly.
dollarthief
how about i2pd and qbitorrent?
onon_
i2pd and qbit very good
dollarthief
that's probably going to be my seeding setup
dr|z3d
well, you've got the code there, let me know when you've identified the issues.
dollarthief
oh yeah, thanks for the hint.
dollarthief
I guess setting up a cronjob to pull and rebuild would be an ok solution, yet I wanna be lazy and let watchtower trigger the pull of CI built image
onon_
I created the most comfortable conditions for him. I launched i2pd and snark on one computer, and on the other too. I created a unique torrent and am trying to download it from one computer to another.
dr|z3d
I tested earler with a well-seeded torrent, got 300KB/s average, I wouldn't call that poor, but I'm open to the possibility we can do better.
onon_
The maximum speed that was achieved is 140 KB/s
onon_
Most of the time the speed fluctuates between 20 and 40.
onon_
Very frequent and prolonged connection interruptions.
onon_
This is despite the fact that the tunnels on both sides are always working. (i2pd constantly tests them).
onon_
Obviously, the problem is not a poor connection or interruptions within the network.
onon_
The problem is either in snark itself or in the i2cp protocol.
dr|z3d
I've seen 2MB/s spikes over Snark.
dr|z3d
try downloading something with a good number of seeds, and/or setting your hops to 1 on both torrent clients. also, NAT, dunno if that's interfering, might be.
onon_
Yes, when downloading a popular torrent, from many peers the speed was about 600KB/s and from one peer the maximum was 280 KB/s
uop23ip
onon_, is this error an issue by i2pd side or by i2psnark+ standalone: @816/error - Garlic: Can't handle ECIES-X25519-AEAD-Ratchet message
dr|z3d
onon_: here's a chunky file to test, save it to /dev/null or wherever suits, let's see how you get on with it -> magnet:?xt=urn:btih:31a8482e731f1769c74e2ed245a6c129c9fa7cf2&tr=http://opentracker.skank.i2p/a&dn=animatrix_v20.safetensors
dr|z3d
if you're not onon_, don't bother downloading that file, you can acquire it much quicker on huggingface.
onon_
uop23ip, no This is an encryption problem. Due to the fact that the i2cp application does not switch the route.
onon_
It keeps sending packets into a broken or non-existent tunnel, and the tags on the sending side are too far ahead.
onon_
As a result, even if the connection is restored and packets begin to arrive to the recipient, he cannot decrypt them and receives the following error.
dr|z3d
still waiting to see you connect to that torrent, onon_
dr|z3d
in the name of science...
onon_
I launched it, but for some reason it doesn't start
onon_
Looks like it's started.
onon_
dr|z3d, how's the science? Progressing?
dr|z3d
looks like it, onon_