-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Labels
enhancementNew feature or requestNew feature or requesthyperRelated to hyper protocolRelated to hyper protocolipfs/ipnsRelated to ipfs protocolRelated to ipfs protocolpriority: highFor important issues that affect many users or major functionality of the projectFor important issues that affect many users or major functionality of the project
Description
Organize and distribute WebExtensions via decentralized hosting (e.g., IPFS, Hypercore) using a predictable folder structure.
Tasks:
- Define folder structure convention:
/extensions/{name}/{version}/extension.zip
/extensions/{name}/index.json- Design compatibility layer to install directly from P2P URLs (e.g.,
peersky://extensions/...). - Use chrome-extension-fetch to archive Chrome Web Store extensions:
- Fetch CRX → convert to ZIP → drop into
/extensions/{name}/{version}/. - Automate index.json updates with metadata { version, P2P_URL, fetchedAt }.
- Immediately
ipfs add(orHypercore) that folder, capture the P2P link. - Feed that P2P link back into the browser’s install step.
- Fetch CRX → convert to ZIP → drop into
- Add settings toggle:
“Load from P2P”. - Add optional support for loading curated extension hoards (index.json) from trusted sources.
- Explore automated updates from trusted hoards.
- Clarify trust model: publisher-controlled integrity, browser-enforced sandboxing.
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.- 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
.zipover a peer-to-peer network (like Hypercore). - Reads the
manifest.jsoninside. - 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.
bumblefudge
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthyperRelated to hyper protocolRelated to hyper protocolipfs/ipnsRelated to ipfs protocolRelated to ipfs protocolpriority: highFor important issues that affect many users or major functionality of the projectFor important issues that affect many users or major functionality of the project