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

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

مدیریت چند اشتراک — راه درست استفاده از proxy-providers

مبانی پیکربندی2026-07-011456 واژه3 دقیقه مطالعه
مدیریت چند اشتراک — راه درست استفاده از proxy-providers

داشتن دو سه اشتراک عادی است: یک اصلی، یک پشتیبان، و شاید چیزی که خودتان میزبانی می‌کنید.

جابه‌جا کردن فایل‌های پیکربندی در کلاینت خسته‌کننده است و هر جابه‌جایی همهٔ اتصال‌ها را می‌اندازد. راه بهتر این است که با proxy-providers همه را در یک پیکربندی ادغام کنید.

proxy-providers چیست

این مسئلهٔ «گره‌ها از کجا می‌آیند» را از پیکربندی اصلی جدا می‌کند: پیکربندی اصلی فقط گروه‌های سیاست و قواعد را توصیف می‌کند و گره‌ها را provider به‌صورت پویا تأمین می‌کند.

مقایسهٔ ساختاریراه سنتیگره‌ها در بخش proxies سفت نوشته شده‌اندگروه‌ها به نام گره ارجاع می‌دهندهر تغییر اشتراک یعنی ویرایش پیکربندیراه providerگره‌ها را provider تأمین می‌کند
provider خودش طبق زمان‌بندی به‌روز می‌شود، پس پیکربندی اصلی هرگز نیاز به تغییر ندارد

نحو پایه

proxy-providers:
  main:
    type: http
    url: "https://لینک-اشتراک-اصلی"
    interval: 3600
    path: ./providers/main.yaml
    health-check:
      enable: true
      url: http://www.gstatic.com/generate_204
      interval: 300
      lazy: true

  backup:
    type: http
    url: "https://لینک-اشتراک-پشتیبان"
    interval: 3600
    path: ./providers/backup.yaml
    health-check:
      enable: true
      url: http://www.gstatic.com/generate_204
      interval: 600
      lazy: true

proxy-groups:
  - name: "🚀 انتخاب"
    type: select
    use: [main, backup]          # همهٔ گره‌های هر دو provider
    proxies: ["♻️ خودکار", DIRECT] # می‌شود موارد دیگر را هم قاطی کرد

  - name: "♻️ خودکار"
    type: url-test
    use: [main]
    url: http://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50

فیلدها

فیلدمعنی
typehttp (اشتراک راه دور) / file (فایل محلی) / inline
urlنشانی اشتراک
intervalبازهٔ به‌روزرسانی برحسب ثانیه؛ ۳۶۰۰ یعنی یک ساعت
pathمسیر کش محلی
headerسرآیندهای سفارشی درخواست، برای تعیین User-Agent
filterفقط گره‌های تطبیق‌خورده را نگه دار
exclude-filterگره‌های تطبیق‌خورده را بینداز
exclude-typeنوع‌های خاصی از پروتکل را بینداز
health-checkپیکربندی بررسی سلامت
overrideتغییر انبوه ویژگی گره‌ها (Mihomo)

تمیز کردن فهرست گره با filter

در اشتراک‌ها مرتب شبه‌گره‌هایی مثل «باقی‌مانده: xx گیگابایت» یا «انقضا: xx روز» پیدا می‌شود، به‌علاوهٔ منطقه‌هایی که به کارتان نمی‌آید.

proxy-providers:
  main:
    type: http
    url: "..."
    interval: 3600
    path: ./providers/main.yaml
    # فقط این منطقه‌ها را نگه دار
    filter: "(?i)HK|Hong ?Kong|JP|Japan|SG|Singapore|US"
    # این‌ها را بینداز
    exclude-filter: "(?i)remaining|expire|traffic|website|reset|subscription|test"
    exclude-type: "ss|ssr"       # بعضی پروتکل‌ها را بینداز
    health-check:
      enable: true
      url: http://www.gstatic.com/generate_204
      interval: 300

User-Agent: وقتی قالب Clash به دستتان نمی‌رسد

بعضی ارائه‌دهنده‌ها بسته به UA قالب متفاوتی از اشتراک برمی‌گردانند:

proxy-providers:
  main:
    type: http
    url: "..."
    header:
      User-Agent: ["clash.meta"]

مقادیر رایج: clash.meta، mihomo، clash-verge/v2.5.2، ClashforWindows/0.19.23.

اگر یک provider هرگز گره‌ای تولید نمی‌کند، اول به UA شک کنید.

health-check: چرا اجباری است

بدون بررسی سلامت، گره‌های درون یک provider دادهٔ تأخیر ندارند، پس گروه url-test چیزی برای انتخاب ندارد.

health-check:
  enable: true
  url: http://www.gstatic.com/generate_204
  interval: 300
  lazy: true
  expected-status: 204     # کد وضعیت مورد انتظار

lazy: true وقتی ترافیکی نمی‌گذرد بررسی را رد می‌کند و منابع را نگه می‌دارد.

override: ویرایش انبوه ویژگی گره‌ها

قابلیتی از Mihomo برای تنظیم یک‌بارهٔ همهٔ گره‌های یک provider:

proxy-providers:
  main:
    type: http
    url: "..."
    override:
      udp: true                    # UDP را به‌زور روشن کن
      skip-cert-verify: false      # گواهی را به‌زور بررسی کن
      additional-prefix: "[Main] " # به هر نام گره پیشوند بزن
      # additional-suffix: " ⚡"

additional-prefix با چند اشتراک واقعاً به کار می‌آید — یک نگاه به فهرست گره‌ها می‌گوید هرکدام از کجا آمده.

یک پیکربندی کامل چنداشتراکی

proxy-providers:
  subA:
    type: http
    url: "https://a.example.com/sub"
    interval: 3600
    path: ./providers/a.yaml
    exclude-filter: "(?i)remaining|expire|website"
    override:
      additional-prefix: "[A] "
    health-check: { enable: true, url: http://www.gstatic.com/generate_204, interval: 300, lazy: true }

  subB:
    type: http
    url: "https://b.example.com/sub"
    interval: 3600
    path: ./providers/b.yaml
    exclude-filter: "(?i)remaining|expire|website"
    override:
      additional-prefix: "[B] "
    health-check: { enable: true, url: http://www.gstatic.com/generate_204, interval: 600, lazy: true }

proxy-groups:
  # کلید اصلی
  - name: "🚀 انتخاب"
    type: select
    proxies: ["♻️ بهترین کلی", "🅰️ اشتراک A", "🅱️ اشتراک B", "🇭🇰 هنگ‌کنگ", DIRECT]

  # سریع‌ترین میان هر دو اشتراک
  - name: "♻️ بهترین کلی"
    type: url-test
    use: [subA, subB]
    interval: 300
    tolerance: 50
    lazy: true

  # گروه‌بندی به‌ازای اشتراک، برای مقایسه و عیب‌یابی
  - name: "🅰️ اشتراک A"
    type: url-test
    use: [subA]
    interval: 300
    tolerance: 50
  - name: "🅱️ اشتراک B"
    type: url-test
    use: [subB]
    interval: 300
    tolerance: 50

  # گروه‌بندی منطقه‌ای روی هر دو اشتراک
  - name: "🇭🇰 هنگ‌کنگ"
    type: url-test
    use: [subA, subB]
    filter: "(?i)HK|Hong ?Kong"
    interval: 300
    tolerance: 50

  # اصلی/پشتیبان: وقتی A بمیرد به B برو
  - name: "🛡 اصلی/پشتیبان"
    type: fallback
    proxies: ["🅰️ اشتراک A", "🅱️ اشتراک B"]
    interval: 300
این پیکربندی چه چیزی را حل می‌کند1یک پیکربندی برای همهٔ اشتراک‌هاجابه‌جا کردن فایل لازم نیست و تعویض اتصال‌ها را نمی‌اندازد2بهترین انتخاب خودکار میان اشتراک‌ها«بهترین کلی» سریع‌ترین گره را از هرکدام برمی‌دارد3گروه‌های به‌ازای اشتراک برای عیب‌یابیبه یکی شک دارید، به گروهش بروید و بسنجید4انتقال خودکار در خرابیوقتی A کاملاً بمیرد به B می‌افتد5نام گره‌های پیشونددارمنبع در یک نگاه معلوم است

فایل محلی و تعریف درجا

فایل محلی (گره‌هایی که خودتان نگه می‌دارید):

proxy-providers:
  selfhosted:
    type: file
    path: ./providers/self.yaml
    health-check: { enable: true, url: http://www.gstatic.com/generate_204, interval: 300 }

قالب فایل:

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

درجا (مستقیم در پیکربندی اصلی):

proxy-providers:
  selfhosted:
    type: inline
    payload:
      - name: "سرور من"
        type: trojan
        server: my.example.com
        port: 443
        password: "pwd"

عیب‌یابی providerی که بارگذاری نمی‌شود

ترتیب بررسیفایل کش نام‌برده در path را باز کنید و ببینید YAML معتبری هست یا نهمحتوا یک صفحهٔ HTML است — آن url صفحهٔ وب برگردانده؛ نشانی غلط است یا ورود می‌خواهدمحتوا یک رشتهٔ بلند base64 است — قالب اشتراک غلط است، لینک Clash لازم داریدفایل وجود ندارد — دانلود شکست خورده و شبکه‌تان به میزبان اشتراک نمی‌رسدفایل سالم است ولی گره‌ای نیست — عبارت باقاعدهٔ filter زیادی سختگیر است و همه را انداختهلاگ را روی debug بگذارید و نام provider را جست‌وجو کنید تا سابقهٔ بارگذاری را ببینید

وقتی به‌روزرسانی نمی‌آید

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

proxy-providers:
  main:
    type: http
    url: "..."
    proxy: DIRECT      # یا نام یک گروه سیاست

جایی که پشتیبانی نمی‌شود، گزینهٔ «به‌روزرسانی اشتراک از راه پروکسی» را در کلاینت روشن کنید.

تفاوتش با نگه داشتن چند پروفایل

Clash Verge امکان ذخیرهٔ چند کارت پروفایل و تعویض با یک کلیک را می‌دهد. این ایده‌ای متفاوت از proxy-providers است:

چند پروفایلproxy-providers
تعویضکلیک دستی روی کارتچیزی برای تعویض نیست
هزینهٔ تعویضبارگذاری دوبارهٔ هسته، افتادن اتصال‌هاهیچ
ادغام گره‌هاممکن نیستگروه‌ها می‌توانند چند اشتراک را در بر بگیرند
نگهداریهر پروفایل مستقلیک پیکربندی اصلی
مناسبسناریوهای واقعاً متفاوت (کار و خانه با قواعد کاملاً جدا)وقتی فقط منبع گره فرق دارد

اگر فقط منبع اشتراک فرق دارد و قواعد یکسان‌اند، provider بردارید؛ اگر قواعد هم فرق دارند، پروفایل جداگانه.

خلاصه

  • برای چند اشتراک با proxy-providers ادغام کنید نه با جابه‌جا کردن فایل‌ها
  • exclude-filter شبه‌گره‌های «ترافیک باقی‌مانده» را پاک می‌کند
  • health-check اجباری است، وگرنه url-test داده‌ای برای کار ندارد
  • به اشتراک‌های پشتیبان بازهٔ بلندتری بدهید تا اتصال‌های بیهوده کم شود
  • additional-prefix منبع را علامت می‌زند و هنگام عیب‌یابی وقت صرفه‌جویی می‌کند
  • وقتی بارگذاری شکست می‌خورد، اول محتوای فایل کش را ببینید

بیشتر بخوانید: پنج نوع proxy-groups و عبارت باقاعده برای نام‌گذاری و گروه‌بندی گره‌ها.


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

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

ویرایش پیکربندی دانلودشده در به‌روزرسانی بعدی از بین می‌رود. پیکربندی توسعه‌یافتهٔ Clash Verge چطور کار می‌کند: نحو prepend/append/override، ترتیب ادغام، و مجموعه‌ای از قطعه‌های کاربردی.

2026-07-091299 واژه3 دقیقه مطالعه