!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

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/   drwxr-xr-x
Free 13 GB of 57.97 GB (22.42%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     process.js (14.55 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// index.js
const express = require('express');
const app = express();
const port = process.env.PORT || 3000;
const { google } = require("googleapis");
var multer = require('multer');
var upload = multer();
const sequelize = require("./util/database");
const axios = require('axios');
const GP = require("./models/gp");
const Service = require("./models/service");
const User = require("./models/user");
const fs = require('fs');
const cluster=require('cluster');
const basicAuth = require("./middleware/basicAuth");
var compression = require('compression');
app.use(require('express-status-monitor')());
const isEmpty = require('lodash.isempty');
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(upload.array()); 
app.use(express.static('public'));
app.disable('etag');
app.use(compression({level:6}));

User.hasMany(Service,{foreignKey: 'vendor'});
Service.belongsTo(User,{foreignKey: 'vendor'});

// const Queue = require('bull');
// require('events').EventEmitter.prototype._maxListeners = 0;

// var proxyPost = new Queue("proxy", {
  
//   limiter: {
//       max: 100,
//       duration: 1000
//     }
// });

// proxyPost.process(async (job) => {
            
//   // var return_data= await getReturn.get_result(job.data.header,job.data.api_name,job.data.request_method,job.data.request_ip,job.data.query);
//   //return Promise.resolve(return_data);

//   // axios
//         // .get('http://127.0.0.1:1337/services?serviceId='+servcieIdentifier+'&keyWord='+servicekey+'/'+endUserId+'/'+shortcode+'/'+msgTransactionId, {
//         //   headers: {
//         //     Authorization: `Bearer ${info.token}`,
//         //   },
//         // })
//         // .then(response => {})
//         // .catch(error => {
//         //   // Handle error.
       

//         //   axios.post('https://ddm.wahidnj100.workers.dev/status',workerData)
//         //        .then(response => {
//         //           console.log("CLoudFlare worker");
//         //        });

//         //   });
//         console.log(job.data.workerData);
  
// });

// const os= require('os');





const numCpu=2;



app.get("/", (req, res) => res.send(`Welcome to the  API!${process.pid}`));

app.get('/bl', function (req, res) {
  
// console.log(req);
console.log("Received succ");
res.send(`Recieved Successfully: ${process.pid}`);
})

app.post('/bl', function (req, res) {
  
  console.log(req.body);
  const str = new Date().toLocaleString('en-US', { timeZone: 'Asia/Dhaka' });

  var from=req.body.from.replace(/^\d{3,9}/, x => x.replace(/./g, '*'))


  fs.writeFileSync('../flow/live_log.csv','{"from":'+from+',"to":'+req.body.to+',      "message":'+req.body.message+',"Date":'+str+' }'+'\n',{encoding: "utf8"}); 
  fs.appendFileSync('../flow/logs.csv','{ "from":'+req.body.from+',"to":'+req.body.to+',"message":'+req.body.message+',"Date":'+str+' }'+'\n',{encoding: "utf8"}); 
  res.send("Recieved Successfully: ");
})


  app.get('/info',async function (req, res) {
    // /:client_id/:shortcode/:msisdn/:key_word/:transid/:operator/:serviceid/:type/:status
    
    // console.log(req.query);

    if(req.query.client_id=="" || req.query.shortcode=="" || req.query.msisdn==""|| req.query.key_word=="" || req.query.transid=="" || req.query.operator=="" || req.query.serviceid=="" || req.query.type=="" || req.query.status==""){
      res.status(403).json({
        "statusInfo": {
          "message": "Input parameters have empty values",
          "statusCode": 403
          
          }
          
      });
    }else{

      const auth = new google.auth.GoogleAuth({
        keyFile: "credential.json",
        scopes: "https://www.googleapis.com/auth/spreadsheets",
      });
    
      // Create client instance for auth
      const client = await auth.getClient();
    
      // Instance of Google Sheets API
      const googleSheets = google.sheets({ version: "v4", auth: client });
    
      const spreadsheetId = "1Wg2PIDGuKA4icbaWeuhrQj5fRcaYvMNBAjKPKYe3R28";
    
      // Get metadata about spreadsheet
      const metaData = await googleSheets.spreadsheets.get({
        auth,
        spreadsheetId,
      });
    
      // Read rows from spreadsheet
      const getRows = await googleSheets.spreadsheets.values.get({
        auth,
        spreadsheetId,
        range: "Sheet1!A:A",
      });
    
      const str = new Date().toLocaleString('en-US', { timeZone: 'Asia/Dhaka' });
      
    
      // Write row(s) to spreadsheet
      await googleSheets.spreadsheets.values.append({
        auth,
        spreadsheetId,
        range: "Sheet1!A:J",
        valueInputOption: "USER_ENTERED",
        resource: {
          values: [[req.query.client_id, req.query.shortcode,req.query.msisdn,req.query.key_word,req.query.transid,req.query.operator,req.query.serviceid,req.query.type,req.query.status,str]],
        },
      });
      res.json({
        "statusInfo": {
          "message": "Recieved Successfully",
          "statusCode": 200
          
          }
          
      });
      
    }
 
    })


  app.get('/pass_info.aspx',async function (req, res) {
    // /:client_id/:shortcode/:msisdn/:key_word/:transid/:operator/:serviceid/:type/:status
    
    // console.log(req.query);

    if(req.query.client_id=="" || req.query.shortcode=="" || req.query.msisdn==""|| req.query.key_word=="" || req.query.transid=="" || req.query.operator=="" || req.query.serviceid=="" || req.query.type=="" || req.query.status==""){
      res.status(403).json({
        "statusInfo": {
          "message": "Input parameters have empty values",
          "statusCode": 403
          
          }
          
      });
    }else{

      if(req.query.client_id=="multisource"){
        const auth = new google.auth.GoogleAuth({
          keyFile: "credential.json",
          scopes: "https://www.googleapis.com/auth/spreadsheets",
        });
      
        // Create client instance for auth
        const client = await auth.getClient();
      
        // Instance of Google Sheets API
        const googleSheets = google.sheets({ version: "v4", auth: client });
      
        const spreadsheetId = "1Wg2PIDGuKA4icbaWeuhrQj5fRcaYvMNBAjKPKYe3R28";
      
        // Get metadata about spreadsheet
        const metaData = await googleSheets.spreadsheets.get({
          auth,
          spreadsheetId,
        });
      
        // Read rows from spreadsheet
        const getRows = await googleSheets.spreadsheets.values.get({
          auth,
          spreadsheetId,
          range: "Sheet1!A:A",
        });
      
        const str = new Date().toLocaleString('en-US', { timeZone: 'Asia/Dhaka' });
        
      
        // Write row(s) to spreadsheet
        await googleSheets.spreadsheets.values.append({
          auth,
          spreadsheetId,
          range: "Sheet1!A:J",
          valueInputOption: "USER_ENTERED",
          resource: {
            values: [[req.query.client_id, req.query.shortcode,req.query.msisdn,req.query.key_word,req.query.transid,req.query.operator,req.query.serviceid,req.query.type,req.query.status,str]],
          },
        });
        res.removeHeader("x-powered-by");
        res.removeHeader("set-cookie");
        res.removeHeader("Date");
        res.removeHeader("Connection");
        res.json({
          "statusInfo": {
            "message": "Recieved Successfully",
            "statusCode": 200
            
            }
            
        });
      }else{
  
        res.status(403).json({
          "statusInfo": {
            "message": "Client ID is not valid",
            "statusCode": 403
            
            }
            
        });
  
      }
      
    }
 
    })

// app.use(basicAuth);
app.post('/digital5/messaging/v5.0/sendsms',basicAuth,async function (req, res) {

  res.removeHeader("x-powered-by");
  res.removeHeader("set-cookie");
  res.removeHeader("Connection");
  // console.log(req.ame);

  if(!isEmpty(req.body)){

    var data=req.body.notify;

    // var index = data.smsInfo.message.indexOf( ' ', data.smsInfo.message.indexOf( ' ' ) + 1 );  
   
    // var servicekey = data.smsInfo.message.substr( index + 1 );
    // var senderId=data.smsInfo.message.substr( 0, index );
    // console.log(servicekey);
    var endUserId=data.accesInfo.endUserId;
    var referenceCode=data.accesInfo.serverReferenceCode;
    var msgTransactionId=data.smsInfo.msgTransactionId;
    var shortcode=data.smsInfo.shortcode;
    var servcieIdentifier=data.smsInfo.servcieIdentifier;
    var totalAmountCharged=parseFloat(data.smsInfo.totalAmountCharged);
    const myArr = data.smsInfo.message.split(' ');
    
   console.log(endUserId);
    var servicekey=(myArr[2] == null && myArr[1] == null) ? myArr[0] : (myArr[2] == null) ? myArr[0]+' '+myArr[1] : myArr[0]+' '+myArr[1]; 
    var senderId=(myArr[2] == null) ? null: myArr[2];
    // console.log(data.smsInfo.message);
    

    if(totalAmountCharged>0){
    

    let info=await User.findOne({
      include: [{
        model: Service,
        where: {
          serviceId: servcieIdentifier,
          keyWord: servicekey
        }
      }]
    });

    // console.log(info);

    if(info){

      GP.create({servicekey: servicekey,partner:res.locals.userName, endUserId: endUserId,accesschannel: data.accesInfo.accesschannel,referenceCode: referenceCode,code: shortcode,amount: totalAmountCharged,
        msgTransactionId: msgTransactionId,language: data.accesInfo.language,senderId: senderId,productIdentifier: data.smsInfo.productIdentifier,message: servicekey,msgType: data.smsInfo.msgType
         })
        .catch((err) => {
        console.log(err);
        });

      if(data.accesInfo.apiType=='pre'){  

      // console.log(info.token);
      axios
        .get('http://127.0.0.1:1337/services?serviceId='+servcieIdentifier+'&keyWord='+servicekey+'/'+endUserId+'/'+shortcode+'/'+msgTransactionId, {
          headers: {
            Authorization: `Bearer ${info.token}`,
          },
        })
        .then(response => {
         
          // Handle success.
          // console.log(response.data);
          if(response.data=="Successfully Returned..."){


            res.json({
              "statusInfo": {
                "message": `successfully sent`,
                "statusCode": 200,
                "referenceCode": referenceCode,
                "serverReferenceCode": referenceCode
                }
                
            });

          }
          if(response.data=="you don`t have sufficient balance....."){
           
            res.status(403).json({
              "statusInfo": {
                "message": "you don`t have sufficient balance.....",
                "statusCode": 403
                
                }
                
            });
          }
          if(response.data=="Too many attempts, please try again in a minute."){

            res.status(403).json({
              "statusInfo": {
                "message": "Too many attempts, please try again in a minute.",
                "statusCode": 403
                
                }
                
            });
          }
          if(response.data=='Your ip address is not valid for make request'){

            res.status(403).json({
              "statusInfo": {
                "message": 'Your ip address is not valid for make request',
                "statusCode": 403
                
                }
                
            });
          }
          
          
        })
        .catch(error => {
          // Handle error.
          const workerData = {
            header: info.token,
            serviceId: servcieIdentifier,
            keyWord:servicekey,
            endUserId:endUserId,
            shortcode:shortcode,
            msgTransactionId:msgTransactionId
          };

          axios.post('https://ddm.wahidnj100.workers.dev/status',workerData)
               .then(response => {
                  console.log("done");
               });


          console.log('An error occurred:');

          res.status(403).json({
            "statusInfo": {
              "statusCode": 403,
              "referenceCode": referenceCode,
              "serverReferenceCode": referenceCode,
              "errorInfo": {
              "errorCode": 403,
              "errorDescription": "String"
              }
              }
              
          });
          
        });
      }else if(data.accesInfo.apiType=='post'){
        console.log('post');

        const workerData = {
          header: info.token,
          serviceId: servcieIdentifier,
          keyWord:servicekey,
          endUserId:endUserId,
          shortcode:shortcode,
          msgTransactionId:msgTransactionId
        };

        // proxyPost.add({workerData},{
        //   removeOnFail: true,
        //   removeOnComplete: true,
        // });

        res.json({
          "statusInfo": {
            "message": `successfully sent`,
            "statusCode": 200,
            "referenceCode": referenceCode,
            "serverReferenceCode": referenceCode
            }   
        });
        // const result = await queue.finished();
        // return result;
        // console.log(result);

        

        
      }
    }else{
      // console.log("null value");

      res.status(403).json({
        "statusInfo": {
          "statusCode": 403,
          "message":    "Incorrect Keyword or ServiceId value"
          }
          
          
      });
    }
  
  }else{
            res.json({
              "statusInfo": {
                "message": `successfully sent but not charged`,
                "statusCode": 200,
                "referenceCode": referenceCode,
                "serverReferenceCode": referenceCode
                }
                
            });

  }
  }else{
    
 
    res.status(403).json({
        "statusInfo": {
          "statusCode": 403,
          "message":    "Request Body is empty"
          }    
      });
  }

    
    
});


app.all("*", (req, res) =>res.send("You've tried reaching a route that doesn't exist."));

  sequelize
  .sync()
  // .sync()
  .then((result) => {

    if(cluster.isMaster){
      for(let i=0; i<numCpu; i++){
        cluster.fork();
      }
    }else{
    
    
    app.listen(port, ()=> {
      console.log(`RESTful API server ${process.pid} running on http://localhost:${port}`);
      });

    }
    
    
  });




:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0051 ]--