<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>توسعه‌دهنده on Documentation</title><link>https://MohsenBg.github.io/bgscan/fa/docs/developer/</link><description>Recent content in توسعه‌دهنده on Documentation</description><generator>Hugo</generator><language>fa</language><copyright>© 2026 MohsenBg. All rights reserved.</copyright><atom:link href="https://MohsenBg.github.io/bgscan/fa/docs/developer/index.xml" rel="self" type="application/rss+xml"/><item><title>شروع به کار</title><link>https://MohsenBg.github.io/bgscan/fa/docs/developer/getting-started/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/fa/docs/developer/getting-started/</guid><description>&lt;h1 id="شروع-به-کار---توسعهدهندگان-getting-started"&gt;شروع به کار - توسعه‌دهندگان (Getting Started)&lt;a class="anchor" href="#%d8%b4%d8%b1%d9%88%d8%b9-%d8%a8%d9%87-%da%a9%d8%a7%d8%b1---%d8%aa%d9%88%d8%b3%d8%b9%d9%87%d8%af%d9%87%d9%86%d8%af%da%af%d8%a7%d9%86-getting-started"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;این راهنما نحوه آماده‌سازی محیط توسعه، کامپایل و اجرای محلی &lt;strong&gt;bgscan&lt;/strong&gt; را برای مقاصد توسعه و برنامه‌نویسی توضیح می‌دهد.&lt;/p&gt;
&lt;blockquote class='book-hint '&gt;
&lt;p&gt;&lt;strong&gt;ابتدا بخوانید:&lt;/strong&gt; &lt;a href="../contributing/"&gt;راهنمای مشارکت&lt;/a&gt; — سیستم برانچ‌بندی، قوانین ثبت کامیت و فرآیند ثبت درخواست‌های Pull Request (PR).&lt;/p&gt;
&lt;/blockquote&gt;&lt;hr&gt;
&lt;h2 id="پیشنیازها-prerequisites"&gt;پیش‌نیازها (Prerequisites)&lt;a class="anchor" href="#%d9%be%db%8c%d8%b4%d9%86%db%8c%d8%a7%d8%b2%d9%87%d8%a7-prerequisites"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;زبان برنامه‌نویسی &lt;a href="https://go.dev/"&gt;Go&lt;/a&gt; نسخه 1.26.3 به بالا (نسخه دقیق را در فایل &lt;code&gt;go.mod&lt;/code&gt; بررسی کنید)&lt;/li&gt;
&lt;li&gt;سیستم کنترل نسخه Git&lt;/li&gt;
&lt;li&gt;برای کامپایل نسخه اندروید: ابزار &lt;a href="https://developer.android.com/ndk"&gt;Android NDK&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="۱-کلون-کردن-مخزن-repository"&gt;۱. کلون کردن مخزن (Repository)&lt;a class="anchor" href="#%db%b1-%da%a9%d9%84%d9%88%d9%86-%da%a9%d8%b1%d8%af%d9%86-%d9%85%d8%ae%d8%b2%d9%86-repository"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone &lt;span style="color:#ff6ac1"&gt;[&lt;/span&gt;https://github.com/MohsenBg/bgscan.git&lt;span style="color:#ff6ac1"&gt;](&lt;/span&gt;https://github.com/MohsenBg/bgscan.git&lt;span style="color:#ff6ac1"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff5c57"&gt;cd&lt;/span&gt; bgscan&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="۲-ایجاد-یک-شاخه-یا-برانچ-branch"&gt;۲. ایجاد یک شاخه یا برانچ (Branch)&lt;a class="anchor" href="#%db%b2-%d8%a7%db%8c%d8%ac%d8%a7%d8%af-%db%8c%da%a9-%d8%b4%d8%a7%d8%ae%d9%87-%db%8c%d8%a7-%d8%a8%d8%b1%d8%a7%d9%86%da%86-branch"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git checkout -b feature/my-change&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;برای آشنایی با استانداردهای نام‌گذاری شاخه‌ها، بخش &lt;a href="../contributing/"&gt;راهنمای مشارکت&lt;/a&gt; را مطالعه کنید.&lt;/p&gt;</description></item><item><title>معماری</title><link>https://MohsenBg.github.io/bgscan/fa/docs/developer/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/fa/docs/developer/architecture/</guid><description>&lt;h1 id="معماری-architecture"&gt;معماری (Architecture)&lt;a class="anchor" href="#%d9%85%d8%b9%d9%85%d8%a7%d8%b1%db%8c-architecture"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;برنامه bgscan ساختاری لایه‌بندی‌شده دارد. یک نقطه ورود (Entry Point) سبک، بررسی‌های سلامت اولیه (Health Checks) را هنگام راه‌اندازی سیستم اجرا می‌کند و سپس کنترل برنامه را به رابط کاربری متنی BubbleTea TUI می‌سپارد. این رابط کاربری متنی، یک موتور اسکنر چندمرحله‌ای را هدایت می‌کند که پروب‌ها (Probes) و سیستم ورودی/خروجی (I/O) آن به صورت ماژولار و قابل تعویض (Pluggable) طراحی شده‌اند.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="ساختار-دایرکتوریها-directory-layout"&gt;ساختار دایرکتوری‌ها (Directory Layout)&lt;a class="anchor" href="#%d8%b3%d8%a7%d8%ae%d8%aa%d8%a7%d8%b1-%d8%af%d8%a7%db%8c%d8%b1%da%a9%d8%aa%d9%88%d8%b1%db%8c%d9%87%d8%a7-directory-layout"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├── assets
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ └── xray
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ └── outbounds
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├── cmd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ └── bgscan
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ └── main.go
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├── docs
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├── go.mod
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├── internal
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ├── core
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ ├── config
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ ├── dns
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ ├── fileutil
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ ├── ip
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ ├── iplist
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ ├── process
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ ├── result
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ ├── scanner
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ └── xray
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ├── logger
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ├── startup
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ └── ui
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ├── components
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ├── main
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ├── shared
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ └── theme
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├── ips
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├── scripts
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└── settings&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="نمای-کلی-لایهها-layer-overview"&gt;نمای کلی لایه‌ها (Layer Overview)&lt;a class="anchor" href="#%d9%86%d9%85%d8%a7%db%8c-%da%a9%d9%84%db%8c-%d9%84%d8%a7%db%8c%d9%87%d9%87%d8%a7-layer-overview"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;┌─────────────────────────────────────────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ cmd/bgscan │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ (نقطه ورود برنامه) │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├─────────────────────────────────────────────┤
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ internal/startup │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ (بررسی سلامت، مقداردهی تنظیمات) │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├─────────────────────────────────────────────┤
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ internal/ui │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ┌─────────────────────────────────────┐ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ main (مدل ریشه، چیدمان، دیالوگ‌ها) │ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ components (منوها، جدول‌ها، فرم‌ها) │ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ shared (زیرساخت چیدمان، محیط، دیالوگ)│ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ theme (تم‌ها) │ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ └─────────────────────────────────────┘ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├─────────────────────────────────────────────┤
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ internal/core │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ┌──────────────┐ ┌──────────┐ ┌─────────┐ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ scanner │ │ config │ │ result │ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ (موتور، پروب) │ │ (TOML) │ │(نویسنده)│ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ └──────────────┘ └──────────┘ └─────────┘ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ┌──────────┐ ┌─────────┐ ┌──────────────┐ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ iplist │ │ dns │ │ xray/process │ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ └──────────┘ └─────────┘ └──────────────┘ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├─────────────────────────────────────────────┤
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ internal/logger │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;├─────────────────────────────────────────────┤
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ assets/ ips/ settings/ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ (فایل‌های داده) │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└─────────────────────────────────────────────┘&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="راهنمای-دایرکتوریها-directory-reference"&gt;راهنمای دایرکتوری‌ها (Directory Reference)&lt;a class="anchor" href="#%d8%b1%d8%a7%d9%87%d9%86%d9%85%d8%a7%db%8c-%d8%af%d8%a7%db%8c%d8%b1%da%a9%d8%aa%d9%88%d8%b1%db%8c%d9%87%d8%a7-directory-reference"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;مسیر&lt;/th&gt;
					&lt;th&gt;توضیحات&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;cmd/bgscan&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;نقطه ورود اصلی برنامه (&lt;code&gt;main.go&lt;/code&gt;). مدل ریشه TUI را ایجاد و آن را اجرا می‌کند.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/core&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;منطق و هسته اصلی: تنظیمات، دی‌ان‌اس، ابزارهای کمکی فایل، مدیریت آی‌پي‌ها، مدیریت پروسس‌ها، نتایج، اسکنر و یکپارچه‌سازی Xray.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/core/config&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;پکیج سینگلتون (Singleton) تنظیمات مبتنی بر TOML با قابلیت دسترسی ایمن در محیط‌های چندنخی (Thread-safe).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/core/scanner&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;هماهنگ‌کننده اسکنر، موتور (خط‌لوله)، اینترفیس پروب‌ها، مدیریت پورت‌ها و ابزارهای کمکی شبکه.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/core/result&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;نویسنده ناهمگام نتایج (Asynchronous Writer)، ادغام/مرتب‌سازی فایل‌های CSV، رجیستری و بارگذاری‌کننده فایل نتایج.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/core/iplist&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;بارگذاری‌کننده فایل‌های CSV لیست آی‌پي، پارسر، رجیستری و برهم‌زننده تصادفی (Shuffle) لیست‌ها.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/core/dns&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ابزارهای کمکی برای کوئری‌های DNS، ابزارهای DNSTT، SlipStream و SOCKS5.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/core/xray&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;اجراکننده دستورات Xray، مدیریت اینباندها/آوتباندها (Inbound/Outbound) و تست سرعت.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/core/process&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;مدیریت چرخه حیات پروسس‌ها به صورت چندسکویی (ایجاد، خاتمه و ارسال سیگنال).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/core/fileutil&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ابزارهای کمکی برای کار با فایل‌های CSV، JSON، TOML، متن، فایل‌های موقت و مدیریت مسیرها.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/core/ip&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;پارس کردن آدرس‌های آی‌پي و باز کردن رنج‌های CIDR.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/logger&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ثبت لاگ‌های سطح‌بندی‌شده با قابلیت جابه‌جایی و چرخش خودکار فایل‌ها (Lumberjack Rotation). شامل سه جریان: هسته، رابط کاربری و دباگ.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/startup&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;بررسی‌های ترتیبی سلامت سیستم در زمان راه‌اندازی: لاگر، تم، تنظیمات، باینری Xray، باینری DNSTT و Slipstream.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/ui/main&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;مدل ریشه BubbleTea — مدیریت چیدمان هدر/بدنه/فوتر و مدیریت دیالوگ‌های لایه‌رویی (Overlay Dialogs).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/ui/components&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;اجزای قابل استفاده مجدد رابط کاربری: ویجت‌های پایه، فرم‌های بازرس، منوها، جدول‌ها و نمای اسکنر.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/ui/shared&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;زیرساخت مشترک UI: هندسه و ابعاد چیدمان، سیستم دیالوگ، کلیدها/محیط، اینترفیس کامپوننت‌ها و اعتبارسنجی ورودی‌ها.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;internal/ui/theme&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;پالت‌های رنگی تاریک، روشن و خودکار (بر پایه استایل Catppuccin).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;assets/xray/outbounds&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;فایل‌های پیکربندی آوتباند Xray که به همراه برنامه توزیع می‌شوند.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;assets/dnstt-client&lt;/code&gt;, &lt;code&gt;assets/slipstream-client&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;باینری‌های مربوط به تونل‌زنی دی‌ان‌اس.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ips&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;لیست پیش‌فرض رنج‌های آی‌پي به تفکیک ارائه‌دهندگان (Cloudflare، AWS، Azure و غیره) در قالب فایل‌های CSV.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;settings&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;فایل‌های تنظیمات پیش‌فرض با فرمت &lt;code&gt;.toml&lt;/code&gt;. فایل‌های با پسوند &lt;code&gt;.default&lt;/code&gt; به عنوان قالب‌های زاپاس و پشتیبان عمل می‌کنند.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;scripts&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;اسکریپت‌های کمکی برای نصب، کامپایل و ریلیز پروژه.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;docs&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;وب‌سایت مستندات پروژه که با Hugo Book ساخته شده است.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="گردش-کار-برنامه-application-flow"&gt;گردش کار برنامه (Application Flow)&lt;a class="anchor" href="#%da%af%d8%b1%d8%af%d8%b4-%da%a9%d8%a7%d8%b1-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-application-flow"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e2e4e5;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;()main
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ├─ ()startup.RunHealthChecks
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ ├─ مقداردهی اولیه لاگر (logger init)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ ├─ مقداردهی اولیه تم (theme init)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ ├─ بارگذاری و اعتبارسنجی تنظیمات (config load + validate)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ ├─ بررسی وجود باینری xray
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ ├─ بررسی وجود باینری dnstt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ └─ بررسی وجود باینری slipstream
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ├─ ()tea.NewProgram(app.New()).Run
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ ├─ هدر (نوار عنوان بالای صفحه)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ ├─ بدنه (پشته کامپوننت‌ها: منوی اصلی ← اسکن/تنظیمات/لاگ‌ها/...)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ └─ فوتر (نوار وضعیت پایین صفحه، کلیدهای راهنما)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; └─ هنگامی که کاربر گزینه شروع اسکن را انتخاب می‌کند:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ├─ ()scanner.NewScanner(ctx, inputPath)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ├─ (scanner.AddStage(BuildICMPStage
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ├─ (scanner.AddStage(BuildTCPStage
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ├─ ...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ├─ ()scanner.Run
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ ├─ اسکن تک‌مرحله‌ای ← engine.RunScan
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ └─ اسکن چندمرحله‌ای ← engine.RunScanWithChain
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ ├─ به صورت ترتیبی (sequential)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ ├─ به صورت جریانی (streaming)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ └─ به صورت دسته‌ای (batch)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; └─ نتایج از طریق ثبت‌کننده نتایج روی دیسک ذخیره می‌شوند: result.Writer ← ادغام فایل‌های CSV ← ذخیره نهایی&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="اصول-کلیدی-طراحی-key-design-principles"&gt;اصول کلیدی طراحی (Key Design Principles)&lt;a class="anchor" href="#%d8%a7%d8%b5%d9%88%d9%84-%da%a9%d9%84%db%8c%d8%af%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-key-design-principles"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;عدم وابستگی به ابزارهای خارجی برای اسکن‌های پایه:&lt;/strong&gt; پروب‌های ICMP، TCP و HTTP کاملاً از کتابخانه‌های استاندارد خود زبان Go (go stdlib) استفاده می‌کنند. ابزارهای Xray، DNSTT و Slipstream باینری‌های اختیاری هستند که وجود و سلامت آن‌ها در زمان راه‌اندازی (Startup) اعتبارسنجی می‌شود.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;تنظیمات فایل‌محور:&lt;/strong&gt; تمام تنظیمات و پیکربندی‌ها در مسیر &lt;code&gt;settings/*.toml&lt;/code&gt; زندگی می‌کنند. بخش بازرس (Inspector) درون برنامه نیز دقیقاً همین فایل‌ها را خوانده و بازنویسی می‌کند.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;پروب‌های ماژولار و قابل تعویض:&lt;/strong&gt; تنها قرارداد موجود برای افزودن اسکنر جدید، اینترفیس &lt;code&gt;probe.Probe&lt;/code&gt; است. برای افزودن یک نوع اسکن جدید، کافی است متدهای &lt;code&gt;Init/Run/Close&lt;/code&gt; را پیاده‌سازی کرده و سازنده مرحله (Stage Builder) آن را ثبت کنید.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;موتور مستقل از نوع خط‌لوله (Pipeline-agnostic):&lt;/strong&gt; موتور اصلی اسکنر اطلاعی از ماهیت و کارکرد پروب‌ها ندارد — وظیفه آن صرفاً تزریق آی‌پي‌ها، جمع‌آوری نتایج و تخلیه آن‌ها روی دیسک است. حالت خط‌لوله (ترتیبی/جریانی/دسته‌ای) بر اساس ترجیحات فایل تنظیمات تعیین می‌شود.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;رابط کاربری درختی از کامپوننت‌ها:&lt;/strong&gt; هر صفحه در برنامه یک &lt;code&gt;ui.Component&lt;/code&gt; مجزا است که از متدهای &lt;code&gt;Init/Update/View/OnClose/Mode&lt;/code&gt; پیروی می‌کند. لایه‌های رویی (دیالوگ‌ها، انتخاب‌گرها) روی لایه‌های قبلی پشته می‌شوند و بالاترین لایه، تمامی ورودی‌های کاربر را به خود اختصاص می‌دهد.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="صفحات-مرتبط"&gt;صفحات مرتبط&lt;a class="anchor" href="#%d8%b5%d9%81%d8%ad%d8%a7%d8%aa-%d9%85%d8%b1%d8%aa%d8%a8%d8%b7"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="../core/"&gt;هسته اصلی (Core)&lt;/a&gt; — جزئیات موتور اسکنر، اینترفیس پروب‌ها، سیستم پیکربندی و خط‌لوله نتایج&lt;/li&gt;
&lt;li&gt;&lt;a href="../ui/"&gt;رابط کاربری (UI)&lt;/a&gt; — معماری TUI، مدل کامپوننت‌ها، چیدمان و سیستم تم‌ها&lt;/li&gt;
&lt;li&gt;&lt;a href="https://MohsenBg.github.io/bgscan/fa/docs/getting-started/"&gt;شروع به کار (Getting Started)&lt;/a&gt; — دستورالعمل‌های کامپایل و اجرای پروژه&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>هسته اصلی</title><link>https://MohsenBg.github.io/bgscan/fa/docs/developer/core/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/fa/docs/developer/core/</guid><description>&lt;h1 id="هسته-اصلی-core"&gt;هسته اصلی (Core)&lt;a class="anchor" href="#%d9%87%d8%b3%d8%aa%d9%87-%d8%a7%d8%b5%d9%84%db%8c-core"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;پکیج &lt;code&gt;internal/core&lt;/code&gt; حاوی تمام منطق‌های غیر UI برنامه است: پیکربندی و تنظیمات، موتور اصلی اسکنر، پیاده‌سازی پروب‌ها، مدیریت لیست‌های آی‌پی، ثبت نتایج، دی‌ان‌اس، یکپارچه‌سازی Xray و مدیریت پروسس‌ها.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="نقشه-پکیجها-package-map"&gt;نقشه پکیج‌ها (Package Map)&lt;a class="anchor" href="#%d9%86%d9%82%d8%b4%d9%87-%d9%be%da%a9%db%8c%d8%ac%d9%87%d8%a7-package-map"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;پکیج&lt;/th&gt;
					&lt;th&gt;وظیفه و مسئولیت&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;config&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;پکیج سینگلتون و ایمن در برابر چندنخی که تمام تنظیمات TOML را نگه می‌دارد؛ همراه با ابزارهای کمکی بارگذاری/ذخیره و نقاط ورود اعتبارسنجی.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;config/validate&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;اعتبارسنج‌های اختصاصی هر پروتکل (ICMP، TCP، HTTP، DNS، Xray، نویسنده نتایج، تنظیمات عمومی).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;scanner&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;هماهنگ‌کننده ساختار &lt;code&gt;Scanner&lt;/code&gt; و سازنده‌های مراحل اسکن (Stage Builders).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;scanner/engine&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;اجرای چرخه پردازش اسکن: اسکن تک‌مرحله‌ای، زنجیره ترتیبی، خط‌لوله جریانی (Streaming) و خط‌لوله دسته‌ای (Batch).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;scanner/probe&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;اینترفیس &lt;code&gt;Probe&lt;/code&gt; و تمام پروب‌های واقعی (ICMP، TCP، HTTP، HTTP/3، DNS، DNSTT، SlipStream، Resolve، Xray).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;scanner/portmgr&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;استخر پورت‌های زودگذر (Ephemeral Port Pool) برای پروب‌هایی که نیاز به بایند کردن پورت‌های محلی دارند (Xray، DNSTT، SlipStream).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;scanner/netutil&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ابزارهای کمکی مشترک شبکه.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;result&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ساختار &lt;code&gt;Writer&lt;/code&gt; (ثبت ناهمگام دسته‌ای + ادغام)، فرمت فایل‌های CSV، بارگذاری‌کننده، رجیستری و مرتب‌سازی.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;iplist&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;بارگذاری‌کننده فایل‌های CSV لیست آی‌پی، پارسر، رجیستری، برهم‌زننده تصادفی (Shuffle) و استریم داده‌ها.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;پارس کردن IPv4 و باز کردن رنج‌های CIDR.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dns&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ابزارهای کمکی کوئری‌های DNS، پارس کردن لایه انتقال، کلاینت SOCKS5 ابزارهای DNSTT/SlipStream.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;xray&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;اجراکننده باینری Xray، تنظیمات اینباند/آوتباند، پارس کردن لینک‌های اتصال و تست سرعت.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;process&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ایجاد/خاتمه پروسس‌ها به صورت چندسکویی (تفکیک مجزا برای سیستم‌عامل‌های ویندوز و یونیکس).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;fileutil&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ابزارهای کمکی برای فایل‌های CSV، JSON، TOML، متن، فایل‌های موقت و مسیرها.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;logger&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ثبت لاگ‌های سطح‌بندی‌شده (هسته، رابط کاربری، دباگ) همراه با قابلیت جابه‌جایی و چرخش خودکار فایل‌ها (Lumberjack).&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="اسکنر-scanner"&gt;اسکنر (Scanner)&lt;a class="anchor" href="#%d8%a7%d8%b3%da%a9%d9%86%d8%b1-scanner"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;فایل &lt;code&gt;internal/core/scanner/scanner.go&lt;/code&gt; ساختار &lt;code&gt;Scanner&lt;/code&gt; را تعریف می‌کند — این بخش همان API عمومی است که رابط کاربری (UI) برای اجرای یک اسکن آن را فراخوانی می‌کند.&lt;/p&gt;</description></item><item><title>رابط کاربری</title><link>https://MohsenBg.github.io/bgscan/fa/docs/developer/ui/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/fa/docs/developer/ui/</guid><description>&lt;h1 id="رابط-کاربری-ui"&gt;رابط کاربری (UI)&lt;a class="anchor" href="#%d8%b1%d8%a7%d8%a8%d8%b7-%da%a9%d8%a7%d8%b1%d8%a8%d8%b1%db%8c-ui"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;رابط کاربری پایانی (Terminal UI) ابزار &lt;code&gt;bgscan&lt;/code&gt; بر پایه فریم‌ورک &lt;a href="https://github.com/charmbracelet/bubbletea"&gt;BubbleTea&lt;/a&gt; (نسخه فورک شده Elvish v2 در مسیر &lt;code&gt;charm.land/bubbletea/v2&lt;/code&gt;) و ابزار استایل‌دهی [Lipgloss] توسعه یافته است. معماری این بخش به صورت یک درخت کامپوننت (Component Tree) همراه با یک سیستم دیالوگ لایه‌ای (Overlay) و یک مدیریت‌کننده چیدمان مرکزی (Layout Manager) طراحی شده است.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="نقشه-پکیجها-package-map"&gt;نقشه پکیج‌ها (Package Map)&lt;a class="anchor" href="#%d9%86%d9%82%d8%b4%d9%87-%d9%be%da%a9%db%8c%d8%ac%d9%87%d8%a7-package-map"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;پکیج&lt;/th&gt;
					&lt;th&gt;وظیفه و مسئولیت&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ui/main/app&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;مدل ریشه (Root) در BubbleTea. مدیریت چیدمان، هدر/بدنه/فوتر و پشته‌ی دیالوگ‌های لایه‌ای.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ui/main/header&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;نوار بالایی — شامل نام برنامه و برندینگ آن.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ui/main/body&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;بخش محتوای مرکزی — پشته‌ای از کامپوننت‌ها را نگه می‌دارد (منوی اصلی ← زیرصفحه‌ها).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ui/main/footer&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;نوار وضعیت پایین — نسخه برنامه، نام صفحه فعلی، تعداد گوروتین‌ها و میزان مصرف حافظه رم.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ui/components/basic&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ویجت‌های قابل استفاده مجدد: تاییدیه، مدیریت داده (CRUD)، فیلد ورودی، بازرس (Inspector)، نمایش لاگ، منو، اعلان، انتخاب‌گر فایل، نوار پیشرفت، جدول و تب‌ها.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ui/components/inspector&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;فرم‌های تنظیمات اختصاصی هر پروتکل (DNS، عمومی، HTTP، ICMP، TCP، Xray).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ui/components/menus&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;منوهای سطح صفحه: ورودی اصلی (Entry)، لاگ‌ها، آوتباندها، نوع اسکن، تنظیمات، منبع هدف.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ui/components/tables&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;جدول‌های داده: لیست آی‌پی، نمایشگر آی‌پی، آوتباندها، لیست نتایج.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ui/components/scanner&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;نمای زنده اسکن — نوارهای پیشرفت تب‌بندی‌شده + جدول نتایج به ازای هر مرحله.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ui/shared&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;زیرساخت‌های مشترک: چیدمان هندسی، دیالوگ، محیط (کلیدها/حالت‌ها)، اینترفیس کامپوننت و اعتبارسنجی.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ui/theme&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;پالت‌های رنگی تاریک/روشن/خودکار + آداپتور تم برای فرم‌های کتابخانه huh.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="اینترفیس-کامپوننت-component-interface"&gt;اینترفیس کامپوننت (Component Interface)&lt;a class="anchor" href="#%d8%a7%db%8c%d9%86%d8%aa%d8%b1%d9%81%db%8c%d8%b3-%da%a9%d8%a7%d9%85%d9%be%d9%88%d9%86%d9%86%d8%aa-component-interface"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;تمام صفحه‌ها، ویجت‌ها و دیالوگ‌ها اینترفیس &lt;code&gt;ui.shared.ui.Component&lt;/code&gt; را پیاده‌سازی می‌کنند:&lt;/p&gt;</description></item><item><title>مشارکت در پروژه</title><link>https://MohsenBg.github.io/bgscan/fa/docs/developer/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://MohsenBg.github.io/bgscan/fa/docs/developer/contributing/</guid><description>&lt;h1 id="راهنمای-مشارکت-contributing-guide"&gt;راهنمای مشارکت (Contributing Guide)&lt;a class="anchor" href="#%d8%b1%d8%a7%d9%87%d9%86%d9%85%d8%a7%db%8c-%d9%85%d8%b4%d8%a7%d8%b1%da%a9%d8%aa-contributing-guide"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;از اینکه علاقه‌مند به مشارکت در توسعه &lt;strong&gt;bgscan&lt;/strong&gt; هستید، صمیمانه سپاسگزاریم! تک‌تک مشارکت‌های شما — چه در قالب رفع باگ، چه بهبود مستندات و چه پیاده‌سازی قابلیت‌های جدید — برای ما بسیار ارزشمند است.&lt;/p&gt;
&lt;h2 id="قبل-از-شروع"&gt;قبل از شروع&lt;a class="anchor" href="#%d9%82%d8%a8%d9%84-%d8%a7%d8%b2-%d8%b4%d8%b1%d9%88%d8%b9"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;پیش از باز کردن یک ایشو (Issue) جدید، ابتدا لیست ایشوهای موجود را جستجو کنید تا از عدم وجود گزارش مشابه مطمئن شوید.&lt;/li&gt;
&lt;li&gt;اگر قصد دارید قابلیت بزرگ یا تغییر عمده‌ای در پروژه ایجاد کنید، لطفاً ابتدا یک ایشو باز کنید تا درباره آن با هم گفتگو کنیم.&lt;/li&gt;
&lt;li&gt;درخواست‌های ادغام (Pull Requests) خود را کوچک نگه دارید و تنها روی یک تغییر مشخص تمرکز کنید.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="استراتژی-شاخهها-branch-strategy"&gt;استراتژی شاخه‌ها (Branch Strategy)&lt;a class="anchor" href="#%d8%a7%d8%b3%d8%aa%d8%b1%d8%a7%d8%aa%da%98%db%8c-%d8%b4%d8%a7%d8%ae%d9%87%d9%87%d8%a7-branch-strategy"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;لطفاً &lt;strong&gt;به هیچ عنوان تغییرات خود را مستقیماً روی شاخه &lt;code&gt;main&lt;/code&gt; کامیت نکنید&lt;/strong&gt;.&lt;/p&gt;</description></item></channel></rss>