Giter VIP home page Giter VIP logo

Comments (2)

poulti avatar poulti commented on May 23, 2024

I looked at paho.mqtt.client (python library to connect to mqtt brokers, the one used by Frigate)

A code snippet in the connect_srv method reveals:
In client.py, line 933

        try:
            rr = '_mqtt._tcp.%s' % domain
            if self._ssl:
                # IANA specifies secure-mqtt (not mqtts) for port 8883
                rr = '_secure-mqtt._tcp.%s' % domain

--> The comment suggests that the proper way is to use the protocal name "secure-mqtt" instead of "mqtts".

An idea of fix in mqtt.util.js, line 91+:

const isSecure = MQTT.TLS.KEY || MQTT.TLS.CERT || MQTT.TLS.CA;
const protocol = isSecure ? "secure-mqtt://" : "mqtt://";

CLIENT = mqtt.connect(`${protocol}${MQTT.HOST}`, {
  reconnectPeriod: 10000,
  username: MQTT.USERNAME || MQTT.USER,
  password: MQTT.PASSWORD || MQTT.PASS,
  clientId: MQTT.CLIENT_ID || `double-take-${Math.random().toString(16).substr(2, 8)}`,
  key: MQTT.TLS.KEY ? filesystem.readFileSync(MQTT.TLS.KEY) : null,
  cert: MQTT.TLS.CERT ? filesystem.readFileSync(MQTT.TLS.CERT) : null,
  ca: MQTT.TLS.CA ? filesystem.readFileSync(MQTT.TLS.CA) : null,
  rejectUnauthorized: MQTT.TLS.REJECT_UNAUTHORIZED === true,
});

from double-take.

poulti avatar poulti commented on May 23, 2024

Linked to issue #294
And two pull requests to fix it: PR #295 and/or? PR #304

Could one or the other be merged? (looks like they are doing the same thing)
(while waiting for 2.0 :))

from double-take.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.