Skip to content
master
Go to file
Code

README.md

WebBundle

build

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

crates.io

A core library. See the documentation.

webbundle-cli

crates.io

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-cli

Examples

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

crates.io

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::Response and http::Uri for 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 a tar command
    • 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.

You can’t perform that action at this time.