هر قانون از سه بخش ساخته شده
قانون همیشه type، value و policy است که با کاما جدا میشوند. DOMAIN-SUFFIX,github.com,PROXY یعنی هر دامنهای که به github.com ختم شود به گروه سیاست PROXY برود.
انواعی که ارزش یاد گرفتن دارند سه خانوادهاند. بر پایه دامنه: DOMAIN برای تطبیق دقیق، DOMAIN-SUFFIX برای هر چیزی که به آن رشته ختم شود و DOMAIN-KEYWORD برای هر چیزی که آن را در خود دارد. بر پایه آدرس: IP-CIDR و GEOIP. و PROCESS-NAME که روی برنامه بازکننده اتصال تطبیق میدهد.
نام اشتباه سیاست کل پیکربندی را زمین میزند
بخش سوم باید گروه سیاستی باشد که همین حالا در پیکربندی هست، یا DIRECT و REJECT.
کجا بنویسید که بهروزرسانی پاکشان نکند
- 1
ویرایش فایل دانلودشده اشتراک بیفایده است
فایلی که اشتراک ساخته یک کش است. بهروزرسانی بعدی آن را کامل بازنویسی میکند و هر خطی که اضافه کردهاید با آن میرود. تقریباً همه یک بار این اشتباه را میکنند.
- 2
از prepend-rules در پیکربندی گسترشیافته استفاده کنید
در منوی ویرایش پروفایل، پیکربندی گسترشیافته یعنی فایل Merge را باز کنید، یک بلوک
prepend-rulesبسازید و قوانین خود را زیر آن بنویسید. Clash Verge هر بار که پیکربندی نهایی را میسازد این خطها را جلوتر از قوانین اشتراک میگذارد. - 3
جایگاه یعنی اولویت
داخل
prepend-rulesهر چه بالاتر، زودتر. خطهای شما باید بالای قوانین کلی سرویسدهنده بنشینند وگرنه آنها اول تطبیق پیدا میکنند. نوشتن قانون در انتهای فهرست فایدهای ندارد، چون بعد ازMATCHپایانی هیچ خطی خوانده نمیشود.
سه جایی که کار خراب میشود
DOMAIN-SUFFIX انتهای نام را میسنجد، پس example.com همه زیردامنهها را هم میگیرد و معمولاً همین را میخواهید. DOMAIN-KEYWORD آزمون زیررشته است و کلیدواژه کوتاهی مثل google هر دامنهای را که این حروف در آن آمده جمع میکند. قوانین IP یک نکته پنهان دارند: دامنه اول باید به آدرس تبدیل شود تا مقایسه ممکن باشد و همان جستجو ممکن است از مسیر اشتباه رفته باشد.
- دامنه را در صفحه Rules جستجو کنید و ببینید اولین تطبیق همان خط شماست
- خطای yaml در لاگ تقریباً همیشه یعنی تورفتگی یا یک کامای جاافتاده
- اتصالهای باز شده پیش از تغییر مسیر قبلی را نگه میدارند؛ اول ببندیدشان
پرسشهای رایج
قانون را اضافه کردهام ولی ترافیک هنوز از مسیر قبلی میرود؛ از کجا شروع کنم؟
اول مطمئن شوید پروفایل دوباره بارگذاری شده؛ بالای صفحه لاگ باید ردی از بارگذاری مجدد باشد و اگر خطایی هست همان اول است. بعد دامنه را در صفحه Rules جستجو کنید و ببینید کدام خط تطبیق میدهد؛ اگر خط شما نیست، چیزی بالاتر درخواست را برداشته. در آخر ستون Chains در صفحه Connections را ببینید.
در PROCESS-NAME برای ویندوز و macOS چه بنویسم؟
در ویندوز نام فایل اجرایی با پسوند، مثلاً chrome.exe. در macOS و لینوکس نام باینری بدون پسوند، مثلاً curl. دقیقاً همان چیزی را بنویسید که فهرست پردازشها نشان میدهد، بزرگی و کوچکی حروف هم مهم است. هسته هم باید اجازه خواندن اطلاعات پردازشها را داشته باشد.