403Webshell
Server IP : 34.87.99.72  /  Your IP : 216.73.217.31
Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n
System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64
User : bitnami ( 1000)
PHP Version : 7.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /opt/bitnami/nami/node_modules/zombie/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/bitnami/nami/node_modules/zombie/lib/reroute.js
// Domain routing and port forwarding
//
// Used for mapping hosts and domains to localhost, so you can open TCP
// connections with friendly hostnames to test against the local server.
//
// Can also map any source port to any destination port, so you can use port 80
// to access localhost server running on unprivileged port.

'use strict';

var _Map = require('babel-runtime/core-js/map')['default'];

var _Object$getOwnPropertySymbols = require('babel-runtime/core-js/object/get-own-property-symbols')['default'];

var _Object$assign = require('babel-runtime/core-js/object/assign')['default'];

var assert = require('assert');
var Net = require('net');

// Routing table.
//
// key   - Source host name or wildcard (e.g. "example.com", "*.example.com")
// value - Object that maps source port to target port
var routing = new _Map();

// Flip this from enableRerouting() so we only inject our code into
// Socket.connect once.
var enabled = false;

// If there's a route for host/port, returns destination port number.
//
// Called recursively to handle wildcards.  Starting with the host
// www.example.com, it will attempt to match routes from most to least specific:
//
//   www.example.com
// *.www.example.com
//     *.example.com
//             *.com
function findTargetPort(_x, _x2) {
  var _again = true;

  _function: while (_again) {
    var hostname = _x,
        port = _x2;
    _again = false;

    if (!hostname) return null;

    var route = routing.get(hostname);
    if (route) return route[port];

    // This will first expand www.hostname.com to *.www.hostname.com,
    // then contract it to *.hostname.com, *.com and finally *.
    var wildcard = hostname.replace(/^(\*\.[^.]+(\.|$))?/, '*.');
    if (wildcard !== '*.') {
      _x = wildcard;
      _x2 = port;
      _again = true;
      route = wildcard = undefined;
      continue _function;
    }
  }
}

// Called once to hack Socket.connect
function enableRerouting() {
  if (enabled) return;
  enabled = true;

  var connect = Net.Socket.prototype.connect;
  Net.Socket.prototype.connect = function (options, callback) {
    var hasNormalizedArgs = _Object$getOwnPropertySymbols && _Object$getOwnPropertySymbols(options).length > 0;
    var isNode8 = Array.isArray(options) && hasNormalizedArgs;
    if (isNode8) {
      var reroutedOptions = rerouteOptions(options[0]);
      callback = options[1];
      return connect.call(this, reroutedOptions, callback);
    } else if (typeof options === 'object') {
      var reroutedOptions = rerouteOptions(options);
      return connect.call(this, reroutedOptions, callback);
    } else return connect.apply(this, arguments);
  };
}

function rerouteOptions(options) {
  var port = findTargetPort(options.host, options.port);
  if (port) return _Object$assign({}, options, { host: 'localhost', port: port });else return options;
}

// source - Hostname or host:port (default to port 80)
// target - Target port number
module.exports = function addRoute(source, target) {
  assert(source, 'Expected source address of the form "host:port" or just "host"');
  var sourceHost = source.split(':')[0];
  var sourcePort = source.split(':')[1] || 80;
  var route = routing.get(sourceHost) || {};
  routing.set(sourceHost, route);
  if (!route[sourcePort]) route[sourcePort] = target;
  assert(route[sourcePort] === target, 'Already have routing from ' + source + ' to ' + route[sourcePort]);

  // Enable Socket.connect routing
  enableRerouting();
};
//# sourceMappingURL=reroute.js.map

Youez - 2016 - github.com/yon3zu
LinuXploit