Verdigris is a demo of a CoAP GUI run in the browser communicating via WebSockets.
It aims to become usable as a generic CoAP client
(possibly with some limited server functionality)
that can be used from the browser for exploration, leaning and debugging.
Eventually it should be usable as a replacement for the venerable [Copper] browser plug-in
that got overtaken by the browser plugin APIs.
Unlike Copper, this runs purely as a website, and can not talk CoAP-over-UDP.
Instead, it relies on a public or local cross proxy that is accessible using CoAP-over-WS,
or possibly other browser-accessible transports.
[Copper]: https://github.com/mkovatsc/Copper
Currently, it provides three distinct modes of operation:
* In message exchanger mode, it can be used to generate CoAP requests by assembling them from options
(or useing some of the preset ones), and shows any incoming responses in decoded form.
* In color server mode, it provides a monochromous area whose color can be changed by CoAP clients.
it registers at a Resource Directory with a given (initially random) endpoint name
and asks to be reverse-proxied behind a globally reachable name.
* In color client mode, it connects to a Resource Directory via a proxy,
looking for compatible resurces at a color server.
All discovered resources can be set (together or individually) to a selected color
through the same proxy.
Run as `wasm-pack build --dev --target web --out-name wasm --out-dir ./static && python3 -m http.server -d ./static`,
and go to <https://localhost:8000/>.
The Python invocation can be customized to a different port by giving the port as an additional argument,
or replaced with any other static HTTP server just as well.
The latest version is available online at <https://chrysn.gitlab.io/verdigris/>.