Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Дальше — Больше
Активный
Пользователь
Регистрация
21 Янв 2023
Сообщения
409
Ты WEB-Разработчик, и тебе нужен полезный инструмент, который поможет тебе?
Тогда этот скрипт - точно для тебя!


WARNING: В скрипте присутствует Лицензия, которая защищает мои авторские права, если вы собираетесь Сливать данный скрипт в других источниках, спросите для начала меня, если я дам добро - сливайте, с указанием автора (меня), Пожалуйста, уважайте чужой труд !!!



whois
colorama
os
ssl
socket
datetime
time
dnspython
Python:
import whois
from colorama import Fore, Style
import os
import ssl
import socket
import datetime
import time
import dns.resolver

def loading_bar(duration):
    print("Загрузка:")
    for i in range(101):
        print(f"\r{Fore.GREEN}|{'-' * i}{'|':>3} {i}%", end='')
        time.sleep(duration / 100)
    print()

def get_ssl_info(domain_name):
    try:
        context = ssl.create_default_context()
        with context.wrap_socket(socket.socket(socket.AF_INET), server_hostname=domain_name) as s:
            s.connect((domain_name, 443))
            cert = s.getpeercert()

        expiry_date = datetime.datetime.strptime(cert['notAfter'], "%b %d %H:%M:%S %Y %Z")
        issuer = dict(x[0] for x in cert['issuer'])
        issuer_info = f"{issuer['organizationName']} ({issuer['commonName']})"

        if expiry_date > datetime.datetime.now():
            ssl_status = f"{Fore.GREEN}Действителен до: {expiry_date}\nВыдан: {issuer_info}{Style.RESET_ALL}"
        else:
            ssl_status = f"{Fore.RED}Сертификат истек\nВыдан: {issuer_info}{Style.RESET_ALL}"

        return ssl_status

    except Exception as e:
        return f"{Fore.RED}Ошибка при получении информации о SSL-сертификате: {e}{Style.RESET_ALL}"

def get_registrar(domain_info):
    registrar = domain_info.registrar
    if registrar is None:
        return f"{Fore.RED}Информация о регистраторе недоступна{Style.RESET_ALL}"
    else:
        return f"{Fore.WHITE}{registrar}{Style.RESET_ALL}"

def get_ns_servers(domain_name):
    try:
        ns_servers = dns.resolver.resolve(domain_name, 'NS')
        return ', '.join([ns.to_text() for ns in ns_servers])
    except Exception as e:
        return f"{Fore.RED}Информация о NS-серверах недоступна{Style.RESET_ALL}"

def print_developer_info():
    developer_info = """
         Developer Whois: pikamonov
                    VK: @vertusoffical
                  Page: @vertusoffical
    """
    print(Fore.YELLOW + developer_info.center(os.get_terminal_size().columns) + Style.RESET_ALL)

def print_license(duration):
    license_info = """
Лицензия:
Этот скрипт разработан и владеет им pikamonov.
Вы можете свободно использовать его для некоммерческих целей,
но несете полную ответственность за любое его использование
и распространение.
Социальные сети разработчика: VK: @vertusoffical TG: @vertus Page VK: @vertusoffical
    """
    print(Fore.RED + license_info.center(os.get_terminal_size().columns) + Style.RESET_ALL)

    for i in range(duration, 0, -1):
        print(f"\rОсталось времени до скрытия лицензии: {i} секунд", end='')
        time.sleep(1)
    print("\r" + " " * os.get_terminal_size().columns, end='')

def main():
    loading_bar(4)

    print_license(7)

    os.system('cls' if os.name == 'nt' else 'clear') # Вышел со скрипта!!!

    print_developer_info()

    while True:
        domain_name = input("\nВведи доменное имя (например, arizona-rp.com): ")

        try:
            domain_info = whois.whois(domain_name)

            ssl_info = get_ssl_info(domain_name)
            registrar_info = get_registrar(domain_info)
            ns_info = get_ns_servers(domain_name)

            print("\nРезультаты:")
            print(f"SSL-сертификат:\n{ssl_info}\n")
            print(f"Регистратор:\n{registrar_info}\n")
            print(f"NS-серверы:\n{ns_info}\n")

        except Exception as e:
            print(f"{Fore.RED}АААА, АШИПКА: {e}{Style.RESET_ALL}")

        choice = input("Выберите действие:\n1) Проверить еще домен\n2) Выйти с скрипта\nТвой выбор: ").strip().lower()
        if choice == "1" or choice.startswith("проверить"):
            continue
        elif choice == "2" or choice.startswith("выйти"):
            print("Пока, ты ушел")
            break
        else:
            print("Моя твоя не понимат, я знаю только 1 и 2....")

if __name__ == "__main__":
    main()


Если ты заметил баг, или хочешь предложить идею для скрипта, пиши в эту тему :)


 
Последнее редактирование:
Заблокированный
Активный
Регистрация
30 Дек 2023
Сообщения
210
1711341031457.png
как же тяжело убрать лицензию
 
Сверху