Skip to content
This repository has been archived by the owner on Jan 30, 2025. It is now read-only.

Commit

Permalink
v3.12
Browse files Browse the repository at this point in the history
fixed threads and proxies.
free proxies still DO NOT work. use paid or proxyless
  • Loading branch information
LIL-JABA committed Jan 27, 2023
1 parent 1e5e19c commit a0795f6
Show file tree
Hide file tree
Showing 10 changed files with 358 additions and 988 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
*.pyc
*.pyo
*.pyo
output/riot_limits.txt
650 changes: 0 additions & 650 deletions log.txt

Large diffs are not rendered by default.

157 changes: 78 additions & 79 deletions src/checker.py

Large diffs are not rendered by default.

222 changes: 107 additions & 115 deletions src/codeparts/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,143 +2,128 @@
import traceback
from collections import OrderedDict
from re import compile
from ssl import PROTOCOL_TLSv1_2
import ssl
from typing import Any
from tkinter import *
import asyncio
import sys

import pandas
import requests
from requests.adapters import HTTPAdapter
from urllib3 import PoolManager

from codeparts import systems
from codeparts.riot_auth import *
from codeparts.data import Constants
from codeparts.systems import Account

syst = systems.system()


class TLSAdapter(HTTPAdapter):
def init_poolmanager(self, connections, maxsize, block=False):
self.poolmanager = PoolManager(
num_pools=connections,
maxsize=maxsize,
block=block,
ssl_version=PROTOCOL_TLSv1_2,
)
class SSLAdapter(HTTPAdapter):
def init_poolmanager(self, *a: Any, **k: Any) -> None:
c = ssl.create_default_context(ssl.Purpose.SERVER_AUTH)
c.set_ciphers(':'.join(Constants.CIPHERS))
k['ssl_context'] = c
return super(SSLAdapter, self).init_poolmanager(*a, **k)


class auth():
def __init__(self, useragent) -> None:
def __init__(self) -> None:
path = os.getcwd()
self.useragent = useragent
self.useragent = Constants.RIOTCLIENT
self.parentpath = os.path.abspath(os.path.join(path, os.pardir))

def auth(self, logpass: str = None, username=None, password=None, proxy=None):
def auth(self, logpass: str = None, username=None, password=None, proxy=None) -> Account:
account = Account()
try:
account.logpass = logpass
headers = OrderedDict({
"Accept-Language": "en-US,en;q=0.9",
"Accept": "application/json, text/plain, */*",
'User-Agent': 'RiotClient/62.0.1.4852117.4789131 %s (Windows;10;;Professional, x64)'
'User-Agent': f'RiotClient/{self.useragent} %s (Windows;10;;Professional, x64)'
})
session = requests.Session()
session.trust_env = False
session.headers = headers
#session.mount('http://', TLSAdapter())
session.mount('https://', TLSAdapter())
# proxy=None
# session.proxies = proxy
session.mount('https://', SSLAdapter())
session.proxies = proxy
if username is None:
username = logpass.split(':')[0].strip()
password = logpass.split(':')[1].strip()

# data = {
# "client_id": "play-valorant-web-prod",
# "nonce": "1",
# "redirect_uri": "https://playvalorant.com/opt_in",
# "response_type": "token id_token",
# 'scope': 'account openid link ban lol_region',
# }
# headers = {
# 'Content-Type': 'application/json',
# 'User-Agent': 'RiotClient/62.0.1.4852117.4789131 %s (Windows;10;;Professional, x64)'
# }
# try:
# r = session.post(f'https://auth.riotgames.com/api/v1/authorization',
# json=data, headers=headers, proxies=proxy, timeout=20)
# #input(r.text)
# data = {
# 'type': 'auth',
# 'username': username,
# 'password': password
# }
# r2 = session.put('https://auth.riotgames.com/api/v1/authorization',
# json=data, headers=headers, proxies=proxy, timeout=20)
# input(r2.text) #!!!!!!!!!!!!!!!!!!!!!!!!! DELETE THIS SHIT
# except Exception as e:
# input(e)
# return 6, 6, 6, True, None
# # print(r2.text)
# try:
# data = r2.json()
# except:
# return 6, 6, 6, 6, None
# if "access_token" in r2.text:
# pattern = compile(
# 'access_token=((?:[a-zA-Z]|\d|\.|-|_)*).*id_token=((?:[a-zA-Z]|\d|\.|-|_)*).*expires_in=(\d*)')
# data = pattern.findall(
# data['response']['parameters']['uri'])[0]
# token = data[0]
# token_id = data[1]

# elif 'invalid_session_id' in r2.text:
# return 6, 6, 6, 6, None
# elif "auth_failure" in r2.text:
# return 3, 3, 3, 3, None
# elif 'rate_limited' in r2.text:
# return 1, 1, 1, 1, None
# elif 'multifactor' in r2.text:
# return 3, 3, 3, 3, None
# elif 'cloudflare' in r2.text:
# return 5, 5, 5, 5, None
if sys.platform == "win32":
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())


auth = RiotAuth()
auth.RIOT_CLIENT_USER_AGENT = 'RiotClient/{} %s (Windows;10;;Professional, x64)'.format(self.useragent)
data = {
"client_id": "play-valorant-web-prod",
"nonce": "1",
"redirect_uri": "https://playvalorant.com/opt_in",
"response_type": "token id_token",
'scope': 'account openid link ban lol_region',
}
headers = {
'Content-Type': 'application/json',
'User-Agent': f'RiotClient/{self.useragent} %s (Windows;10;;Professional, x64)'
}
try:
asyncio.run(auth.authorize(username,password,proxy=proxy))
except RiotMultifactorError:
return 3, 3, 3, 3, None
except RiotRatelimitError:
return 1, 1, 1, 1, None
except RiotAuthError:
return 3, 3, 3, 3, None
token = auth.access_token
entitlement = auth.entitlements_token
data = auth.data2

asyncio.run(auth.reauthorize())


# headers = {
# 'User-Agent': 'RiotClient/62.0.1.4852117.4789131 %s (Windows;10;;Professional, x64)',
# 'Authorization': f'Bearer {token}',
# }
# try:
# with session.post('https://entitlements.auth.riotgames.com/api/token/v1', headers=headers, json={}, proxies=proxy) as r:
# entitlement = r.json()['entitlements_token']
# r = session.post('https://auth.riotgames.com/userinfo',
# headers=headers, json={}, proxies=proxy)
# except:
# return 6, 6, 6, True, None
# # print(r.text)
# # input()
# input(r.text)
# data = r.json()
# # print(data)
# # input()
r = session.post(Constants.AUTH_URL,
json=data, headers=headers, proxies=proxy, timeout=20)
#input(r.text)
data = {
'type': 'auth',
'username': username,
'password': password
}
r2 = session.put(Constants.AUTH_URL,
json=data, headers=headers, proxies=proxy, timeout=20)
#input(r2.text) #!!!!!!!!!!!!!!!!!!!!!!!!! DELETE THIS SHIT
except Exception as e:
#input(e)
account.code = 6
return account
# print(r2.text)
try:
data = r2.json()
except:
account.code = 6
return account
if "access_token" in r2.text:
pattern = compile(
'access_token=((?:[a-zA-Z]|\d|\.|-|_)*).*id_token=((?:[a-zA-Z]|\d|\.|-|_)*).*expires_in=(\d*)')
data = pattern.findall(
data['response']['parameters']['uri'])[0]
token = data[0]
token_id = data[1]

elif 'invalid_session_id' in r2.text:
account.code = 6
return account
elif "auth_failure" in r2.text:
account.code = 3
return account
elif 'rate_limited' in r2.text:
account.code = 1
return account
elif 'multifactor' in r2.text:
account.code = 3
return account
elif 'cloudflare' in r2.text:
account.code = 5
return account


headers = {
'User-Agent': f'RiotClient/{self.useragent} %s (Windows;10;;Professional, x64)',
'Authorization': f'Bearer {token}',
}
try:
with session.post(Constants.ENTITLEMENT_URL, headers=headers, json={}, proxies=proxy) as r:
entitlement = r.json()['entitlements_token']
r = session.post(Constants.USERINFO_URL,
headers=headers, json={}, proxies=proxy)
except:
account.code = 6
return account
# print(r.text)
# input()
#input(r.text)
data = r.json()
# print(data)
# input()
puuid = data['sub']
try:
data2 = data['ban']
Expand All @@ -149,10 +134,12 @@ def auth(self, logpass: str = None, username=None, password=None, proxy=None):
# input(typebanned)
if typebanned == "PERMANENT_BAN" or typebanned == 'PERMA_BAN':
# input(True)
return 4, 4, 4, 4, None
account.code = 4
return account
elif 'PERMANENT_BAN' in str(data3) or 'PERMA_BAN' in str(data3):
# input(True)
return 4, 4, 4, 4, None
account.code = 4
return account
elif typebanned == 'TIME_BAN' or typebanned == 'LEGACY_BAN':
expire = data3[0]['dat']['expirationMillis']
expirepatched = pandas.to_datetime(int(expire), unit='ms')
Expand All @@ -170,7 +157,7 @@ def auth(self, logpass: str = None, username=None, password=None, proxy=None):
# headers={
# 'Authorization': f'Bearer {token}',
# 'Content-Type': 'application/json',
# 'User-Agent': 'RiotClient/62.0.1.4852117.4789131 %s (Windows;10;;Professional, x64)',
# 'User-Agent': f'RiotClient/{self.useragent} %s (Windows;10;;Professional, x64)',
# }

# r=session.get('https://email-verification.riotgames.com/api/v1/account/status',headers=headers,json={},proxies=sys.getproxy(self.proxlist)).text
Expand All @@ -183,8 +170,13 @@ def auth(self, logpass: str = None, username=None, password=None, proxy=None):
# input(e)
mailverif = True
mailverif = not mailverif #true to false || false to true
return token, entitlement, puuid, mailverif, banuntil
account.token = token
account.entt = entitlement
account.puuid = puuid
account.unverifiedmail = mailverif
account.banuntil = banuntil
return account
except Exception as e:
# input(e)
# print(str(traceback.format_exc()))
return 2, 2, 2, str(traceback.format_exc()), None
account.errmsg = str(traceback.format_exc())
account.code = 2
return account
Loading

0 comments on commit a0795f6

Please sign in to comment.