IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#ls2
/2022/11/14
zzz 0) Hi
zzz what's on the agenda for today?
orignal I think release plan
zzz ok that's 1)
zzz eyedeekay, you here?
zzz anything else for the list?
zzz ok then
zzz 1) release plan
orignal no from me
zzz what are your plans?
orignal so I switch everybody to SSU2 and turn off SSU
orignal also NTCP2/SSU2 priority is 50/50 now
eyedeekay Sorry I got disconnected at like the worst second
orignal *in the next release
orignal NTCP2 always has priority over SSU2 now
zzz ok. you releasing on sunday?
orignal depening when R4SAS has time. most likely yes
orignal I also see 500+ SSU2 now
zzz sunday for i2pd release?
zzz we plan for monday
zzz but after discussion with eyedeekay, we want to make sure android is fully tested before we freeze our checkins on friday
zzz eyedeekay, you think you'll be ready for a friday checkin deadline?
eyedeekay Yes I have been testing it pretty intently and should be ready by then
zzz ditto for windows bundle?
eyedeekay Yeah that's in good shape AFAIK
zzz ok. please be checking in your changes as you go so others can eyeball it
eyedeekay Been getting some feedback on bugs and knocking them down
zzz that docker ticket going to be done too?
dr|z3d he's already pushed that to main, no idk?
eyedeekay There were some things like if you hard-shutdown it would think it was still running, all in the i2p.firefox issues tracker
eyedeekay Will do
eyedeekay Yeah I merged it about an hour ago
zzz ok, as usual please set milestone and close tickets when done. #374 still open. Rather not be the ticket reminder guy
eyedeekay Yup, just following up with Allen on something then I'll close it
dr|z3d ah, that's the chap I bounced over to you from github :)
eyedeekay Thanks for that, I'm a little slow on the github notifications, they kinda flood me, I get like 300 a day
zzz anything else on 1) ?
zzz orignal, you know zab won't be signing your binaries, right?
dr|z3d yeah, you wouldn't have got it on github anyways, he filed the bug with i2p+ :)
orignal but it's not a big deal
orignal we can publish unsigned
zzz us too
zzz eyedeekay, you have a 2) go-i2p for us?
eyedeekay Yes I do
zzz 2) go-i2p
dr|z3d prepare for idk's tsunami :)
eyedeekay Got notes this week so here comes the wall-o-text
eyedeekay I finally got back to work on go-i2p last Friday, continuing work on the Noise transport, worked on it for most of Friday and most of SundayI can now make a socket, instantiate a noise transport using the socket, and begin to use it to manage "incoming" and "outgoing" handshakes.They don't complete yet, still working on that, but it's more like debugging now and less figuring out how to actually do it, I more or les
eyedeekay o nowI'm dealing with drawbacks of what I've done here already, I think noiseSocket is intended at times as example of a way to use flynn/noise which is not exactly like I would do it or how a P2P application needs to do itSome of the functions are very long and hard to break down, and they use a different Noise flavor than NTCP2 by default, so I'm breaking things down into steps until I have exactly one step of a N
eyedeekay ne functionWhich should finally give me what I've been hoping for all along, an interface where I can modify steps(i.e. add padding, eventually turn it into NTCP2) by instantiating it with different versions of an interface-defined function, so I get to think about reusability nowI'm going to attempt to ask a question I don't quite know how to ask yet, and maybe won't know the answer until I try it out for myself...
eyedeekay tructures can be "nested" if they implement the common interface(`net.Conn`, `net.PacketConn`), and use the common interface to store the information about the socket in their implmentation, and only use the functions of the common interface(This is true)1. That I can instantiate this Noise-framework Transport struct with functions to modify the process in a granular enough way that turning it into NTCP2 is a matter
eyedeekay functions and plugging them in to an instance of the struct(Sort of like what you would do with inheritance)(which I think is true)2. that I can instantiate it with both a `net.Conn(TCP Socket interface)` and a `net.PacketConn(UDP Socket interface)` because I only use the common features of those 2 interfaces, (Which isn't true yet but I'm thinking about how to do it)Does that potential definition of a moddable Nois
eyedeekay brary mean that I can approach SSU2 mostly in terms of connection management and peer testing, because the crypto would be similar enough to NTCP2 that I could re-use the custom functions?I'll find out the hard way eventually the first time I have to do it with SSU2, but it would be exciting to have come up with a design that has accelerating returns in such a way.
eyedeekay Oops linebreaks
eyedeekay I will try again
eyedeekay I finally got back to work on go-i2p last Friday, continuing work on the Noise transport, worked on it for most of Friday and most of Sunday
eyedeekay I can now make a socket, instantiate a noise transport using the socket, and begin to use it to manage "incoming" and "outgoing" handshakes.
eyedeekay They don't complete yet, still working on that, but it's more like debugging now and less figuring out how to actually do it, I more or less know where the pieces go now
eyedeekay I'm dealing with drawbacks of what I've done here already, I think noiseSocket is intended at times as example of a way to use flynn/noise which is not exactly like I would do it or how a P2P application needs to do it
eyedeekay Some of the functions are very long and hard to break down, and they use a different Noise flavor than NTCP2 by default, so I'm breaking things down into steps until I have exactly one step of a Noise handshake, exactly one function
eyedeekay Which should finally give me what I've been hoping for all along, an interface where I can modify steps(i.e. add padding, eventually turn it into NTCP2) by instantiating it with different versions of an interface-defined function, so I get to think about reusability now
eyedeekay I'm going to attempt to ask a question I don't quite know how to ask yet, and maybe won't know the answer until I try it out for myself...
eyedeekay Supposing:
eyedeekay 0. Go network structures can be "nested" if they implement the common interface(`net.Conn`, `net.PacketConn`), and use the common interface to store the information about the socket in their implmentation, and only use the functions of the common interface(This is true)
eyedeekay 1. That I can instantiate this Noise-framework Transport struct with functions to modify the process in a granular enough way that turning it into NTCP2 is a matter of writing a few custom functions and plugging them in to an instance of the struct(Sort of like what you would do with inheritance)(which I think is true)
eyedeekay 2. that I can instantiate it with both a `net.Conn(TCP Socket interface)` and a `net.PacketConn(UDP Socket interface)` because I only use the common features of those 2 interfaces, (Which isn't true yet but I'm thinking about how to do it)
eyedeekay Does that potential definition of a moddable Noise-over-many-transports library mean that I can approach SSU2 mostly in terms of connection management and peer testing, because the crypto would be similar enough to NTCP2 that I could re-use the custom functions?
eyedeekay I'll find out the hard way eventually the first time I have to do it with SSU2, but it would be exciting to have come up with a design that has accelerating returns in such a way.
orignal maybe you can implemnent using TCP socekts only?
zzz what do you need to answer the questions? a more-knowledgable Go developer?
orignal rather than Noise
eyedeekay Not sure, mostly posing as a hypothetical question, like I said I'll find out the hard way when I try to do it one way or the other
eyedeekay orignal the idea would be to use the most primitive version of the thing, just the abstract functions covered by the interface, in order to allow for this nesting property
zzz I suggest doing it the easiest way first, then plan for refactor time before you add a SSU2 transport. I don't think you have enough vision of what's coming with a 2nd transport to make it perfect the first time
orignal if I was you I would wtite it in "C-style"
orignal without ingterfaces, etc.
zzz yeah, simpler the better, agreed
eyedeekay So not even a TCP socket, really, just the framework for one
eyedeekay bring-your-own-implementation
eyedeekay Fair enough, just something I was thinking about
zzz if you were working side by side with some Go Greybeard you could maybe be more structured
zzz but you have a thousand miles to go, don't get hung up on the first 100 feet, just start walking
eyedeekay Well Go's sort of all-about-interfaces, the normal way to design functions that take and emit objects is to accept interfaces and emit implementations. I'll hold off on trying anything fancy or hypothetical on the existing interface though
zzz we can put out another call for help but don't hold breath
zzz sure, do an interface if that's the go style. just don't try to make it perfect with knowledge of what you need for ssu2
eyedeekay OK that's how I'll approach it
orignal but do you have something that works now?
zzz the java Transport interface has 42 revs in 20 years
eyedeekay orignal I have something that will compile and break at a point I understand
orignal like one funny guy wanted to use i2pd's api but didn't know C++ enough
orignal like lambdas and binds
zzz anything else on 2) ?
eyedeekay Nothing else from me, unless there are more questions
zzz I have a quick 3)
zzz 3) torsocks over socks tunnel
zzz I'm playing with mods to our socks tunnel so torsocks will work with it
zzz first to i2p hosts, then maybe via outproxy
zzz via socks-to-CONNECT conversion
zzz almost have i2p working
zzz might be useful, might not
zzz just FYI
zzz EOT
eyedeekay I can think of a use for it
orignal does it work with i2v6?
dr|z3d chould be useful routing over an outproxy as a wrapper.
orignal *ipv6
dr|z3d *could
zzz torsocks does not support ipv6
orignal while tor proxy does
dr|z3d no support for UDP either.
orignal e.g. you can't connect to remote ipv6
orignal *you can
zzz actually, the tor socks proxy docs say ipv6 doesn't work
orignal I know because I'm using it
zzz maybe that's old
orignal yes it's old
orignal they have added it couple years ago
Xeha tor socks with ipv6 works
zzz cool, that's good to know
Xeha its now enabled by default
orignal I know because tried recently
zzz ok, I have more work to do
Xeha your old version might support it too, you have to add a parameter: SocksPort 9050 IPv6Traffic
zzz so probably torsocks supports ipv6 too
zzz will test at some point
eyedeekay Android has a thing where it will "proxify" an app but you need a VPNService to do it, which we could make on top of a SOCKS proxy.
eyedeekay Result would be that we could have a GUI which automatically configures any/all apps to use I2P on Android with such a thing
eyedeekay Sort of like Orbot
orignal what's a problem to implement socjs connections natively?
eyedeekay Like in the apps themselves?
zzz torsocks does a lot of work to grab the sockets
orignal like in i2pd
zzz huh?
orignal you can specify ntcp2.proxy=socks://127.0.0.1:9050
zzz no this is on the client side
orignal and it will create NTCP2 sessions
zzz sending application traffic through a i2p socks tunnel
orignal then I have missed your point
orignal oh I see
orignal you want torify clearnet traffic
orignal but through i2p rather than tor
zzz yeah basically torify
zzz which is a wrapper around torsocks
zzz so, just playing around, will report back if I ever get it working
zzz anything else on 3) ?
Xeha if you configure torsocks to connect to i2p socks client proxy, torify works over i2p
zzz it doesn't work for java socks tunnel because of tor socks extensions, that's what I'm working on
eyedeekay You have to disable something to do with tor's isolation flags don't you? can't remember but if it's an issue I can figure it out
zzz haven't gotten that far
zzz anything else for the meeting?
eyedeekay Nothing from em
zzz ok then... everybody please spend this week testing and fixing bugs!
zzz thanks everybody