تنظیمات عمومی#
💡 نکته: لازم نیست فایل TOML را دستی ویرایش کنید. از منوی اصلی به Settings → General Settings بروید تا این گزینهها را به صورت تعاملی با استفاده از Inspector برنامه تغییر دهید.
فایل تنظیمات: settings/general_settings.toml
این فایل محدودیتهای کلی اسکن، نرخ محدودکننده Probeها (Rate Limiting)، حالت اجرای Pipeline و اندازهگیری بافرها را کنترل میکند.
خلاصهٔ گزینهها#
| گزینه | پیشفرض | توضیح |
|---|---|---|
status_interval | 1000 | فاصلهٔ بهروزرسانی پیشرفت (میلیثانیه) |
stop_after_found | 0 | رزرو شده؛ موتور فعلی آن را اجرا نمیکند |
max_ips_to_test | 0 | سقف تعداد IPهای خوانده شده از منبع ورودی |
pipeline_mode | "streaming" | حالت اجرای اسکن چندمرحلهای |
max_ips_per_stage | وابسته به سیستم | اندازهٔ بافر کانال بین مرحلههای استریمینگ |
batch_size | وابسته به سیستم | تعداد IP در هر Batch (حالت Batch) |
shuffled | true | تصادفیکردن ترتیب هدفها |
min_probe_duration | وابسته به سیستم | حداقل زمان صرفشده برای هر Probe (میلیثانیه) |
probe_per_sec | وابسته به سیستم | سقف نرخ پایدار اسکن (Token-bucket refill) |
probe_burst | وابسته به سیستم | حداکثر Probe پشتسرهم (Token-bucket capacity) |
Status Interval#
status_interval = 1000هر مرحله هر چند میلیثانیه یکبار وضعیت پیشرفت را به رابط کاربری میفرستد. محدودهٔ مجاز ۱۰۰ میلیثانیه تا ۶۰ ثانیه است. مقدار کمتر، بازخورد نرمتری میدهد اما در اسکنهای بسیار بزرگ CPU بیشتری مصرف میکند.
Stop After Found#
stop_after_found = 0برای توقف اسکن بعد از N نتیجهٔ موفق در نظر گرفته شده، اما موتور فعلی هنوز آن را اجرا نمیکند. روی 0 بگذارید.
Max IPs to Test#
max_ips_to_test = 0سقف تعداد IPهایی است که از منبع ورودی خوانده میشوند. 0 یعنی همهٔ IPها خوانده شوند. برای نمونهبرداری از فهرستهای بسیار بزرگ یا محدودههای وسیع IPv6 که اسکن کامل آنها غیرعملی است، مفید است.
Pipeline Mode#
pipeline_mode = "streaming"مشخص میکند هدفها در اسکن چندمرحلهای چطور بین مرحلهها حرکت کنند:
| مقدار | رفتار |
|---|---|
streaming یا parallel | همهٔ مرحلهها همزمان اجرا میشوند و IPهای موفق از طریق کانالهای حافظه به مرحلهٔ بعد میروند. |
sequential یا simple | مرحلهٔ N تمام شده و نتیجه را مینویسد؛ مرحلهٔ بعد فایل را به عنوان ورودی میخواند. |
batch یا pipeline | IPها دستهبندی (Chunk) میشوند و هر دسته قبل از خواندن دسته بعد، از تمام مرحلهها عبور میکند. |
مقدار خالی یا ناشناخته هنگام خواندن به sequential برمیگردد، اما اعتبارسنجی فقط مقادیر لیست بالا را قبول میکند و در صورت خطا پیشفرض را بازمیگرداند. برای تفاوت حالتها زنجیرهٔ اسکن را ببینید.
Max IPs Per Stage#
max_ips_per_stage = 100000اندازهٔ کانالی است که یک مرحلهٔ Streaming را به مرحلهٔ بعد وصل میکند. بافر بزرگتر باعث میشود مرحلهٔ سریع هنگام کند بودن مرحلهٔ بعدی کمتر منتظر بماند، اما حافظهٔ بیشتری مصرف میکند. هر ورودی بافر فقط یک آدرس است.
این مقدار اگر تعداد Workerهای مرحلهٔ بعدی بیشتر باشد، به آن تعداد افزایش مییابد. فقط در حالت streaming استفاده میشود و محدودهٔ مجاز آن ۱ تا ۱۰٬۰۰۰٬۰۰۰ است.
Batch Size#
batch_size = 5000تعداد IP در هر دسته (Chunk) در حالت batch است. در اسکنهای بیش از یک مرحله، اندازهٔ موثر برابر max(batch_size, بیشترین تعداد Worker در مراحل بعدی) است، بنابراین Batch هرگز کوچکتر از Workerهایی که باید آن را تخلیه کنند نیست.
Shuffle Targets#
shuffled = trueترتیب هدفها را قبل از اسکن تصادفی میکند. برای پخشکردن فشار بار روی Subnetها، جلوگیری از فشار به یک محدوده خاص و گرفتن نمونه آماری دقیقتر (همراه با max_ips_to_test) مفید است.
Probe Rate Limit#
probe_per_sec = 500
probe_burst = 100مقادیر probe_per_sec و probe_burst یک محدودکننده Token-bucket تشکیل میدهند که روی تمام Probeها در همه مرحلهها اعمال میشود. probe_per_sec سقف پایدار (نرخ شارژ توکنها در ثانیه) و probe_burst ظرفیت باکت (تعداد Probeهایی که میتوانند پشت سر هم انجام شوند قبل از بلاک شدن) است. این تنظیمات حجم درخواستهای خروجی را مستقل از تعداد Workers کنترل میکنند تا از Limit شدن توسط DPI یا upstream جلوگیری شود.
هر دو مقدار اعتبارسنجی میشوند (probe_per_sec از ۱ تا ۱٬۰۰۰٬۰۰۰ و probe_burst از ۱ تا ۱۰٬۰۰۰). مقادیر خارج از محدوده رد شده و به پیشفرض بازمیگردند.
Minimum Probe Duration#
min_probe_duration = 50یک حداقل زمان برای اجرای هر Probe (به میلیثانیه) تعیین میکند. اگر یک Probe سریعتر از این زمان تمام شود، Worker تا پایان این زمان میخوابد تا به هدف بعدی برود. برای نرمالسازی زمانبندی و جلوگیری از اسکنهای بیش از حد سریع که ممکن است باعث اختلال یا فیلترینگ شوند، استفاده میشود.
محدوده مجاز ۱۰ میلیثانیه تا ۵ ثانیه است.
فایلهای مرتبط#
icmp_settings.toml— تنظیمات اسکن ICMPtcp_settings.toml— تنظیمات اسکن پورت TCPhttp_settings.toml— تنظیمات Probe پروتکل HTTP/HTTPS/HTTP3dns_settings.toml— تنظیمات اسکن DNSxray_settings.toml— اعتبارسنجی Outboundهای Xraywriter_settings.toml— تنظیمات خروجی نتایج