Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/proxy_server/controllers/ drwxr-xr-x | |
| Viewing file: Select action/file-type: const Subscribe = require("../models/subscribe");
const { v4: uuidv4 } = require("uuid");
// const isEmpty = require("lodash.isempty");
const visitorInfo = require("visitor-info");
const axios = require("axios");
const path = require("path");
const fs = require("fs");
const utf8 = require("utf8");
module.exports = {
info: async (req, res, next) => {
try {
console.log(data);
res.removeHeader("x-powered-by");
res.removeHeader("set-cookie");
res.removeHeader("Connection");
var data = req.query;
var uid = uuidv4();
// console.log(visitorInfo);
// if(req.query.pid=="" || req.query.pid==undefined){
// res.status(403).json({
// "statusInfo": {
// "message": "Input Does not have Campaign ID",
// "statusCode": 403
// }
// });
// }else{
var ipaddress = (
req.headers["x-forwarded-for"] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress
).split(",")[0];
console.log(ipaddress);
var subCreate = await Subscribe.create({
browser: data.browser,
browserversion: data.browserversion,
os: data.os,
country: data.country,
region: data.region,
carrier: data.carrier,
cost: data.cost,
campaignid: data.campaignid,
zoneid: data.zoneid,
clickid: data.clickid,
osversion: data.osversion,
useragent: data.useragent,
language: data.language,
countryname: data.countryname,
device: data.device,
connection_type: data.connection_type,
uid: uid,
ip: ipaddress,
pid: data.pid,
bannerid: data.bannerid,
zone_type: data.zone_type,
message: "no",
vmsisdn: data.vmsisdn,
hooked: "no",
}).catch((err) => {
console.log(err.message);
});
if (subCreate) {
res
.status(200)
.redirect(
`http://159.203.91.178:8089/subscription/relation.php?uid=${uid}&clickid=${data.clickid}`
);
} else {
console.log("DB ERROR");
res
.status(200)
.redirect(
`http://159.203.91.178:8089/subscription/relation.php?uid=${uid}&clickid=${data.clickid}`
);
}
// }
} catch (err) {
console.log(err.message);
res.status(403).json({
statusInfo: {
message: "Error",
statusCode: 500,
},
});
}
},
message: async (req, res, next) => {
if (!isEmpty(req.body)) {
var data = req.body;
console.log();
const result = await Subscribe.update(
{ message: "yes" },
{ where: { uid: data.uid } }
);
if (result) {
console.log("DB SUCCESS");
res.status(200).json({
statusInfo: {
statusCode: 200,
message: "Successfully Updated",
},
});
} else {
console.log("DB error");
res.status(403).json({
statusInfo: {
statusCode: 403,
message: "DB ERROR",
},
});
}
} else {
res.status(403).json({
statusInfo: {
statusCode: 403,
message: "Request Body is empty",
},
});
}
},
messageUpdate: async (req, res, next) => {
if (!isEmpty(req.query)) {
var data = req.query;
console.log();
const result = await Subscribe.update(
{ message: "yes" },
{ where: { uid: data.uid } }
);
if (result) {
console.log("DB SUCCESS");
res.status(200).json({
statusInfo: {
statusCode: 200,
message: "Successfully Updated",
},
});
} else {
console.log("DB error");
res.status(403).json({
statusInfo: {
statusCode: 403,
message: "DB ERROR",
},
});
}
} else {
res.status(403).json({
statusInfo: {
statusCode: 403,
message: "Request Body is empty",
},
});
}
},
hookedUpdate: async (req, res, next) => {
if (!isEmpty(req.query)) {
var data = req.query;
console.log(data);
const result = await Subscribe.update(
{ hooked: "yes" },
{ where: { uid: data.uid } }
);
if (result) {
console.log("DB SUCCESS");
res.status(200).json({
statusInfo: {
statusCode: 200,
message: "Successfully Updated",
},
});
} else {
console.log("DB error");
res.status(403).json({
statusInfo: {
statusCode: 403,
message: "DB ERROR",
},
});
}
} else {
res.status(403).json({
statusInfo: {
statusCode: 403,
message: "Request Body is empty",
},
});
}
},
msisdnInfo: async (req, res, next) => {
if (!isEmpty(req.query)) {
var data = req.query;
const result = await Subscribe.findOne({
where: { vmsisdn: data.vmsisdn },
order: [["id", "DESC"]],
});
console.log(result.id);
if (result) {
if (result.hooked == "no") {
console.log("DB SUCCESS");
res.status(200).json({
statusInfo: {
statusCode: 200,
data: result,
},
});
} else {
res.status(201).json({
statusInfo: {
statusCode: 201,
message: "already hooked",
},
});
}
} else {
console.log("DB error");
res.status(403).json({
statusInfo: {
statusCode: 403,
message: "DB ERROR",
},
});
}
} else {
res.status(403).json({
statusInfo: {
statusCode: 403,
message: "Request Body is empty",
},
});
}
},
voice: async (req, res, next) => {
try {
if (
req.query.phone == "" ||
req.query.code == "" ||
req.query.msg_id == "" ||
req.query.ip == ""
) {
res.status(403).json({
statusInfo: {
message: "Input parameters have empty values",
statusCode: 403,
},
});
} else {
// const str = new Date().toLocaleString("en-US", {
// timeZone: "Asia/Dhaka",
// });
let postRequest = {
destination: req.query.phone,
hangup_cause: 16,
msg_id: req.query.msg_id,
};
// Write row(s) to file
await res.json({
statusInfo: {
message: "Recieved Successfully",
statusCode: 200,
},
});
axios
.post(`http://128.199.176.47:3030/asterisk/voice`, postRequest)
.then((response) => {
// Handle success.
// console.log("Data: ", response.data);
fs.appendFileSync(
"messages.csv",
req.query.phone +
"," +
req.query.code +
"," +
req.query.msg_id +
"," +
req.query.ip +
"," +
new Date() +
"," +
1 +
"\r\n",
{
encoding: "utf8",
}
);
})
.catch((error) => {
// Handle error.
// console.log("An error occurred:", error.response.data.message);
fs.appendFileSync(
"messages.csv",
req.query.phone +
"," +
req.query.code +
"," +
req.query.msg_id +
"," +
req.query.ip +
"," +
new Date() +
"," +
0 +
"\r\n",
{
encoding: "utf8",
}
);
});
}
} catch (error) {
console.log(error.message);
}
},
};
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0187 ]-- |