-
Notifications
You must be signed in to change notification settings - Fork 0
/
Checker.py
130 lines (130 loc) · 4.46 KB
/
Checker.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# coding: utf-8
from platform import python_version
if int(python_version()[0]) < 3:
print("[!] Please use Python 3")
exit()
'''
Coded: By Amir Typer
--------------------|
Istagram: amir_typer
Telegram: Mr_Amir_Typer
Twitter: Amir_Typer
GitHub: https://github.com/Amirtyper
|--------------------
Version : 1.0
Date: 5/8/2021
Date (Persian Calendar): 1400/2/18
'''
import requests
import random
import time
#import threading
import os
import sys
os.system("clear")
welcome = """
||||| ~ Proxy Checker ~ |||||
|||| Coded By : @Mr_Amir_Typer ||||
||| Our Channel : @Sezar_Hack |||
|| ©Powered By : NowaTech.ir ||
| V1 |
"""
print(welcome)
# Startup 1
try:
inp = input("|- Open proxy file -->: ")
except:
b = input("[!] Error! Proxy file is not exist or it's empty.\n|- Would you like to run script again? --> y/N : ")
if "Y" == b or "y" == b:
print ("Restarting...")
time.sleep(2)
os.system("python Checker.py")
os.system("clear")
sys.exit()
if "N" == b or "n" == b:
print("|- OK, Bye!")
sys.exit()
else:
time.sleep(1)
print("[!] Error! Only write Y or N.\n|- Restarting the script in 3 seconds..")
time.sleep(3)
os.system("python Checker.py")
os.system("clear")
sys.exit()
# Startup 2
try:
addr = str(input("|-- Do you have any exclusive URL in your mind? (Press ENTER for Default) -->: "))
addr2 = addr
if addr == "":
addr = "https://google.com"
elif "http://" or "https://" not in addr:
addr= "http://"+addr2
#numberofthreads = int(input("|-- Threads -->: "))
timeout = int(input("|--- Timeout -->: "))
inp2 = input("|---- Would you like to save good proxies in a file? --> y/N : ")
except:
time.sleep(1)
print("[!] Error! Only write the Number Or Type URL With HTTP:// Or HTTPS:// .\n|- Restarting the script in 3 seconds..")
time.sleep(3)
os.system("python Checker.py")
os.system("clear")
sys.exit()
if "N" == inp2 or "n" == inp2:
print("|- OK")
def Check():
# Read And Open Proxy File
filepath = inp
with open(filepath) as fp:
lines = fp.read().splitlines()
with open(filepath, "r") as fp:
# Count Proxies
line_count = 0
for i in lines:
if i:
line_count += 1
time.sleep(1)
print("|----- Count of loaded proxies --> :",line_count)
#----------------
time.sleep(1.5)
print(">------ Start Checking in Two Second ------<\n")
time.sleep(2)
for line in lines:
proxy = ("http://"+line)
try:
# Send Request
headers = {
"accept": "*/*",
"user-agent": "Mozilla/5.0",
}
response = requests.get(addr ,headers=headers,timeout=timeout,proxies={"http://":tuple(random.sample(proxy, len(line)))})
#----------------
# Check Response and Write good proxies in a file
if "Y" == inp2 or "y" == inp2:
f = open("Good Proxies.txt", "a")
f.write(proxy.replace("http://","")+"\n")
f.close()
print("[-] Working ["+str(response.status_code)+"] | Proxy --> "+proxy.replace("http://",""))
else:
time.sleep(1)
print("[!] Error! Only write Y or N.\n|- Restarting the script in 3 seconds..")
time.sleep(3)
os.system("python Checker.py")
os.system("clear")
sys.exit()
except requests.exceptions.Timeout:
print ("[~] Request timed out. | Proxy failed --> "+proxy.replace("http://",""))
except:
print("[!] Error! Check your internet connection and run script again.")
sys.exit()
#----------------
# All Done
print("\n[✓] Done! All Proxies Are Checked - Good Proxies Saved In A File [✓]\n")
sys.exit()
Check()
# threads = []
# for i in range(numberofthreads):
# t = threading.Thread(target=Check)
# t.start()
# threads.append(t)
# for i in threads:
# i.join()