mirror of
https://github.com/Akkadius/glass-isc-dhcp.git
synced 2025-07-29 16:45:48 +02:00
SMS simple alert format support
This commit is contained in:
parent
9555cb3ca9
commit
43cd05027a
85
app.js
85
app.js
@ -511,7 +511,7 @@ setTimeout(function(){
|
|||||||
console.log("[Glass Server] Alert loop started");
|
console.log("[Glass Server] Alert loop started");
|
||||||
|
|
||||||
alert_check_timer = setInterval(function(){
|
alert_check_timer = setInterval(function(){
|
||||||
console.log("[Timer] Alert Timer check");
|
// console.log("[Timer] Alert Timer check");
|
||||||
if(glass_config.leases_per_minute_threshold > 0) {
|
if(glass_config.leases_per_minute_threshold > 0) {
|
||||||
console.log("[Timer] lpm: %s lpm_th: %s", leases_per_minute, glass_config.leases_per_minute_threshold);
|
console.log("[Timer] lpm: %s lpm_th: %s", leases_per_minute, glass_config.leases_per_minute_threshold);
|
||||||
if (leases_per_minute <= glass_config.leases_per_minute_threshold && alert_status['leases_per_minute'] == 0) {
|
if (leases_per_minute <= glass_config.leases_per_minute_threshold && alert_status['leases_per_minute'] == 0) {
|
||||||
@ -546,7 +546,7 @@ setTimeout(function(){
|
|||||||
alert_status_networks_critical = [];
|
alert_status_networks_critical = [];
|
||||||
|
|
||||||
alert_subnet_check_timer = setInterval(function(){
|
alert_subnet_check_timer = setInterval(function(){
|
||||||
console.log("[Timer] Alert Timer check - subnets");
|
// console.log("[Timer] Alert Timer check - subnets");
|
||||||
|
|
||||||
if(glass_config.shared_network_warning_threshold > 0 || glass_config.shared_network_critical_threshold > 0) {
|
if(glass_config.shared_network_warning_threshold > 0 || glass_config.shared_network_critical_threshold > 0) {
|
||||||
const execSync = require('child_process').execSync;
|
const execSync = require('child_process').execSync;
|
||||||
@ -680,13 +680,24 @@ let transporter = nodemailer.createTransport({
|
|||||||
});
|
});
|
||||||
|
|
||||||
console.log("[Glass Server] Loading E-Mail template...");
|
console.log("[Glass Server] Loading E-Mail template...");
|
||||||
|
|
||||||
fs = require('fs');
|
fs = require('fs');
|
||||||
var email_body = fs.readFileSync('./public/templates/email_template.html', "utf8");
|
var email_body = fs.readFileSync('./public/templates/email_template.html', "utf8");
|
||||||
|
console.log("[Glass Server] Loading E-Mail template... DONE...");
|
||||||
|
|
||||||
|
|
||||||
|
console.log("[Glass Server] Loading SMS domains");
|
||||||
|
var sms_domains = fs.readFileSync('./lib/sms_domains.txt', "utf8");
|
||||||
|
var sms_domains_list = [];
|
||||||
|
var lines = sms_domains.split('\n');
|
||||||
|
for(var i = 0; i < lines.length; i++){
|
||||||
|
sms_domains_list[lines[i].trim()] = true;
|
||||||
|
}
|
||||||
|
console.log("[Glass Server] Loading SMS domains DONE");
|
||||||
|
|
||||||
function email_alert(alert_title, alert_message) {
|
function email_alert(alert_title, alert_message) {
|
||||||
|
|
||||||
/* E-Mail Template Load */
|
/* E-Mail Template Load */
|
||||||
console.log("Sending E-Mail...\n");
|
console.log("[Glass Server] Sending E-Mail Alert...\n");
|
||||||
|
|
||||||
if(typeof glass_config.email_alert_to === "undefined")
|
if(typeof glass_config.email_alert_to === "undefined")
|
||||||
return false;
|
return false;
|
||||||
@ -700,20 +711,62 @@ function email_alert(alert_title, alert_message) {
|
|||||||
email_body = email_body.replace("[alert_title]", alert_title);
|
email_body = email_body.replace("[alert_title]", alert_title);
|
||||||
email_body = email_body.replace("[local_time]", new Date().toString() );
|
email_body = email_body.replace("[local_time]", new Date().toString() );
|
||||||
|
|
||||||
var mailOptions = {
|
glass_config.email_alert_to = glass_config.email_alert_to.replace(/ /g,'');
|
||||||
from: "Glass Alerting Monitor glass@noreply.com",
|
|
||||||
to: glass_config.email_alert_to,
|
var sms_emails = "";
|
||||||
subject: "[Glass] " + alert_title,
|
|
||||||
html: email_body,
|
var individual_emails = glass_config.email_alert_to.split(",");
|
||||||
};
|
for(var i = 0; i < individual_emails.length; i++) {
|
||||||
transporter.sendMail(mailOptions, function(error, info){
|
var domain = individual_emails[i].split("@")[1];
|
||||||
if(error){
|
var email_address = individual_emails[i];
|
||||||
console.log(error);
|
|
||||||
|
if(typeof domain !== "undefined") {
|
||||||
|
if (sms_domains_list[domain.trim()]) {
|
||||||
|
console.log("This is a mobile sms gateway");
|
||||||
|
sms_emails = sms_emails + email_address + ", ";
|
||||||
|
glass_config.email_alert_to = glass_config.email_alert_to.replace(email_address, "");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
}
|
||||||
console.log('Message sent: ' + info.response);
|
|
||||||
|
/* Clean extra commas etc. */
|
||||||
|
glass_config.email_alert_to = glass_config.email_alert_to.replace(/^[,\s]+|[,\s]+$/g, '').replace(/,[,\s]*,/g, ',');
|
||||||
|
|
||||||
|
/* Send regular HTML E-Mails */
|
||||||
|
if(glass_config.email_alert_to.trim() != "") {
|
||||||
|
var mailOptions = {
|
||||||
|
from: "Glass Alerting Monitor glass@noreply.com",
|
||||||
|
to: glass_config.email_alert_to,
|
||||||
|
subject: "[Glass] " + alert_title,
|
||||||
|
html: email_body,
|
||||||
};
|
};
|
||||||
});
|
transporter.sendMail(mailOptions, function (error, info) {
|
||||||
|
if (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log('Message sent: ' + info.response);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Send SMS */
|
||||||
|
if(glass_config.email_alert_to.trim() != "") {
|
||||||
|
var mailOptions = {
|
||||||
|
from: "Glass Alerting Monitor glass@noreply.com",
|
||||||
|
to: sms_emails,
|
||||||
|
subject: "[Glass] " + alert_title,
|
||||||
|
html: alert_message.substring(0, 135) + "...",
|
||||||
|
};
|
||||||
|
transporter.sendMail(mailOptions, function (error, info) {
|
||||||
|
if (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log('Message sent: ' + info.response);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("[Glass Server] Bootup complete");
|
console.log("[Glass Server] Bootup complete");
|
191
lib/sms_domains.txt
Normal file
191
lib/sms_domains.txt
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
aircel.co.in
|
||||||
|
airtelap.com
|
||||||
|
airtelkk.com
|
||||||
|
sms.airfiremobile.com
|
||||||
|
mms.aiowireless.net
|
||||||
|
msg.acsalaska.com
|
||||||
|
sms.wirefree.informe.ca
|
||||||
|
mms.alltelwireless.com
|
||||||
|
vzwpix.com
|
||||||
|
paging.acswireless.com
|
||||||
|
airtelap.com
|
||||||
|
ideacellular.net
|
||||||
|
vmobl.com
|
||||||
|
mms.att.net
|
||||||
|
page.att.net
|
||||||
|
sms.beemail.ru
|
||||||
|
txt.bell.ca
|
||||||
|
bellsouth.cl
|
||||||
|
mms.myblueworks.com
|
||||||
|
psms.bluesky.as
|
||||||
|
myboostmobile.com
|
||||||
|
mms.bouyguestelecom.fr
|
||||||
|
mms.boxis.net
|
||||||
|
sfr.fr
|
||||||
|
cellcom.quiktxt.com
|
||||||
|
csouth1.com
|
||||||
|
cwemail.com
|
||||||
|
sms.cvalley.net
|
||||||
|
mail.msgsender.com
|
||||||
|
airtelchennai.com
|
||||||
|
rpgmail.net
|
||||||
|
139.com
|
||||||
|
mms.gocbw.com
|
||||||
|
clarotorpedo.com.br
|
||||||
|
ideasclaro-ca.com
|
||||||
|
vtexto.com
|
||||||
|
sms.cleartalk.us
|
||||||
|
iclaro.com.co
|
||||||
|
mms.mycricket.com
|
||||||
|
cspire1.com
|
||||||
|
messaging.accessyou.com
|
||||||
|
mgw.mmsc1.hkcsl.com
|
||||||
|
sms.ctimovil.com.ar
|
||||||
|
airtelmail.com
|
||||||
|
digitextdm.com
|
||||||
|
sms.advantagecell.net
|
||||||
|
smsmail.eplus.de
|
||||||
|
sms.edgewireless.com
|
||||||
|
SMS.elementmobile.net
|
||||||
|
emtelworld.net
|
||||||
|
echoemail.net
|
||||||
|
esendex.net
|
||||||
|
sms.fido.ca
|
||||||
|
subdomain.firmensms.at
|
||||||
|
smssturen.com
|
||||||
|
mobile.gci.net
|
||||||
|
msg.globalstarusa.com
|
||||||
|
sms.globul.bg
|
||||||
|
airtelmail.com
|
||||||
|
ideacellular.net
|
||||||
|
gscsms.com
|
||||||
|
vtxt.com
|
||||||
|
ideacellular.net
|
||||||
|
airtelmail.com
|
||||||
|
celforce.com
|
||||||
|
sms.cellinkgy.com
|
||||||
|
airtelmail.com
|
||||||
|
escotelmobile.com
|
||||||
|
hawaii.sprintpcs.com
|
||||||
|
sms.haysystems.com
|
||||||
|
myhelio.com
|
||||||
|
airtelmail.com
|
||||||
|
sms.ice.cr
|
||||||
|
number.iws@iwspcs.net
|
||||||
|
iwirelesshometext.com
|
||||||
|
mobile.kajeet.net
|
||||||
|
airtelkk.com
|
||||||
|
airtelkerala.com
|
||||||
|
escotelmobile.com
|
||||||
|
airtelkol.com
|
||||||
|
msg.telus.com
|
||||||
|
text.longlines.com
|
||||||
|
sms.lynxmobility.com
|
||||||
|
m1.com.sg
|
||||||
|
airtelmail.com
|
||||||
|
airtelmail.com
|
||||||
|
ideacellular.net
|
||||||
|
cwmovil.com
|
||||||
|
sms.mediaburst.co.uk
|
||||||
|
mymetropcs.com
|
||||||
|
sms.mtel.net
|
||||||
|
sms.mobitel.lk
|
||||||
|
sms.movistar.net.ar
|
||||||
|
movistar.com.co
|
||||||
|
0movistar.net
|
||||||
|
movimensaje.com.ar
|
||||||
|
sms.movistar.com.uy
|
||||||
|
sms.co.za
|
||||||
|
text.mtsmobility.com
|
||||||
|
airtelmail.com
|
||||||
|
my-cool-sms.com
|
||||||
|
sms.ntwls.net
|
||||||
|
msgnextel.com.mx
|
||||||
|
TwoWay.11nextel.net.ar
|
||||||
|
o2online.de
|
||||||
|
sms.is
|
||||||
|
sms.orange.nl
|
||||||
|
orange.net
|
||||||
|
vzwpix.com
|
||||||
|
nine-digit-zsend.com
|
||||||
|
alertas.personal.com.ar
|
||||||
|
text.plusgsm.pl
|
||||||
|
sms.pocket.com
|
||||||
|
mobiletxt.ca
|
||||||
|
text.plusgsm.pl
|
||||||
|
qwestmp.com
|
||||||
|
mms.att.net
|
||||||
|
mms.rogers.com
|
||||||
|
pcs.sasktelmobility.com
|
||||||
|
sendega.com
|
||||||
|
mas.aw
|
||||||
|
box.is
|
||||||
|
smtext.com
|
||||||
|
send.smsbroadcast.com.au
|
||||||
|
sms.smscentral.com.au
|
||||||
|
smspup.com
|
||||||
|
page.southernlinc.com
|
||||||
|
rinasms.com
|
||||||
|
SpikkoSMS.com
|
||||||
|
pm.sprint.com
|
||||||
|
mms.att.net
|
||||||
|
tmomail.net
|
||||||
|
vzwpix.com
|
||||||
|
tracfone.plspictures.com
|
||||||
|
mmst5.tracfone.com
|
||||||
|
gsm.sunrise.ch
|
||||||
|
rinasms.com
|
||||||
|
sms.teletopiasms.no
|
||||||
|
tmomail.net
|
||||||
|
optusmobile.com.au
|
||||||
|
sms.t-mobile.at
|
||||||
|
sms.t-mobile.hr
|
||||||
|
t-mobile-sms.de
|
||||||
|
gin.nl
|
||||||
|
919894airtelmobile.com
|
||||||
|
9842airsms.com
|
||||||
|
sms.tele2.se
|
||||||
|
etxt.co.nz
|
||||||
|
teleflip.com
|
||||||
|
mobile@sms.tim.telstra.com
|
||||||
|
mms.telusmobility.com
|
||||||
|
esms.nu
|
||||||
|
sms.tigo.com.co
|
||||||
|
timnet.com
|
||||||
|
message.ting.com
|
||||||
|
mmst5.tracfone.com
|
||||||
|
txtlocal.co.uk
|
||||||
|
itelcel.com
|
||||||
|
utext.com
|
||||||
|
viawebsms.com
|
||||||
|
union-tel.com
|
||||||
|
mms.uscc.net
|
||||||
|
usamobility.net
|
||||||
|
sms.utbox.net
|
||||||
|
escotelmobile.com
|
||||||
|
vzwpix.com
|
||||||
|
mmsviaero.com
|
||||||
|
torpedoemail.com.br
|
||||||
|
vmobile.ca
|
||||||
|
vmpix.com
|
||||||
|
vxtras.com
|
||||||
|
voda.co.za
|
||||||
|
vodafone-sms.de
|
||||||
|
sms.vodafone.it
|
||||||
|
sms.vodafone.
|
||||||
|
0vodafone.es
|
||||||
|
mtxt.co.nz
|
||||||
|
text.voyagermobile.com
|
||||||
|
sms.wcc.net
|
||||||
|
txt.windmobile.ca
|
||||||
|
sms.xit.net
|
||||||
|
vtext.com
|
||||||
|
txt.att.net
|
||||||
|
sms.alltelwireless.com
|
||||||
|
sms.myboostmobile.com
|
||||||
|
vmobl.com
|
||||||
|
text.republicwireless.com
|
||||||
|
messaging.sprintpcs.com
|
||||||
|
mymetropcs.com
|
||||||
|
tmomail.net
|
||||||
|
email.uscc.net
|
Loading…
x
Reference in New Issue
Block a user