ویرایش مستقیم فایل اشتراک، خطای کلاسیک تازه‌کارهاست: تغییر کار می‌کند — تا اولین به‌روزرسانی اشتراک که همه را پاک کند. جواب کلش ورج، Merge و Script است: تغییرات شما جدا نگه‌داری و خودکار روی هرچه سرویس‌دهنده می‌فرستد سوار می‌شوند.

کانفیگ اشتراک از Merge و Script می‌گذرد و کانفیگ نهایی ساخته می‌شود
هر بار بارگذاری: اشتراک ← Merge ← Script ← آنچه هسته واقعاً اجرا می‌کند

خط تولید

در هر بارگذاری کانفیگ: متن اشتراک ← اعمال Merge (اعلانی) ← اجرای Script (جاوااسکریپت) ← کانفیگ نهایی. به‌روزرسانی فقط حلقهٔ اول را عوض می‌کند؛ لایه‌های شما می‌مانند و دوباره اعمال می‌شوند.

محل ویرایش: در صفحهٔ «پروفایل‌ها» با کلیک راست — پیکربندی افزودهٔ سراسری (روی همهٔ اشتراک‌ها) یا Merge/Script کارت مشخص (فقط روی همان).

Merge: نود درصد نیازها

فایل Merge همان YAML است با کلیدهای پیشونددار که نحوهٔ ترکیب را می‌گویند: prepend- (درج در ابتدا)، append- (افزودن به انتها)، فیلد بدون پیشوند (جایگزینی کامل).

# قوانین من اول — بالاترین اولویت
prepend-rules:
  - DOMAIN-SUFFIX,corp-vpn.example,DIRECT
  - PROCESS-NAME,Telegram.exe,PROXY

# بخش DNS را کامل جایگزین کن
dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - https://1.1.1.1/dns-query

# یک گروه شخصی اضافه کن
append-proxy-groups:
  - name: "استریم"
    type: select
    proxies: [HK-01, SG-02]

prepend یا append فرق دارد: قانونی که باید بر قوانین اشتراک غلبه کند (مثلاً DIRECT اجباری برای دامنه‌ای) به prepend می‌رود؛ افزوده‌های پشتیبان به append. نحو خود قوانین: قوانین سفارشی.

Script: برای منطق پویا

هرچه Merge نتواند بگوید — ویرایش شرطی، فیلتر گروهی، ساخت گروه — کار Script است: تابعی جاوااسکریپتی که کانفیگ ترکیب‌شده را می‌گیرد و نهایی را برمی‌گرداند.

function main(config) {
  // حذف سرورهای «اطلاع‌رسانی» (اعلان انقضا، شمارندهٔ حجم)
  config.proxies = config.proxies.filter(
    p => !/انقضا|حجم|باقیمانده/i.test(p.name)
  );
  // UDP را برای همهٔ سرورهای vmess روشن کن
  config.proxies.forEach(p => {
    if (p.type === "vmess") p.udp = true;
  });
  return config;
}

استثنا در Script بارگذاری کانفیگ را می‌شکند — هسته با کانفیگ قبلی ادامه می‌دهد. بعد از هر ویرایش، قبل از آن‌که تغییر را اعمال‌شده فرض کنید، صفحهٔ «لاگ‌ها» را چک کنید.

تغییرات اعمال نمی‌شوند؟

  1. مطمئن شوید همان پروفایلِ انتخاب‌شده را ویرایش کرده‌اید (یا پیکربندی سراسری را)؛
  2. صفحهٔ لاگ‌ها را برای خطای YAML ببینید — یک تورفتگی اشتباه کل بلوک را باطل می‌کند؛
  3. کلیک راست روی پروفایل → «فعال‌سازی مجدد» — بارگذاری اجباری؛
  4. صفحهٔ «اتصال‌ها» نشان می‌دهد ترافیک واقعاً به کدام قانون می‌خورَد — ترتیب prepend را همین‌جا محک بزنید.

اگر سه بخش کانفیگ هنوز مبهم است، اول ساختار کانفیگ را بخوانید — بعدش Merge بدیهی به نظر می‌رسد.