Files
xciptv/XCIPTV_SİSTEMİ_DOKÜMANTASYON.md
2026-02-22 17:34:03 +03:00

4.9 KiB
Raw Blame History

XC IPTV API & Yönetim Paneli - Sistem Dokümantasyonu

Bu doküman, XC IPTV tabanlı mobil veya TV uygulamalarının (örn: MAGTV Android Player vb.) merkezi olarak yönetilmesini sağlayan bu projenin temel yapısını, güvenlik mekanizmasını ve çalışma mantığınııklamaktadır.

🚀 Projenin Temel Amacı Nedir?

Bu proje, bir veya birden fazla IPTV Android (veya iOS) uygulamasının kodlarına dokunmadan uzaktan yönetebilmeniz için tasarlanmış merkezi bir kontrol ve API sistemidir.

IPTV oynatıcıları doğası gereği sunucu (portal) adreslerine, güncelleme bilgilerine, reklam ayarlarına ve çeşitli özellik kapatma/açma opsiyonlarına ihtiyaç duyarlar. Eğer bu ayarlar doğrudan uygulamanın (APK) içerisine gömülürse, her küçük portal adresi değişikliğinde veya yeni bir özellik açıldığında uygulamayı baştan derleyip kullanıcıya güncelleme yollamanız gerekir.

Bu API + Panel yapısı sayesinde;

  • Uygulamalar ilk açıldığında sizin belirlediğiniz bir ana noktaya (Bu projenin barındığı sunucuya/api_secured.php dosyasına) gizli bir anahtarla bağlanırlar.
  • Uygulamalar, "Ben kime bağlanmalıyım? Hangi portalları göstermeliyim? VOD servisini açayım mı? Ekranda reklam çıkarayım mı?" gibi tüm yapılandırmaları bu panel üzerinden JSON veri tabanlı çekerek kendini ona göre şekillendirir.

Kısacası, bu sistem IPTV oyuncularınızın "Beyni" ve **"Telsiz İstasyonu"**dur.


🛠 Sistemdeki Bileşenler (Dosya Analizi)

1. config.php (Merkez Ayar Dosyası)

Sistemdeki tüm geçerli teknik ayarların, duyuruların, loglama ayarlarının, AdMob (reklam) kimliklerinin ve hatta bakım modlarının tutulduğu depo niteliğindeki dosyadır. Uygulama API'ye başarılı şekilde bağlandığında, API buradaki konfigürasyonu alıp güvenle uygulamalara gönderir.

2. api_secured.php (Kara Kutu ve Güvenlik Güvencesi)

IPTV uygulamalarının bağlandığı ve veri alışverişi yaptığı ana omurgadır. Aşağıdaki güvenlik katmanlarına sahiptir:

  • Rate Limiting: Bir IP adresi çok fazla istek atarsa o IP'yi geçici olarak engeller (Brute Force engeller).
  • API Key Doğrulaması: Yetkisiz ve klonlanmış uygulamaların panelinizi sömürmesini engellemek için sadece izin verilen (ve kodlanmış) gizli API anahtarlarıyla erişim sağlar.
  • Token Sistemi: Cihazların ilk bağlantısında bir Token oluşturur. Sonraki tüm iletişimler, süresi dolabilen (X saat sonra expire olan) kriptolanmış JSON Token'lar üzerinden sağlanır. Böylece Araya Girme (Man in the middle) saldırılarına karşı koyar.

3. panel.php (Admin Arayüzü)

Adresinizi direkt ziyaret eden yetkili yöneticileriniz için görsel olan yönetim arayüzüdür. (Modern karanlık-moda uyumlu). Erişim, dosyaya özel bir <session> tabanlı PHP kontrolü ile sadece doğru kullanıcı adı/şifreyi (login.html üzerinden girilmiş olan) bilen kişilere açılır.

  • Yöneticiler burada App Adı, Müşteri ID'si, Aktif/Pasif portalları ve UI ikon dizilimlerini görsel butonlar üzerinden değiştirebilir. (Not: Butonlar şu an demonstrasyon/görsel amaçlıdır, asıl ayar merkezinde aktif yazma fonksiyonlarının kodlanması gerekebilir).

4. login.html (Güvenlik Kapısı)

Kullanıcının panele doğrudan ulaşmadan önce gördüğü tek yerdir. Admin bilgilerini api_secured.php'nin login rotasına gönderir ve bilgiler doğruysa sistemin içine bir yetki geçişiyle panel.php ye gönderir.

5. .htaccess & Dockerfile (Koruma ve Sunucu Kuralları)

  • Kritik bilgi koruması: rate_limit.json, iç .log dosyaları, konfigürasyon (config.php) dış dünyadan .htaccess üzerinden 403 Forbidden ile engellenir.
  • SEF URL: Tüm karmaşık sistem istekleri /api basitliğine dönüştürülmüştür.
  • Docker: Coolify gibi modern CI/CD platformlarında hiçbir karmaşık kuruluma gerek duymadan anında ayağa kalkması ve tüm port+apache izinlerinin doğru çalışması için kodlanmış liman paketleyicisidir.

🔍 API İstek Mimarisi ve Akışı

(Bu kısmı uygulama geliştiriciniz veya siz merak edersiniz)

  1. APK, cihaza kurulur. İçinde "myapp_v1_secret_key_2024" gibi sadece sizin bildiğiniz bir kod vardır.
  2. APK açıldığında sizin sunucunuza action=get_token&api_key=O_GIZLI_KOD şeklinde bir istek yollar.
  3. Bizim api_secured.php'miz koda bakar: "Evet bu kod bende kayıtlı" diyerek cihaza 24 saat geçerli şifreli uzunca bir Token iade eder.
  4. APK bir sonraki saniye bu kez action=get_config&token=ALDIKI_TOKEN ile son bir istek yollar.
  5. API tokeni ve son kullanma tarihini onaylar ve sizin config.php ile panel.php deki tüm kurallarınızı (Hangi TV izlenecek, hangi temayı kullanacak, bakım modu var mı yok mu) JSON formatında iletir.
  6. Uygulama kendini ayarlar ve seyirciye açılır.

Her şey bu kadar hızlı, stabil ve güvenliklidir.