Experiment in MFS-based cohosting
Exploration around simple tools and conventions for cohosting existing websites with IPFS
Motivation
- Make it easier for people to contribute storage and bandwidth to sites and datasets they care about
- Periodically detect updates to and preload them to a local node
- Experiment in userland: make it easy to implement, no new APIs, reuse existing ones
- Identify constraints of the mutable filesystem (MFS) and propose ways to improve it
Scope vs. Use Cases
See this analysis.
Specification
See SPEC.md
🚧 note: this is a draft, an early, exploratory experiment🚧 Feedback is welcome. Fill an issue!
Potential Implementations
This specification is not implemented yet. The following IPFS Shipyard projects could implement it:
🍊 cohosting.sh
MVP bash script that can be used for cli
-
add
rm
for adding / removing sites to cohosting list via commandline -
sync
a command to run cohosting check (for use incrond
etc) -
gc [n]
drop all old snapshots (ifn
is provided, keeps that many snapshots per site) - Lazy cohosting
🍏 ipfs-cohost
NPM-based interactive cli tool
- switch from
pin
to MFS-based spec
🍎 ipfs-companion
browser extension
- provides UI for adding / removing sites via browser action menu
- runs cohosting check periodically
🍎 ipfs-desktop
desktop app and GUI for managing go-ipfs
- runs cohosting check periodically
🍎 ipfs-webui
web frontend for IPFS node
- provides UI for adding / removing sites to cohosting list as an experiment on Settings page