Skip to content

seriousme/opifex

Repository files navigation

Deno CI CodeQL

Opifex

Opifex aims to provide a MQTT server and MQTT client in Typescript to be used with Deno It has no third party dependencies, it only relies on built in modules.

Its a work in progress, only does MQTT 3.1.1 and currently only has memory based persistence.

Playing around

Make sure you have Deno installed.

Server

deno run https://deno.land/x/opifex/bin/demoServer.ts

On the first invocation Deno will download all dependencies. It will then pop the question:

Deno requests net access to ":::1883". Run again with --allow-net to bypass this prompt.
   Allow? [y/n (y = yes allow, n = no deny)]

After you select yes you should have a working MQTT server.

Client

deno run https://deno.land/x/opifex/bin/mqtt.ts

On the first invocation Deno will download all dependencies. It will then pop the question:

Deno requests net access to "localhost:1883". Run again with --allow-net to bypass this prompt.
   Allow? [y/n (y = yes allow, n = no deny)]

Local deployment

If you want to use Deno locally then clone the repository, e.g. using:

git clone https://github.com/seriousme/opifex.git

and then use:

deno run -A bin/demoServer.ts
deno run -A bin/mqtt.ts

JSR.io

Opifex is also available on JSR.io.

Naming

Some MQTT servers have names like:

So to stay with the theme: Opifex

License

Licensed under MIT