eliminacion-localhost
This commit is contained in:
121
channels.json
121
channels.json
@@ -13,11 +13,103 @@
|
||||
"tags": [],
|
||||
"mirrors": [
|
||||
{
|
||||
"resolution": "360p",
|
||||
"resolution": "1080p",
|
||||
"acestream_hash": "eb6ffec065b26259ad3d1811e0bbb0a5332ed276"
|
||||
},
|
||||
{
|
||||
"resolution": "1080p",
|
||||
"acestream_hash": "7ba1f321f4d0791b7ebd42f41a07c1cd1479e784"
|
||||
},
|
||||
{
|
||||
"resolution": "720p",
|
||||
"acestream_hash": "a116ce3ff95c41c60e987e2b1aa247007f707884"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dazn-2",
|
||||
"name": "DAZN 2",
|
||||
"group": "DAZN",
|
||||
"subcategory": "",
|
||||
"country_code": "es",
|
||||
"logo_url": "/logos/countries/spain/dazn-2-es.png",
|
||||
"tags": [],
|
||||
"mirrors": [
|
||||
{
|
||||
"resolution": "1080p",
|
||||
"acestream_hash": "ae68a0835039fab28fd2314108fabd4fab33b8ab"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dazn-laliga",
|
||||
"name": "DAZN LaLiga",
|
||||
"group": "DAZN",
|
||||
"subcategory": "LaLiga",
|
||||
"country_code": "es",
|
||||
"logo_url": "/logos/countries/spain/dazn-laliga-es.png",
|
||||
"tags": [],
|
||||
"mirrors": [
|
||||
{
|
||||
"resolution": "1080p",
|
||||
"acestream_hash": "e2b8a4aba2f4ea3dd68992fcdb65c9e62d910b05"
|
||||
},
|
||||
{
|
||||
"resolution": "1080p",
|
||||
"acestream_hash": "74defb8f4ed3a917fd07c21b34f43c17107ec618"
|
||||
},
|
||||
{
|
||||
"resolution": "720p",
|
||||
"acestream_hash": "4e6d9cf7d177366045d33cd8311d8b1d7f4bed1f"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dazn-laliga-2",
|
||||
"name": "DAZN LaLiga 2",
|
||||
"group": "DAZN",
|
||||
"subcategory": "LaLiga",
|
||||
"country_code": "es",
|
||||
"logo_url": "/logos/countries/spain/dazn-laliga-2-es.png",
|
||||
"tags": [],
|
||||
"mirrors": [
|
||||
{
|
||||
"resolution": "1080p",
|
||||
"acestream_hash": "a231b2fa1f7754433efeb8bb8d69d7b9096dcba8"
|
||||
},
|
||||
{
|
||||
"resolution": "720p",
|
||||
"acestream_hash": "c976c7b37964322752db562b4ad65515509c8d36"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dazn-f1",
|
||||
"name": "DAZN F1",
|
||||
"group": "DAZN",
|
||||
"subcategory": "F1",
|
||||
"country_code": "es",
|
||||
"logo_url": "/logos/countries/spain/dazn-f1-es.png",
|
||||
"tags": [],
|
||||
"mirrors": [
|
||||
{
|
||||
"resolution": "360p",
|
||||
"acestream_hash": "eb4975702ceadca7ed74f8707e17a9f55569dbb9"
|
||||
},
|
||||
{
|
||||
"resolution": "720p",
|
||||
"acestream_hash": "4e6d9cf7d177366045d33cd8311d8b1d7f4bed1f"
|
||||
},
|
||||
{
|
||||
"resolution": "1080p",
|
||||
"acestream_hash": "cc108ae39f92c48f6c946763047bd1c9b7b7d889"
|
||||
},
|
||||
{
|
||||
"resolution": "1080p",
|
||||
"acestream_hash": "e2b8a4aba2f4ea3dd68992fcdb65c9e62d910b05"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "laliga-tv-hypermotion",
|
||||
"name": "LaLiga TV Hypermotion",
|
||||
@@ -37,33 +129,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dazn-laliga",
|
||||
"name": "DAZN LaLiga",
|
||||
"group": "DAZN",
|
||||
"subcategory": "LaLiga",
|
||||
"country_code": "es",
|
||||
"logo_url": "/logos/countries/spain/dazn-laliga-es.png",
|
||||
"tags": [],
|
||||
"mirrors": [
|
||||
{
|
||||
"resolution": "360p",
|
||||
"acestream_hash": "eb4975702ceadca7ed74f8707e17a9f55569dbb9"
|
||||
},
|
||||
{
|
||||
"resolution": "720p",
|
||||
"acestream_hash": "4e6d9cf7d177366045d33cd8311d8b1d7f4bed1f"
|
||||
},
|
||||
{
|
||||
"resolution": "1080p",
|
||||
"acestream_hash": "cc108ae39f92c48f6c946763047bd1c9b7b7d889"
|
||||
},
|
||||
{
|
||||
"resolution": "1080p",
|
||||
"acestream_hash": "e2b8a4aba2f4ea3dd68992fcdb65c9e62d910b05"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "m-liga-de-campeones",
|
||||
"name": "M+ Liga de Campeones",
|
||||
|
||||
11
deploy.sh
11
deploy.sh
@@ -1,11 +1,12 @@
|
||||
#!/bin/bash
|
||||
# Despliega static/ en release/project-a13tv/
|
||||
SRC="$(dirname "$(realpath "$0")")/static"
|
||||
DST="$(dirname "$(realpath "$0")")/release/project-a13tv"
|
||||
# Despliega static/ y channels.json en release/project-a13tv/
|
||||
PROJ="$(dirname "$(realpath "$0")")"
|
||||
SRC="$PROJ/static"
|
||||
DST="$PROJ/release/project-a13tv"
|
||||
|
||||
echo "Desplegando en $DST ..."
|
||||
|
||||
# --no-group --no-owner: no intenta cambiar propietario/grupo en destino
|
||||
rsync -rlt --no-group --no-owner --chmod=ug+rw "$SRC/" "$DST/"
|
||||
sg webedit -c "rsync -rlt --no-group --no-owner --chmod=ug+rw \"$SRC/\" \"$DST/\""
|
||||
sg webedit -c "cp \"$PROJ/channels.json\" \"$DST/channels.json\""
|
||||
|
||||
echo "Despliegue completado."
|
||||
|
||||
@@ -874,11 +874,13 @@
|
||||
// ── Init ─────────────────────────────────────────────────────────────────────
|
||||
async function init() {
|
||||
try {
|
||||
const res = await fetch('/api/channels');
|
||||
const res = await fetch('channels.json');
|
||||
const data = await res.json();
|
||||
App.channels = data.channels;
|
||||
App.groups = data.groups;
|
||||
App.groupMeta = data.group_meta || {};
|
||||
App.groups = (data.groups || []).map(g => typeof g === 'string' ? g : g.name).sort();
|
||||
App.groupMeta = Object.fromEntries(
|
||||
(data.groups || []).filter(g => typeof g !== 'string').map(g => [g.name, g.logo || ''])
|
||||
);
|
||||
$('sourceLabel').textContent = data.source || '';
|
||||
renderAll();
|
||||
} catch (err) {
|
||||
|
||||
Reference in New Issue
Block a user