Organize and distribute WebExtensions via decentralized hosting (e.g., IPFS, Hypercore) using a predictable folder structure.
Tasks:
/extensions/{name}/{version}/extension.zip
/extensions/{name}/index.json
Behaviour:
Normal user (Archive to P2P before install):
-
User visits a Chrome Web Store page (e.g., uBlock).
-
Browser detects it’s a WebExtension and shows the install icon.
-
When clicked:
chrome-extension-fetch downloads and converts the extension.
- It saves it under a structured P2P-friendly folder.
- It updates index.json with metadata.
- It publishes that folder to IPFS, Hypercore, etc.
- Finally, it installs the extension from the decentralized source, not from Google.
P2P user:
-
A friend sends User X a P2P link:
hyper://abcd1234/extensions/ublock/1.0.0/extension.zip
-
User X opens this link in Peersky or Agregore.
-
The browser:
- Fetches the
.zip over a peer-to-peer network (like Hypercore).
- Reads the
manifest.json inside.
- Shows an "Install Extension" prompt.
- User X confirms → browser installs the extension just like any other.
No central store. Fully distributed. Great for local communities or devs sharing their own tools.
cc @RangerMauve @autonome
Tasks:
peersky://extensions/...)./extensions/{name}/{version}/.ipfs add(orHypercore) that folder, capture the P2P link.“Load from P2P”.Behaviour:
Normal user (Archive to P2P before install):
User visits a Chrome Web Store page (e.g., uBlock).
Browser detects it’s a WebExtension and shows the install icon.
When clicked:
chrome-extension-fetchdownloads and converts the extension.P2P user:
A friend sends User X a P2P link:
hyper://abcd1234/extensions/ublock/1.0.0/extension.zipUser X opens this link in Peersky or Agregore.
The browser:
.zipover a peer-to-peer network (like Hypercore).manifest.jsoninside.No central store. Fully distributed. Great for local communities or devs sharing their own tools.
cc @RangerMauve @autonome