Skip to content

Commit c4a26b4

Browse files
committed
update version 1.2
1 parent 71cabe9 commit c4a26b4

File tree

2 files changed

+180
-57
lines changed

2 files changed

+180
-57
lines changed

autorip.py

Lines changed: 147 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
import time
33
import os
44
import sys
5+
import socks
6+
import socket
7+
import urllib.request
8+
from log import *
59

610
print ('''\033[1;31m \n
711
_| _| _| _|
@@ -14,7 +18,7 @@
1418
''')
1519

1620
print ("\033[1;34m[*]___author___: @noobpk\033[1;37m")
17-
print ("\033[1;34m[*]___version___: 1.1.1\033[1;37m")
21+
print ("\033[1;34m[*]___version___: 1.2\033[1;37m")
1822
print ("")
1923

2024

@@ -26,160 +30,246 @@ def detect_platform():
2630
'linux2' : 'Linux',
2731
'darwin' : 'OS X',
2832
}
29-
print ("\033[1;32m[+] Detect Platform\033[1;37m")
33+
logger.info("[*] Detect Platform")
3034
if sys.platform not in platforms:
31-
print ("\033[1;31m[x] Your platform currently does not support\033[1;31m")
35+
logger.error("[x_x] Your platform currently does not support.")
36+
sys.exit(0)
3237
except Exception as e:
33-
raise e
38+
logger.error("[x_x] Something went wrong, please check your error message.\n Message - {0}".format(e))
39+
40+
def check_exists_tor_ip(ipTor):
41+
with open ('listip.txt', 'r') as read_obj:
42+
for line in read_obj:
43+
if ipTor in line:
44+
return True
45+
else:
46+
return False
3447

3548
def check_runon_osx():
3649
try:
37-
print ("\033[1;32m[+] Check Requirement\033[1;37m")
50+
logger.info("[+] Check Requirement")
3851
istor = os.system('command -v tor 1> /dev/null')
3952
istorsocks = os.system ('command -v torsocks 1> /dev/null')
4053
isprivoxy = os.path.isdir("/usr/local/Cellar/privoxy")
54+
file_listip = os.path.isfile("listip.txt")
4155
if (istor != 0):
42-
print ("\033[1;32m[+] Installing Tor\033[1;37m")
56+
logger.info("Installing Tor...")
4357
os.system('brew install tor')
4458
check_runon_osx()
4559
if (istorsocks != 0):
46-
print ("\033[1;32m[+] Installing TorSocks\033[1;37m")
60+
logger.info("[+] Installing TorSocks...")
4761
os.system('brew install torsocks')
4862
check_runon_osx()
4963
if (isprivoxy == False):
50-
print ("\033[1;32m[+] Installing Privoxy\033[1;37m")
64+
logger.info("[+] Installing Privoxy...")
5165
os.system('brew install privoxy')
5266
check_runon_osx()
67+
if (file_listip == False):
68+
logger.info("[+] Creating File listip.txt")
69+
open("listip.txt", "w")
70+
check_runon_osx()
5371
else:
54-
print ("\033[1;34m[!] Tor has been install\033[1;37m")
55-
print ("\033[1;34m[!] TorSocks has been install\033[1;37m")
56-
print ("\033[1;34m[!] Privoxy has been install\033[1;37m")
72+
logger.info("[*] Tor has been install")
73+
logger.info("[*] TorSocks has been install")
74+
logger.info("[*] Privoxy has been install")
75+
logger.info("[*] File listip.txt has been created")
5776
startservice_osx()
5877
except Exception as e:
59-
raise e
78+
logger.error("[x_x] Something went wrong, please check your error message.\n Message - {0}".format(e))
6079

6180
def startservice_osx():
6281
try:
63-
print ("\033[1;34m[!] Current IP Addresss\033[1;37m")
82+
logger.info("[*] Current IP Addresss")
6483
currentip = os.system("wget -qO- http://ipecho.net/plain 2> /dev/null ; echo")
65-
print ("\033[1;32m[+] Start service Tor\033[1;37m")
84+
logger.info("[*] Start service Tor")
6685
os.system("brew services start tor")
6786
time.sleep(2)
68-
print ("\033[1;32m[+] Start service Privoxy\033[1;37m")
87+
logger.info("[*] Start service Privoxy")
6988
os.system("brew services start privoxy")
7089
time.sleep(2)
71-
print ("\033[1;34m[!] Change your SOCKES to 127.0.0.1:9050\033[1;37m")
72-
print ("\033[1;32m[+] Set time stamp\033[1;37m")
90+
logger.info("[*] Change your SOCKES to 127.0.0.1:9050")
91+
logger.info("[+] Set time stamp")
7392
sec = int(input("[?] Time to auto change ip by second (default 600s):") or "600")
7493
loop = int(input("[?] Number of loop (default 144):") or "144")
7594
for i in range(loop):
76-
print ("\033[1;32m[+] Change New IP\033[1;37m")
95+
logger.info("[*] Change New IP:")
7796
os.system("brew services restart tor")
7897
time.sleep(2)
79-
print("\033[1;32m[+] Successfully - Your IP has been Changed\033[1;37m")
80-
print ("\033[1;34m[!] New IP Addresss:\033[1;37m")
81-
# currentip = os.system("torsocks wget -qO- http://ipecho.net/plain 2> /dev/null ; echo")
98+
#currentip = os.system("torsocks wget -qO- http://ipecho.net/plain 2> /dev/null ; echo")
99+
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
100+
socket.socket = socks.socksocket
101+
url = 'http://ipecho.net/plain'
102+
request = urllib.request.Request(url)
103+
request.add_header('Cache-Control','max-age=0')
104+
response = urllib.request.urlopen(request)
105+
newip = response.read().decode('utf-8')
106+
if check_exists_tor_ip(newip):
107+
restart_tor_service()
108+
else:
109+
f = open('listip.txt', 'a+')
110+
f.write(newip + '\n')
111+
logger.info("[*] Successfully - Your IP has been Changed")
112+
logger.info("[*] New IP Addresss:")
113+
print(newip)
82114
time.sleep(sec)
83-
print ("\033[1;31m[#] The loop has finished refreshing it\033[1;37m")
115+
logger.info("[#] The loop has finished refreshing it")
84116
stopservice_osx()
85117
except Exception as e:
86-
raise e
87-
118+
logger.error("[x_x] Something went wrong, please check your error message.\n Message - {0}".format(e))
119+
120+
def restart_tor_service_osx():
121+
logger.warning("Your IP Already Exist - Request New IP")
122+
os.system("brew services restart tor")
123+
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
124+
socket.socket = socks.socksocket
125+
url = 'http://ipecho.net/plain'
126+
request = urllib.request.Request(url)
127+
request.add_header('Cache-Control','max-age=0')
128+
response = urllib.request.urlopen(request)
129+
newip = response.read().decode('utf-8')
130+
if check_exists_tor_ip(newip):
131+
restart_tor_service()
132+
else:
133+
f = open('listip.txt', 'a+')
134+
f.write(newip + '\n')
135+
logger.info("[*] Successfully - Your IP has been Changed")
136+
logger.info("[*] New IP Addresss:")
137+
print(newip)
88138

89139
def stopservice_osx():
90140
try:
91-
print ("\033[1;32m[+] Stop service Tor\033[1;37m")
141+
logger.info("[+] Stop service Tor")
92142
os.system("brew services stop tor")
93143
time.sleep(2)
94-
print ("\033[1;32m[+] Stop service Privoxy\033[1;37m")
144+
logger.info("[+] Stop service Privoxy")
95145
os.system("brew services stop privoxy")
96146
os.system("clear")
97147
except Exception as e:
98-
raise e
148+
logger.error("[x_x] Something went wrong, please check your error message.\n Message - {0}".format(e))
99149

100150
def check_runon_linux():
101151
try:
102-
print ("\033[1;32m[+] Check Requirement\033[1;37m")
152+
logger.info("[+] Check Requirement")
103153
istor = os.system('command -v tor 1> /dev/null')
104154
istorsocks = os.system('command -v torsocks 1> /dev/null')
105155
isprivoxy = os.system('command -v privoxy 1> /dev/null')
156+
file_listip = os.path.isfile("listip.txt")
157+
if (os.geteuid() != 0):
158+
logger.error("[x_x] You need to have root privileges to run this script")
159+
sys.exit(0)
106160
if (istor != 0):
107-
print ("\033[1;32m[+] Installing Tor\033[1;37m")
108-
os.system('apt-get install tor')
161+
logger.info("[+] Installing Tor")
162+
os.system('apt-get install tor -y')
109163
check_runon_linux()
110164
if (istorsocks != 0):
111-
print ("\033[1;32m[+] Installing TorSocks\033[1;37m")
112-
os.system('apt-get install torsocks')
165+
logger.info("[+] Installing TorSocks")
166+
os.system('apt-get install torsocks -y')
113167
check_runon_linux()
114168
if (isprivoxy != 0):
115-
print ("\033[1;32m[+] Installing Privoxy\033[1;37m")
116-
os.system('apt-get install privoxy')
169+
logger.info("[+] Installing Privoxy")
170+
os.system('apt-get install privoxy -y')
171+
check_runon_linux()
172+
if (file_listip == False):
173+
logger.info("[+] Creating File listip.txt")
174+
open("listip.txt", "w")
117175
check_runon_linux()
118176
else:
119-
print ("\033[1;34m[!] Tor has been install\033[1;37m")
120-
print ("\033[1;34m[!] TorSocks has been install\033[1;37m")
121-
print ("\033[1;34m[!] Privoxy has been install\033[1;37m")
177+
logger.info("[*] Tor has been install")
178+
logger.info("[*] TorSocks has been install")
179+
logger.info("[*] Privoxy has been install")
180+
logger.info("[*] File listip.txt has been created")
122181
startservice_linux()
123182
except Exception as e:
124-
raise e
183+
logger.error("[x_x] Something went wrong, please check your error message.\n Message - {0}".format(e))
125184

126185
def startservice_linux():
127186
try:
128-
print ("\033[1;34m[!] Current IP Addresss\033[1;37m")
187+
logger.info("[*] Current IP Addresss")
129188
currentip = os.system("wget -qO- http://ipecho.net/plain 2> /dev/null ; echo")
130-
print ("\033[1;32m[+] Start service Tor\033[1;37m")
189+
logger.info("[*] Start service Tor")
131190
os.system("service tor start")
132191
time.sleep(2)
133-
print ("\033[1;32m[+] Start service Privoxy\033[1;37m")
192+
logger.info("[*] Start service Privoxy")
134193
os.system("service privoxy start")
135194
time.sleep(2)
136-
print ("\033[1;34m[!] Change your SOCKES to 127.0.0.1:9050\033[1;37m")
137-
print ("\033[1;32m[+] Set time stamp\033[1;37m")
195+
logger.info("[*] Change your SOCKES to 127.0.0.1:9050")
196+
logger.info("[*] Set time stamp")
138197
sec = int(input("[?] Time to auto change ip by second (default 600s):") or "600")
139198
loop = int(input("[?] Number of loop (default 144):") or "144")
140199
for i in range(loop):
141-
print ("\033[1;32m[+] Change New IP\033[1;37m")
200+
logger.info("[*] Change New IP:")
142201
os.system("service tor restart")
143202
time.sleep(2)
144-
print("\033[1;32m[+] Successfully - Your IP has been Changed\033[1;37m")
145-
print ("\033[1;34m[!] New IP Addresss:\033[1;37m")
146-
currentip = os.system("torsocks wget -qO- http://ipecho.net/plain 2> /dev/null ; echo")
203+
# currentip = os.system("torsocks wget -qO- http://ipecho.net/plain 2> /dev/null ; echo")
204+
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
205+
socket.socket = socks.socksocket
206+
url = 'http://ipecho.net/plain'
207+
request = urllib.request.Request(url)
208+
request.add_header('Cache-Control','max-age=0')
209+
response = urllib.request.urlopen(request)
210+
newip = response.read().decode('utf-8')
211+
if check_exists_tor_ip(newip):
212+
restart_tor_service()
213+
else:
214+
f = open('listip.txt', 'a+')
215+
f.write(newip + '\n')
216+
logger.info("[*] Successfully - Your IP has been Changed")
217+
logger.info("[*] New IP Addresss:")
218+
print(newip)
147219
time.sleep(sec)
148-
print ("\033[1;31m[#] The loop has finished refreshing it\033[1;37m")
220+
logger.info("[#] The loop has finished refreshing it")
149221
stopservice_linux()
150222
except Exception as e:
151-
raise e
223+
logger.error("[x_x] Something went wrong, please check your error message.\n Message - {0}".format(e))
224+
225+
def restart_tor_service_linux():
226+
logger.warning("Your IP Already Exist - Request New IP")
227+
os.system("service tor restart")
228+
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
229+
socket.socket = socks.socksocket
230+
url = 'http://ipecho.net/plain'
231+
request = urllib.request.Request(url)
232+
request.add_header('Cache-Control','max-age=0')
233+
response = urllib.request.urlopen(request)
234+
newip = response.read().decode('utf-8')
235+
if check_exists_tor_ip(newip):
236+
restart_tor_service()
237+
else:
238+
f = open('listip.txt', 'a+')
239+
f.write(newip + '\n')
240+
logger.info("[*] Successfully - Your IP has been Changed")
241+
logger.info("[*] New IP Addresss:")
242+
print(newip)
152243

153244
def stopservice_linux():
154245
try:
155-
print ("\033[1;32m[+] Stop service Tor\033[1;37m")
246+
logger.info("[*] Stop service Tor")
156247
os.system("service tor stop")
157248
time.sleep(2)
158-
print ("\033[1;32m[+] Stop service Privoxy\033[1;37m")
249+
logger.info("[*] Stop service Privoxy")
159250
os.system("service privoxy stop")
160251
os.system("clear")
161252
except Exception as e:
162-
raise e
253+
logger.error("[x_x] Something went wrong, please check your error message.\n Message - {0}".format(e))
163254

164255
def main():
165-
166256
try:
167257
detect_platform()
168258
if (sys.platform == 'darwin'):
169-
print ("\033[1;34m[*] Darwin - MAC OS-X\033[1;37m")
259+
logger.info("[*] Darwin - MAC OS-X")
170260
check_runon_osx()
171261
if (sys.platform == 'linux') | (sys.platform == 'linux1') | (sys.platform == 'linux2'):
172-
print ("\033[1;34m[*] Linux - KALI LINUX - UBUNTU\033[1;37m")
262+
logger.info("[*] Linux - KALI LINUX - UBUNTU")
173263
check_runon_linux()
174264
except KeyboardInterrupt:
175-
print ("\033[1;31m[#] KeyboardInterrupt\033[1;37m")
265+
logger.warning("[#] KeyboardInterrupt")
176266
if (sys.platform == 'darwin'):
177267
stopservice_osx()
178268
if (sys.platform == 'linux') | (sys.platform == 'linux1') | (sys.platform == 'linux2'):
179269
stopservice_linux()
180270

181271
if __name__ == '__main__':
182272
if sys.version_info < (3,0):
183-
print("[x_x] Autorip requires Python 3.x")
273+
logger.error("[x_x] Autorip requires Python 3.x")
184274
else:
185275
main()

log.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import logging
2+
from colorlog import ColoredFormatter
3+
4+
5+
def setup_logging():
6+
logger = logging.getLogger()
7+
logger.setLevel(logging.INFO)
8+
color_formatter = ColoredFormatter(
9+
"%(log_color)s[%(asctime)s] [%(levelname)-4s]%(reset)s - %(message)s",
10+
datefmt='%d-%m-%y %H:%M:%S',
11+
reset=True,
12+
log_colors={
13+
'DEBUG': 'cyan',
14+
'INFO': 'green',
15+
'WARNING': 'bold_yellow',
16+
'ERROR': 'bold_red',
17+
'CRITICAL': 'bold_red',
18+
},
19+
secondary_log_colors={},
20+
style='%')
21+
logging_handler = logging.StreamHandler()
22+
logging_handler.setFormatter(color_formatter)
23+
logger.addHandler(logging_handler)
24+
#record logg
25+
file_handler = logging.FileHandler('errors.log')
26+
file_handler.setLevel(logging.ERROR)
27+
file_format = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
28+
file_handler.setFormatter(file_format)
29+
logger.addHandler(file_handler)
30+
31+
# setup logging for script
32+
setup_logging()
33+
logger = logging.getLogger(__name__)

0 commit comments

Comments
 (0)