راهنمای کاربر / پیشرفته

مبانی Mixin: دو شیوهٔ YAML و JavaScript

پیشرفته · به‌روزرسانی 2026-02-02 · حدود 2 دقیقه مطالعه

Mixin هنگام بارگذاری، سفارشی‌سازی‌های شما را در پروفایل فعال ادغام می‌کند (Settings → Profile Mixin). دو شیوهٔ نوشتن دارد با رفتارهای بسیار متفاوت:

حالت YAML: بازنویسی اعلانی

mixin:
  dns:
    enable: true
    enhanced-mode: fake-ip
  log-level: debug

هر فیلدی بنویسید، فیلد هم‌نامِ پیکربندی را یک‌جا جایگزین می‌کند. برای DNS یا log-level که تعویض کل بلوک بی‌ضرر است عالی؛ برای rules نامناسب — چون شما «افزودن» می‌خواهید نه «فقط همین‌ها بمانند».

حالت JavaScript: ادغام برنامه‌پذیر

module.exports.parse = async (raw, { yaml }) => {
  const config = yaml.parse(raw);
  // دو قانون پیش از قوانین اصلی
  config.rules = [
    "DOMAIN-SUFFIX,mybank.com,DIRECT",
    "DOMAIN-KEYWORD,ads,REJECT",
    ...config.rules,
  ];
  return yaml.stringify(config);
};

حالت JS کل شیء پیکربندی را به شما می‌دهد: درج قانون، فیلتر گره‌ها بر اساس نام، ویرایش انبوه ویژگی‌ها — هرچه بخواهید.

انتخاب

فقط DNS / سطح گزارش → YAML بس است. هر چیزی درگیر rules یا فهرست proxies → مستقیم JS. یادتان نرود کلید Mixin را روشن و پروفایل را برای بازخوانی دوباره انتخاب کنید.