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 آدرس اشتراکها را با عبارت باقاعده میگیرد - یک پارسر چند اشتراک یک ارائهدهنده را پوشش میدهد.