Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Z4nzu
GitHub Repository: Z4nzu/hackingtool
Path: blob/master/tools/others/socialmedia_finder.py
1796 views
1
# coding=utf-8
2
import os
3
import subprocess
4
5
from core import HackingTool
6
from core import HackingToolsCollection
7
8
from rich.console import Console
9
from rich.theme import Theme
10
from rich.table import Table
11
from rich.panel import Panel
12
from rich.prompt import Prompt
13
from rich import box
14
15
_theme = Theme({"purple": "#7B61FF"})
16
console = Console(theme=_theme)
17
18
19
class FacialFind(HackingTool):
20
TITLE = "Find SocialMedia By Facial Recognation System"
21
DESCRIPTION = "A Social Media Mapping Tool that correlates profiles\n " \
22
"via facial recognition across different sites."
23
INSTALL_COMMANDS = [
24
"sudo apt install -y software-properties-common",
25
"sudo add-apt-repository ppa:mozillateam/firefox-next && sudo apt update && sudo apt upgrade",
26
"sudo git clone https://github.com/Greenwolf/social_mapper.git",
27
"sudo apt install -y build-essential cmake libgtk-3-dev libboost-all-dev",
28
"cd social_mapper/setup",
29
"sudo python3 -m pip install --no-cache-dir -r requirements.txt",
30
'echo "[!]Now You have To do some Manually\n'
31
'[!] Install the Geckodriver for your operating system\n'
32
'[!] Copy & Paste Link And Download File As System Configuration\n'
33
'[#] https://github.com/mozilla/geckodriver/releases\n'
34
'[!!] On Linux you can place it in /usr/bin "| boxes | lolcat'
35
]
36
PROJECT_URL = "https://github.com/Greenwolf/social_mapper"
37
38
def run(self):
39
os.system("cd social_mapper/setup")
40
os.system("sudo python social_mapper.py -h")
41
print("""\033[95m
42
You have to set Username and password of your AC Or Any Fack Account
43
[#] Type in Terminal nano social_mapper.py
44
""")
45
os.system(
46
'echo "python social_mapper.py -f [<imageFoldername>] -i [<imgFolderPath>] -m fast [<AcName>] -fb -tw"| boxes | lolcat')
47
48
49
class FindUser(HackingTool):
50
TITLE = "Find SocialMedia By UserName"
51
DESCRIPTION = "Find usernames across over 75 social networks"
52
INSTALL_COMMANDS = [
53
"sudo git clone https://github.com/xHak9x/finduser.git",
54
"cd finduser && sudo chmod +x finduser.sh"
55
]
56
RUN_COMMANDS = ["cd finduser && sudo bash finduser.sh"]
57
PROJECT_URL = "https://github.com/xHak9x/finduser"
58
59
60
class Sherlock(HackingTool):
61
TITLE = "Sherlock"
62
DESCRIPTION = "Hunt down social media accounts by username across social networks \n " \
63
"For More Usage \n" \
64
"\t >>python3 sherlock --help"
65
INSTALL_COMMANDS = [
66
"git clone https://github.com/sherlock-project/sherlock.git",
67
"cd sherlock;sudo python3 -m pip install -r requirements.txt"
68
]
69
PROJECT_URL = "https://github.com/sherlock-project/sherlock"
70
71
def run(self):
72
name = input("Enter Username >> ")
73
os.chdir('sherlock')
74
subprocess.run(["sudo", "python3", "sherlock", f"{name}"])
75
76
77
class SocialScan(HackingTool):
78
TITLE = "SocialScan | Username or Email"
79
DESCRIPTION = "Check email address and username availability on online " \
80
"platforms with 100% accuracy"
81
INSTALL_COMMANDS = ["sudo pip install socialscan"]
82
PROJECT_URL = "https://github.com/iojw/socialscan"
83
84
def run(self):
85
name = input(
86
"Enter Username or Emailid (if both then please space between email & username) >> ")
87
subprocess.run(["sudo", "socialscan", f"{name}"])
88
89
90
class SocialMediaFinderTools(HackingToolsCollection):
91
TITLE = "SocialMedia Finder"
92
TOOLS = [
93
FacialFind(),
94
FindUser(),
95
Sherlock(),
96
SocialScan()
97
]
98
99
def pretty_print(self):
100
table = Table(title="Social Media Finder Tools", show_lines=True, expand=True)
101
table.add_column("Title", style="purple", no_wrap=True)
102
table.add_column("Description", style="purple")
103
table.add_column("Project URL", style="purple", no_wrap=True)
104
105
for t in self.TOOLS:
106
desc = getattr(t, "DESCRIPTION", "") or ""
107
url = getattr(t, "PROJECT_URL", "") or ""
108
table.add_row(t.TITLE, desc.strip().replace("\n", " "), url)
109
110
panel = Panel(table, title="[purple]Available Tools[/purple]", border_style="purple")
111
console.print(panel)
112
113
def show_options(self, parent=None):
114
console.print("\n")
115
panel = Panel.fit("[bold magenta]Social Media Finder Collection[/bold magenta]\n"
116
"Select a tool to view details or run it.",
117
border_style="purple")
118
console.print(panel)
119
120
table = Table(title="[bold cyan]Available Tools[/bold cyan]", show_lines=True, expand=True)
121
table.add_column("Index", justify="center", style="bold yellow")
122
table.add_column("Tool Name", justify="left", style="bold green")
123
table.add_column("Description", justify="left", style="white")
124
125
for i, tool in enumerate(self.TOOLS):
126
title = getattr(tool, "TITLE", tool.__class__.__name__)
127
desc = getattr(tool, "DESCRIPTION", "—")
128
table.add_row(str(i + 1), title, desc or "—")
129
130
table.add_row("[red]99[/red]", "[bold red]Exit[/bold red]", "Return to previous menu")
131
console.print(table)
132
133
try:
134
choice = Prompt.ask("[bold cyan]Select a tool to view/run[/bold cyan]", default="99")
135
choice = int(choice)
136
if 1 <= choice <= len(self.TOOLS):
137
selected = self.TOOLS[choice - 1]
138
if hasattr(selected, "show_options"):
139
selected.show_options(parent=self)
140
elif hasattr(selected, "run"):
141
selected.run()
142
elif hasattr(selected, "show_info"):
143
selected.show_info()
144
else:
145
console.print("[bold yellow]Selected tool has no runnable interface.[/bold yellow]")
146
elif choice == 99:
147
return 99
148
except Exception:
149
console.print("[bold red]Invalid choice. Try again.[/bold red]")
150
return self.show_options(parent=parent)
151
152
153
if __name__ == "__main__":
154
tools = SocialMediaFinderTools()
155
tools.pretty_print()
156
tools.show_options()
157