diff --git a/.github/workflows/auto-update.yml b/.github/workflows/auto-update.yml index f373aecdc2..a5e3e1d55a 100644 --- a/.github/workflows/auto-update.yml +++ b/.github/workflows/auto-update.yml @@ -115,11 +115,34 @@ jobs: if: ${{ !env.ACT }} run: | git add streams/* - git commit -m "[Bot] Update streams" + git commit -m "[Bot] Update /streams" git add README.md git commit -m "[Bot] Update README.md" git status git push -u origin ${{ steps.create-branch-name.outputs.branch_name }} + - name: Deploy to gh-pages + uses: JamesIves/github-pages-deploy-action@v4.2.5 + 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 + - name: Deploy to iptv-org/api + uses: JamesIves/github-pages-deploy-action@v4.2.5 + if: ${{ !env.ACT && github.ref == 'refs/heads/master' }} + with: + repository-name: iptv-org/api + branch: gh-pages + 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 + commit-message: '[Bot] Deploy to iptv-org/api' + clean: false - uses: repo-sync/pull-request@v2 if: ${{ !env.ACT && github.ref == 'refs/heads/master' }} id: pull-request @@ -132,30 +155,6 @@ jobs: This pull request is created by [auto-update][1] workflow. [1]: https://github.com/iptv-org/iptv/actions/runs/${{ github.run_id }} - - name: Deploy to GitHub Pages - uses: JamesIves/github-pages-deploy-action@4.2.0 - 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 - - run: git checkout -b ${{ steps.create-branch-name.outputs.branch_name }} - - name: Deploy to iptv-org/api - uses: JamesIves/github-pages-deploy-action@4.2.0 - if: ${{ !env.ACT && github.ref == 'refs/heads/master' }} - with: - repository-name: iptv-org/api - branch: gh-pages - 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 - commit-message: '[Bot] Deploy to iptv-org/api' - clean: false - uses: juliangruber/merge-pull-request-action@v1 if: ${{ !env.ACT && github.ref == 'refs/heads/master' }} with: diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 5b7c94fbf9..69eb7b4f3e 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -9,11 +9,11 @@ jobs: steps: - uses: actions/checkout@v2 with: - fetch-depth: 0 + fetch-depth: 2 - uses: tj-actions/changed-files@v12.2 id: files with: - files: streams/*.m3u + files: 'streams' - uses: actions/setup-node@v2 if: ${{ !env.ACT && steps.files.outputs.any_changed == 'true' }} with: diff --git a/.readme/template.md b/.readme/template.md index 7f737ef096..c7956f9c4c 100644 --- a/.readme/template.md +++ b/.readme/template.md @@ -83,7 +83,7 @@ Please make sure to read the [Contributing Guide](CONTRIBUTING.md) before sendin ## Legal -No video files are stored in this repository. The repository simply contains user-submitted links to publicly available video stream URLs, which to the best of our knowledge have been intentionally made publicly by the copyright holders. If any links in these playlists infringe on your rights as a copyright holder, they may be removed by sending a pull request or opening an issue. However, note that we have **no control** over the destination of the link, and just removing the link from the playlist will not remove its contents from the web. Note that linking does not directly infringe copyright because no copy is made on the site providing the link, and thus this is **not** a valid reason to send a DMCA notice to GitHub. To remove this content from the web, you should contact the web host that's actually hosting the content (**not** GitHub, nor the maintainers of this repository). +No video files are stored in this repository. The repository simply contains user-submitted links to publicly available video stream URLs, which to the best of our knowledge have been intentionally made publicly by the copyright holders. If any links in these playlists infringe on your rights as a copyright holder, they may be removed by sending a [pull request](https://github.com/iptv-org/iptv/pulls) or opening an [issue](https://github.com/iptv-org/iptv/issues/new?assignees=freearhey&labels=removal+request&template=--removal-request.yml&title=Remove%3A+). However, note that we have **no control** over the destination of the link, and just removing the link from the playlist will not remove its contents from the web. Note that linking does not directly infringe copyright because no copy is made on the site providing the link, and thus this is **not** a valid reason to send a DMCA notice to GitHub. To remove this content from the web, you should contact the web host that's actually hosting the content (**not** GitHub, nor the maintainers of this repository). ## License diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 21d5a92056..e015589929 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -83,6 +83,13 @@ Also, if necessary, you can specify custom HTTP User-Agent and Referrer via the http://example.com/stream.m3u8 ``` +Each stream also have a `status` attribute which is updated daily by the [iptv-bot](https://github.com/apps/iptv-bot). The attribute can have one of the following values: + +- `online` - stream was successfully loaded +- `blocked` - server returned HTTP code [403 Forbidden](https://en.wikipedia.org/wiki/HTTP_403) +- `timeout` - request time exceeded 60 seconds +- `error` - stream could not be loaded for some other reason + ## Project Structure - `.github/` diff --git a/README.md b/README.md index def3eaa81d..1ba1f10a97 100644 --- a/README.md +++ b/README.md @@ -32,32 +32,32 @@ To watch IPTV, simply insert one of the links below into any player that support
https://iptv-org.github.io/iptv/categories/auto.m3uhttps://iptv-org.github.io/iptv/categories/animation.m3uhttps://iptv-org.github.io/iptv/categories/business.m3uhttps://iptv-org.github.io/iptv/categories/classic.m3uhttps://iptv-org.github.io/iptv/categories/comedy.m3uhttps://iptv-org.github.io/iptv/categories/classic.m3uhttps://iptv-org.github.io/iptv/categories/comedy.m3uhttps://iptv-org.github.io/iptv/categories/cooking.m3uhttps://iptv-org.github.io/iptv/categories/culture.m3uhttps://iptv-org.github.io/iptv/categories/documentary.m3uhttps://iptv-org.github.io/iptv/categories/education.m3uhttps://iptv-org.github.io/iptv/categories/entertainment.m3uhttps://iptv-org.github.io/iptv/categories/education.m3uhttps://iptv-org.github.io/iptv/categories/entertainment.m3uhttps://iptv-org.github.io/iptv/categories/family.m3uhttps://iptv-org.github.io/iptv/categories/general.m3uhttps://iptv-org.github.io/iptv/categories/kids.m3uhttps://iptv-org.github.io/iptv/categories/legislative.m3uhttps://iptv-org.github.io/iptv/categories/general.m3uhttps://iptv-org.github.io/iptv/categories/kids.m3uhttps://iptv-org.github.io/iptv/categories/legislative.m3uhttps://iptv-org.github.io/iptv/categories/lifestyle.m3uhttps://iptv-org.github.io/iptv/categories/movies.m3uhttps://iptv-org.github.io/iptv/categories/music.m3uhttps://iptv-org.github.io/iptv/categories/news.m3uhttps://iptv-org.github.io/iptv/categories/movies.m3uhttps://iptv-org.github.io/iptv/categories/music.m3uhttps://iptv-org.github.io/iptv/categories/news.m3uhttps://iptv-org.github.io/iptv/categories/outdoor.m3uhttps://iptv-org.github.io/iptv/categories/relax.m3uhttps://iptv-org.github.io/iptv/categories/religious.m3uhttps://iptv-org.github.io/iptv/categories/series.m3uhttps://iptv-org.github.io/iptv/categories/religious.m3uhttps://iptv-org.github.io/iptv/categories/series.m3uhttps://iptv-org.github.io/iptv/categories/science.m3uhttps://iptv-org.github.io/iptv/categories/shop.m3uhttps://iptv-org.github.io/iptv/categories/sports.m3uhttps://iptv-org.github.io/iptv/categories/shop.m3uhttps://iptv-org.github.io/iptv/categories/sports.m3uhttps://iptv-org.github.io/iptv/categories/travel.m3uhttps://iptv-org.github.io/iptv/categories/weather.m3uhttps://iptv-org.github.io/iptv/categories/xxx.m3uhttps://iptv-org.github.io/iptv/categories/undefined.m3uhttps://iptv-org.github.io/iptv/categories/xxx.m3uhttps://iptv-org.github.io/iptv/categories/undefined.m3uhttps://iptv-org.github.io/iptv/languages/aka.m3uhttps://iptv-org.github.io/iptv/languages/sqi.m3uhttps://iptv-org.github.io/iptv/languages/sqi.m3uhttps://iptv-org.github.io/iptv/languages/amh.m3uhttps://iptv-org.github.io/iptv/languages/ara.m3uhttps://iptv-org.github.io/iptv/languages/ara.m3uhttps://iptv-org.github.io/iptv/languages/hye.m3uhttps://iptv-org.github.io/iptv/languages/aii.m3uhttps://iptv-org.github.io/iptv/languages/aze.m3uhttps://iptv-org.github.io/iptv/languages/aze.m3uhttps://iptv-org.github.io/iptv/languages/bak.m3uhttps://iptv-org.github.io/iptv/languages/bel.m3uhttps://iptv-org.github.io/iptv/languages/ben.m3uhttps://iptv-org.github.io/iptv/languages/bho.m3uhttps://iptv-org.github.io/iptv/languages/bos.m3uhttps://iptv-org.github.io/iptv/languages/bos.m3uhttps://iptv-org.github.io/iptv/languages/bul.m3uhttps://iptv-org.github.io/iptv/languages/cat.m3uhttps://iptv-org.github.io/iptv/languages/nya.m3uhttps://iptv-org.github.io/iptv/languages/zho.m3uhttps://iptv-org.github.io/iptv/languages/hrv.m3uhttps://iptv-org.github.io/iptv/languages/zho.m3uhttps://iptv-org.github.io/iptv/languages/hrv.m3uhttps://iptv-org.github.io/iptv/languages/ces.m3uhttps://iptv-org.github.io/iptv/languages/dan.m3uhttps://iptv-org.github.io/iptv/languages/div.m3uhttps://iptv-org.github.io/iptv/languages/nld.m3uhttps://iptv-org.github.io/iptv/languages/eng.m3uhttps://iptv-org.github.io/iptv/languages/nld.m3uhttps://iptv-org.github.io/iptv/languages/eng.m3uhttps://iptv-org.github.io/iptv/languages/est.m3uhttps://iptv-org.github.io/iptv/languages/fao.m3uhttps://iptv-org.github.io/iptv/languages/fin.m3uhttps://iptv-org.github.io/iptv/languages/fra.m3uhttps://iptv-org.github.io/iptv/languages/glg.m3uhttps://iptv-org.github.io/iptv/languages/kat.m3uhttps://iptv-org.github.io/iptv/languages/deu.m3uhttps://iptv-org.github.io/iptv/languages/ell.m3uhttps://iptv-org.github.io/iptv/languages/deu.m3uhttps://iptv-org.github.io/iptv/languages/ell.m3uhttps://iptv-org.github.io/iptv/languages/heb.m3uhttps://iptv-org.github.io/iptv/languages/hin.m3uhttps://iptv-org.github.io/iptv/languages/hun.m3uhttps://iptv-org.github.io/iptv/languages/hin.m3uhttps://iptv-org.github.io/iptv/languages/hun.m3uhttps://iptv-org.github.io/iptv/languages/isl.m3uhttps://iptv-org.github.io/iptv/languages/ind.m3uhttps://iptv-org.github.io/iptv/languages/ind.m3uhttps://iptv-org.github.io/iptv/languages/iku.m3uhttps://iptv-org.github.io/iptv/languages/ita.m3uhttps://iptv-org.github.io/iptv/languages/ita.m3uhttps://iptv-org.github.io/iptv/languages/jpn.m3uhttps://iptv-org.github.io/iptv/languages/jav.m3uhttps://iptv-org.github.io/iptv/languages/kan.m3uhttps://iptv-org.github.io/iptv/languages/kan.m3uhttps://iptv-org.github.io/iptv/languages/kaz.m3uhttps://iptv-org.github.io/iptv/languages/khm.m3uhttps://iptv-org.github.io/iptv/languages/kin.m3uhttps://iptv-org.github.io/iptv/languages/kir.m3uhttps://iptv-org.github.io/iptv/languages/kor.m3uhttps://iptv-org.github.io/iptv/languages/kur.m3uhttps://iptv-org.github.io/iptv/languages/kur.m3uhttps://iptv-org.github.io/iptv/languages/lao.m3uhttps://iptv-org.github.io/iptv/languages/lav.m3uhttps://iptv-org.github.io/iptv/languages/ltz.m3uhttps://iptv-org.github.io/iptv/languages/lit.m3uhttps://iptv-org.github.io/iptv/languages/mkd.m3uhttps://iptv-org.github.io/iptv/languages/msa.m3uhttps://iptv-org.github.io/iptv/languages/mal.m3uhttps://iptv-org.github.io/iptv/languages/mal.m3uhttps://iptv-org.github.io/iptv/languages/mlt.m3uhttps://iptv-org.github.io/iptv/languages/cmn.m3uhttps://iptv-org.github.io/iptv/languages/mnk.m3uhttps://iptv-org.github.io/iptv/languages/nob.m3uhttps://iptv-org.github.io/iptv/languages/pan.m3uhttps://iptv-org.github.io/iptv/languages/pap.m3uhttps://iptv-org.github.io/iptv/languages/pus.m3uhttps://iptv-org.github.io/iptv/languages/fas.m3uhttps://iptv-org.github.io/iptv/languages/pus.m3uhttps://iptv-org.github.io/iptv/languages/fas.m3uhttps://iptv-org.github.io/iptv/languages/pol.m3uhttps://iptv-org.github.io/iptv/languages/por.m3uhttps://iptv-org.github.io/iptv/languages/por.m3uhttps://iptv-org.github.io/iptv/languages/ron.m3uhttps://iptv-org.github.io/iptv/languages/rus.m3uhttps://iptv-org.github.io/iptv/languages/srp.m3uhttps://iptv-org.github.io/iptv/languages/sin.m3uhttps://iptv-org.github.io/iptv/languages/rus.m3uhttps://iptv-org.github.io/iptv/languages/srp.m3uhttps://iptv-org.github.io/iptv/languages/sin.m3uhttps://iptv-org.github.io/iptv/languages/slk.m3uhttps://iptv-org.github.io/iptv/languages/slv.m3uhttps://iptv-org.github.io/iptv/languages/slv.m3uhttps://iptv-org.github.io/iptv/languages/som.m3uhttps://iptv-org.github.io/iptv/languages/spa.m3uhttps://iptv-org.github.io/iptv/languages/spa.m3uhttps://iptv-org.github.io/iptv/languages/sun.m3uhttps://iptv-org.github.io/iptv/languages/swe.m3uhttps://iptv-org.github.io/iptv/languages/swe.m3uhttps://iptv-org.github.io/iptv/languages/tgl.m3uhttps://iptv-org.github.io/iptv/languages/tam.m3uhttps://iptv-org.github.io/iptv/languages/tam.m3uhttps://iptv-org.github.io/iptv/languages/tel.m3uhttps://iptv-org.github.io/iptv/languages/tha.m3uhttps://iptv-org.github.io/iptv/languages/tur.m3uhttps://iptv-org.github.io/iptv/languages/tur.m3uhttps://iptv-org.github.io/iptv/languages/tuk.m3uhttps://iptv-org.github.io/iptv/languages/ukr.m3uhttps://iptv-org.github.io/iptv/languages/ukr.m3uhttps://iptv-org.github.io/iptv/languages/urd.m3uhttps://iptv-org.github.io/iptv/languages/uzb.m3uhttps://iptv-org.github.io/iptv/languages/vie.m3uhttps://iptv-org.github.io/iptv/languages/uzb.m3uhttps://iptv-org.github.io/iptv/languages/vie.m3uhttps://iptv-org.github.io/iptv/languages/fry.m3uhttps://iptv-org.github.io/iptv/languages/wol.m3uhttps://iptv-org.github.io/iptv/languages/yue.m3uhttps://iptv-org.github.io/iptv/languages/undefined.m3uhttps://iptv-org.github.io/iptv/languages/undefined.m3uhttps://iptv-org.github.io/iptv/countries/af.m3uhttps://iptv-org.github.io/iptv/countries/al.m3uhttps://iptv-org.github.io/iptv/countries/af.m3uhttps://iptv-org.github.io/iptv/countries/al.m3uhttps://iptv-org.github.io/iptv/countries/dz.m3uhttps://iptv-org.github.io/iptv/countries/as.m3uhttps://iptv-org.github.io/iptv/countries/ad.m3uhttps://iptv-org.github.io/iptv/countries/ai.m3uhttps://iptv-org.github.io/iptv/countries/aq.m3uhttps://iptv-org.github.io/iptv/countries/ag.m3uhttps://iptv-org.github.io/iptv/countries/ar.m3uhttps://iptv-org.github.io/iptv/countries/ar.m3uhttps://iptv-org.github.io/iptv/countries/am.m3uhttps://iptv-org.github.io/iptv/countries/aw.m3uhttps://iptv-org.github.io/iptv/countries/au.m3uhttps://iptv-org.github.io/iptv/countries/au.m3uhttps://iptv-org.github.io/iptv/countries/at.m3uhttps://iptv-org.github.io/iptv/countries/az.m3uhttps://iptv-org.github.io/iptv/countries/az.m3uhttps://iptv-org.github.io/iptv/countries/bs.m3uhttps://iptv-org.github.io/iptv/countries/bh.m3uhttps://iptv-org.github.io/iptv/countries/bd.m3uhttps://iptv-org.github.io/iptv/countries/bb.m3uhttps://iptv-org.github.io/iptv/countries/by.m3uhttps://iptv-org.github.io/iptv/countries/bb.m3uhttps://iptv-org.github.io/iptv/countries/by.m3uhttps://iptv-org.github.io/iptv/countries/be.m3uhttps://iptv-org.github.io/iptv/countries/bz.m3uhttps://iptv-org.github.io/iptv/countries/bj.m3uhttps://iptv-org.github.io/iptv/countries/bm.m3uhttps://iptv-org.github.io/iptv/countries/bt.m3uhttps://iptv-org.github.io/iptv/countries/bo.m3uhttps://iptv-org.github.io/iptv/countries/bo.m3uhttps://iptv-org.github.io/iptv/countries/bq.m3uhttps://iptv-org.github.io/iptv/countries/ba.m3uhttps://iptv-org.github.io/iptv/countries/ba.m3uhttps://iptv-org.github.io/iptv/countries/bw.m3uhttps://iptv-org.github.io/iptv/countries/bv.m3uhttps://iptv-org.github.io/iptv/countries/br.m3uhttps://iptv-org.github.io/iptv/countries/br.m3uhttps://iptv-org.github.io/iptv/countries/io.m3uhttps://iptv-org.github.io/iptv/countries/vg.m3uhttps://iptv-org.github.io/iptv/countries/bn.m3uhttps://iptv-org.github.io/iptv/countries/bi.m3uhttps://iptv-org.github.io/iptv/countries/kh.m3uhttps://iptv-org.github.io/iptv/countries/cm.m3uhttps://iptv-org.github.io/iptv/countries/ca.m3uhttps://iptv-org.github.io/iptv/countries/ca.m3uhttps://iptv-org.github.io/iptv/countries/cv.m3uhttps://iptv-org.github.io/iptv/countries/ky.m3uhttps://iptv-org.github.io/iptv/countries/cf.m3uhttps://iptv-org.github.io/iptv/countries/td.m3uhttps://iptv-org.github.io/iptv/countries/cl.m3uhttps://iptv-org.github.io/iptv/countries/cn.m3uhttps://iptv-org.github.io/iptv/countries/cl.m3uhttps://iptv-org.github.io/iptv/countries/cn.m3uhttps://iptv-org.github.io/iptv/countries/cx.m3uhttps://iptv-org.github.io/iptv/countries/cc.m3uhttps://iptv-org.github.io/iptv/countries/co.m3uhttps://iptv-org.github.io/iptv/countries/co.m3uhttps://iptv-org.github.io/iptv/countries/km.m3uhttps://iptv-org.github.io/iptv/countries/ck.m3uhttps://iptv-org.github.io/iptv/countries/cr.m3uhttps://iptv-org.github.io/iptv/countries/hr.m3uhttps://iptv-org.github.io/iptv/countries/cu.m3uhttps://iptv-org.github.io/iptv/countries/cr.m3uhttps://iptv-org.github.io/iptv/countries/hr.m3uhttps://iptv-org.github.io/iptv/countries/cu.m3uhttps://iptv-org.github.io/iptv/countries/cw.m3uhttps://iptv-org.github.io/iptv/countries/cy.m3uhttps://iptv-org.github.io/iptv/countries/cz.m3uhttps://iptv-org.github.io/iptv/countries/ga.m3uhttps://iptv-org.github.io/iptv/countries/gm.m3uhttps://iptv-org.github.io/iptv/countries/ge.m3uhttps://iptv-org.github.io/iptv/countries/de.m3uhttps://iptv-org.github.io/iptv/countries/gh.m3uhttps://iptv-org.github.io/iptv/countries/de.m3uhttps://iptv-org.github.io/iptv/countries/gh.m3uhttps://iptv-org.github.io/iptv/countries/gi.m3uhttps://iptv-org.github.io/iptv/countries/gr.m3uhttps://iptv-org.github.io/iptv/countries/gl.m3uhttps://iptv-org.github.io/iptv/countries/gn.m3uhttps://iptv-org.github.io/iptv/countries/gw.m3uhttps://iptv-org.github.io/iptv/countries/gy.m3uhttps://iptv-org.github.io/iptv/countries/ht.m3uhttps://iptv-org.github.io/iptv/countries/ht.m3uhttps://iptv-org.github.io/iptv/countries/hm.m3uhttps://iptv-org.github.io/iptv/countries/hn.m3uhttps://iptv-org.github.io/iptv/countries/hk.m3uhttps://iptv-org.github.io/iptv/countries/hu.m3uhttps://iptv-org.github.io/iptv/countries/hn.m3uhttps://iptv-org.github.io/iptv/countries/hk.m3uhttps://iptv-org.github.io/iptv/countries/hu.m3uhttps://iptv-org.github.io/iptv/countries/is.m3uhttps://iptv-org.github.io/iptv/countries/in.m3uhttps://iptv-org.github.io/iptv/countries/id.m3uhttps://iptv-org.github.io/iptv/countries/in.m3uhttps://iptv-org.github.io/iptv/countries/id.m3uhttps://iptv-org.github.io/iptv/countries/ir.m3uhttps://iptv-org.github.io/iptv/countries/iq.m3uhttps://iptv-org.github.io/iptv/countries/iq.m3uhttps://iptv-org.github.io/iptv/countries/ie.m3uhttps://iptv-org.github.io/iptv/countries/im.m3uhttps://iptv-org.github.io/iptv/countries/il.m3uhttps://iptv-org.github.io/iptv/countries/it.m3uhttps://iptv-org.github.io/iptv/countries/it.m3uhttps://iptv-org.github.io/iptv/countries/ci.m3uhttps://iptv-org.github.io/iptv/countries/jm.m3uhttps://iptv-org.github.io/iptv/countries/jp.m3uhttps://iptv-org.github.io/iptv/countries/je.m3uhttps://iptv-org.github.io/iptv/countries/jo.m3uhttps://iptv-org.github.io/iptv/countries/kz.m3uhttps://iptv-org.github.io/iptv/countries/ke.m3uhttps://iptv-org.github.io/iptv/countries/kz.m3uhttps://iptv-org.github.io/iptv/countries/ke.m3uhttps://iptv-org.github.io/iptv/countries/ki.m3uhttps://iptv-org.github.io/iptv/countries/xk.m3uhttps://iptv-org.github.io/iptv/countries/kw.m3uhttps://iptv-org.github.io/iptv/countries/kw.m3uhttps://iptv-org.github.io/iptv/countries/kg.m3uhttps://iptv-org.github.io/iptv/countries/la.m3uhttps://iptv-org.github.io/iptv/countries/lv.m3uhttps://iptv-org.github.io/iptv/countries/lb.m3uhttps://iptv-org.github.io/iptv/countries/lb.m3uhttps://iptv-org.github.io/iptv/countries/ls.m3uhttps://iptv-org.github.io/iptv/countries/lr.m3uhttps://iptv-org.github.io/iptv/countries/ly.m3uhttps://iptv-org.github.io/iptv/countries/ly.m3uhttps://iptv-org.github.io/iptv/countries/li.m3uhttps://iptv-org.github.io/iptv/countries/lt.m3uhttps://iptv-org.github.io/iptv/countries/lu.m3uhttps://iptv-org.github.io/iptv/countries/mr.m3uhttps://iptv-org.github.io/iptv/countries/mu.m3uhttps://iptv-org.github.io/iptv/countries/yt.m3uhttps://iptv-org.github.io/iptv/countries/mx.m3uhttps://iptv-org.github.io/iptv/countries/mx.m3uhttps://iptv-org.github.io/iptv/countries/fm.m3uhttps://iptv-org.github.io/iptv/countries/md.m3uhttps://iptv-org.github.io/iptv/countries/mc.m3uhttps://iptv-org.github.io/iptv/countries/mc.m3uhttps://iptv-org.github.io/iptv/countries/mn.m3uhttps://iptv-org.github.io/iptv/countries/me.m3uhttps://iptv-org.github.io/iptv/countries/ms.m3uhttps://iptv-org.github.io/iptv/countries/ma.m3uhttps://iptv-org.github.io/iptv/countries/ma.m3uhttps://iptv-org.github.io/iptv/countries/mz.m3uhttps://iptv-org.github.io/iptv/countries/mm.m3uhttps://iptv-org.github.io/iptv/countries/na.m3uhttps://iptv-org.github.io/iptv/countries/nr.m3uhttps://iptv-org.github.io/iptv/countries/np.m3uhttps://iptv-org.github.io/iptv/countries/nl.m3uhttps://iptv-org.github.io/iptv/countries/nl.m3uhttps://iptv-org.github.io/iptv/countries/nc.m3uhttps://iptv-org.github.io/iptv/countries/nz.m3uhttps://iptv-org.github.io/iptv/countries/ni.m3uhttps://iptv-org.github.io/iptv/countries/ni.m3uhttps://iptv-org.github.io/iptv/countries/ne.m3uhttps://iptv-org.github.io/iptv/countries/ng.m3uhttps://iptv-org.github.io/iptv/countries/ng.m3uhttps://iptv-org.github.io/iptv/countries/nu.m3uhttps://iptv-org.github.io/iptv/countries/nf.m3uhttps://iptv-org.github.io/iptv/countries/kp.m3uhttps://iptv-org.github.io/iptv/countries/pk.m3uhttps://iptv-org.github.io/iptv/countries/pw.m3uhttps://iptv-org.github.io/iptv/countries/ps.m3uhttps://iptv-org.github.io/iptv/countries/pa.m3uhttps://iptv-org.github.io/iptv/countries/pa.m3uhttps://iptv-org.github.io/iptv/countries/pg.m3uhttps://iptv-org.github.io/iptv/countries/py.m3uhttps://iptv-org.github.io/iptv/countries/pe.m3uhttps://iptv-org.github.io/iptv/countries/py.m3uhttps://iptv-org.github.io/iptv/countries/pe.m3uhttps://iptv-org.github.io/iptv/countries/ph.m3uhttps://iptv-org.github.io/iptv/countries/pn.m3uhttps://iptv-org.github.io/iptv/countries/pl.m3uhttps://iptv-org.github.io/iptv/countries/pt.m3uhttps://iptv-org.github.io/iptv/countries/pl.m3uhttps://iptv-org.github.io/iptv/countries/pt.m3uhttps://iptv-org.github.io/iptv/countries/pr.m3uhttps://iptv-org.github.io/iptv/countries/qa.m3uhttps://iptv-org.github.io/iptv/countries/qa.m3uhttps://iptv-org.github.io/iptv/countries/cg.m3uhttps://iptv-org.github.io/iptv/countries/ro.m3uhttps://iptv-org.github.io/iptv/countries/ru.m3uhttps://iptv-org.github.io/iptv/countries/ru.m3uhttps://iptv-org.github.io/iptv/countries/rw.m3uhttps://iptv-org.github.io/iptv/countries/re.m3uhttps://iptv-org.github.io/iptv/countries/bl.m3uhttps://iptv-org.github.io/iptv/countries/vc.m3uhttps://iptv-org.github.io/iptv/countries/ws.m3uhttps://iptv-org.github.io/iptv/countries/sm.m3uhttps://iptv-org.github.io/iptv/countries/sa.m3uhttps://iptv-org.github.io/iptv/countries/sa.m3uhttps://iptv-org.github.io/iptv/countries/sn.m3uhttps://iptv-org.github.io/iptv/countries/rs.m3uhttps://iptv-org.github.io/iptv/countries/rs.m3uhttps://iptv-org.github.io/iptv/countries/sc.m3uhttps://iptv-org.github.io/iptv/countries/sl.m3uhttps://iptv-org.github.io/iptv/countries/sg.m3uhttps://iptv-org.github.io/iptv/countries/sx.m3uhttps://iptv-org.github.io/iptv/countries/sk.m3uhttps://iptv-org.github.io/iptv/countries/si.m3uhttps://iptv-org.github.io/iptv/countries/si.m3uhttps://iptv-org.github.io/iptv/countries/sb.m3uhttps://iptv-org.github.io/iptv/countries/so.m3uhttps://iptv-org.github.io/iptv/countries/za.m3uhttps://iptv-org.github.io/iptv/countries/gs.m3uhttps://iptv-org.github.io/iptv/countries/kr.m3uhttps://iptv-org.github.io/iptv/countries/kr.m3uhttps://iptv-org.github.io/iptv/countries/ss.m3uhttps://iptv-org.github.io/iptv/countries/es.m3uhttps://iptv-org.github.io/iptv/countries/lk.m3uhttps://iptv-org.github.io/iptv/countries/es.m3uhttps://iptv-org.github.io/iptv/countries/lk.m3uhttps://iptv-org.github.io/iptv/countries/sd.m3uhttps://iptv-org.github.io/iptv/countries/sr.m3uhttps://iptv-org.github.io/iptv/countries/sj.m3uhttps://iptv-org.github.io/iptv/countries/sz.m3uhttps://iptv-org.github.io/iptv/countries/se.m3uhttps://iptv-org.github.io/iptv/countries/ch.m3uhttps://iptv-org.github.io/iptv/countries/se.m3uhttps://iptv-org.github.io/iptv/countries/ch.m3uhttps://iptv-org.github.io/iptv/countries/sy.m3uhttps://iptv-org.github.io/iptv/countries/st.m3uhttps://iptv-org.github.io/iptv/countries/tw.m3uhttps://iptv-org.github.io/iptv/countries/to.m3uhttps://iptv-org.github.io/iptv/countries/tt.m3uhttps://iptv-org.github.io/iptv/countries/tn.m3uhttps://iptv-org.github.io/iptv/countries/tr.m3uhttps://iptv-org.github.io/iptv/countries/tr.m3uhttps://iptv-org.github.io/iptv/countries/tm.m3uhttps://iptv-org.github.io/iptv/countries/tc.m3uhttps://iptv-org.github.io/iptv/countries/tv.m3uhttps://iptv-org.github.io/iptv/countries/um.m3uhttps://iptv-org.github.io/iptv/countries/vi.m3uhttps://iptv-org.github.io/iptv/countries/ug.m3uhttps://iptv-org.github.io/iptv/countries/ua.m3uhttps://iptv-org.github.io/iptv/countries/ae.m3uhttps://iptv-org.github.io/iptv/countries/uk.m3uhttps://iptv-org.github.io/iptv/countries/us.m3uhttps://iptv-org.github.io/iptv/countries/uy.m3uhttps://iptv-org.github.io/iptv/countries/uz.m3uhttps://iptv-org.github.io/iptv/countries/ug.m3uhttps://iptv-org.github.io/iptv/countries/ua.m3uhttps://iptv-org.github.io/iptv/countries/ae.m3uhttps://iptv-org.github.io/iptv/countries/uk.m3uhttps://iptv-org.github.io/iptv/countries/us.m3uhttps://iptv-org.github.io/iptv/countries/uy.m3uhttps://iptv-org.github.io/iptv/countries/uz.m3uhttps://iptv-org.github.io/iptv/countries/vu.m3uhttps://iptv-org.github.io/iptv/countries/va.m3uhttps://iptv-org.github.io/iptv/countries/ve.m3uhttps://iptv-org.github.io/iptv/countries/vn.m3uhttps://iptv-org.github.io/iptv/countries/ve.m3uhttps://iptv-org.github.io/iptv/countries/vn.m3uhttps://iptv-org.github.io/iptv/countries/wf.m3uhttps://iptv-org.github.io/iptv/countries/eh.m3uhttps://iptv-org.github.io/iptv/countries/ye.m3uhttps://iptv-org.github.io/iptv/countries/zm.m3uhttps://iptv-org.github.io/iptv/countries/zw.m3uhttps://iptv-org.github.io/iptv/countries/ax.m3uhttps://iptv-org.github.io/iptv/countries/undefined.m3uhttps://iptv-org.github.io/iptv/countries/undefined.m3uhttps://iptv-org.github.io/iptv/regions/afr.m3uhttps://iptv-org.github.io/iptv/regions/amer.m3uhttps://iptv-org.github.io/iptv/regions/arab.m3uhttps://iptv-org.github.io/iptv/regions/asia.m3uhttps://iptv-org.github.io/iptv/regions/apac.m3uhttps://iptv-org.github.io/iptv/regions/carib.m3uhttps://iptv-org.github.io/iptv/regions/cas.m3uhttps://iptv-org.github.io/iptv/regions/cis.m3uhttps://iptv-org.github.io/iptv/regions/eur.m3uhttps://iptv-org.github.io/iptv/regions/emea.m3uhttps://iptv-org.github.io/iptv/regions/hispam.m3uhttps://iptv-org.github.io/iptv/regions/latam.m3uhttps://iptv-org.github.io/iptv/regions/lac.m3uhttps://iptv-org.github.io/iptv/regions/afr.m3uhttps://iptv-org.github.io/iptv/regions/amer.m3uhttps://iptv-org.github.io/iptv/regions/arab.m3uhttps://iptv-org.github.io/iptv/regions/asia.m3uhttps://iptv-org.github.io/iptv/regions/apac.m3uhttps://iptv-org.github.io/iptv/regions/carib.m3uhttps://iptv-org.github.io/iptv/regions/cas.m3uhttps://iptv-org.github.io/iptv/regions/cis.m3uhttps://iptv-org.github.io/iptv/regions/eur.m3uhttps://iptv-org.github.io/iptv/regions/emea.m3uhttps://iptv-org.github.io/iptv/regions/hispam.m3uhttps://iptv-org.github.io/iptv/regions/latam.m3uhttps://iptv-org.github.io/iptv/regions/lac.m3uhttps://iptv-org.github.io/iptv/regions/maghreb.m3uhttps://iptv-org.github.io/iptv/regions/mideast.m3uhttps://iptv-org.github.io/iptv/regions/mena.m3uhttps://iptv-org.github.io/iptv/regions/nord.m3uhttps://iptv-org.github.io/iptv/regions/noram.m3uhttps://iptv-org.github.io/iptv/regions/nam.m3uhttps://iptv-org.github.io/iptv/regions/oce.m3uhttps://iptv-org.github.io/iptv/regions/sas.m3uhttps://iptv-org.github.io/iptv/regions/ssa.m3uhttps://iptv-org.github.io/iptv/regions/mideast.m3uhttps://iptv-org.github.io/iptv/regions/mena.m3uhttps://iptv-org.github.io/iptv/regions/nord.m3uhttps://iptv-org.github.io/iptv/regions/noram.m3uhttps://iptv-org.github.io/iptv/regions/nam.m3uhttps://iptv-org.github.io/iptv/regions/oce.m3uhttps://iptv-org.github.io/iptv/regions/sas.m3uhttps://iptv-org.github.io/iptv/regions/ssa.m3uhttps://iptv-org.github.io/iptv/regions/wafr.m3uhttps://iptv-org.github.io/iptv/regions/int.m3uhttps://iptv-org.github.io/iptv/regions/undefined.m3uhttps://iptv-org.github.io/iptv/regions/int.m3uhttps://iptv-org.github.io/iptv/regions/undefined.m3u