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


Viewing file:     proxy.js (2.67 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/env node

process.title = 'proxy';

/**
 * Module dependencies.
 */

const args = require('args');
const pkg = require('../package');

args.option(
	'port',
	'Port number to the proxy server should bind to',
	3128,
	parseInt
)
	.option(
		'authenticate',
		'"authenticate" command to run when the "Proxy-Authorization" header is sent',
		'',
		String
	)
	.option(
		'local-address',
		'IP address of the network interface to send the outgoing requests through',
		'',
		String
	);

const flags = args.parse(process.argv, { name: pkg.name });
const { port, authenticate } = flags;

const http = require('http');
const setup = require('../');
const debug = require('debug')('proxy');
const spawn = require('child_process').spawn;
const basicAuthParser = require('basic-auth-parser');

/**
 * Setup the HTTP "proxy server" instance.
 */

const proxy = http.createServer();
setup(proxy);

/**
 * Outbound proxy requests will use `agent: false`.
 */

debug("setting outbound proxy request's `agent` to `false`");
proxy.agent = false;

/**
 * Proxy outgoing request localAddress parameter
 */

if (flags.localAddress) {
	proxy.localAddress = flags.localAddress;
}

/**
 * Proxy authenticate function.
 */

if (authenticate) {
	debug('setting `authenticate()` function for: "%s"', authenticate);
	proxy.authenticate = function(req, fn) {
		debug('authenticate(): "%s"', authenticate);

		// parse the "Proxy-Authorization" header
		var auth = req.headers['proxy-authorization'];
		if (!auth) {
			// optimization: don't invoke the child process if no
			// "Proxy-Authorization" header was given
			return fn(null, false);
		}
		var parsed = basicAuthParser(auth);
		debug('parsed "Proxy-Authorization": %j', parsed);

		// spawn a child process with the user-specified "authenticate" command
		var i;
		var env = {};
		for (i in process.env) {
			// inherit parent env variables
			env[i] = process.env[i];
		}
		// add "auth" related ENV variables
		for (i in parsed) {
			env['PROXY_AUTH_' + i.toUpperCase()] = parsed[i];
		}

		var opts = {};
		opts.stdio = ['ignore', 1, 2];
		opts.env = env;

		var args = ['-c', authenticate];
		// TODO: add Windows support (use `cross-spawn`?)
		var child = spawn('/bin/sh', args, opts);

		function onerror(err) {
			child.removeListener('exit', onexit);
			fn(err);
		}

		function onexit(code, signal) {
			debug(
				'authentication child process "exit" event: %s %s',
				code,
				signal
			);
			child.removeListener('error', onerror);
			fn(null, 0 == code);
		}

		child.once('error', onerror);
		child.once('exit', onexit);
	};
}

/**
 * Bind to port.
 */

proxy.listen(port, function() {
	console.log(
		'HTTP(s) proxy server listening on port %d',
		this.address().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.005 ]--