Unix in the Browser Tab
71–79 of 79 posts
Re: Unix in the Browser Tab
#72Earlier quoted context omitted.
That's right, unless the form was running in Browsix, or I suppose at least the same browsing context (ie same origin on the same browser instance on the same computing device) since you could emulate submission across multiple tabs of the same website using something like the BroadcastChannel API[1] [1] https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_C... EDIT: To be clear, this would require effort (TM)-…
Neat! Thanks for working on this project and answering my questions. Perhaps I need to look into it more but what you’re describing isn’t exactly far fetched. With a csrf attack the victim has navigated to a malicious web app where the cross origin request does originate from the same browser instance where my hypothetical browsix http proxy is running. Since I control the malicious app, I don’t see why I wouldn’t be…
Re: Unix in the Browser Tab
#73I'm one of the authors - its so exciting to see continued interest here! The biggest problem with Browsix today stems from Spectre mitigations: Shared Array Buffers aren't enabled by default in browsers, and static hosting sites like GitHub Pages don't let you set the right COOP/COEP ( https://web.dev/coop-coep/ ) headers to get them enabled AFAICT. Additionally, Browsix hasn't been updated in a while, although I sti…
Re: Unix in the Browser Tab
#74Why not "stream" an image of an actual OS (say, linux) to the browser? Has anyone pulled that off yet? (Kind of like rendering services for example, the client is just for user interaction, everything else is streamed from server where all the computation happens)
Re: Unix in the Browser Tab
#75Earlier quoted context omitted.
Interesting, I'm assuming Browsix must have been rewritten in Typescript significantly later; TS must have been much more niche in 2016 (though wikipedia tells me it may be as old as 2012)
(one of the authors here) it was written in Typescript from the start! Typescript eliminated a bunch of type confusion errors when developing the kernel, although the need to marshal data across a MessagePort means we have to do some casting and lose some safety.
Re: Unix in the Browser Tab
#76Earlier quoted context omitted.
Security? As secure as any javascript programmed site is. Why? Why not? (Just don't put it in production lol)
I think the parent poster thinks this is somehow breaking out of the JS sandbox (which it's not). > (Just don't put it in production lol) Why not? If you were to use multiple "processes" using Browsix in your app, it actually may be _more_ secure as Web Workers do not share state with each other and the main thread. (EDIT: Although for me I would at best take inspiration from this rather than use it for a real app)
So it wouldn't be wise to rely on that from a business standpoint.
Re: Unix in the Browser Tab
#77Earlier quoted context omitted.
I really want to get this to work well, but haven't been able to. I have a small use case of customizing the image it presents and letting users be able to navigate/change/fix things on it. I've tried using containers and even VMs, but those are too heavy for what I need to do and I don't want to deal with snapshots to revert the image. Basically reloading the web page should do it. Wish I could get jslinux to work f…
https://copy.sh/v86/ is more modern but similar in spirit to jslinux. The archlinux demo at https://copy.sh/v86/ is particularly impressive.
Re: Unix in the Browser Tab
#78Earlier quoted context omitted.
I think the parent poster thinks this is somehow breaking out of the JS sandbox (which it's not). > (Just don't put it in production lol) Why not? If you were to use multiple "processes" using Browsix in your app, it actually may be _more_ secure as Web Workers do not share state with each other and the main thread. (EDIT: Although for me I would at best take inspiration from this rather than use it for a real app)
It's because the code isn't mature or seems to be maintained anymore (last commit is april of 2019, pile of issues built up, etc.) So it wouldn't be wise to rely on that from a business standpoint.
Re: Unix in the Browser Tab
#79Earlier quoted context omitted.
Maybe I misunderstand, but didn't JSLinux[1][2] do system emulation running a proper kernel basically since 2012? 1: http://jslinux.org/ 2: https://bellard.org/jslinux/tech.html
For sure, it's amazing to get a full kernel running; there's so much one could do. But an emulator and a full kernel is going to have a sizable footprint, be a significant amount to download, and performance is going to be mediocre. Yes there's a linux kernel running, but it's inside a virtualization layer; if you want to integrate & have the page interact with the kernel, you'd need to start hacking some pretty wild…