Ylianst / MeshCentral

A complete web-based remote monitoring and management web site. Once setup you can install agents and perform remote desktop session to devices on the local network or over the Internet.
https://meshcentral.com
Apache License 2.0
4.07k stars 545 forks source link

Signal notification integration (signal-cli-rest-api) #4688

Open mwllgr opened 1 year ago

mwllgr commented 1 year ago

Is your feature request related to a problem? Please describe. No.

Describe the solution you'd like As many services (XMPP now too as far as I know) get included for notifications, I'd suggest a Signal integration via signal-cli-rest-api's API too. It's pretty simple and dockerized. See e. g. the API docs or sample requests in the project's README for the needed REST requests (some great examples using curl are in there).

Also, it would be nice if the integration supported basic/digest auth via the config, for example https://username:password@signal-messaging.example.com

Describe alternatives you've considered An integration of messaging via the Matrix protocol could be a privacy respecting alternative, although it's harder to implement and far less people use it.

Ylianst commented 1 year ago

OMG. I am going to have every messaging system integration if I keep this up. I personally use Signal as my primary messaging app, so I would like this one.

vithusel commented 1 year ago

OMG. I am going to have every messaging system integration if I keep this up. I personally use Signal as my primary messaging app, so I would like this one.

Literally my thought just now haha. Getting a bit manic!

Ylianst commented 1 year ago

I found CallMeBot which is super easy to integrate, so will be doing that one.

Ylianst commented 1 year ago

Just added CallMeBot integration which works with Signal Messenger. This will be in MeshCentral v1.0.93. I also noticed that Signal Messenger is removing SMS support which is SUPER DISAPPOINTING.

Ylianst commented 1 year ago

CallMeBot support will be in v1.0.93. Here is what it looks like:

MC2-CallMeBot1

I tested it with Signal Messenger, works great.

PrplHaz4 commented 1 year ago

OMG. I am going to have every messaging system integration if I keep this up. I personally use Signal as my primary messaging app, so I would like this one.

Usually components like this are a good fit for plugins - any thoughts if they would fit the meshcentral plugin model well? IMO email is sufficient for core functionality...

mwllgr commented 1 year ago

Thanks for the integration @Ylianst - I suggested the signal-cli-rest implementation because of the ability to self-host it, thus not exposing information to other companies and/or countries because messages really only reach Signal's servers (encrypted) and not any third-party. But that's okay too now, I guess.

@PrplHaz4 MeshCentral already has an existing plugin system as far as I know, however not many plugins seem to exist yet. I don't know if something like the Signal integration would even be possible using a plugin. Check out the following links:

Ylianst commented 1 year ago

I suggest just doing a pull request for adding any messaging integrations. Plugin's open security issues and do not integrate well with the user interface. If you have sample code in NodeJS to send a message on Signal, just send it over, I can take care of the rest.

Another option is for me to add a generic "Messaging" integration that posts the message and user handle to a URL and let the administrator configure the URL, messaging name and information string. You are then free to handle the messages anyway you like. I did this for SMS, you can register a general URL as a SMS provider and handle anyway you like.

mwllgr commented 1 year ago

Oh, thanks, I'll take a look at the SMS config - this should work. Will reply with my configuration in this issue and close it if everything works.