Принудительное чтение и запись файлов в 'utf-8-sig' помогло решить проблему неправильного распознавания некоторых DNS имен из списков на разных ОС.
This commit is contained in:
Ground-Zerro
2024-03-28 14:28:44 +11:00
parent 3ec02341e3
commit eac7ff35ec
2 changed files with 8 additions and 8 deletions

View File

@@ -21,7 +21,7 @@ threads =
filetype = filetype =
# адрес шлюза - используется, только если опция "filetype" установлена в 'win' или пользователь выбрал такой формат выходного файла # адрес шлюза - используется, только если опция "filetype" установлена в 'win' или пользователь выбрал такой формат выходного файла
# если не указан, будет использоваться значение по умолчанию (0.0.0.0.0) # если не указан, будет использоваться значение по умолчанию (0.0.0.0)
gateway = gateway =
# Команда для консоли после завершения скриптом всех операций # Команда для консоли после завершения скриптом всех операций

14
main.py
View File

@@ -182,7 +182,7 @@ def main():
os.remove(outfilename) os.remove(outfilename)
# DNS resolution for selected services # DNS resolution for selected services
with open(outfilename, 'w') as file: # Open file for writing with open(outfilename, 'w', encoding='utf-8-sig') as file: # Open file for writing
for service in selected_services: for service in selected_services:
result = resolve_dns_and_write(service, urls[service], unique_ips_all_services, include_cloudflare, threads) result = resolve_dns_and_write(service, urls[service], unique_ips_all_services, include_cloudflare, threads)
file.write(result) # Write unique IPs directly to the file file.write(result) # Write unique IPs directly to the file
@@ -198,9 +198,9 @@ def main():
outfilename_format = input("\nВыберите в каком формате сохранить файл: \n\033[32mwin\033[0m - 'route add %IP% mask %mask% %gateway%', \033[32mvlsm\033[0m - 'IP/mask', \033[32mEnter\033[0m - только IP: ") outfilename_format = input("\nВыберите в каком формате сохранить файл: \n\033[32mwin\033[0m - 'route add %IP% mask %mask% %gateway%', \033[32mvlsm\033[0m - 'IP/mask', \033[32mEnter\033[0m - только IP: ")
if outfilename_format.lower() == 'vlsm': if outfilename_format.lower() == 'vlsm':
# Handle VLSM format here # Handle VLSM format here
with open(outfilename, 'r') as file: with open(outfilename, 'r', encoding='utf-8-sig') as file:
ips = file.readlines() ips = file.readlines()
with open(outfilename, 'w') as file: with open(outfilename, 'w', encoding='utf-8-sig') as file:
for ip in ips: for ip in ips:
file.write(f"{ip.strip()}/32\n") # Assuming /32 subnet mask for all IPs file.write(f"{ip.strip()}/32\n") # Assuming /32 subnet mask for all IPs
elif outfilename_format.lower() == 'win': elif outfilename_format.lower() == 'win':
@@ -208,9 +208,9 @@ def main():
gateway_input = input(f"Укажите шлюз (\033[32mEnter\033[0m - {gateway}): ") gateway_input = input(f"Укажите шлюз (\033[32mEnter\033[0m - {gateway}): ")
if gateway_input: if gateway_input:
gateway = gateway_input.strip() gateway = gateway_input.strip()
with open(outfilename, 'r') as file: with open(outfilename, 'r', encoding='utf-8-sig') as file:
ips = file.readlines() ips = file.readlines()
with open(outfilename, 'w') as file: with open(outfilename, 'w', encoding='utf-8-sig') as file:
for ip in ips: for ip in ips:
file.write(f"route add {ip.strip()} mask 255.255.255.255 {gateway}\n") file.write(f"route add {ip.strip()} mask 255.255.255.255 {gateway}\n")
else: else:
@@ -225,9 +225,9 @@ def main():
file.write(f"{ip.strip()}/32\n") # Assuming /32 subnet mask for all IPs file.write(f"{ip.strip()}/32\n") # Assuming /32 subnet mask for all IPs
elif filetype.lower() == 'win': elif filetype.lower() == 'win':
# Handle Windows format if specified in the configuration file # Handle Windows format if specified in the configuration file
with open(outfilename, 'r') as file: with open(outfilename, 'r', encoding='utf-8-sig') as file:
ips = file.readlines() ips = file.readlines()
with open(outfilename, 'w') as file: with open(outfilename, 'w', encoding='utf-8-sig') as file:
for ip in ips: for ip in ips:
file.write(f"route add {ip.strip()} mask 255.255.255.255 {gateway}\n") file.write(f"route add {ip.strip()} mask 255.255.255.255 {gateway}\n")