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


Viewing file:     profile.js (3.83 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
var request = require('./client')


module.exports = ({request:client}) => async ({provider, input, output}) => {
  if (!provider.response || !provider.response.includes('profile')) {
    return {provider, input, output}
  }

  if (provider.apple && !provider.profile_url && input.body.user) {
    output.profile = input.body.user
    return {provider, input, output}
  }

  if (!provider.profile_url) {
    output.profile = {error: 'Grant: No profile URL found!'}
    return {provider, input, output}
  }

  var options = {
    method: 'GET',
    url: provider.profile_url,
    headers: {},
  }

  if (provider.oauth === 2) {
    options.headers.authorization = `Bearer ${output.access_token}`
  }
  else if (provider.oauth === 1) {
    options.oauth = {
      consumer_key: provider.key,
      consumer_secret: provider.secret,
      token: output.access_token,
      token_secret: output.access_secret,
    }
  }

  if (custom[provider.name]) {
    Object.assign(options, custom[provider.name]({provider, output}))
  }

  if (provider.subdomain) {
    options.url = options.url.replace('[subdomain]', provider.subdomain)
  }

  try {
    var {body} = await request({...client, ...options})
    // JSONP
    if (provider.flickr) {
      body = JSON.parse(/^.*\((.*)\)/.exec(body)[1])
    }
    // JSONP + secondary request
    if (provider.qq) {
      body = JSON.parse(/^.*\((.*)\)/.exec(Object.keys(body)[0])[1])
      body = {...body, ...(await request({...client, ...options,
        url: 'https://graph.qq.com/user/get_user_info',
        qs: {
          access_token: output.access_token,
          oauth_consumer_key: provider.key,
          openid: body.openid
        }
      })).body}

    }
    output.profile = body
  }
  catch (err) {
    output.profile = {error: err.body || err.message}
  }

  return {provider, input, output}
}

var custom = {
  arcgis: () => ({qs: {f: 'json'}}),
  baidu: ({output}) => ({qs: {access_token: output.access_token}}),
  constantcontact: ({provider}) => ({qs: {api_key: provider.key}}),
  deezer: ({output}) => ({qs: {access_token: output.access_token}}),
  disqus: ({provider}) => ({qs: {api_key: provider.key}}),
  dropbox: () => ({method: 'POST'}),
  echosign: ({output}) => ({headers: {'Access-Token': output.access_token}}),
  flickr: ({provider}) => ({qs: {method: 'flickr.urls.getUserProfile', api_key: provider.key, format: 'json'}}),
  foursquare: ({output}) => ({qs: {oauth_token: output.access_token}}),
  getpocket: ({provider, output}) => ({json: {consumer_key: provider.key, access_token: output.access_token}}),
  instagram: ({provider, output}) => /^\d+$/.test(provider.key) ? {qs: {fields: 'id,account_type,username'}} : {url: 'https://api.instagram.com/v1/users/self', qs: {access_token: output.access_token}},
  mailchimp: ({output}) => ({qs: {apikey: output.access_token}}),
  meetup: ({output}) => ({qs: {member_id: 'self'}}),
  mixcloud: ({output}) => ({qs: {access_token: output.access_token}}),
  qq: ({output}) => ({qs: {access_token: output.access_token}}),
  shopify: ({output}) => ({headers: {'X-Shopify-Access-Token': output.access_token}}),
  slack: ({output}) => ({qs: {token: output.access_token}}),
  soundcloud: ({output}) => ({qs: {oauth_token: output.access_token}}),
  stackexchange: ({output}) => ({qs: {key: output.access_token}}),
  stocktwits: ({output}) => ({qs: {access_token: output.access_token}}),
  tumblr: ({output}) => ({qs: {api_key: output.access_token}}),
  vk: ({output}) => ({qs: {access_token: output.access_token, v: '5.103'}}),
  wechat: ({output}) => ({qs: {access_token: output.access_token, openid: output.raw.openid, lang: 'zh_CN'}}),
  weibo: ({output}) => ({qs: {access_token: output.access_token, uid: output.raw.uid}}),
  twitch: ({provider, output}) => ({headers: {'client-id': provider.key, authorization: `Bearer ${output.access_token}`}}),
  twitter: ({output}) => ({qs: {user_id: output.raw.user_id}}),
}

:: 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.0073 ]--