Merge pull request #5390 from Ylianst/auth-ntfy

add authorization to ntfy
This commit is contained in:
Simon Smith 2023-10-04 13:59:31 +01:00 committed by GitHub
commit 6d27ff5969
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 17 additions and 2 deletions

View File

@ -3410,6 +3410,10 @@ See description for information about each item.
"userurl": {
"type": "string",
"description": "A URL given to users to help them setup this service."
},
"authorization": {
"type": "string",
"description": "Authorization Header to include in the request"
}
},
"description": "Enabled ntfy.sh integration support."

View File

@ -202,7 +202,8 @@ For [self-hosting your own ntfy server](https://ntfy.sh/docs/install/) with [ACL
"messaging": {
"ntfy": {
"host": "https://[my]ntfy.sh",
"userurl": "https://[my]ntfy.sh/userhelp"
"userurl": "https://[my]ntfy.sh/userhelp",
"authorization": "Basic cGhpbDpteXBhc3M="
}
}
}

View File

@ -3408,6 +3408,10 @@
"userurl": {
"type": "string",
"description": "A URL given to users to help them setup this service."
},
"authorization": {
"type": "string",
"description": "Authorization Header to include in the request"
}
},
"description": "Enabled ntfy.sh integration support."

View File

@ -335,7 +335,8 @@ module.exports.CreateServer = function (parent) {
push.send(domain.title ? domain.title : 'MeshCentral', msg, function (err, res) { if (func != null) { func(err == null); } });
} else if ((to.startsWith('ntfy:')) && (obj.ntfyClient != null)) { // ntfy
const url = 'https://' + (((typeof parent.config.messaging.ntfy == 'object') && (typeof parent.config.messaging.ntfy.host == 'string')) ? parent.config.messaging.ntfy.host : 'ntfy.sh') + '/' + encodeURIComponent(to.substring(5));
const req = require('https').request(new URL(url), { method: 'POST' }, function (res) { if (func != null) { func(true); } });
const headers = (typeof parent.config.messaging.ntfy.authorization == 'string') ? { 'Authorization': parent.config.messaging.ntfy.authorization } : {};
const req = require('https').request(new URL(url), { method: 'POST', headers: headers }, function (res) { if (func != null) { func(true); } });
req.on('error', function (err) { if (func != null) { func(false); } });
req.end(msg);
} else if ((to.startsWith('zulip:')) && (obj.zulipClient != null)) { // zulip

View File

@ -628,6 +628,11 @@
"_discord": {
"serverurl": "https://discord.gg/xxxxxxxxx",
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"_ntfy": {
"host": "https://[my]ntfy.sh",
"userurl": "https://[my]ntfy.sh/userhelp",
"authorization": "Basic xxxxxxxxxxxxxxxxxxxx"
}
}
}