IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2022/03/23
dr|z3d wake up and smell the coffee, rambler_!
mesh dr|z3d: what browser do you use with I2P+?
mesh i2p has this Firefox Profile geti2p.net/en/download/firefox ... but it bundles a router argh
dr|z3d I use firefox nightly, mesh.
dr|z3d you can probably extract the parts of that profile that are useful.
mesh dr|z3d: huh. you don't use a privacy focused browser? I would think leakage would be a concern
mesh yeah I'll look into it
dr|z3d it's only a concern if you don't harden your browser
mesh it's frustrating that these browser profiles bundle tor and i2p. Does anybody have a hardened browser standalone?
dr|z3d if you want hardened from the getgo, try torbrowser.
dr|z3d you can configure it to work with i2p.
mesh dr|z3d: I probably could. but torbrowser will bring along and install tor right?
dr|z3d the tor browser comes with its own tor exe, yes.
dr|z3d if you have the time and inclination, configuring firefox yourself isn't so difficult.
dr|z3d hello margit
mesh dr|z3d: do you have any links to guides on how to harden firefox? I'm surprised nobody offers this out of the box argh
margit does cygwin has a port for i2p or i2pd native?
dr|z3d a guide to hardening firefox is something I intend to add to the i2p+ help section when I have a free minute.
dr|z3d let's see if I can find the useful parts of idk's firefox profile.
sheikh_muhammad Profit Muhammad never said he was Sunni, he gave us the Sunnah. He never said he was Shiite, but through his daughter Fatima, he has Hussain, and Hassan. He never said he was Hanafi, or Sufi. That's your stuff. Be what he was. He was a Muslim.
dr|z3d that's an extension that does some hardening.
sheikh_muhammad dr|z3d, what's the good word?
dr|z3d word of the day is "onanism" milkshake.
mesh interesting
dr|z3d you probably want uMatrix as well, at the very least.
mesh frankly I will never trust the total cluster that is http+javascript+browsers
sheikh_muhammad what does it mean?
sheikh_muhammad dr|z3d, keep in mind I almost never use English anymore and I have always asked you what your big words mean, and your small... difficult words
mesh and they have the best security researchers in the world working on tor supposedly
dr|z3d uMatrix, you can thank me later, mesh :)
sheikh_muhammad mesh, if you ever put trust in a networked system that isn't inside a faraday cage and guarded by men with weapons in fortified positions in large numbers... You aren't secure and ensured your privacy
mesh I can "trust" a networked system but the web will never be secure
dr|z3d think of uMatrix as NoScript with big boy pants.
sheikh_muhammad Well, Chromium runs inside a sandbox with a special restricted access method to save files to non-sandbox container use folders unless saving a file or something
mesh yeah I know about umatrix
dr|z3d and firefox isolates cached resources per site if the feature is enabled.
sheikh_muhammad And it's Google. You can always trust Google. The reason people don't trust Google, is because they are too stupid to read the very long ToS and disclosure statements google makes public, otherwise they would know you can opt out of all logging and telemetry and data collection and get generic ads instead of targeted ads, you can even take redundant steps with cross site references, and scripting
sheikh_muhammad languages and methods blocked with addons. The one and only way Google will never collect ANY data on you other than what it stores for you to use on your Google Cloud account synced settings or data, which you can encrypt before uploading to sync, so they can't read it, all you need to do is actually be logged into Google, and have your account set to disable each tracking and privacy invasive feature
sheikh_muhammad they use in their sites, services, and APIs most websites use that google tracks your through without being on Google at all
dr|z3d oh here we go..
mesh I wonder how difficult it would be to build a non-browser frontend for torrents
dr|z3d you can trust google about as much as you can trust facebook.
mesh I mean let's be honest, that's the goal
dr|z3d I trust them both to hawk my data to the highest bidder.
mesh what we need is a very simplecommand line program that sends a search query to a torrent site and displays the results
mesh it shouldn't require an entire fucking browser
sheikh_muhammad You need to be logged in to your own account. It seems counterintuitive, but they really do and always have said, our goal is to collect every bit of data we ever get, and then develop technology to mine it and market it for profit. Everything they say, is open and honest, and you just need to actually read all the terms and licenses and service agreements
sheikh_muhammad It's very counterintuitive. Be logged in to a trackable account, and they won't track you. But they have never done anything nefarious with data collected without disclosure. Most people never even think to look for their policies and terms and license clauses and read them. So they think google is doing this secretly and they are some insider with wisdom normal people don't have
dr|z3d you may be surprised to learn that snark used to support command line interaction.
sheikh_muhammad I guarantee you a competent lawyer, would know to read all that stuff, they'd even look for it if Google didn't make it obvious but in fine print
mesh dr|z3d: the problem isn't downloading torrents, the problem is being able to search torrent directory sites without using a browser
sheikh_muhammad mesh, that sounds like something you could VERY easily accomplish by using a python script with the correct libraries, in under 20 lines of code, maybe under 15
dr|z3d mesh: curl has you covered.
parabo I can't wait for Friday
mesh dr|z3d: do we have any idea who is behind some of the more popular i2p torrent sites?
mesh I wonder if they'd be amenable to offering something like an API
parabo most highly reputable for profit sites offer APIs for complex over scripting or coded use functions of their services
dr|z3d mesh: yes and yes. watch this space.
dr|z3d how's your javascript, mesh?
parabo I know coffeescript dr|z3d
mesh dr|z3d: terrible :/ I know java and c++ very well. not good for much else. can't even a get a simple css layout working hehe
parabo it compiles to javascript
dr|z3d that showed some promise, and then someone went and renovated postman's tracker.
dr|z3d parabo: you've already indicated you're not interested in contributing code to i2p :)
mesh dr|z3d: ideally though I would like to move towards a world where there are no browsers. if somebody gives me an api, even a http api with mucky json, I can write a java client that uses that api over i2p
dr|z3d mesh: java's good, we need more java coders around here.
parabo Yeah but i know coffeescript
mesh the result will have a much smaller attack surface than a browser I guarantee
parabo you should bow down before my horrible but competent coffeescript skills
parabo no I jest, no one should worship me for any reason
dr|z3d mesh: c++ also useful.. have you had a look at i2pchat?
mesh mesh: yeah I have been looking at i2pchat, I like it except for the gtk nonsense
dr|z3d gtk? you mean qt?
parabo C++ is really useful, but I think C is considerably more optimizable and with different styles and some significant but not huge methodology in C are for compiler available efficiency, not potential of the language level
parabo Basically, for x86 and MIPS, C is the best language to generate optimizable preprocessed and first stage compiled outputs to the next stages
mesh dr|z3d: hmm maybe it is qt
dr|z3d oh, it's definitely qt :)
dr|z3d I should know, I spent enough time overhauling the ui qith qtdesigner :)
parabo QT is great, but it's a world of it's own. You need to study QT and work with QT for probably a decade to become a fully capable developer you could write excellent mastery of QT for developing GUI interfaces
mesh dr|z3d: yeah it's good stuff. we need something like i2pchat for torrents
mesh a simple program that natively speaks i2p and does one thing and one thing well
dr|z3d mesh: we need something like i2pchat for chat. only more so. feel free to dive into the code :)
mesh no need to muck around with browsers which are basically malware at this point
parabo Like, if someone wrote that, I would have another expert who had backing in reputation... write a test to prove it, and if the job involved a cross platform perfected GUI design, they would get the job if they proved they knew everything we threw at them
dr|z3d i2pchat, with a bit of work, could do the same job as onionshare.
parabo it's better than saying you are skilled in a language, it's a specific and for profit software useful development for GUI apps that are cross-platform
mesh dr|z3d: stick to making small programs that do one thing and do it well
mesh stuff like onion share is always going to be a problem from a security. it does a bunch of things... a user just wanting to chat has to download a bunch of other crap and increase her attack surface
parabo lol Bob is high
parabo I was exhaling a puff on a joint and she landed where the cloud settled
parabo stoned parrots are funny
mesh dr|z3d: I just got a really good idea haha
dr|z3d about time you got some videos together, parabo
mesh it's funny how being distracted and whining frees up and your brain to work in the bg and solve problems
dr|z3d do tell, mesh. and then tell us how you're going to actuate said idea :)
dr|z3d Blinded message
parabo I got a video of three parrots sharing a popsicle
dr|z3d you should have an entire site's worth of videos by now, and a site to host them on.
dr|z3d weren't you writing a video hosting platform?
parabo No I was planning to use HTML5 and you linked a list of FOSS youtube like solutions and I will use that when I finish the project
dr|z3d is that longhand for "I got bored and gave up"? :)
parabo No actually, it's short hand for I'm trying to do things you do at a level you do and I don't know how so I usually tackle a small bit before I need to learn a lot of different small bits of stuff to proceed
parabo Like, I am trying to do what you do at a less obsessively perfect at a smaller scale of attention to detail and high level professionalism
parabo But I haven't done any web dev that I didn't get bored of and gave up because I was too bored to keep trying since HTML 2.0 was the only skill you needed
parabo So, you know how much different things I'm spending the couple hours a week I devote to the site, will take to accomplish beginner level but not bad beginner material
parabo I'm not a web developer, and I'm making a website using pure web developer skills I am learning as I go usually looking though much information before I know what I need to do 20 minutes of literal direct work
parabo I didn't give up, I am bored but it's our mosques website bored doesn't qualify for this job to make me stop
Reinhilde *** fires itself into the sun ***
dr|z3d new feature in i2psnark, inline torrent control (start/stop/delete etc). if you're on an i2p+ dev build, let me know how you find it.
dr|z3d instead of reloading the page when you hit the buttons, everything happens inline, so you retain your position on the page and it behaves more like a desktop app.
dr|z3d depending on the speed of your system, there may be a slight delay while the requested action is completed.
dr|z3d and the latest build has a fix to make sure the screenlog updates after torrent actions.
mesh dr|z3d: I've been testing 1.7.0+ on jdk18
dr|z3d great, mesh. we've been on 18 for a while now, how's it working for you?
mesh dr|z3d: it looks really good. I am seeing a 50% reduction in memory usage
dr|z3d that's impressive.
dr|z3d not running zgc?
mesh no, when I run the router I don't specify a gc and it defaults to g1gc
mesh $JAVA_HOME/bin/java -Di2p.dir.base=. -Di2p.dir.pid=. -Di2p.dir.temp=data/tmp -Di2p.dir.config=data/config -Djava.library.path="lib/" -cp "lib/*" net.i2p.router.Router
dr|z3d zgc now runs in 1ms
mesh under jdk17 the router was taking ~500mb of memory
mesh now it averages at 222mb
mesh dr|z3d: cool. the problem with zgc though is that it eats a lot of cpu
mesh I wouldn't recommend running it on laptops or even desktop devices. Would be good for servers though
dr|z3d depends how you have it configured.
dr|z3d it works harder if you don't allocate enough ram overhead for it to do its thing.
dr|z3d you want max ram to be at least 2* initial heap.
mesh yeah
mesh on my end with g1gc it looks like jdk18 really does massively reduce the amount of memory used by non-trivial java programs like i2p
mesh I owe whoever fixed this in g1gc a beer
mesh btw, one thing I would add is that the i2p router performs significantly better when you don't reduce its memory usage to 128mb
mesh I don't understand why the default launcher scripts add -Xmx128m
dr|z3d you never want to do that.
dr|z3d i2p+ is 384MB max ram by default. vanilla i2p is now 256 I think.
mesh where did i see that hmm
mesh maybe it was runplain.sh. there MAXMEMOPT was being set to 256m
dr|z3d 128M used to be a thing, maybe a couple of years or more ago.
mesh that's from the runplain.sh I got from i2p+
mesh I removed MAXMEMOPT and saw significantly better improvement
dr|z3d let me take a look at that.
dr|z3d # Uncomment to set the maximum memory. The default and the option may vary in different JVMs.
dr|z3d # Check your java documentation to be sure.
dr|z3d #MAXMEMOPT="-Xmx256m"
mesh you guys might try not limiting memory usage at all
dr|z3d runplain doesn't impose a limit by default.
dr|z3d it just lets java handle memory allocation.
mesh yeah. and I see in wrapper.config it wanted to set maxmemory to 384
dr|z3d yup, like I said, that's the i2p+ default setting.
mesh yeah anyways I see the best performance on my laptop by removing such config and just letting jvm do its thing
mesh soon I'll deploy the system to a server and there things might be different. I think zgc does perform better on servers with cpu to spare
dr|z3d if it works for you, great. there's never a one size fits all config, so you have to be somewhat conservative with the defaults. there's help available in the help section for allocating more ram, for users that want more.
mesh these days I think the smart thing to do is actually just to trust g1gc
mesh on the desktop for larger java programs like eclipse, i2p, and flymind I usually just set a -Xms
mesh and let g1gc do its thing
mesh the nice thing about g1gc and modern garbage collectors is that they will actually release memory they don't need back to the os
mesh so unless the program is buggy setting a max doesn't really provide that much benefit
dr|z3d last I heard, only zgc allows the OS to reclaim ram, but my info may be stale by now.
dr|z3d wrapper.java.additional.3=-XX:+PerfDisableSharedMem
dr|z3d wrapper.java.additional.4=-XX:+UseZGC
dr|z3d wrapper.java.additional.5=-XX:+UseStringDeduplication
dr|z3d wrapper.java.additional.6=-XX:GCCardSizeInBytes=1024
mesh UseStringDeduplication doesn't work with zgc unless you're on jdk18
dr|z3d indeed it doesn't. :)
mesh and if you do use zgc you want -XX:+UseNUMA though it's more than likely enabled by default
dr|z3d I'll give it a spin.
mesh I mean if you're running i2p on a monster server with 64gb of ram you probbaly do want zgc
mesh I was saying in my experience zgc isn't good on laptops. I've seen zgc chew through my laptop battery because it has such high cpu usage so I stopped using it on the laptop side
dr|z3d sure, it seems more demanding of cpu time, but you win much lower latency.
mesh it's an argument for having different profiles. Some people are running i2p on a potato with <4gb of ram. Some people like me have 32gb of ram but prioritize battery life/low cpu. And some people have servers with 64gb+ of ram and don't care about power usage at all
dr|z3d whether that's of benefit to i2p specifically is a research topic.
dr|z3d hello Reinhilde
mesh holy crap
mesh both chrome and ie use the global windows proxy
mesh have to download firefox
Ellenor have you ever had to tell someone to "fuck right off, fuck off as far as you can, and then fuck off some more. when done, fuck off a little more"?
mesh dr|z3d: Ellenor: I've told some people to fuck off and die in a fire
mesh a bit more concise and equally clear
Ellenor it is also an admonition to suicide, which I find immoral
mesh it's certainly not immoral
T3s|4_ Ellenor: ^ thankfully, very infrequently
Ellenor *** sighs ***