Linux web-conference.aiou.edu.pk 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64
Apache/2.4.41 (Ubuntu)
: 172.16.50.247 | : 3.147.83.92
Cant Read [ /etc/named.conf ]
7.4.3-4ubuntu2.28
appadmin
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
share /
npm /
node_modules /
agent-base /
test /
[ HOME SHELL ]
Name
Size
Permission
Action
ssl-cert-snakeoil.key
887
B
-rw-r--r--
ssl-cert-snakeoil.pem
696
B
-rw-r--r--
test.js
19.22
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : test.js
/** * Module dependencies. */ var fs = require('fs'); var url = require('url'); var net = require('net'); var tls = require('tls'); var http = require('http'); var https = require('https'); var WebSocket = require('ws'); var assert = require('assert'); var events = require('events'); var inherits = require('util').inherits; var Agent = require('../'); var PassthroughAgent = Agent(function(req, opts) { return opts.secureEndpoint ? https.globalAgent : http.globalAgent; }); describe('Agent', function() { describe('subclass', function() { it('should be subclassable', function(done) { function MyAgent() { Agent.call(this); } inherits(MyAgent, Agent); MyAgent.prototype.callback = function(req, opts, fn) { assert.equal(req.path, '/foo'); assert.equal(req.getHeader('host'), '127.0.0.1:1234'); assert.equal(opts.secureEndpoint, true); done(); }; var info = url.parse('https://127.0.0.1:1234/foo'); info.agent = new MyAgent(); https.get(info); }); }); describe('options', function() { it('should support an options Object as first argument', function() { var agent = new Agent({ timeout: 1000 }); assert.equal(1000, agent.timeout); }); it('should support an options Object as second argument', function() { var agent = new Agent(function() {}, { timeout: 1000 }); assert.equal(1000, agent.timeout); }); it('should be mixed in with HTTP request options', function(done) { var agent = new Agent({ host: 'my-proxy.com', port: 3128, foo: 'bar' }); agent.callback = function(req, opts, fn) { assert.equal('bar', opts.foo); assert.equal('a', opts.b); // `host` and `port` are special-cases, and should always be // overwritten in the request `opts` inside the agent-base callback assert.equal('localhost', opts.host); assert.equal(80, opts.port); done(); }; var opts = { b: 'a', agent: agent }; http.get(opts); }); }); describe('`this` context', function() { it('should be the Agent instance', function(done) { var called = false; var agent = new Agent(); agent.callback = function() { called = true; assert.equal(this, agent); }; var info = url.parse('http://127.0.0.1/foo'); info.agent = agent; var req = http.get(info); req.on('error', function(err) { assert(/no Duplex stream was returned/.test(err.message)); done(); }); }); it('should be the Agent instance with callback signature', function(done) { var called = false; var agent = new Agent(); agent.callback = function(req, opts, fn) { called = true; assert.equal(this, agent); fn(); }; var info = url.parse('http://127.0.0.1/foo'); info.agent = agent; var req = http.get(info); req.on('error', function(err) { assert(/no Duplex stream was returned/.test(err.message)); done(); }); }); }); describe('"error" event', function() { it('should be invoked on `http.ClientRequest` instance if `callback()` has not been defined', function( done ) { var agent = new Agent(); var info = url.parse('http://127.0.0.1/foo'); info.agent = agent; var req = http.get(info); req.on('error', function(err) { assert.equal( '"agent-base" has no default implementation, you must subclass and override `callback()`', err.message ); done(); }); }); it('should be invoked on `http.ClientRequest` instance if Error passed to callback function on the first tick', function( done ) { var agent = new Agent(function(req, opts, fn) { fn(new Error('is this caught?')); }); var info = url.parse('http://127.0.0.1/foo'); info.agent = agent; var req = http.get(info); req.on('error', function(err) { assert.equal('is this caught?', err.message); done(); }); }); it('should be invoked on `http.ClientRequest` instance if Error passed to callback function after the first tick', function( done ) { var agent = new Agent(function(req, opts, fn) { setTimeout(function() { fn(new Error('is this caught?')); }, 10); }); var info = url.parse('http://127.0.0.1/foo'); info.agent = agent; var req = http.get(info); req.on('error', function(err) { assert.equal('is this caught?', err.message); done(); }); }); }); describe('artificial "streams"', function() { it('should send a GET request', function(done) { var stream = new events.EventEmitter(); // needed for the `http` module to call .write() on the stream stream.writable = true; stream.write = function(str) { assert(0 == str.indexOf('GET / HTTP/1.1')); done(); }; // needed for `http` module in Node.js 4 stream.cork = function() {}; var opts = { method: 'GET', host: '127.0.0.1', path: '/', port: 80, agent: new Agent(function(req, opts, fn) { fn(null, stream); }) }; var req = http.request(opts); req.end(); }); it('should receive a GET response', function(done) { var stream = new events.EventEmitter(); var opts = { method: 'GET', host: '127.0.0.1', path: '/', port: 80, agent: new Agent(function(req, opts, fn) { fn(null, stream); }) }; var req = http.request(opts, function(res) { assert.equal('1.0', res.httpVersion); assert.equal(200, res.statusCode); assert.equal('bar', res.headers.foo); assert.deepEqual(['1', '2'], res.headers['set-cookie']); done(); }); // have to wait for the "socket" event since `http.ClientRequest` // doesn't *actually* attach the listeners to the "stream" until // this happens req.once('socket', function() { var buf = Buffer.from( 'HTTP/1.0 200\r\n' + 'Foo: bar\r\n' + 'Set-Cookie: 1\r\n' + 'Set-Cookie: 2\r\n\r\n' ); stream.emit('data', buf); }); req.end(); }); }); }); describe('"http" module', function() { var server; var port; // setup test HTTP server before(function(done) { server = http.createServer(); server.listen(0, function() { port = server.address().port; done(); }); }); // shut down test HTTP server after(function(done) { server.once('close', function() { done(); }); server.close(); }); it('should work for basic HTTP requests', function(done) { var called = false; var agent = new Agent(function(req, opts, fn) { called = true; var socket = net.connect(opts); fn(null, socket); }); // add HTTP server "request" listener var gotReq = false; server.once('request', function(req, res) { gotReq = true; res.setHeader('X-Foo', 'bar'); res.setHeader('X-Url', req.url); res.end(); }); var info = url.parse('http://127.0.0.1:' + port + '/foo'); info.agent = agent; http.get(info, function(res) { assert.equal('bar', res.headers['x-foo']); assert.equal('/foo', res.headers['x-url']); assert(gotReq); assert(called); done(); }); }); it('should support direct return in `connect()`', function(done) { var called = false; var agent = new Agent(function(req, opts) { called = true; return net.connect(opts); }); // add HTTP server "request" listener var gotReq = false; server.once('request', function(req, res) { gotReq = true; res.setHeader('X-Foo', 'bar'); res.setHeader('X-Url', req.url); res.end(); }); var info = url.parse('http://127.0.0.1:' + port + '/foo'); info.agent = agent; http.get(info, function(res) { assert.equal('bar', res.headers['x-foo']); assert.equal('/foo', res.headers['x-url']); assert(gotReq); assert(called); done(); }); }); it('should support returning a Promise in `connect()`', function(done) { var called = false; var agent = new Agent(function(req, opts) { return new Promise(function(resolve, reject) { called = true; resolve(net.connect(opts)); }); }); // add HTTP server "request" listener var gotReq = false; server.once('request', function(req, res) { gotReq = true; res.setHeader('X-Foo', 'bar'); res.setHeader('X-Url', req.url); res.end(); }); var info = url.parse('http://127.0.0.1:' + port + '/foo'); info.agent = agent; http.get(info, function(res) { assert.equal('bar', res.headers['x-foo']); assert.equal('/foo', res.headers['x-url']); assert(gotReq); assert(called); done(); }); }); it('should set the `Connection: close` response header', function(done) { var called = false; var agent = new Agent(function(req, opts, fn) { called = true; var socket = net.connect(opts); fn(null, socket); }); // add HTTP server "request" listener var gotReq = false; server.once('request', function(req, res) { gotReq = true; res.setHeader('X-Url', req.url); assert.equal('close', req.headers.connection); res.end(); }); var info = url.parse('http://127.0.0.1:' + port + '/bar'); info.agent = agent; http.get(info, function(res) { assert.equal('/bar', res.headers['x-url']); assert.equal('close', res.headers.connection); assert(gotReq); assert(called); done(); }); }); it('should pass through options from `http.request()`', function(done) { var agent = new Agent(function(req, opts, fn) { assert.equal('google.com', opts.host); assert.equal('bar', opts.foo); done(); }); http.get({ host: 'google.com', foo: 'bar', agent: agent }); }); it('should default to port 80', function(done) { var agent = new Agent(function(req, opts, fn) { assert.equal(80, opts.port); done(); }); // (probably) not hitting a real HTTP server here, // so no need to add a httpServer request listener http.get({ host: '127.0.0.1', path: '/foo', agent: agent }); }); it('should support the "timeout" option', function(done) { // ensure we timeout after the "error" event had a chance to trigger this.timeout(1000); this.slow(800); var agent = new Agent( function(req, opts, fn) { // this function will time out }, { timeout: 100 } ); var opts = url.parse('http://nodejs.org'); opts.agent = agent; var req = http.get(opts); req.once('error', function(err) { assert.equal('ETIMEOUT', err.code); req.abort(); done(); }); }); it('should free sockets after use', function(done) { var agent = new Agent(function(req, opts, fn) { var socket = net.connect(opts); fn(null, socket); }); // add HTTP server "request" listener var gotReq = false; server.once('request', function(req, res) { gotReq = true; res.end(); }); var info = url.parse('http://127.0.0.1:' + port + '/foo'); info.agent = agent; http.get(info, function(res) { res.socket.emit('free'); assert.equal(true, res.socket.destroyed); assert(gotReq); done(); }); }); describe('PassthroughAgent', function() { it('should pass through to `http.globalAgent`', function(done) { // add HTTP server "request" listener var gotReq = false; server.once('request', function(req, res) { gotReq = true; res.setHeader('X-Foo', 'bar'); res.setHeader('X-Url', req.url); res.end(); }); var info = url.parse('http://127.0.0.1:' + port + '/foo'); info.agent = PassthroughAgent; http.get(info, function(res) { assert.equal('bar', res.headers['x-foo']); assert.equal('/foo', res.headers['x-url']); assert(gotReq); done(); }); }); }); }); describe('"https" module', function() { var server; var port; // setup test HTTPS server before(function(done) { var options = { key: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.key'), cert: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.pem') }; server = https.createServer(options); server.listen(0, function() { port = server.address().port; done(); }); }); // shut down test HTTP server after(function(done) { server.once('close', function() { done(); }); server.close(); }); it('should not modify the passed in Options object', function(done) { var called = false; var agent = new Agent(function(req, opts, fn) { called = true; assert.equal(true, opts.secureEndpoint); assert.equal(443, opts.port); assert.equal('localhost', opts.host); }); var opts = { agent: agent }; var req = https.request(opts); assert.equal(true, called); assert.equal(false, 'secureEndpoint' in opts); assert.equal(false, 'port' in opts); done(); }); it('should work with a String URL', function(done) { var endpoint = 'https://127.0.0.1:' + port; var req = https.get(endpoint); // it's gonna error out since `rejectUnauthorized` is not being passed in req.on('error', function(err) { assert.equal(err.code, 'DEPTH_ZERO_SELF_SIGNED_CERT'); done(); }); }); it('should work for basic HTTPS requests', function(done) { var called = false; var agent = new Agent(function(req, opts, fn) { called = true; assert(opts.secureEndpoint); var socket = tls.connect(opts); fn(null, socket); }); // add HTTPS server "request" listener var gotReq = false; server.once('request', function(req, res) { gotReq = true; res.setHeader('X-Foo', 'bar'); res.setHeader('X-Url', req.url); res.end(); }); var info = url.parse('https://127.0.0.1:' + port + '/foo'); info.agent = agent; info.rejectUnauthorized = false; https.get(info, function(res) { assert.equal('bar', res.headers['x-foo']); assert.equal('/foo', res.headers['x-url']); assert(gotReq); assert(called); done(); }); }); it('should pass through options from `https.request()`', function(done) { var agent = new Agent(function(req, opts, fn) { assert.equal('google.com', opts.host); assert.equal('bar', opts.foo); done(); }); https.get({ host: 'google.com', foo: 'bar', agent: agent }); }); it('should support the 3-argument `https.get()`', function(done) { var agent = new Agent(function(req, opts, fn) { assert.equal('google.com', opts.host); assert.equal('/q', opts.pathname || opts.path); assert.equal('881', opts.port); assert.equal('bar', opts.foo); done(); }); https.get( 'https://google.com:881/q', { host: 'google.com', foo: 'bar', agent: agent } ); }); it('should default to port 443', function(done) { var agent = new Agent(function(req, opts, fn) { assert.equal(true, opts.secureEndpoint); assert.equal(false, opts.rejectUnauthorized); assert.equal(443, opts.port); done(); }); // (probably) not hitting a real HTTPS server here, // so no need to add a httpsServer request listener https.get({ host: '127.0.0.1', path: '/foo', agent: agent, rejectUnauthorized: false }); }); it('should not re-patch https.request', () => { var patchModulePath = "../patch-core"; var patchedRequest = https.request; delete require.cache[require.resolve(patchModulePath)]; require(patchModulePath); assert.equal(patchedRequest, https.request); assert.equal(true, https.request.__agent_base_https_request_patched__); }); describe('PassthroughAgent', function() { it('should pass through to `https.globalAgent`', function(done) { // add HTTP server "request" listener var gotReq = false; server.once('request', function(req, res) { gotReq = true; res.setHeader('X-Foo', 'bar'); res.setHeader('X-Url', req.url); res.end(); }); var info = url.parse('https://127.0.0.1:' + port + '/foo'); info.agent = PassthroughAgent; info.rejectUnauthorized = false; https.get(info, function(res) { assert.equal('bar', res.headers['x-foo']); assert.equal('/foo', res.headers['x-url']); assert(gotReq); done(); }); }); }); }); describe('"ws" server', function() { var wss; var server; var port; // setup test HTTP server before(function(done) { server = http.createServer(); wss = new WebSocket.Server({ server: server }); server.listen(0, function() { port = server.address().port; done(); }); }); // shut down test HTTP server after(function(done) { server.once('close', function() { done(); }); server.close(); }); it('should work for basic WebSocket connections', function(done) { function onconnection(ws) { ws.on('message', function(data) { assert.equal('ping', data); ws.send('pong'); }); } wss.on('connection', onconnection); var agent = new Agent(function(req, opts, fn) { var socket = net.connect(opts); fn(null, socket); }); var client = new WebSocket('ws://127.0.0.1:' + port + '/', { agent: agent }); client.on('open', function() { client.send('ping'); }); client.on('message', function(data) { assert.equal('pong', data); client.close(); wss.removeListener('connection', onconnection); done(); }); }); }); describe('"wss" server', function() { var wss; var server; var port; // setup test HTTP server before(function(done) { var options = { key: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.key'), cert: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.pem') }; server = https.createServer(options); wss = new WebSocket.Server({ server: server }); server.listen(0, function() { port = server.address().port; done(); }); }); // shut down test HTTP server after(function(done) { server.once('close', function() { done(); }); server.close(); }); it('should work for secure WebSocket connections', function(done) { function onconnection(ws) { ws.on('message', function(data) { assert.equal('ping', data); ws.send('pong'); }); } wss.on('connection', onconnection); var agent = new Agent(function(req, opts, fn) { var socket = tls.connect(opts); fn(null, socket); }); var client = new WebSocket('wss://127.0.0.1:' + port + '/', { agent: agent, rejectUnauthorized: false }); client.on('open', function() { client.send('ping'); }); client.on('message', function(data) { assert.equal('pong', data); client.close(); wss.removeListener('connection', onconnection); done(); }); }); });
Close