Complete ClashX Configuration File विश्लेषण: YAML Configuration को गहराई से समझें

Article 10 cover image

Configuration अवलोकन

ClashX सभी प्रॉक्सी व्यवहारों को परिभाषित करने के लिए YAML format configuration files का उपयोग करता है। प्रत्येक configuration item की संरचना और कार्य को समझना ClashX में महारत हासिल करने की कुंजी है।

Configuration file आमतौर पर ~/.config/clash/config.yaml पर स्थित होती है, और subscription links के माध्यम से अपने आप update भी हो सकती है। यह लेख configuration file के प्रत्येक हिस्से का गहन विश्लेषण देगा ताकि आप अपनी आवश्यकताओं के अनुसार सबसे उपयुक्त configuration बना सकें।

💡
YAML Format के मुख्य बिंदु

YAML indentation के प्रति बहुत संवेदनशील है और indentation के लिए spaces का उपयोग करना चाहिए (tabs नहीं)। एक स्तर की indentation के लिए 2 spaces उपयोग करने की सिफारिश की जाती है।

मूल संरचना

एक पूर्ण ClashX configuration file में मुख्य रूप से निम्नलिखित sections होते हैं:

मूल Configuration File संरचना

# 通用设置
port: 7890
socks-port: 7891
allow-lan: false
mode: rule
log-level: info

# 代理节点
proxies:
  - name: "节点1"
    type: ss
    server: example.com
    port: 443

# 策略组
proxy-groups:
  - name: "🚀 节点选择"
    type: select
    proxies:
      - "节点1"

# 规则
rules:
  - DOMAIN-SUFFIX,google.com,🚀 节点选择
  - GEOIP,CN,DIRECT
  - MATCH,🚀 节点选择

सामान्य सेटिंग्स

सामान्य settings, ClashX के मूल व्यवहार और performance parameters को नियंत्रित करती हैं।

Port Configuration

# HTTP 代理端口
port: 7890

# SOCKS5 代理端口
socks-port: 7891

# 混合端口(同时支持 HTTP 和 SOCKS5)
mixed-port: 7892

# RESTful API 端口
external-controller: 127.0.0.1:9090

# API 访问密钥(可选)
secret: "your-secret-key"

Network Settings

# 允许局域网连接
allow-lan: false

# 绑定地址(局域网时使用)
bind-address: "*"

# 运行模式:rule(规则) / global(全局) / direct(直连)
mode: rule

# 日志级别:silent / error / warning / info / debug
log-level: info

# IPv6 支持
ipv6: true

DNS Configuration

DNS configuration domain name resolution की speed और accuracy को प्रभावित करती है:

dns:
  enable: true
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip  # 或 redir-host

  # Fake-IP 地址池
  fake-ip-range: 198.18.0.1/16

  # Fake-IP 过滤(这些域名不使用 Fake-IP)
  fake-ip-filter:
    - "*.lan"
    - "localhost.ptlogin2.qq.com"

  # DNS 服务器
  nameserver:
    - 119.29.29.29
    - 223.5.5.5
    - https://doh.pub/dns-query

  # 回落 DNS(当主 DNS 失败时使用)
  fallback:
    - https://1.1.1.1/dns-query
    - https://dns.google/dns-query

  # 根据域名选择 DNS
  nameserver-policy:
    "geosite:cn":
      - 119.29.29.29
      - 223.5.5.5
    "geosite:geolocation-!cn":
      - https://1.1.1.1/dns-query
⚠️
DNS Mode चयन

fake-ip: बेहतर performance, लेकिन कुछ applications के साथ असंगत हो सकता है
redir-host: अच्छी compatibility, लेकिन थोड़ा धीमा

प्रॉक्सी Configuration (Proxies)

Proxies section सभी उपलब्ध प्रॉक्सी server nodes को परिभाषित करता है। ClashX कई प्रॉक्सी protocols का समर्थन करता है।

Shadowsocks (SS)

proxies:
  - name: "SS节点"
    type: ss
    server: example.com
    port: 443
    cipher: aes-256-gcm
    password: "your-password"
    udp: true

ShadowsocksR (SSR)

  - name: "SSR节点"
    type: ssr
    server: example.com
    port: 443
    cipher: aes-256-cfb
    password: "your-password"
    protocol: auth_aes128_md5
    protocol-param: ""
    obfs: tls1.2_ticket_auth
    obfs-param: "cloudflare.com"

VMess

  - name: "VMess节点"
    type: vmess
    server: example.com
    port: 443
    uuid: b831381d-6324-4d53-ad4f-8cda48b30811
    alterId: 0
    cipher: auto
    tls: true
    skip-cert-verify: false
    servername: example.com
    network: ws
    ws-opts:
      path: /path
      headers:
        Host: example.com

Trojan

  - name: "Trojan节点"
    type: trojan
    server: example.com
    port: 443
    password: "your-password"
    sni: example.com
    skip-cert-verify: false
    udp: true

HTTP/HTTPS Proxy

  - name: "HTTP代理"
    type: http
    server: example.com
    port: 8080
    username: user
    password: pass
    tls: true
    skip-cert-verify: false

प्रॉक्सी Groups Configuration

प्रॉक्सी groups आपको कई nodes को जोड़कर automatic selection और load balancing जैसी advanced features हासिल करने देते हैं।

select - मैन्युअल चयन

उपयोगकर्ता manually चुनते हैं कि कौन-सा node उपयोग करना है:

proxy-groups:
  - name: "🚀 节点选择"
    type: select
    proxies:
      - "🇭🇰 香港节点"
      - "🇯🇵 日本节点"
      - "🇺🇸 美国节点"
      - DIRECT

url-test - स्वचालित speed test

सबसे कम latency वाले node का अपने आप चयन करें:

  - name: "♻️ 自动选择"
    type: url-test
    proxies:
      - "节点1"
      - "节点2"
      - "节点3"
    url: "http://www.gstatic.com/generate_204"
    interval: 300    # 测试间隔(秒)
    tolerance: 50    # 容差(毫秒)

fallback - फेलओवर

प्राथमिक node विफल होने पर backup nodes पर अपने आप स्विच करें:

  - name: "🔰 故障转移"
    type: fallback
    proxies:
      - "主节点"
      - "备用节点1"
      - "备用节点2"
    url: "http://www.gstatic.com/generate_204"
    interval: 300

load-balance - लोड बैलेंसिंग

Traffic को कई nodes में वितरित करें:

  - name: "⚖️ 负载均衡"
    type: load-balance
    proxies:
      - "节点1"
      - "节点2"
      - "节点3"
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    strategy: consistent-hashing  # 或 round-robin

relay - चेन प्रॉक्सी

Traffic कई प्रॉक्सी nodes से होकर गुजरता है:

  - name: "🔗 链式代理"
    type: relay
    proxies:
      - "节点1"
      - "节点2"
💡
प्रॉक्सी Group Best Practices

• अलग-अलग उद्देश्यों (जैसे streaming, gaming, downloads) के लिए अलग प्रॉक्सी groups बनाएँ
• Automatic optimization के लिए url-test का उपयोग करें
• select groups में url-test groups को options के रूप में शामिल करें

Rules Configuration

Rules तय करते हैं कि कौन-सा traffic प्रॉक्सी से जाएगा और कौन-सा direct जाएगा। Rules ऊपर से नीचे तक match होती हैं, और match होते ही आगे की matching रुक जाती है।

पूर्ण Rule उदाहरण

rules:
  # 局域网直连
  - DOMAIN-SUFFIX,local,DIRECT
  - IP-CIDR,127.0.0.0/8,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve

  # 屏蔽广告
  - DOMAIN-KEYWORD,adservice,REJECT
  - DOMAIN-SUFFIX,doubleclick.net,REJECT

  # 流媒体
  - DOMAIN-SUFFIX,youtube.com,🎬 流媒体
  - DOMAIN-SUFFIX,netflix.com,🎬 流媒体
  - DOMAIN-KEYWORD,spotify,🎬 流媒体

  # Apple 服务
  - DOMAIN-SUFFIX,apple.com,🍎 苹果服务
  - DOMAIN-SUFFIX,icloud.com,🍎 苹果服务

  # Google 服务
  - DOMAIN-SUFFIX,google.com,🚀 代理
  - DOMAIN-SUFFIX,googleapis.com,🚀 代理
  - DOMAIN-SUFFIX,gstatic.com,🚀 代理

  # 国内网站直连
  - GEOIP,CN,DIRECT

  # 最终规则
  - MATCH,🚀 代理

Rule Priority के लिए सिफारिशें

1. LAN
सर्वोच्च प्राथमिकता
2. Block Rules
REJECT
3. Special Services
Streaming, Gaming आदि
4. Geolocation
GEOIP Rules
5. डिफ़ॉल्ट नीति
MATCH

उन्नत कॉन्फ़िगरेशन विकल्प

रूल प्रोवाइडर

आसान रखरखाव और अपडेट के लिए बाहरी फ़ाइलों से नियम लोड करें:

rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.example.com/reject.yaml"
    path: ./ruleset/reject.yaml
    interval: 86400

  proxy:
    type: http
    behavior: domain
    url: "https://cdn.example.com/proxy.yaml"
    path: ./ruleset/proxy.yaml
    interval: 86400

rules:
  - RULE-SET,reject,REJECT
  - RULE-SET,proxy,🚀 代理

TUN मोड

सिस्टम-स्तरीय प्रॉक्सी, एप्लिकेशन कॉन्फ़िगर करने की आवश्यकता नहीं:

tun:
  enable: true
  stack: system  # 或 gvisor
  dns-hijack:
    - any:53
  auto-route: true
  auto-detect-interface: true

प्रायोगिक सुविधाएँ

experimental:
  # 忽略解析失败的域名
  ignore-resolve-fail: true

  # 接口名称检测
  interface-name: en0
⚠️
महत्वपूर्ण नोट्स

• TUN मोड के लिए व्यवस्थापक विशेषाधिकार आवश्यक हैं
• कॉन्फ़िगरेशन परिवर्तन प्रभावी होने के लिए उन्हें पुनः लोड करना होगा
• पहले टेस्ट वातावरण में कॉन्फ़िगरेशन सत्यापित करने की सलाह दी जाती है