Skip to content

Commit 3a38e00

Browse files
Merge pull request #95 from OSINT-TECHNOLOGIES/rolling
Stabilized v1.1.6
2 parents e010f48 + ed793b0 commit 3a38e00

16 files changed

+680
-136
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ If you have problems with starting installer.sh, you should try to use `dos2unix
172172
- [x] Rework Google Dorking module in separate mode
173173
- [x] Rework Google Dorks list into separate databases with different pre-configured dorks for various purposes
174174
- [x] Allow user to create their own dorks DB
175-
- [ ] Add separate API search mode with different free APIs
175+
- [x] Add separate API search mode with different free APIs
176176

177177
# DPULSE mentions in social medias
178178

datagather_modules/data_assembler.py

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -147,27 +147,43 @@ def data_gathering(self, short_domain, url, report_file_type, pagesearch_flag, k
147147
api_scan_db = []
148148
if used_api_flag != ['Empty']:
149149
print(Fore.LIGHTMAGENTA_EX + f"\n[EXTENDED SCAN START: API SCANNING]\n" + Style.RESET_ALL)
150-
if 1 in used_api_flag:
150+
if '1' in used_api_flag:
151151
vt_cats, vt_deturls, vt_detsamples, vt_undetsamples = api_virustotal_check(short_domain)
152152
api_scan_db.append('VirusTotal')
153-
if 2 in used_api_flag:
153+
if '2' in used_api_flag:
154154
st_alexa, st_apex, st_hostname, st_alivesds, st_txt, a_records_list, mx_records_list, ns_records_list, soa_records_list = api_securitytrails_check(short_domain)
155155
api_scan_db.append('SecurityTrails')
156-
print(Fore.LIGHTMAGENTA_EX + f"[EXTENDED SCAN END: API SCANNING]\n" + Style.RESET_ALL)
156+
if '1' not in used_api_flag:
157+
vt_cats = vt_deturls = vt_detsamples = vt_undetsamples = 'No results because user did not selected VirusTotal API scan'
158+
if '2' not in used_api_flag:
159+
st_alexa = st_apex = st_hostname = st_alivesds = st_txt = a_records_list = mx_records_list = ns_records_list = soa_records_list = 'No results because user did not selected SecurityTrails API scan'
160+
print(Fore.LIGHTMAGENTA_EX + f"\n[EXTENDED SCAN END: API SCANNING]\n" + Style.RESET_ALL)
157161
else:
158162
vt_cats = vt_deturls = vt_detsamples = vt_undetsamples = 'No results because user did not selected VirusTotal API scan'
159163
st_alexa = st_apex = st_hostname = st_alivesds = st_txt = a_records_list = mx_records_list = ns_records_list = soa_records_list = 'No results because user did not selected SecurityTrails API scan'
160164
api_scan_db.append('No')
161165
pass
162166

167+
#data_array = [ip, res, mails, subdomains, subdomains_amount, social_medias, subdomain_mails, sd_socials,
168+
# subdomain_ip, issuer, subject, notBefore, notAfter, commonName, serialNumber, mx_records,
169+
# robots_txt_result, sitemap_xml_result, sitemap_links_status,
170+
# web_servers, cms, programming_languages, web_frameworks, analytics, javascript_frameworks, ports,
171+
# hostnames, cpes, tags, vulns, common_socials, total_socials, ps_emails_return,
172+
# accessible_subdomains, emails_amount, files_counter, cookies_counter, api_keys_counter,
173+
# website_elements_counter, exposed_passwords_counter, total_links_counter, accessed_links_counter, dorking_status, dorking_results, vt_cats,
174+
# vt_deturls, vt_detsamples, vt_undetsamples]
175+
176+
cleaned_dorking = [item.strip() for item in dorking_results if item.strip()]
177+
#print(cleaned_dorking)
178+
163179
data_array = [ip, res, mails, subdomains, subdomains_amount, social_medias, subdomain_mails, sd_socials,
164180
subdomain_ip, issuer, subject, notBefore, notAfter, commonName, serialNumber, mx_records,
165181
robots_txt_result, sitemap_xml_result, sitemap_links_status,
166182
web_servers, cms, programming_languages, web_frameworks, analytics, javascript_frameworks, ports,
167183
hostnames, cpes, tags, vulns, common_socials, total_socials, ps_emails_return,
168184
accessible_subdomains, emails_amount, files_counter, cookies_counter, api_keys_counter,
169-
website_elements_counter, exposed_passwords_counter, total_links_counter, accessed_links_counter, dorking_status, dorking_results, vt_cats,
170-
vt_deturls, vt_detsamples, vt_undetsamples]
185+
website_elements_counter, exposed_passwords_counter, total_links_counter, accessed_links_counter, cleaned_dorking,
186+
vt_cats, vt_deturls, vt_detsamples, vt_undetsamples, st_alexa, st_apex, st_hostname, st_alivesds, st_txt, a_records_list, mx_records_list, ns_records_list, soa_records_list]
171187

172188
elif report_file_type == 'html':
173189
if pagesearch_flag.lower() == 'y':
@@ -207,15 +223,15 @@ def data_gathering(self, short_domain, url, report_file_type, pagesearch_flag, k
207223
api_scan_db = []
208224
if used_api_flag != ['Empty']:
209225
print(Fore.LIGHTMAGENTA_EX + f"\n[EXTENDED SCAN START: API SCANNING]\n" + Style.RESET_ALL)
210-
if 1 in used_api_flag:
226+
if '1' in used_api_flag:
211227
vt_cats, vt_deturls, vt_detsamples, vt_undetsamples = api_virustotal_check(short_domain)
212228
api_scan_db.append('VirusTotal')
213-
if 2 in used_api_flag:
229+
if '2' in used_api_flag:
214230
st_alexa, st_apex, st_hostname, st_alivesds, st_txt, a_records_list, mx_records_list, ns_records_list, soa_records_list = api_securitytrails_check(short_domain)
215231
api_scan_db.append('SecurityTrails')
216-
if 1 not in used_api_flag:
232+
if '1' not in used_api_flag:
217233
vt_cats = vt_deturls = vt_detsamples = vt_undetsamples = 'No results because user did not selected VirusTotal API scan'
218-
if 2 not in used_api_flag:
234+
if '2' not in used_api_flag:
219235
st_alexa = st_apex = st_hostname = st_alivesds = st_txt = a_records_list = mx_records_list = ns_records_list = soa_records_list = 'No results because user did not selected SecurityTrails API scan'
220236
print(Fore.LIGHTMAGENTA_EX + f"\n[EXTENDED SCAN END: API SCANNING]\n" + Style.RESET_ALL)
221237
else:

datagather_modules/networking_processor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def get_ssl_certificate(short_domain, port=443):
5454
except (ssl.CertificateError, ssl.SSLError, socket.gaierror, ConnectionRefusedError) as e:
5555
print(Fore.RED + "Error while gathering info about SSL certificate. See journal for details")
5656
logging.error(f'SSL CERTIFICATE GATHERING: ERROR. REASON: {e}')
57-
issuer = subject = notBefore = notAfter = commonName = serialNumber = ["No information about SSL certificate was gathered"]
57+
issuer = subject = notBefore = notAfter = commonName = serialNumber = "No information about SSL certificate was gathered"
5858
return issuer, subject, notBefore, notAfter, commonName, serialNumber
5959

6060
def query_internetdb(ip, report_file_extension):

dpulse.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ def run():
109109
print(Fore.RED + "Entered domain is not accessible. Scan is impossible" + Style.RESET_ALL)
110110
break
111111
case_comment = input(Fore.YELLOW + "Enter case comment >> ")
112-
print(Fore.GREEN + "Be advised that PDF report support is deprecated since v1.1.4. Instead, try to work with HTML report :)" + Style.RESET_ALL)
113112
report_filetype = input(Fore.YELLOW + "Enter report file extension [XLSX/HTML] >> ")
114113
if not report_filetype:
115114
print(Fore.RED + "\nReport filetype cannot be empty")

poetry.lock

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
44

55
[tool.poetry]
66
name = "dpulse"
7-
version = "1.1.5"
7+
version = "1.1.6"
88
description = "Convenient,fast and user-friendly collector of domain information from Open-Sources"
99
authors = ["OSINT-TECHNOLOGIES <osint.technologies@gmail.com>"]
1010
readme = "README.md"
@@ -22,7 +22,7 @@ classifiers = [
2222

2323
[tool.poetry.dependencies]
2424
python = "^3.10"
25-
Jinja2 = "3.1.4"
25+
Jinja2 = "^3.1.5"
2626
MarkupSafe = "2.1.5"
2727
beautifulsoup4 = "4.12.2"
2828
certifi = ">=2024.07.04"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
User-agent: *
2+
Disallow: /missions/
3+
Disallow: /killing/all/humans/

0 commit comments

Comments
 (0)