نوشتن صدها قاعده با دست واقع‌بینانه نیست. providerهای قاعده آن‌ها را به فایل‌های مستقل می‌برند - نگهداری با اجتماع، به‌روزرسانی خودکار - و با یک خط RULE-SET ارجاع می‌شوند. قابلیت هسته Premium است و در Clash for Windows آماده.

ساختار پایه

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

rules:
  - RULE-SET,cn-domains,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,Select
  • type: http از URL می‌گیرد و هر interval ثانیه تازه می‌کند؛ type: file فایل محلی می‌خواند.
  • path کش محلی است - هر provider مسیر مخصوص خودش، وگرنه همدیگر را می‌پوشانند.

سه behavior

behaviorمحتوای فایلمعادل
domainفهرست دامنه خالص (+.google.com)DOMAIN / DOMAIN-SUFFIX
ipcidrفهرست CIDR خالص (8.8.8.0/24)IP-CIDR
classicalخطوط کامل قاعده (نوع,محتوا)هر ترکیبی

behavior باید با قالب واقعی فایل بخواند، وگرنه کل مجموعه بی‌صدا هیچ کاری نمی‌کند - علت شماره یک «مجموعه قواعدم کار نمی‌کند».

مجموعه‌های اجتماع

کلکسیون‌های پرکاربرد (مثل Loyalsoldier/clash-rules) فهرست‌های دامنه و IP دسته‌بندی‌شده با به‌روزرسانی روزانه می‌دهند. هنگام انتخاب به تناوب به‌روزرسانی، ریزی دسته‌ها و ارائه جداگانه قالب‌های domain/ipcidr نگاه کنید. ترکیب دسته‌های معمول (cn، proxy، reject، private، telegram و…) یک مسیریابی پخته کامل است - نمونه کامل در شمای کلاسیک.

به‌روزرسانی و عیب‌یابی

  • وضعیت providerها در کلاینت پیداست؛ provider ... initial failed در گزارش یعنی دانلود شکست خورد.
  • URL مجموعه شاید خودش به پروکسی نیاز داشته باشد: از هر نود زنده وصل شوید، بعد پروفایل را دوباره بارگذاری کنید.
نکته: خطوط RULE-SET و قواعد معمولی آزادانه مخلوط می‌شوند، باز هم از بالا به پایین. قواعد شخصی را بالای RULE-SETها بگذارید تا تک‌رکوردهای مجموعه را لغو کنند.