:satellite: A protocol to quickly transfer software builds (reference Go implementation)
wharf is a protocol for incrementally transferring software builds over the network using minimal time/bandwidth.
It is used in production at https://itch.io to allow creators to quickly iterate & players to keep their library always up-to-date.
This repository contains the reference golang implementation of the wharf protocol, along with the reference protobuf definition files.
The complete spec is available online, as a book:
And can be contributed to via its GitHub repository:
butler is the https://itch.io command-line tool and is a wharf client. It's the easiest way to try out wharf without having to code anything yourself.
wharf is a pretty typical golang project, all its dependencies are open-source, it even has a few tests.
protoc --go_out=. pwr/*.proto
protobuf v3 is required, as we use the 'proto3' syntax.
bsdiffpackages work similarly.
Licensed under MIT License, see
Contains modified code from the following projects: