=============================================================================== ✅ حل مشكلة XCIPTV و 403 Unauthorized - التوثيق الكامل =============================================================================== 📅 التاريخ: 2 ديسمبر 2025 🎯 الهدف: حل مشكلة الوصول المباشر للروابط بدون Token في XCIPTV =============================================================================== 🔍 المشكلة: =============================================================================== برنامج XCIPTV يحاول الوصول مباشرة للروابط: ❌ https://thevirtualservice.com:2053/ABC-NEWS-LIVE/mpegts السيرفر المصدر يرفض الطلب: ❌ 403 Unauthorized - Streamer protection system doesn't allow... السبب: - الروابط تحتاج Token من Flussonic - XCIPTV لا يرسل الـ Token المطلوب - السيرفر المصدر يحمي المحتوى =============================================================================== ✅ الحل المطبّق: =============================================================================== تم إنشاء نظام Proxy ذكي يعمل على 3 مستويات: ┌─────────────────────────────────────────────────────────────┐ │ المستوى 1: التوجيه التلقائي (.htaccess) │ └─────────────────────────────────────────────────────────────┘ الملف: /var/www/html/.htaccess عندما يطلب XCIPTV: https://chatti.tmaxhosting.com/ABC-NEWS-LIVE/mpegts يتم التوجيه تلقائياً إلى: https://chatti.tmaxhosting.com/stream.php/ABC-NEWS-LIVE/mpegts ┌─────────────────────────────────────────────────────────────┐ │ المستوى 2: معالج البث الذكي (stream.php) │ └─────────────────────────────────────────────────────────────┘ الملف: /var/www/html/stream.php الخطوات: 1. يستقبل اسم القناة (ABC-NEWS-LIVE) 2. يبحث في قاعدة البيانات المحلية 3. يجلب الروابط الصحيحة مع الـ Token 4. يعيد توجيه البث للمستخدم مباشرة ┌─────────────────────────────────────────────────────────────┐ │ المستوى 3: Proxy إضافي (اختياري) │ └─────────────────────────────────────────────────────────────┘ الملف: /var/www/html/proxy/stream.php استخدام بديل: https://chatti.tmaxhosting.com/proxy/stream.php/ABC-NEWS-LIVE/mpegts =============================================================================== 📂 الملفات المُنشأة: =============================================================================== ✓ /var/www/html/stream.php - المعالج الرئيسي للبث - يبحث في قاعدة البيانات - يوجه للروابط الصحيحة ✓ /var/www/html/.htaccess - التوجيه التلقائي - قواعد إعادة الكتابة (RewriteRule) - Headers للبث المباشر ✓ /var/www/html/proxy/stream.php - معالج بديل مع Token - دعم Flussonic Token - نسخة احتياطية ✓ /var/www/html/proxy/.htaccess - إعدادات Proxy الإضافية =============================================================================== 🎯 كيفية الاستخدام: =============================================================================== طريقة 1: الاستخدام التلقائي (موصى بها) ──────────────────────────────────────── في XCIPTV أو أي تطبيق آخر، استخدم: Server URL: https://chatti.tmaxhosting.com Username: [your_username] Password: [your_password] القنوات ستعمل تلقائياً! ✅ طريقة 2: الروابط المباشرة ────────────────────────── لقناة معينة: https://chatti.tmaxhosting.com/ABC-NEWS-LIVE/mpegts https://chatti.tmaxhosting.com/FOX-NEWS/mpegts https://chatti.tmaxhosting.com/CNN/mpegts طريقة 3: استخدام Proxy ──────────────────────── رابط بديل: https://chatti.tmaxhosting.com/proxy/stream.php/ABC-NEWS-LIVE/mpegts أو مع parameters: https://chatti.tmaxhosting.com/stream.php?channel=ABC-NEWS-LIVE&format=mpegts =============================================================================== 🔄 آلية العمل: =============================================================================== السيناريو الكامل: 1. XCIPTV يطلب: https://chatti.tmaxhosting.com/ABC-NEWS-LIVE/mpegts ↓ 2. .htaccess يعيد التوجيه إلى: stream.php/ABC-NEWS-LIVE/mpegts ↓ 3. stream.php يبحث في قاعدة البيانات: SELECT * FROM streams WHERE stream_display_name LIKE '%ABC-NEWS-LIVE%' ↓ 4. يجد القناة وروابطها: sources = [ "https://thevirtualservice.com:2053/ABC-NEWS-LIVE/mpegts?token=xxx", "https://source2.com/ABC-NEWS-LIVE/mpegts", "https://source3.com/ABC-NEWS-LIVE/mpegts" ] ↓ 5. يستخدم أول رابط صحيح مع Token ↓ 6. يعمل كـ Proxy ويوجه البث للمستخدم ↓ 7. XCIPTV يستقبل البث بنجاح! ✅ =============================================================================== 🔧 الإعدادات المتقدمة: =============================================================================== تعديل stream.php لإضافة Token مخصص: ─────────────────────────────────────── افتح: /var/www/html/stream.php ابحث عن دالة generateFlussionicToken(): function generateFlussionicToken($stream_path) { $secret = 'your_flussonic_secret'; // غيّر هذا! $expire = time() + 3600; // صلاحية ساعة واحدة $stream_name = ...; $token = md5($secret . $stream_name . $expire) . ':' . $expire; return $token; } تغيير مدة صلاحية Token: ───────────────────────── $expire = time() + 3600; // 1 ساعة $expire = time() + 7200; // 2 ساعة $expire = time() + 86400; // 24 ساعة إضافة سيرفرات بديلة: ──────────────────────── في stream.php، سطر 65-70: $possible_urls = [ 'https://source1.com/' . $channel . '/' . $format, 'https://source2.com/' . $channel . '/' . $format, 'https://source3.com/live/' . $channel . '.' . $format, ]; =============================================================================== 📊 مثال عملي: =============================================================================== قناة: ABC-NEWS-LIVE الطلب الأصلي من XCIPTV: GET https://chatti.tmaxhosting.com/ABC-NEWS-LIVE/mpegts User-Agent: XCIPTV-v7.0 ما يحدث خلف الكواليس: 1. .htaccess: /ABC-NEWS-LIVE/mpegts → /stream.php/ABC-NEWS-LIVE/mpegts ✓ 2. stream.php: - يستقبل: channel=ABC-NEWS-LIVE, format=mpegts - يبحث في streams table - يجد stream_id=148720 - يجلب sources من stream_source ✓ 3. sources = [ "https://thevirtualservice.com:2053/ABC-NEWS-LIVE/mpegts?token=73f990bb...", "https://backup.server.com/ABC-NEWS-LIVE/mpegts" ] 4. يختبر الرابط الأول: ✓ يعمل! 5. يعمل كـ Proxy: Client ← stream.php ← Source Server ✓ 6. XCIPTV يستقبل البث بنجاح! 🎉 =============================================================================== 🐛 استكشاف الأخطاء: =============================================================================== مشكلة: لا يزال يظهر 403 ✅ الحل: 1. تأكد من تفعيل mod_rewrite: sudo a2enmod rewrite sudo systemctl restart apache2 2. تحقق من .htaccess: cat /var/www/html/.htaccess 3. راجع Apache logs: tail -f /var/log/apache2/error.log مشكلة: "Stream not found" ✅ الحل: 1. تحقق من اسم القناة في قاعدة البيانات: SELECT * FROM streams WHERE stream_display_name LIKE '%ABC%'; 2. تأكد من وجود روابط في stream_source مشكلة: بطء في التحميل ✅ الحل: 1. قم بتشغيل check_and_fix_streams.php 2. احذف الروابط المعطلة 3. استخدم روابط سريعة فقط مشكلة: القناة تعمل ثم تتوقف ✅ الحل: - Token منتهي الصلاحية - زد مدة الصلاحية في generateFlussionicToken() - أو احذف Token تماماً إذا لم يكن مطلوباً =============================================================================== 🎯 نصائح للأداء الأمثل: =============================================================================== 1. استخدم فقط الروابط السريعة: - قم بتشغيل check_and_fix_streams.php دورياً - احذف الروابط البطيئة 2. فعّل الـ Caching: - في Apache: mod_cache - في PHP: opcache 3. استخدم CDN إذا كان متاحاً 4. راقب استهلاك Bandwidth 5. استخدم Nginx كـ Reverse Proxy (اختياري) =============================================================================== 📱 إعدادات XCIPTV: =============================================================================== الإعدادات الموصى بها: Player: EXO (للبث المباشر) Buffer: 30000ms Hardware Acceleration: نعم Stream Type: TS Server URL: https://chatti.tmaxhosting.com/iptv/player_api.php أو للروابط المباشرة: https://chatti.tmaxhosting.com Username: [your_username] Password: [your_password] =============================================================================== 🔐 الأمان: =============================================================================== النظام الحالي آمن لأنه: ✓ يحافظ على نظام المصادقة الأصلي ✓ يخفي credentials السيرفر المصدر ✓ يمنع الوصول المباشر للسيرفر المصدر ✓ يدعم HTTPS ✓ يحمي من Directory Listing تحسينات إضافية (اختيارية): - إضافة Rate Limiting - IP Whitelisting - User-Agent checking - Referrer checking =============================================================================== 📞 للدعم: =============================================================================== إذا واجهت مشاكل: 1. اقرأ هذا الملف بالكامل 2. راجع Apache error log 3. اختبر الروابط يدوياً 4. تحقق من قاعدة البيانات =============================================================================== 🎉 الآن XCIPTV وجميع التطبيقات ستعمل بنجاح! ═══════════════════════════════════════════════════════════════════════════════ تم إنشاء هذا الحل بواسطة Claude Code التاريخ: 2 ديسمبر 2025 السيرفر: https://chatti.tmaxhosting.com السيرفر المصدر: https://flix-panel.xyz:2087 ═══════════════════════════════════════════════════════════════════════════════