All Projects → ipfs-shipyard → cohosting

ipfs-shipyard / cohosting

Licence: CC0-1.0 license
A set of light tools and conventions for cohosting public websites and files on IPFS

Programming Languages

shell
77523 projects

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
    • Support IPNS (libp2p keys) and DNSLink roots (human-readable)
    • Switch tools like ipfs-cohost and ipfs-companion from raw pins to MFS
  • 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

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:

🍎 = Not started
🍊 = In progress
🍏 = Complete

🍊 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 in crond etc)
  • gc [n] drop all old snapshots (if n 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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].