webfs
webfs copied to clipboard
A Filesystem Built On Top of the Web.
WebFS
WebFS is a filesystem built on top of the web.
WebFS started after looking for a way to use IPFS as a Dropbox replacement, and not finding any really solid solutions. I also wanted to be able to fluidly move my data between traditional storage providers like Dropbox, MEGA, or Google Drive while testing the waters of new p2p storage systems, like Swarm or Filecoin.
If you have ever thought "x can probably be used as a file system", but didn't want to actually write the file system part, WebFS might be of benefit to you.
You can probably turn x into a file system with WebFS by writing a new Store or Cell implementation.
Quick Links
CLI Docs
Volume Specs Docs
ARCHITECTURE.md
Installation
Installs to $GOPATH/bin with make install
Getting Started
A simple volume spec using the filesystem for storage
{
"cell": {
"file": "CELL_DATA",
},
"store": {
"fs": "BLOBS",
}
}
This configuration will create and write to a file ./CELL_DATA and a directory ./BLOBS, so plan accordingly.
To serve the files over http
$ webfs http --root myvolume.webfs
serving at http://127.0.0.1:7007
Examples
There are examples in the /examples directory.
The examples assume you have the webfs executable on your $PATH.
You can also use
go run ../../cmd/webfs instead of webfs if you don't want to set that up.
Community
Questions and Discussion happening on Matrix.