🎬

GC-IPTECNO

Control Panel

Sistema Online
⚠️ {{ loginError }}

Broadcast Infrastructure Modernization

v1.0.0 • Secure Access

📊 Dashboard 👥 Gestión de Clientes 📺 Gestión de Streams 📁 Gestión de Categorías ⚙️ Configuración del Sistema

Sistema Online
Usuarios
{{ stats.users }}
Total registrados
👥
Streams
{{ stats.streams }}
Canales activos
📺
Categorías
{{ stats.categories }}
Grupos creados
📁
Conexiones
{{ realtimeStats.connectedUsers }}
En tiempo real
🔌
Estado del Sistema:
{{ service.name.split(' ')[0] }}

Distribución Usuarios

Streams por Tipo

Top Streams

{{ index + 1 }}. {{ stream.name }} {{ stream.views || 0 }} views

Sin datos aún

📊 Actividad (Últimos 7 días)

Conexiones diarias

⚡ En Tiempo Real

Conectados
{{ realtimeStats.connectedUsers }}
Streams
{{ realtimeStats.activeStreams }}
Bandwidth
{{ realtimeStats.bandwidth }} Mbps
Auto-refresh: {{ autoRefreshCountdown }}s

📱 Dispositivos Conectados

{{ device.icon }} {{ device.type }}
{{ device.count }}
Sin dispositivos conectados
Total {{ deviceStats.total }}

📝 Actividad Reciente

{{ formatTime(log.time) }} {{ log.type === 'connect' ? '🟢 Conexión' : '🔴 Desconexión' }} {{ log.username }} → {{ log.stream }} {{ log.device.icon }} {{ log.device.device_type }}
{{ log.ip }}

No hay actividad reciente

👥 Gestión de Usuarios

{{ filteredUsers.length }} de {{ users.length }} usuarios

👤 Usuario 📧 Email ⚡ Estado 🔌 Max Conexiones ⏰ Expira ⚙️ Acciones
{{ user.username.charAt(0).toUpperCase() }}
{{ user.username }}
{{ user.email || '-' }} {{ user.status === 'active' ? '✓ Activo' : user.status === 'suspended' ? '⏸ Suspendido' : '✕ Inactivo' }} {{ user.max_connections }} {{ formatDate(user.expires_at) }}

📺 Gestión de Streams

{{ filteredStreams.length }} de {{ streams.length }} canales

#️⃣ ID 📺 Nombre 🎭 Tipo 📁 Categoría 🏥 Health ⚡ Estado ⚙️ Acciones
{{ stream.stream_id }}
{{ stream.type === 'live' ? '📡' : stream.type === 'vod' ? '🎬' : '📺' }}
{{ stream.name }}
{{ stream.type === 'live' ? '📡 LIVE' : stream.type === 'vod' ? '🎬 VOD' : '📺 SERIES' }} {{ getCategoryName(stream.category_id) }}
🟢 🔴 🟡 {{ stream.check_status || 'Sin verificar' }}
{{ stream.response_time_ms }}ms
{{ stream.codec_info.video }} / {{ stream.codec_info.audio }}
{{ stream.codec_info.resolution }}
{{ stream.status === 'active' ? '✓ Activo' : '✕ Inactivo' }}

📁 Gestión de Categorías

{{ filteredCategories.length }} de {{ categories.length }} categorías

📁 Nombre 🎭 Tipo 🔢 Orden ⚙️ Acciones
📁
{{ category.name }}
{{ category.type === 'live' ? '📡 LIVE' : category.type === 'vod' ? '🎬 VOD' : '📺 SERIES' }} #{{ category.sort_order }}

⚙️ Configuración del Sistema

{{ systemConfig.length }} parámetros configurables

{{ config.key }} {{ config.category }}

⚠️ {{ Object.keys(configChanges).length }} cambio(s) sin guardar

⚠️ Nota: Cambiar puertos de servicios requiere reiniciar el sistema para aplicar los cambios.

🔒 Seguridad y Control de Acceso

Gestiona conexiones, bloqueos y límites

🔌 Conexiones Activas por Usuario

👤 {{ userConn.username }}

{{ userConn.connections.length }} conexión(es) activa(s)

ACTIVO
📺 Stream: {{ conn.stream_name }}
🌐 IP: {{ conn.ip_address }}
🕒 Inicio: {{ formatDateTime(conn.started_at) }}
💓 Heartbeat: {{ formatDateTime(conn.last_heartbeat) }}
No hay conexiones activas en este momento

🚫 IPs Bloqueadas

IP Address Razón Bloqueado Expira Estado Acciones
{{ entry.ip_address }} {{ entry.reason || '-' }} {{ formatDateTime(entry.blocked_at) }} {{ entry.expires_at ? formatDateTime(entry.expires_at) : 'Permanente' }} BLOQUEADO EXPIRADO
No hay IPs bloqueadas

⚠️ Intentos de Conexión Bloqueados

Registro de intentos rechazados por límite de conexiones o IP bloqueada

Fecha Usuario IP Razón Stream Acciones
{{ formatDateTime(attempt.attempted_at) }} {{ attempt.username }} {{ attempt.ip_address }} LÍMITE EXCEDIDO IP BLOQUEADA {{ attempt.reason }} {{ attempt.stream_name || '-' }}
No hay intentos bloqueados registrados

📊 Límites de Conexión por Usuario

Configura cuántos dispositivos pueden conectarse simultáneamente

Usuario Email Límite Actual Modo Acciones
{{ user.username }} {{ user.email || '-' }} {{ user.max_connections || 1 }} ESTRICTO FLEXIBLE
No hay usuarios registrados

🚫 Bloquear Dirección IP

Dejar vacío para bloqueo permanente

📊 Configurar Límite de Conexión

Usuario: {{ limitForm.username }}

Número de dispositivos que pueden reproducir al mismo tiempo