-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathquidam.py
88 lines (78 loc) · 3.19 KB
/
quidam.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#The Content has been made available for informational and educational purposes only
import argparse
from quidam import *
emailsFilesName = "emails.txt"
listModules = ["instagram", "twitter", "github"]
parser = argparse.ArgumentParser()
required = parser.add_argument_group('required arguments')
parser.add_argument('-u', '--username', help="The username of the target", required=True)
parser.add_argument('-m', '--module', help="Modules to use instagram, twitter, github or all", required=True)
args = parser.parse_args()
#print("Quidam get email with recovery password")
print("You select " + args.module)
def possibleDomain(emailInfo):
EmailsFile = open(emailsFilesName, 'r')
Emails = EmailsFile.readlines()
EmailsFile.close()
print("Possible email: ")
emailProvider = emailInfo.split("@")[1]
for email in Emails:
email=email.replace("\n", "")
if emailProvider[0]==email[0]:
if len(emailProvider.split(".")[0])==len(email.split(".")[0]):
print(emailInfo.split("@")[0] + "@" + email)
if args.module == "instagram":
info = instagram(args.username)
if '"status"' not in info:
if 'This IP are blocked from instagram' not in info:
print("Email extract with instagram of " + args.username + ": " + info)
else:
print(info)
else:
print(args.username + " account not found in instagram")
elif args.module == "twitter":
info = twitter(args.username)
if len(info) == 2:
print("The end of the phone number in twitter of " + args.username + ": " + str(info["phone"]))
print("Email extract with twitter of " + args.username + ": " + info["email"])
possibleDomain(info["email"])
elif len(info) == 1:
print("Email extract with twitter of " + args.username + ": " + info["email"])
possibleDomain(info["email"])
else:
print("Not informations found in twitter")
elif args.module == "github":
info = github(args.username)
if len(info) == 0:
print("Not informations found in github")
else:
print("All emails found in github:")
for e in info:
print("Email " + e["email"] + " for " + e["name"])
elif args.module == "all":
info = instagram(args.username)
if '"status"' not in info:
print("Email extract with instagram of " + args.username + ": " + info)
else:
print(args.username+" account not found")
info = twitter(args.username)
if len(info) == 2:
print("The end of the phone number in twitter of " + args.username + ": " + str(info["phone"]))
print("Email extract with twitter of " + args.username + ": " + info["email"])
possibleDomain(info["email"])
elif len(info) == 1:
print("Email extract with twitter of " + args.username + ": " + info["email"])
possibleDomain(info["email"])
else:
print("Not informations found")
info = github(args.username)
if len(info) == 0:
print("Not informations found in github")
else:
print("All emails found in github:")
for e in info:
print("Email " + e["email"] + " for " + e["name"])
else:
print("List of modules:")
for i in listModules:
print(i)