رفتن به محتوای اصلی
FA

خانه / وبلاگ / مبانی پیکربندی

توسعهٔ اشتراک با Merge، تا ویرایش‌هایتان از به‌روزرسانی جان به در ببرند

مبانی پیکربندی2026-07-091299 واژه3 دقیقه مطالعه
توسعهٔ اشتراک با Merge، تا ویرایش‌هایتان از به‌روزرسانی جان به در ببرند

وقتی می‌خواهید یک قاعدهٔ خودتان را به اشتراک اضافه کنید، حرکت شهودی این است که فایل پیکربندی را باز کنید و ویرایشش کنید. بعد اشتراک شبانه به‌روز می‌شود و تغییرتان رفته است.

رویکرد درست، پیکربندی توسعه‌یافته (Merge) است: تغییرهایتان را در فایلی جداگانه نگه دارید که هر بار با بارگذاری اشتراک ادغام می‌شود.

سازوکار چطور کار می‌کند

پیکربندی نهایی چطور ساخته می‌شوداشتراک دانلود می‌شودفایل اصلی config.yamlپیکربندی توسعه‌یافته خوانده می‌شودفایل merge که نوشته‌ایدادغام بر پایهٔ قواعدprepend اول می‌رود، append آخرپیکربندی زمان اجرا ساخته می‌شودهمانی که هسته واقعاً به کار می‌برددر هر به‌روزرسانی اشتراک تکرار می‌شودتغییرهای شما همیشه می‌مانند
فایل اصلی اشتراک اصلاً دست نمی‌خورد؛ تغییرهای شما در فایلی جداگانه زندگی می‌کنند

جایش در Clash Verge: صفحهٔ Profiles ← «Global Extended Config» بالا سمت راست، یا ⋯ ← Extended Config روی کارت یک پروفایل خاص (که فقط روی همان اشتراک اعمال می‌شود).

سه گونه عملیات

prepend-*: درج در بالا

prepend-rules:
  - DOMAIN-SUFFIX,mycompany.com,DIRECT
  - DOMAIN-SUFFIX,example.com,🚀 انتخاب

چون قواعد از بالا به پایین تطبیق می‌خورند، قواعد prepend بالاترین اولویت را دارند و هر قضاوت اشتراک را کنار می‌زنند.

این راه استاندارد اصلاح خطای مسیریابی است.

append-*: افزودن به انتها

append-rules:
  - DOMAIN-SUFFIX,slow-site.com,DIRECT

قواعدی که بعد از MATCH افزوده شوند هرگز فعال نمی‌شوند، چون MATCH همه‌چیز را می‌گیرد. پس فایدهٔ واقعی append-rules محدود است؛ شکل‌های append بیشتر برای proxy-groups و proxies به کار می‌آیند.

بازنویسی مستقیم فیلد سطح بالا

فیلدهای بدون پیشوند، فیلد هم‌نام اشتراک را جایگزین می‌کنند:

mixed-port: 7899
mode: rule
log-level: warning
ipv6: false
unified-delay: true
tcp-concurrent: true

چه فیلدهایی در دسترس‌اند

فیلدمعنی
prepend-rules / append-rulesقواعد
prepend-proxies / append-proxiesگره‌ها
prepend-proxy-groups / append-proxy-groupsگروه‌های سیاست
rule-providersمجموعه‌قواعد (با موجودها ادغام می‌شود)
proxy-providersتأمین‌کنندگان گره
بخش‌های سطح بالا مثل dns / tun / snifferجایگزینی کل بخش

مجموعه‌ای از قطعه‌های کاربردی

۱. اصلاح خطای مسیریابی

رایج‌ترین حالت: سایتی از مسیر اشتباه می‌رود.

prepend-rules:
  # به‌زور از پروکسی
  - DOMAIN-SUFFIX,anthropic.com,🚀 انتخاب
  - DOMAIN-SUFFIX,openai.com,🚀 انتخاب
  # به‌زور مستقیم (تا IP خارجی کنترل ریسک را فعال نکند)
  - DOMAIN-SUFFIX,icbc.com.cn,DIRECT
  - DOMAIN-SUFFIX,alipay.com,DIRECT
  - DOMAIN-SUFFIX,12306.cn,DIRECT
  # شبکهٔ داخلی
  - DOMAIN-SUFFIX,mycompany.com,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve

۲. افزودن گروه سیاست خودتان

prepend-proxy-groups:
  - name: "🔧 گروه من"
    type: select
    proxies: ["DIRECT", "🚀 انتخاب", "♻️ خودکار"]

prepend-rules:
  - DOMAIN-SUFFIX,some-site.com,🔧 گروه من

۳. افزودن سرور خودتان

جدا از اشتراک، دستگاهی از خودتان دارید:

prepend-proxies:
  - name: "سرور من"
    type: trojan
    server: my.example.com
    port: 443
    password: "pwd"
    udp: true

prepend-proxy-groups:
  - name: "🏠 خودمیزبان"
    type: select
    proxies: ["سرور من", "DIRECT"]

توجه کنید که گرهٔ تازه‌اضافه‌شده خودبه‌خود وارد گروه‌های سیاستی که در اشتراک هستند نمی‌شود. برای اینکه در گروه انتخاب اصلی ظاهر شود، یا تعریف آن گروه را بازنویسی کنید یا از include-all در Mihomo استفاده کنید تا گروه خودش جمعش کند.

۴. تنظیم‌های کارایی سراسری

unified-delay: true      # محاسبهٔ یکدست تأخیر، قابل‌مقایسه میان پروتکل‌ها
tcp-concurrent: true     # دست‌دادن هم‌زمان برای دامنه‌های چند-IP
find-process-mode: strict  # قواعد PROCESS-NAME را فعال می‌کند
global-client-fingerprint: chrome   # اثر انگشت TLS مثل کروم نشان بده
profile:
  store-selected: true   # گره‌ای که دستی برداشته‌اید را به یاد بسپار
  store-fake-ip: true    # نگاشت‌های fake-ip را میان راه‌اندازی‌ها کش کن

store-selected: true واقعاً مفید است — بدون آن هر بار بارگذاری دوبارهٔ پیکربندی، انتخاب دستی گره را به پیش‌فرض برمی‌گرداند.

۵. مسدودسازی تبلیغات

rule-providers:
  my-reject:
    type: inline
    behavior: domain
    payload:
      - "+.doubleclick.net"
      - "+.googlesyndication.com"
      - "+.adservice.google.com"

prepend-rules:
  - RULE-SET,my-reject,REJECT

۶. واداشتن ترافیک بیت‌تورنت به رفتن مستقیم

خیلی از ارائه‌دهنده‌ها ترافیک بیت‌تورنت را منع می‌کنند و فرستادنش از راه آن‌ها حسابتان را به خطر می‌اندازد:

prepend-rules:
  - PROCESS-NAME,qbittorrent.exe,DIRECT
  - PROCESS-NAME,Transmission.exe,DIRECT
  - PROCESS-NAME,aria2c.exe,DIRECT
  - DST-PORT,6881-6889,DIRECT

قواعد مبتنی بر فرایند بدون find-process-mode: strict اصلاً کار نمی‌کنند.

۷. روشن کردن تشخیص دامنه

بخشی از ترافیک فقط با IP و بدون دامنه می‌رسد (کلاینت‌هایی که مستقیم به نشانی وصل می‌شوند). تشخیص، نام را از دست‌دادن TLS بازیابی می‌کند تا قواعد دامنه‌ای دوباره قابل استفاده شوند:

sniffer:
  enable: true
  force-dns-mapping: true
  parse-pure-ip: true
  sniff:
    HTTP:
      ports: [80, 8080-8880]
      override-destination: true
    TLS:
      ports: [443, 8443]
    QUIC:
      ports: [443, 8443]
  skip-domain:
    - "+.push.apple.com"
    - "+.apple.com"

ترتیب ادغام و تعارض‌ها

پیکربندی نهایی به چه ترتیبی ساخته می‌شود1۱. پیکربندی اصلی اشتراکپایه2۲. پیکربندی توسعه‌یافتهٔ سراسریروی همهٔ اشتراک‌ها اعمال می‌شود3۳. پیکربندی توسعه‌یافتهٔ یک اشتراکفقط روی همان یکی، با اولویت بالاتر4۴. عملیات موقت در رابطگره‌ای که دستی عوض کرده‌اید
لایه‌های بعدی روی قبلی‌ها می‌نشینند؛ فیلدهای prepend درج می‌کنند نه جایگزین

اگر هم توسعهٔ سراسری و هم توسعهٔ یک اشتراک prepend-rules تعریف کنند، هر دو مجموعه اثر می‌کنند و قواعد اشتراک جلوتر قرار می‌گیرند.

اشکال‌زدایی پیکربندی توسعه‌یافته

نتیجهٔ ادغام را ببینید

Clash Verge پیکربندی مؤثر را در یک فایل زمان اجرا می‌نویسد. ⋯ ← Open File روی کارت پروفایل اشتراک اصلی را نشان می‌دهد؛ برای دیدن نتیجهٔ ادغام، در پوشهٔ پیکربندی دنبال clash-verge.yaml یا runtime.yaml بگردید (نامش بسته به نسخه کمی فرق می‌کند).

قاعده‌ای که اضافه کرده‌اید را آنجا جست‌وجو کنید؛ پیدا شد یعنی ادغام گرفته.

وقتی پیکربندی بارگذاری نمی‌شود

اشتباه‌های رایج در پیکربندی توسعه‌یافتهبرای تورفتگی YAML تب به کار رفته — باید فاصله باشدنام گروه ارجاع‌شده با اشتراک نمی‌خواند (ایموجی، فاصله، بزرگی و کوچکی حروف)به‌جای prepend-rules نوشته شده prepend_rules با زیرخطسیاستی که در یک قاعده نام برده شده وجود ندارد — این کل پیکربندی را می‌اندازدبخش dns نیمه‌کاره نوشته شده — جایگزینی کل بخش آن‌وقت تنظیم‌های اصلی را می‌بازد

وقتی چیزی می‌شکند، پیکربندی توسعه‌یافته را کامل خالی کنید، مطمئن شوید خود اشتراک بارگذاری می‌شود، بعد بخش‌ها را یکی‌یکی برگردانید تا مقصر پیدا شود.

دربارهٔ حالت Script

جدا از Merge، بعضی نسخه‌ها پردازش پیکربندی با جاوااسکریپت را هم پشتیبانی می‌کنند:

function main(config) {
  // به هر گروه select گزینهٔ DIRECT اضافه کن
  config["proxy-groups"].forEach(g => {
    if (g.type === "select" && !g.proxies.includes("DIRECT")) {
      g.proxies.push("DIRECT");
    }
  });
  // یک قاعده درج کن
  config.rules.unshift("DOMAIN-SUFFIX,example.com,DIRECT");
  return config;
}

حالت Script تواناتر است ولی اشتباه کردن در آن هم آسان‌تر — یک استثنا کل پیکربندی را می‌اندازد. اگر Merge از پسش برمی‌آید، Merge را بردارید.

خلاصه

  • هرگز فایل دانلودشدهٔ اشتراک را مستقیم ویرایش نکنید؛ از پیکربندی توسعه‌یافته استفاده کنید
  • prepend-rules راه استاندارد درست کردن مسیریابی است، با بالاترین اولویت
  • فیلدهای سطح بالا کل بخش را جایگزین می‌کنندdns می‌نویسید، همه‌اش را بنویسید
  • store-selected: true ارزش افزودن دارد، تا بارگذاری دوباره انتخاب دستی‌تان را نبازد
  • نام گروه‌ها باید دقیقاً با اشتراک بخواند، ایموجی هم شامل است

بیشتر بخوانید: توضیح ساختار YAML و مرجع انواع قواعد.


مستندات مرتبط