IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#i2p-dev
/2022/01/04
zzz ok I have the settings popup converted to a tab but now I have a "settings" tab and a "configuration" tab which seems dumb
zzz there's no way there's room to call them "router settings" and "itoopie settings"
zzz unless maybe two-line tab headers?
zzz smaller tab font?
dr|z3d yeah, there should be enough space in a single frame to contain both settings in sections.
dr|z3d unless you want them both in discreet tabs.
zzz that would be too much work to combine them
zzz and conceptually should probably stay separate
dr|z3d ok, then "Configure" and "App Settings" should work, space-wise.
zzz maybe "Settings (router)" and "Settings (itoopie)" then I could keep the translations
zzz but the itoopie settings is where you configure the router. sigh.
dr|z3d I wouldn't worry too much about translations, doesn't seem to be much done. mostly the translated strings are in English.
dr|z3d To completely bypass translations, you could just use icons on the tabs instead.. that buys you consistent tabs widths as a bonus.
zzz not true, there's 18 languages that are 75+ %
dr|z3d ok, my bad. I did a couple of string greps and saw a bunch of untranslated strings.
zzz I don't know why there's the 'change i2pcontrol' part of settings or how that would work.
zzz remotely change the listen host/port for i2pcontrol? then change the itoopie side? then hope it works?
dr|z3d sure, or maybe you just want to point it at a remote i2p?
zzz certainly won;'t work for the webapp
zzz what if I rename "settings" to "connection" ?
dr|z3d that could work, sure, until something better turns up to the party.
zzz and comment out the 'change i2pcontrol' part
zzz then there would be room for e.g. a language picker
zzz but then "connection" wouldn't be right
dr|z3d there's horizonatal space that can be used as well
dr|z3d icons instead of text is a win.
dr|z3d you've got a cog, you've got itoopie.. are you putting the graphs on their own tab?
dr|z3d Or you could just name the tab "App"
dr|z3d Info | Graphs | Configure | App
zzz What about "Router Control" and "Settings"
zzz or "I2P Control" and "Settings"
zzz no plans to move graphs atm
dr|z3d I didn't move the graphs, I repurposed the about tab and shifted the general text info there.
zzz I think I like "I2P Control" and "Settings"
zzz what do you think?
dr|z3d sure, why not? string length isn't too bad.
zzz ok so I'm renaming Configuration to I2P Control, and moving Settings from a popup to a tab, and removing the 'Change I2PControl" part of Settings
dr|z3d what are you doing with the about tab? keeping?
zzz yeah, no change
zzz if hottuna wants to thank people, who am I to scrap it?
dr|z3d ok, well I personally think it's redundant, waste of space.. no harm putting that in the readme instead, then using the tab space for the text info and having graphs all to themselves.
dr|z3d but you know that already, since the diff did as much.
zzz we could ask hottuna2
dr|z3d you're forking an open source project, you don't need permission to change things!
dr|z3d an open source project that hasn't seen any development before now for around 10 years? must be approaching that long.
zzz not a fork, this is in our main account
zzz it's not like he's not around
dr|z3d ok, whatever works
zzz pushed
dr|z3d skinning isn't much different to skinning izpack, this lib recommended for a somewhat reasonable look and feel -> insubstantial.github.io/insubstantial/substance/learn.html
zzz it doesn't look bad here, except for the tab header font size changing on focus, it doesn't always repaint right
zzz don't know if thats a problem on our side
dr|z3d it's usable, but it's not great. default java mosaic (?) theme has never looked great. there's some demo code to implement a theme changer based on the substance skins here: insubstantial.github.io/insubstantial/substance/docs/skins/overview.html
dr|z3d they're not perfect either, but they don't scream "I'm a java app" in quite the same way.
dr|z3d hmm, having pulled your updates, app not longer wants to connect to router.
dr|z3d previously I'd just start jsonrpc and connection would happen
zzz i assume it works if you start jsonrpc first?
dr|z3d no, same issue.
dr|z3d there's an NPE in there it looks like.
zzz that trace includes a button press so you did something
dr|z3d I hit apply with the defaults in Settings.
zzz oh yeah the apply button on the settings tab, yeah I got the npe also
zzz so don't click it :)
dr|z3d it's not entirely clear what the password refers to, either. is that the jsonrpc password, or the console password, and either way, it seems prefilled which is probably not what we want.
zzz i think it's trying to save the stuff I commented out
dr|z3d and it works for you, button fail excepted?
zzz yes
zzz edit ~/.itoopie/itoopie.conf if you need to
dr|z3d yeah, just did that, no change. didn't need to edit it before, it worked when I started jsonrpc, even after the app was running.
zzz ok, obviously new tab needs some work, thx for testing
dr|z3d sure thing. and well done for finding the mojo to put the settings on a tab.
dr|z3d on the subject of settings tab, "Connect to I2P router" is probably what we want there, not "node".
dr|z3d which indicates it's at least talking to the router
dr|z3d when we've binned java8 for pastures new, github.com/kirill-grouchnikov/radiance
dr|z3d unlike substance, that one's still be developed, and is java8+ compatible.
hottuna2 zzz: permission granted :p
zzz ohai
hottuna2 are yall reworking ye olde itoopie app?
zzz just tweaks for the new year
zzz so you're ok with moving this text from the about tab to a readme file?
zzz lblThankYou.setText(Transl._t("itoopie and I2PControl were sponsored by Relakks & Ipredator.\n" +
zzz "Development began during the summer of 2011 and the first alpha was launched in July.\n\n"+
zzz "I'd like to thank Jan-Erik Fiske and Peter Sunde for actively helping privacy and anonymity online.") +
zzz "\n// hottuna");
zzz oh, the memories, summer of '11 :)
dr|z3d FlatLaf skin now working.
dr|z3d zzz: latest diff with the FlatLaf stuff added: skank.i2p/itoopie.diff
zzz ok. I pushed a whole bunch of crap
dr|z3d I'm resisting pushing crap. my workspace is a pile of. but hey, you've got a diff to look at.
dr|z3d implementing the FlatLaf theme was surprisingly easy. and worth the effort imo.
dr|z3d obviously is doesn't fix the layout of the elements, but it makes the app look a lot more native, especially when you do away with the custom font definitions and just let it does it's thing.. should use whatever your DE is using.
zzz yeah but testing across all the platforms is a pita
zzz what looks good one place looks like ass on another
dr|z3d well, hopefully not, that's what the custom skin should fix.
dr|z3d you can swapout FlatDarkLaf.setup(); for FlatLightLaf.setup(); and you've got a light theme from that diff instead of dark.
dr|z3d I just rebuilt with all the UIManger font stuff in GuiHelper setDefaultFonts() commented out. no issue.
dr|z3d default themes are: FlatLightLaf | FlatDarkLaf | FlatIntelliJLaf | FlatDarculaLaf
dr|z3d ok. your latest push fixed the connection issues.
zzz super,thanks
eyedeekay Hi everyone and welcome to the January 4, 2022 meeting
eyedeekay 3. Promoting Mac DMG JPackage to stable geti2p.net/en/download/mac
zzz hello
eyedeekay Hi zzz, zlatinb, anybody else here today?
eyedeekay Outproxy operators?
eyedeekay OK then on to 1, they can chime in if they want :)
eyedeekay So we're losing all of meeh's non-static services, for us that's mostly trac, which we've already replaced, and false.i2p, the default outproxy
eyedeekay Neither have worked well for a long time, but not having an outproxy tends to have a bad UX so we need to replace it
eyedeekay We discussed some options last week, one of which was finding a new volunteer-run outproxy to make it the default.
eyedeekay If that is to happen, then we'll need it to meet some basic requirements. Obviously a privacy policy is important.
eyedeekay If they aren't passing everything to Tor directly, we'll also need a description of what filtering, if any, occurs
eyedeekay Other options are to run one ourselves, which is of limited appeal at best, another is local SOCKS support, which requires a local SOCKS proxy to be available.
eyedeekay If anyone wants to volunteer to be an outproxy, the place to reach out is at zzz's forum
zzz right
eyedeekay I have not been able to get statistics about false.i2p usage from meeh yet. EOT
zzz first of all we want to be very careful not to publicly recommend an alternate or set a new default without approval, as that might impose a large burden, financial or otherwise
zzz as a tiny baby step, we're looking to get alternates registered on stats.i2p and get approval to add them to our default hosts.txt
zzz as that at least makes it easier for people to configure and use them
zzz we have approval for that step for two outproxies, however only one is currently registered on stats.i2p
zzz so I'm awaiting for that second registration
zzz eot
eyedeekay Thanks zzz, I'll remind him btw
dr|z3d I've had some preliminary discussions with you, zzz, and on that basis I think it should be fairly clear that I'm not interested in offering an official service. Informal is fine, but nothing official.
zzz eot
eyedeekay 3. Promoting Mac DMG Jpackage to stable
eyedeekay So this topic was added by zlatinb, take it away
zlatinb thanks. Basically, the non-DMG (jar) package is not notarized and the last 2 (or 3?) versions of Mac OS refuse to execute it unless the user changes some advanced settings
zlatinb at the same time, the DMG jpackage has been very stable and in-net updates have been tested end-to-end
zlatinb so I propose we make it the default mac download and get rid of the .jar option altogether
zlatinb since we already have a nice /mac page dedicated to the package, I suggest we keep that, removing the BETA modifier
zlatinb and on the Mac div in /download, just have a link to the /mac page, nothing else
eyedeekay I support it.
eyedeekay Do we need to wait for release or just do it now?
zlatinb no need to wait for a release
zzz did you see my 3 questions before I dropped?
zlatinb no, sorry, pls repost
zzz I'll ask a few easy questions:
eyedeekay No I missed them
zzz 1) The user base is sufficient that we are confident it's been well-tested?
zzz 2) The release process is documented and in theory somebody else could build it if they had the right keys?
zzz 3) We're confident we have the resources to continue maintaining it and doing releases?
zzz eot
zlatinb 1) - according to matomo it gets 20-25 downloads a day. We've had users of M1 Macs report that it works as expected. No negative reports at all
eyedeekay 2) and 3) IMO the answers are definitely yes. I can build everything up to the notary part and can teach someone else to
zlatinb 2) is yes but requires de-anoning because Apple Inc.
eyedeekay So with zlatinb and I there are at least 2 people who know how to build it
zzz 2) but it is _documented_ ?
zlatinb yes, step by step incl. the notary process in the README.md
zzz super
zzz 1) does "working" include the update process? have we seen the torrent swarm actually fire off when the news updates?
zzz (because I think the windows version hasn't actually been seen to work yet)
zlatinb 1) yes, the swarm picks up, it's quite small but it's there. I've seen it both at the 1.5.1 and 1.6.1 releases
zzz ok great, thanks for the answers, no objections
eyedeekay Cool I'll make the site changes tonight after I post the meeting logs
zlatinb awesome thanks!
eyedeekay Re: Windows, yes but appears it's an issue in the config file I shipped and not the updater itself
eyedeekay So Windows needs 1 more manual update to work with automatic updates, which I think I might have known ahead of time but forgot
zlatinb So, in the last two weeks or so there has been a noticeable deterioration in the accessibility of sites like zzz.i2p, postman, event major.acetone.i2p... basically sites I know are up
zlatinb I've done some debugging and had situations where the LS of zzz.i2p gets fetched fine, but then the RI of the IBGW must be failing to fetch
zlatinb (I'm speculating here ofc)
zlatinb in a nutshell, there are many unknowns in the functioning of the NetDB and we have to place our faith in the Kad algorithm, which is fine, but I would rather have more confidence via some research
zlatinb just like the testnet helped improve the streaming and ssu and ntcp code a lot, I believe a model or a sim can help improve the functioning of the netDB
zlatinb and the reason I want to discuss it here is that if we go with a sim that runs the actual code that will be in the router, some refactoring will be necessary of the NetDB code, possibly some of the *Job classses too
zlatinb Note, I haven't looked into the multi-router jvm and JVMCommSystem yet
zlatinb maybe those can be an answer up to a given number of nodes
zlatinb but my goal is to simulate at least a few thousand nodes, which means abstracting away most of the router components
zlatinb eot-checkpoint
zzz for starters, I made a series of changes recently to make things more reliable
zzz in 1.6.1-6 dev build
zzz but I don't know if any of the popular servers (besides mine) are running it
zzz I would like to see echelon's and eyedeekay's servers try it. Those are two batches that I've had trouble with for months
zzz eot
eyedeekay Most of my servers just track the PPA, I'll get git.idk.i2p updated
zzz git and gitssh are two that frequently shun me. If they get better, I'll notice
zzz echelon's servers are another mystery. they seem to have IP-level issues frequently
zzz eot
zlatinb There's no question this will be a big project, as you said maybe even a phd thesis. Definitely bigger than the testnet, although of different nature since everything will be inside 1 jvm.
zlatinb Also at this stage I don't know how much refactoring will be required to the router code to make things sensible. Maybe through the use of PowerMock we can get away w/o any refactoring, that's something to be looked into.
zlatinb I just wanted to see if the answer was a hard "no"; being lukewarm is good enough for me. I'll start looking into it in the background.
zzz ok. I'm not at all sure that simulation even makes sense (vs. modelling) but I don't want to be too discouraging too early
zlatinb well I don't know anything about modeling, wouldn't know even where to start
zlatinb ironic cause everyone around me at the banks was doing modelling lol
zzz that was _my_ thesis, but I've forgotten everything...
zlatinb hmm pspice?
idk_afk Other account disconnected, back in a sec, no need to repost, got the scrollback here
zzz also, as far as project priorities, we're about to make another big push on SSU2, that's a year or more behind the original schedule
zzz gosh no not pspice. it was some sort of queueing/behavioral network model
zzz EOT and out, gotta run, thanks everybody
eyedeekay Later zzz
eyedeekay Anything else on 4? zlatinb
zlatinb no, that's all
eyedeekay All right that covers it for the meeting then, have a good week everybody
dr|z3d I had wanted to go into more depth about possible outproxy replacement options, eyedeekay, but in a more exploratory vein than befits the meetings. That conversation is probably best had here outside of the meetings.
dr|z3d And to clarify, I don't think running a single outproxy for the entire network is impossible, and zzz's right that it's about resources, more resources than it's reasonable to expect a single individual to volunteer.
dr|z3d A diverse set of outproxies with in-console options to use out-of-network local or remote proxy or proxies would go some way to disperse the load, and in long term, probably a healthier way to proceed.
dr|z3d No official proxy at all is better than an official proxy that's so heavily used that it becomes largely useless.
dr|z3d Throw 10 or more multi-homes on fast connections at the issue, you could probably get something workable.
dr|z3d In any event, would be interesting to know what kind of traffic meeh was handling. 2 routers with a single quid backend sounds woefully inadequate, and as I understand it, expensive to run. And therein lies the rub. A decent "official" outproxy won't be cheap to run.
eyedeekay I tend to agree, an ISP or similar might be able to run an effective outproxy network, but as an individual it's at best daunting to doomed
dr|z3d As I suggested to zzz, a stopgap measure may well be multi-homing some tor-forwarding outproxies on the existing false.i2p domain, for continuity and to eliminate project exposure.
dr|z3d Not so much daunting, very much expensive :)
eyedeekay Interesting thought re multihoming
eyedeekay Depends on whether we can get the keys
dr|z3d echelon may still have a copy of the key, since he used to run false.i2p before meeh iirc.
dr|z3d the sketched up outproxy ui I posted the other day is also a roundabout proposal on how to go about addressing the outproxy issue in a more sustainable way.
dr|z3d I'd be willing to bet 1) a large percentage of i2p users also use Tor and 2) a signficant proportion that do run Tor would be happy being able to blend i2p and tor traffic from within the console without having to run privoxy or foxyproxy or multiple browser profiles.
dr|z3d to that effect, zzz's plugin is a good start, but that feature really needs to be in the console. I'm sure he's sick of hearing that from me by now.
dr|z3d but yeah, as an interim measure, team members that are prepared to run a false.i2p or equivalent multi-home that just pushes everything through Tor could be a way of providing an interim service without having to think too hard about it. no DMCA concerns, minimal config.
dr|z3d and if there's a native tunnel manager feature to nominate an external socks/http proxy, then it can be pitched as "if you want end-to-end encryption on your clearnet traffic, use your own Tor instance as your outproxy, otherwise we provide a fallback tor-enabled outproxy". a great way to encourage a different pattern of behavior from the current status quo.
eyedeekay Check it, static Tor as a ClientApp i2pgit.org/idk/torclientapp based on ipsn/go-libtor and bine
dr|z3d interesting, eyedeekay, but why provide another tor binary over just using what's installed?
eyedeekay Mostly to make sure it's there. It only serves a purpose(and indeed, will only run at all) if a Tor process is not already present
dr|z3d better to focus on a controller app for an existing tor instance. you don't need to worry about outdated tor binaries that way, and spend more time figuring out how to do cool things with tor's control port :)
dr|z3d stream isolation, circuit cycling, even hidden service creation..
dr|z3d I'm still convinced i2p can provide a superset of the tor features with a decent controller app and console/tunnel manager integration.
eyedeekay It makes sense to rely on an external Tor process in a perfect world but a pretty big segment of the desktop lives in a very imperfect world where the primary way of using Tor launches Tor at exactly the same time as the application, and closes Tor moments after the application closes
dr|z3d local custom hostnames for tor .onion sites in a tor-specific susidns addressbook. Tor doesn't have anything like that, and yet we've got one readymade.
eyedeekay i.e. they have no control port to hook to
eyedeekay Unless we A) find the Tor on their system and start it or B) Bring one along with a plugin
dr|z3d true, if you're talking about torbrowser, but with the general skill level of i2p users, installing a separate tor instance isn't a big ask, if there are advantages to doing so.
dr|z3d or option 3, pull the latest platform-specific version from their site and make sure it's updated regularly. that would be handy.
eyedeekay Yeah and they do operate I2P mirrors now, so that would be possible without already having a Tor instance around
dr|z3d torbrowser itself allows you to configure a local tor instance in lieu of the provided binary, so asking the user how they want to access tor is probably a good idea.
eyedeekay That might be the best answer
dr|z3d not sure if the i2p mirrors are official, last I heard the russians had stepped in to provide mirrors, but that might not be accurate.
dr|z3d that's incidental, in any event. official or otherwise, it's good to see the sites on the network.