autobox
wapm-cli
autobox | wapm-cli | |
---|---|---|
3 | 11 | |
16 | 361 | |
- | - | |
10.0 | 4.9 | |
over 1 year ago | about 1 year ago | |
Rust | Rust | |
MIT License | MIT License |
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.
autobox
-
Dozens of malicious PyPI packages discovered targeting developers
Once I'm done with (2) though I think I'll tackle (3).
`autobox` is fun but I think it may be impractical without more language level support and no matter what I'd end up having to implement it in the compiler at some point, which means it would be unusable without nightly or a fork.
I'm going to try to wrap up an autobox POC that handles branching and loops, publish it, and see if someone who does more compilery things is willing to pick it up. As for (2) and (3) I believe I can build practical implementations for both.
[0] https://github.com/insanitybit/autobox/
- autobox v0.0.2 - now with nom parser, inference, improved tracing
- (POC) autobox - compile time analysis for runtime sandboxing
wapm-cli
-
Fast Matrix Math in JS 2: WASM
To actually compile this we can use a tool called WABT (WebAssembly Binary Toolkit). It's basically a mess that requires CMake and I couldn't get it to run on WSL and I wasn't going to install MinGW. Instead there's a nice tool called WAPM from Wasmer which works like npm for webassembly packages and since it's been compiled down to webassembly we can run it in any environment. In fact we don't even need to add configuration so long as wapm is installed. We can run wax wat2wasm -- wat/mat.wat -o wasm/mat.wasm. wax is like npx for npm. If you're wondering the command we give wax is defined by the wasmer/wabt package: https://wapm.io/wasmer/wabt. Also for some reason you can't prefix local paths with ./ so wax wat2wasm -- ./wat/mat.wat doesn't work which tool me a while to figure out. Anyway this provides a nice simple compile environment if you want to work on raw WAT files.
- WAPM - WebAssembly Package Manager
-
Dozens of malicious PyPI packages discovered targeting developers
That's the main reason we should start using WebAssembly for distributing and using packages.
Shamless plug: Wasmer [1] and WAPM [2] could help a lot on this quest!
[1]: https://wasmer.io/
[2]: https://wapm.io/
- WordPress WASM
-
A Look at Performance in Wasmtime and Cranelift
There's WAPM
-
Packaging and shipping your software
If it's buildable for the WebAssembly WASI target, consider also distributing it through WAPM.
-
Announcing Cargo WAPM
I don't know if many people have heard of it, but there's actually a WebAssembly Package Manager. It's similar to crates.io, except you upload WebAssembly binaries written in any language instead of Rust source code!
-
There’s a cunning workaround for this challenge; rather than compiling JS to Wasm, you can instead compile a JavaScript engine to WebAssembly then use that to execute your code.
You can see this paying off with wapm, which lets you download applications that would have normally required compilation for your environment and run them anywhere with a supported runtime, which is imo pretty neat.
-
Security advisory: malicious crate rustdecimal | Rust Blog
One step closer to the day when I can put actix-web creations up on WAPM so "Just type wax my-cool-thing to try it out" can be one of the distribution options.
-
WebAssembly in my Browser Desktop Environment
I've added limited support to run wapm.io directly from the Terminal. Examples of commands that work well are wapm cowsay {Text} and wapm uuid.
What are some alternatives?
secimport - eBPF Python runtime sandbox with seccomp (Blocks RCE).
WASM-ImageMagick - Webassembly compilation of https://github.com/ImageMagick/ImageMagick & samples
birdcage - Cross-platform embeddable sandboxing
js-dos - The best API for running dos programs in browser
crev - Socially scalable Code REView and recommendation system that we desperately need. See http://github.com/crev-dev/cargo-crev for real implemenation.
wasmer-js - Monorepo for Javascript WebAssembly packages by Wasmer
W4SP-Stealer - w4sp Stealer official source code, one of the best python stealer on the web [GET https://api.github.com/repos/loTus04/W4SP-Stealer: 403 - Repository access blocked]
Boxedwine
wordpress-playground - Run WordPress in the browser via WebAssembly PHP
Graphene - GraphQL framework for Python
ffmpeg.wasm - FFmpeg for browser, powered by WebAssembly
libarchivejs - Archive library for browsers