راهنمای داشبورد نهان

راهنمای کامل و تفصیلی داشبورد نهان

دستورالعمل مرحله‌به‌مرحله تمام بخش‌ها بر اساس dashboard.html و _worker.js

🔗
۱. دسترسی به داشبورد
نحوه ورود و نکات امنیتی اولیه

آدرس پیش‌فرض داشبورد

پس از استقرار Worker و اتصال دیتابیس D1، برای ورود به داشبورد این آدرس را در مرورگر باز کنید:

https://<آدرس-ورکر-شما>/sync/dash

مثال واقعی:

https://nahan-core.yourname.workers.dev/sync/dash
ℹ️
چرا صفحه اصلی سایت دیگری را نشان می‌دهد؟
اگر به آدرس ریشه (/) یا /sync بدون /dash بروید، عمداً یک صفحه استتار (مانند سایت Ubuntu یا Docker) نمایش داده می‌شود. این رفتار برای پنهان‌سازی وجود دروازه پروکسی در برابر اسکنرهای شبکه طراحی شده و کاملاً عادی است.

تغییر مسیر API (API Route)

در تب System می‌توانید مسیر پیش‌فرض sync را به یک کلمه مخفی تغییر دهید. پس از ذخیره، آدرس داشبورد به شکل زیر تغییر می‌کند:

https://<آدرس-ورکر>/<مسیر-جدید>/dash
⚠️
هشدار مهم: قبل از کلیک روی Update Config حتماً آدرس جدید را در مرورگر بوکمارک کنید. در غیر این صورت ممکن است داشبورد را گم کنید و مجبور شوید مقدار apiRoute را از D1 Console بازیابی کنید.

کنترل‌های سراسری (بالا سمت راست صفحه)

  • نشان نسخه: نسخه فعلی Worker را نمایش می‌دهد.
  • لینک گیت‌هاب: دسترسی سریع به مخزن پروژه.
  • سوئیچ زبان (EN ↔ FA): تغییر زبان کل رابط کاربری بین انگلیسی و فارسی (با پشتیبانی RTL).
  • سوئیچ تم: تغییر بین حالت تاریک و روشن و تم‌های رنگی.
  • دکمه خروج: در نسخه موبایل برای خروج از حساب.
🔐
۲. صفحه ورود
احراز هویت و رفع خطاها

نحوه ورود

کلید اصلی پیش‌فرض: admin

1
رمز (Master Key) را در فیلد Password وارد کنید.
2
در صورت نیاز با کلیک روی آیکون چشم، رمز را نمایش یا پنهان کنید.
3
روی دکمه Sign In کلیک کنید.
🚨
امنیت فوری: بلافاصله پس از اولین ورود موفق، به تب System بروید و کلید پیش‌فرض admin را به یک عبارت عبور طولانی و تصادفی تغییر دهید و Update Config بزنید.

خطاهای رایج و راه‌حل کامل

پیام خطادلیلراه‌حل دقیق
⚠️ IOT_DB namespace missing! Binding دیتابیس D1 وجود ندارد یا نام متغیر اشتباه است به Cloudflare Dashboard → Worker خود → Settings → Bindings بروید. یک D1 Database با نام متغیر دقیق IOT_DB اضافه کنید، سپس Redeploy کنید.
Wrong password / Invalid key کلید اشتباه وارد شده کلید صحیح را وارد کنید. اگر فراموش کرده‌اید، در D1 Console کوئری مربوط به sys_config را اجرا و مقدار masterKey را پیدا کنید.
صفحه کاملاً خالی کد Worker خراب یا Deploy نشده محتوای _worker.js را مجدداً از مخزن کپی کرده، جایگزین کنید و Deploy کنید.
📊
۴. تب Overview (داشبورد)
خلاصه وضعیت و بروزرسانی

کارت‌های خلاصه کاربران

در بالای این تب، کارت‌هایی وضعیت کلی کاربران را نشان می‌دهند:

  • Total Users: تعداد کل کاربران تعریف‌شده
  • Active: کاربرانی که فعال هستند و می‌توانند متصل شوند
  • Paused: کاربرانی که به‌صورت دستی یا خودکار متوقف شده‌اند
  • Auto-Disabled: کاربرانی که به‌دلیل اتمام ترافیک یا رسیدن به تاریخ انقضا به‌طور خودکار غیرفعال شده‌اند
  • Expired: کاربرانی که تاریخ انقضای آن‌ها گذشته است

کارت‌های ترافیک و سیستم

آمار کلی مصرف ترافیک (به گیگابایت) و تعداد درخواست‌ها در این بخش نمایش داده می‌شود. این اعداد از داده‌های ذخیره‌شده در D1 و وضعیت زنده Worker محاسبه می‌شوند.

بنر بروزرسانی (Update Banner)

وقتی نسخه جدیدتری در مخزن گیت‌هاب موجود باشد، این بنر ظاهر می‌شود.

نحوه استفاده:

1
Changelog نسخه جدید را مطالعه کنید.
2
فرمت استقرار را انتخاب کنید:
  • Normal — کد معمولی _worker.js
  • Obfuscated — کد مبهم‌سازی‌شده با UTF-8 + XOR (برای کاهش احتمال شناسایی)
3
روی Deploy Now کلیک کنید (نیاز به تنظیم Account ID و API Token کلودفلر در تب Advanced دارد).
4
می‌توانید بنر را با Cancel رد کنید.
📡
۵. تب Endpoints
دریافت لینک اتصال و QR

کارت‌های پروفایل

هر پروفایل (پروفایل پیش‌فرض + هر کاربر تعریف‌شده) به‌صورت یک کارت جداگانه نمایش داده می‌شود. محتویات هر کارت:

  • نشان پروتکل: VLESS، Trojan یا هر دو
  • URI کامل اتصال: با دکمه کپی برای وارد کردن مستقیم در کلاینت
  • دکمه Show QR Code: باز شدن پنجره مودال با کد QR قابل اسکن (مناسب موبایل: Shadowrocket، Hiddify، v2rayNG و ...)
  • لینک Cloud Sync / Subscription: برای وارد کردن به‌عنوان اشتراک در کلاینت‌هایی که از subscription پشتیبانی می‌کنند

آدرس‌های اشتراک

اشتراک پیش‌فرض (پروفایل اصلی):

https://<آدرس-ورکر>/sync/sub

اشتراک هر کاربر:

https://<آدرس-ورکر>/sync/sub?sub=نام‌کاربری

نام کاربری حساس به حروف بزرگ و کوچک است و باید دقیقاً مطابق با نامی باشد که در Multi-User تعریف کرده‌اید.

صفحه اطلاعات اشتراک (در مرورگر)

وقتی کاربر لینک اشتراک خود را در مرورگر باز کند (نه در کلاینت)، یک صفحه زیبا و دوزبانه نمایش داده می‌شود که شامل:

  • نوار پیشرفت مصرف ترافیک کل و روزانه
  • تاریخ انقضا
  • نشان وضعیت (فعال / متوقف / منقضی / رد شده از حد ترافیک)
  • لینک همگام‌سازی با دکمه‌های کپی و QR
  • سوئیچ زبان فارسی/انگلیسی و حالت تاریک/روشن

این صفحه برای کاربران نهایی بسیار کاربردی است و نیازی به ورود به داشبورد ندارد.

📈
۶. تب Metrics
مصرف زنده و تشخیص شبکه

جدول مصرف زنده پروفایل‌ها

این جدول وضعیت آنی هر پروفایل را نشان می‌دهد:

ستونتوضیح
نام پروفایلنام یا UUID کاربر
اتصالات فعالتعداد اتصالات پروکسی باز در لحظه
آخرین فعالیتزمان آخرین اتصال موفق
داده مصرف‌شدهمجموع آپلود و دانلود ردیابی‌شده در D1
ℹ️
شمارنده‌های اتصالات فعال پس از ریستارت Isolate ورکر (رایج در پلن رایگان پس از بی‌فعالیت) صفر می‌شوند. این رفتار طبیعی است.

کارت‌های شبکه

  • Origin IP: آدرس IP واقعی درخواست‌کننده از دید Worker
  • Edge Node (Colo): کد مرکز داده کلودفلر که درخواست را پردازش می‌کند (مانند AMS، FRA، SIN، DXB)
  • Region: منطقه جغرافیایی Edge Node

تشخیص تأخیر (Latency Diagnostics)

نحوه استفاده:

1
روی دکمه Run Diagnostics کلیک کنید.
2
مرورگر شما به‌صورت مستقیم تأخیر واقعی به هر یک از Clean IPهای تنظیم‌شده را اندازه‌گیری می‌کند.
3
نتایج به میلی‌ثانیه نمایش داده می‌شود. از این نتایج برای انتخاب بهترین و سریع‌ترین IP پاک برای موقعیت جغرافیایی خود استفاده کنید.
⚙️
۷. تب System
تنظیمات اصلی دروازه — دستورالعمل کامل
⚠️
مهم: هیچ تغییری تا زمانی که روی دکمه Update Config در پایین صفحه کلیک نکنید ذخیره و اعمال نمی‌شود.

Primary Display Mode (حالت نمایش اصلی)

تعیین می‌کند کدام پروتکل در کانفیگ‌های تولیدشده استفاده شود:

  • Alpha Mode (V-Core): فقط پروتکل VLESS — سبک‌تر و سریع‌تر، توصیه برای اکثر کاربران
  • Beta Mode (T-Core): فقط پروتکل Trojan — مبهم‌سازی قوی‌تر، مناسب شبکه‌های سخت‌گیر
  • Both: تولید همزمان کانفیگ برای هر دو پروتکل

Data Port (انتخاب پورت با چک‌باکس)

می‌توانید یک یا چند پورت را همزمان انتخاب کنید. پورت‌ها به دو گروه تقسیم شده‌اند:

  • TLS: 443، 2053، 2083، 2087، 2096، 8443 و ...
  • Standard (غیر TLS): 80، 8080، 8880، 2052، 2082، 2086، 2095 و ...

پورت‌های انتخاب‌شده در کانفیگ‌های تولیدشده استفاده می‌شوند.

Device UUID (Empty = Auto)

شناسه اتصال در VLESS یا رمز عبور در حالت Trojan.

  • اگر خالی بگذارید، سیستم به‌صورت خودکار یک UUID بر اساس مسیر API Route تولید می‌کند.
  • دکمه Generate UUID برای تولید دستی یک UUID تصادفی وجود دارد.
  • فرمت استاندارد: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

API Route (Hidden Path)

مسیر پیشوند داشبورد و نقاط پایانی اشتراک. پیش‌فرض sync است.

توصیه: آن را به یک کلمه یا عبارت مخفی تغییر دهید تا داشبورد از دید افراد غیرمجاز پنهان شود.

⚠️
قبل از ذخیره حتماً آدرس جدید را بوکمارک کنید.

Master Key

رمز ورود به داشبورد. حتماً از مقدار پیش‌فرض admin تغییر دهید و از یک عبارت عبور طولانی و پیچیده استفاده کنید.

GitHub Update Repository

آدرس مخزن (یا فورک شما) برای بررسی نسخه جدید. پیش‌فرض: itsyebekhe/nahan.

دکمه Force Redeploy / Switch Format برای اجبار به استقرار مجدد یا تغییر فرمت کد وجود دارد.

Custom Subscription User-Agent

اگر User-Agent مرورگر کاربر شامل متن واردشده در این فیلد باشد، استتار دور زده می‌شود و داده‌های پروفایل مستقیماً در مرورگر نمایش داده می‌شود. مفید برای تست یا دسترسی خاص.

Custom Panel URL / Subscription Domain

دامنه یا آدرس سفارشی که در لینک‌های اشتراک نمایش داده می‌شود. اگر خالی باشد، از آدرس پیش‌فرض Worker استفاده می‌شود.

سوئیچ‌های سیستم

  • Silent UI Alerts: هشدارهای رابط کاربری بدون صدا
  • Kill Switch قرمز: با روشن کردن آن، تمام ترافیک پروکسی فوراً متوقف می‌شود. Worker همچنان فعال می‌ماند و داشبورد در دسترس است. از طریق دستور /pause در تلگرام نیز قابل کنترل است.
  • Auto-Update سبز: استقرار خودکار نسخه جدید. پس از فعال‌سازی می‌توانید فرمت Normal یا Obfuscated را انتخاب کنید.

Panel API Keys

برای اتصال امن پنل‌های راه دور (بدون اشتراک‌گذاری Master Key) کلید API تولید کنید.

1
روی Generate Key کلیک کنید.
2
کلید نمایش‌داده‌شده را کپی کنید (فقط یک‌بار نشان داده می‌شود).
3
این کلید را در پنل مقصد هنگام افزودن نود خارجی استفاده کنید.

Backup & Restore

Export: تمام تنظیمات فعلی را به‌صورت فایل JSON دانلود می‌کند.
Import / Restore: فایل پشتیبان قبلی را بارگذاری و بازیابی می‌کند.

توصیه قوی: به‌طور منظم پشتیبان بگیرید، مخصوصاً قبل از تغییرات بزرگ یا بروزرسانی.

نحوه ذخیره تغییرات

1
فیلدهای مورد نظر را ویرایش کنید.
2
به پایین صفحه بروید و روی Update Config کلیک کنید.
3
منتظر پیام «Syncing...» بمانید تا صفحه به‌طور خودکار بارگذاری مجدد شود.
🛠️
۸. تب Advanced
تنظیمات پیشرفته — دستورالعمل کامل

Clean IPs (مولتی‌پلکسر IP پاک)

با وارد کردن لیست IPهای پاک Cloudflare، سیستم برای هر IP یک کانفیگ جداگانه در خروجی اشتراک تولید می‌کند تا کاربران بتوانند بهترین گزینه را انتخاب کنند.

نحوه استفاده:

  • هر IP را در یک خط جداگانه وارد کنید.
  • می‌توانید با فرمت IP#Name به هر IP نام بدهید (مثال: 1.2.3.4#Germany).
  • از تگ {IP_NAME} در Name Strategy برای استفاده از این نام در عنوان کانفیگ استفاده کنید.
  • ابزار کمکی برای افزودن سریع IP + نام وجود دارد.
  • دکمه Resolve Smart IPs برای تشخیص و بهینه‌سازی هوشمند لیست در دسترس است.

منابع پیشنهادی برای پیدا کردن Clean IP

  • GitHub: senpaiscanner — اسکنر و ابزارهای مرتبط
  • تلگرام: @itsZetaBot — ربات کمکی دریافت و مدیریت Clean IP

Relay IP

برای پیدا کردن و مدیریت Relay IPهای مناسب پروژه نهان از ربات اختصاصی زیر استفاده کنید:

TLS Signature / Fingerprint

اثر انگشت TLS کانفیگ‌های تولیدشده را مشخص می‌کند. گزینه‌ها: Chrome، Firefox، Safari. انتخاب مناسب می‌تواند به کاهش احتمال شناسایی کمک کند.

Resolver IP و Custom DNS (DoH)

  • Resolver IP: IP پشتیبان برای resolve داخلی (پیش‌فرض معمولاً 1.1.1.1)
  • Custom DNS (DoH Provider): آدرس DoH (پیش‌فرض https://cloudflare-dns.com/dns-query)

Other Nodes / Linked Panels اصلاح‌شده

این بخش در نسخه‌های قدیمی با نام Cascade یا Slave Nodes شناخته می‌شد، اما در کد فعلی کاملاً تغییر کرده است.

وضعیت فعلی

  • فیلدهای قدیمی slaveNodes و cascade به‌صورت خودکار به ساختار جدید linkedPanels مهاجرت می‌شوند.
  • در داشبورد با عنوان Other Nodes نمایش داده می‌شود.
  • توضیح رسمی: External nodes (URL + API Key) for cross-panel management

کاربرد واقعی

  • مدیریت چند پنل نهان به‌صورت متمرکز
  • انتشار خودکار بروزرسانی کد و تنظیمات از پنل اصلی به پنل‌های لینک‌شده
  • اتصال امن با Panel API Key (بدون اشتراک‌گذاری Master Key)

نحوه افزودن نود خارجی

1
در بخش Other Nodes روی Add Node کلیک کنید.
2
آدرس پنل خارجی را در Node URL وارد کنید.
3
کلید API پنل مقصد را در API Key وارد کنید (کلیدی که در پنل مقصد از بخش Panel API Keys تولید کرده‌اید).
4
ذخیره کنید.
ℹ️
برای مدیریت امن نودها، استفاده از داشبورد وب توصیه شده است.

Multi-User Profiles

برای ایجاد لینک اشتراک جداگانه برای هر کاربر، ورودی‌ها را به این فرمت وارد کنید (یک خط برای هر کاربر):

<uuid>:نام‌کاربری

مثال:

550e8400-e29b-41d4-a716-446655440000:علی
6ba7b810-9dad-11d1-80b4-00c04fd430c8:سارا

هر کاربر با آدرس زیر به کانفیگ خود دسترسی دارد:

https://<ورکر>/sync/sub?sub=علی

می‌توانید برای هر کاربر محدودیت ترافیک، تاریخ انقضا، نود اختصاصی و NAT64 جداگانه تعریف کنید.

Telegram Bot

مراحل راه‌اندازی:

1
از طریق @BotFather یک ربات بسازید و توکن را کپی کنید.
2
Chat ID خود را از @userinfobot بگیرید.
3
مقادیر Bot Token، Chat ID و در صورت نیاز Authorized Admin ID را وارد کنید.
4
زبان ربات (fa یا en) و Silent Alerts را تنظیم کنید.
5
Update Config بزنید.

دستورات اصلی: /status (وضعیت) و /pause (فعال‌سازی Kill Switch). مدیریت کامل از طریق دکمه‌های درون‌خطی ربات نیز امکان‌پذیر است.

سایر گزینه‌های پیشرفته

  • Cloudflare Analytics: Account ID + API Token + نام Worker برای نظارت بر مصرف روزانه (حد رایگان ۱۰۰٬۰۰۰ درخواست در روز)
  • Secure Hello (ECH): فعال/غیرفعال کردن Encrypted Client Hello در کانفیگ‌ها
  • NAT64 Prefix: نگاشت خودکار آدرس‌های IPv4 به IPv6
  • Per-User Nodes / Assigned Nodes: نودهای اختصاصی برای هر کاربر
  • Direct Configs: تولید کانفیگ‌های مستقیم بدون پروکسی
  • Fake Configs: ورودی‌های جعلی با متغیرهای {usage} و {expiry}
  • Name Strategy / Name Prefix: استراتژی و پیشوند نام کانفیگ‌ها
  • Auto Update / Custom Routing
📋
۹. تب Logs
حسابرسی و تاریخچه رویدادها

این تب تاریخچه کامل و زمان‌بندی‌شده رویدادهای مهم دروازه را نمایش می‌دهد:

  • تلاش‌های ورود موفق و ناموفق (همراه با آدرس IP)
  • ذخیره تغییرات پیکربندی
  • فعال و غیرفعال‌سازی Kill Switch
  • دستورات دریافتی از ربات تلگرام
  • غیرفعال‌سازی خودکار کاربران به‌دلیل اتمام ترافیک یا انقضا

از این بخش برای حسابرسی امنیتی و عیب‌یابی استفاده کنید.

👥
۱۰. تب Clients
مدیریت بصری کاربران چندگانه

این تب یک رابط گرافیکی و کاربرپسند برای مدیریت سیستم چندکاربره ارائه می‌دهد (همان داده‌های Multi-User در Advanced را به‌صورت راحت‌تر مدیریت می‌کند).

قابلیت‌ها:

  • مشاهده لیست کامل کاربران
  • افزودن کاربر جدید
  • ویرایش اطلاعات کاربر
  • توقف و ازسرگیری دستی
  • تنظیم محدودیت ترافیک (گیگابایت/ترابایت) و تاریخ انقضا
  • مشاهده مصرف زنده هر کاربر
  • تولید و کپی لینک اشتراک اختصاصی + کد QR
  • تعیین Assigned Nodes (نودهای اختصاصی)
  • User Panel URL اختصاصی
  • NAT64 اختصاصی برای هر کاربر
۱۱. تب Help & FAQ
راهنما و سوالات متداول داخلی

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

💡
۱۲. نکات نهایی و منابع مفید
چک‌لیست امنیتی و ابزارهای پیشنهادی

نصب پنل روی Cloudflare

اگر هنوز پنل را نصب نکرده‌اید یا می‌خواهید فرآیند استقرار را ساده‌تر انجام دهید، از ابزارهای زیر استفاده کنید. این ابزارها مراحل ساخت Worker، اتصال D1 و تنظیمات اولیه را تسهیل می‌کنند:

منابع Clean IP و Relay IP

نکات مهم عملیاتی

  1. همیشه پس از تغییرات در تب‌های System و Advanced روی Update Config کلیک کنید.
  2. به‌طور منظم از بخش Backup & Restore پشتیبان JSON بگیرید (مخصوصاً قبل از بروزرسانی).
  3. شمارنده‌های اتصالات فعال پس از ریستارت Isolate صفر می‌شوند (رفتار طبیعی پلن رایگان).
  4. تم‌های رنگی متعدد (پیش‌فرض، Ocean، Forest، Sunset، Dracula) و حالت تاریک/روشن پشتیبانی می‌شوند و ترجیح کاربر ذخیره می‌گردد.

چک‌لیست امنیتی پس از اولین ورود

1
تغییر فوری Master Key از مقدار پیش‌فرض admin
2
تغییر API Route به یک مقدار مخفی و بوکمارک کردن آدرس جدید
3
پیکربندی ربات تلگرام برای دریافت هشدارهای ورود
4
در صورت نیاز فعال‌سازی Kill Switch
5
تولید Panel API Key در صورت استفاده از چند پنل
این راهنما بر اساس بررسی کامل و مجدد فایل‌های dashboard.html و _worker.js پروژه نهان تهیه و به‌روز شده است.