# Manucast En Vivo para `radio.manucast.net` Paquete web en PHP + HTML + CSS + JS, pensado para subir a Hostinger Business o hosting compartido compatible con PHP. ## Que incluye - Home publica responsive en fondo claro. - Buscador interno en vivo. - Secciones para radio, TV en vivo, podcasts y videocasts. - Mini reproductor flotante para streams de audio. - Panel admin en `/admin/`. - Actualizacion automatica por RSS/Atom/YouTube RSS. - Monitoreo basico de streams HLS/MP3 por URL. - API JSON simple en `/api/content.php`. - Datos editables en JSON, sin MySQL obligatorio. ## Subida a Hostinger 1. En hPanel, crea o selecciona el subdominio `radio.manucast.net`. 2. Abre File Manager o entra por FTP/SFTP. 3. Sube todo el contenido de esta carpeta dentro del `public_html` del subdominio. 4. Verifica que `index.php` quede directamente dentro del root del subdominio. 5. Abre `https://radio.manucast.net`. 6. Entra a `https://radio.manucast.net/admin/`. ## Credenciales iniciales Usuario: `admin` Clave: `cambia-esta-clave-2026` Cambia la clave inmediatamente en `config.php`: ```php 'admin_user' => 'admin', 'admin_password' => 'TU_CLAVE_LARGA_AQUI', 'sync_token' => 'TU_TOKEN_LARGO_AQUI', ``` ## Actualizacion automatica El script principal es: ```text scripts/update_feeds.php ``` ### Opcion recomendada: cron por ruta de archivo En Hostinger, crea un Cron Job que ejecute PHP por ruta. El comando suele parecerse a: ```bash php -q /home/TU_USUARIO/domains/radio.manucast.net/public_html/scripts/update_feeds.php ``` Frecuencia sugerida para empezar: ```text */30 * * * * ``` ### Opcion alternativa: cron por URL con token ```text https://radio.manucast.net/scripts/update_feeds.php?token=TU_TOKEN_LARGO_AQUI ``` El token se define en `config.php`. ## Como agregar fuentes Edita `data/sources.json`. ### Podcast por RSS ```json { "id": "mi-podcast-rss", "name": "Mi Podcast RSS", "type": "podcast", "method": "rss", "url": "https://example.com/feed.xml", "source_id": "mi-podcast", "enabled": true, "review_required": false } ``` ### Videocast por YouTube RSS YouTube permite feeds RSS de canal con esta forma: ```text https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID ``` Ejemplo: ```json { "id": "canal-youtube-rss", "name": "Canal YouTube RSS", "type": "videocast", "method": "rss", "url": "https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID", "source_id": "mi-videocast", "enabled": true, "review_required": true } ``` ### Stream de radio o TV ```json { "id": "mi-radio-stream", "name": "Mi Radio Stream", "type": "radio", "method": "stream", "url": "https://example.com/radio.mp3", "source_id": "mi-radio", "enabled": true, "review_required": false } ``` Tambien agrega la estacion o canal en `data/content.json` para que aparezca en la web. ## Recomendacion legal Usa solo streams oficiales, feeds RSS publicos, embeds permitidos o acuerdos directos con emisoras, canales y creadores. Evita retransmitir o monetizar contenido sin permiso. ## Estructura ```text /admin/ Panel interno /api/content.php API JSON simple /assets/ CSS y JS publicos /data/ Datos JSON protegidos por .htaccess /includes/ Funciones PHP compartidas /scripts/ Actualizador RSS/stream config.php Configuracion general index.php Home publica ``` ## Siguiente evolucion recomendada - Paginas SEO individuales por pais, ciudad, emisora y podcast. - Reclamo de perfil para emisoras y creadores. - Base de datos MySQL si el catalogo supera miles de contenidos. - Integracion de analitica real: Matomo, GA4 o eventos propios. - Moderacion real con aprobacion/rechazo de episodios importados.