From 16e0b45fc1dd2531bffcf6188e1ee5898c5c1ac6 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 7 Jun 2021 13:32:53 +0300 Subject: [PATCH 1/4] Update clean.yml --- .github/workflows/clean.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/clean.yml b/.github/workflows/clean.yml index 30ca9f286d..9649364bcf 100644 --- a/.github/workflows/clean.yml +++ b/.github/workflows/clean.yml @@ -10,7 +10,8 @@ jobs: strategy: fail-fast: false matrix: - country: [ + country: + [ ad, ae, af, @@ -166,8 +167,8 @@ jobs: vn, xk, ye, - zm - # unsorted + zm, + unsorted ] steps: - name: Checkout From c03b55812f7aeb45eb61981a4f3eedec08756c66 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 7 Jun 2021 14:54:42 +0300 Subject: [PATCH 2/4] Update clean.js --- scripts/clean.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/clean.js b/scripts/clean.js index 2288af6207..32f79cee9b 100644 --- a/scripts/clean.js +++ b/scripts/clean.js @@ -24,7 +24,7 @@ const instance = axios.create({ rejectUnauthorized: false }), validateStatus: function (status) { - return status !== 404 + return status !== 404 && status < 500 } }) @@ -101,8 +101,7 @@ async function checkStatus(playlist) { .then(utils.sleep(config.delay)) .catch(err => { clearTimeout(timeout) - if (err.response && err.response.status === 404) { - //console.error(err) + if (err.response && (err.response.status === 404 || err.response.status >= 500)) { if (config.debug) { console.info(` ${counter} ${chalk.red('offline')} ${chalk.white(channel.url)}`) stats.broken++ From c45edae2d8b986e2ff18898c04d6161fdeff280c Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 7 Jun 2021 21:25:10 +0300 Subject: [PATCH 3/4] Update clean.js --- scripts/clean.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/scripts/clean.js b/scripts/clean.js index 32f79cee9b..9b4bd2095c 100644 --- a/scripts/clean.js +++ b/scripts/clean.js @@ -17,6 +17,7 @@ program const config = program.opts() +const offlineStatusCodes = [404, 410, 500, 501] const instance = axios.create({ timeout: config.timeout, maxContentLength: 200000, @@ -24,7 +25,7 @@ const instance = axios.create({ rejectUnauthorized: false }), validateStatus: function (status) { - return status !== 404 && status < 500 + return !offlineStatusCodes.includes(status) } }) @@ -34,7 +35,7 @@ const stats = { broken: 0 } async function main() { console.info(`\nStarting...`) - console.time('Process completed in') + console.time('Done in') if (config.debug) { console.info(chalk.yellow(`INFO: Debug mode enabled\n`)) } @@ -101,11 +102,11 @@ async function checkStatus(playlist) { .then(utils.sleep(config.delay)) .catch(err => { clearTimeout(timeout) - if (err.response && (err.response.status === 404 || err.response.status >= 500)) { + if (err.response && offlineStatusCodes.includes(err.response.status)) { if (config.debug) { console.info(` ${counter} ${chalk.red('offline')} ${chalk.white(channel.url)}`) - stats.broken++ } + stats.broken++ } else { results.push(channel) if (config.debug) { @@ -130,7 +131,7 @@ async function savePlaylist(playlist) { return false } else { utils.createFile(playlist.url, output) - console.info(`Playlist has been updated. Removed ${stats.broken} broken links.`) + console.info(`Playlist has been updated. Removed ${stats.broken} links.`) } return true @@ -141,7 +142,7 @@ async function done() { } function finish() { - console.timeEnd('Process completed in') + console.timeEnd('Done in') } main() From 7494fb3b4e1eeb51cdaee7f6bd848bb775b3a6ad Mon Sep 17 00:00:00 2001 From: Shadix A Date: Mon, 7 Jun 2021 21:56:31 +0200 Subject: [PATCH 4/4] AL : Add channels --- channels/al.m3u | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/channels/al.m3u b/channels/al.m3u index 2bfdce6ce5..ada9589484 100644 --- a/channels/al.m3u +++ b/channels/al.m3u @@ -15,12 +15,16 @@ https://5d00db0e0fcd5.streamlock.net/7236/7236/playlist.m3u8 http://185.80.224.14:1935/live/smil:web.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Channel117.al" tvg-name="Channel 117" tvg-country="AL" tvg-language="" tvg-logo="" group-title="",Channel 117 https://shkoder.gjirafa.com/api/media/rgjirafa/t0110y/1080/index.m3u8 +#EXTINF:-1 tvg-id="FrameTV.al" tvg-name="Frame TV" tvg-country="AL" tvg-language="" tvg-logo="" group-title="",Frame TV +http://195.154.252.221:8000/play/a002/index.m3u8 #EXTINF:-1 tvg-id="KLAN.al" tvg-name="KLAN" tvg-country="AL" tvg-language="" tvg-logo="https://i.imgur.com/pWoMc0r.png" group-title="",KLAN http://79.106.73.244:4040/live/klanhdmob/playlist.m3u8 #EXTINF:-1 tvg-id="KLANNews.al" tvg-name="KLAN News" tvg-country="AL" tvg-language="" tvg-logo="https://i.imgur.com/NMtr8Z4.jpg" group-title="",KLAN News http://51.195.88.12:4050/live/klannewsmobpp3/playlist.m3u8 #EXTINF:-1 tvg-id="KLANPlus.al" tvg-name="KLAN Plus" tvg-country="AL" tvg-language="" tvg-logo="https://i.imgur.com/xg23eK4.jpg" group-title="",KLAN Plus http://51.195.88.12:4050/live/klanplusmobpp3/playlist.m3u8 +#EXTINF:-1 tvg-id="NeserTV.al" tvg-name="Nëser TV" tvg-country="AL" tvg-language="" tvg-logo="" group-title="",Nëser TV (Tirana) +http://195.154.252.221:8000/play/6355/index.m3u8 #EXTINF:-1 tvg-id="News24.al" tvg-name="News 24" tvg-country="AL" tvg-language="Albanian" tvg-logo="https://i.imgur.com/PWGMnzW.jpg" group-title="News",News 24 (576p) http://tv.balkanweb.com:8081/news24/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="RTVIlirida.al" tvg-name="RTV Ilirida" tvg-country="AL" tvg-language="Albanian" tvg-logo="" group-title="",RTV Ilirida (274p) [Not 24/7]