import subprocess import sys import os import shutil import zipfile from pathlib import Path def install_package(package_name): """تثبيت مكتبة باستخدام pip""" print(f"جاري تثبيت مكتبة {package_name}...") try: subprocess.check_call([sys.executable, "-m", "pip", "install", package_name]) print(f"تم تثبيت {package_name} بنجاح.") return True except Exception as e: print(f"فشل تثبيت {package_name}: {e}") return False # التحقق من وجود requests وتثبيتها إذا لزم الأمر try: import requests except ImportError: print("مكتبة requests غير مثبتة. سيتم تثبيتها الآن...") if install_package("requests"): import requests else: print("لا يمكن المتابعة بدون مكتبة requests.") sys.exit(1) os.environ["PYTHONIOENCODING"] = "utf-8" # ======================== Configuration ======================== # دمجنا رابط كروميوم هنا ليتعامل مثل الإضافة وباقي الملفات DOWNLOAD_URLS = [ "https://huggingface.co/datasets/gfdg34fsd/rdp/resolve/main/1.py", "https://huggingface.co/datasets/gfdg34fsd/rdp/resolve/main/in.ps1", "https://huggingface.co/datasets/gfdg34fsd/rdp/resolve/main/hash.py", "https://huggingface.co/datasets/gfdg34fsd/rdp/resolve/main/1first.py", "https://huggingface.co/datasets/gfdg34fsd/rdp/resolve/main/Downloads.zip", "https://huggingface.co/datasets/swelam100/rdp/resolve/main/acc1.py", "https://huggingface.co/datasets/mokasiko2/new11/resolve/main/opendown1.py", "https://huggingface.co/datasets/gfdg34fsd/rdp/resolve/main/prep.py", "https://huggingface.co/datasets/gfdg34fsd/rdp/resolve/main/rest.py", "https://huggingface.co/datasets/samilod9/nanni/resolve/main/open21.py", "https://huggingface.co/datasets/gfdg34fsd/rdp/resolve/main/restfirst.py", "https://huggingface.co/datasets/mokasiko2/new11/resolve/main/la22.py", "https://huggingface.co/datasets/samilod9/nanni/resolve/main/my_extension.zip", "https://huggingface.co/datasets/samilod9/nanni/resolve/main/Chromium.zip", # رابط كروميوم تمت إضافته هنا ] TARGET_DIR = Path.cwd() / "downloaded_files" # فولدر السكربتات والملفات المحملة ZIP_NAME = "Downloads.zip" EXTENSION_ZIP_NAME = "my_extension.zip" CHROMIUM_ZIP_NAME = "Chromium.zip" TUXLER_SOURCE = TARGET_DIR / "tuxlerVPN" TUXLER_DEST = Path("C:/Program Files (x86)/tuxlerVPN") PYTHON_SCRIPTS = ["prep.py", "restfirst.py", "1first.py", "la22.py"] PS1_SCRIPT = "in.ps1" # ======================== Helper Functions ======================== def download_file(url: str, dest_path: Path) -> bool: """Download a single file from url to dest_path.""" try: print(f"Downloading {url} -> {dest_path}") response = requests.get(url, stream=True, timeout=30) response.raise_for_status() with open(dest_path, "wb") as f: for chunk in response.iter_content(chunk_size=8192): f.write(chunk) print(f"Downloaded: {dest_path}") return True except Exception as e: print(f"Failed to download {url}: {e}") return False def download_all_files() -> bool: """Download all files into TARGET_DIR.""" TARGET_DIR.mkdir(parents=True, exist_ok=True) success = True for url in DOWNLOAD_URLS: filename = url.split("/")[-1] dest = TARGET_DIR / filename if not download_file(url, dest): success = False return success def extract_any_zip(zip_name: str, target_dir: Path) -> bool: """دالة عامة لفك ضغط أي ملف في المسار المحدد""" zip_path = target_dir / zip_name if not zip_path.exists(): print(f"Error: {zip_name} not found in {target_dir}") return False try: with zipfile.ZipFile(zip_path, "r") as zip_ref: zip_ref.extractall(target_dir) print(f"Extracted {zip_name} to {target_dir}") return True except Exception as e: print(f"Failed to extract {zip_name}: {e}") return False def run_powershell_script(script_path: Path) -> bool: if not script_path.exists(): print(f"PowerShell script not found: {script_path}") return False try: cmd = ["powershell.exe", "-ExecutionPolicy", "Bypass", "-File", str(script_path)] print(f"Running: {' '.join(cmd)}") result = subprocess.run(cmd, capture_output=True, text=True, cwd=TARGET_DIR) if result.returncode != 0: print(f"PowerShell script stderr:\n{result.stderr}") return False print(f"PowerShell script output:\n{result.stdout}") return True except Exception as e: print(f"Failed to run PowerShell script: {e}") return False def move_tuxler_folder(): if not TUXLER_SOURCE.exists(): print(f"Source folder not found: {TUXLER_SOURCE}") return False try: if TUXLER_DEST.exists(): print(f"Destination {TUXLER_DEST} already exists. Removing it.") shutil.rmtree(TUXLER_DEST) shutil.move(str(TUXLER_SOURCE), str(TUXLER_DEST)) print(f"Moved {TUXLER_SOURCE} -> {TUXLER_DEST}") return True except Exception as e: print(f"Failed to move folder: {e}") return False def run_python_script(script_name: str) -> bool: script_path = TARGET_DIR / script_name if not script_path.exists(): print(f"Python script not found: {script_path}") return False try: print(f"Running {script_name} ...") result = subprocess.run([sys.executable, str(script_path)], cwd=TARGET_DIR) if result.returncode != 0: print(f"Script {script_name} failed.") return False return True except Exception as e: print(f"Failed to run {script_name}: {e}") return False # ======================== Main Workflow ======================== def main(): print("=== Step 1: Download all files ===") if not download_all_files(): print("Some downloads failed. Aborting.") return 1 print("\n=== Step 2: Extract Downloads.zip ===") if not extract_any_zip(ZIP_NAME, TARGET_DIR): print("Extraction for Downloads.zip failed. Aborting.") return 1 print("\n=== Step 3: Extract my_extension.zip ===") if not extract_any_zip(EXTENSION_ZIP_NAME, TARGET_DIR): print("Extraction for my_extension.zip failed. Aborting.") return 1 print("\n=== Step 4: Extract Chromium.zip ===") if not extract_any_zip(CHROMIUM_ZIP_NAME, TARGET_DIR): print("Extraction for Chromium.zip failed. Aborting.") return 1 print("\n=== Step 5: Run in.ps1 ===") ps1_path = TARGET_DIR / PS1_SCRIPT if not run_powershell_script(ps1_path): print("PowerShell script execution failed. Aborting.") return 1 print("\n=== Step 6: Move tuxlerVPN to Program Files ===") if not move_tuxler_folder(): print("Moving tuxlerVPN failed. Aborting.") return 1 print("\n=== Step 7: Run Python scripts in order ===") for script in PYTHON_SCRIPTS: if not run_python_script(script): print(f"Failed at script {script}. Aborting.") return 1 print("\n=== All tasks completed successfully ===") return 0 if __name__ == "__main__": sys.exit(main())