├── README.md ├── tiktokviewbot.py └── helloworld(outdated do NOT use).py /README.md: -------------------------------------------------------------------------------- 1 | # no more shitty selenium 2 | ~~no way captcha resolver api is DOWN once again, use "nocaptcharesolver.py" until the api is up.~~ 3 | ~~## Captcha Resolver API is back | enjoy ;-)~~ 4 | Scroll down for requirements and how to use ! 5 | ![image](https://github.com/user-attachments/assets/81f5c238-d0d6-45c9-8aa7-3fe7f112730e) 6 | > [!WARNING] 7 | > We have not had the opportunity to finalize development, and users should proceed with caution. 8 | 9 | > [!CAUTION] 10 | > **We are not liable for any damages caused or any consequences such as bans that may result from using this software. Users should proceed at their own risk.** 11 | # How to run: 12 | for "helloworld.py" 13 | ``` 14 | 1. Install Python 3.10 - 3.12 15 | 2. Run: python helloworld.py or py helloworld.py 16 | 3. Input video link and choose service 17 | ``` 18 | 19 | 20 | Need more help? https:/t.me/nikymetaa 21 | # Contribution: 22 | just send me a pull request. 23 | 24 | alsooo please star if you love this project ;) 25 | -------------------------------------------------------------------------------- /tiktokviewbot.py: -------------------------------------------------------------------------------- 1 | import os 2 | try: 3 | import undetected_chromedriver,selenium,requests 4 | except: 5 | os.system("pip install undetected_chromedriver") 6 | os.system("pip install selenium") 7 | os.system("pip install setuptools") 8 | os.system("pip install requests") 9 | import undetected_chromedriver as uc 10 | from selenium.webdriver.common.by import By 11 | from selenium.webdriver.support.ui import WebDriverWait 12 | from selenium.webdriver.support import expected_conditions as EC 13 | from time import sleep 14 | 15 | 16 | os.system('cls') 17 | 18 | print("made by @nikymetaa on discord") 19 | link_request = input("link: ") 20 | 21 | chrome_options = uc.ChromeOptions() 22 | 23 | driver = uc.Chrome(options=chrome_options) 24 | driver.set_window_size(600, 900) 25 | 26 | def get_captcha(): 27 | try: 28 | sleep(5) 29 | image_element = driver.find_element(By.CSS_SELECTOR, "body > div.noscriptcheck > div.ua-check > form > div > div > img") 30 | image_element.screenshot("image.png") 31 | ocr_result = ocr_from_image("./image.png") 32 | print("Captcha: " + ocr_result["ParsedResults"][0]["ParsedText"]) 33 | sleep(3) 34 | return ocr_result["ParsedResults"][0]["ParsedText"] 35 | except Exception as e: 36 | print(e) 37 | 38 | def ocr_from_image(image_path): 39 | try: 40 | url = "https://api.ocr.space/parse/image" 41 | payload = { 42 | "language": "eng", 43 | "isOverlayRequired": False, 44 | "scale": True, 45 | "isTable": False, 46 | "filetype": "png" 47 | } 48 | headers = { 49 | "apikey": "K87899142388957" 50 | } 51 | 52 | with open(image_path, "rb") as image_file: 53 | files = { 54 | "file": image_file 55 | } 56 | response = requests.post(url, data=payload, headers=headers, files=files) 57 | 58 | if response.status_code == 200: 59 | return response.json() 60 | else: 61 | return None 62 | 63 | except Exception as e: 64 | print(e) 65 | 66 | def solve_captcha(): 67 | try: 68 | print("Solving CAPTCHA...") 69 | 70 | captcha = get_captcha() 71 | 72 | if captcha == "".replace(" ", "") or any(char.isdigit() for char in captcha): 73 | print("Captcha OCR returned wrong values, retrying...") 74 | time.sleep(2) 75 | solve_captcha() 76 | 77 | captcha_input = driver.find_element(By.CSS_SELECTOR, "body > div.noscriptcheck > div.ua-check > form > div > div > div > input") 78 | captcha_input.send_keys(captcha) 79 | 80 | except Exception as e: 81 | print(e) 82 | 83 | try: 84 | driver.get("https://zefoy.com/") 85 | sleep(3) 86 | 87 | clickcookies = WebDriverWait(driver, 45).until( 88 | EC.element_to_be_clickable((By.XPATH, '/html/body/div[7]/div[2]/div[2]/div[3]/div[2]/button[1]')) 89 | ) 90 | clickcookies.click() 91 | sleep(1) 92 | 93 | solve_captcha() 94 | 95 | try: 96 | click1 = WebDriverWait(driver, 45).until( 97 | EC.element_to_be_clickable((By.XPATH, '/html/body/div[6]/div/div[2]/div/div/div[6]/div/button')) 98 | ) 99 | if not click1.is_enabled(): 100 | print("Button is disabled - service is not updated") 101 | click1.click() 102 | except: 103 | print("Button is disabled - service is not updated") 104 | sleep(2) 105 | 106 | input_link = driver.find_element(By.XPATH, '/html/body/div[10]/div/form/div/input') 107 | input_link.send_keys(link_request) 108 | sleep(5) 109 | 110 | while True: 111 | try: 112 | click2 = WebDriverWait(driver, 10).until( 113 | EC.element_to_be_clickable((By.XPATH, '/html/body/div[10]/div/form/div/div/button')) 114 | ) 115 | click2.click() 116 | sleep(2) 117 | 118 | click3 = WebDriverWait(driver, 10).until( 119 | EC.element_to_be_clickable((By.XPATH, '/html/body/div[10]/div/div/div[1]/div/form/button')) 120 | ) 121 | click3.click() 122 | sleep(2) 123 | print("+1000 auras") 124 | 125 | except Exception as e: 126 | pass 127 | 128 | except Exception as e: 129 | pass 130 | -------------------------------------------------------------------------------- /helloworld(outdated do NOT use).py: -------------------------------------------------------------------------------- 1 | import os 2 | try: 3 | import requests,colorama,prettytable 4 | except: 5 | os.system("pip install requests") 6 | os.system("pip install colorama") 7 | os.system("pip install prettytable") 8 | import threading, requests, ctypes, random, json, time, base64, sys, re 9 | from prettytable import PrettyTable 10 | import random 11 | from time import strftime 12 | from colorama import init, Fore 13 | from urllib.parse import urlparse, unquote, quote 14 | from string import ascii_letters, digits 15 | os.system("cls" if os.name == "nt" else "clear") 16 | class Zefoy: 17 | def __init__(self): 18 | self.base_url = 'https://zefoy.com/' 19 | self.headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'} 20 | self.session = requests.Session() 21 | self.captcha_1 = None 22 | self.captcha_ = {} 23 | self.service = 'Comments Hearts' 24 | self.video_key = None 25 | self.services = {} 26 | self.services_ids = {} 27 | self.services_status = {} 28 | self.url = 'None' 29 | self.text = 'Tool Zefoy' 30 | url1=input("\033[1;33m Video Link: ") 31 | 32 | self.url=url1 33 | 34 | def get_captcha(self): 35 | if os.path.exists('session'): 36 | self.session.cookies.set("PHPSESSID", open('session',encoding='utf-8').read(), domain='zefoy.com') 37 | request = self.session.get(self.base_url, headers=self.headers) 38 | if 'Enter Video URL' in request.text: 39 | self.video_key = request.text.split('" placeholder="Enter Video URL"')[0].split('name="')[-1] 40 | return True 41 | 42 | try: 43 | for x in re.findall(r'', request.text): 44 | self.captcha_[x[0]] = x[1] 45 | 46 | self.captcha_1 = request.text.split('type="text" name="')[1].split('" oninput="this.value=this.value.toLowerCase()"')[0] 47 | captcha_url = request.text.split('.+\n.+\n.+', request): 93 | self.services[x.split('
')[1].split('<')[0].strip()] = x.split('d-sm-inline-block">')[1].split('')[0].strip() 94 | for x in re.findall(r'
.+
\n
', request): 95 | self.services_ids[x.split('title mb-3">')[1].split('<')[0].strip()] = x.split('')[0].strip() 96 | for x in re.findall(r'
.+
\n.+