ऑटोमेटिंग क्लैश प्रॉक्सी प्रबंधन | मूल, AI द्वारा अनुवादित

Home PDF

यह पोस्ट एक पायथन स्क्रिप्ट, clash.py के बारे में विस्तार से बताती है, जिसे आपके क्लैश प्रॉक्सी कॉन्फिगरेशन के प्रबंधन को स्वचालित करने के लिए डिज़ाइन किया गया है। यह समय-समय पर अपडेटेड प्रॉक्सी कॉन्फिगरेशन डाउनलोड करने, क्लैश सेवा को पुनः आरंभ करने, और निर्दिष्ट समूह के भीतर उपलब्ध सबसे तेज़ प्रॉक्सी को चुनने और स्विच करने सहित सभी कार्यों को संभालता है। clash.py के साथ, speed.py मॉड्यूल व्यक्तिगत क्लैश प्रॉक्सी की समवर्ती विलंबता परीक्षण को सुविधाजनक बनाता है, यह सुनिश्चित करते हुए कि आपका कनेक्शन हमेशा इष्टतम सर्वर के माध्यम से रूट होता है।

clash.py

```python import os import subprocess import time import shutil import argparse import logging import requests import json import urllib.parse

मान लें कि speed.py एक ही निर्देशिका में है या PYTHONPATH में उपलब्ध है

from speed import get_top_proxies

— कॉन्फिगरेशन —

CLASH_CONTROLLER_HOST = “127.0.0.1” CLASH_CONTROLLER_PORT = 9090 CLASH_API_BASE_URL = f”http://{CLASH_CONTROLLER_HOST}:{CLASH_CONTROLLER_PORT}”

वह प्रॉक्सी समूह नाम जिसमें सर्वश्रेष्ठ व्यक्तिगत प्रॉक्सी को नियुक्त किया जाएगा।

सुनिश्चित करें कि यह समूह आपके क्लैश कॉन्फिगरेशन में मौजूद है।

TARGET_PROXY_GROUP = “🚧Proxy”

def setup_logging(): “"”स्क्रिप्ट के लिए बेसिक लॉगिंग कॉन्फिगर करता है।””” logging.basicConfig( filename=’clash.log’, level=logging.INFO, format=’%(asctime)s - %(message)s’, datefmt=’%Y-%m-%d %H:%M:%S’ )

def start_system_proxy(global_proxy_address): “"”सिस्टम-वाइड प्रॉक्सी पर्यावरण चर सेट करता है।””” os.environ[“GLOBAL_PROXY”] = global_proxy_address # यदि कहीं और आवश्यक हो तो स्थिरता के लिए सेट करें os.environ[“HTTP_PROXY”] = f”http://{global_proxy_address}” os.environ[“HTTPS_PROXY”] = f”http://{global_proxy_address}” os.environ[“http_proxy”] = f”http://{global_proxy_address}” os.environ[“https_proxy”] = f”http://{global_proxy_address}” # आमतौर पर इन्हें आधुनिक टूल्स के साथ “false” पर स्पष्ट रूप से सेट करने की आवश्यकता नहीं होती है, # लेकिन आपकी मूल स्क्रिप्ट के इरादे के अनुरूप रखा गया है। os.environ[“HTTP_PROXY_REQUEST_FULLURI”] = “false” os.environ[“HTTPS_PROXY_REQUEST_FULLURI”] = “false” os.environ[“ALL_PROXY”] = os.environ[“http_proxy”] logging.info(f”सिस्टम-वाइड प्रॉक्सी सेट किया गया: {global_proxy_address}”)

def stop_system_proxy(): “"”सिस्टम-वाइड प्रॉक्सी पर्यावरण चर को साफ करता है।””” os.environ[“http_proxy”] = “” os.environ[“HTTP_PROXY”] = “” os.environ[“https_proxy”] = “” os.environ[“HTTPS_PROXY”] = “” os.environ[“HTTP_PROXY_REQUEST_FULLURI”] = “true” # डिफ़ॉल्ट पर वापस os.environ[“HTTPS_PROXY_REQUEST_FULLURI”] = “true” os.environ[“ALL_PROXY”] = “” logging.info(“सिस्टम-वाइड प्रॉक्सी बंद किया गया (पर्यावरण चर साफ किए गए)।”)

def switch_clash_proxy_group(group_name, proxy_name): “”” निर्दिष्ट क्लैश प्रॉक्सी समूह में सक्रिय प्रॉक्सी को एक नए प्रॉक्सी पर स्विच करता है। “”” encoded_group_name = urllib.parse.quote(group_name) url = f”{CLASH_API_BASE_URL}/proxies/{encoded_group_name}” headers = {“Content-Type”: “application/json”} payload = {“name”: proxy_name}

try:
    response = requests.put(url, headers=headers, data=json.dumps(payload), timeout=5)
    response.raise_for_status()
    logging.info(f"सफलतापूर्वक '{group_name}' को '{proxy_name}' पर स्विच किया गया।")
    return True
except requests.exceptions.ConnectionError:
    logging.error(f"त्रुटि: क्लैश API से {CLASH_API_BASE_URL} पर कनेक्ट नहीं हो पाया प्रॉक्सी स्विच करने के लिए।")
    logging.error("सुनिश्चित करें कि क्लैश चल रहा है और इसका external-controller कॉन्फिगर किया गया है।")
    return False
except requests.exceptions.Timeout:
    logging.error(f"त्रुटि: '{group_name}' के लिए प्रॉक्सी स्विच करते समय क्लैश API से कनेक्शन टाइमआउट हो गया।")
    return False
except requests.exceptions.RequestException as e:
    logging.error(f"'{group_name}' के लिए प्रॉक्सी स्विच

Back 2025.06.30 Donate