aiocoap-rd

A plain CoAP resource directory according to RFC9176

Known Caveats:

  • It is very permissive. Not only is no security implemented.

  • This may and will make exotic choices about discoverable paths wherever it can (see StandaloneResourceDirectory documentation)

  • Split-horizon is not implemented correctly

  • Unless enforced by security (ie. not so far), endpoint and sector names (ep, d) are not checked for their lengths or other validity.

  • Simple registrations don’t cache .well-known/core contents

usage: aiocoap-rd [-h] [--bind BIND] [--credentials CREDENTIALS]
                  [--tls-server-certificate CRT] [--tls-server-key KEY]
                  [--version] [--proxy-domain PROXY_DOMAIN] [--lwm2m-compat]
                  [--no-lwm2m-compat] [--verbose]

Named Arguments

--bind

Host and/or port to bind to (see –help-bind for details)

--credentials

JSON file pointing to credentials for the server’s identity/ies.

--tls-server-certificate

TLS certificate (chain) to present to connecting clients (in PEM format)

--tls-server-key

TLS key to load that supports the server certificate

--version

show program’s version number and exit

--proxy-domain

Enable the RD proxy extension. Example: proxy.example.net will produce base URIs like coap://node1.proxy.example.net/. The names must all resolve to an address the RD is bound to.

--lwm2m-compat

Compatibility mode for LwM2M clients that can not perform some discovery steps (moving the registration resource to /rd)

--no-lwm2m-compat

Disable all compatibility with LwM2M clients that can not perform some discovery steps (not even accepting registrations at /rd with warnings)

Default: True

--verbose

Increase debug log output (repeat for increased verbosity)

Default: 0