Parsers در لحظه پایان دانلود یا به‌روزرسانی اشتراک اجرا می‌شوند و محتوایش را خودکار دگرگون می‌کنند. برخلاف Mixin سراسری، یک پارسر می‌تواند دقیقاً یک اشتراک را هدف بگیرد - نعمتی برای دارندگان چند ارائه‌دهنده.

محل ویرایش

Settings → Parsers → Edit یک YAML با این ساختار باز می‌کند:

parsers:
  # تطبیق دقیق url یک اشتراک
  - url: https://example.com/api/sub?token=abc
    yaml:
      prepend-rules:
        - DOMAIN-SUFFIX,company.com,DIRECT
        - DOMAIN-KEYWORD,tracker,REJECT
      append-proxies:
        - name: "my-backup"
          type: ss
          server: my.server.com
          port: 8388
          cipher: aes-256-gcm
          password: mypass

میان‌برهای بخش yaml

دستوراثر
prepend-rules / append-rulesدرج قاعده در ابتدا / انتها (ابتدا = اولویت بالاتر).
prepend-proxies / append-proxiesدرج نود.
prepend-proxy-groups / append-proxy-groupsدرج گروه پروکسی.
mix-proxy-providers / mix-rule-providersادغام تعریف providerها.
mix-objectادغام سطحی هر فیلد سطح بالا (dns، tun و…).

حالت code: کنترل کامل برنامه‌نویسی

parsers:
  - reg: ^https://example\.com/
    code: |
      module.exports.parse = (raw, { yaml }) => {
        const config = yaml.parse(raw);
        // حذف نودهای «اطلاع‌رسانی» مثل اعلان انقضا
        config.proxies = config.proxies.filter(
          p => !/expire|remaining|website/i.test(p.name)
        );
        return yaml.stringify(config);
      };

reg آدرس اشتراک‌ها را با عبارت باقاعده می‌گیرد - یک پارسر چند اشتراک یک ارائه‌دهنده را پوشش می‌دهد.

نکته: Parsers نسخه دانلودشده را تغییر می‌دهند، نه اصل روی سرور را؛ برای بازگشت، بلوک پارسر را حذف و اشتراک را دوباره به‌روزرسانی کنید. بعد از ویرایش Parsers یک به‌روزرسانی دستی بزنید تا اثر را ببینید.