این راهنماها مفاهیم یک صنعت را روی اشیایی که پلتفرم امروز دارد (بوکهها، لاینها، بستهها، حسابهای پارتنر، نودها، API) نگاشت میکنند. اینها نگاشتهای مفهومیاند، نه قابلیتهای مخصوص صنعت، و حساب پارتنر یک حساب تفویضی است، نه tenant ایزوله.
نگاشت مفهومی
در پنل چیزی به نام اشتراک یا نقطه حضور نیست. جدول میگوید کدام شیء چه نقشی دارد؛ بخشهای زیر آنها را به همین ترتیب راه میاندازند.
| در صنعت شما | روی پلتفرم | کجا در پنل |
|---|---|---|
| حساب نماینده یا پارتنر منطقهای | حساب پارتنر (ریسلر): داشبورد تفویضی با کردیت، مجوزها و لاینهای خودش | Users ← افزودن ریسلر؛ Groups برای مجوزهای آن |
| سطح کانال یا بسته افزونه | بوکه: مجموعهای نامدار از کانالها، فیلمها یا سریالها که یک بسته میدهد | Bouquets، از Streams و Movies / Series |
| کانال تلویزیونی | کانال زنده: یک استریم با منابع، EPG و فرمتهای خروجیاش | Streams ← افزودن استریم زنده (URL منبع یا RTMP push) |
| کتابخانه VOD | کاتالوگ VOD: فیلم و سریال با فصل و قسمت، دستهبندیها و اطلاعات متادیتا | Movies و Series، یا کار ingest VOD |
| دسترسی تلویزیونی مشترک | لاین: یک دسترسی با بسته، بوکهها، انقضا، محدودیت اتصال و خروجیهایش | Lines ← افزودن، یا کدهای فعالسازی، یا Reseller API |
| پایان دوره صورتحساب | تاریخ انقضای لاین، که با بسته، کردیت یا API تمدید میشود | تاریخ انقضای لاین و مدت بسته |
| نمایشگر به ازای هر اشتراک | حداکثر اتصال لاین: چند دستگاه میتوانند همزمان تماشا کنند | حداکثر اتصال لاین |
| یکپارچگی با صورتحساب و تأمین سرویس | Reseller API و وبهوکها: عملیات پنل از سیستم خودتان | کلیدهای Reseller API و وبهوکها در داشبورد ریسلر |
| نود نقطه حضور | نودهای پخش: سرورهای edge ثبتشده از پنل، یکی برای هر سایت یا ساختمان | Servers ← افزودن نود، نصبشده با SSH |
پیشنیازها
آنچه پیش از نصب باید داشته باشید.
- یک سرور در سایت مرکزی (Ubuntu 22.04 یا 24.04)، نصبکننده، دامنه یا آدرسی که مشترکان به آن برسند و یک سرور در هر نقطه حضور برای نودها.
- فیدهای کانال دارای مجوز، کتابخانه VOD و سامانه صورتحسابی که اشتراکها در آن هستند.
- تصمیم درباره سطوح، طول دوره صورتحساب و اینکه کدام نمایندگان حساب پارتنر بگیرند.
استقرار زیرساخت
اول سایت مرکزی، بعد نقاط حضور.
- نصبکننده را روی سرور مرکزی اجرا کنید؛ پنل را پشت ریورسپراکسی خود بگذارید و TRUSTED_PROXIES را تنظیم کنید تا لاگها و قواعد IP آدرس واقعی مشترک را ببینند.
- پایه پخش را روی آدرس عمومی که مشترکان به آن میرسند و کلید مجوز را روی سرور بگذارید.
- برای هر نقطه حضور از Servers یک نود ثبت کنید؛ پنل آن را با SSH نصب میکند، یا نود با کد یکبارمصرف ثبت میشود، و مشترکان نزدیک آن را به آن هدایت میکند.
- برای پشتیبانی یا تیم صورتحساب حساب پارتنر (ریسلر) فقط با مجوز لاینها بسازید.
سازماندهی محتوا
سطوح و بستهها بهصورت بوکه.
- کانالها را زیر Streams و کتابخانه VOD را زیر Movies و Series با دستهبندی و منبع EPG اضافه کنید.
- برای فهرست پایه، کانالهای پرمیوم و کتابخانه VOD بوکه بسازید.
- برای هر سطح اشتراک یک بسته با بوکههایی که میدهد، دوره صورتحساب بهعنوان مدت و قیمتی به کردیت بسازید.
- برای یک تبلیغ یا مشتری جدید یک بسته آزمایشی کوتاه بسازید.
پیکربندی پارتنر (ریسلر)
نمایندگان با کردیت.
- برای نمایندگان گروهی با مجوز لاینهای خودشان و بدون دسترسی به کاتالوگ یا تنظیمات بسازید.
- هر ریسلر منطقهای را با آن گروه، بستههایی که میتواند بفروشد و موجودی کردیت بهعنوان حساب پارتنر اضافه کنید؛ ریسلر میتواند تا پنج سطح زیرریسلر داشته باشد.
- وبهوک credits.low و اعلان کردیت کم به نماینده میگوید پیش از توقف فروش شارژ کند.
پیکربندی لاین مشترک
یک لاین برای هر اشتراک.
- صورتحساب هنگام شروع اشتراک لاین میسازد، از طریق کانکتور یا action=create_line در Reseller API با بسته سطح و شناسه درخواست.
- حداکثر اتصال را برای هر سطح تعیین کنید، یعنی تعداد نمایشگرهایی که یک خانوار همزمان میتواند استفاده کند.
- هر جا پیشنهاد فقط برای شبکه شماست لاین را به آدرس، کشور یا ISP مشترک ببندید.
- برای آزمایشی یا مورد پشتیبانی، از Lines → افزودن لاین اضافه کنید و اطلاعات ورود را بدهید.
کتابخانه VOD
کاتالوگ درخواستی.
- فیلمها و سریالها را با فصل و قسمت اضافه کنید، با ingest از کار VOD یا آپلود، با فراداده TMDB برای پوستر و توضیحات.
- عنوانها را بر اساس سطح یا افزونه در بوکهها گروه کنید تا بسته دقیقاً همان چیزی را بدهد که اشتراک شامل میشود.
- نودها فایلهای VOD را کش میکنند، پس عنوانهای محبوب از نقطه حضور نزدیک مشترک سرو میشوند.
کانالهای زنده
فهرست کانال.
- هر کانال دارای مجوز را زیر Streams با فیدش اضافه کنید و catch-up یا timeshift را فقط جایی فعال کنید که حقوق اجازه میدهد.
- یک منبع EPG اضافه کنید تا برنامهها و گیرندهها راهنمای برنامه را نشان دهند.
- هر نود یک کانال زنده را یک بار از اوریجین میگیرد و به مشترکانش پخش میکند.
انقضا، تمدید و لغو
دوره صورتحساب بهعنوان اعتبار لاین.
- لاین به اندازه دوره بستهاش دوام دارد؛ صورتحساب هر دوره آن را با action=renew_line یا از طریق کانکتور تمدید میکند.
- وقتی اشتراکی منقضی یا لغو میشود صورتحساب action=disable_line را صدا میزند و هنگام فعالسازی مجدد لاین را دوباره فعال میکند.
- صورتحساب را به وبهوکها مشترک کنید تا لاینهای در شرف انقضا و منقضی را با سوابقش مطابقت دهد.
یکپارچگی با صورتحساب
صورتحساب دسترسی را میراند؛ پخشکننده پخش میکند.
- کانکتور سامانه صورتحساب خود را سمت آن نصب کنید (WHMCS، Blesta، Odoo و دیگران)، یا از سامانه خودتان Reseller API را با کلید و شناسه درخواست صدا بزنید.
- ورود یکپارچه برای بینندگان نیست: مشترک با اطلاعات لاین، که صورتحساب میتواند در بخش مشتری نشان دهد، وارد برنامه یا گیرنده میشود.
- برای ابزارهای گزارشگیری از کلیدهای Admin API با پرچم فقطخواندنی، فهرست مجاز IP و تاریخ انقضا استفاده کنید.
ملاحظات امنیتی
سرویس را برای مشترکان نگه دارید.
- پنل را پشت ریورسپراکسی با TLS بگذارید و TRUSTED_PROXIES را تنظیم کنید؛ ترافیک مدیریت نودها را روی شبکه خصوصی نگه دارید.
- ورود دومرحلهای برای هر حساب پنل و گروههای مجوز برای پشتیبانی و نمایندگان؛ reCAPTCHA یا Turnstile روی ورود.
- لینکهای پخش امضاشده و منقضیشونده، سقف اتصال برای هر اشتراک، و بستن به آدرس، کشور یا ISP هر جا مناسب است.
- پشتیبانهای رمزگذاریشده پایگاه داده با نسخه بیرونی و گزارش ممیزی برای هر تغییر لاینها و کردیتها.
عیبیابی
بررسیهای اولیه معمول.
- مشترک تلویزیون ندارد: بررسی کنید لاین فعال و منقضینشده است، سپس فراخوانی صورتحساب را در لاگ فراخوانیهای Reseller API.
- کانالی برای یک سطح نیست: بوکههای بسته آن سطح را بررسی کنید.
- نقطه حضوری بافر میکند: heartbeat نود آن و اینکه مشترکانش به آن هدایت میشوند را بررسی کنید.
- نماینده نمیتواند لاین بسازد: کردیت او را بررسی کنید و اینکه بسته از آنهایی است که میتواند بفروشد.