container2wasm
dockerc
container2wasm | dockerc | |
---|---|---|
8 | 5 | |
1,810 | 1,447 | |
- | - | |
9.1 | 7.0 | |
1 day ago | about 2 months ago | |
C++ | Zig | |
Apache License 2.0 | GNU General Public License v3.0 only |
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.
container2wasm
-
Apple Introduces M4 Chip
The existence of vscode.dev always makes me wonder why Microsoft never released an iOS version of VSCode to get more users into its ecosystem. Sure, it's almost as locked down as the web environment, but there's a lot of space in that "almost" - you could do all sorts of things like let users run their code, or complex extensions, in containers in a web view using https://github.com/ktock/container2wasm or similar.
-
Show HN: dockerc – Docker image to static executable "compiler"
Unfortunately cosmopolitan wouldn't work for dockerc. Cosmopolitan works as long as you only use it but container runtimes require additional features. Also containers contain arbitrary executables so not sure how that would work either...
As for WASM, this is already possible using container2wasm[0] and wasmer[1]'s ability to generate static binaries.
[0]: https://github.com/ktock/container2wasm
[1]: https://wasmer.io/
- FLaNK Weekly 08 Jan 2024
-
Container2wasm: Convert Containers to WASM Blobs
Really impressed by the depth and breadth of this project, well done!
A particularly interesting part is the socket layer inside the browser. Other people solving this problem have previously used a proxy to a server that does the real socket implementation. This means you can't have a "browser-only" solution.
The author has solved this (for HTTP/S only) by proxying HTTP requests and then re-creating them as fetch requests (details here: https://github.com/ktock/container2wasm/tree/main/examples/n...). I'm very interested in using this approach for my own project Runno (https://runno.dev).
- ktock/container2wasm: Container to WASM converter
dockerc
-
Show HN: dockerc – Docker image to static executable "compiler"
The main reason Zig was chosen is because the project was started at a hackathon[0] at which there was a prize for "best use of Zig". Beyond that there were also other reasons: 1. I have been wanting to try out Zig 2. It fit the requirement of being a so called "systems language".
However having written it in Zig I have a few retroactive reasons for why Zig was a good choice (if not the best choice):
* The build system allows to make the runtime a dependency of the "compiler". I don't think any other language has that.
* The interoperability with C/systems calls is amazing (in comparison to anything but C/C++)
* The ability to embed files
[0]: https://treehacks.com/
[1]: https://github.com/NilsIrl/dockerc/blob/68b0e6dc40e76c77ad0c...
What are some alternatives?
webvm - Virtual Machine for the Web
macos-cross-compiler - Compile binaries for macOS on Linux
SSH-Snake - SSH-Snake is a self-propagating, self-replicating, file-less script that automates the post-exploitation task of SSH private key and host discovery.
traveling-ruby - Self-contained Portable Ruby ( 2.6.10 -> 3.3.x ) Binaries for Linux/MacOS/Windows
leptos - Build fast web applications with Rust.
crun - A fast and lightweight fully featured OCI runtime and C library for running containers
dioxus - Fullstack GUI library for web, desktop, mobile, and more.
ruby-packer - Packing your Ruby application into a single executable.
cortex - Drop-in, local AI alternative to the OpenAI stack. Multi-engine (llama.cpp, TensorRT-LLM). Powers 👋 Jan
wasmer - 🚀 The leading Wasm Runtime supporting WASIX, WASI and Emscripten
terminal-sunday - Start each new terminal session with a thought-provoking reminder of the time you have to make the most of your life!
enroot - A simple yet powerful tool to turn traditional container/OS images into unprivileged sandboxes.