mirror of
https://github.com/Ground-Zerro/DomainMapper.git
synced 2025-12-10 01:47:18 +07:00
fix cloudflare filter
This commit is contained in:
15
main.py
15
main.py
@@ -145,7 +145,7 @@ async def get_cloudflare_ips():
|
|||||||
return set()
|
return set()
|
||||||
|
|
||||||
|
|
||||||
async def resolve_domain(domain, resolver, semaphore, dns_server_name, null_ips_count, cloudflare_ips, cloudflare_ips_count, total_domains_processed):
|
async def resolve_domain(domain, resolver, semaphore, dns_server_name, null_ips_count, cloudflare_ips, cloudflare_ips_count, total_domains_processed, include_cloudflare):
|
||||||
async with semaphore:
|
async with semaphore:
|
||||||
try:
|
try:
|
||||||
total_domains_processed[0] += 1
|
total_domains_processed[0] += 1
|
||||||
@@ -155,7 +155,7 @@ async def resolve_domain(domain, resolver, semaphore, dns_server_name, null_ips_
|
|||||||
for ip_address in ips:
|
for ip_address in ips:
|
||||||
if ip_address in ('127.0.0.1', '0.0.0.0') or ip_address in resolver.nameservers:
|
if ip_address in ('127.0.0.1', '0.0.0.0') or ip_address in resolver.nameservers:
|
||||||
null_ips_count[0] += 1
|
null_ips_count[0] += 1
|
||||||
elif ip_address in cloudflare_ips:
|
elif include_cloudflare and ip_address in cloudflare_ips:
|
||||||
cloudflare_ips_count[0] += 1
|
cloudflare_ips_count[0] += 1
|
||||||
else:
|
else:
|
||||||
filtered_ips.append(ip_address)
|
filtered_ips.append(ip_address)
|
||||||
@@ -165,8 +165,7 @@ async def resolve_domain(domain, resolver, semaphore, dns_server_name, null_ips_
|
|||||||
print(f"{Fore.RED}Не удалось получить IP-адрес: {domain} - {dns_server_name}{Style.RESET_ALL}")
|
print(f"{Fore.RED}Не удалось получить IP-адрес: {domain} - {dns_server_name}{Style.RESET_ALL}")
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
async def resolve_dns(service, dns_names, dns_servers, cloudflare_ips, unique_ips_all_services, semaphore, null_ips_count, cloudflare_ips_count, total_domains_processed, include_cloudflare):
|
||||||
async def resolve_dns(service, dns_names, dns_servers, cloudflare_ips, unique_ips_all_services, semaphore, null_ips_count, cloudflare_ips_count, total_domains_processed):
|
|
||||||
try:
|
try:
|
||||||
print(f"{Fore.YELLOW}Анализ DNS имен платформы {service}...{Style.RESET_ALL}")
|
print(f"{Fore.YELLOW}Анализ DNS имен платформы {service}...{Style.RESET_ALL}")
|
||||||
|
|
||||||
@@ -177,7 +176,7 @@ async def resolve_dns(service, dns_names, dns_servers, cloudflare_ips, unique_ip
|
|||||||
for domain in dns_names:
|
for domain in dns_names:
|
||||||
domain = domain.strip()
|
domain = domain.strip()
|
||||||
if domain:
|
if domain:
|
||||||
tasks.append(resolve_domain(domain, resolver, semaphore[server_name], server_name, null_ips_count, cloudflare_ips, cloudflare_ips_count, total_domains_processed))
|
tasks.append(resolve_domain(domain, resolver, semaphore[server_name], server_name, null_ips_count, cloudflare_ips, cloudflare_ips_count, total_domains_processed, include_cloudflare))
|
||||||
|
|
||||||
results = await asyncio.gather(*tasks)
|
results = await asyncio.gather(*tasks)
|
||||||
|
|
||||||
@@ -426,6 +425,7 @@ def process_file_format(filename, filetype, gateway, selected_service, mk_list_n
|
|||||||
write_file(filename, ips, formatters[filetype.lower()])
|
write_file(filename, ips, formatters[filetype.lower()])
|
||||||
|
|
||||||
|
|
||||||
|
# Ну чо, погнали?!
|
||||||
# Ну чо, погнали?!
|
# Ну чо, погнали?!
|
||||||
async def main():
|
async def main():
|
||||||
# Инициализация настроек из config.ini
|
# Инициализация настроек из config.ini
|
||||||
@@ -467,7 +467,7 @@ async def main():
|
|||||||
for service in selected_services:
|
for service in selected_services:
|
||||||
if service == 'Custom DNS list':
|
if service == 'Custom DNS list':
|
||||||
tasks.append(resolve_dns(service, local_dns_names, selected_dns_servers, cloudflare_ips, unique_ips_all_services,
|
tasks.append(resolve_dns(service, local_dns_names, selected_dns_servers, cloudflare_ips, unique_ips_all_services,
|
||||||
semaphore, null_ips_count, cloudflare_ips_count, total_domains_processed))
|
semaphore, null_ips_count, cloudflare_ips_count, total_domains_processed, include_cloudflare))
|
||||||
else:
|
else:
|
||||||
dns_names_url = urls[service]
|
dns_names_url = urls[service]
|
||||||
async with httpx.AsyncClient() as client:
|
async with httpx.AsyncClient() as client:
|
||||||
@@ -475,7 +475,7 @@ async def main():
|
|||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
dns_names = response.text.splitlines()
|
dns_names = response.text.splitlines()
|
||||||
tasks.append(resolve_dns(service, dns_names, selected_dns_servers, cloudflare_ips, unique_ips_all_services,
|
tasks.append(resolve_dns(service, dns_names, selected_dns_servers, cloudflare_ips, unique_ips_all_services,
|
||||||
semaphore, null_ips_count, cloudflare_ips_count, total_domains_processed))
|
semaphore, null_ips_count, cloudflare_ips_count, total_domains_processed, include_cloudflare))
|
||||||
|
|
||||||
results = await asyncio.gather(*tasks)
|
results = await asyncio.gather(*tasks)
|
||||||
|
|
||||||
@@ -506,6 +506,5 @@ async def main():
|
|||||||
if os.name == 'nt':
|
if os.name == 'nt':
|
||||||
input(f"Нажмите {green('Enter')} для выхода...")
|
input(f"Нажмите {green('Enter')} для выхода...")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
asyncio.run(main())
|
asyncio.run(main())
|
||||||
Reference in New Issue
Block a user