Skip to content

نمایندگان ​

نمایندگان در منوی اصلی است و فقط مالک پنل آن را می‌بیند.

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

سه سطح دسترسی ​

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

پنل دقیقاً یک مالک دارد. مالک حذف، غیرفعال یا واگذار نمی‌شود و در صفحه‌ی نمایندگان هم نمی‌آید.

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

صفحه ​

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

برای هر نماینده یک ردیف هست، با همان رنگ‌های فهرست مشتری‌ها: سبز یعنی جا هست، نارنجی یعنی رو به اتمام است، قرمز یعنی تمام شده و بنفش یعنی نامحدود.

  • کاربران: چند کاربر فروخته، در برابر سقفش.
  • ترافیک و حجم باقی‌مانده: مشتری‌هایش چقدر مصرف کرده‌اند و چقدر از سقف مانده.
  • زمان باقی‌مانده: چند روز تا پایان دوره‌اش مانده، یا در انتظار شروع، تا وقتی دوره شروع نشده.
  • سرورها: سرورهایی که اجازه‌ی فروششان را دارد.

بالای فهرست همان ابزارهای صفحه‌ی کلاینت‌ها هست. در نام کاربری، یادداشت یا گروه جستجو کنید؛ بر اساس وضعیت (فعال، در انتظار شروع، رو به اتمام، متوقف) و سرور فیلتر کنید؛ و بر اساس نام، بیشترین کاربر، بیشترین مصرف، نزدیک‌ترین پایان یا جدیدترین مرتب کنید. کاشی‌های آمار بالای صفحه هم فیلتر می‌کنند: روی رو به اتمام بزنید تا ببینید چه کسی را باید تمدید کنید. فیلترها در آدرس صفحه می‌مانند، پس با تازه کردن صفحه یا باز کردن لینک، همان نما باز می‌شود.

روی گوشی، هر نماینده یک کارت است با همین عددها.

افزودن نماینده ​

پنجره‌ی افزودن نماینده مثل پنجره‌ی افزودن مشتری چیده شده.

  • نام کاربری و رمز عبور خودکار ساخته می‌شوند و دکمه‌ی کنار هر کدام یکی دیگر می‌سازد. دکمه‌ی کپی آدرس پنل، نام کاربری و رمز را یک‌جا کپی می‌کند تا برای نماینده بفرستید.
  • کاربران: نماینده روی هم چند کاربر می‌تواند بفروشد. هر مشتری به اندازه‌ی تعداد کاربر پلنش حساب می‌شود؛ پس سقف ۱۰۰ یعنی صد مشتری تک‌کاربره، یا بیست‌وپنج مشتری چهارکاربره، یا هر ترکیبی که جمعش ۱۰۰ شود. بالا بردن تعداد کاربر یک مشتری هم از همین سقف کم می‌کند و پایین آوردنش آن را آزاد می‌کند. نماینده‌ای که سقف دارد نمی‌تواند به مشتری تعداد کاربر نامحدود بدهد. خالی یعنی بدون سقف.
  • ترافیک: مجموع حجمی که مشتری‌هایش روی هم می‌توانند مصرف کنند. این سقف با مصرف واقعی سنجیده می‌شود، نه با آنچه فروخته شده؛ پس ده پلن نامحدود که کسی به آنها وصل نمی‌شود هزینه‌ای ندارد. خالی یعنی بدون سقف.
  • تا تاریخ: آخرین روزی که حساب نماینده کار می‌کند، از روی تقویمی که پنل روی آن تنظیم شده: میلادی، یا شمسی از تنظیمات ← عمومی ← نوع تقویم. دکمه‌های +۱ ماه، +۳ ماه و +۱ سال از تاریخی که ثبت شده حساب می‌کنند، پس تمدید یک کلیک است.
  • شروع از اولین ورود: دوره تعدادی روز است که از اولین ورود نماینده به پنل حساب می‌شود، نه از امروز. اگر جمعه فروخته شود و دوشنبه اولین بار وارد شود، همه‌ی روزهایش را دارد.
  • گروه: مشتری‌های این نماینده در فهرست مشتری‌های خودتان زیر این گروه قرار می‌گیرند تا معلوم باشد مال کیست. پیش‌فرضش reseller:<username> است؛ می‌توانید نام دیگری بنویسید یا یکی از گروه‌های خودتان را انتخاب کنید. خود نماینده این گروه را نمی‌بیند. دو نماینده نمی‌توانند یک گروه داشته باشند، چون فهرست دیگر نمی‌تواند آنها را از هم جدا کند.
  • سرورها: تونل‌هایی که نماینده می‌تواند مشتری‌هایش را رویشان بگذارد. فرم مشتری خود نماینده دقیقاً همین‌ها را نشان می‌دهد، نه بیشتر و نه کمتر. اگر هیچ سروری انتخاب نکنید، اصلاً نمی‌تواند بفروشد. نودی که برای یک نماینده رزرو شده، که از طریق فیلد ownerId نود در API تعیین می‌شود، مشتری کس دیگری را نمی‌پذیرد.

دکمه‌های آماده یک پلن معمول نمایندگی را با یک کلیک پر می‌کنند.

اگر بعداً گروه را عوض کنید، همه‌ی مشتری‌های فعلی نماینده به نام جدید منتقل می‌شوند.

آنچه نماینده می‌بیند ​

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

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

غیرفعال کردن ​

قاعده ​

مشتری فقط وقتی سرویس می‌گیرد که هر دو کلید اجازه دهند: کلید خودش و وضعیت نماینده‌اش.

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

مشتری‌های خودتان و مشتری‌های نماینده‌های دیگر هیچ‌وقت تحت تأثیر قرار نمی‌گیرند.

چه چیزی نماینده را متوقف می‌کند ​

سه چیز، که به همین ترتیب بررسی می‌شوند:

  1. غیرفعال شدن به دست شما.
  2. تمام شدن دوره: تاریخ گذشته است. دوره‌ای که از اولین ورود شروع می‌شود و هنوز شروع نشده، تمام‌شده حساب نمی‌شود.
  3. تمام شدن حجم: مشتری‌هایش روی هم کل سقف را مصرف کرده‌اند.

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

چه اتفاقی می‌افتد و چه وقت ​

همان لحظه‌ای که تغییر را ذخیره می‌کنید:

  • ترافیک مشتری‌هایش در کرنل بسته می‌شود؛
  • دستگاه‌هایشان از تونل‌ها برداشته می‌شوند، چه peerهای WireGuard و چه ورودها؛
  • نشست‌های باز OpenVPN، L2TP/IPsec و PPTP بسته می‌شوند؛
  • در صفحه‌ی کلاینت‌ها کنار هر کدام از مشتری‌هایش متوقف نوشته می‌شود و کلیدش خاموش و قفل نشان داده می‌شود. راهنمای روی برچسب دلیل را می‌گوید و اینکه کلید خود مشتری روشن است یا نه؛ یعنی با برگشتن نماینده وصل می‌شود یا نه؛
  • صفحه‌ی سابسکریپشن مشتری می‌گوید غیرفعال است، بدون اینکه دلیلش را بگوید.

وقتی تاریخ بگذرد یا حجم تمام شود، همین اتفاق خودکار می‌افتد. اگر پنل لحظه‌ای نتواند وضعیت نماینده‌ها را بخواند، مثلاً وقتی دیتابیس لحظه‌ای جواب نمی‌دهد، آخرین وضعیت را نگه می‌دارد و مشتری‌های متوقف را دوباره وصل نمی‌کند.

نماینده در این مدت چه می‌تواند بکند ​

ورود به پنلدیدن مشتری‌هایشتغییر دادن هر چیزی
غیرفعال‌شدهنه: پیام your account has been switched off را می‌بیند و از نشست‌های باز خارج می‌شود
دوره یا حجم تمام‌شدهبله، برای دیدن دلیل و پرداختبلهنه: هر تغییری با ذکر دلیل رد می‌شود

«هر تغییری» کارهایی را هم شامل می‌شود که می‌توانست برای بعد از تمدید ذخیره شود: مشتری تازه، تمدید، افزایش حجم، صفر کردن مصرف، کارهای گروهی و دسته‌جمعی، ایمپورت، دستگاه تازه و جابه‌جا کردن مشتری‌ها بین سرورها.

چند نماینده با هم ​

تیک کنار هر نماینده را بزنید، یا تیک بالای جدول را برای همه‌ی ردیف‌هایی که فیلترها نشان می‌دهند. نوار ابزار «n انتخاب‌شده» را نشان می‌دهد، با بیشتر و حذف:

کارچه می‌کند
فعال کردن، غیرفعال کردنغیرفعال کردن اول تأیید می‌گیرد و می‌گوید چند مشتری قطع می‌شوند. نماینده‌ها را از پنل بیرون می‌کند، دقیقاً مثل غیرفعال کردن یک نماینده.
تمدید مدتبه دوره‌ی جاری هر نماینده روز اضافه می‌کند. دوره‌ای که تمام شده از امروز دوباره شروع می‌شود؛ دوره‌ای که در انتظار اولین ورود است، روزها به همان اضافه می‌شود؛ و نماینده‌ای که تاریخ پایان ندارد، بدون تاریخ می‌ماند.
صفر کردن حجم مصرفیشمارش ترافیک هر نماینده از صفر شروع می‌شود. مصرف خود مشتری‌هایشان دست نمی‌خورد.
تعیین سقف حجم، تعیین سقف تعداد کاربریک مقدار برای همه. خالی یعنی بدون سقف.
افزودن سرور، برداشتن سروربه سرورهایی که هر کدام دارد اضافه یا از آنها کم می‌شود. مشتری‌هایی که روی سرور برداشته‌شده هستند کار می‌کنند.
حذفمثل حذف یک نماینده می‌پرسد مشتری‌هایشان زیر حساب شما بمانند یا آنها هم حذف شوند.

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

حذف نماینده ​

پنل از شما می‌پرسد با مشتری‌های نماینده چه کند، چون اشتباه در هر دو جواب گران تمام می‌شود:

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

در هر دو حالت مشتری‌هایش از گروه نماینده بیرون می‌روند. خود گروه فقط وقتی حذف می‌شود که چیز دیگری زیرش نمانده باشد؛ پس گروهی که با مشتری‌های خودتان مشترک است می‌ماند. نودی که برای او رزرو شده بود به استخر مشترک برمی‌گردد و حذف نمی‌شود.

چه چیزی این جداسازی را نگه می‌دارد ​

جداسازی کار منو نیست. هر endpoint خودش جداگانه بررسی می‌کند. خواندن و نوشتن مشتری‌ها به دست نماینده در لایه‌ی دیتابیس به مشتری‌های خودش محدود می‌شود، با قاعده‌ای که یک بار ثبت شده، نه شرطی که در هر کوئری دوباره نوشته شود؛ پس مسیری هم که هنوز کسی به آن فکر نکرده محدود است.

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

Released under the AGPL-3.0 License.