~dr|z3d
@RN
@RN_
@StormyCloud
@T3s|4
@T3s|4_
@eyedeekay
@orignal
@postman
@zzz
%Liorar
+FreefallHeavens
+Over
+Xeha
+bak83
+cumlord
+hk
+onon_
+poriori
+profetikla
+r00tobo
+uop23ip
+weko
An0nm0n
Arch
Danny
DeltaOreo
Irc2PGuest4235
Irc2PGuest53061
Irc2PGuest57148
Irc2PGuest60340
Irc2PGuest99578
Meow
Nausicaa
Onn4l7h
Onn4|7h
acetone_
anon3
anu3
boonst
carried6590
mareki2pb
not_bob_afk
plap
shiver_
simprelay
solidx66
u5657
orignal
gents, how can I move snark's conent and setting to another box?
orignal
I want to try seeding 24/7 and see what would hapen
snex
You can but you have to be very careful
snex
It seems very finicky
snex
Basically shut down all torrents then copy over the i2pconfig.d folder to the new one and make sure all the .torrent files and data are in the same place
snex
i2psnark.config.d is the folder*
dr|z3d
close snark, copy the i2psnarl folder, start snark on new box.
dr|z3d
and what snex said re location.
dr|z3d
location including the username you're running snark from.
orignal
but I don't want to copy snark folder I need to build it there I guess
orignal
username is the same
snex
As long as the config.d and the data all match up you should be good
dr|z3d
just pull the torrents again, orignal
dr|z3d
then you don't have to worry about location or anything else. just unpack the standalone wherever you want it.
dr|z3d
copy over the existing .torrent files and away you go.
dr|z3d
feel free to try Snark+ if you haven't already.
orignal
I don't want to pull
orignal
I want unly seed
dr|z3d
have you got the content on the new host?
dr|z3d
if so, and you don't want to migrate settings, delete the existing .torrent files and recreate them.
dr|z3d
(on the new host)
orignal
I want to keep seeding from another box like before
dr|z3d
sure, as long as you have the content on the new host, just create the torrents and you're seeding as soon as they start.
dr|z3d
if you do try Snark+, be sure to enable the filter bar in the configs.
dr|z3d
also enjoy the 127.0.0.1:8002 interstitial.
dr|z3d
I bet you never noticed that, snex...
dr|z3d
1.7MB/s down peak, testing standalone.
snex
Is that on snark or what
dr|z3d
yup
snex
What is an interstitial
dr|z3d
there are some very fast hosts handling the + torrent seeding.
dr|z3d
check the url, you'll see what an interstitial is.
dr|z3d
(it won't interrupt snark)
snex
I only see the chimp gif as always. I haven’t updated
dr|z3d
that's your interstitial.
dr|z3d
not a gif, hell no. :)
snex
Also I can’t even reach snark via that url I have everything on different hosts lol
dr|z3d
well, :8002/ then from wherever you access it. that's your interstitial which is essentially a "please wait" style banner.
snex
That was there as long as I remember
dr|z3d
it serves to preload the default theme's resources.
dr|z3d
ok, then you did see it. my bad.
dr|z3d
an appropriate mascot, though some may disagree.
RN
I don't forward port 8002, no wonder I never see the monkey
snex
So then how do you manage snark at all
RN
aside from the little one in the progress windown
RN
127.0.0.1:[forwarded version of 7657]/i2psnark/
RN
are you just talking about the standalone one?
RN
(yes this is an I2P+ router)
snex
Yes but even the built in one has the management page
RN
?
RN
is there some place to click to bring that up?
RN
I think one of the stable diffusions I was playing with ran on port 8000 by default
snex
i2phost:8002
RN
port 7657 (7667) are ssh forwarded, port 8002 is not
snex
Right so how can you use snark at all
RN
and there is a Canon I2P running on this local host, so I'd a port conflict if Canon uses 8002
RN
I go to 127.0.0.1:[forwarded 7657]/snark
RN
where [forwarded 7657] is replaced by the local end of the ssh port forward to that machine's port 7657
RN
or I can just open the (forwarded) router console and click 'torrents' link in the side bar
RN
when you say management page, you mean the main snark web interface? where it lists the torrents, has buttons for pasting magnet,etc
RN
?
RN
I have never used a port number 8002 to bring up that interface
RN
just the links from the console, or the url from the history in the url bar
dr|z3d
cheeky monkey interstitial is standalone only.
RN
thanks for stopping me from goning down some rabit hole looking for 8002
dr|z3d
8002 is standalone default port.
RN
and thanks for the attempt to confuse me snax
RN
that's what I suspected. snax was helpfully reading from a completely different book trolling me to thinking we were on the same page
dr|z3d
haha
dr|z3d
watch him, he's dangerous.
RN
yup
RN
he likes the abuse
RN
;)
snex
I could have sworn embedded snark also ran on 8002
dr|z3d
snark in the console runs on the console port.
cumlord
Any idea why so finicky? Changing the file names to what it wants seems to work most of the time
dr|z3d
torrents are linked to the location they're saved to.
dr|z3d
i2psnark.config.d per-torrent files can be edited.
cumlord
Ah ok I didn’t know about that
cumlord
I think I have 2-3 multi file torrents ran through renamer, that work in embedded but not in standalone, maybe that’s why
dr|z3d
if the directories in there were less random, would be easier. but it is what it is.
dr|z3d
there's another side project for you snex..
dr|z3d
when a torrent is stopped, ui option to permit relocation of the storage location per torrent.
dr|z3d
and perhaps a button/feature to globally reassign the location of torrents.
dr|z3d
another 25% or so shaved off the svg graphs in the dark theme in the latest + dev update.
dr|z3d
maybe there's some useful optimizations for svg graphs you can glean from this, zzz: cake.i2p/file/C9Yw6ulyis_LsdLtI2D79TuowI2msVQMEbtcBRrkq_iOAplTalUv/bw.combined.svg
dr|z3d
4 days worth of data + legend @ 387x233: cost: ~7.3KB
zzz
thx, but whatever hacks you're doing to jfree probably aren't applicable to the puker, and aggressive output minimization really isn't a design goal over here
dr|z3d
it's up to you of course, but I'm sure there are various optimizations to puker you can make to output smaller files. mostly it's just grouping, removing inline styles and clip-paths, and migrating those to css classes.
dr|z3d
switching from rgb[a] to #hex also helps, losing [stroke-]opacity values and encoding those into the hex values instead.
zzz
sure but I have to keep rrd4j optimizations in rrd4j code and svg optimizations in svg code to maintain the svg code as a general-purpose maintainable lib and put it up on github with a straight face
dr|z3d
downsampling in rrd4j also probably helps for longer timeframes.
zzz
already did the former
dr|z3d
"with a straight face" haha
zzz
whats the encoding for 4 byte hex, is it argb or rgba?
dr|z3d
latter.
dr|z3d
black at 50 opacity = #0008 for example.
dr|z3d
*50%
zzz
thx, that's worth doing
zzz
but there's no easy way in a general-purpose lib to gather common styles, define them in css at the front, and reference them later, that's misery
orignal
another question
orignal
if people start torrenting seriosly would postman be able to handle this
orignal
?
dr|z3d
sure he would.
orignal
people from EU are seriously interested in it
dr|z3d
postman runs fat stacks.
orignal
thier only concern that lack of shares there
orignal
can his tracker handle 10x more?
dr|z3d
probably. if it starts to creak under the load, he'll upgrade it.
orignal
say most popular from rutracker
dr|z3d
it's already multi-homed, so there's plenty of slack.
orignal
people from EU say that copyrigister send treating letters just for using torrent
orignal
doesn't matter what you download
orignal
even ubuntu iso
dr|z3d
copyright trolls.
orignal
so torrenting in EU countries seems very prospective for I2P
orignal
especailly with today's speed that's not too bad
orignal
ofc I'm talking to Russian speaking people
dr|z3d
well, that's the thing with bittorrent, the more people using it, the faster it gets.
orignal
people a German sheeple would say "it's illegal"
orignal
few mbs per second for a popuular file is enought for everybody
dr|z3d
what about uTP. didn't zzz mention he was waiting for some sort of code review / proposal from you?
orignal
yes about Datagarm2
orignal
but I'm talking about what I2P can offer now
dr|z3d
sooner we get that happening, the sooner bittorrent over i2p will look even more attractive, no?
zzz
orignal, if postman can't handle announce load he can easily increase INTERVAL. Web load is another story.
orignal
I'm just asking in genral
dr|z3d
knowing postman, his response to more announces would be "bring it" :)
orignal
if postman can be as big as rutracker
zzz
UDP announces might help, might not, but would have to do some custom i2ptunnel to support it. Much easier in zzzot
zzz
UDP announces != uTP. Two different things
orignal
yes, torrents over I2P is the future of torrenting in my opinion
orignal
datagrams traffic might be faster
zzz
a little less bandwidth maybe, and definitely less RAM
orignal
looking at modern trends
dr|z3d
as for web, 10* current usage isn't a huge stretch, given average tracked usage is around 50-200 reqs/hour.
zzz
hard to think of bittorrent as "modern" or "trending up", but what do I know...
orignal
say I have 1.5Gbs and agree tp share my shole NAS
orignal
*share
orignal
torrenting over I2P because copurighsters
orignal
I would proplaly have to implement multiple I2CP instances
orignal
my point is people still like torrenting abut afraid to use
zzz
postman really needs an upload API to make seeding lots of stuff easier
orignal
for exaple where else you can obtain windows11 installable on a PC with BIOS?
dr|z3d
from ms.
dr|z3d
they provide freely downloadable images.
orignal
dude you can't install it even on PC without TPM )))
orignal
but I'm talking about BIOS not UEFI
orignal
see the difference?
orignal
and yes I was able to install win11 on core duo
orignal
2010 laptop with bios
dr|z3d
yeah, sure, I hear you. there are probably iso customizers out there that do the same thing, if you *really* want to install windows11 on an older system.
orignal
I download one from torrents. that's all ))
dr|z3d
if you're running on an older system, however, you're better served with windows 10 (for now).
orignal
my point is
orignal
thgat you can find many things on torrent
orignal
IF you live in right country
dr|z3d
I know what you're saying. i2p torrents provide a lot of "value" :)
orignal
and use right serach engine(yandex in Russian)
zzz
snark's been around for 20 years, orignal tries it for the first time this week and gets excited? )))
dr|z3d
for some definition of value that probably doesn't excite everyone in quite the same way.
orignal
zzz I tried snark first time when you came with snark-standalone
orignal
but it was slow
orignal
the reason I'm back to it is speed
orignal
since we have servere speed improvemnt for streams
orignal
time to do it for I2CP
zzz
we spent about 5 years working on streaming, that's the main reason, yes
orignal
aslo I use Robert before
orignal
but everything was slow vs. clearnet
orignal
but it's not the case anymore
zzz
still is. clearnet a lot faster than 20 years ago also
orignal
that's why
dr|z3d
when you can download a gigabyte or 2 of data in an hour or so, low vs fast becomes less of an issue.
dr|z3d
*slow
dr|z3d
when slow = come back in 3 days, then issue.
orignal
that was 10 years ago
orignal
I downloaded few gigs file more than a day
orignal
that's exatly my point
zzz
orignal, I lost track of your I2CP investigations. Did you find any bugs with Message Status, or are you only finding ways to make I2CP faster?
zzz
dr|z3d, changed to alpha hex output as you suggested. Note that you still have some "fill:rgb(); fill-opacity:xx" output in your <rect>s
dr|z3d
yeah, you're right, zzz, single elements, might tweak those later.
dr|z3d
stroke/stroke-opacity combos in css have been fixed.
dr|z3d
those rects correspond to the leading color squares on the legend.
orignal
no I don't see any bugs
orignal
it seems I handle message infficeintly
orignal
btw why does it contain full dest in eevery message>?
zzz
orignal, that's the original jrandom I2CP design, everything is destinations, not hashes
zzz
nice to hear you're not finding any bugs ))
orignal
my point is
orignal
why can't we add some numeric id
orignal
that gurantees that same id geos to same destination
orignal
using say streamid
orignal
to make things faster
orignal
well I found few buys in my code
orignal
like race conditions
zzz
sure, it's possible, but messy. would you cache IDs forever? would they expire?
zzz
I doubt full dests slows things down much
orignal
you put streamid on snark sizde and that's it
orignal
in my code
zzz
yeah but on router side you have to manage the id cache
orignal
I have to calculate sha256 the lookup leaseset in local table
orignal
that lookup rachet session
orignal
and it's for each fucking message
orignal
yes, id->session
orignal
say expires in 30 seconds of incativity
zzz
if parsing the destinations is slowing you down, you could do a router-side cache deststring->hash or deststring->session, we don't need to change the I2CP protocol
orignal
if not found start from dest
orignal
32 bytes is slow hash
orignal
you know what I'm doing
zzz
sure
orignal
I use signgin key from dest as lookup key
zzz
just do a LRU cache
orignal
in this case I don't need to calculate sha256 for each message
orignal
what is LRU?
zzz
least recently used
zzz
fixed size, oldest ones get removed
zzz
much easier than doing expirations
zzz
we use them all over the place
cumlord
100% on postman needing an upload api, it is a major bottleneck
orignal
but what you do with latest?
zzz
in case lost:
zzz
here's what we use docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html
zzz
any new entry goes at the front of the list, and the oldest one gets dropped off the end. Any re-accessed entry moves to the front of the list.
orignal
yes, but you always have latesrt one
orignal
that might last forever
orignal
if you don't cleanup by timeout
zzz
correct. it's simple, but does not track times or have any timeout/expiration function.
zzz
we keep our LRU caches relatively small, usually between 32-512 entries, depending on application and available memory
zzz
I count about 30 different LRU caches in our code, all over
orignal
what do you use for key? ident hash?
zzz
I'm speaking generally. We don't have a I2CP destination cache specifically, we usually use full dest internally
zzz
but we have a general destination cache to prevent object proliferation, we use signing key -> full dest
zzz
synchronized(_cache) {
zzz
rv = _cache.get(sk);
zzz
if (rv != null && rv.getPublicKey().equals(pk) && rv.getCertificate().equals(c) &&
zzz
DataHelper.eq(rv.getPadding(), padding)) {
zzz
return rv;
zzz
}
zzz
}
orignal
I'm asking aboyt I2CP
zzz
and the desthash is cached in the dest, so it won't be recacluated if found in the dest cache
orignal
seems it's only place that has such weird situation
zzz
right
orignal
wait. you get new packet
orignal
how do you know if it's cached one?
orignal
do you compare all 391 bytes?
zzz
we use the dest cache anywhere we have to go from destination byte array to destination object
orignal
what does it mean practically?
zzz
yes, we read all 391 bytes, get the signing key, lookup the dest object in the dest cache, compare the enc key, padding, cert, and if it all matches, throw away the byte array and use the cached object
orignal
but why so much?
zzz
practically, it prevents java object proliferation, we have the same object everywhere in the JVM for the same destination, rather than a zillion 500-byte objects that are all the same
orignal
why can't you just compare 32 bytes signing key?
zzz
just a double check of the whole thing to make sure
zzz
don't want people spoofing things
zzz
and also practically, it prevents re-hashing the destination on every packet, since the hash is cached in the cached destination
orignal
yes I undesstand
zzz
so we check the destcache for every I2CP and I2NP message we read that has a destination in it
orignal
but it means you do this comprison for every signle packet
zzz
correct
orignal
inefficient in my opinion
zzz
true, but it greatly reduces java memory usage. I don't know how C++ objects work, if you have a zillion destination objects on your heap or not
orignal
we use memory pools ))
dr|z3d
zzz: any idea what/why invalid b32s (http client)? e.g. this one I'm seeing: ccppethemljn3utvklhyis4oja5l2cp4wzd7vqoeqvvd6yqriva.b32.i2p
dr|z3d
I'm tempted to blanket block them in the http server tunnel.
snex
What makes it invalid?
dr|z3d
more characters than a standard b32 should contain.
dr|z3d
or maybe 1 less than required. either way, wrong length.
dr|z3d
> more characters than a standard b32 should contain.
dr|z3d
> or maybe 1 less than required. either way, wrong length.
zzz
where are you seeing them?
dr|z3d
via your newly minted filter patch
dr|z3d
Invalid access list entry "ccppethemljn3utvklhyis4oja5l2cp4wzd7vqoeqvvd6yqriva.b32.i2p" in .../blocklist.txt
dr|z3d
net.i2p.i2ptunnel.access.InvalidDefinitionException: Invalid b32 ccppethemljn3utvklhyis4oja5l2cp4wzd7vqoeqvvd6yqriva.b32.i2p
dr|z3d
at net.i2p.i2ptunnel.access.FilterDefinitionElement.fromBase32(FilterDefinitionElement.java:37)
dr|z3d
at net.i2p.i2ptunnel.access.FileFilterDefinitionElement.update(FileFilterDefinitionElement.java:62)
dr|z3d
at net.i2p.i2ptunnel.access.AccessFilter.reload(AccessFilter.java:120)
dr|z3d
at net.i2p.i2ptunnel.access.AccessFilter.<init>(AccessFilter.java:79)
zzz
well, a hash is always 32 bytes, so a b32 is always 52 chars ending in a or q.
zzz
if it's short, there's a bug in base32 encode. If it happens one time in 32, or one time in 256, perhaps it's not dealing with a leading 0
dr|z3d
leading 0 theory sounds plausible.
dr|z3d
it's the second time I've seen invalid b32s in the last couple of weeks.
zzz
haven't seen anything like that here, looked in my block file, don't see any, nor in the logs
dr|z3d
before that, I don't think I've seen anything.
StormyCloud
Hey boo how did your translation session go
StormyCloud
mt but #YOLO
dr|z3d
good thanks, StormyCloud. 100% all over the shop.
dr|z3d
if you're running a recent + dev build, 127.0.0.1:7657/debug?d=6
dr|z3d
we also now have a full hindi translation. bring on India.