webvm
possimpible
webvm | possimpible | |
---|---|---|
14 | 4 | |
2,739 | 199 | |
1.6% | 0.0% | |
8.0 | 0.0 | |
4 months ago | over 1 year ago | |
HTML | TypeScript | |
Apache License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
webvm
- WebVM – Server-less virtual Linux environment (Tailscale support)
-
Container2wasm: Convert Containers to WASM Blobs
Shameless self-promotion: https://webvm.io
Powered by a x86->Wasm JIT. Technical writeup: https://labs.leaningtech.com/blog/webvm-server-less-x86-virt...
-
Ruffle: Flash Player Emulator
Developer here. CheerpX for Flash runs the Pepper API version of Flash, and you're correct about the license. However, we don't do full Linux emulation just to run Flash - we emulate PPAPI and run the Flash player in an x86 JIT (CheerpX).
Yuri talks about CXFF's architecture here:
https://youtu.be/7JUs4c99-mo?t=1045
...but if you wanted full Linux system emulation, we got it! https://webvm.io
-
Show HN: RISC-V Linux terminal emulated via WASM
webvm has Tailscale sockets-over-WebSockets for networking: https://github.com/leaningtech/webvm
-
Tinc, a GPLv2 mesh routing VPN
https://webvm.io/ supports WebVM runs x86 binaries in WASM on any browser w/ ("CheerpX includes an x86-to-WebAssembly JIT compiler, a virtual block-based file system, and a Linux syscall emulator") and for external sockets there's Tailscale networking.
IIUC that means an SSH client in a WebVM can connect to a (tailscale (wg)) VPN mesh
-
edgy.nvim: Easily create and manage predefined window layouts, bringing a new edge to your workflow
lets pre-load it into a https://github.com/leaningtech/webvm/blob/main/dockerfiles/debian_mini
- Show HN: WebVM – Run, Fork, Customize and Deploy Your Linux VM in the Browser
-
Android tablets and Chromebooks are on another crash course – will it be different this time?
Just to show how complex these can get look at this https://webvm.io/
- WebVM
-
The Docker+WASM Technical Preview
Funnily enough, I believe that's completely achievable with enough time spent on it (probably a few weeks of an engineer working full time).
We have technology like WebVM [1] (from leaningtech / CheerP) or Copy86 [2] that already allows x86 machine code execution/emulation on the web. If you add an OCI client layer on top that is executable in the browser, it should be possible to run Docker containers in the browser.
[1] https://webvm.io/
[2] https://copy.sh/v86/
possimpible
-
WebVM: Server-less x86 virtual machines in the browser
Hey dude, I've been screwing around implementing plan9 semantics in a OS like system for the browser (https://github.com/intigos/possimpible). I'm interested in using a x86 emulator inside a webwoker that I'm using for processes so I can run x86 code. How hard is something like this? Can you give me some pointers on how to start working on this? Thanks!
- Possimpible: A Kernel Running on the Browser
- Show HN: Possimpible: A Kernel Running on the Browser
-
Unix in the Browser Tab
Wow I'm literally implementing this right now!!
I was stuck at parents for xmas and I picked Tannenbaum “distributed systems” and “Modern operating systems”, which gave me an idea of running a "kernel" on a browser. It was more of an academic exercise than anything else, but my intention was to have a the following:
Being able to unload and reload javascript. The initial idea was to write the website inside the website, but at the core level it requires having something akin to process isolation for javascript. It also requires the dom to be isolated.
Implementing 9p2000, and share resources across browsers. I’ve been reading about the ideas of plan 9 and i would like to implement something that allows me to connect point to point to other browsers and mount their FS into mine so we can share resources.
One of the cool results that I got was that since the dom is not directly changed (each process/worker has its own partial dom and every time that it changes it a delta is sent back to the main thread for sync) it allows javascript to be running somewhere else (another browser, back end server) and sync’ed back (much like vadaain, but more agnostic).
Most of the code was inspired by the linux kernel (which gave me a reason to go learn its internals) and is kinda nasty at some points but is written in typescript as some of you have already mentioned. Someone might find it interesting even if just for the educational purpose of it
https://github.com/intigos/possimpible
What are some alternatives?
v86 - x86 PC emulator and x86-to-wasm JIT, running in the browser
xpra-html5 - HTML5 client for Xpra
sql.js-httpvfs - Hosting read-only SQLite databases on static file hosters like Github Pages
gotty - Share your terminal as a web application
container2wasm - Container to WASM converter
mini.animate - Neovim Lua plugin to animate common Neovim actions. Part of 'mini.nvim' library.
wasi-libc - WASI libc implementation for WebAssembly
microservice-rust-mysql - A template project for building a database-driven microservice in Rust and run it in the WasmEdge sandbox.
nabla-linux - Experimental Linux Virtual Machine based on UML and noMMU
ipfs - Peer-to-peer hypermedia protocol
postgres-wasm - A PostgresQL server in your browser