This repositiory hosts community effort of implementing experimental APIs for Firefox WebExtensions with a goal of enabling dweb protocols in Firefox through an add-ons. The long term goal of this project is to eventually integrate this APIs into WebExtensions ecosystem.
You can help this effort in several ways:
-
If there is a missing API to enable certain dweb protocol please submit an issue with clear description of:
- What protocol implementation requires it.
- What is this API would protocol implementation allow / prevent.
-
Contribute code. Make sure to reach out first, then hack.
API | Status |
---|---|
Protocol Handler | ๐ฅ |
mdns | ๐ฃ |
File System | ๐ฃ |
UDP Socket | ๐ฃ |
TCP Socket | ๐ฅ |
ยตTP Socket | ๐ฅ |
- ๐ฅ : In design phase
- ๐ฃ : Work in progress
- ๐ฅ : Try it out
- ๐ : Usable
You can try this out by cloning the repo and running npm install
to get all
the toolchain. Assuming you do have Firefox Nighly installed you can run following demos:
Following command will launch Firefox Nighly with protocol API demo addon
npm run demo:protocol
Following command will launch Firefox Nighly with mDNS API demo addon
npm run demo:mdns
Following command will launch Firefox Nighly with FileSystem API demo addon
npm run demo:fs
Following command will launch Firefox Nighly with UDPSocket API demo addon
npm run demo:dgram
Following command will launch Firefox Nighly with a demo containing all the above
npm run demo