راهنمای کامل و تفصیلی داشبورد نهان
دستورالعمل مرحلهبهمرحله تمام بخشها بر اساس 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
کنترلهای سراسری (بالا سمت راست صفحه)
- نشان نسخه: نسخه فعلی Worker را نمایش میدهد.
- لینک گیتهاب: دسترسی سریع به مخزن پروژه.
- سوئیچ زبان (EN ↔ FA): تغییر زبان کل رابط کاربری بین انگلیسی و فارسی (با پشتیبانی RTL).
- سوئیچ تم: تغییر بین حالت تاریک و روشن و تمهای رنگی.
- دکمه خروج: در نسخه موبایل برای خروج از حساب.
نحوه ورود
کلید اصلی پیشفرض: admin
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 کنید. |
کارتهای خلاصه کاربران
در بالای این تب، کارتهایی وضعیت کلی کاربران را نشان میدهند:
- Total Users: تعداد کل کاربران تعریفشده
- Active: کاربرانی که فعال هستند و میتوانند متصل شوند
- Paused: کاربرانی که بهصورت دستی یا خودکار متوقف شدهاند
- Auto-Disabled: کاربرانی که بهدلیل اتمام ترافیک یا رسیدن به تاریخ انقضا بهطور خودکار غیرفعال شدهاند
- Expired: کاربرانی که تاریخ انقضای آنها گذشته است
کارتهای ترافیک و سیستم
آمار کلی مصرف ترافیک (به گیگابایت) و تعداد درخواستها در این بخش نمایش داده میشود. این اعداد از دادههای ذخیرهشده در D1 و وضعیت زنده Worker محاسبه میشوند.
بنر بروزرسانی (Update Banner)
وقتی نسخه جدیدتری در مخزن گیتهاب موجود باشد، این بنر ظاهر میشود.
نحوه استفاده:
- Normal — کد معمولی _worker.js
- Obfuscated — کد مبهمسازیشده با UTF-8 + XOR (برای کاهش احتمال شناسایی)
کارتهای پروفایل
هر پروفایل (پروفایل پیشفرض + هر کاربر تعریفشده) بهصورت یک کارت جداگانه نمایش داده میشود. محتویات هر کارت:
- نشان پروتکل: VLESS، Trojan یا هر دو
- URI کامل اتصال: با دکمه کپی برای وارد کردن مستقیم در کلاینت
- دکمه Show QR Code: باز شدن پنجره مودال با کد QR قابل اسکن (مناسب موبایل: Shadowrocket، Hiddify، v2rayNG و ...)
- لینک Cloud Sync / Subscription: برای وارد کردن بهعنوان اشتراک در کلاینتهایی که از subscription پشتیبانی میکنند
آدرسهای اشتراک
اشتراک پیشفرض (پروفایل اصلی):
https://<آدرس-ورکر>/sync/sub
اشتراک هر کاربر:
https://<آدرس-ورکر>/sync/sub?sub=نامکاربری
نام کاربری حساس به حروف بزرگ و کوچک است و باید دقیقاً مطابق با نامی باشد که در Multi-User تعریف کردهاید.
صفحه اطلاعات اشتراک (در مرورگر)
وقتی کاربر لینک اشتراک خود را در مرورگر باز کند (نه در کلاینت)، یک صفحه زیبا و دوزبانه نمایش داده میشود که شامل:
- نوار پیشرفت مصرف ترافیک کل و روزانه
- تاریخ انقضا
- نشان وضعیت (فعال / متوقف / منقضی / رد شده از حد ترافیک)
- لینک همگامسازی با دکمههای کپی و QR
- سوئیچ زبان فارسی/انگلیسی و حالت تاریک/روشن
این صفحه برای کاربران نهایی بسیار کاربردی است و نیازی به ورود به داشبورد ندارد.
جدول مصرف زنده پروفایلها
این جدول وضعیت آنی هر پروفایل را نشان میدهد:
| ستون | توضیح |
|---|---|
| نام پروفایل | نام یا UUID کاربر |
| اتصالات فعال | تعداد اتصالات پروکسی باز در لحظه |
| آخرین فعالیت | زمان آخرین اتصال موفق |
| داده مصرفشده | مجموع آپلود و دانلود ردیابیشده در D1 |
کارتهای شبکه
- Origin IP: آدرس IP واقعی درخواستکننده از دید Worker
- Edge Node (Colo): کد مرکز داده کلودفلر که درخواست را پردازش میکند (مانند AMS، FRA، SIN، DXB)
- Region: منطقه جغرافیایی Edge Node
تشخیص تأخیر (Latency Diagnostics)
نحوه استفاده:
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 تولید کنید.
Backup & Restore
Export: تمام تنظیمات فعلی را بهصورت فایل JSON دانلود میکند.
Import / Restore: فایل پشتیبان قبلی را بارگذاری و بازیابی میکند.
نحوه ذخیره تغییرات
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های مناسب پروژه نهان از ربات اختصاصی زیر استفاده کنید:
- تلگرام: @nahanproxyipbot
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)
نحوه افزودن نود خارجی
Multi-User Profiles
برای ایجاد لینک اشتراک جداگانه برای هر کاربر، ورودیها را به این فرمت وارد کنید (یک خط برای هر کاربر):
<uuid>:نامکاربری
مثال:
550e8400-e29b-41d4-a716-446655440000:علی 6ba7b810-9dad-11d1-80b4-00c04fd430c8:سارا
هر کاربر با آدرس زیر به کانفیگ خود دسترسی دارد:
https://<ورکر>/sync/sub?sub=علی
میتوانید برای هر کاربر محدودیت ترافیک، تاریخ انقضا، نود اختصاصی و NAT64 جداگانه تعریف کنید.
Telegram Bot
مراحل راهاندازی:
fa یا en) و Silent Alerts را تنظیم کنید.دستورات اصلی: /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
این تب تاریخچه کامل و زمانبندیشده رویدادهای مهم دروازه را نمایش میدهد:
- تلاشهای ورود موفق و ناموفق (همراه با آدرس IP)
- ذخیره تغییرات پیکربندی
- فعال و غیرفعالسازی Kill Switch
- دستورات دریافتی از ربات تلگرام
- غیرفعالسازی خودکار کاربران بهدلیل اتمام ترافیک یا انقضا
از این بخش برای حسابرسی امنیتی و عیبیابی استفاده کنید.
این تب یک رابط گرافیکی و کاربرپسند برای مدیریت سیستم چندکاربره ارائه میدهد (همان دادههای Multi-User در Advanced را بهصورت راحتتر مدیریت میکند).
قابلیتها:
- مشاهده لیست کامل کاربران
- افزودن کاربر جدید
- ویرایش اطلاعات کاربر
- توقف و ازسرگیری دستی
- تنظیم محدودیت ترافیک (گیگابایت/ترابایت) و تاریخ انقضا
- مشاهده مصرف زنده هر کاربر
- تولید و کپی لینک اشتراک اختصاصی + کد QR
- تعیین Assigned Nodes (نودهای اختصاصی)
- User Panel URL اختصاصی
- NAT64 اختصاصی برای هر کاربر
این تب شامل راهنمای داخلی و پاسخ به سوالات متداول است. بسیاری از مطالب این سند در داخل خود داشبورد نیز قابل مشاهده است و برای دسترسی سریع بدون ترک صفحه مفید میباشد.
نصب پنل روی Cloudflare
اگر هنوز پنل را نصب نکردهاید یا میخواهید فرآیند استقرار را سادهتر انجام دهید، از ابزارهای زیر استفاده کنید. این ابزارها مراحل ساخت Worker، اتصال D1 و تنظیمات اولیه را تسهیل میکنند:
- ربات تلگرام نصب: @itsyebekhebot — راهنمایی مرحلهبهمرحله از طریق تلگرام
- نصبکننده تحت وب: https://erpycode.github.io/nahan-installer/ — رابط گرافیکی تحت وب برای استقرار سریع
منابع Clean IP و Relay IP
- Clean IP (GitHub): senpaiscanner
- Clean IP (تلگرام): @itsZetaBot
- Relay IP (تلگرام): @nahanproxyipbot
نکات مهم عملیاتی
- همیشه پس از تغییرات در تبهای System و Advanced روی Update Config کلیک کنید.
- بهطور منظم از بخش Backup & Restore پشتیبان JSON بگیرید (مخصوصاً قبل از بروزرسانی).
- شمارندههای اتصالات فعال پس از ریستارت Isolate صفر میشوند (رفتار طبیعی پلن رایگان).
- تمهای رنگی متعدد (پیشفرض، Ocean، Forest، Sunset، Dracula) و حالت تاریک/روشن پشتیبانی میشوند و ترجیح کاربر ذخیره میگردد.
چکلیست امنیتی پس از اولین ورود
dashboard.html و _worker.js پروژه نهان تهیه و بهروز شده است.