Skip to content

موتور ​

موتور بخشی از پنل است که ترافیک را می‌خواند، سقف‌ها را اعمال می‌کند و مسیریابی را انجام می‌دهد. این کار را کرنل لینوکس می‌کند، نه یک پردازه‌ی پراکسی. موتور در نوار کناری صفحه‌های پایه، بالانسرها، DNS و پیشرفته را باز می‌کند، به‌علاوه‌ی دو صفحه‌ی فقط‌خواندنی تولیدشده و گزارش‌ها.

ذخیره در بالای صفحه تغییرات را نگه می‌دارد. بازهٔ جمع‌آوری و قالب گزارش بعد از ری‌استارت بعدی اعمال می‌شوند و بقیه همان لحظه.

پایه ​

عمومی ​

تنظیمکارش
استراتژی کلی مسیریابینام‌های فهرست‌های مسیریابی به کدام خانواده‌ی آدرس ترجمه شوند: AsIs (هر دو)، UseIPv4 یا UseIPv6.
آدرس تست خروجیآدرسی که بررسی‌های HTTP در صفحه‌ی خروجی‌ها از طریق یک هاپ باز می‌کنند. فقط trace کلادفلر، که پیش‌فرض است، آدرس و کشور خروجی را گزارش می‌دهد؛ هر آدرس دیگری فقط تأخیر را اندازه می‌گیرد.

آمار ​

تنظیمکارش
آمار ترافیک خروجیبرای هر خروجی یک شمارنده‌ی بایت در کرنل نگه می‌دارد، برای ستون ترافیک در صفحه‌ی خروجی‌ها.
بازهٔ جمع‌آوریشمارنده‌های ترافیک هر چند ثانیه یک بار خوانده و سقف‌ها اعمال شوند. بازه‌ی کوتاه‌تر مشتری را نزدیک‌تر به بایت آخر قطع می‌کند و سرعت‌ها را زنده‌تر نشان می‌دهد، با کمی کار بیشتر برای سرور. 0 مقدار تعیین‌شده در محیط سرویس را نگه می‌دارد. بعد از ری‌استارت اعمال می‌شود.
بازهٔ آنلایندستگاه تا چند ثانیه بعد از آخرین handshake در صفحه‌ی اینترفیس‌ها و در اعلان‌ها آنلاین حساب شود؛ پیش‌فرض ۱۸۰ ثانیه است. ستون آنلاین فهرست مشتری‌ها به جای این از ترافیک زنده استفاده می‌کند؛ کلاینت‌ها را ببینید.

بررسی سلامت ​

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

تنظیمکارش
بازهٔ پروبهر عضو بالانسر هر چند ثانیه یک بار اندازه گرفته شود.
پروب هم‌زمانهمه‌ی اعضا را با هم اندازه می‌گیرد، نه یکی‌یکی. سریع‌تر است و روی شبکه بیشتر به چشم می‌آید.

لاگ ​

تنظیمکارش
سطح گزارشپایین‌ترین سطحی که نوشته می‌شود: debug، info، warning یا error. خالی یعنی پیش‌فرض. همان لحظه اعمال می‌شود.
قالب گزارشمتن ساده، یا هر خط یک شیء JSON برای ابزار جمع‌آوری لاگ. بعد از ری‌استارت اعمال می‌شود.
گزارش دسترسیهر درخواست به API پنل را ثبت می‌کند. وقتی خاموش است، فقط خطاها ثبت می‌شوند.
پنهان کردن آدرسآدرس‌های داخل لاگ را پوشیده می‌نویسد، برای لاگ‌هایی که از سرور بیرون می‌روند.

برگشت به پیش‌فرض ​

بعد از تأیید، همه‌ی تنظیمات صفحه‌های موتور، از جمله سرورها و هاست‌های DNS، به حالت نصب تازه برمی‌گردند. به خروجی‌ها، بالانسرها و قانون‌ها دست زده نمی‌شود.

بالانسرها ​

تنظیمات بالانسر ​

همه‌ی بالانسرها با دو ستون فهرست می‌شوند. هدف زنده عضوی است که همین حالا ترافیک را می‌برد و با ↻ دوباره خوانده می‌شود. اجبار مسیر بالانسر را دستی روی یک عضو ثابت می‌کند، یا آن را روی خودکار (استراتژی) می‌گذارد تا استراتژی‌اش انتخاب کند. بالانسر غیرفعال این را نشان می‌دهد.

افزودن و ویرایش فرم بالانسر را باز می‌کنند:

  • تگ: نام بالانسر، که قانون‌ها به آن اشاره می‌کنند.
  • استراتژی: random یا leastPing؛ مسیریابی را ببینید.
  • انتخابگر: خروجی‌های عضو.
  • جایگزین: هاپی که وقتی هیچ عضوی بالا نیست ترافیک را می‌برد. باید خودش یک خروجی باشد؛ بالانسر نمی‌تواند به بالانسر دیگری برگردد.

بالانسری که قانونی به آن اشاره می‌کند، تا آن قانون‌ها عوض نشوند حذف نمی‌شود.

رصدخانه ​

این‌ها بررسی‌هایی هستند که به بالانسر leastPing می‌گویند کدام عضو سریع‌تر است. وقتی بالانسری وجود داشته باشد خودشان اجرا می‌شوند و دقیقاً اعضای بالانسرها را زیر نظر دارند. آدرس پروب (URL) همان آدرسی است که باز می‌کنند، یعنی آدرس تست خروجی. بازهٔ پروب و پروب هم‌زمان همان تنظیمات بخش بررسی سلامت‌اند.

DNS ​

پنل حل‌کننده‌ی DNS خودش را روی آدرس دروازه‌ی هر اینترفیس، پورت 53، اجرا می‌کند و آن را به‌عنوان DNS به مشتری‌ها می‌دهد. پرس‌وجوهای مشتری روی همان تونل جواب داده می‌شود و از خروجی درست بیرون می‌رود.

عمومی ​

تنظیمکارش
فعال کردن حل دامنهپیش‌فرض روشن است. وقتی خاموش باشد، فایل‌های مشتری‌ها به جای آن DNS تنظیم‌شده‌ی هر اینترفیس را می‌آورند.
در حال پاسخ رویآدرس‌های تونلی که حل‌کننده همین حالا رویشان گوش می‌دهد. تا تنظیمات با دست‌کم یک سرور ذخیره نشود، گوش نمی‌دهد نشان داده می‌شود. فایلی که وقتی حل‌کننده روشن است صادر شود، دروازه‌ی تونلش را به‌عنوان DNS می‌آورد؛ مگر این که حل‌کننده نتوانسته باشد پورت 53 را آن‌جا باز کند (برنامه‌ی دیگری آن را گرفته یا سرویس اجازه‌اش را ندارد). در این حالت فایل‌های آن تونل DNS تنظیم‌شده‌ی خود اینترفیس را می‌آورند تا هیچ مشتری‌ای DNS‌ی نگیرد که جواب نمی‌دهد.
استراتژی پرس‌وجوUseIP (هر دو خانواده)، UseIPv4 یا UseIPv6. پیش‌فرض فقط IPv4 است، چون تونل‌ها IPv4 می‌برند. نامی که آدرس IPv6 هم برمی‌گرداند باعث می‌شد گوشی اول آن را امتحان کند، منتظر شکستش بماند و تازه صفحه را باز کند، یا در اپی که به IPv4 برنمی‌گردد اصلاً باز نکند.
غیرفعال‌سازی کشکش را خاموش می‌کند.
TTL نتایج منقضیجواب کهنه‌ی کش تا چند ثانیه داده شود تا جواب تازه برسد. 0 یعنی جواب کهنه هیچ‌وقت داده نمی‌شود.

درخواست‌های DNS ممکن است از حل‌کننده‌ی قبلی دستگاه، از UDP یا TCP ساده، یا از پرس‌وجوهای fallback نشت کند. جایی که حریم خصوصی مهم است، از سرورهای DNS-over-HTTPS، هاست‌های ثابت و رد کردن Fallback استفاده کنید.

هاست‌ها ​

یک دامنه را به آدرس‌هایی که می‌دهید ثابت می‌کند، برای سرویسی که خودتان میزبانی می‌کنید یا سرویسی که می‌خواهید جوابش را عوض کنید. دامنه می‌تواند example.com باشد، یا *.example.com برای همه‌ی نام‌های زیرش.

سرورها ​

پرس‌وجوها به کجا بروند. افزودن سرور این‌ها را می‌پرسد:

  • آدرس: مثل 8.8.8.8، یا آدرس DNS-over-HTTPS مثل https://cloudflare-dns.com/dns-query؛
  • پورت؛
  • دامنه‌هایی که این سرور جواب می‌دهد. خالی یعنی همه‌ی نام‌ها؛ پس می‌شود بعضی نام‌ها را به یک حل‌کننده و بقیه را به دیگری فرستاد؛
  • رد کردن Fallback: وقتی دامنه‌های خود این سرور جواب نگیرند، سراغ آن نمی‌رود.

استفاده از پیش‌تنظیم یک مجموعه‌ی شناخته‌شده اضافه می‌کند: Google، Cloudflare، AdGuard، AdGuard Family، Cloudflare Family یا Cloudflare DoH. حذف همه فهرست را خالی می‌کند. نصب تازه با 1.1.1.1 و 8.8.8.8 شروع می‌شود.

دو چیز تنظیمی لازم ندارند. پرس‌وجوهای بالادست علامت خروجی پیش‌فرض را دارند، پس DNS از همان راهی بیرون می‌رود که ترافیک. MSS هر اتصال TCP داخل تونل هم با MTU تونل تنظیم می‌شود، تا سایتی که پشت load balancer است و پیام «fragmentation needed» را دور می‌ریزد روی جواب‌های بزرگ گیر نکند.

پیشرفته ​

پیکربندی پیشرفته الگو کل پیکربندی پنل را به شکل یک سند JSON نشان می‌دهد: همه، یا یک بخش از آن، یعنی اینترفیس‌ها، خروجی‌ها یا قوانین مسیریابی. می‌توانید آن را کپی کنید، در کنترل نسخه نگه دارید، یا ویرایش و اعمالش کنید. اعمال یک‌جاست: یا همه‌ی بخش‌ها پذیرفته می‌شوند، یا هیچ چیز عوض نمی‌شود. ردیف‌ها با نام یا تگ تطبیق داده می‌شوند و چیزی با جا ماندن از سند پاک نمی‌شود.

برنامه‌های کرنل برنامه‌هایی را که پنل از کرنل می‌خواهد اجرا کند، فقط‌خواندنی و به شکل متن، نشان می‌دهد. این برنامه‌ها در هر دور از دیتابیس دوباره نوشته می‌شوند، پس این‌جا جایی است که می‌بینید واقعاً چه چیزی اعمال شده.

تولیدشده ​

آنچه پنل از سرور می‌خواهد انجام دهد، به شکل متن؛ تا سرور را با آنچه واقعاً اجرا می‌کند عیب‌یابی کنید، نه با روایت خود پنل. کدام برنامه یکی از سه برنامه را انتخاب می‌کند و هر کدام با فعال یا اعمال نمی‌شود علامت خورده است:

برنامهچیست
سقف حجمبرنامه‌ی nftables که مصرف را می‌شمارد و سقف‌ها را در کرنل اعمال می‌کند.
مسیریابیعلامت‌ها و جدول‌هایی که ترافیک را به خروجی‌اش می‌فرستند.
محدودیت سرعتصف‌های هر مشتری.

پنل در هر دور این‌ها را از دیتابیس دوباره می‌نویسد و چیزی در این صفحه ویرایش‌شدنی نیست. کپی متن را برمی‌دارد؛ مرورگر روی صفحه‌ی HTTP ساده اجازه‌ی دسترسی به کلیپ‌بورد نمی‌دهد.

گزارش‌ها ​

۳۰۰ خط آخر لاگ پنل، با فیلتر سطح و دکمه‌ی تازه‌سازی. پنجره‌ی لاگ‌ها در نمای کلی امکانات بیشتری دارد: جستجو، ژورنال سیستم و دنبال کردن زنده‌ی لاگ.

Released under the AGPL-3.0 License.