IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2024/11/13
~dr|z3d
@RN
@RN_
@StormyCloud
@eyedeekay
@orignal
@postman
@zzz
%Liorar
+FreefallHeavens
+Xeha
+bak83_
+cumlord
+hk
+poriori
+profetikla
+uop23ip
Arch
DeltaOreo
FreeRider
Irc2PGuest10850
Irc2PGuest19353
Irc2PGuest23854
Irc2PGuest46029
Irc2PGuest48064
Meow
Nausicaa
Onn4l7h
Onn4|7h
Over
T3s|4__
acetone_
anon4
anu
boonst
enoxa
glowie
mareki2pb
mittwerk
plap
shiver_
simprelay
solidx66
u5657_1
weko_
dr|z3d ok, latest + dev build up, various fixes / enhancements for i2psnark, please test robustly and report any issues.
dr|z3d the copy-magnet-to-clipboard function should be now more consistent.
dr|z3d uop23ip, mesh: new graphs.js, should fix both your issues.
dr|z3d ok, more updates to graphs.
dr|z3d lazy loading for graphs outside the viewport, with a staggered load, async loading so the ui remains accessible while graphs are refreshing, and throttling of refresh if it takes longer than your configured interval to update.
dr|z3d and infinite refresh shouldn't happen anymore.
uop23ip update fixed it. thanks dr|z3d
uop23ip i tried to find a graph for udp/tcp connection at the moment. The 2 from stats (Transport ntcp/udp InboundConn) only shows 1 or 0, is this correct behaviour?
T3s|4 dr|z3d: AFAICT all is fine on the latest nine; graphs look great, snark magnets are working correctly :D
dr|z3d thanks for the feedback, uop23ip and T3s|4!
dr|z3d uop23ip: re graph stats, dunno.
dr|z3d new + dev build being built with functional in/out active tunnel count / hops indicators in the main table footer.
dr|z3d if you're in the mood for testing, T3s|4, /configadvanced is new, shiny if you're in console adv. mode.
dr|z3d you can add fake keys to test add/delete, a.foo etc, so they appear at the top.
dr|z3d delete will remove the key from the UI, but you'll still need to save to persist the change. <return> and <escape> work.
dr|z3d <return> and escape also work for the snark confirmation dialogs.
dr|z3d Blinded message
T3s|4 dr|z3d: I took out the language key with 'pencil eraser' if that's delete. Without saving, I tried return then esc. Neither worked, and the key is gone, even post re-start
dr|z3d be sure you hard refresh on that page.
dr|z3d wprks for me.
dr|z3d and obviously the window needs focus, but you know that :)
dr|z3d just removing the key with the eraser won't do anything other than remove it from the UI, so you must have done something else.
T3s|4 Nope; this time I deleted router share %, then return, then escape, then hard refresh; and the key remains gone
T3s|4 no saving
dr|z3d right.
dr|z3d that's what I told you.
dr|z3d *laughs*
dr|z3d if you hit <return> then you're saving the updates.
dr|z3d it's the same as hitting the save button.
dr|z3d if you hit escape having deleted a key but before a save, then it will revert it in the UI.
dr|z3d so hitting return and then escape is epic fail.
dr|z3d *** chuckles. ***
dr|z3d in crayons, ESCAPE KEY == CANCEL, RETURN KEY = SAVE. CHOOSE 1.
T3s|4 ah, I did not get that from your message at 12:28, particularly your second sentence
dr|z3d I should have said escape and return are stand ins for cancel and save. my bad :)
T3s|4 np, should be able to recreate the keys from my other laptop
dr|z3d neither key is important enough to worry about.
dr|z3d > /confg for share, /configui for lang.
dr|z3d creating arbitrary keys works fine for test. eg. a.foo values are optional.
dr|z3d it should also tell you if you enter a duplicate key.
dr|z3d and of course you also have a filter that will filter based on keys or values in realtime if you want to zone in.
zzz back from the insanity
zzz however i2p is its own type of insanity
zzz speaking of, a tip for dr|z3d
dr|z3d here we go...
zzz your NetDbRenderer.java line 155, you're doing a netdb lookup for no reason? you aren't using the result
zzz anyway, if anybody needs anything from me, now is a good time
dr|z3d the lookup is for the requested RI, buy maybe I don't need to lookup after a remote lookup? dunno. if that's your definition of insanity, I'm guilty :)
hk zzz: i2p is insanity indeed, but a good kind of insanity. I know the bittorrent spec on i2p says that UDP announces/requests are not supported, but is there any utility in them if they were implemented or would it be a moot pursuit?
zzz well you should only do a lookup if you want the result ))
zzz it looks like a bad merge or unfinished code in progress?
dr|z3d if you're looking at NetDbRenderer, line 779 onwards could do with your help.
orignal zzz, back to my question
orignal I'm asking because it was the vector of last attack
dr|z3d hk: zzz's got UDP torrenting in his sights.
hk ooo gotcha
orignal about data block with SYN and LeaseSet in ECIES
hk good to know
zzz well that code from 144-155 is still a little shaky drz
dr|z3d ok, zzz, thanks, I'll review it and see if I can make it zzz-friendly.
zzz lookup locally - if null, lookup remotely and hang --- then lookup locally and throw away the result... then ri is still null and you fail
zzz orignal, I did skim through the scrollback but please ask the whole question again so I'm sure I understand
dr|z3d not sure where we're throwing away the result, what about this? if (ri != null) {renderRouterInfo(buf, ri, false, true);}
orignal the question is
zzz drz perpaps you meant ri = netdb.lookupLocally() ??? you just have netdb.lookupLocally() with no assignment of the result of the call
orignal 1. is there a requeirement and LS block must be before data block with SYN packet for a new stream?
orignal 2. if you receive a SYN packet and don't have a LS for did you do?
dr|z3d zzz, ah. yeah. :)
orignal zzz, if so you also vumerable to that attack
orignal what they did they kept opening new incoming streams without LS and force to lookup remoretly for each
zzz please briefly explain the attack? again I saw some stuff in the scrollback, but what's your understanding as of now
orignal every time you do remote lookup of LS
orignal you encrypt it to a floodfill with x25519
orignal and it takes all your CPU quickly
zzz thanks orignal, I'll do some research and come back with some answers in a while
orignal what I do now
orignal if I received a new stream and don't have an LS I close it
orignal assuming that LS block must come first
orignal that might not be true
orignal that's my question
zzz is each SYN from the same destination or each one is different?
orignal every SYN was from different
zzz ok. I understand the questions, I'll go do some research
zzz but you know one of the answers will be 'everything needs limits' )))))
orignal that's what I did
orignal however it's not an answer
orignal becuase even if you had this limit to incoming streams
orignal legitimate users couldn't connect
zzz right.
zzz should have answers later today
zzz hk, re: udp announces - not only is there utility, but there is a plan and proposals, the effort is stalled but I'm about to un-stall it
hk awesome :D
zzz the plan is first: datagram 2 proposal 163; then the bittorrent part which is proposal 160
hk hm hm
zzz 163 is almost ready for review; 160 needs a big rewrite before it's ready
hk nice
zzz the work is a couple years old and I made some good decisions and then some bad ones that I need to undo
zzz I will be calling for a review of prop. 163 Real Soon Now (don't believe me)
hk hahah, no problem. sounds like healthy development to me
hk with anything big, rewrites seem inevitable
zzz nobody _needs_ UDP announces so it keeps falling to the bottom of the list. We try to focus our work on things that will have immediate users/consumers but this one doesn't
zzz even if the two props are implemented, then it would fall on clients/trackers to get implemented there, so that's stage 3, don't hold breath
hk understood, I was just curious to see where it was on the totem pole. Will read those proposals you mentioned though.
hk re: falling on clients/trackers, makes sense
zzz hk and eyedeekay, how's the go-i2p work? if you're really guns blazing I'd expect 100x more questions. Let the community participate and help, and others can learn with you
hk oh yeah right now it's all about fixing the router info generation
zzz sure sometimes RTFM is best but others we can save you a day of research in 10 seconds
hk we're having difficulty right now getting the right bytes set in place, serializing and deserializing tests are failing for router info
hk re: RTFM, haha yeah that's kind of my thought process, I presume to do my own research but if I really hit a brick wall then I ask questions
hk We have a draft PR in the works right now, i'll link it to you
hk eyedeekay is tidying it up now, I deferred it to him to fix up the mess ))
zzz ok, baby steps
hk yep yep, it's a bit of a hassle but we are making progress, once that is done
zzz don't ever spend time looking for java code that does X, that's always a 10 second answer
hk we'll be able to generate router info
hk hm hm
hk understood, I did get inspiration to implement sntp from the java implementation however, was able to mimic it; except implementing sntp, that was just a library I imported
hk sorry, the ntp client*
zzz for the last two years eyedeekay has been stuck at the NTCP2 handshake and you're still there, but the last few months has been a side quest on a big refactor which is almost complete? and you're almost in a place to return to NTCP2? is that correct?
hk If I understand correfctly, the big refactor you mention must be noise? in that case, I believe eyedeekay would concur that the noise subsystem is considered complete (I dont know if feature complete however, but it functions), and we've set up the foundations for NTCP2. But in order to do that we have to be able to test it, and right now we don't want to harm the network by testing in
hk production so I've been tasked to create a testnet
hk right now that is in the works
hk however as of now, it does not funciton unfortunately, the router infos are syncing to the netDb by force
hk (placed in rX, rY, rZ and so on)
hk yet they do not find each other
zzz well
hk so it's a bit puzzling
orignal you need to make them floodfiils
hk oh
zzz sounds like there's a plan but more focus on goals might help. SNTP is fun but a pointless side quest at this point
zzz NTCP2 handshake should probably be done first as a unit test.
hk zzz: agreed completely, I was new and was eager to "just write code" at the time, and was still ingesting the code but understood ntp enough to do that, but yeah it was a side quest
zzz I wrote NTCP2 4 different times before it went onto the network
hk orignal: ill see towards making them floodfills and see if they work, thanks
hk wow I see
hk got it, unit test first
zzz hk I can't review the substance of your MR #23 but that looks exactly like the type of work that is absolutely necessary and this is the right time to do it
hk awesome awesome alright
zzz if you guys are doing unit tests for everything then you can toil away and should be able to rapidly iterate and implement
dr|z3d aside: you remember me mentioning self-invoking js scripts as a way to not pollute your global namespace, zzz?
zzz yup
dr|z3d there an even easier way, if that's all you want.
hk zzz: yup that's the modus operandi now, just plementing and verifying the process and it has helped us make sure we dont rabbithole ourselves into things that dont work and end up being a headache later on. speaking of which, now that you mention it, crypto could use some unit tests as well
dr|z3d not that wrapping scripts with ( ... )(); is particularly hard.
zzz noted. After that burst of revelations and fixes a while back, I think I have things internalized, but I don't think I have any js stuff on my todo list at all right now
dr|z3d <script type=module ...> is the even easier method.
dr|z3d easier in the sense it's just a search and replace.
zzz it was like problem -> revelation -> solution -> refactor -> done for now. Always happy to get smarter, but don't have any place to apply it right now ))
dr|z3d if you missed the missive, it's js month, at least in + land.
zzz don't live there but I do visit occastionally
hk haha
dr|z3d we also briefly discussed a while back around the time you submitted the /configadvanced mods having something similar for adv. mode.
dr|z3d a few months later, and tada. it's done. inline editing for adv. mode
dr|z3d tabulated configs, per line edits.
zzz nice
dr|z3d key/value separation.
dr|z3d just don't hit enter after you've edited a key and then escape and wonder where your key went :)
zzz won't look at soon, but good to know, If/when I do return to the topic
zzz hk, so you're doing low-level data structures and primitives and tests, and eyedeekay is over on planning and refactoring, and transports and netdb and noise I guess?
hk I am the de facto unit test guy at this point indeed, and dabbling in the low-level structures that I am understanding more as time goes on. eyedeekay is 100% doing the planning and guiding where efforts should go. The NTCP2 transport is in our crosshairs and what we're doing now is to the play the ball in the court (whatever we're doing) into the hoop (NTCP2)
zzz perfect, that sounds like an excellent plan and split of responsibilities. Should be perfect for you because it allows you to rapidly code/test/iterate without needing to know everything about everything
hk thanks, yeah it was a very natural move, doing these tests taught me a lot of the code. I wont say I know it like the back of my hand, but I can draw that hand now
hk the next steps after ntcp2
hk I would personally predict would have to do with netdb
zzz I assume your unit tests are testing against yourself, where you generate something, serialize it, then deserialize/parse and see if you're back where you started?
hk zzz: im curious to hear from you, what would be the best step after ntcp2?
hk zzz: yup, that's exactly it
zzz great
hk or with crypto, encrypting and decrypting and verifying that the original info matches etc
hk the usual stuff, with obfuscation that's what was done; just seeing if it matches the original info :). I hear people dont like doing unit tests, but I find them satisfying
zzz don't ask the 'next step' question at all, because the current step is where eyedeekay has been for 2+ years, and you may have a long way to go. just stay focused
hk understood, thank you :D
zzz that's awesome because I am not a unit test guy at all.
hk hahahah
zzz but I have always had the luxury of a working router, so when things break it's super-obvious
zzz it's a discipline I respect but don't have
hk very true, ideally we want to get to that point. but right now things had been opaque, that's why I added debugging info
hk right right
hk whats why I added debugging messages*
hk a bulk of the code I contibuted so far actually has just been pure debugging messages, nothing special
zzz I assume that when available, after your tests work then you also test against java or i2pd-generated data if you can? I know for RIs that's easy as they're stored in files
hk yup
hk thats the plan
hk actually, I know 100% that readRouterInfo works at the very least
hk just one part but the reading of information appears correct more or less, I was not involved in that; those were past contributors
zzz yeah of course every router comes with a corpus of thousands of RIs you can test against
hk true true
zzz I do have some leaseset files back from our LS2 development days if you need them.
hk 'd love to see em, I think they would be valuable
hk I'd*
zzz for other things like I2NP messages, a little hack of java router or unit test code may be sufficient to write some things out to disk for later testing
zzz but that's for after you're done with your tests against yourself
hk hm ok ok
zzz here's my leaseset files: stats.i2p/docs grab the online-* and offline-* files, they should be correct but can't promise, this was from back in the middle of development
zzz it's a grab bag from January 2019 believe it or not
hk nice nice thanks :D
zzz are you guys working on leasesets yet?
hk hmm I dont believe so
hk not yet
hk wait uh
hk we have
hk im sorry I was wrong, there has been previous work done by Hayden Parker, thulium and others that have
hk primitives for leasesets
zzz yeah, strictly speaking it's not in the critical path to get NTCP2 working at all, however it's all pretty similar to RIs so it may be worth working on now anyway
orignal LeaseSet2?
hk primitives/data structures*, but otherwise getting them to "work" not yet
orignal or LeaseSet1?
zzz I believe the hkparker work may be pre-2019, pre-LS2? maybe LS1 only?
orignal that's what I sspect
hk orignal: lease set 1
orignal LS2 is completely different
hk it's lease set 1
hk yeah I just confirmed
orignal zzz, while you are here. maybe it's time to discontinue LS1 completely?
zzz yeah so adding tests and LS2 support may be pretty easy for you while your head is in it, even if not really needed now
zzz orignal, state your case why
hk zzz: alright gotcha
orignal to not maintain this code
orignal and the final goal is get rid of ElGamal
zzz if that's the only reason that's not much of one, imho. My philosophy over here is to maintain backward compatibility as long as possible
orignal LS1/ElGmala is too risky and possible attack vector
zzz if you want to make a case, please analyze what % of leases are LS1, what router versions would be required, what % of routers those are
orignal even the % is zero it's even worse
orignal because you still have th code processing it
zzz I'm not even sure if we always send LS2 now. Java may still make LS1 now if it's ElG only in some cases? not sure, would have to research
orignal and an adversary can find a hole
orignal why do you even need to send Elg?
zzz we'd have to have a deprecation schedule and a plan, can't just flip a switch today on it, it's not even marked as deprecated in the docs right now
zzz ppl may have a dest configured as ElG only. I don't know
orignal I don't say today
zzz sure
orignal but it modern network always being under verious attacks ElGamal is a huge risk
zzz point is it would have to be researched and done carefully, and I don't have the answers
orignal because an advesary can put ElGmal dest down easily.
zzz maybe. so first step, please gather some stats on LS1, how often, what %, both published and unpublished, what version, what's the impact of discontinuation
orignal will do
orignal and LS1 is ElGmal-only
zzz right. thanks, decisions are easier when we have data ))
orignal i2pd server use ECIES only by defult
dr|z3d we're all mostly on the same page for configs, http proxy is the only thing that really needs both.
zzz yeah it's complicated because we have old routers, old configs on upgraded routers, most things we've auto-migrated the configs but some we haven't? it would take some effort to figure out
zzz of course LS2 supports ElG+25519 and ElG only so removing LS1 doesn't really have much impact on mitigating any theoretical attacks on ElG
orignal no, my proposal is to remove both ElGmala and LS1
orignal LS1 first because it can't work withou ElGamal
orignal so I want to exalude ElGamal from LS2 too
zzz that would take a couple years, I think ElG+25519 is still the default for us for some types of tunnels.
zzz I think notbob may collect some data on encryption types for servers, that may help the analysis
zzz ooh looks like hk and eyedeekay just got a new person to help! github.com/go-i2p/go-i2p/pull/24
orignal ElG+25519 is fine, Elg only is not
orignal let them make NTCP2 work first )))
zzz sure, we can head that direction, just don't know how quickly. we haven't done any long-term planning in a while
zzz maybe we should just stop work for 5 years so go-i2p can catch up? )))
orignal NTCP2 was not chamged since 2018
orignal we can stop working but adversaries wouldn't
hk zzz: haha yeah I saw that, exciting times
hk 5 years is quite the timeline
hk hopefully it wont take that long
hk ))
zzz yeah. but if your main concern is resource exhaustion attacks, of course that must be addressed at a high level. Removing support for the slowest thing is a mitigation but not a solution, there's always some other thing
orignal ElGamal is not just slowest thing
orignal it's too CPU greedy
hk orignal: interesting
orignal and you know how you can put any ElGmala address down easily
orignal that's why i2pd has ECIES only for servers by default
orignal my main concern is not resuorces
zzz perhaps the ElG issue could be part of our plans for migration to PQ or hybrid crypto (and PQ might be slower than ElG, I have no idea)
orignal just some cases that are not covered in LS1 processign for example
zzz whats your main concern again?
orignal LS1 was implemented in the days when nobody tried to attack the netwrok seriously
orignal and this code just old
orignal nobody pays attantion to it
orignal Blinded message
orignal while LS2 is used all the time now and all potential issues was discovered and addresses
zzz sure, but I don't know if old stuff is more vulnerable than new stuff. You're right that I don't spend a lot of time thinking of possible ElG or LS1 attacks
orignal ElGamal issue it not just ElGmal itself but the nature of than protocol
zzz yup
orignal remeber what you usually do for ElGmala
orignal you try to calculate shared secret then derypt block and after that you see tha chekcsum mistmatches
orignal while an advesary can send any random data
orignal e.g. it costs nothing
orignal for them
zzz agreed it's worth putting on the list, but no idea what the priority or timeline should be.
zzz I think I did a post on how SSU2 marked the end of our 8-year-long crypto upgrade program that took an enormous amount of planning, proposals, coding, testing. We haven't started a new plan at all, you're right that it may be time to start
zzz that's why hk and eyedeekay need to hurry and catch up soon!
orignal start what?
zzz a new crypto migration plan which includes deprecating ElG and supporting PQ or hybrid
zzz and maybe fixing other things now that we're smarter than we were 10 years ago
orignal agree
hk zzz: we're working on it. honestly moving fast and breaking things then fixing them fast is not a bad way if it works. do you think NTCP2 by EOY is too fast though?
hk well now that I think about it, maybe there is no such thing as too fast ))
zzz I don't have any insight for you, I don't know Go and am just an outside observer. You're in the middle of a 2-year-old restart of a 10-year-old stalled project
zzz it will take how long it takes, but have no illusions, you are still at the beginning
hk fair enough :)
hk yeah my goals are too revive it from being vapoware, give it programmatic CPR
hk to*
hk vaporware*
zzz the more organized you are and the more you _look_ organized, the more help you will get
hk right.... thats how I got into it, the stars aligned just right for it to happen though. I was learning go and was already interested in i2p and I saw this project being revived by eyedeekay and decided I could feasibly help and have a symbiotic gain from it as I learn go
zzz I have no idea how to measure your speed of development the last month and how it compares to the last year or last 10.
hk any I digress
hk yup right right
hk theres not much to gauge from yet
zzz but objectively, say over the last 2 years, I'd say the progress is probably 10x to 100x slower than necessary to ever 'catch up', not that that should be the goal
hk honestly that sounds very motivating to work harder at it
zzz not only are you at the beginning, you're also on the easy part
hk oh man...
hk ))
hk where does the slope get steeper?
zzz not a criticism of yours or eyedeekay;s skills; neither of you have been coding for 40 years and you're not full time on this project
zzz when it starts to kindof work
hk true
hk ahh
zzz what happens when something breaks talking to another router but you don't control that router or have logs for that side or even know if it's java or i2pd or what version
hk damn so when it's in prod, i see
hk that's what I hope a comprehensive test network would solve, we can implement different router configs and router versions and whatnot and see how they interact AND have the logs
zzz test nets have their place but not sure how helpful it is for you at this stage, it's too complex and too noisy
zzz unit tests and simple local connections (two routers) are far more useful.
hk hm I see
hk yeah but it's going to be necessary to test out sam unless we have some sort of mock sam connector
zzz you don't need a 'test net' to have router A talk to router B on your machine.
hk mock sam connection*
hk hm
zzz SAM is used to create clients. Step 1 is for your router to talk to routers.
zzz Clients is about step 99.
hk ahaha right
hk fair fair
zzz have you looked at str4d's ire rust router?
hk hmm I have not, I saw it on his github though
zzz take a look at what it does and doesn't do. He did it pre-LS2, pre-x25519, pre-SSU2.
hk nice alright will do
zzz This will really depress you, but he didn't know Rust, he did it as a learning experience. He did it from scratch in about 6 months iirc, as a side project (((
zzz he's a brilliant and incredibly fast coder, and he knew i2p backward and forward, so not apples/apples. But it used to participate in the network just fine, until he stopped work on it and now it's too far behind
hk That's not depressing, that's actaully encouraging to hear. He is very obviously a talented programmer given his experience, and even if it was done by scratch; it was aided by documentation and community resources I imagine
zzz he was in the community for years at that point, yes
hk it's good work and we can learn from it, it's good
zzz just an example of what's possible with knowledge and focus and time and and and...
hk yeah it's just persistence really
hk personally with me, focus is not at the best but it may improve in the future. but I realize with the little experience I have, persistence and hammering down on something and not "giving up and doing something else" makes a tremendous difference
zzz btw you guys are the sole 'testers' of our specs right now so be sure to feed doc fixes or clarifications to eyedeekay or me, they aren't perfect and you're the only ones that will find errors
hk I think there's healthy disengagement, like you do a different project or something, that's fine. but man, if you just... go back to it tomorrow, or the next 8 hours or the next hour; it makes a difference
hk very interesting
zzz ok. stick with it
hk will do for sure
hk thanks zzz
zzz I gotta run because I have things to do and promised some answers for i2pd's questions too.
zzz later
hk take care :)
orignal zzz you can compare his speed with mine 10 years ago ))
hk maybe we could get a prediction from that ))
dr|z3d zzz: snark tunnels, we don't scale tunnels to clients independently for in/out?
dr|z3d if so, could be something to look into.. no point allocating inbound tunnels relative to outbound client connections, or vice versa.
zzz ok but I asked if anybody needs help, not if anybody had any wild ideas to add to my todo list )))
dr|z3d *** laughs ***
dr|z3d did you take a look at the partial partial match for leasesets in my NetDbRenderer.java ? I got stuck, so left it for now.
hk hey dr|z3d, I was on #i2p and granDolf mentioned that he had a recommendation for i2psnark so I referred him here
dr|z3d thanks, hk, maybe he'll find his way here.
hk dr|z3d: yeah yeah he just joined, np
dr|z3d he'll want to register his nick if he comes here, maybe you can help him with that.
dr|z3d welcome, granDolf
dr|z3d I must have been blind, hk, never saw him alight here :)
hk haha no problem man
granDolf Oh great, I was going to come back later. Thanks for the voice
granDolf I have an proposal for i2psnark
dr|z3d sure, let's hear it, both zzz and I are here :)
granDolf basically I would like torrent files to act like websites in apache, with all torrents in an 'torrents-available' folder but then there is a 'torrents-enabled' folder that i can use to only have the 20 torrents that i want to share in that session
dr|z3d sounds like this is more a UI thing, fundamentally?
granDolf they would be separate from the content, those folders are just for the '.torrent' file.
granDolf Yes is UI and is a functional thing too.
granDolf Because the available torrents are not wiped from the system completely
dr|z3d let me explain.. you have a bunch of torrents you want to share on a per session basis, and you only want to see those, in essence?
granDolf The way it is now if I remove the torrent files, then i2psnark completely forgets about them.
dr|z3d sure, they're just stoppd.
granDolf Then when I add the torrent file back it scans the torrent all over again.
granDolf Big waste of time, energy etc.
dr|z3d the reason I'm suggesting UI is that we have something in I2P+ snark that may more or less suit your purpose - torrent display filters.
granDolf I haven't considered I2P+ it might be a good option. What is meant by filters?
granDolf Can I have the same torrent in multiple filters?
dr|z3d if you delete or move a .torrent file, you'll also lose your metadata, which is also sub-optimal.
dr|z3d a filter is a query parameter that's enabled in the UI via buttons that determine what you want to display in the UI, torrent-wise.
dr|z3d some torrents will be matched by different filters, sure.
dr|z3d complete / incomplete, connected, seeding, downloading, active / inactive..
zzz I'm not a fan of .torrents and data in same dir, but it's Always Been That Way and never bothered me enough to do anything about it
granDolf can i make make my own filters?
zzz ditto with separate dirs for complete and incomplete data (which people also ask for occasionally)
dr|z3d no, filters are presets, but they should cover most if not all of the conditions you expect.
dr|z3d that said, the inline search is effectively a filter, so you can filter by name.
dr|z3d if we were going to look at folders and the like, zzz, multiple dests based on content folders would be interesting. the stolen-from-routerinfos folder arrangement for metadata is nasty, also, re folders.
dr|z3d specify content folder(s) for torrents, each folder, separate dest.
dr|z3d could work for incomplete downloads, too.
granDolf That is not easy to search for every torrent. I think it would be easier if I just have the torrent files in a folder, then select All. Copy and Paste them in the "enabled" folder.
granDolf Are you saying that inside the "enabled" folder, if one has multiple folders, then the torrents in those folders would have different addresses to the tracker then yes, that would be MINDBLOWINGLY GOOD
dr|z3d the problem with that, as it stands, is that the torrent metadata (file integrity, upload totals etc) is hardcoded to wherever the torrent is created, so move the torrent you lose all that.
dr|z3d that's what I'm mooting, granDolf :)
dr|z3d re selections, what *might* be worth considering is an option/modification that permits only torrents displayed in the UI to be stopped/started in bulk.
zzz yeah of course we've had a lot of feature creep in 20 years, but my generic response is that snark is a medium-feature application, for all the bells+whistles please try Vuze, because snark features rarely rise to the top of our todo lists
granDolf hang on, if i stop all torrents, and then start a torrent do i send the tracker my history of how much I've uploaded that torrent to others?
dr|z3d metadata is for local use only.
dr|z3d for display in the snark UI.
granDolf ok cool
granDolf zzz this is for saving time and energy
dr|z3d I hope you're _not_ suggesting people try Vuze these days, zzz :)
dr|z3d itym BiglyBT.
granDolf if the torrent is in the available folder then we don't wipe away all the history
dr|z3d that's it.
zzz not sure that's true drz, announces contain uploaded/downloaded stats, check the bittorrent specs and/or postman details pages
orignal snark is slooow
dr|z3d zzz: maybe per dest/session.. not from local metadata which is session/dest persistent.
orignal at least individaul peers
zzz oh sorry biglybt
zzz don't know if it's reset across stops/starts or not
dr|z3d pretty sure it's per dest.
dr|z3d and per session, in respect of trackers.
cumlord that sounds right
granDolf announces in i2psnark shouldn't send history across stops/starts, that would make it impossible to share torrents in different combinations across stop/starts it basically would nullify being issued a different destination
zzz granDolf, not saying it's a bad idea, maybe it's even a good idea, that's not the same as saying we'll do it, The separate incomplete/complete dirs have been asked for many times but haven't done it yet either
zzz I lost count of how many ideas dr|z3d threw at me already today ))
dr|z3d if ideas were chocolate, zzz will be Willy Wonka by now.
dr|z3d *would
dr|z3d oh, today? TODAY?
dr|z3d behave, zzz :P
dr|z3d if you can't keep track of two or three ideas, time for pipe and slippers :)
granDolf Well it would be very, very, very, very helpful to me. and i think its not hard to test whether a i2psnark has migrated to this format, so if someone is against migrating maybe they can tick a button that says don't migrate to the new format when/if it arrives.
dr|z3d I think what zzz is saying, granDolf, is "don't hold your breath" :)
granDolf Then we can track how many people DONT like the idea
dr|z3d multiple configured data folders, one dest per each. that's a winner, but I don't think it's happening any time soon :)
granDolf If everyone ticks the Don't migrate my torrents to available and enabled then you don't do the feature.
dr|z3d if the button's in the UI, that kind of suggests you've added the feature.
granDolf Not necessarily, its a voting system. :P
dr|z3d we don't do telemetry, probably never will, at least not in the console/webapps, asside from limited floodfill stats.
granDolf Anyway I'm not even saying we need multiple data folders, one folder is fine... I'm saying two folders ONLY for the '.torrent' files. One for 'torrents-available', the other for 'torrents-enabled'.
zzz thanks for the comments granDolf, we love ideas and feedback, we're doing what we can around here
granDolf Np thanks zzz. I best dash myself.
granDolf And thanks dr|zed for that INCREDIBLE idea wrt folders inside a possible 'torrents-enabled' folder that would streamline my idea even more... NO NEED TO ENTER THE FOLDER AND HIT 'SELECT ALL'!!! GENIUS
zzz if you're looking for ideas, dr|z3d is your guy, come back any time
granDolf One more thing...does anyone know Richard Stallman's stance on i2p?
granDolf I know he likes Tor.
granDolf But I don't know whether he has ever mentioned i2p
zzz incoming answers for orignal:
zzz <orignal> 1. is there a requeirement and LS block must be before data block with SYN packet for a new stream?
zzz <orignal> assuming that LS block must come first
zzz <orignal> that might not be true
zzz - I don't think it is true in theory, but it may be in practice:
zzz - I can't find anything in the specs that requires a particular order for cloves (but we do put LS before data now)
zzz - The only thing I found was pictures and info in "this is how it works" pages but they aren't official specs
zzz and even there they don't say any order is required
zzz - I can't find anything in the specs that requires the LS be bundled at all with the first SYN...
zzz - I can't find anything in the specs that requires the LS be bundled at all with the first SYN...
zzz - some possible scenarios, we don't do any of these, they may not make sense, but they're all legal:
zzz Blinded message
zzz Blinded message
zzz Blinded message
zzz Blinded message
zzz - For us, the LS will still be handled before the data is replied to, even if out-of-order, because data is queued to a separate thread
zzz <orignal> if I received a new stream and don't have an LS I close it
zzz - If that's working for you I guess it's fine, but you may wish to gather data on how often it happens, maybe it does happen some times?
zzz <orignal> 2. if you receive a SYN packet and don't have a LS for did you do?
zzz - We will queue the reply, lookup the LS, and timeout if we don't get it
zzz - This is the same as for an outgoing SYN, because our layer that bundles the LS doesn't "know" if the data is a SYN or SYN ACK
zzz Attack defenses we support:
zzz - We have a limit on number of outstanding lookups which should mitigate a DoS in your attack scenario;
zzz - We also have configurable limits on number of new conns per minute and hour which should prevent a DoS in your attack scenario;
zzz - We also track pending lookups so we don't send twice, and have a negative lookup cache, both may help
zzz in some cases, but not in your scenario where every SYN is from a different dest
zzz EOT
zzz ooh that was more than it looked like when I was typing it over here, sorry if too much ))
granDolf anyway I'll return sometime to find out about where I can confirm what i2psnark sends to the trackers in the 'announce', as I said earlier I hope it doesn't send too much info like the amount of data uploaded to others, that would be TMI, IMO.