basic commit
This commit is contained in:
		
							parent
							
								
									f13fa2d0f4
								
							
						
					
					
						commit
						e5b9b11823
					
				
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -2,3 +2,8 @@ mc/ | |||||||
| server/test.js | server/test.js | ||||||
| server/servers.db | server/servers.db | ||||||
| ip.txt | ip.txt | ||||||
|  | server/node_modules | ||||||
|  | nimscan/bin | ||||||
|  | .vscode | ||||||
|  | server_backup | ||||||
|  | old_tests | ||||||
							
								
								
									
										54
									
								
								nimscan/IPgen.nim
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								nimscan/IPgen.nim
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,54 @@ | |||||||
|  | import std/[random, strutils, os, net, locks, httpclient, json] | ||||||
|  | 
 | ||||||
|  | proc status(targetIP: string): bool {.gcsafe.}= | ||||||
|  |     var client = newSocket() | ||||||
|  |     try: | ||||||
|  |         client.connect(targetIP, Port(25565), 1500) | ||||||
|  |         client.send($((char)0xFE)) | ||||||
|  |         if (client.recv(256, 1000)[0] == (char)0xFF): | ||||||
|  |             return true | ||||||
|  |     except Exception: | ||||||
|  |         return false | ||||||
|  |     finally: | ||||||
|  |         client.close() | ||||||
|  | 
 | ||||||
|  | proc GenerateIP(): string {.gcsafe.} = | ||||||
|  |     randomize() | ||||||
|  |     var | ||||||
|  |         ip0 = rand(255) | ||||||
|  |         ip1 = rand(255) | ||||||
|  |         ip2 = rand(255) | ||||||
|  |         ip3 = rand(255) | ||||||
|  |     return (join([$ip0, $ip1, $ip2, $ip3], ".")) | ||||||
|  | 
 | ||||||
|  | proc hit(host: string) {.gcsafe.} = | ||||||
|  |     echo "[+] Hit on ", host | ||||||
|  |     var client = newHttpClient() | ||||||
|  |     try: | ||||||
|  |         client.headers = newHttpHeaders({"Content-Type": "application/json"}) | ||||||
|  |         let body = %*{ | ||||||
|  |             "server": host | ||||||
|  |         } | ||||||
|  |         let res = client.request("http://localhost:9000/server", HttpPost, $body) | ||||||
|  |         discard res | ||||||
|  |     except Exception as e: | ||||||
|  |         echo e.msg | ||||||
|  |     discard | ||||||
|  | 
 | ||||||
|  | proc main(): void {.thread.} = | ||||||
|  |     while true: | ||||||
|  |         var ip = GenerateIP() | ||||||
|  |         var ping = status(ip) | ||||||
|  |         if ping: | ||||||
|  |             hit(ip) | ||||||
|  |         discard | ||||||
|  | 
 | ||||||
|  | var cmd = os.execShellCmd("clear") | ||||||
|  | var cLock: Lock | ||||||
|  | initLock(cLock) | ||||||
|  | var thread: Thread[void] | ||||||
|  | 
 | ||||||
|  | for i in 0..300: | ||||||
|  |     createThread[void](thread, main) | ||||||
|  | 
 | ||||||
|  | joinThreads(thread) | ||||||
							
								
								
									
										1
									
								
								nimscan/config.nims
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								nimscan/config.nims
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | --threads:on | ||||||
							
								
								
									
										38
									
								
								server.py
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								server.py
									
									
									
									
									
								
							| @ -1,38 +0,0 @@ | |||||||
| import random,os,threading,requests |  | ||||||
| from mcstatus import JavaServer |  | ||||||
| def threaded(func): |  | ||||||
|     def wrapper(*_args, **kwargs): |  | ||||||
|         t = threading.Thread(target=func, args=_args) |  | ||||||
|         t.start() |  | ||||||
|         return |  | ||||||
|     return wrapper |  | ||||||
| 
 |  | ||||||
| def hit(host): |  | ||||||
|     with open("./ip.txt", "a") as f: |  | ||||||
|         f.write(f"{host}\n") |  | ||||||
|     print(f"[+] Hit on {host}") |  | ||||||
|     requests.post('http://localhost:9000/server', data={"server": host}, headers={"authorization": "13ADAFE6492EC9C4A04E9F9677687C4CA647931CD43E87419349CDDA69AEA9B9DBFE689EAC381DE10BFF9E9891175E6205DECAF0AB05A9698CA77F78FC7EE7A1"}) |  | ||||||
| 
 |  | ||||||
| def generateIP(): |  | ||||||
|     ip = ".".join(map(str, (random.randint(0, 255) for _ in range(4)))) |  | ||||||
|     return ip |  | ||||||
| 
 |  | ||||||
| with open('./ip.txt', 'r') as f: |  | ||||||
|     arab = f.read() |  | ||||||
| 
 |  | ||||||
| @threaded |  | ||||||
| def lookup(): |  | ||||||
|     ip = generateIP() |  | ||||||
|     if ip in arab: |  | ||||||
|         pass |  | ||||||
|     try: |  | ||||||
|         server = JavaServer.lookup(ip + ":25565") |  | ||||||
|         if server.ping(): |  | ||||||
|             hit(ip) |  | ||||||
|     except Exception: |  | ||||||
|         pass |  | ||||||
| 
 |  | ||||||
| if __name__ == '__main__': |  | ||||||
|     os.system("clear") |  | ||||||
|     while True: |  | ||||||
|         lookup() |  | ||||||
							
								
								
									
										5
									
								
								server/config.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								server/config.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | { | ||||||
|  |     "main": "https://discord.com/api/webhooks/999381041041129573/5vmF56GsDdg8D3HJWnu-pRsBmxqPqnzHBTQAu1yLcZQ93xhR36V2UUUVNhRrAHZQyKzA", | ||||||
|  |     "neit": "https://discord.com/api/webhooks/1000916905600761887/yeC4nbJYeS38JlNdI42dh8cfcmeX0SZeFSvqmeCIdCZJtJewkq6DjIMXAjwmBhF65XtA", | ||||||
|  |     "fronce": "https://discord.com/api/webhooks/1000903130222952518/cRK-SXahsWl8OT_N4HLnt7I0JebGnQh0gN3p3iOvCW_QIVC7hq2oWlmt6txC7NSXtv55" | ||||||
|  | } | ||||||
| @ -4,10 +4,18 @@ const express = require('express'), | |||||||
|     app = express(), |     app = express(), | ||||||
|     mc = require('minecraft-server-util'), |     mc = require('minecraft-server-util'), | ||||||
|     discord = require('discord-webhook-node'), |     discord = require('discord-webhook-node'), | ||||||
|     geoip = require('geoip-lite') |     geoip = require('geoip-lite'), | ||||||
| var webhook = new discord.Webhook("https://discord.com/api/webhooks/999381041041129573/5vmF56GsDdg8D3HJWnu-pRsBmxqPqnzHBTQAu1yLcZQ93xhR36V2UUUVNhRrAHZQyKzA") |     fs = require('fs'), | ||||||
|  |     config = require('./config.json') | ||||||
|  | var webhook = new discord.Webhook(config.main) | ||||||
|     .setUsername("TaxenHeimer") |     .setUsername("TaxenHeimer") | ||||||
|     .setAvatar("https://cdn.discordapp.com/attachments/999167321631363126/999495738943868928/nn.png") |     .setAvatar("https://cdn.discordapp.com/attachments/999167321631363126/999495738943868928/nn.png") | ||||||
|  | var webhookfronce = new discord.Webhook(config.fronce) | ||||||
|  |     .setAvatar("https://cdn.discordapp.com/attachments/999167321631363126/999495738943868928/nn.png") | ||||||
|  |     .setUsername("TaxenHeimer") | ||||||
|  | var neithook = new discord.Webhook(config.neit) | ||||||
|  |     .setAvatar("https://cdn.discordapp.com/attachments/999167321631363126/999495738943868928/nn.png") | ||||||
|  |     .setUsername("TaxenHeimer") | ||||||
| app.use(bodyParser.json()) | app.use(bodyParser.json()) | ||||||
| app.use(bodyParser.urlencoded({extended: true})) | app.use(bodyParser.urlencoded({extended: true})) | ||||||
| db = new sqlite3.Database('./servers.db') | db = new sqlite3.Database('./servers.db') | ||||||
| @ -25,9 +33,11 @@ function countrify(code) { | |||||||
|     return config[code] |     return config[code] | ||||||
| } | } | ||||||
| app.post('/server', async(req, res) => { | app.post('/server', async(req, res) => { | ||||||
|     if (req.headers.authorization != "13ADAFE6492EC9C4A04E9F9677687C4CA647931CD43E87419349CDDA69AEA9B9DBFE689EAC381DE10BFF9E9891175E6205DECAF0AB05A9698CA77F78FC7EE7A1") return res.status(404) |  | ||||||
|     var server = req.body.server |     var server = req.body.server | ||||||
|     if (!server) return; |     if (!server) return res.send("specify a server") | ||||||
|  |     var ipfile = fs.readFileSync(`${__dirname}/ip.txt`, 'utf8') | ||||||
|  |     if (ipfile.includes(server)) return; | ||||||
|  |     res.send("allah") | ||||||
|     mc.status(server, 25565, {enableSRV: true}).then(res => { |     mc.status(server, 25565, {enableSRV: true}).then(res => { | ||||||
|         var playerlist = "" |         var playerlist = "" | ||||||
|         if (res.players.sample != null) { |         if (res.players.sample != null) { | ||||||
| @ -49,6 +59,37 @@ app.post('/server', async(req, res) => { | |||||||
|             '${cleanmotd}', |             '${cleanmotd}', | ||||||
|             '${(new Date()).toLocaleDateString('en-US')}' |             '${(new Date()).toLocaleDateString('en-US')}' | ||||||
|         )`)
 |         )`)
 | ||||||
|  |         if (ip.country === "FR") { | ||||||
|  |             const embed = new discord.MessageBuilder() | ||||||
|  |                 .setTitle("TaxenHeimer") | ||||||
|  |                 .setColor("#00ff00") | ||||||
|  |                 .addField("**Host**", `\`${server}:25565\``, true) | ||||||
|  |                 .addField("**Country**", `\`${countrify(ip.country)}\``) | ||||||
|  |                 .addField("**Version**", `\`${res.version.name} (${res.version.protocol})\``, true) | ||||||
|  |                 .addField("**Players**", `\`${res.players.online}/${res.players.max}\``, true) | ||||||
|  |                 .addField("**Ping**", `\`${res.roundTripLatency}ms\``, true) | ||||||
|  |                 .addField("**Motd**", "```\n"+res.motd.clean+"\n```") | ||||||
|  |                 .addField("**Playerlist Sample**", "```\n"+playerlist+"\n```") | ||||||
|  |                 .addField("**IP Range**", "```\n" + geoip.pretty(ip.range[0]) + " - " + geoip.pretty(ip.range[1]) + "```") | ||||||
|  |             .setTimestamp() | ||||||
|  |             webhookfronce.send(embed) | ||||||
|  |         } | ||||||
|  |         if (res.version.name.includes("1.17")) { | ||||||
|  |             const embed = new discord.MessageBuilder() | ||||||
|  |                 .setText("<@390491795655622657>") | ||||||
|  |                 .setTitle("TaxenHeimer") | ||||||
|  |                 .setColor("#00ff00") | ||||||
|  |                 .addField("**Host**", `\`${server}:25565\``, true) | ||||||
|  |                 .addField("**Country**", `\`${countrify(ip.country)}\``) | ||||||
|  |                 .addField("**Version**", `\`${res.version.name} (${res.version.protocol})\``, true) | ||||||
|  |                 .addField("**Players**", `\`${res.players.online}/${res.players.max}\``, true) | ||||||
|  |                 .addField("**Ping**", `\`${res.roundTripLatency}ms\``, true) | ||||||
|  |                 .addField("**Motd**", "```\n"+res.motd.clean+"\n```") | ||||||
|  |                 .addField("**Playerlist Sample**", "```\n"+playerlist+"\n```") | ||||||
|  |                 .addField("**IP Range**", "```\n" + geoip.pretty(ip.range[0]) + " - " + geoip.pretty(ip.range[1]) + "```") | ||||||
|  |                 .setTimestamp() | ||||||
|  |             neithook.send(embed) | ||||||
|  |         } | ||||||
|         const embed = new discord.MessageBuilder() |         const embed = new discord.MessageBuilder() | ||||||
|             .setTitle("TaxenHeimer") |             .setTitle("TaxenHeimer") | ||||||
|             .setColor("#00ff00") |             .setColor("#00ff00") | ||||||
| @ -62,7 +103,8 @@ app.post('/server', async(req, res) => { | |||||||
|             .addField("**IP Range**", "```\n" + geoip.pretty(ip.range[0]) + " - " + geoip.pretty(ip.range[1]) + "```") |             .addField("**IP Range**", "```\n" + geoip.pretty(ip.range[0]) + " - " + geoip.pretty(ip.range[1]) + "```") | ||||||
|             .setTimestamp() |             .setTimestamp() | ||||||
|         webhook.send(embed) |         webhook.send(embed) | ||||||
|     }) |         fs.appendFileSync(`${server}\n`) | ||||||
|  |     }).catch(e => {}) | ||||||
| }) | }) | ||||||
| app.listen(9000, () => { | app.listen(9000, () => { | ||||||
|     console.clear() |     console.clear() | ||||||
|  | |||||||
							
								
								
									
										3456
									
								
								server/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										3456
									
								
								server/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										21
									
								
								server/package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								server/package.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | |||||||
|  | { | ||||||
|  |   "name": "taxenheimer", | ||||||
|  |   "version": "1.0.0", | ||||||
|  |   "description": "", | ||||||
|  |   "main": "index.js", | ||||||
|  |   "scripts": { | ||||||
|  |     "test": "nodemon index", | ||||||
|  |     "compile": "bytenode --compile index.js", | ||||||
|  |     "runc": "bytenode index.js" | ||||||
|  |   }, | ||||||
|  |   "author": "TaxMachine", | ||||||
|  |   "license": "ISC", | ||||||
|  |   "dependencies": { | ||||||
|  |     "body-parser": "^1.20.0", | ||||||
|  |     "bytenode": "^1.3.6", | ||||||
|  |     "discord-webhook-node": "^1.1.8", | ||||||
|  |     "express": "^4.18.1", | ||||||
|  |     "geoip-lite": "^1.4.5", | ||||||
|  |     "sqlite3": "^5.0.10" | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -1,3 +0,0 @@ | |||||||
| var mc = require('minecraft-server-util') |  | ||||||
| 
 |  | ||||||
| mc.queryFull('185.236.139.101', 25565).then(res => console.log(res)) |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user