Merge branch 'master' into pr/533

This commit is contained in:
Aleksandr Statciuk 2022-03-02 16:06:27 +03:00
commit ec271077bd
269 changed files with 2290 additions and 3438 deletions

View file

@ -8,12 +8,24 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
with:
fetch-depth: 2
- name: Download data from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- id: files
uses: jitterbit/get-changed-files@v1
- run: npm install
- run: npm run lint -- ${{ steps.files.outputs.added_modified }}
- run: npm run validate -- ${{ steps.files.outputs.added_modified }}
- uses: actions/setup-node@v2
if: ${{ !env.ACT && steps.files.outputs.any_changed == 'true' }}
with:
node-version: '14'
cache: 'npm'
- uses: tj-actions/changed-files@v12.2
id: files
with:
files: 'sites'
- name: validate
if: steps.files.outputs.any_changed == 'true'
run: |
npm install
npm run channels:lint -- ${{ steps.files.outputs.all_changed_files }}
npm run channels:validate -- ${{ steps.files.outputs.all_changed_files }}

48
.github/workflows/_load.yml vendored Normal file
View file

@ -0,0 +1,48 @@
name: _load
on:
workflow_call:
inputs:
site:
required: true
type: string
secrets:
APP_ID:
required: true
APP_PRIVATE_KEY:
required: true
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download data from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- uses: actions/setup-node@v2
if: ${{ !env.ACT }}
with:
node-version: '14'
cache: 'npm'
- run: npm install
- run: CHANNELS_PATH=sites/${{inputs.site}}/*.channels.xml npm run queue:create -- --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser npm run cluster:load -- --timeout=30000 --cluster-id=1
- run: npm run programs:save
- run: npm run guides:update
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false

8
.github/workflows/_trigger.yml vendored Normal file
View file

@ -0,0 +1,8 @@
name: _trigger
on:
workflow_dispatch:
jobs:
start:
runs-on: ubuntu-latest
steps:
- run: echo 'Starting all workflows...'

View file

@ -4,12 +4,17 @@ on:
schedule:
- cron: '0 12 * * *'
jobs:
check:
update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
if: ${{ !env.ACT }}
with:
node-version: '14'
cache: 'npm'
- run: npm install
- run: node scripts/commands/update-api.js
- run: npm run api:update
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
@ -21,7 +26,7 @@ jobs:
with:
repository-name: iptv-org/api
branch: gh-pages
folder: .gh-pages/api
folder: .api
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com

57
.github/workflows/_update-readme.yml vendored Normal file
View file

@ -0,0 +1,57 @@
name: _update-readme
on:
workflow_dispatch:
schedule:
- cron: '0 12 * * *'
jobs:
update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: echo "::set-output name=branch_name::$(date +'bot/auto-update-%s')"
id: create-branch-name
- run: git config user.name 'iptv-bot[bot]'
- run: git config user.email '84861620+iptv-bot[bot]@users.noreply.github.com'
- run: git checkout -b ${{ steps.create-branch-name.outputs.branch_name }}
- name: Download data from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/countries.json https://iptv-org.github.io/api/countries.json
- uses: actions/setup-node@v2
if: ${{ !env.ACT }}
with:
node-version: '14'
cache: 'npm'
- run: npm install
- run: npm run readme:update
- name: Commit Changes
if: ${{ !env.ACT }}
run: |
git add README.md
git commit -m "[Bot] Update README.md"
git status
git push -u origin ${{ steps.create-branch-name.outputs.branch_name }}
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: repo-sync/pull-request@v2
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
id: pull-request
with:
github_token: ${{ steps.create-app-token.outputs.token }}
source_branch: ${{ steps.create-branch-name.outputs.branch_name }}
destination_branch: 'master'
pr_title: '[Bot] Daily update'
pr_body: |
This pull request is created via [update-readme][1] workflow.
[1]: https://github.com/iptv-org/epg/actions/runs/${{ github.run_id }}
- uses: juliangruber/merge-pull-request-action@v1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
github-token: ${{ secrets.PAT }}
number: ${{ steps.pull-request.outputs.pr_number }}
method: squash

View file

@ -1,36 +1,17 @@
name: allente.se
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: andorradifusio.ad
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: arianaafgtv.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: arianatelevision.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: astro.com.my
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: beinsports.com
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: canalplus-afrique.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: canalplus-caraibes.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: canalplus-haiti.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: canalplus-reunion.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: chaines-tv.orange.fr
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: comteco.com.bo
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: cosmote.gr
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: delta.nl
on:
workflow_dispatch:
schedule:
- cron: '10 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: digiturk.com.tr
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
- cron: '10 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: directv.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: dishtv.in
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: dsmart.com.tr
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: dstv.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: elcinema.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: frikanalen.no
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: gatotv.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: guidatv.sky.it
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: hd-plus.de
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: ipko.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: knr.gl
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: kvf.fo
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: m.tv.sms.cz
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: magticom.ge
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: maxtv.hrvatskitelekom.hr
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: maxtvgo.mk
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: mbc.net
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: mediaset.it
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: meo.pt
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: mi.tv
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: mncvision.id
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: mtel.ba
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: mts.rs
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * *'
- cron: '10 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: novacyprus.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: nowplayer.now.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: ontvtonight.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: osn.com
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: pbsguam.org
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: programacion-tv.elpais.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: programetv.ro
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: programme-tv.net
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: programme-tv.vini.pf
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: programtv.onet.pl
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: rev.bs
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: rotana.net
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: rtb.gov.bn
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: ruv.is
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: siba.com.co
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * *'
- cron: '10 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: sky.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

17
.github/workflows/sky.de.yml vendored Normal file
View file

@ -0,0 +1,17 @@
name: sky.de
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: teliatv.ee
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: telkussa.fi
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: turksatkablo.com.tr
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tv.blue.ch
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tv.cctv.com
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tv.dir.bg
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tv.lv
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tv.mail.ru
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tv.trueid.net
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tv.yandex.ru
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tv2go.t-2.net
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tva.tv
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tvarenasport.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tvarenasport.hr
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tvcubana.icrt.cu
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tvgid.ua
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tvguide.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tvguide.myjcom.jp
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tvheute.at
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tvim.tv
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tvmusor.hu
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tvplus.com.tr
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tvprofil.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: tvtv.us
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: vidio.com
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: vivacom.bg
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: vtm.be
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: walesi.com.fj
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: zap.co.ao
on:
workflow_dispatch:
schedule:
- cron: '5 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -1,36 +1,17 @@
name: znbc.co.zm
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
workflow_run:
workflows: [_trigger]
types:
- completed
jobs:
load:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download channels from API
run: |
mkdir -p scripts/data
curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json
- uses: FedericoCarboni/setup-ffmpeg@v1
- run: npm install
- run: CHANNELS_PATH=sites/${{github.workflow}}/*.channels.xml node scripts/commands/create-queue.js --max-clusters=1 --days=2
- run: NODE_OPTIONS=--insecure-http-parser node scripts/commands/load-cluster.js --timeout=30000 --cluster-id=1
- run: node scripts/commands/save-results.js
- run: node scripts/commands/update-guides.js
- uses: tibdex/github-app-token@v1
if: ${{ !env.ACT }}
id: create-app-token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: JamesIves/github-pages-deploy-action@4.1.1
if: ${{ !env.ACT && github.ref == 'refs/heads/master' }}
with:
branch: gh-pages
folder: .gh-pages
token: ${{ steps.create-app-token.outputs.token }}
git-config-name: iptv-bot[bot]
git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit-message: '[Bot] Deploy to GitHub Pages'
clean: false
uses: ./.github/workflows/_load.yml
with:
site: ${{github.workflow}}
secrets:
APP_ID: ${{ secrets.APP_ID }}
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}

View file

@ -9,14 +9,14 @@ To load a program guide, all you need to do is copy the link to one or more of t
<!-- prettier-ignore -->
#include "./.readme/_countries.md"
## EPG Codes
📋&nbsp;&nbsp;[iptv-org.github.io](https://iptv-org.github.io/)
## API
The API documentation can be found in the [iptv-org/api](https://github.com/iptv-org/api) repository.
## Resources
Links to other useful IPTV-related resources can be found in the [iptv-org/awesome-iptv](https://github.com/iptv-org/awesome-iptv) repository.
## Contribution
If you find a bug or want to contribute to the code or documentation, you can help by submitting an [issue](https://github.com/iptv-org/epg/issues) or a [pull request](https://github.com/iptv-org/epg/pulls).

View file

@ -38,15 +38,15 @@ To load a program guide, all you need to do is copy the link to one or more of t
<tr><td valign="top" rowspan="2">🇧🇦&nbsp;Bosnia and Herzegovina</td><td align="right">178</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ba/mtel.ba.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/mtel.ba.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/mtel.ba.yml/badge.svg" alt="mtel.ba" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">4</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ba/tvarenasport.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tvarenasport.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tvarenasport.com.yml/badge.svg" alt="tvarenasport.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇧🇼&nbsp;Botswana</td><td align="right">130</td><td nowrap><code>https://iptv-org.github.io/epg/guides/bw/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇧🇷&nbsp;Brazil</td><td align="right">248</td><td nowrap><code>https://iptv-org.github.io/epg/guides/br/mi.tv.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/mi.tv.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/mi.tv.yml/badge.svg" alt="mi.tv" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇧🇬&nbsp;Bulgaria</td><td align="right">105</td><td nowrap><code>https://iptv-org.github.io/epg/guides/bg/tv.dir.bg.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tv.dir.bg.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tv.dir.bg.yml/badge.svg" alt="tv.dir.bg" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇧🇷&nbsp;Brazil</td><td align="right">251</td><td nowrap><code>https://iptv-org.github.io/epg/guides/br/mi.tv.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/mi.tv.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/mi.tv.yml/badge.svg" alt="mi.tv" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇧🇬&nbsp;Bulgaria</td><td align="right">103</td><td nowrap><code>https://iptv-org.github.io/epg/guides/bg/tv.dir.bg.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tv.dir.bg.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tv.dir.bg.yml/badge.svg" alt="tv.dir.bg" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇧🇫&nbsp;Burkina Faso</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/bf/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">128</td><td nowrap><code>https://iptv-org.github.io/epg/guides/bf/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇧🇮&nbsp;Burundi</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/bi/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">128</td><td nowrap><code>https://iptv-org.github.io/epg/guides/bi/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇨🇲&nbsp;Cameroon</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cm/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">128</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cm/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇨🇦&nbsp;Canada</td><td align="right">62</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ca/tvtv.us.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tvtv.us.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tvtv.us.yml/badge.svg" alt="tvtv.us" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇨🇦&nbsp;Canada</td><td align="right">76</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ca/tvtv.us.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tvtv.us.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tvtv.us.yml/badge.svg" alt="tvtv.us" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇨🇻&nbsp;Cape Verde</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cv/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">125</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cv/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇨🇫&nbsp;Central African Republic</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cf/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
@ -57,17 +57,17 @@ To load a program guide, all you need to do is copy the link to one or more of t
<tr><td align="right">98</td><td nowrap><code>https://iptv-org.github.io/epg/guides/td-en/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇨🇱&nbsp;Chile</td><td align="right">79</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cl/mi.tv.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/mi.tv.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/mi.tv.yml/badge.svg" alt="mi.tv" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">52</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cl/gatotv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml/badge.svg" alt="gatotv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇨🇳&nbsp;China</td><td align="right">98</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cn/tv.cctv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tv.cctv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tv.cctv.com.yml/badge.svg" alt="tv.cctv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇨🇳&nbsp;China</td><td align="right">97</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cn/tv.cctv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tv.cctv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tv.cctv.com.yml/badge.svg" alt="tv.cctv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="3">🇨🇴&nbsp;Colombia</td><td align="right">103</td><td nowrap><code>https://iptv-org.github.io/epg/guides/co/siba.com.co.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/siba.com.co.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/siba.com.co.yml/badge.svg" alt="siba.com.co" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">56</td><td nowrap><code>https://iptv-org.github.io/epg/guides/co/gatotv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml/badge.svg" alt="gatotv.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">42</td><td nowrap><code>https://iptv-org.github.io/epg/guides/co/mi.tv.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/mi.tv.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/mi.tv.yml/badge.svg" alt="mi.tv" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇰🇲&nbsp;Comoros</td><td align="right">119</td><td nowrap><code>https://iptv-org.github.io/epg/guides/km/canalplus-reunion.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-reunion.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-reunion.com.yml/badge.svg" alt="canalplus-reunion.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇨🇷&nbsp;Costa Rica</td><td align="right">49</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cr/gatotv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml/badge.svg" alt="gatotv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇭🇷&nbsp;Croatia</td><td align="right">169</td><td nowrap><code>https://iptv-org.github.io/epg/guides/hr/maxtv.hrvatskitelekom.hr.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/maxtv.hrvatskitelekom.hr.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/maxtv.hrvatskitelekom.hr.yml/badge.svg" alt="maxtv.hrvatskitelekom.hr" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇭🇷&nbsp;Croatia</td><td align="right">168</td><td nowrap><code>https://iptv-org.github.io/epg/guides/hr/maxtv.hrvatskitelekom.hr.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/maxtv.hrvatskitelekom.hr.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/maxtv.hrvatskitelekom.hr.yml/badge.svg" alt="maxtv.hrvatskitelekom.hr" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">10</td><td nowrap><code>https://iptv-org.github.io/epg/guides/hr/tvarenasport.hr.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tvarenasport.hr.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tvarenasport.hr.yml/badge.svg" alt="tvarenasport.hr" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇨🇺&nbsp;Cuba</td><td align="right">10</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cu/tvcubana.icrt.cu.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tvcubana.icrt.cu.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tvcubana.icrt.cu.yml/badge.svg" alt="tvcubana.icrt.cu" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇨🇾&nbsp;Cyprus</td><td align="right">30</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cy/novacyprus.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/novacyprus.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/novacyprus.com.yml/badge.svg" alt="novacyprus.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇨🇿&nbsp;Czech Republic</td><td align="right">512</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cz/m.tv.sms.cz.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/m.tv.sms.cz.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/m.tv.sms.cz.yml/badge.svg" alt="m.tv.sms.cz" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇨🇿&nbsp;Czech Republic</td><td align="right">519</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cz/m.tv.sms.cz.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/m.tv.sms.cz.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/m.tv.sms.cz.yml/badge.svg" alt="m.tv.sms.cz" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇨🇩&nbsp;Democratic Republic of the Congo</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cd/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">126</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cd/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇩🇰&nbsp;Denmark</td><td align="right">61</td><td nowrap><code>https://iptv-org.github.io/epg/guides/dk/allente.se.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/allente.se.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/allente.se.yml/badge.svg" alt="allente.se" style="max-width: 100%;"></a></td></tr>
@ -75,8 +75,8 @@ To load a program guide, all you need to do is copy the link to one or more of t
<tr><td align="right">121</td><td nowrap><code>https://iptv-org.github.io/epg/guides/dj/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇩🇴&nbsp;Dominican Republic</td><td align="right">60</td><td nowrap><code>https://iptv-org.github.io/epg/guides/do/gatotv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml/badge.svg" alt="gatotv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇪🇨&nbsp;Ecuador</td><td align="right">45</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ec/gatotv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml/badge.svg" alt="gatotv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="4">🇪🇬&nbsp;Egypt</td><td align="right">108</td><td nowrap><code>https://iptv-org.github.io/epg/guides/eg-ar/elcinema.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/elcinema.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/elcinema.com.yml/badge.svg" alt="elcinema.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">108</td><td nowrap><code>https://iptv-org.github.io/epg/guides/eg-en/elcinema.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/elcinema.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/elcinema.com.yml/badge.svg" alt="elcinema.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="4">🇪🇬&nbsp;Egypt</td><td align="right">106</td><td nowrap><code>https://iptv-org.github.io/epg/guides/eg-ar/elcinema.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/elcinema.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/elcinema.com.yml/badge.svg" alt="elcinema.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">106</td><td nowrap><code>https://iptv-org.github.io/epg/guides/eg-en/elcinema.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/elcinema.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/elcinema.com.yml/badge.svg" alt="elcinema.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/epg/guides/eg-ar/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/epg/guides/eg-en/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇸🇻&nbsp;El Salvador</td><td align="right">52</td><td nowrap><code>https://iptv-org.github.io/epg/guides/sv/gatotv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml/badge.svg" alt="gatotv.com" style="max-width: 100%;"></a></td></tr>
@ -100,8 +100,9 @@ To load a program guide, all you need to do is copy the link to one or more of t
<tr><td align="right">125</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ga/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇬🇲&nbsp;Gambia</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/gm/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">124</td><td nowrap><code>https://iptv-org.github.io/epg/guides/gm/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇬🇪&nbsp;Georgia</td><td align="right">117</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ge/magticom.ge.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/magticom.ge.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/magticom.ge.yml/badge.svg" alt="magticom.ge" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇩🇪&nbsp;Germany</td><td align="right">122</td><td nowrap><code>https://iptv-org.github.io/epg/guides/de/hd-plus.de.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/hd-plus.de.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/hd-plus.de.yml/badge.svg" alt="hd-plus.de" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇬🇪&nbsp;Georgia</td><td align="right">116</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ge/magticom.ge.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/magticom.ge.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/magticom.ge.yml/badge.svg" alt="magticom.ge" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇩🇪&nbsp;Germany</td><td align="right">122</td><td nowrap><code>https://iptv-org.github.io/epg/guides/de/hd-plus.de.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/hd-plus.de.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/hd-plus.de.yml/badge.svg" alt="hd-plus.de" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">118</td><td nowrap><code>https://iptv-org.github.io/epg/guides/de/sky.de.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/sky.de.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/sky.de.yml/badge.svg" alt="sky.de" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇬🇭&nbsp;Ghana</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/gh/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">139</td><td nowrap><code>https://iptv-org.github.io/epg/guides/gh/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇬🇷&nbsp;Greece</td><td align="right">86</td><td nowrap><code>https://iptv-org.github.io/epg/guides/gr/cosmote.gr.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/cosmote.gr.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/cosmote.gr.yml/badge.svg" alt="cosmote.gr" style="max-width: 100%;"></a></td></tr>
@ -122,13 +123,13 @@ To load a program guide, all you need to do is copy the link to one or more of t
<tr><td valign="top">🇭🇺&nbsp;Hungary</td><td align="right">91</td><td nowrap><code>https://iptv-org.github.io/epg/guides/hu/tvmusor.hu.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tvmusor.hu.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tvmusor.hu.yml/badge.svg" alt="tvmusor.hu" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇮🇸&nbsp;Iceland</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/epg/guides/is/ruv.is.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/ruv.is.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/ruv.is.yml/badge.svg" alt="ruv.is" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇮🇳&nbsp;India</td><td align="right">364</td><td nowrap><code>https://iptv-org.github.io/epg/guides/in/dishtv.in.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dishtv.in.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dishtv.in.yml/badge.svg" alt="dishtv.in" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇮🇩&nbsp;Indonesia</td><td align="right">90</td><td nowrap><code>https://iptv-org.github.io/epg/guides/id/mncvision.id.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/mncvision.id.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/mncvision.id.yml/badge.svg" alt="mncvision.id" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">29</td><td nowrap><code>https://iptv-org.github.io/epg/guides/id/vidio.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/vidio.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/vidio.com.yml/badge.svg" alt="vidio.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇮🇩&nbsp;Indonesia</td><td align="right">98</td><td nowrap><code>https://iptv-org.github.io/epg/guides/id/mncvision.id.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/mncvision.id.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/mncvision.id.yml/badge.svg" alt="mncvision.id" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">53</td><td nowrap><code>https://iptv-org.github.io/epg/guides/id/vidio.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/vidio.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/vidio.com.yml/badge.svg" alt="vidio.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇮🇷&nbsp;Iran</td><td align="right">29</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ir/tva.tv.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tva.tv.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tva.tv.yml/badge.svg" alt="tva.tv" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇮🇶&nbsp;Iraq</td><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/epg/guides/iq-ar/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/epg/guides/iq-en/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇮🇪&nbsp;Ireland</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ie/ontvtonight.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/ontvtonight.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/ontvtonight.com.yml/badge.svg" alt="ontvtonight.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇮🇹&nbsp;Italy</td><td align="right">145</td><td nowrap><code>https://iptv-org.github.io/epg/guides/it/guidatv.sky.it.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/guidatv.sky.it.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/guidatv.sky.it.yml/badge.svg" alt="guidatv.sky.it" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇮🇹&nbsp;Italy</td><td align="right">142</td><td nowrap><code>https://iptv-org.github.io/epg/guides/it/guidatv.sky.it.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/guidatv.sky.it.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/guidatv.sky.it.yml/badge.svg" alt="guidatv.sky.it" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">15</td><td nowrap><code>https://iptv-org.github.io/epg/guides/it/mediaset.it.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/mediaset.it.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/mediaset.it.yml/badge.svg" alt="mediaset.it" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇨🇮&nbsp;Ivory Coast</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ci/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">128</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ci/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
@ -143,13 +144,13 @@ To load a program guide, all you need to do is copy the link to one or more of t
<tr><td valign="top">🇱🇻&nbsp;Latvia</td><td align="right">21</td><td nowrap><code>https://iptv-org.github.io/epg/guides/lv/tv.lv.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tv.lv.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tv.lv.yml/badge.svg" alt="tv.lv" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇱🇧&nbsp;Lebanon</td><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/epg/guides/lb-ar/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/epg/guides/lb-en/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇱🇸&nbsp;Lesotho</td><td align="right">146</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ls/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇱🇸&nbsp;Lesotho</td><td align="right">145</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ls/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇱🇷&nbsp;Liberia</td><td align="right">125</td><td nowrap><code>https://iptv-org.github.io/epg/guides/lr/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇱🇾&nbsp;Libya</td><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ly-ar/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ly-en/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇲🇬&nbsp;Madagascar</td><td align="right">125</td><td nowrap><code>https://iptv-org.github.io/epg/guides/mg/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇲🇼&nbsp;Malawi</td><td align="right">132</td><td nowrap><code>https://iptv-org.github.io/epg/guides/mw/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇲🇾&nbsp;Malaysia</td><td align="right">123</td><td nowrap><code>https://iptv-org.github.io/epg/guides/my/astro.com.my.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/astro.com.my.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/astro.com.my.yml/badge.svg" alt="astro.com.my" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇲🇼&nbsp;Malawi</td><td align="right">131</td><td nowrap><code>https://iptv-org.github.io/epg/guides/mw/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇲🇾&nbsp;Malaysia</td><td align="right">141</td><td nowrap><code>https://iptv-org.github.io/epg/guides/my/astro.com.my.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/astro.com.my.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/astro.com.my.yml/badge.svg" alt="astro.com.my" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇲🇱&nbsp;Mali</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ml/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">125</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ml/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇲🇶&nbsp;Martinique</td><td align="right">128</td><td nowrap><code>https://iptv-org.github.io/epg/guides/mq/canalplus-caraibes.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-caraibes.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-caraibes.com.yml/badge.svg" alt="canalplus-caraibes.com" style="max-width: 100%;"></a></td></tr>
@ -170,7 +171,7 @@ To load a program guide, all you need to do is copy the link to one or more of t
<tr><td valign="top">🇳🇮&nbsp;Nicaragua</td><td align="right">50</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ni/gatotv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml/badge.svg" alt="gatotv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇳🇪&nbsp;Niger</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ne/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">128</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ne/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇳🇬&nbsp;Nigeria</td><td align="right">147</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ng/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇳🇬&nbsp;Nigeria</td><td align="right">146</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ng/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇲🇰&nbsp;North Macedonia</td><td align="right">52</td><td nowrap><code>https://iptv-org.github.io/epg/guides/mk/maxtvgo.mk.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/maxtvgo.mk.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/maxtvgo.mk.yml/badge.svg" alt="maxtvgo.mk" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">4</td><td nowrap><code>https://iptv-org.github.io/epg/guides/mk/tvarenasport.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tvarenasport.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tvarenasport.com.yml/badge.svg" alt="tvarenasport.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇳🇴&nbsp;Norway</td><td align="right">71</td><td nowrap><code>https://iptv-org.github.io/epg/guides/no/allente.se.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/allente.se.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/allente.se.yml/badge.svg" alt="allente.se" style="max-width: 100%;"></a></td></tr>
@ -183,15 +184,15 @@ To load a program guide, all you need to do is copy the link to one or more of t
<tr><td valign="top">🇵🇾&nbsp;Paraguay</td><td align="right">39</td><td nowrap><code>https://iptv-org.github.io/epg/guides/py/gatotv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml/badge.svg" alt="gatotv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇵🇪&nbsp;Peru</td><td align="right">48</td><td nowrap><code>https://iptv-org.github.io/epg/guides/pe/gatotv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml/badge.svg" alt="gatotv.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">21</td><td nowrap><code>https://iptv-org.github.io/epg/guides/pe/mi.tv.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/mi.tv.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/mi.tv.yml/badge.svg" alt="mi.tv" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇵🇱&nbsp;Poland</td><td align="right">341</td><td nowrap><code>https://iptv-org.github.io/epg/guides/pl/programtv.onet.pl.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/programtv.onet.pl.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/programtv.onet.pl.yml/badge.svg" alt="programtv.onet.pl" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇵🇹&nbsp;Portugal</td><td align="right">110</td><td nowrap><code>https://iptv-org.github.io/epg/guides/pt/meo.pt.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/meo.pt.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/meo.pt.yml/badge.svg" alt="meo.pt" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇵🇱&nbsp;Poland</td><td align="right">340</td><td nowrap><code>https://iptv-org.github.io/epg/guides/pl/programtv.onet.pl.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/programtv.onet.pl.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/programtv.onet.pl.yml/badge.svg" alt="programtv.onet.pl" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇵🇹&nbsp;Portugal</td><td align="right">203</td><td nowrap><code>https://iptv-org.github.io/epg/guides/pt/meo.pt.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/meo.pt.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/meo.pt.yml/badge.svg" alt="meo.pt" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="3">🇶🇦&nbsp;Qatar</td><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/epg/guides/qa-ar/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/epg/guides/qa-en/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">22</td><td nowrap><code>https://iptv-org.github.io/epg/guides/qa/beinsports.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/beinsports.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/beinsports.com.yml/badge.svg" alt="beinsports.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇨🇬&nbsp;Republic of the Congo</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cg/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">125</td><td nowrap><code>https://iptv-org.github.io/epg/guides/cg/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇷🇴&nbsp;Romania</td><td align="right">224</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ro/programetv.ro.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/programetv.ro.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/programetv.ro.yml/badge.svg" alt="programetv.ro" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇷🇺&nbsp;Russia</td><td align="right">285</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ru/tv.yandex.ru.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tv.yandex.ru.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tv.yandex.ru.yml/badge.svg" alt="tv.yandex.ru" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇷🇺&nbsp;Russia</td><td align="right">283</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ru/tv.yandex.ru.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tv.yandex.ru.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tv.yandex.ru.yml/badge.svg" alt="tv.yandex.ru" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇷🇼&nbsp;Rwanda</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/rw/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">132</td><td nowrap><code>https://iptv-org.github.io/epg/guides/rw/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇷🇪&nbsp;Réunion</td><td align="right">119</td><td nowrap><code>https://iptv-org.github.io/epg/guides/re/canalplus-reunion.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-reunion.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-reunion.com.yml/badge.svg" alt="canalplus-reunion.com" style="max-width: 100%;"></a></td></tr>
@ -208,13 +209,13 @@ To load a program guide, all you need to do is copy the link to one or more of t
<tr><td align="right">125</td><td nowrap><code>https://iptv-org.github.io/epg/guides/sl/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇸🇮&nbsp;Slovenia</td><td align="right">277</td><td nowrap><code>https://iptv-org.github.io/epg/guides/si/tv2go.t-2.net.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tv2go.t-2.net.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tv2go.t-2.net.yml/badge.svg" alt="tv2go.t-2.net" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇸🇴&nbsp;Somalia</td><td align="right">120</td><td nowrap><code>https://iptv-org.github.io/epg/guides/so/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇿🇦&nbsp;South Africa</td><td align="right">160</td><td nowrap><code>https://iptv-org.github.io/epg/guides/za/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇿🇦&nbsp;South Africa</td><td align="right">159</td><td nowrap><code>https://iptv-org.github.io/epg/guides/za/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇸🇸&nbsp;South Sudan</td><td align="right">125</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ss/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇪🇸&nbsp;Spain</td><td align="right">112</td><td nowrap><code>https://iptv-org.github.io/epg/guides/es/programacion-tv.elpais.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/programacion-tv.elpais.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/programacion-tv.elpais.com.yml/badge.svg" alt="programacion-tv.elpais.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇪🇸&nbsp;Spain</td><td align="right">110</td><td nowrap><code>https://iptv-org.github.io/epg/guides/es/programacion-tv.elpais.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/programacion-tv.elpais.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/programacion-tv.elpais.com.yml/badge.svg" alt="programacion-tv.elpais.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">58</td><td nowrap><code>https://iptv-org.github.io/epg/guides/es/gatotv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml/badge.svg" alt="gatotv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇸🇩&nbsp;Sudan</td><td align="right">118</td><td nowrap><code>https://iptv-org.github.io/epg/guides/sd/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇸🇿&nbsp;Swaziland</td><td align="right">127</td><td nowrap><code>https://iptv-org.github.io/epg/guides/sz/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇸🇪&nbsp;Sweden</td><td align="right">89</td><td nowrap><code>https://iptv-org.github.io/epg/guides/se/allente.se.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/allente.se.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/allente.se.yml/badge.svg" alt="allente.se" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇸🇪&nbsp;Sweden</td><td align="right">94</td><td nowrap><code>https://iptv-org.github.io/epg/guides/se/allente.se.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/allente.se.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/allente.se.yml/badge.svg" alt="allente.se" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇨🇭&nbsp;Switzerland</td><td align="right">598</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ch/tv.blue.ch.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tv.blue.ch.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tv.blue.ch.yml/badge.svg" alt="tv.blue.ch" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇸🇹&nbsp;São Tomé and Príncipe</td><td align="right">128</td><td nowrap><code>https://iptv-org.github.io/epg/guides/st/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇹🇿&nbsp;Tanzania</td><td align="right">30</td><td nowrap><code>https://iptv-org.github.io/epg/guides/tz/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
@ -222,15 +223,15 @@ To load a program guide, all you need to do is copy the link to one or more of t
<tr><td valign="top" rowspan="2">🇹🇬&nbsp;Togo</td><td align="right">242</td><td nowrap><code>https://iptv-org.github.io/epg/guides/tg/canalplus-afrique.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/canalplus-afrique.com.yml/badge.svg" alt="canalplus-afrique.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">137</td><td nowrap><code>https://iptv-org.github.io/epg/guides/tg/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="3">🇹🇷&nbsp;Turkey</td><td align="right">145</td><td nowrap><code>https://iptv-org.github.io/epg/guides/tr/tvplus.com.tr.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tvplus.com.tr.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tvplus.com.tr.yml/badge.svg" alt="tvplus.com.tr" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">118</td><td nowrap><code>https://iptv-org.github.io/epg/guides/tr/digiturk.com.tr.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/digiturk.com.tr.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/digiturk.com.tr.yml/badge.svg" alt="digiturk.com.tr" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">105</td><td nowrap><code>https://iptv-org.github.io/epg/guides/tr/dsmart.com.tr.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dsmart.com.tr.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dsmart.com.tr.yml/badge.svg" alt="dsmart.com.tr" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">117</td><td nowrap><code>https://iptv-org.github.io/epg/guides/tr/digiturk.com.tr.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/digiturk.com.tr.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/digiturk.com.tr.yml/badge.svg" alt="digiturk.com.tr" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">106</td><td nowrap><code>https://iptv-org.github.io/epg/guides/tr/dsmart.com.tr.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dsmart.com.tr.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dsmart.com.tr.yml/badge.svg" alt="dsmart.com.tr" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇺🇬&nbsp;Uganda</td><td align="right">151</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ug/dstv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/dstv.com.yml/badge.svg" alt="dstv.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top">🇺🇦&nbsp;Ukraine</td><td align="right">114</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ua/tvgid.ua.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tvgid.ua.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tvgid.ua.yml/badge.svg" alt="tvgid.ua" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇦🇪&nbsp;United Arab Emirates</td><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ae-ar/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/epg/guides/ae-en/osn.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/osn.com.yml/badge.svg" alt="osn.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇬🇧&nbsp;United Kingdom</td><td align="right">190</td><td nowrap><code>https://iptv-org.github.io/epg/guides/uk/sky.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/sky.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/sky.com.yml/badge.svg" alt="sky.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="2">🇬🇧&nbsp;United Kingdom</td><td align="right">258</td><td nowrap><code>https://iptv-org.github.io/epg/guides/uk/sky.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/sky.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/sky.com.yml/badge.svg" alt="sky.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">97</td><td nowrap><code>https://iptv-org.github.io/epg/guides/uk/ontvtonight.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/ontvtonight.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/ontvtonight.com.yml/badge.svg" alt="ontvtonight.com" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="4">🇺🇸&nbsp;United States</td><td align="right">1298</td><td nowrap><code>https://iptv-org.github.io/epg/guides/us/tvtv.us.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tvtv.us.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tvtv.us.yml/badge.svg" alt="tvtv.us" style="max-width: 100%;"></a></td></tr>
<tr><td valign="top" rowspan="4">🇺🇸&nbsp;United States</td><td align="right">1683</td><td nowrap><code>https://iptv-org.github.io/epg/guides/us/tvtv.us.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tvtv.us.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tvtv.us.yml/badge.svg" alt="tvtv.us" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">410</td><td nowrap><code>https://iptv-org.github.io/epg/guides/us/directv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/directv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/directv.com.yml/badge.svg" alt="directv.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">88</td><td nowrap><code>https://iptv-org.github.io/epg/guides/us/tvguide.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/tvguide.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/tvguide.com.yml/badge.svg" alt="tvguide.com" style="max-width: 100%;"></a></td></tr>
<tr><td align="right">22</td><td nowrap><code>https://iptv-org.github.io/epg/guides/us/gatotv.com.epg.xml</code></td><td><a href="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml"><img src="https://github.com/iptv-org/epg/actions/workflows/gatotv.com.yml/badge.svg" alt="gatotv.com" style="max-width: 100%;"></a></td></tr>
@ -244,14 +245,14 @@ To load a program guide, all you need to do is copy the link to one or more of t
</tbody>
</table>
## EPG Codes
📋&nbsp;&nbsp;[iptv-org.github.io](https://iptv-org.github.io/)
## API
The API documentation can be found in the [iptv-org/api](https://github.com/iptv-org/api) repository.
## Resources
Links to other useful IPTV-related resources can be found in the [iptv-org/awesome-iptv](https://github.com/iptv-org/awesome-iptv) repository.
## Contribution
If you find a bug or want to contribute to the code or documentation, you can help by submitting an [issue](https://github.com/iptv-org/epg/issues) or a [pull request](https://github.com/iptv-org/epg/pulls).

152
package-lock.json generated
View file

@ -16,6 +16,7 @@
"epg-grabber": "^0.20.0",
"epg-parser": "^0.1.6",
"form-data": "^4.0.0",
"fs-extra": "^10.0.1",
"glob": "^7.2.0",
"iconv-lite": "^0.4.24",
"jest": "^27.3.1",
@ -23,7 +24,6 @@
"lodash": "^4.17.21",
"markdown-include": "^0.4.3",
"mockdate": "^3.0.5",
"mz": "^2.7.0",
"nedb-promises": "^5.0.3",
"parse-duration": "^1.0.0",
"pdf-parse": "^1.1.1",
@ -1179,11 +1179,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
"integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
},
"node_modules/anymatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
@ -2346,9 +2341,9 @@
"integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
},
"node_modules/follow-redirects": {
"version": "1.14.5",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz",
"integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==",
"version": "1.14.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
"funding": [
{
"type": "individual",
@ -2377,6 +2372,27 @@
"node": ">= 6"
}
},
"node_modules/fs-extra": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
"integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
},
"engines": {
"node": ">=12"
}
},
"node_modules/fs-extra/node_modules/universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"engines": {
"node": ">= 10.0.0"
}
},
"node_modules/fs-minipass": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
@ -3614,6 +3630,25 @@
"node": ">=6"
}
},
"node_modules/jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dependencies": {
"universalify": "^2.0.0"
},
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
},
"node_modules/jsonfile/node_modules/universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"engines": {
"node": ">= 10.0.0"
}
},
"node_modules/keyv": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz",
@ -3913,16 +3948,6 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/mz": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
"dependencies": {
"any-promise": "^1.0.0",
"object-assign": "^4.0.1",
"thenify-all": "^1.0.0"
}
},
"node_modules/nan": {
"version": "2.14.2",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
@ -5066,25 +5091,6 @@
"resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
"integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
},
"node_modules/thenify": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
"integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
"dependencies": {
"any-promise": "^1.0.0"
}
},
"node_modules/thenify-all": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
"integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
"dependencies": {
"thenify": ">= 3.1.0 < 4"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/throat": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz",
@ -6460,11 +6466,6 @@
"color-convert": "^2.0.1"
}
},
"any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
"integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
},
"anymatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
@ -7368,9 +7369,9 @@
"integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
},
"follow-redirects": {
"version": "1.14.5",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz",
"integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA=="
"version": "1.14.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w=="
},
"form-data": {
"version": "4.0.0",
@ -7382,6 +7383,23 @@
"mime-types": "^2.1.12"
}
},
"fs-extra": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
"integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
},
"dependencies": {
"universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
}
}
},
"fs-minipass": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
@ -8308,6 +8326,22 @@
"minimist": "^1.2.5"
}
},
"jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
},
"dependencies": {
"universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
}
}
},
"keyv": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz",
@ -8550,16 +8584,6 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"mz": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
"requires": {
"any-promise": "^1.0.0",
"object-assign": "^4.0.1",
"thenify-all": "^1.0.0"
}
},
"nan": {
"version": "2.14.2",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
@ -9422,22 +9446,6 @@
"resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
"integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
},
"thenify": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
"integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
"requires": {
"any-promise": "^1.0.0"
}
},
"thenify-all": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
"integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
"requires": {
"thenify": ">= 3.1.0 < 4"
}
},
"throat": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz",

View file

@ -1,13 +1,21 @@
{
"name": "epg",
"scripts": {
"lint": "node scripts/commands/lint.js",
"validate": "node scripts/commands/validate.js",
"channels:validate": "node scripts/commands/channels/validate.js",
"channels:lint": "node scripts/commands/channels/lint.js",
"channels:parse": "node scripts/commands/channels/parse.js",
"queue:create": "node scripts/commands/queue/create.js",
"cluster:load": "node scripts/commands/cluster/load.js",
"programs:save": "node scripts/commands/programs/save.js",
"guides:update": "node scripts/commands/guides/update.js",
"api:update": "node scripts/commands/api/update.js",
"readme:update": "node scripts/commands/readme/update.js",
"test": "npx jest --runInBand",
"test:commands": "npx jest --runInBand -- commands",
"test:sites": "npx jest --runInBand -- sites",
"act": "act workflow_dispatch",
"update-readme": "node scripts/commands/update-readme.js"
"act:check": "act workflow_dispatch -W .github/workflows/_check.yml",
"act:update-readme": "act workflow_dispatch -W .github/workflows/_update-readme.yml",
"act:update-api": "act workflow_dispatch -W .github/workflows/_update-api.yml"
},
"private": true,
"author": "Arhey",
@ -25,6 +33,7 @@
"epg-grabber": "^0.20.0",
"epg-parser": "^0.1.6",
"form-data": "^4.0.0",
"fs-extra": "^10.0.1",
"glob": "^7.2.0",
"iconv-lite": "^0.4.24",
"jest": "^27.3.1",
@ -32,7 +41,6 @@
"lodash": "^4.17.21",
"markdown-include": "^0.4.3",
"mockdate": "^3.0.5",
"mz": "^2.7.0",
"nedb-promises": "^5.0.3",
"parse-duration": "^1.0.0",
"pdf-parse": "^1.1.1",

View file

@ -0,0 +1,42 @@
const { file, parser, logger } = require('../../core')
const { program } = require('commander')
const _ = require('lodash')
const CHANNELS_PATH = process.env.CHANNELS_PATH || 'sites/**/*.channels.xml'
const OUTPUT_DIR = process.env.OUTPUT_DIR || '.api'
async function main() {
let guides = []
try {
const files = await file.list(CHANNELS_PATH)
for (const filepath of files) {
const { site, channels } = await parser.parseChannels(filepath)
const dir = file.dirname(filepath)
const config = require(file.resolve(`${dir}/${site}.config.js`))
if (config.ignore) continue
const filename = file.basename(filepath)
const [__, suffix] = filename.match(/\_(.*)\.channels\.xml$/) || [null, null]
for (const channel of channels) {
guides.push({
channel: channel.xmltv_id,
site,
lang: channel.lang,
url: `https://iptv-org.github.io/epg/guides/${suffix}/${site}.epg.xml`
})
}
}
} catch (err) {
console.error(err)
}
guides = _.sortBy(guides, 'channel')
const outputFilepath = `${OUTPUT_DIR}/guides.json`
await file.create(outputFilepath, JSON.stringify(guides))
logger.info(`saved to "${outputFilepath}"...`)
}
main()

View file

@ -1,7 +1,7 @@
const chalk = require('chalk')
const libxml = require('libxmljs')
const { program } = require('commander')
const { logger, file } = require('../core')
const { logger, file } = require('../../core')
const xsd = `<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

View file

@ -0,0 +1,43 @@
const { logger, file, xml } = require('../../core')
const { Command } = require('commander')
const path = require('path')
const _ = require('lodash')
const program = new Command()
program
.requiredOption('-c, --config <config>', 'Config file')
.option('-s, --set [args...]', 'Set custom arguments', [])
.option('-o, --output <output>', 'Output file')
.parse(process.argv)
const options = program.opts()
async function main() {
const config = require(path.resolve(options.config))
const args = {}
options.set.forEach(arg => {
const [key, value] = arg.split(':')
args[key] = value
})
let channels = config.channels(args)
if (isPromise(channels)) {
channels = await channels
}
channels = _.sortBy(channels, 'xmltv_id')
const dir = file.dirname(options.config)
const outputFilepath = options.output || `${dir}/${config.site}.channels.xml`
const output = xml.create(channels, config.site)
await file.write(outputFilepath, output)
logger.info(`File '${output}' successfully saved`)
}
main()
function isPromise(promise) {
return !!promise && typeof promise.then === 'function'
}

View file

@ -1,4 +1,4 @@
const { parser, logger, api } = require('../core')
const { parser, logger, api } = require('../../core')
const { program } = require('commander')
const chalk = require('chalk')
@ -8,8 +8,8 @@ async function main() {
await api.channels.load()
const stats = {
channels: 0,
files: 0
files: 0,
errors: 0
}
if (!program.args.length) {
@ -21,26 +21,32 @@ async function main() {
const { site, channels } = await parser.parseChannels(filepath)
const output = []
const buffer = {}
const errors = []
for (const channel of channels) {
if (!buffer[channel.xmltv_id]) {
buffer[channel.xmltv_id] = channel
} else {
errors.push({ type: 'duplicate', ...channel })
stats.errors++
}
if (!api.channels.find({ id: channel.xmltv_id })) {
output.push(channel)
stats.channels++
errors.push({ type: 'wrong_xmltv_id', ...channel })
stats.errors++
}
}
if (output.length) {
if (errors.length) {
logger.info(chalk.underline(filepath))
console.table(output, ['lang', 'xmltv_id', 'site_id', 'name'])
console.table(errors, ['type', 'lang', 'xmltv_id', 'site_id', 'name'])
console.log()
stats.files++
}
}
if (stats.channels > 0) {
logger.error(
chalk.red(`${stats.channels} channel(s) in ${stats.files} file(s) have the wrong xmltv_id`)
)
if (stats.errors > 0) {
logger.error(chalk.red(`${stats.errors} error(s) in ${stats.files} file(s)`))
process.exit(1)
}
}

View file

@ -1,7 +1,7 @@
const _ = require('lodash')
const grabber = require('epg-grabber')
const { program } = require('commander')
const { db, logger, timer, file, parser } = require('../core')
const { db, logger, timer, file, parser } = require('../../core')
const options = program
.requiredOption('-c, --cluster-id <cluster-id>', 'The ID of cluster to load', parser.parseNumber)
@ -16,7 +16,7 @@ const options = program
.opts()
const LOGS_DIR = process.env.LOGS_DIR || 'scripts/logs'
const CLUSTER_PATH = `${LOGS_DIR}/load-cluster/cluster_${options.clusterId}.log`
const CLUSTER_PATH = `${LOGS_DIR}/cluster/load/cluster_${options.clusterId}.log`
async function main() {
logger.info('Starting...')

View file

@ -1,16 +0,0 @@
const { logger, db } = require('../core')
async function main() {
await db.queue.load()
const docs = await db.queue.find({}).sort({ cluster_id: 1 })
const cluster_id = docs.reduce((acc, curr) => {
if (!acc.includes(curr.cluster_id)) acc.push(curr.cluster_id)
return acc
}, [])
const matrix = { cluster_id }
const output = `::set-output name=matrix::${JSON.stringify(matrix)}`
logger.info(output)
}
main()

Some files were not shown because too many files have changed in this diff Show more