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

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/.nvm/versions/node/v18.17.1/lib/node_modules/pm2/node_modules/tx2/src/   drwxr-xr-x
Free 25.78 GB of 117.98 GB (21.85%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     actions.js (2.17 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
module.exports = {
  /**
   * Expose an action/function triggerable via PM2 or PM2.io
   * @memberof TX2
   * @param {string} action_name Name of the action
   * @param {object} [opts] Optional parameter
   * @param {function} fn Function to be called
   *
   * @example <caption>Action without arguments</caption>
   * tx2.action('run_query', (cb) => {
   *   cb({ success: true })
   * })
   * @example <caption>Action with arguments</caption>
   * tx2.action('run_query', arg1, (cb) => {
   *   cb({ success: arg1 })
   * })
   */
  action(action_name, opts, fn) {
    if (!fn) {
      fn = opts
      opts = null
    }

    if (!action_name)
      return console.error('[PMX] action.action_name is missing')
    if (!fn)
      return console.error('[PMX] emit.data is mission')

    // Notify the action
    this.send({
      type : 'axm:action',
      data : {
        action_name : action_name,
        opts        : opts,
        arity       : fn.length
      }
    })

    let reply = (data) => {
      if (data.length) {
        data._length = data.length
        delete data.length
      }

      this.send({
        type        : 'axm:reply',
        data        : {
          return      : data,
          action_name : action_name
        }
      })
    }

    process.on('message', (data) => {
      if (!data) return false

      // Notify the action
      if (data && (data == action_name || data.msg == action_name))
        this.event('action triggered', { action_name, opts })

      // In case 2 arguments has been set but no options has been transmitted
      if (fn.length === 2 && typeof(data) === 'string' && data === action_name)
        return fn({}, reply)

      // In case 1 arguments has been set but options has been transmitted
      if (fn.length === 1 && typeof(data) === 'object' && data.msg === action_name)
        return fn(reply)

      /**
       * Classical call
       */
      if (typeof(data) === 'string' && data === action_name)
        return fn(reply)

      /**
       * If data is an object == v2 protocol
       * Pass the opts as first argument
       */
      if (typeof(data) === 'object' && data.msg === action_name)
        return fn(data.opts, reply)
    })
  }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

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