WebBundle
google/webbundle is a project which aims to provide a high-performace library
and various tools for handling WebBundle format.
This is not an officially supported Google product.
Specification
webbundle
A core library. See the documentation.
webbundle-cli
A command line tool for WebBundle.
Instalation
Archives of precompiled binaries for webbundle-cli are available for Windows, macOS and Linux.
If you're a Rust programmer, webbundle-cli can be installed with cargo.
cargo install webbundle-cliExamples
The binary name for webbundle-cli is webbundle.
create
Create example.wbn from the files under build/dist directory. This is
similar to tar cvf example.tar build/dist.
$ webbundle create --base-url "https://example.com/" --primary-url "https://example.com/foo/" example.wbn build/dist
list
List the contents of example.wbn. This is similar to tar tvf example.tar.
$ webbundle list ./example.wbn
extract
Extract the contents of example.wbn. This is similar to tar xvf example.tar.
$ webbundle extract ./example.wbn
See webbundle --help for detail usage.
webbundle-server
An experimental web server which dynamically assembles and serves WebBundle.
TODO
The development is at very early stage. There are many TODO items:
- Parser
- WebBundle Builder
- Create a WebBundle from a directory structure
- Low-level APIs to create and manipulate WebBundle file
- Use
http::Request,http::Responseandhttp::Urifor better engonomics - Support Signatures
- Support Variants
- Use async/await to avoid blocking operations
- More CLI subcommands
-
create -
dump(deprecated) -
list -
extract - Make these subcommands more ergonomics
-
- Focus the performance. Avoid copy as much as possible.
- Split this crate into several crates:
-
webbundle: Core library -
webbundle-cli: CLI, like atarcommand -
webbundle-ffi: Foreign function interface for C or C++ program, like a chromium -
webbundle-server: Experimental http server which can assemble and serve a webbundle dynamically, based on request parameters
-
Contributing
See contributing.md for instructions.