IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2023/12/02
dr|z3d js markdown?
dr|z3d script to parse html as markdown or something else?
zzz yeah what stack overflow uses to turn markdown into html. ditto gitlab, github, etc
zzz put it on the 2.5 list, it's already done
dr|z3d ok, great.
dr|z3d *pat pat*
RN \o/
RN good ol susimail lives on
dr|z3d not a big change, zzz, can't you get it in for this release?
zzz no but ask tomorrow and I'll throw up a patch for you to try
zzz havent reviewed license either
dr|z3d ok, thanks. speaking of things to try... :) how's your keepalive stuff coming along?
zzz needs a lot more testing but it's looking good so far
zzz not the only thing in the hopper that was like a day to code and needs a month of testing
zzz at some point we'll have a 2.5 roadmap talk in i2p-dev
dr|z3d sounds like a plan
zzz either after the release or after new years
zzz I;m sitting on about 7K lines of diff across 77 files
dr|z3d *whistles*
dr|z3d was working my way through untranslated readmes in the last few days and came across the portuguese "translation". looks like you're about in the same place. total waste of time having it in that state. git.idk.i2p/i2p-hackers/i2p.i2p/-/blob/master/apps/routerconsole/resources/docs/readme_pt.html
dr|z3d needless to say, all my readmes are now at 100% afaik :)
stopMakinRefugees Just a quick one, how does one reuse the same b32 as another server tunnel, but direct to another port on the system?
dr|z3d tell us what you're trying to do, stopMakinRefugees.
RN I think they are talking about level 81
RN or whatever it was called
RN where you add port 81 to your existing jetty eepsite to host something different
RN (or other number of choice)
RN wish I had tried setting that up before the site hosting the discussion about it went into limbo
RN that was a topic I would've 'printed to pdf' but haven't found the file if I did
stopMakinRefugees Yes, what RN said. :)
dr|z3d explain what you're trying to do in your own words, stopMakinRefugees :)
dr|z3d what type of server, what different backend hosting platforms..
dr|z3d zzz: this likely isn't going to do what you think it should:
dr|z3d h4.sb_info {
dr|z3d overflow: hidden;
dr|z3d text-overflow: ellipsis;
RN since they're not answering.... I don't think the back end mattered but it worked with default jetty and nothing extra like nginx or such if I recall correctly.
RN stopMakinRefugees, speak up. someone here might remember how to do "level 81"
dr|z3d -107+ now uploaded for those on I2P+ dev builds. new iconized help section nav, more translation work, and some upstream stuff.
RN hmmm.... should I dip into the tripple digits.... T3s|4 will laugh at me
stopMakinRefugees was away souldve said afk, I don't know what this level 81 business is about just need server tunnels like 123456qwerty.b32.i2p:1234 and 123456qwerty.b32.i2p:2345, etc to work, ie. two different ports to the same destination, basically. If its not possible its not a big deal.
dr|z3d yeah, not really. you can host http and https on the same b32, but that's about it.
dr|z3d assuming both ports are hosting web services, you could also use something like nginx to map urls to different ports. foo.i2p/ and foo.i2p/b
RN yeah, but this was without nginx... just some tweaks in configs
RN nginx would give more features...
RN but it wouldn't do foo.i2p/ and foo.i2p:81/
RN would it?
stopMakinRefugees Don't know where I saw it but I do remeber seeing it on an i2p site. Maybe I'll wait for zzz
RN he might remember
RN ;)
dr|z3d foo.i2p = foo.i2p:{backend port configured}
RN normally the port is ignored if you do foo.i2p:81 and you just get the normal site
dr|z3d stopMakinRefugees: maybe subdomains instead.
dr|z3d a.foo.i2p and b.foo.i2p etc.
RN as long as nobody decided foo.i2p is a tld they need to reserver for you so you can get it from them
RN damn squatters
RN </opinion>
stopMakinRefugees Maybe the person was using i2pd, I'll wait for zzz or whomever might've got it working. Going afk, have a good one.
RN it was def Canon I2P though it was called vanilla back then, or maybe even before Plus was out
RN meanwhile back at the ranch: The Gods Must be Crazy is still funny
not_bob RN: Have you see the second "The Gods Must Be Crazy"?
RN yes, I have seen all 4
not_bob Four!?
RN yes
not_bob I only knew about the first two.
not_bob Do you have torrents!?
RN heehe
RN um...
not_bob In the end, those films, while amusing, did not hold up will with time.
not_bob They are still fun, but need to be watched as a period piece.
not_bob I'm not even sure what to put this under...
RN don't have a torrent yet... let me see if I remember my login
not_bob No rush.
RN maybe put it under malware?
RN heheh
not_bob hahahah
RN kinda sus at a glance
not_bob Very much so.
RN might be fine... but apps to sideload from darkent? hmmm..
not_bob Ehh, it gets a WIP as it looks like shit.
not_bob It might look better if I allowed all those clearnet sites to run JS on my machine....
not_bob But, yeah. No.
not_bob *shakes head*
RN there's a part about a UUID?
RN hmm... very suspect now
not_bob UUID?
RN yup
not_bob I mean, I know several meanings for that.
not_bob But, yeah.
RN well in this context.. there's one page called mac that tells you how to get it with curl, and a place to paste one in on 'device status'
not_bob Have you tried bet.i2p?
RN no. wagering?
not_bob Hah, I didn't read that far.
not_bob But, yeah. It looks totally sus.
not_bob Anyway, bet.i2p is quite legit.
not_bob I've made money off of it!
RN nice
not_bob Remember bitcoinpayout.i2p?
not_bob Something, something "We found a bug in bitcoin. If you send us money we can help you exploit it!"
not_bob Hahaha, it was only active for ten days.
not_bob It's a good thing I keep stats!
RN I didn't remember that one... been a while since I had the time to look at planet each day for new registrations
not_bob I check them all, often.
not_bob And, shit, prestium.i2p is getting a review. And, it's not going to be a good one :(
RN oh, they will be dissapoint
not_bob Good.
not_bob That site is garbage.
not_bob But, it's exactly the same as the clearnet version...
not_bob bnows?
not_bob That's a new word.
RN lol. spellcheck fail
not_bob Yes, that.
not_bob Today's blog post was a lazy day image.
RN :)
RN you deserve one now and then
not_bob Later!
RN thank you zzz! The howto link still references zzz.i2p. Any chance you might change that to a new page on stats.i2p?
RN I'd be willing to host a page for it if you were able to send me the text content.
zzz sure
zzz another revelation this morning:
zzz with CSP we can now safely show html email in an iframe
zzz got it working and it's fantastic
RN \o/
stopMakinRefugees I lolled at the photo. Yes, thanks zzz. Great to see i2prouter cn do it. And thanks RN for thenking zzz, I scrolled right past by accident til I saw you thanked him.
zzz emailed to RN
zzz stopMakinRefugees, there's two separate cases
zzz 1 is for vhosts, where a server on a single port handles multiple hostnames; there, you configure i2ptunnel to stick in the right hostname
zzz 2 is for separate services on different ports, like https - there, you configure i2ptunnel to route those to different places
RN sweet! I'll get on setting up the page shortly.
zzz either way, the config is super-easy, just one thing in custom options
stopMakinRefugees Excellent, in my case I'm thinking '2' is the way 'two' go, but await the full rundown.
zzz stats.i2p:81 is case 1; stats.i2p is case 2
stopMakinRefugees I remember seeing a website use port numbers once and I sort of freaked out, because I didn't believe they were invoked at the server side. Then recently someone said I needed the same b32 for both interfaces and I realized the port MUST move down the tunnel.
zzz but you could setup http as case 2 instead if you were routing it to a different hostname:port
stopMakinRefugees You mean *http* not *https* for case 2, right? I'll try to wrap my head around it when the instruction come through in full.
zzz no. https.
zzz i2p ports are super confusing
zzz I added a section on i2cp ports and protocols to i2p-projekt.i2p/en/docs/api/samv3 recently because a sam person was having trouble
stopMakinRefugees It doesn't look like you are using a TLS cert for stats though.
zzz of course it's a cert, it's just selfsigned one
stopMakinRefugees Ah, so we are going down into a slightly a lower level in I2P to an extent, when we want to do this separation based on ports?
zzz right. as it says in the sam spec, 99% of the time you can ignore ports, because in the beginning i2p didn't have ports, so it still has to work like that
zzz but if you want 2 things on one tunnel then that's how you separate them out
stopMakinRefugees I didn't realize this involves a pandora's box, a bit excited :)
RN Ok rough version is up at I2Peek-a-Boo.i2p/tools.html scroll down for the level81.html document.
RN oops, moment for me to sync to all my multi-homes... give it about 5 min
RN and done
dr|z3d onwards and upwards re susimail, zzz. good stuff. I smell a susimail renaissance in the air :)
dr|z3d re text-overflow: ellipsis, it won't work unless you also have white-space: nowrap on the element.
zzz tested several times here, works for me
zzz it's for the long b32s xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx not for short words
zzz for the susi iframe I'm using the iframed.js to resize it but for some content it just thinks it's the default 150px high, any ideas?
dr|z3d ah, maybe nowrap is already set elsewhere. re iframed content, are you calling the script after the iframe has loaded?
zzz ja just like in dns.jsp
dr|z3d so where isn't it resizing correctly? maybe you have images in the document without height set?
zzz it's working on 90% of emails and consistently failing on the other 10%
zzz hmm
dr|z3d you're presumably using the DOMContentLoaded event to determine when the content has loaded?
dr|z3d you could instead try something like this:
dr|z3d var iframe = document.getElementById('your-iframe-id');
dr|z3d iframe.contentWindow.addEventListener('load', function() {
dr|z3d var iframeDocumentHeight = iframe.contentDocument.documentElement.scrollHeight;
dr|z3d console.log('IFrame Document Height:', iframeDocumentHeight);
zzz no. "load" just like in dns.jsp
zzz and I'm using iframed.js unmodified
dr|z3d bit of a head scratcher, then. never liked that script.
dr|z3d (which is why I don't use it)
zzz thought you wrote it or imported it
dr|z3d no, that's all str4d.
dr|z3d it kinda works ok when the content in the iframe is static, but the moment it's not, it breaks.
zzz sure thats why eyedeekay's expanding i2ptunnel sections is a problem
dr|z3d yup, and that's why the sections in snark are toggled open by default in canon.
zzz commit be7aa991d78b0bebccd4c3c1a16cb6054ea31ada
zzz Author: str4d <str4d@mail.i2p>
zzz Date: Mon Jul 16 19:39:44 2012
zzz Consolidated the common iframing JS into /js/iframed.js
zzz so you have something better?
dr|z3d infinitely better.
zzz interesting
zzz I presume it fixes the i2ptunnel issue
dr|z3d why did I know you were going to say that? :)
zzz the problem is it won't work for susimail
dr|z3d yeah, it will.
zzz or it will be harder
zzz because we have no control over whats in the iframe
zzz so we can't inject the 2nd js in there
zzz without shenanigans
dr|z3d you're not pulling the entire document loaded into the iframe from a remote server.
dr|z3d so, no issue then.
zzz its <iframe src=/susimail/attachment?id=xx>
zzz which is just sucked out of the email
dr|z3d exactly. so the target frame is local.
dr|z3d if <iframe src=https://gmail.com/ ..> then issue.
zzz The second file (iframeResizer.contentWindow.min.js) needs placing in the page(s) contained within your iFrame. This file is designed to be a guest on someone else's system, so has no dependencies and won't do anything until it's activated by a message from the containing page.
zzz so I don't need that if local?
dr|z3d you need that, that needs to loaded within the iframed document. but that shouldn't be an issue, because you control that document so can just add the js.
zzz well it's 'controlled" but readonly
zzz hence shenanigans req'd
dr|z3d you're overcomplicating it.
zzz I'm recognizing the complication that is susimail
dr|z3d so you have the parent frame, you have the child frame. in the child frame, you have the js and then you insert the e-mail content into that frame.
dr|z3d (or the parts you want)
zzz sure but that's back to parsing html to figure out where to insert the <script> line into the email's html
dr|z3d you just insert it into <head> and you're good.
zzz yeah
dr|z3d in fact, you create a template document with whatever <head> content you need, and then just inject the e-mail's body content.
zzz other shenanigans are req'd to do inline imgs
zzz no because all their inline styles are in the head
dr|z3d then you'd make sure you snag those as well :)
zzz now you're the one overcomplicating it
dr|z3d inline css doesn't need to appear in <head>, it can go anywhere in the document.
dr|z3d the question is, do you want inline styles or do you just want the relevant content?
dr|z3d I'd tend towards the latter, inline styles are, for the most part, pointless.
zzz you gotta take the whole html doc, head and all, to make the emails look right
dr|z3d well, work out what you need from head.. maybe it's just the <style> tags, take the <body> content, and then insert it into the iframe template with the js and whatever else preset, no?
dr|z3d or just inset the child frame iframe-resizer js into html document every time it's loaded into an iframe. whatever works. either way, not as difficult as it sounds.
dr|z3d *inject