Merge branch 'master' into alr86-patch-1

This commit is contained in:
Ismaël Moret 2025-05-02 12:17:21 +02:00 committed by GitHub
commit c939d8abd7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
446 changed files with 30368 additions and 34472 deletions

View file

@ -1,10 +1,11 @@
name: Add stream link
name: Add stream
description: Request to add a new stream link into the playlist
title: 'Add: '
labels: ['streams:add']
body:
- type: input
id: stream_id
attributes:
label: Stream ID (required)
description: "ID of the stream consisting of `<channel_id>` or `<channel_id>@<feed_id>`. Full list of supported channels with corresponding ID could be found on [iptv-org.github.io](https://iptv-org.github.io/). If you can't find the channel you want in the list, please let us know through this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=channels%3Aadd&projects=&template=channels_add.yml&title=Add%3A+) before posting your request."
@ -13,6 +14,7 @@ body:
required: true
- type: input
id: stream_url
attributes:
label: Stream URL (required)
description: Link to the stream
@ -21,6 +23,7 @@ body:
required: true
- type: dropdown
id: quality
attributes:
label: Quality
description: Maximum video resolution available on the link
@ -37,6 +40,7 @@ body:
- 360p
- type: dropdown
id: label
attributes:
label: Label
description: Is there any reason why the broadcast may not work?
@ -45,16 +49,19 @@ body:
- 'Geo-blocked'
- type: input
id: http_user_agent
attributes:
label: HTTP User Agent
placeholder: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246'
- type: input
id: http_referrer
attributes:
label: HTTP Referrer
placeholder: 'https://example.com/'
- type: textarea
id: notes
attributes:
label: Notes
description: 'Anything else we should know about this broadcast?'

View file

@ -1,13 +1,14 @@
name: ✏️ Edit stream description
name: ✏️ Edit stream
description: Request to edit stream description
title: 'Edit: '
labels: ['streams:edit']
body:
- type: input
id: stream_url
attributes:
label: Stream URL (required)
description: Link to the stream from a playlist
description: Link to the stream to be updated
placeholder: 'https://lnc-kdfw-fox-aws.tubi.video/index.m3u8'
validations:
required: true
@ -18,12 +19,21 @@ body:
What exactly needs to be changed? To delete an existing value without replacement use the `~` symbol.
- type: input
id: new_stream_url
attributes:
label: New Stream URL
description: New link to the stream
placeholder: 'https://servilive.com:3126/live/tele2000live.m3u8'
- type: input
id: stream_id
attributes:
label: Stream ID
description: "ID of the stream consisting of `<channel_id>` or `<channel_id>@<feed_id>`. Full list of supported channels with corresponding ID could be found on [iptv-org.github.io](https://iptv-org.github.io/). If you can't find the channel you want in the list, please let us know through this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=channels%3Aadd&projects=&template=channels_add.yml&title=Add%3A+) before posting your request."
placeholder: 'BBCAmerica.us@East'
- type: dropdown
id: quality
attributes:
label: Quality
description: Maximum video resolution available on the link
@ -41,6 +51,7 @@ body:
- '~'
- type: dropdown
id: label
attributes:
label: Label
description: Is there any reason why the broadcast may not work?
@ -50,16 +61,19 @@ body:
- '~'
- type: input
id: http_user_agent
attributes:
label: HTTP User Agent
placeholder: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246'
- type: input
id: http_referrer
attributes:
label: HTTP Referrer
placeholder: 'https://example.com/'
- type: textarea
id: notes
attributes:
label: Notes
placeholder: 'Anything else we should know?'

View file

@ -1,23 +1,25 @@
name: 🚧 Report broken stream
name: 🚧 Report a stream
description: Report a broken or unstable stream
title: 'Broken: '
labels: ['broken stream', 'streams:remove']
title: 'Report: '
labels: ['streams:remove']
body:
- type: markdown
attributes:
value: |
Please fill out the issue template as much as you can so we could efficiently process your request
Please fill out the form as much as you can so we could efficiently process your request. To suggest a new replacement link, use this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=streams:add&projects=&template=1_streams_add.yml&title=Add%3A+).
- type: textarea
id: stream_url
attributes:
label: Broken Links
description: Please specify the broken links from the playlist (one per line)
label: Stream URL
description: List all links in question (one per line)
placeholder: 'https://lnc-kdfw-fox-aws.tubi.video/index.m3u8'
validations:
required: true
- type: dropdown
id: reason
attributes:
label: What happened to the stream?
options:
@ -33,6 +35,7 @@ body:
required: true
- type: textarea
id: notes
attributes:
label: Notes (optional)
placeholder: 'Anything else we should know?'

6
.gitignore vendored
View file

@ -3,7 +3,7 @@ node_modules
.secrets
.actrc
.DS_Store
.gh-pages
.api
/.gh-pages/
/.api/
.env
/temp
/temp/

View file

@ -93,12 +93,12 @@ Same thing, but split up into separate files:
### Grouped by region
Playlists in which channels are grouped by the region for which they are broadcasted.
<details>
<summary>Expand</summary>
<br>
Playlists in which channels are grouped by the region for which they are broadcasted.
```
https://iptv-org.github.io/iptv/index.region.m3u
```

View file

@ -12,7 +12,7 @@
You have several options:
1. Create a new [issue](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=streams:add&projects=&template=-----streams_add.yml&title=Add%3A+) and provide all the required information. If the request is approved, the link will be added to the playlist in the next update.
1. Create a new [issue](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=streams:add&projects=&template=1_streams_add.yml&title=Add%3A+) and provide all the required information. If the request is approved, the link will be added to the playlist in the next update.
2. Add the link to the playlist directly using a [pull request](https://github.com/iptv-org/iptv/pulls).
@ -51,7 +51,7 @@ If the link answers, you're with an Xtream Codes server.
### How to report a broken stream?
Fill out this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=broken+stream&projects=&template=---broken-stream.yml&title=Broken%3A+) and as soon as a working replacement appears, we will add it to the playlist or at least remove the non-working one.
Fill out this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=streams:remove&projects=&template=3_streams_report.yml&title=Broken%3A+) and as soon as a working replacement appears, we will add it to the playlist or at least remove the non-working one.
The only thing before publishing your report is to make sure that:
@ -91,9 +91,15 @@ streams/fr.m3u
After that, all you have to do is report any broken streams you find.
### How do I remove my channel from playlist?
### How to replace a broken stream?
To request removal of a link to a channel from the repository, you need to fill out this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=removal+request&projects=&template=-removal-request.yml&title=Remove%3A+) and wait for the request to be reviewed (this usually takes no more than 1 business day). And if the request is approved, links to the channel will be immediately removed from the repository.
This can be done either by filling out this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=streams%3Aedit&projects=&template=2_streams_edit.yml&title=Edit%3A+).
Either by directly updating the files in the [/streams](/streams) folder and then creating a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests).
### How to remove my channel from playlist?
To request removal of a link to a channel from the repository, you need to fill out this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=removal+request&projects=&template=6_copyright-claim.yml&title=Remove%3A+) and wait for the request to be reviewed (this usually takes no more than 1 business day). And if the request is approved, links to the channel will be immediately removed from the repository.
The channel will also be added to our [blocklist](https://github.com/iptv-org/database/blob/master/data/blocklist.csv) to avoid its appearance in our playlists in the future.
@ -176,6 +182,7 @@ To run scripts use the `npm run <script-name>` command.
- `playlist:validate`: сhecks ids and links in internal playlists for errors.
- `playlist:lint`: сhecks internal playlists for syntax errors.
- `playlist:test`: tests links in internal playlists.
- `playlist:edit`: utility for quick streams mapping.
- `playlist:deploy`: allows to manually publish all generated via `playlist:generate` playlists. To run the script you must provide your [personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) with write access to the repository.
- `readme:update`: updates the list of playlists in [README.md](README.md).
- `report:create`: creates a report on current issues.

676
README.md
View file

@ -54,35 +54,35 @@ Same thing, but split up into separate files:
<tr><th align="left">Category</th><th align="left">Channels</th><th align="left">Playlist</th></tr>
</thead>
<tbody>
<tr><td>Animation</td><td align="right">45</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/animation.m3u</code></td></tr>
<tr><td>Auto</td><td align="right">14</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/auto.m3u</code></td></tr>
<tr><td>Business</td><td align="right">60</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/business.m3u</code></td></tr>
<tr><td>Animation</td><td align="right">53</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/animation.m3u</code></td></tr>
<tr><td>Auto</td><td align="right">15</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/auto.m3u</code></td></tr>
<tr><td>Business</td><td align="right">64</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/business.m3u</code></td></tr>
<tr><td>Classic</td><td align="right">44</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/classic.m3u</code></td></tr>
<tr><td>Comedy</td><td align="right">60</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/comedy.m3u</code></td></tr>
<tr><td>Cooking</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/cooking.m3u</code></td></tr>
<tr><td>Culture</td><td align="right">167</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/culture.m3u</code></td></tr>
<tr><td>Documentary</td><td align="right">79</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/documentary.m3u</code></td></tr>
<tr><td>Education</td><td align="right">150</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/education.m3u</code></td></tr>
<tr><td>Entertainment</td><td align="right">542</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/entertainment.m3u</code></td></tr>
<tr><td>Family</td><td align="right">35</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/family.m3u</code></td></tr>
<tr><td>General</td><td align="right">2347</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/general.m3u</code></td></tr>
<tr><td>Kids</td><td align="right">175</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/kids.m3u</code></td></tr>
<tr><td>Legislative</td><td align="right">192</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/legislative.m3u</code></td></tr>
<tr><td>Lifestyle</td><td align="right">78</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/lifestyle.m3u</code></td></tr>
<tr><td>Movies</td><td align="right">234</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/movies.m3u</code></td></tr>
<tr><td>Music</td><td align="right">660</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/music.m3u</code></td></tr>
<tr><td>News</td><td align="right">769</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/news.m3u</code></td></tr>
<tr><td>Outdoor</td><td align="right">40</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/outdoor.m3u</code></td></tr>
<tr><td>Relax</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/relax.m3u</code></td></tr>
<tr><td>Religious</td><td align="right">693</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/religious.m3u</code></td></tr>
<tr><td>Science</td><td align="right">21</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/science.m3u</code></td></tr>
<tr><td>Series</td><td align="right">149</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/series.m3u</code></td></tr>
<tr><td>Shop</td><td align="right">87</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/shop.m3u</code></td></tr>
<tr><td>Sports</td><td align="right">265</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/sports.m3u</code></td></tr>
<tr><td>Travel</td><td align="right">39</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/travel.m3u</code></td></tr>
<tr><td>Weather</td><td align="right">13</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/weather.m3u</code></td></tr>
<tr><td>Comedy</td><td align="right">77</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/comedy.m3u</code></td></tr>
<tr><td>Cooking</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/cooking.m3u</code></td></tr>
<tr><td>Culture</td><td align="right">171</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/culture.m3u</code></td></tr>
<tr><td>Documentary</td><td align="right">109</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/documentary.m3u</code></td></tr>
<tr><td>Education</td><td align="right">157</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/education.m3u</code></td></tr>
<tr><td>Entertainment</td><td align="right">577</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/entertainment.m3u</code></td></tr>
<tr><td>Family</td><td align="right">50</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/family.m3u</code></td></tr>
<tr><td>General</td><td align="right">2387</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/general.m3u</code></td></tr>
<tr><td>Kids</td><td align="right">233</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/kids.m3u</code></td></tr>
<tr><td>Legislative</td><td align="right">193</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/legislative.m3u</code></td></tr>
<tr><td>Lifestyle</td><td align="right">91</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/lifestyle.m3u</code></td></tr>
<tr><td>Movies</td><td align="right">311</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/movies.m3u</code></td></tr>
<tr><td>Music</td><td align="right">677</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/music.m3u</code></td></tr>
<tr><td>News</td><td align="right">788</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/news.m3u</code></td></tr>
<tr><td>Outdoor</td><td align="right">45</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/outdoor.m3u</code></td></tr>
<tr><td>Relax</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/relax.m3u</code></td></tr>
<tr><td>Religious</td><td align="right">706</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/religious.m3u</code></td></tr>
<tr><td>Science</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/science.m3u</code></td></tr>
<tr><td>Series</td><td align="right">245</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/series.m3u</code></td></tr>
<tr><td>Shop</td><td align="right">89</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/shop.m3u</code></td></tr>
<tr><td>Sports</td><td align="right">277</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/sports.m3u</code></td></tr>
<tr><td>Travel</td><td align="right">42</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/travel.m3u</code></td></tr>
<tr><td>Weather</td><td align="right">14</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/weather.m3u</code></td></tr>
<tr><td>XXX</td><td align="right">0</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/xxx.m3u</code></td></tr>
<tr><td>Undefined</td><td align="right">4715</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/undefined.m3u</code></td></tr>
<tr><td>Undefined</td><td align="right">3944</td><td nowrap><code>https://iptv-org.github.io/iptv/categories/undefined.m3u</code></td></tr>
</tbody>
</table>
@ -114,9 +114,9 @@ Same thing, but split up into separate files:
<tr><td align="left">Afrikaans</td><td align="right">3</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/afr.m3u</code></td></tr>
<tr><td align="left">Albanian</td><td align="right">46</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/sqi.m3u</code></td></tr>
<tr><td align="left">Alur</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/alz.m3u</code></td></tr>
<tr><td align="left">Amharic</td><td align="right">7</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/amh.m3u</code></td></tr>
<tr><td align="left">Amharic</td><td align="right">8</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/amh.m3u</code></td></tr>
<tr><td align="left">Arabic</td><td align="right">393</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ara.m3u</code></td></tr>
<tr><td align="left">Armenian</td><td align="right">25</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/hye.m3u</code></td></tr>
<tr><td align="left">Armenian</td><td align="right">27</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/hye.m3u</code></td></tr>
<tr><td align="left">Assamese</td><td align="right">7</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/asm.m3u</code></td></tr>
<tr><td align="left">Assyrian Neo-Aramaic</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/aii.m3u</code></td></tr>
<tr><td align="left">Ayizo Gbe</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ayb.m3u</code></td></tr>
@ -131,14 +131,14 @@ Same thing, but split up into separate files:
<tr><td align="left">Bhojpuri</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/bho.m3u</code></td></tr>
<tr><td align="left">Bosnian</td><td align="right">13</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/bos.m3u</code></td></tr>
<tr><td align="left">Bulgarian</td><td align="right">28</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/bul.m3u</code></td></tr>
<tr><td align="left">Burmese</td><td align="right">9</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/mya.m3u</code></td></tr>
<tr><td align="left">Burmese</td><td align="right">10</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/mya.m3u</code></td></tr>
<tr><td align="left">Catalan</td><td align="right">51</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/cat.m3u</code></td></tr>
<tr><td align="left">Central Kurdish</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ckb.m3u</code></td></tr>
<tr><td align="left">Chenoua</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/cnu.m3u</code></td></tr>
<tr><td align="left">Chewa</td><td align="right">3</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/nya.m3u</code></td></tr>
<tr><td align="left">Chhattisgarhi</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/hne.m3u</code></td></tr>
<tr><td align="left">Chiga</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/cgg.m3u</code></td></tr>
<tr><td align="left">Chinese</td><td align="right">181</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/zho.m3u</code></td></tr>
<tr><td align="left">Chinese</td><td align="right">207</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/zho.m3u</code></td></tr>
<tr><td align="left">Croatian</td><td align="right">22</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/hrv.m3u</code></td></tr>
<tr><td align="left">Czech</td><td align="right">35</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ces.m3u</code></td></tr>
<tr><td align="left">Danish</td><td align="right">19</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/dan.m3u</code></td></tr>
@ -147,35 +147,35 @@ Same thing, but split up into separate files:
<tr><td align="left">Dhivehi</td><td align="right">10</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/div.m3u</code></td></tr>
<tr><td align="left">Dholuo</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/luo.m3u</code></td></tr>
<tr><td align="left">Dimili</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/zza.m3u</code></td></tr>
<tr><td align="left">Dutch</td><td align="right">188</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/nld.m3u</code></td></tr>
<tr><td align="left">Dutch</td><td align="right">190</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/nld.m3u</code></td></tr>
<tr><td align="left">Dyula</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/dyu.m3u</code></td></tr>
<tr><td align="left">Egyptian Arabic</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/arz.m3u</code></td></tr>
<tr><td align="left">English</td><td align="right">2111</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/eng.m3u</code></td></tr>
<tr><td align="left">English</td><td align="right">2241</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/eng.m3u</code></td></tr>
<tr><td align="left">Estonian</td><td align="right">9</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/est.m3u</code></td></tr>
<tr><td align="left">Ewe</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ewe.m3u</code></td></tr>
<tr><td align="left">Faroese</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/fao.m3u</code></td></tr>
<tr><td align="left">Fataleka</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/far.m3u</code></td></tr>
<tr><td align="left">Filipino</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/fil.m3u</code></td></tr>
<tr><td align="left">Finnish</td><td align="right">23</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/fin.m3u</code></td></tr>
<tr><td align="left">Finnish</td><td align="right">24</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/fin.m3u</code></td></tr>
<tr><td align="left">Fon</td><td align="right">3</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/fon.m3u</code></td></tr>
<tr><td align="left">French</td><td align="right">418</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/fra.m3u</code></td></tr>
<tr><td align="left">French</td><td align="right">478</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/fra.m3u</code></td></tr>
<tr><td align="left">Fulah</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ful.m3u</code></td></tr>
<tr><td align="left">Gaelic</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/gla.m3u</code></td></tr>
<tr><td align="left">Galician</td><td align="right">13</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/glg.m3u</code></td></tr>
<tr><td align="left">Ganda</td><td align="right">5</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/lug.m3u</code></td></tr>
<tr><td align="left">Gen</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/gej.m3u</code></td></tr>
<tr><td align="left">Georgian</td><td align="right">9</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kat.m3u</code></td></tr>
<tr><td align="left">German</td><td align="right">259</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/deu.m3u</code></td></tr>
<tr><td align="left">German</td><td align="right">333</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/deu.m3u</code></td></tr>
<tr><td align="left">Gikuyu</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kik.m3u</code></td></tr>
<tr><td align="left">Goan Konkani</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/gom.m3u</code></td></tr>
<tr><td align="left">Greek</td><td align="right">125</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ell.m3u</code></td></tr>
<tr><td align="left">Greek</td><td align="right">129</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ell.m3u</code></td></tr>
<tr><td align="left">Guadeloupean Creole French</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/gcf.m3u</code></td></tr>
<tr><td align="left">Gujarati</td><td align="right">6</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/guj.m3u</code></td></tr>
<tr><td align="left">Gun</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/guw.m3u</code></td></tr>
<tr><td align="left">Haitian</td><td align="right">4</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/hat.m3u</code></td></tr>
<tr><td align="left">Hausa</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/hau.m3u</code></td></tr>
<tr><td align="left">Hebrew</td><td align="right">13</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/heb.m3u</code></td></tr>
<tr><td align="left">Hindi</td><td align="right">121</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/hin.m3u</code></td></tr>
<tr><td align="left">Hebrew</td><td align="right">14</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/heb.m3u</code></td></tr>
<tr><td align="left">Hindi</td><td align="right">124</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/hin.m3u</code></td></tr>
<tr><td align="left">Hmong</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/hmn.m3u</code></td></tr>
<tr><td align="left">Hungarian</td><td align="right">103</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/hun.m3u</code></td></tr>
<tr><td align="left">Icelandic</td><td align="right">5</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/isl.m3u</code></td></tr>
@ -184,8 +184,8 @@ Same thing, but split up into separate files:
<tr><td align="left">Iranian Persian</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/pes.m3u</code></td></tr>
<tr><td align="left">Irish</td><td align="right">7</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/gle.m3u</code></td></tr>
<tr><td align="left">Isekiri</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/its.m3u</code></td></tr>
<tr><td align="left">Italian</td><td align="right">289</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ita.m3u</code></td></tr>
<tr><td align="left">Japanese</td><td align="right">69</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/jpn.m3u</code></td></tr>
<tr><td align="left">Italian</td><td align="right">337</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ita.m3u</code></td></tr>
<tr><td align="left">Japanese</td><td align="right">71</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/jpn.m3u</code></td></tr>
<tr><td align="left">Javanese</td><td align="right">3</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/jav.m3u</code></td></tr>
<tr><td align="left">Kabiyè</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kbp.m3u</code></td></tr>
<tr><td align="left">Kabyle</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kab.m3u</code></td></tr>
@ -195,13 +195,13 @@ Same thing, but split up into separate files:
<tr><td align="left">Khmer</td><td align="right">22</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/khm.m3u</code></td></tr>
<tr><td align="left">Khorasani Turkish</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kmz.m3u</code></td></tr>
<tr><td align="left">Kinyarwanda</td><td align="right">7</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kin.m3u</code></td></tr>
<tr><td align="left">Kirghiz</td><td align="right">12</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kir.m3u</code></td></tr>
<tr><td align="left">Kirghiz</td><td align="right">13</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kir.m3u</code></td></tr>
<tr><td align="left">Kituba (Congo)</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/mkw.m3u</code></td></tr>
<tr><td align="left">Kongo</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kon.m3u</code></td></tr>
<tr><td align="left">Konkani (macrolanguage)</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kok.m3u</code></td></tr>
<tr><td align="left">Korean</td><td align="right">96</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kor.m3u</code></td></tr>
<tr><td align="left">Kumam</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kdi.m3u</code></td></tr>
<tr><td align="left">Kurdish</td><td align="right">32</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kur.m3u</code></td></tr>
<tr><td align="left">Kurdish</td><td align="right">33</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/kur.m3u</code></td></tr>
<tr><td align="left">Lango (Uganda)</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/laj.m3u</code></td></tr>
<tr><td align="left">Lao</td><td align="right">8</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/lao.m3u</code></td></tr>
<tr><td align="left">Latin</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/lat.m3u</code></td></tr>
@ -213,9 +213,9 @@ Same thing, but split up into separate files:
<tr><td align="left">Macedonian</td><td align="right">34</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/mkd.m3u</code></td></tr>
<tr><td align="left">Maithili</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/mai.m3u</code></td></tr>
<tr><td align="left">Malay</td><td align="right">18</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/msa.m3u</code></td></tr>
<tr><td align="left">Malayalam</td><td align="right">65</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/mal.m3u</code></td></tr>
<tr><td align="left">Malayalam</td><td align="right">66</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/mal.m3u</code></td></tr>
<tr><td align="left">Maltese</td><td align="right">8</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/mlt.m3u</code></td></tr>
<tr><td align="left">Mandarin Chinese</td><td align="right">3</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/cmn.m3u</code></td></tr>
<tr><td align="left">Mandarin Chinese</td><td align="right">4</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/cmn.m3u</code></td></tr>
<tr><td align="left">Mandinka</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/mnk.m3u</code></td></tr>
<tr><td align="left">Maori</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/mri.m3u</code></td></tr>
<tr><td align="left">Marathi</td><td align="right">7</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/mar.m3u</code></td></tr>
@ -234,15 +234,15 @@ Same thing, but split up into separate files:
<tr><td align="left">Papiamento</td><td align="right">18</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/pap.m3u</code></td></tr>
<tr><td align="left">Parsi-Dari</td><td align="right">3</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/prd.m3u</code></td></tr>
<tr><td align="left">Pashto</td><td align="right">16</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/pus.m3u</code></td></tr>
<tr><td align="left">Persian</td><td align="right">139</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/fas.m3u</code></td></tr>
<tr><td align="left">Polish</td><td align="right">149</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/pol.m3u</code></td></tr>
<tr><td align="left">Portuguese</td><td align="right">337</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/por.m3u</code></td></tr>
<tr><td align="left">Persian</td><td align="right">140</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/fas.m3u</code></td></tr>
<tr><td align="left">Polish</td><td align="right">63</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/pol.m3u</code></td></tr>
<tr><td align="left">Portuguese</td><td align="right">347</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/por.m3u</code></td></tr>
<tr><td align="left">Pulaar</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/fuc.m3u</code></td></tr>
<tr><td align="left">Quechua</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/que.m3u</code></td></tr>
<tr><td align="left">Romanian</td><td align="right">127</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ron.m3u</code></td></tr>
<tr><td align="left">Romany</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/rom.m3u</code></td></tr>
<tr><td align="left">Rundi</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/run.m3u</code></td></tr>
<tr><td align="left">Russian</td><td align="right">259</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/rus.m3u</code></td></tr>
<tr><td align="left">Russian</td><td align="right">264</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/rus.m3u</code></td></tr>
<tr><td align="left">Saint Lucian Creole French</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/acf.m3u</code></td></tr>
<tr><td align="left">Samoan</td><td align="right">2</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/smo.m3u</code></td></tr>
<tr><td align="left">Santali</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/sat.m3u</code></td></tr>
@ -250,12 +250,15 @@ Same thing, but split up into separate files:
<tr><td align="left">Serbo-Croatian</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/hbs.m3u</code></td></tr>
<tr><td align="left">Sinhala</td><td align="right">5</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/sin.m3u</code></td></tr>
<tr><td align="left">Slovak</td><td align="right">49</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/slk.m3u</code></td></tr>
<tr><td align="left">Slovenian</td><td align="right">13</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/slv.m3u</code></td></tr>
<tr><td align="left">Slovenian</td><td align="right">14</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/slv.m3u</code></td></tr>
<tr><td align="left">Somali</td><td align="right">11</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/som.m3u</code></td></tr>
<tr><td align="left">Spanish</td><td align="right">2072</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/spa.m3u</code></td></tr>
<tr><td align="left">South African Sign Language</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/sfs.m3u</code></td></tr>
<tr><td align="left">South Ndebele</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/nbl.m3u</code></td></tr>
<tr><td align="left">Spanish</td><td align="right">2084</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/spa.m3u</code></td></tr>
<tr><td align="left">Sranan Tongo</td><td align="right">3</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/srn.m3u</code></td></tr>
<tr><td align="left">Swahili</td><td align="right">24</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/swa.m3u</code></td></tr>
<tr><td align="left">Swedish</td><td align="right">16</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/swe.m3u</code></td></tr>
<tr><td align="left">Swati</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ssw.m3u</code></td></tr>
<tr><td align="left">Swedish</td><td align="right">14</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/swe.m3u</code></td></tr>
<tr><td align="left">Syriac</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/syr.m3u</code></td></tr>
<tr><td align="left">Tachawit</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/shy.m3u</code></td></tr>
<tr><td align="left">Tagalog</td><td align="right">8</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tgl.m3u</code></td></tr>
@ -263,30 +266,34 @@ Same thing, but split up into separate files:
<tr><td align="left">Tajik</td><td align="right">15</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tgk.m3u</code></td></tr>
<tr><td align="left">Tamashek</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tmh.m3u</code></td></tr>
<tr><td align="left">Tamasheq</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/taq.m3u</code></td></tr>
<tr><td align="left">Tamil</td><td align="right">46</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tam.m3u</code></td></tr>
<tr><td align="left">Tamil</td><td align="right">48</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tam.m3u</code></td></tr>
<tr><td align="left">Tatar</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tat.m3u</code></td></tr>
<tr><td align="left">Telugu</td><td align="right">8</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tel.m3u</code></td></tr>
<tr><td align="left">Thai</td><td align="right">63</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tha.m3u</code></td></tr>
<tr><td align="left">Thai</td><td align="right">64</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tha.m3u</code></td></tr>
<tr><td align="left">Tibetan</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/bod.m3u</code></td></tr>
<tr><td align="left">Tooro</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ttj.m3u</code></td></tr>
<tr><td align="left">Tsonga</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tso.m3u</code></td></tr>
<tr><td align="left">Tswana</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tsn.m3u</code></td></tr>
<tr><td align="left">Tumzabt</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/mzb.m3u</code></td></tr>
<tr><td align="left">Turkish</td><td align="right">260</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tur.m3u</code></td></tr>
<tr><td align="left">Turkish</td><td align="right">261</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tur.m3u</code></td></tr>
<tr><td align="left">Turkmen</td><td align="right">8</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/tuk.m3u</code></td></tr>
<tr><td align="left">Uighur</td><td align="right">3</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/uig.m3u</code></td></tr>
<tr><td align="left">Ukrainian</td><td align="right">60</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ukr.m3u</code></td></tr>
<tr><td align="left">Urdu</td><td align="right">38</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/urd.m3u</code></td></tr>
<tr><td align="left">Urdu</td><td align="right">39</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/urd.m3u</code></td></tr>
<tr><td align="left">Uzbek</td><td align="right">14</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/uzb.m3u</code></td></tr>
<tr><td align="left">Venda</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/ven.m3u</code></td></tr>
<tr><td align="left">Vietnamese</td><td align="right">66</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/vie.m3u</code></td></tr>
<tr><td align="left">Welsh</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/cym.m3u</code></td></tr>
<tr><td align="left">Western Frisian</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/fry.m3u</code></td></tr>
<tr><td align="left">Wolof</td><td align="right">8</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/wol.m3u</code></td></tr>
<tr><td align="left">Xhosa</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/xho.m3u</code></td></tr>
<tr><td align="left">Yakut</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/sah.m3u</code></td></tr>
<tr><td align="left">Yoruba</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/yor.m3u</code></td></tr>
<tr><td align="left">Yucatec Maya</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/yua.m3u</code></td></tr>
<tr><td align="left">Yue Chinese</td><td align="right">5</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/yue.m3u</code></td></tr>
<tr><td align="left">Zarma</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/dje.m3u</code></td></tr>
<tr><td align="left">Undefined</td><td align="right">2878</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/undefined.m3u</code></td></tr>
<tr><td align="left">Zulu</td><td align="right">1</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/zul.m3u</code></td></tr>
<tr><td align="left">Undefined</td><td align="right">2283</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/languages/undefined.m3u</code></td></tr>
</tbody>
</table>
@ -312,19 +319,19 @@ Same thing, but split up into separate files:
<tr><th align="left">Country</th><th align="left">Channels</th><th align="left">Playlist</th></tr>
</thead>
<tbody>
<tr><td>🇦🇫 Afghanistan</td><td align="right">31</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/af.m3u</code></td></tr>
<tr><td>🇦🇱 Albania</td><td align="right">42</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/al.m3u</code></td></tr>
<tr><td>🇩🇿 Algeria</td><td align="right">71</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/dz.m3u</code></td></tr>
<tr><td>🇦🇸 American Samoa</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/as.m3u</code></td></tr>
<tr><td>🇦🇩 Andorra</td><td align="right">33</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ad.m3u</code></td></tr>
<tr><td>🇦🇴 Angola</td><td align="right">27</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ao.m3u</code></td></tr>
<tr><td>🇦🇮 Anguilla</td><td align="right">12</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ai.m3u</code></td></tr>
<tr><td>🇦🇬 Antigua and Barbuda</td><td align="right">13</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ag.m3u</code></td></tr>
<tr><td>🇦🇷 Argentina</td><td align="right">223</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ar.m3u</code></td></tr>
<tr><td>🇦🇫 Afghanistan</td><td align="right">34</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/af.m3u</code></td></tr>
<tr><td>🇦🇱 Albania</td><td align="right">46</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/al.m3u</code></td></tr>
<tr><td>🇩🇿 Algeria</td><td align="right">76</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/dz.m3u</code></td></tr>
<tr><td>🇦🇸 American Samoa</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/as.m3u</code></td></tr>
<tr><td>🇦🇩 Andorra</td><td align="right">37</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ad.m3u</code></td></tr>
<tr><td>🇦🇴 Angola</td><td align="right">29</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ao.m3u</code></td></tr>
<tr><td>🇦🇮 Anguilla</td><td align="right">17</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ai.m3u</code></td></tr>
<tr><td>🇦🇬 Antigua and Barbuda</td><td align="right">18</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ag.m3u</code></td></tr>
<tr><td>🇦🇷 Argentina</td><td align="right">232</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ar.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Buenos Aires</td><td align="right">18</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-b.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Catamarca</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-k.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Chaco</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-h.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Chubut</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-u.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Chubut</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-u.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ciudad Autonoma de Buenos Aires</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-c.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cordoba</td><td align="right">4</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-x.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Corrientes</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-w.m3u</code></td></tr>
@ -338,38 +345,44 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Neuquen</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-q.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rio Negro</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-r.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Salta</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-a.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;San Juan</td><td align="right">4</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-j.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;San Juan</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-j.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Santa Cruz</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-z.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Santa Fe</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-s.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Santiago del Estero</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-g.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tucuman</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ar-t.m3u</code></td></tr>
<tr><td>🇦🇲 Armenia</td><td align="right">52</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/am.m3u</code></td></tr>
<tr><td>🇦🇼 Aruba</td><td align="right">21</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/aw.m3u</code></td></tr>
<tr><td>🇦🇺 Australia</td><td align="right">39</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/au.m3u</code></td></tr>
<tr><td>🇦🇹 Austria</td><td align="right">75</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/at.m3u</code></td></tr>
<tr><td>🇦🇲 Armenia</td><td align="right">58</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/am.m3u</code></td></tr>
<tr><td>🇦🇼 Aruba</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/aw.m3u</code></td></tr>
<tr><td>🇦🇺 Australia</td><td align="right">64</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/au.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New South Wales</td><td align="right">9</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/au-nsw.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Queensland</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/au-qld.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;South Australia</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/au-sa.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tasmania</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/au-tas.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Victoria</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/au-vic.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Western Australia</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/au-wa.m3u</code></td></tr>
<tr><td>🇦🇹 Austria</td><td align="right">85</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/at.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Karnten</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/at-2.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Steiermark</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/at-6.m3u</code></td></tr>
<tr><td>🇦🇿 Azerbaijan</td><td align="right">46</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/az.m3u</code></td></tr>
<tr><td>🇧🇸 Bahamas</td><td align="right">15</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bs.m3u</code></td></tr>
<tr><td>🇧🇭 Bahrain</td><td align="right">46</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bh.m3u</code></td></tr>
<tr><td>🇧🇩 Bangladesh</td><td align="right">20</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bd.m3u</code></td></tr>
<tr><td>🇧🇧 Barbados</td><td align="right">13</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bb.m3u</code></td></tr>
<tr><td>🇧🇾 Belarus</td><td align="right">47</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/by.m3u</code></td></tr>
<tr><td>🇧🇪 Belgium</td><td align="right">70</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/be.m3u</code></td></tr>
<tr><td>🇧🇿 Belize</td><td align="right">9</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bz.m3u</code></td></tr>
<tr><td>🇧🇯 Benin</td><td align="right">33</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bj.m3u</code></td></tr>
<tr><td>🇧🇲 Bermuda</td><td align="right">7</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bm.m3u</code></td></tr>
<tr><td>🇧🇹 Bhutan</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bt.m3u</code></td></tr>
<tr><td>🇧🇴 Bolivia</td><td align="right">129</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bo.m3u</code></td></tr>
<tr><td>🇦🇿 Azerbaijan</td><td align="right">50</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/az.m3u</code></td></tr>
<tr><td>🇧🇸 Bahamas</td><td align="right">20</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bs.m3u</code></td></tr>
<tr><td>🇧🇭 Bahrain</td><td align="right">50</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bh.m3u</code></td></tr>
<tr><td>🇧🇩 Bangladesh</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bd.m3u</code></td></tr>
<tr><td>🇧🇧 Barbados</td><td align="right">18</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bb.m3u</code></td></tr>
<tr><td>🇧🇾 Belarus</td><td align="right">52</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/by.m3u</code></td></tr>
<tr><td>🇧🇪 Belgium</td><td align="right">74</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/be.m3u</code></td></tr>
<tr><td>🇧🇿 Belize</td><td align="right">14</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bz.m3u</code></td></tr>
<tr><td>🇧🇯 Benin</td><td align="right">34</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bj.m3u</code></td></tr>
<tr><td>🇧🇲 Bermuda</td><td align="right">9</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bm.m3u</code></td></tr>
<tr><td>🇧🇹 Bhutan</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bt.m3u</code></td></tr>
<tr><td>🇧🇴 Bolivia</td><td align="right">106</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bo.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cochabamba</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/bo-c.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;La Paz</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/bo-l.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;La Paz</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/bo-l.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Oruro</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/bo-o.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Santa Cruz</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/bo-s.m3u</code></td></tr>
<tr><td>🇧🇶 Bonaire</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bq.m3u</code></td></tr>
<tr><td>🇧🇦 Bosnia and Herzegovina</td><td align="right">45</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ba.m3u</code></td></tr>
<tr><td>🇧🇼 Botswana</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bw.m3u</code></td></tr>
<tr><td>🇧🇦 Bosnia and Herzegovina</td><td align="right">49</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ba.m3u</code></td></tr>
<tr><td>🇧🇼 Botswana</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bw.m3u</code></td></tr>
<tr><td>🇧🇻 Bouvet Island</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bv.m3u</code></td></tr>
<tr><td>🇧🇷 Brazil</td><td align="right">301</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/br.m3u</code></td></tr>
<tr><td>🇧🇷 Brazil</td><td align="right">314</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/br.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alagoas</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/br-al.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Amazonas</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/br-am.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bahia</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/br-ba.m3u</code></td></tr>
@ -391,14 +404,14 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Roraima</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/br-rr.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Santa Catarina</td><td align="right">9</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/br-sc.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sao Paulo</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/br-sp.m3u</code></td></tr>
<tr><td>🇻🇬 British Virgin Islands</td><td align="right">14</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/vg.m3u</code></td></tr>
<tr><td>🇧🇳 Brunei</td><td align="right">17</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bn.m3u</code></td></tr>
<tr><td>🇧🇬 Bulgaria</td><td align="right">62</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bg.m3u</code></td></tr>
<tr><td>🇧🇫 Burkina Faso</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bf.m3u</code></td></tr>
<tr><td>🇧🇮 Burundi</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bi.m3u</code></td></tr>
<tr><td>🇰🇭 Cambodia</td><td align="right">35</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kh.m3u</code></td></tr>
<tr><td>🇨🇲 Cameroon</td><td align="right">55</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cm.m3u</code></td></tr>
<tr><td>🇨🇦 Canada</td><td align="right">172</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ca.m3u</code></td></tr>
<tr><td>🇻🇬 British Virgin Islands</td><td align="right">19</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/vg.m3u</code></td></tr>
<tr><td>🇧🇳 Brunei</td><td align="right">22</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bn.m3u</code></td></tr>
<tr><td>🇧🇬 Bulgaria</td><td align="right">66</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bg.m3u</code></td></tr>
<tr><td>🇧🇫 Burkina Faso</td><td align="right">30</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bf.m3u</code></td></tr>
<tr><td>🇧🇮 Burundi</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bi.m3u</code></td></tr>
<tr><td>🇰🇭 Cambodia</td><td align="right">40</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kh.m3u</code></td></tr>
<tr><td>🇨🇲 Cameroon</td><td align="right">57</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cm.m3u</code></td></tr>
<tr><td>🇨🇦 Canada</td><td align="right">184</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ca.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alberta</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ca-ab.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;British Columbia</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ca-bc.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manitoba</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ca-mb.m3u</code></td></tr>
@ -411,11 +424,11 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prince Edward Island</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ca-pe.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Quebec</td><td align="right">15</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ca-qc.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Saskatchewan</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ca-sk.m3u</code></td></tr>
<tr><td>🇨🇻 Cape Verde</td><td align="right">28</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cv.m3u</code></td></tr>
<tr><td>🇰🇾 Cayman Islands</td><td align="right">12</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ky.m3u</code></td></tr>
<tr><td>🇨🇫 Central African Republic</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cf.m3u</code></td></tr>
<tr><td>🇹🇩 Chad</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/td.m3u</code></td></tr>
<tr><td>🇨🇱 Chile</td><td align="right">265</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cl.m3u</code></td></tr>
<tr><td>🇨🇻 Cape Verde</td><td align="right">30</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cv.m3u</code></td></tr>
<tr><td>🇰🇾 Cayman Islands</td><td align="right">17</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ky.m3u</code></td></tr>
<tr><td>🇨🇫 Central African Republic</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cf.m3u</code></td></tr>
<tr><td>🇹🇩 Chad</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/td.m3u</code></td></tr>
<tr><td>🇨🇱 Chile</td><td align="right">273</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cl.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Atacama</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/cl-at.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Biobio</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/cl-bi.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coquimbo</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/cl-co.m3u</code></td></tr>
@ -425,8 +438,8 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maule</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/cl-ml.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nuble</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/cl-nb.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Valparaiso</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/cl-vs.m3u</code></td></tr>
<tr><td>🇨🇳 China</td><td align="right">138</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cn.m3u</code></td></tr>
<tr><td>🇨🇴 Colombia</td><td align="right">194</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/co.m3u</code></td></tr>
<tr><td>🇨🇳 China</td><td align="right">164</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cn.m3u</code></td></tr>
<tr><td>🇨🇴 Colombia</td><td align="right">201</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/co.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Antioquia</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/co-ant.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Atlantico</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/co-atl.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bolivar</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/co-bol.m3u</code></td></tr>
@ -443,21 +456,21 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;San Andres, Providencia y Santa Catalina</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/co-sap.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tolima</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/co-tol.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Valle del Cauca</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/co-vac.m3u</code></td></tr>
<tr><td>🇰🇲 Comoros</td><td align="right">60</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/km.m3u</code></td></tr>
<tr><td>🇨🇰 Cook Islands</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ck.m3u</code></td></tr>
<tr><td>🇨🇷 Costa Rica</td><td align="right">137</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cr.m3u</code></td></tr>
<tr><td>🇰🇲 Comoros</td><td align="right">65</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/km.m3u</code></td></tr>
<tr><td>🇨🇰 Cook Islands</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ck.m3u</code></td></tr>
<tr><td>🇨🇷 Costa Rica</td><td align="right">146</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cr.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Puntarenas</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/cr-p.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;San Jose</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/cr-sj.m3u</code></td></tr>
<tr><td>🇭🇷 Croatia</td><td align="right">61</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/hr.m3u</code></td></tr>
<tr><td>🇨🇺 Cuba</td><td align="right">68</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cu.m3u</code></td></tr>
<tr><td>🇨🇼 Curacao</td><td align="right">18</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cw.m3u</code></td></tr>
<tr><td>🇨🇾 Cyprus</td><td align="right">72</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cy.m3u</code></td></tr>
<tr><td>🇨🇿 Czech Republic</td><td align="right">71</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cz.m3u</code></td></tr>
<tr><td>🇨🇩 Democratic Republic of the Congo</td><td align="right">60</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cd.m3u</code></td></tr>
<tr><td>🇩🇰 Denmark</td><td align="right">57</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/dk.m3u</code></td></tr>
<tr><td>🇩🇯 Djibouti</td><td align="right">63</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/dj.m3u</code></td></tr>
<tr><td>🇩🇲 Dominica</td><td align="right">13</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/dm.m3u</code></td></tr>
<tr><td>🇩🇴 Dominican Republic</td><td align="right">253</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/do.m3u</code></td></tr>
<tr><td>🇭🇷 Croatia</td><td align="right">65</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/hr.m3u</code></td></tr>
<tr><td>🇨🇺 Cuba</td><td align="right">75</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cu.m3u</code></td></tr>
<tr><td>🇨🇼 Curacao</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cw.m3u</code></td></tr>
<tr><td>🇨🇾 Cyprus</td><td align="right">76</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cy.m3u</code></td></tr>
<tr><td>🇨🇿 Czech Republic</td><td align="right">75</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cz.m3u</code></td></tr>
<tr><td>🇨🇩 Democratic Republic of the Congo</td><td align="right">62</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cd.m3u</code></td></tr>
<tr><td>🇩🇰 Denmark</td><td align="right">61</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/dk.m3u</code></td></tr>
<tr><td>🇩🇯 Djibouti</td><td align="right">68</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/dj.m3u</code></td></tr>
<tr><td>🇩🇲 Dominica</td><td align="right">18</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/dm.m3u</code></td></tr>
<tr><td>🇩🇴 Dominican Republic</td><td align="right">266</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/do.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Distrito Nacional (Santo Domingo)</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/do-01.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;El Seibo</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/do-08.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;La Altagracia</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/do-11.m3u</code></td></tr>
@ -467,47 +480,47 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;San Juan</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/do-22.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Santiago</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/do-25.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Valverde</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/do-27.m3u</code></td></tr>
<tr><td>🇹🇱 East Timor</td><td align="right">10</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tl.m3u</code></td></tr>
<tr><td>🇪🇨 Ecuador</td><td align="right">139</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ec.m3u</code></td></tr>
<tr><td>🇹🇱 East Timor</td><td align="right">15</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tl.m3u</code></td></tr>
<tr><td>🇪🇨 Ecuador</td><td align="right">147</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ec.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Azuay</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ec-a.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Loja</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ec-l.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Orellana</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ec-d.m3u</code></td></tr>
<tr><td>🇪🇬 Egypt</td><td align="right">92</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/eg.m3u</code></td></tr>
<tr><td>🇸🇻 El Salvador</td><td align="right">100</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sv.m3u</code></td></tr>
<tr><td>🇬🇶 Equatorial Guinea</td><td align="right">27</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gq.m3u</code></td></tr>
<tr><td>🇪🇷 Eritrea</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/er.m3u</code></td></tr>
<tr><td>🇪🇪 Estonia</td><td align="right">65</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ee.m3u</code></td></tr>
<tr><td>🇪🇹 Ethiopia</td><td align="right">27</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/et.m3u</code></td></tr>
<tr><td>🇪🇬 Egypt</td><td align="right">97</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/eg.m3u</code></td></tr>
<tr><td>🇸🇻 El Salvador</td><td align="right">108</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sv.m3u</code></td></tr>
<tr><td>🇬🇶 Equatorial Guinea</td><td align="right">29</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gq.m3u</code></td></tr>
<tr><td>🇪🇷 Eritrea</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/er.m3u</code></td></tr>
<tr><td>🇪🇪 Estonia</td><td align="right">69</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ee.m3u</code></td></tr>
<tr><td>🇪🇹 Ethiopia</td><td align="right">30</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/et.m3u</code></td></tr>
<tr><td>🇫🇰 Falkland Islands</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/fk.m3u</code></td></tr>
<tr><td>🇫🇴 Faroe Islands</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/fo.m3u</code></td></tr>
<tr><td>🇫🇯 Fiji</td><td align="right">6</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/fj.m3u</code></td></tr>
<tr><td>🇫🇮 Finland</td><td align="right">62</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/fi.m3u</code></td></tr>
<tr><td>🇫🇯 Fiji</td><td align="right">9</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/fj.m3u</code></td></tr>
<tr><td>🇫🇮 Finland</td><td align="right">67</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/fi.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Keski-Suomi</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/fi-08.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pohjanmaa</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/fi-12.m3u</code></td></tr>
<tr><td>🇫🇷 France</td><td align="right">154</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/fr.m3u</code></td></tr>
<tr><td>🇬🇫 French Guiana</td><td align="right">19</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gf.m3u</code></td></tr>
<tr><td>🇵🇫 French Polynesia</td><td align="right">6</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pf.m3u</code></td></tr>
<tr><td>🇹🇫 French Southern Territories</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tf.m3u</code></td></tr>
<tr><td>🇬🇦 Gabon</td><td align="right">28</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ga.m3u</code></td></tr>
<tr><td>🇬🇲 Gambia</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gm.m3u</code></td></tr>
<tr><td>🇬🇪 Georgia</td><td align="right">36</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ge.m3u</code></td></tr>
<tr><td>🇩🇪 Germany</td><td align="right">248</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/de.m3u</code></td></tr>
<tr><td>🇬🇭 Ghana</td><td align="right">42</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gh.m3u</code></td></tr>
<tr><td>🇬🇷 Greece</td><td align="right">145</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gr.m3u</code></td></tr>
<tr><td>🇫🇷 France</td><td align="right">223</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/fr.m3u</code></td></tr>
<tr><td>🇬🇫 French Guiana</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gf.m3u</code></td></tr>
<tr><td>🇵🇫 French Polynesia</td><td align="right">9</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pf.m3u</code></td></tr>
<tr><td>🇹🇫 French Southern Territories</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tf.m3u</code></td></tr>
<tr><td>🇬🇦 Gabon</td><td align="right">30</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ga.m3u</code></td></tr>
<tr><td>🇬🇲 Gambia</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gm.m3u</code></td></tr>
<tr><td>🇬🇪 Georgia</td><td align="right">40</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ge.m3u</code></td></tr>
<tr><td>🇩🇪 Germany</td><td align="right">320</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/de.m3u</code></td></tr>
<tr><td>🇬🇭 Ghana</td><td align="right">44</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gh.m3u</code></td></tr>
<tr><td>🇬🇷 Greece</td><td align="right">153</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gr.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attiki</td><td align="right">10</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-i.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dytiki Ellada</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-g.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dytiki Ellada</td><td align="right">6</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-g.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dytiki Makedonia</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-c.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ionia Nisia</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-f.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ipeiros</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-d.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kentriki Makedonia</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-b.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ionia Nisia</td><td align="right">6</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-f.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ipeiros</td><td align="right">6</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-d.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kentriki Makedonia</td><td align="right">6</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-b.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notio Aigaio</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-l.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sterea Ellada</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-h.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thessalia</td><td align="right">4</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gr-e.m3u</code></td></tr>
<tr><td>🇬🇱 Greenland</td><td align="right">7</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gl.m3u</code></td></tr>
<tr><td>🇬🇩 Grenada</td><td align="right">12</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gd.m3u</code></td></tr>
<tr><td>🇬🇵 Guadeloupe</td><td align="right">27</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gp.m3u</code></td></tr>
<tr><td>🇬🇺 Guam</td><td align="right">7</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gu.m3u</code></td></tr>
<tr><td>🇬🇹 Guatemala</td><td align="right">148</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gt.m3u</code></td></tr>
<tr><td>🇬🇱 Greenland</td><td align="right">9</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gl.m3u</code></td></tr>
<tr><td>🇬🇩 Grenada</td><td align="right">17</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gd.m3u</code></td></tr>
<tr><td>🇬🇵 Guadeloupe</td><td align="right">35</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gp.m3u</code></td></tr>
<tr><td>🇬🇺 Guam</td><td align="right">10</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gu.m3u</code></td></tr>
<tr><td>🇬🇹 Guatemala</td><td align="right">157</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gt.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Escuintla</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gt-05.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Huehuetenango</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gt-13.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Izabal</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gt-18.m3u</code></td></tr>
@ -517,16 +530,17 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Santa Rosa</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gt-06.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Solola</td><td align="right">4</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gt-07.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Totonicapan</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/gt-08.m3u</code></td></tr>
<tr><td>🇬🇳 Guinea</td><td align="right">35</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gn.m3u</code></td></tr>
<tr><td>🇬🇼 Guinea-Bissau</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gw.m3u</code></td></tr>
<tr><td>🇬🇬 Guernsey</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gg.m3u</code></td></tr>
<tr><td>🇬🇳 Guinea</td><td align="right">37</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gn.m3u</code></td></tr>
<tr><td>🇬🇼 Guinea-Bissau</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gw.m3u</code></td></tr>
<tr><td>🇬🇾 Guyana</td><td align="right">18</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gy.m3u</code></td></tr>
<tr><td>🇭🇹 Haiti</td><td align="right">45</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ht.m3u</code></td></tr>
<tr><td>🇭🇳 Honduras</td><td align="right">139</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/hn.m3u</code></td></tr>
<tr><td>🇭🇰 Hong Kong</td><td align="right">11</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/hk.m3u</code></td></tr>
<tr><td>🇭🇺 Hungary</td><td align="right">137</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/hu.m3u</code></td></tr>
<tr><td>🇮🇸 Iceland</td><td align="right">32</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/is.m3u</code></td></tr>
<tr><td>🇮🇳 India</td><td align="right">304</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/in.m3u</code></td></tr>
<tr><td>🇮🇩 Indonesia</td><td align="right">143</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/id.m3u</code></td></tr>
<tr><td>🇭🇹 Haiti</td><td align="right">53</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ht.m3u</code></td></tr>
<tr><td>🇭🇳 Honduras</td><td align="right">148</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/hn.m3u</code></td></tr>
<tr><td>🇭🇰 Hong Kong</td><td align="right">12</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/hk.m3u</code></td></tr>
<tr><td>🇭🇺 Hungary</td><td align="right">141</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/hu.m3u</code></td></tr>
<tr><td>🇮🇸 Iceland</td><td align="right">36</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/is.m3u</code></td></tr>
<tr><td>🇮🇳 India</td><td align="right">313</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/in.m3u</code></td></tr>
<tr><td>🇮🇩 Indonesia</td><td align="right">148</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/id.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Aceh</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/id-ac.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bali</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/id-ba.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Banten</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/id-bt.m3u</code></td></tr>
@ -556,15 +570,15 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sumatera Barat</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/id-sb.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sumatera Selatan</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/id-ss.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Yogyakarta</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/id-yo.m3u</code></td></tr>
<tr><td>🇮🇷 Iran</td><td align="right">124</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ir.m3u</code></td></tr>
<tr><td>🇮🇶 Iraq</td><td align="right">109</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/iq.m3u</code></td></tr>
<tr><td>🇮🇪 Ireland</td><td align="right">56</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ie.m3u</code></td></tr>
<tr><td>🇮🇱 Israel</td><td align="right">22</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/il.m3u</code></td></tr>
<tr><td>🇮🇹 Italy</td><td align="right">325</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/it.m3u</code></td></tr>
<tr><td>🇮🇷 Iran</td><td align="right">126</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ir.m3u</code></td></tr>
<tr><td>🇮🇶 Iraq</td><td align="right">114</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/iq.m3u</code></td></tr>
<tr><td>🇮🇪 Ireland</td><td align="right">61</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ie.m3u</code></td></tr>
<tr><td>🇮🇱 Israel</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/il.m3u</code></td></tr>
<tr><td>🇮🇹 Italy</td><td align="right">376</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/it.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Trentino-Alto Adige</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/it-32.m3u</code></td></tr>
<tr><td>🇨🇮 Ivory Coast</td><td align="right">52</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ci.m3u</code></td></tr>
<tr><td>🇯🇲 Jamaica</td><td align="right">19</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/jm.m3u</code></td></tr>
<tr><td>🇯🇵 Japan</td><td align="right">67</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/jp.m3u</code></td></tr>
<tr><td>🇨🇮 Ivory Coast</td><td align="right">55</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ci.m3u</code></td></tr>
<tr><td>🇯🇲 Jamaica</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/jm.m3u</code></td></tr>
<tr><td>🇯🇵 Japan</td><td align="right">70</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/jp.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Chiba</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/jp-12.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gunma</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/jp-10.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ibaraki</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/jp-08.m3u</code></td></tr>
@ -573,35 +587,35 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Saitama</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/jp-11.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tochigi</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/jp-09.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tokyo</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/jp-13.m3u</code></td></tr>
<tr><td>🇯🇴 Jordan</td><td align="right">68</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/jo.m3u</code></td></tr>
<tr><td>🇰🇿 Kazakhstan</td><td align="right">67</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kz.m3u</code></td></tr>
<tr><td>🇰🇪 Kenya</td><td align="right">63</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ke.m3u</code></td></tr>
<tr><td>🇰🇮 Kiribati</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ki.m3u</code></td></tr>
<tr><td>🇯🇴 Jordan</td><td align="right">72</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/jo.m3u</code></td></tr>
<tr><td>🇰🇿 Kazakhstan</td><td align="right">71</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kz.m3u</code></td></tr>
<tr><td>🇰🇪 Kenya</td><td align="right">65</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ke.m3u</code></td></tr>
<tr><td>🇰🇮 Kiribati</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ki.m3u</code></td></tr>
<tr><td>🇽🇰 Kosovo</td><td align="right">18</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/xk.m3u</code></td></tr>
<tr><td>🇰🇼 Kuwait</td><td align="right">53</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kw.m3u</code></td></tr>
<tr><td>🇰🇬 Kyrgyzstan</td><td align="right">20</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kg.m3u</code></td></tr>
<tr><td>🇱🇦 Laos</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/la.m3u</code></td></tr>
<tr><td>🇱🇻 Latvia</td><td align="right">51</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lv.m3u</code></td></tr>
<tr><td>🇱🇧 Lebanon</td><td align="right">69</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lb.m3u</code></td></tr>
<tr><td>🇱🇸 Lesotho</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ls.m3u</code></td></tr>
<tr><td>🇱🇷 Liberia</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lr.m3u</code></td></tr>
<tr><td>🇱🇾 Libya</td><td align="right">70</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ly.m3u</code></td></tr>
<tr><td>🇱🇮 Liechtenstein</td><td align="right">30</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/li.m3u</code></td></tr>
<tr><td>🇱🇹 Lithuania</td><td align="right">47</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lt.m3u</code></td></tr>
<tr><td>🇱🇺 Luxembourg</td><td align="right">56</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lu.m3u</code></td></tr>
<tr><td>🇰🇼 Kuwait</td><td align="right">57</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kw.m3u</code></td></tr>
<tr><td>🇰🇬 Kyrgyzstan</td><td align="right">21</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kg.m3u</code></td></tr>
<tr><td>🇱🇦 Laos</td><td align="right">29</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/la.m3u</code></td></tr>
<tr><td>🇱🇻 Latvia</td><td align="right">55</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lv.m3u</code></td></tr>
<tr><td>🇱🇧 Lebanon</td><td align="right">73</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lb.m3u</code></td></tr>
<tr><td>🇱🇸 Lesotho</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ls.m3u</code></td></tr>
<tr><td>🇱🇷 Liberia</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lr.m3u</code></td></tr>
<tr><td>🇱🇾 Libya</td><td align="right">75</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ly.m3u</code></td></tr>
<tr><td>🇱🇮 Liechtenstein</td><td align="right">34</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/li.m3u</code></td></tr>
<tr><td>🇱🇹 Lithuania</td><td align="right">51</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lt.m3u</code></td></tr>
<tr><td>🇱🇺 Luxembourg</td><td align="right">60</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lu.m3u</code></td></tr>
<tr><td>🇲🇴 Macao</td><td align="right">7</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mo.m3u</code></td></tr>
<tr><td>🇲🇬 Madagascar</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mg.m3u</code></td></tr>
<tr><td>🇲🇼 Malawi</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mw.m3u</code></td></tr>
<tr><td>🇲🇾 Malaysia</td><td align="right">34</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/my.m3u</code></td></tr>
<tr><td>🇲🇻 Maldives</td><td align="right">15</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mv.m3u</code></td></tr>
<tr><td>🇲🇱 Mali</td><td align="right">29</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ml.m3u</code></td></tr>
<tr><td>🇲🇹 Malta</td><td align="right">45</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mt.m3u</code></td></tr>
<tr><td>🇲🇭 Marshall Islands</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mh.m3u</code></td></tr>
<tr><td>🇲🇶 Martinique</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mq.m3u</code></td></tr>
<tr><td>🇲🇷 Mauritania</td><td align="right">62</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mr.m3u</code></td></tr>
<tr><td>🇲🇺 Mauritius</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mu.m3u</code></td></tr>
<tr><td>🇾🇹 Mayotte</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/yt.m3u</code></td></tr>
<tr><td>🇲🇽 Mexico</td><td align="right">254</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mx.m3u</code></td></tr>
<tr><td>🇲🇬 Madagascar</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mg.m3u</code></td></tr>
<tr><td>🇲🇼 Malawi</td><td align="right">28</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mw.m3u</code></td></tr>
<tr><td>🇲🇾 Malaysia</td><td align="right">39</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/my.m3u</code></td></tr>
<tr><td>🇲🇻 Maldives</td><td align="right">18</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mv.m3u</code></td></tr>
<tr><td>🇲🇱 Mali</td><td align="right">30</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ml.m3u</code></td></tr>
<tr><td>🇲🇹 Malta</td><td align="right">49</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mt.m3u</code></td></tr>
<tr><td>🇲🇭 Marshall Islands</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mh.m3u</code></td></tr>
<tr><td>🇲🇶 Martinique</td><td align="right">33</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mq.m3u</code></td></tr>
<tr><td>🇲🇷 Mauritania</td><td align="right">67</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mr.m3u</code></td></tr>
<tr><td>🇲🇺 Mauritius</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mu.m3u</code></td></tr>
<tr><td>🇾🇹 Mayotte</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/yt.m3u</code></td></tr>
<tr><td>🇲🇽 Mexico</td><td align="right">261</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mx.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Chihuahua</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/mx-chh.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Coahuila de Zaragoza</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/mx-coa.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Durango</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/mx-dur.m3u</code></td></tr>
@ -612,45 +626,45 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Quintana Roo</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/mx-roo.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;San Luis Potosi</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/mx-slp.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Yucatan</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/mx-yuc.m3u</code></td></tr>
<tr><td>🇫🇲 Micronesia</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/fm.m3u</code></td></tr>
<tr><td>🇲🇩 Moldova</td><td align="right">62</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/md.m3u</code></td></tr>
<tr><td>🇲🇨 Monaco</td><td align="right">32</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mc.m3u</code></td></tr>
<tr><td>🇲🇳 Mongolia</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mn.m3u</code></td></tr>
<tr><td>🇲🇪 Montenegro</td><td align="right">35</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/me.m3u</code></td></tr>
<tr><td>🇫🇲 Micronesia</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/fm.m3u</code></td></tr>
<tr><td>🇲🇩 Moldova</td><td align="right">66</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/md.m3u</code></td></tr>
<tr><td>🇲🇨 Monaco</td><td align="right">36</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mc.m3u</code></td></tr>
<tr><td>🇲🇳 Mongolia</td><td align="right">27</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mn.m3u</code></td></tr>
<tr><td>🇲🇪 Montenegro</td><td align="right">39</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/me.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ulcinj</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/me-20.m3u</code></td></tr>
<tr><td>🇲🇸 Montserrat</td><td align="right">12</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ms.m3u</code></td></tr>
<tr><td>🇲🇦 Morocco</td><td align="right">75</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ma.m3u</code></td></tr>
<tr><td>🇲🇿 Mozambique</td><td align="right">27</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mz.m3u</code></td></tr>
<tr><td>🇲🇲 Myanmar</td><td align="right">21</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mm.m3u</code></td></tr>
<tr><td>🇳🇦 Namibia</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/na.m3u</code></td></tr>
<tr><td>🇳🇷 Nauru</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/nr.m3u</code></td></tr>
<tr><td>🇳🇵 Nepal</td><td align="right">17</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/np.m3u</code></td></tr>
<tr><td>🇳🇱 Netherlands</td><td align="right">195</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/nl.m3u</code></td></tr>
<tr><td>🇳🇨 New Caledonia</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/nc.m3u</code></td></tr>
<tr><td>🇳🇿 New Zealand</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/nz.m3u</code></td></tr>
<tr><td>🇳🇮 Nicaragua</td><td align="right">82</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ni.m3u</code></td></tr>
<tr><td>🇳🇪 Niger</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ne.m3u</code></td></tr>
<tr><td>🇳🇬 Nigeria</td><td align="right">82</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ng.m3u</code></td></tr>
<tr><td>🇳🇺 Niue</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/nu.m3u</code></td></tr>
<tr><td>🇳🇫 Norfolk Island</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/nf.m3u</code></td></tr>
<tr><td>🇰🇵 North Korea</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kp.m3u</code></td></tr>
<tr><td>🇲🇰 North Macedonia</td><td align="right">64</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mk.m3u</code></td></tr>
<tr><td>🇲🇵 Northern Mariana Islands</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mp.m3u</code></td></tr>
<tr><td>🇳🇴 Norway</td><td align="right">37</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/no.m3u</code></td></tr>
<tr><td>🇴🇲 Oman</td><td align="right">47</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/om.m3u</code></td></tr>
<tr><td>🇵🇰 Pakistan</td><td align="right">39</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pk.m3u</code></td></tr>
<tr><td>🇵🇼 Palau</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pw.m3u</code></td></tr>
<tr><td>🇵🇸 Palestine</td><td align="right">63</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ps.m3u</code></td></tr>
<tr><td>🇵🇦 Panama</td><td align="right">84</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pa.m3u</code></td></tr>
<tr><td>🇵🇬 Papua New Guinea</td><td align="right">6</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pg.m3u</code></td></tr>
<tr><td>🇵🇾 Paraguay</td><td align="right">124</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/py.m3u</code></td></tr>
<tr><td>🇲🇸 Montserrat</td><td align="right">17</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ms.m3u</code></td></tr>
<tr><td>🇲🇦 Morocco</td><td align="right">78</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ma.m3u</code></td></tr>
<tr><td>🇲🇿 Mozambique</td><td align="right">29</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mz.m3u</code></td></tr>
<tr><td>🇲🇲 Myanmar</td><td align="right">27</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mm.m3u</code></td></tr>
<tr><td>🇳🇦 Namibia</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/na.m3u</code></td></tr>
<tr><td>🇳🇷 Nauru</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/nr.m3u</code></td></tr>
<tr><td>🇳🇵 Nepal</td><td align="right">20</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/np.m3u</code></td></tr>
<tr><td>🇳🇱 Netherlands</td><td align="right">199</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/nl.m3u</code></td></tr>
<tr><td>🇳🇨 New Caledonia</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/nc.m3u</code></td></tr>
<tr><td>🇳🇿 New Zealand</td><td align="right">29</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/nz.m3u</code></td></tr>
<tr><td>🇳🇮 Nicaragua</td><td align="right">91</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ni.m3u</code></td></tr>
<tr><td>🇳🇪 Niger</td><td align="right">27</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ne.m3u</code></td></tr>
<tr><td>🇳🇬 Nigeria</td><td align="right">85</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ng.m3u</code></td></tr>
<tr><td>🇳🇺 Niue</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/nu.m3u</code></td></tr>
<tr><td>🇳🇫 Norfolk Island</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/nf.m3u</code></td></tr>
<tr><td>🇰🇵 North Korea</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kp.m3u</code></td></tr>
<tr><td>🇲🇰 North Macedonia</td><td align="right">68</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mk.m3u</code></td></tr>
<tr><td>🇲🇵 Northern Mariana Islands</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mp.m3u</code></td></tr>
<tr><td>🇳🇴 Norway</td><td align="right">42</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/no.m3u</code></td></tr>
<tr><td>🇴🇲 Oman</td><td align="right">51</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/om.m3u</code></td></tr>
<tr><td>🇵🇰 Pakistan</td><td align="right">42</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pk.m3u</code></td></tr>
<tr><td>🇵🇼 Palau</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pw.m3u</code></td></tr>
<tr><td>🇵🇸 Palestine</td><td align="right">67</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ps.m3u</code></td></tr>
<tr><td>🇵🇦 Panama</td><td align="right">93</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pa.m3u</code></td></tr>
<tr><td>🇵🇬 Papua New Guinea</td><td align="right">9</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pg.m3u</code></td></tr>
<tr><td>🇵🇾 Paraguay</td><td align="right">129</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/py.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alto Parana</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/py-10.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Boqueron</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/py-19.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Caaguazu</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/py-5.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Central</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/py-11.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Itapua</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/py-7.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Presidente Hayes</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/py-15.m3u</code></td></tr>
<tr><td>🇵🇪 Peru</td><td align="right">208</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pe.m3u</code></td></tr>
<tr><td>🇵🇪 Peru</td><td align="right">216</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pe.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Amazonas</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/pe-ama.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ancash</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/pe-anc.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apurimac</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/pe-apu.m3u</code></td></tr>
@ -665,43 +679,43 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Puno</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/pe-pun.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;San Martin</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/pe-sam.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ucayali</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/pe-uca.m3u</code></td></tr>
<tr><td>🇵🇭 Philippines</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ph.m3u</code></td></tr>
<tr><td>🇵🇳 Pitcairn Islands</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pn.m3u</code></td></tr>
<tr><td>🇵🇱 Poland</td><td align="right">192</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pl.m3u</code></td></tr>
<tr><td>🇵🇹 Portugal</td><td align="right">83</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pt.m3u</code></td></tr>
<tr><td>🇵🇷 Puerto Rico</td><td align="right">100</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pr.m3u</code></td></tr>
<tr><td>🇶🇦 Qatar</td><td align="right">54</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/qa.m3u</code></td></tr>
<tr><td>🇨🇬 Republic of the Congo</td><td align="right">33</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cg.m3u</code></td></tr>
<tr><td>🇵🇭 Philippines</td><td align="right">31</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ph.m3u</code></td></tr>
<tr><td>🇵🇳 Pitcairn Islands</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pn.m3u</code></td></tr>
<tr><td>🇵🇱 Poland</td><td align="right">99</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pl.m3u</code></td></tr>
<tr><td>🇵🇹 Portugal</td><td align="right">89</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pt.m3u</code></td></tr>
<tr><td>🇵🇷 Puerto Rico</td><td align="right">107</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pr.m3u</code></td></tr>
<tr><td>🇶🇦 Qatar</td><td align="right">58</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/qa.m3u</code></td></tr>
<tr><td>🇨🇬 Republic of the Congo</td><td align="right">35</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/cg.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Brazzaville</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/cg-bzv.m3u</code></td></tr>
<tr><td>🇷🇪 Reunion</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/re.m3u</code></td></tr>
<tr><td>🇷🇴 Romania</td><td align="right">142</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ro.m3u</code></td></tr>
<tr><td>🇷🇪 Reunion</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/re.m3u</code></td></tr>
<tr><td>🇷🇴 Romania</td><td align="right">146</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ro.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gorj</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ro-gj.m3u</code></td></tr>
<tr><td>🇷🇺 Russia</td><td align="right">209</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ru.m3u</code></td></tr>
<tr><td>🇷🇼 Rwanda</td><td align="right">31</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/rw.m3u</code></td></tr>
<tr><td>🇧🇱 Saint Barthélemy</td><td align="right">21</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bl.m3u</code></td></tr>
<tr><td>🇸🇭 Saint Helena</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sh.m3u</code></td></tr>
<tr><td>🇰🇳 Saint Kitts and Nevis</td><td align="right">13</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kn.m3u</code></td></tr>
<tr><td>🇱🇨 Saint Lucia</td><td align="right">13</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lc.m3u</code></td></tr>
<tr><td>🇲🇫 Saint Martin</td><td align="right">21</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mf.m3u</code></td></tr>
<tr><td>🇵🇲 Saint Pierre and Miquelon</td><td align="right">7</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pm.m3u</code></td></tr>
<tr><td>🇻🇨 Saint Vincent and the Grenadines</td><td align="right">12</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/vc.m3u</code></td></tr>
<tr><td>🇼🇸 Samoa</td><td align="right">7</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ws.m3u</code></td></tr>
<tr><td>🇸🇲 San Marino</td><td align="right">29</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sm.m3u</code></td></tr>
<tr><td>🇸🇹 Sao Tome and Principe</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/st.m3u</code></td></tr>
<tr><td>🇸🇦 Saudi Arabia</td><td align="right">90</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sa.m3u</code></td></tr>
<tr><td>🇸🇳 Senegal</td><td align="right">54</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sn.m3u</code></td></tr>
<tr><td>🇷🇸 Serbia</td><td align="right">69</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/rs.m3u</code></td></tr>
<tr><td>🇸🇨 Seychelles</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sc.m3u</code></td></tr>
<tr><td>🇸🇱 Sierra Leone</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sl.m3u</code></td></tr>
<tr><td>🇸🇬 Singapore</td><td align="right">22</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sg.m3u</code></td></tr>
<tr><td>🇸🇽 Sint Maarten</td><td align="right">18</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sx.m3u</code></td></tr>
<tr><td>🇸🇰 Slovakia</td><td align="right">91</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sk.m3u</code></td></tr>
<tr><td>🇸🇮 Slovenia</td><td align="right">55</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/si.m3u</code></td></tr>
<tr><td>🇸🇧 Solomon Islands</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sb.m3u</code></td></tr>
<tr><td>🇸🇴 Somalia</td><td align="right">69</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/so.m3u</code></td></tr>
<tr><td>🇿🇦 South Africa</td><td align="right">61</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/za.m3u</code></td></tr>
<tr><td>🇷🇺 Russia</td><td align="right">216</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ru.m3u</code></td></tr>
<tr><td>🇷🇼 Rwanda</td><td align="right">33</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/rw.m3u</code></td></tr>
<tr><td>🇧🇱 Saint Barthélemy</td><td align="right">29</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/bl.m3u</code></td></tr>
<tr><td>🇸🇭 Saint Helena</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sh.m3u</code></td></tr>
<tr><td>🇰🇳 Saint Kitts and Nevis</td><td align="right">18</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kn.m3u</code></td></tr>
<tr><td>🇱🇨 Saint Lucia</td><td align="right">18</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lc.m3u</code></td></tr>
<tr><td>🇲🇫 Saint Martin</td><td align="right">29</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/mf.m3u</code></td></tr>
<tr><td>🇵🇲 Saint Pierre and Miquelon</td><td align="right">9</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/pm.m3u</code></td></tr>
<tr><td>🇻🇨 Saint Vincent and the Grenadines</td><td align="right">17</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/vc.m3u</code></td></tr>
<tr><td>🇼🇸 Samoa</td><td align="right">10</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ws.m3u</code></td></tr>
<tr><td>🇸🇲 San Marino</td><td align="right">33</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sm.m3u</code></td></tr>
<tr><td>🇸🇹 Sao Tome and Principe</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/st.m3u</code></td></tr>
<tr><td>🇸🇦 Saudi Arabia</td><td align="right">94</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sa.m3u</code></td></tr>
<tr><td>🇸🇳 Senegal</td><td align="right">51</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sn.m3u</code></td></tr>
<tr><td>🇷🇸 Serbia</td><td align="right">73</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/rs.m3u</code></td></tr>
<tr><td>🇸🇨 Seychelles</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sc.m3u</code></td></tr>
<tr><td>🇸🇱 Sierra Leone</td><td align="right">27</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sl.m3u</code></td></tr>
<tr><td>🇸🇬 Singapore</td><td align="right">27</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sg.m3u</code></td></tr>
<tr><td>🇸🇽 Sint Maarten</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sx.m3u</code></td></tr>
<tr><td>🇸🇰 Slovakia</td><td align="right">95</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sk.m3u</code></td></tr>
<tr><td>🇸🇮 Slovenia</td><td align="right">60</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/si.m3u</code></td></tr>
<tr><td>🇸🇧 Solomon Islands</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sb.m3u</code></td></tr>
<tr><td>🇸🇴 Somalia</td><td align="right">74</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/so.m3u</code></td></tr>
<tr><td>🇿🇦 South Africa</td><td align="right">65</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/za.m3u</code></td></tr>
<tr><td>🇬🇸 South Georgia and the South Sandwich Islands</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/gs.m3u</code></td></tr>
<tr><td>🇰🇷 South Korea</td><td align="right">93</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kr.m3u</code></td></tr>
<tr><td>🇰🇷 South Korea</td><td align="right">96</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/kr.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Busan-gwangyeoksi</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/kr-26.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Chungcheongbuk-do</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/kr-43.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Daegu-gwangyeoksi</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/kr-27.m3u</code></td></tr>
@ -715,8 +729,8 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jeollanam-do</td><td align="right">4</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/kr-46.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Seoul-teukbyeolsi</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/kr-11.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ulsan-gwangyeoksi</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/kr-31.m3u</code></td></tr>
<tr><td>🇸🇸 South Sudan</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ss.m3u</code></td></tr>
<tr><td>🇪🇸 Spain</td><td align="right">340</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/es.m3u</code></td></tr>
<tr><td>🇸🇸 South Sudan</td><td align="right">25</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ss.m3u</code></td></tr>
<tr><td>🇪🇸 Spain</td><td align="right">360</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/es.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Andalucia</td><td align="right">38</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/es-an.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Aragon</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/es-ar.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Asturias, Principado de</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/es-as.m3u</code></td></tr>
@ -734,32 +748,32 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Navarra, Comunidad Foral de</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/es-nc.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pais Vasco</td><td align="right">6</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/es-pv.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Valenciana, Comunidad</td><td align="right">16</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/es-vc.m3u</code></td></tr>
<tr><td>🇱🇰 Sri Lanka</td><td align="right">13</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lk.m3u</code></td></tr>
<tr><td>🇸🇩 Sudan</td><td align="right">66</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sd.m3u</code></td></tr>
<tr><td>🇱🇰 Sri Lanka</td><td align="right">16</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/lk.m3u</code></td></tr>
<tr><td>🇸🇩 Sudan</td><td align="right">71</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sd.m3u</code></td></tr>
<tr><td>🇸🇷 Suriname</td><td align="right">10</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sr.m3u</code></td></tr>
<tr><td>🇸🇿 Swaziland</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sz.m3u</code></td></tr>
<tr><td>🇸🇪 Sweden</td><td align="right">57</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/se.m3u</code></td></tr>
<tr><td>🇨🇭 Switzerland</td><td align="right">75</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ch.m3u</code></td></tr>
<tr><td>🇸🇾 Syria</td><td align="right">46</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sy.m3u</code></td></tr>
<tr><td>🇹🇼 Taiwan</td><td align="right">29</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tw.m3u</code></td></tr>
<tr><td>🇸🇿 Swaziland</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sz.m3u</code></td></tr>
<tr><td>🇸🇪 Sweden</td><td align="right">60</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/se.m3u</code></td></tr>
<tr><td>🇨🇭 Switzerland</td><td align="right">86</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ch.m3u</code></td></tr>
<tr><td>🇸🇾 Syria</td><td align="right">50</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/sy.m3u</code></td></tr>
<tr><td>🇹🇼 Taiwan</td><td align="right">33</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tw.m3u</code></td></tr>
<tr><td>🇹🇯 Tajikistan</td><td align="right">28</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tj.m3u</code></td></tr>
<tr><td>🇹🇿 Tanzania</td><td align="right">31</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tz.m3u</code></td></tr>
<tr><td>🇹🇭 Thailand</td><td align="right">75</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/th.m3u</code></td></tr>
<tr><td>🇹🇬 Togo</td><td align="right">36</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tg.m3u</code></td></tr>
<tr><td>🇹🇰 Tokelau</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tk.m3u</code></td></tr>
<tr><td>🇹🇴 Tonga</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/to.m3u</code></td></tr>
<tr><td>🇹🇹 Trinidad and Tobago</td><td align="right">18</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tt.m3u</code></td></tr>
<tr><td>🇹🇳 Tunisia</td><td align="right">66</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tn.m3u</code></td></tr>
<tr><td>🇹🇷 Turkey</td><td align="right">281</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tr.m3u</code></td></tr>
<tr><td>🇹🇿 Tanzania</td><td align="right">33</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tz.m3u</code></td></tr>
<tr><td>🇹🇭 Thailand</td><td align="right">81</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/th.m3u</code></td></tr>
<tr><td>🇹🇬 Togo</td><td align="right">37</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tg.m3u</code></td></tr>
<tr><td>🇹🇰 Tokelau</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tk.m3u</code></td></tr>
<tr><td>🇹🇴 Tonga</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/to.m3u</code></td></tr>
<tr><td>🇹🇹 Trinidad and Tobago</td><td align="right">23</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tt.m3u</code></td></tr>
<tr><td>🇹🇳 Tunisia</td><td align="right">71</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tn.m3u</code></td></tr>
<tr><td>🇹🇷 Turkey</td><td align="right">285</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tr.m3u</code></td></tr>
<tr><td>🇹🇲 Turkmenistan</td><td align="right">16</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tm.m3u</code></td></tr>
<tr><td>🇹🇨 Turks and Caicos Islands</td><td align="right">12</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tc.m3u</code></td></tr>
<tr><td>🇹🇻 Tuvalu</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tv.m3u</code></td></tr>
<tr><td>🇻🇮 U.S. Virgin Islands</td><td align="right">12</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/vi.m3u</code></td></tr>
<tr><td>🇺🇬 Uganda</td><td align="right">51</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ug.m3u</code></td></tr>
<tr><td>🇺🇦 Ukraine</td><td align="right">91</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ua.m3u</code></td></tr>
<tr><td>🇦🇪 United Arab Emirates</td><td align="right">88</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ae.m3u</code></td></tr>
<tr><td>🇬🇧 United Kingdom</td><td align="right">174</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/uk.m3u</code></td></tr>
<tr><td>🇺🇸 United States</td><td align="right">1422</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/us.m3u</code></td></tr>
<tr><td>🇹🇨 Turks and Caicos Islands</td><td align="right">17</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tc.m3u</code></td></tr>
<tr><td>🇹🇻 Tuvalu</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/tv.m3u</code></td></tr>
<tr><td>🇻🇮 U.S. Virgin Islands</td><td align="right">17</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/vi.m3u</code></td></tr>
<tr><td>🇺🇬 Uganda</td><td align="right">53</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ug.m3u</code></td></tr>
<tr><td>🇺🇦 Ukraine</td><td align="right">95</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ua.m3u</code></td></tr>
<tr><td>🇦🇪 United Arab Emirates</td><td align="right">92</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ae.m3u</code></td></tr>
<tr><td>🇬🇧 United Kingdom</td><td align="right">216</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/uk.m3u</code></td></tr>
<tr><td>🇺🇸 United States</td><td align="right">1475</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/us.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alabama</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-al.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alaska</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-ak.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Arizona</td><td align="right">13</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-az.m3u</code></td></tr>
@ -769,7 +783,7 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connecticut</td><td align="right">21</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-ct.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delaware</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-de.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;District of Columbia</td><td align="right">6</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-dc.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Florida</td><td align="right">48</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-fl.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Florida</td><td align="right">49</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-fl.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Georgia</td><td align="right">11</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-ga.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hawaii</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-hi.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Idaho</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-id.m3u</code></td></tr>
@ -804,23 +818,23 @@ Same thing, but split up into separate files:
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tennessee</td><td align="right">7</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-tn.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Texas</td><td align="right">27</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-tx.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Utah</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-ut.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Virginia</td><td align="right">3</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-va.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Virginia</td><td align="right">4</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-va.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Washington</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-wa.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wisconsin</td><td align="right">4</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/us-wi.m3u</code></td></tr>
<tr><td>🇺🇾 Uruguay</td><td align="right">75</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/uy.m3u</code></td></tr>
<tr><td>🇺🇾 Uruguay</td><td align="right">81</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/uy.m3u</code></td></tr>
<tr><td>🇺🇿 Uzbekistan</td><td align="right">28</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/uz.m3u</code></td></tr>
<tr><td>🇻🇺 Vanuatu</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/vu.m3u</code></td></tr>
<tr><td>🇻🇦 Vatican City</td><td align="right">28</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/va.m3u</code></td></tr>
<tr><td>🇻🇪 Venezuela</td><td align="right">116</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ve.m3u</code></td></tr>
<tr><td>🇻🇺 Vanuatu</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/vu.m3u</code></td></tr>
<tr><td>🇻🇦 Vatican City</td><td align="right">32</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/va.m3u</code></td></tr>
<tr><td>🇻🇪 Venezuela</td><td align="right">121</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ve.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Aragua</td><td align="right">2</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ve-d.m3u</code></td></tr>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lara</td><td align="right">1</td><td nowrap><code>https://iptv-org.github.io/iptv/subdivisions/ve-k.m3u</code></td></tr>
<tr><td>🇻🇳 Vietnam</td><td align="right">71</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/vn.m3u</code></td></tr>
<tr><td>🇼🇫 Wallis and Futuna</td><td align="right">5</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/wf.m3u</code></td></tr>
<tr><td>🇪🇭 Western Sahara</td><td align="right">28</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/eh.m3u</code></td></tr>
<tr><td>🇾🇪 Yemen</td><td align="right">46</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ye.m3u</code></td></tr>
<tr><td>🇿🇲 Zambia</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/zm.m3u</code></td></tr>
<tr><td>🇿🇼 Zimbabwe</td><td align="right">24</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/zw.m3u</code></td></tr>
<tr><td>Undefined</td><td align="right">2878</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/undefined.m3u</code></td></tr>
<tr><td>🇻🇳 Vietnam</td><td align="right">76</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/vn.m3u</code></td></tr>
<tr><td>🇼🇫 Wallis and Futuna</td><td align="right">8</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/wf.m3u</code></td></tr>
<tr><td>🇪🇭 Western Sahara</td><td align="right">30</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/eh.m3u</code></td></tr>
<tr><td>🇾🇪 Yemen</td><td align="right">50</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/ye.m3u</code></td></tr>
<tr><td>🇿🇲 Zambia</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/zm.m3u</code></td></tr>
<tr><td>🇿🇼 Zimbabwe</td><td align="right">26</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/zw.m3u</code></td></tr>
<tr><td>Undefined</td><td align="right">2283</td><td nowrap><code>https://iptv-org.github.io/iptv/countries/undefined.m3u</code></td></tr>
</tbody>
</table>
@ -828,12 +842,12 @@ Same thing, but split up into separate files:
### Grouped by region
Playlists in which channels are grouped by the region for which they are broadcasted.
<details>
<summary>Expand</summary>
<br>
Playlists in which channels are grouped by the region for which they are broadcasted.
```
https://iptv-org.github.io/iptv/index.region.m3u
```
@ -846,42 +860,42 @@ Same thing, but split up into separate files:
<tr><th align="left">Region</th><th align="left">Channels</th><th align="left">Playlist</th></tr>
</thead>
<tbody>
<tr><td align="left">Africa</td><td align="right">546</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/afr.m3u</code></td></tr>
<tr><td align="left">Americas</td><td align="right">3603</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/amer.m3u</code></td></tr>
<tr><td align="left">Arab world</td><td align="right">403</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/arab.m3u</code></td></tr>
<tr><td align="left">Asia</td><td align="right">2143</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/asia.m3u</code></td></tr>
<tr><td align="left">Asia-Pacific</td><td align="right">1133</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/apac.m3u</code></td></tr>
<tr><td align="left">Association of Southeast Asian Nations</td><td align="right">347</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/asean.m3u</code></td></tr>
<tr><td align="left">Balkan</td><td align="right">690</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/balkan.m3u</code></td></tr>
<tr><td align="left">Benelux</td><td align="right">240</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/benelux.m3u</code></td></tr>
<tr><td align="left">Caribbean</td><td align="right">367</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/carib.m3u</code></td></tr>
<tr><td align="left">Central America</td><td align="right">373</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/cenamer.m3u</code></td></tr>
<tr><td align="left">Central and Eastern Europe</td><td align="right">987</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/cee.m3u</code></td></tr>
<tr><td align="left">Central Asia</td><td align="right">109</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/cas.m3u</code></td></tr>
<tr><td align="left">Commonwealth of Independent States</td><td align="right">354</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/cis.m3u</code></td></tr>
<tr><td align="left">Europe</td><td align="right">2853</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/eur.m3u</code></td></tr>
<tr><td align="left">Europe, the Middle East and Africa</td><td align="right">3766</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/emea.m3u</code></td></tr>
<tr><td align="left">European Union</td><td align="right">1950</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/eu.m3u</code></td></tr>
<tr><td align="left">Hispanic America</td><td align="right">1682</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/hispam.m3u</code></td></tr>
<tr><td align="left">Latin America</td><td align="right">1999</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/latam.m3u</code></td></tr>
<tr><td align="left">Latin America and the Caribbean</td><td align="right">2043</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/lac.m3u</code></td></tr>
<tr><td align="left">Maghreb</td><td align="right">90</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/maghreb.m3u</code></td></tr>
<tr><td align="left">Middle East</td><td align="right">809</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/mideast.m3u</code></td></tr>
<tr><td align="left">Middle East and North Africa</td><td align="right">838</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/mena.m3u</code></td></tr>
<tr><td align="left">Nordics</td><td align="right">111</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/nord.m3u</code></td></tr>
<tr><td align="left">North America</td><td align="right">2422</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/noram.m3u</code></td></tr>
<tr><td align="left">Northern America</td><td align="right">1582</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/nam.m3u</code></td></tr>
<tr><td align="left">Northern Europe</td><td align="right">147</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/neur.m3u</code></td></tr>
<tr><td align="left">Oceania</td><td align="right">55</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/oce.m3u</code></td></tr>
<tr><td align="left">South America</td><td align="right">1261</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/southam.m3u</code></td></tr>
<tr><td align="left">South Asia</td><td align="right">408</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/sas.m3u</code></td></tr>
<tr><td align="left">Southeast Asia</td><td align="right">347</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/sea.m3u</code></td></tr>
<tr><td align="left">Southern Europe</td><td align="right">1059</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/ser.m3u</code></td></tr>
<tr><td align="left">Sub-Saharan Africa</td><td align="right">491</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/ssa.m3u</code></td></tr>
<tr><td align="left">West Africa</td><td align="right">253</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/wafr.m3u</code></td></tr>
<tr><td align="left">Western Europe</td><td align="right">783</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/wer.m3u</code></td></tr>
<tr><td align="left">Worldwide</td><td align="right">57</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/int.m3u</code></td></tr>
<tr><td align="left">Undefined</td><td align="right">2878</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/undefined.m3u</code></td></tr>
<tr><td align="left">Africa</td><td align="right">548</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/afr.m3u</code></td></tr>
<tr><td align="left">Americas</td><td align="right">3666</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/amer.m3u</code></td></tr>
<tr><td align="left">Arab world</td><td align="right">407</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/arab.m3u</code></td></tr>
<tr><td align="left">Asia</td><td align="right">2196</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/asia.m3u</code></td></tr>
<tr><td align="left">Asia-Pacific</td><td align="right">1194</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/apac.m3u</code></td></tr>
<tr><td align="left">Association of Southeast Asian Nations</td><td align="right">354</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/asean.m3u</code></td></tr>
<tr><td align="left">Balkan</td><td align="right">699</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/balkan.m3u</code></td></tr>
<tr><td align="left">Benelux</td><td align="right">244</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/benelux.m3u</code></td></tr>
<tr><td align="left">Caribbean</td><td align="right">382</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/carib.m3u</code></td></tr>
<tr><td align="left">Central America</td><td align="right">382</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/cenamer.m3u</code></td></tr>
<tr><td align="left">Central and Eastern Europe</td><td align="right">901</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/cee.m3u</code></td></tr>
<tr><td align="left">Central Asia</td><td align="right">114</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/cas.m3u</code></td></tr>
<tr><td align="left">Commonwealth of Independent States</td><td align="right">365</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/cis.m3u</code></td></tr>
<tr><td align="left">Europe</td><td align="right">3012</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/eur.m3u</code></td></tr>
<tr><td align="left">Europe, the Middle East and Africa</td><td align="right">3928</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/emea.m3u</code></td></tr>
<tr><td align="left">European Union</td><td align="right">2065</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/eu.m3u</code></td></tr>
<tr><td align="left">Hispanic America</td><td align="right">1674</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/hispam.m3u</code></td></tr>
<tr><td align="left">Latin America</td><td align="right">2000</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/latam.m3u</code></td></tr>
<tr><td align="left">Latin America and the Caribbean</td><td align="right">2046</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/lac.m3u</code></td></tr>
<tr><td align="left">Maghreb</td><td align="right">93</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/maghreb.m3u</code></td></tr>
<tr><td align="left">Middle East</td><td align="right">820</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/mideast.m3u</code></td></tr>
<tr><td align="left">Middle East and North Africa</td><td align="right">847</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/mena.m3u</code></td></tr>
<tr><td align="left">Nordics</td><td align="right">116</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/nord.m3u</code></td></tr>
<tr><td align="left">North America</td><td align="right">2499</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/noram.m3u</code></td></tr>
<tr><td align="left">Northern America</td><td align="right">1644</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/nam.m3u</code></td></tr>
<tr><td align="left">Northern Europe</td><td align="right">152</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/neur.m3u</code></td></tr>
<tr><td align="left">Oceania</td><td align="right">82</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/oce.m3u</code></td></tr>
<tr><td align="left">South America</td><td align="right">1253</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/southam.m3u</code></td></tr>
<tr><td align="left">South Asia</td><td align="right">417</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/sas.m3u</code></td></tr>
<tr><td align="left">Southeast Asia</td><td align="right">354</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/sea.m3u</code></td></tr>
<tr><td align="left">Southern Europe</td><td align="right">1132</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/ser.m3u</code></td></tr>
<tr><td align="left">Sub-Saharan Africa</td><td align="right">495</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/ssa.m3u</code></td></tr>
<tr><td align="left">West Africa</td><td align="right">255</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/wafr.m3u</code></td></tr>
<tr><td align="left">Western Europe</td><td align="right">966</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/wer.m3u</code></td></tr>
<tr><td align="left">Worldwide</td><td align="right">63</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/int.m3u</code></td></tr>
<tr><td align="left">Undefined</td><td align="right">2283</td><td align="left" nowrap><code>https://iptv-org.github.io/iptv/regions/undefined.m3u</code></td></tr>
</tbody>
</table>

7068
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -13,6 +13,7 @@
"playlist:validate": "tsx scripts/commands/playlist/validate.ts",
"playlist:lint": "npx m3u-linter -c m3u-linter.json",
"playlist:test": "tsx scripts/commands/playlist/test.ts",
"playlist:edit": "tsx scripts/commands/playlist/edit.ts",
"playlist:deploy": "npx gh-pages-clean && npx gh-pages -m \"Deploy to GitHub Pages\" -d .gh-pages -r https://$GITHUB_TOKEN@github.com/iptv-org/iptv.git",
"readme:update": "tsx scripts/commands/readme/update.ts",
"report:create": "tsx scripts/commands/report/create.ts",
@ -26,7 +27,7 @@
},
"jest": {
"transform": {
"^.+\\.ts$": "ts-jest"
"^.+\\.ts$": "@swc/jest"
},
"testRegex": "tests/(.*?/)?.*test.ts$",
"setupFilesAfterEnv": [
@ -39,12 +40,16 @@
"dependencies": {
"@eslint/eslintrc": "^3.3.0",
"@eslint/js": "^9.21.0",
"@freearhey/core": "^0.7.0",
"@freearhey/core": "^0.8.2",
"@freearhey/search-js": "^0.1.2",
"@inquirer/prompts": "^7.4.1",
"@octokit/core": "^6.1.4",
"@octokit/plugin-paginate-rest": "^11.4.3",
"@octokit/plugin-rest-endpoint-methods": "^7.1.3",
"@octokit/types": "^11.1.0",
"@swc/jest": "^0.2.38",
"@types/cli-progress": "^3.11.3",
"@types/fs-extra": "^11.0.4",
"@types/jest": "^29.5.14",
"@types/lodash": "^4.14.198",
"@types/numeral": "^2.0.3",
@ -58,17 +63,23 @@
"commander": "^8.3.0",
"console-table-printer": "^2.12.1",
"eslint": "^9.17.0",
"glob": "^11.0.2",
"globals": "^16.0.0",
"iptv-checker": "^0.29.1",
"iptv-playlist-parser": "^0.13.0",
"jest": "^29.7.0",
"jest-expect-message": "^1.1.3",
"lodash": "^4.17.21",
"m3u-linter": "^0.4.2",
"markdown-include": "^0.4.3",
"node-cleanup": "^2.1.2",
"numeral": "^2.0.6",
"transliteration": "^2.3.5",
"ts-jest": "^29.2.5",
"tsx": "^4.6.2",
"valid-url": "^1.0.9"
},
"overrides": {
"jest": {
"glob": "11.0.2"
}
}
}

View file

@ -1,30 +1,25 @@
import { Logger, Storage, Collection } from '@freearhey/core'
import { DataLoader, DataProcessor, PlaylistParser } from '../../core'
import type { DataProcessorData } from '../../types/dataProcessor'
import { API_DIR, STREAMS_DIR, DATA_DIR } from '../../constants'
import { PlaylistParser } from '../../core'
import { Stream, Channel, Feed } from '../../models'
import { uniqueId } from 'lodash'
import type { DataLoaderData } from '../../types/dataLoader'
import { Logger, Storage } from '@freearhey/core'
import { Stream } from '../../models'
async function main() {
const logger = new Logger()
logger.info('loading api data...')
logger.info('loading data from api...')
const processor = new DataProcessor()
const dataStorage = new Storage(DATA_DIR)
const channelsData = await dataStorage.json('channels.json')
const channels = new Collection(channelsData).map(data => new Channel(data))
const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id)
const feedsData = await dataStorage.json('feeds.json')
const feeds = new Collection(feedsData).map(data =>
new Feed(data).withChannel(channelsGroupedById)
)
const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) =>
feed.channel ? feed.channel.id : uniqueId()
)
const dataLoader = new DataLoader({ storage: dataStorage })
const data: DataLoaderData = await dataLoader.load()
const { channelsKeyById, feedsGroupedByChannelId }: DataProcessorData = processor.process(data)
logger.info('loading streams...')
const streamsStorage = new Storage(STREAMS_DIR)
const parser = new PlaylistParser({
storage: streamsStorage,
channelsGroupedById,
channelsKeyById,
feedsGroupedByChannelId
})
const files = await streamsStorage.list('**/*.m3u')

View file

@ -1,23 +1,24 @@
import { Logger } from '@freearhey/core'
import { ApiClient } from '../../core'
import { DATA_DIR } from '../../constants'
import { Storage } from '@freearhey/core'
import { DataLoader } from '../../core'
async function main() {
const logger = new Logger()
const client = new ApiClient({ logger })
const storage = new Storage(DATA_DIR)
const loader = new DataLoader({ storage })
const requests = [
client.download('blocklist.json'),
client.download('categories.json'),
client.download('channels.json'),
client.download('countries.json'),
client.download('languages.json'),
client.download('regions.json'),
client.download('subdivisions.json'),
client.download('feeds.json'),
client.download('timezones.json')
]
await Promise.all(requests)
await Promise.all([
loader.download('blocklist.json'),
loader.download('categories.json'),
loader.download('channels.json'),
loader.download('countries.json'),
loader.download('languages.json'),
loader.download('regions.json'),
loader.download('subdivisions.json'),
loader.download('feeds.json'),
loader.download('timezones.json'),
loader.download('guides.json'),
loader.download('streams.json')
])
}
main()

View file

@ -0,0 +1,208 @@
import { Storage, Collection, Logger, Dictionary } from '@freearhey/core'
import { DataLoader, DataProcessor, PlaylistParser } from '../../core'
import type { ChannelSearchableData } from '../../types/channel'
import { Channel, Feed, Playlist, Stream } from '../../models'
import { DataProcessorData } from '../../types/dataProcessor'
import { DataLoaderData } from '../../types/dataLoader'
import { select, input } from '@inquirer/prompts'
import { DATA_DIR } from '../../constants'
import nodeCleanup from 'node-cleanup'
import sjs from '@freearhey/search-js'
import { Command } from 'commander'
import readline from 'readline'
type ChoiceValue = { type: string; value?: Feed | Channel }
type Choice = { name: string; short?: string; value: ChoiceValue; default?: boolean }
if (process.platform === 'win32') {
readline
.createInterface({
input: process.stdin,
output: process.stdout
})
.on('SIGINT', function () {
process.emit('SIGINT')
})
}
const program = new Command()
program.argument('<filepath>', 'Path to *.channels.xml file to edit').parse(process.argv)
const filepath = program.args[0]
const logger = new Logger()
const storage = new Storage()
let parsedStreams = new Collection()
main(filepath)
nodeCleanup(() => {
save(filepath)
})
export default async function main(filepath: string) {
if (!(await storage.exists(filepath))) {
throw new Error(`File "${filepath}" does not exists`)
}
logger.info('loading data from api...')
const processor = new DataProcessor()
const dataStorage = new Storage(DATA_DIR)
const loader = new DataLoader({ storage: dataStorage })
const data: DataLoaderData = await loader.load()
const { channels, channelsKeyById, feedsGroupedByChannelId }: DataProcessorData =
processor.process(data)
logger.info('loading streams...')
const parser = new PlaylistParser({ storage, feedsGroupedByChannelId, channelsKeyById })
parsedStreams = await parser.parseFile(filepath)
const streamsWithoutId = parsedStreams.filter((stream: Stream) => !stream.id)
logger.info(
`found ${parsedStreams.count()} streams (including ${streamsWithoutId.count()} without ID)`
)
logger.info('creating search index...')
const items = channels.map((channel: Channel) => channel.getSearchable()).all()
const searchIndex = sjs.createIndex(items, {
searchable: ['name', 'altNames', 'guideNames', 'streamNames', 'feedFullNames']
})
logger.info('starting...\n')
for (const stream of streamsWithoutId.all()) {
try {
stream.id = await selectChannel(stream, searchIndex, feedsGroupedByChannelId, channelsKeyById)
} catch (err) {
logger.info(err.message)
break
}
}
streamsWithoutId.forEach((stream: Stream) => {
if (stream.id === '-') {
stream.id = ''
}
})
}
async function selectChannel(
stream: Stream,
searchIndex,
feedsGroupedByChannelId: Dictionary,
channelsKeyById: Dictionary
): Promise<string> {
const query = escapeRegex(stream.getName())
const similarChannels = searchIndex
.search(query)
.map((item: ChannelSearchableData) => channelsKeyById.get(item.id))
const url = stream.url.length > 50 ? stream.url.slice(0, 50) + '...' : stream.url
const selected: ChoiceValue = await select({
message: `Select channel ID for "${stream.name}" (${url}):`,
choices: getChannelChoises(new Collection(similarChannels)),
pageSize: 10
})
switch (selected.type) {
case 'skip':
return '-'
case 'type': {
const typedChannelId = await input({ message: ' Channel ID:' })
if (!typedChannelId) return ''
const selectedFeedId = await selectFeed(typedChannelId, feedsGroupedByChannelId)
if (selectedFeedId === '-') return typedChannelId
return [typedChannelId, selectedFeedId].join('@')
}
case 'channel': {
const selectedChannel = selected.value
if (!selectedChannel) return ''
const selectedFeedId = await selectFeed(selectedChannel.id, feedsGroupedByChannelId)
if (selectedFeedId === '-') return selectedChannel.id
return [selectedChannel.id, selectedFeedId].join('@')
}
}
return ''
}
async function selectFeed(channelId: string, feedsGroupedByChannelId: Dictionary): Promise<string> {
const channelFeeds = new Collection(feedsGroupedByChannelId.get(channelId)) || new Collection()
const choices = getFeedChoises(channelFeeds)
const selected: ChoiceValue = await select({
message: `Select feed ID for "${channelId}":`,
choices,
pageSize: 10
})
switch (selected.type) {
case 'skip':
return '-'
case 'type':
return await input({ message: ' Feed ID:', default: 'SD' })
case 'feed':
const selectedFeed = selected.value
if (!selectedFeed) return ''
return selectedFeed.id
}
return ''
}
function getChannelChoises(channels: Collection): Choice[] {
const choises: Choice[] = []
channels.forEach((channel: Channel) => {
const names = new Collection([channel.name, ...channel.altNames.all()]).uniq().join(', ')
choises.push({
value: {
type: 'channel',
value: channel
},
name: `${channel.id} (${names})`,
short: `${channel.id}`
})
})
choises.push({ name: 'Type...', value: { type: 'type' } })
choises.push({ name: 'Skip', value: { type: 'skip' } })
return choises
}
function getFeedChoises(feeds: Collection): Choice[] {
const choises: Choice[] = []
feeds.forEach((feed: Feed) => {
let name = `${feed.id} (${feed.name})`
if (feed.isMain) name += ' [main]'
choises.push({
value: {
type: 'feed',
value: feed
},
default: feed.isMain,
name,
short: feed.id
})
})
choises.push({ name: 'Type...', value: { type: 'type' } })
choises.push({ name: 'Skip', value: { type: 'skip' } })
return choises
}
function save(filepath: string) {
if (!storage.existsSync(filepath)) return
const playlist = new Playlist(parsedStreams)
storage.saveSync(filepath, playlist.toString())
logger.info(`\nFile '${filepath}' successfully saved`)
}
function escapeRegex(string: string) {
return string.replace(/[/\-\\^$*+?.()|[\]{}]/g, '\\$&')
}

View file

@ -1,33 +1,28 @@
import { Logger, Storage, Collection } from '@freearhey/core'
import { Logger, Storage } from '@freearhey/core'
import { STREAMS_DIR, DATA_DIR } from '../../constants'
import { PlaylistParser } from '../../core'
import { Stream, Playlist, Channel, Feed } from '../../models'
import { DataLoader, DataProcessor, PlaylistParser } from '../../core'
import { Stream, Playlist } from '../../models'
import { program } from 'commander'
import { uniqueId } from 'lodash'
import { DataLoaderData } from '../../types/dataLoader'
import { DataProcessorData } from '../../types/dataProcessor'
program.argument('[filepath]', 'Path to file to validate').parse(process.argv)
async function main() {
const streamsStorage = new Storage(STREAMS_DIR)
const logger = new Logger()
logger.info('loading data from api...')
const processor = new DataProcessor()
const dataStorage = new Storage(DATA_DIR)
const channelsData = await dataStorage.json('channels.json')
const channels = new Collection(channelsData).map(data => new Channel(data))
const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id)
const feedsData = await dataStorage.json('feeds.json')
const feeds = new Collection(feedsData).map(data =>
new Feed(data).withChannel(channelsGroupedById)
)
const feedsGroupedByChannelId = feeds.groupBy(feed =>
feed.channel ? feed.channel.id : uniqueId()
)
const loader = new DataLoader({ storage: dataStorage })
const data: DataLoaderData = await loader.load()
const { channelsKeyById, feedsGroupedByChannelId }: DataProcessorData = processor.process(data)
logger.info('loading streams...')
const streamsStorage = new Storage(STREAMS_DIR)
const parser = new PlaylistParser({
storage: streamsStorage,
channelsGroupedById,
channelsKeyById,
feedsGroupedByChannelId
})
const files = program.args.length ? program.args : await streamsStorage.list('**/*.m3u')
@ -46,7 +41,7 @@ async function main() {
logger.info('removing wrong id...')
streams = streams.map((stream: Stream) => {
if (!stream.channel || channelsGroupedById.missing(stream.channel.id)) {
if (!stream.channel || channelsKeyById.missing(stream.channel.id)) {
stream.id = ''
}

View file

@ -1,109 +1,47 @@
import { Logger, Storage, Collection } from '@freearhey/core'
import { PlaylistParser } from '../../core'
import {
Stream,
Category,
Channel,
Language,
Country,
Region,
Subdivision,
Feed,
Timezone
} from '../../models'
import { PlaylistParser, DataProcessor, DataLoader } from '../../core'
import type { DataProcessorData } from '../../types/dataProcessor'
import { DATA_DIR, LOGS_DIR, STREAMS_DIR } from '../../constants'
import type { DataLoaderData } from '../../types/dataLoader'
import { Logger, Storage, File } from '@freearhey/core'
import { Stream } from '../../models'
import { uniqueId } from 'lodash'
import {
IndexCategoryGenerator,
IndexLanguageGenerator,
IndexCountryGenerator,
IndexRegionGenerator,
CategoriesGenerator,
CountriesGenerator,
LanguagesGenerator,
RegionsGenerator,
IndexGenerator,
IndexCategoryGenerator,
IndexCountryGenerator,
IndexLanguageGenerator,
IndexRegionGenerator
IndexGenerator
} from '../../generators'
import { DATA_DIR, LOGS_DIR, STREAMS_DIR } from '../../constants'
async function main() {
const logger = new Logger()
const dataStorage = new Storage(DATA_DIR)
const generatorsLogger = new Logger({
stream: await new Storage(LOGS_DIR).createStream(`generators.log`)
})
const logFile = new File('generators.log')
logger.info('loading data from api...')
const categoriesData = await dataStorage.json('categories.json')
const countriesData = await dataStorage.json('countries.json')
const languagesData = await dataStorage.json('languages.json')
const regionsData = await dataStorage.json('regions.json')
const subdivisionsData = await dataStorage.json('subdivisions.json')
const timezonesData = await dataStorage.json('timezones.json')
const channelsData = await dataStorage.json('channels.json')
const feedsData = await dataStorage.json('feeds.json')
logger.info('preparing data...')
const subdivisions = new Collection(subdivisionsData).map(data => new Subdivision(data))
const subdivisionsGroupedByCode = subdivisions.keyBy(
(subdivision: Subdivision) => subdivision.code
)
const subdivisionsGroupedByCountryCode = subdivisions.groupBy(
(subdivision: Subdivision) => subdivision.countryCode
)
let regions = new Collection(regionsData).map(data =>
new Region(data).withSubdivisions(subdivisions)
)
const regionsGroupedByCode = regions.keyBy((region: Region) => region.code)
const categories = new Collection(categoriesData).map(data => new Category(data))
const categoriesGroupedById = categories.keyBy((category: Category) => category.id)
const languages = new Collection(languagesData).map(data => new Language(data))
const languagesGroupedByCode = languages.keyBy((language: Language) => language.code)
const countries = new Collection(countriesData).map(data =>
new Country(data)
.withRegions(regions)
.withLanguage(languagesGroupedByCode)
.withSubdivisions(subdivisionsGroupedByCountryCode)
)
const countriesGroupedByCode = countries.keyBy((country: Country) => country.code)
regions = regions.map((region: Region) => region.withCountries(countriesGroupedByCode))
const timezones = new Collection(timezonesData).map(data =>
new Timezone(data).withCountries(countriesGroupedByCode)
)
const timezonesGroupedById = timezones.keyBy((timezone: Timezone) => timezone.id)
const channels = new Collection(channelsData).map(data =>
new Channel(data)
.withCategories(categoriesGroupedById)
.withCountry(countriesGroupedByCode)
.withSubdivision(subdivisionsGroupedByCode)
)
const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id)
const feeds = new Collection(feedsData).map(data =>
new Feed(data)
.withChannel(channelsGroupedById)
.withLanguages(languagesGroupedByCode)
.withTimezones(timezonesGroupedById)
.withBroadcastCountries(
countriesGroupedByCode,
regionsGroupedByCode,
subdivisionsGroupedByCode
)
.withBroadcastRegions(regions)
.withBroadcastSubdivisions(subdivisionsGroupedByCode)
)
const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) =>
feed.channel ? feed.channel.id : uniqueId()
)
const processor = new DataProcessor()
const dataStorage = new Storage(DATA_DIR)
const loader = new DataLoader({ storage: dataStorage })
const data: DataLoaderData = await loader.load()
const {
feedsGroupedByChannelId,
channelsKeyById,
categories,
countries,
regions
}: DataProcessorData = processor.process(data)
logger.info('loading streams...')
const storage = new Storage(STREAMS_DIR)
const streamsStorage = new Storage(STREAMS_DIR)
const parser = new PlaylistParser({
storage,
channelsGroupedById,
feedsGroupedByChannelId
storage: streamsStorage,
feedsGroupedByChannelId,
channelsKeyById
})
const files = await storage.list('**/*.m3u')
const files = await streamsStorage.list('**/*.m3u')
let streams = await parser.parse(files)
const totalStreams = streams.count()
streams = streams.uniqBy((stream: Stream) =>
@ -122,42 +60,46 @@ async function main() {
)
logger.info('generating categories/...')
await new CategoriesGenerator({ categories, streams, logger: generatorsLogger }).generate()
await new CategoriesGenerator({ categories, streams, logFile }).generate()
logger.info('generating countries/...')
await new CountriesGenerator({
countries,
streams,
logger: generatorsLogger
logFile
}).generate()
logger.info('generating languages/...')
await new LanguagesGenerator({ streams, logger: generatorsLogger }).generate()
await new LanguagesGenerator({ streams, logFile }).generate()
logger.info('generating regions/...')
await new RegionsGenerator({
streams,
regions,
logger: generatorsLogger
logFile
}).generate()
logger.info('generating index.m3u...')
await new IndexGenerator({ streams, logger: generatorsLogger }).generate()
await new IndexGenerator({ streams, logFile }).generate()
logger.info('generating index.category.m3u...')
await new IndexCategoryGenerator({ streams, logger: generatorsLogger }).generate()
await new IndexCategoryGenerator({ streams, logFile }).generate()
logger.info('generating index.country.m3u...')
await new IndexCountryGenerator({
streams,
logger: generatorsLogger
logFile
}).generate()
logger.info('generating index.language.m3u...')
await new IndexLanguageGenerator({ streams, logger: generatorsLogger }).generate()
await new IndexLanguageGenerator({ streams, logFile }).generate()
logger.info('generating index.region.m3u...')
await new IndexRegionGenerator({ streams, regions, logger: generatorsLogger }).generate()
await new IndexRegionGenerator({ streams, regions, logFile }).generate()
logger.info('saving generators.log...')
const logStorage = new Storage(LOGS_DIR)
logStorage.saveFile(logFile)
}
main()

View file

@ -1,13 +1,15 @@
import { Logger, Storage, Collection } from '@freearhey/core'
import { ROOT_DIR, STREAMS_DIR, DATA_DIR } from '../../constants'
import { PlaylistParser, StreamTester, CliTable } from '../../core'
import { Stream, Feed, Channel } from '../../models'
import { PlaylistParser, StreamTester, CliTable, DataProcessor, DataLoader } from '../../core'
import { Stream } from '../../models'
import { program } from 'commander'
import { eachLimit } from 'async-es'
import commandExists from 'command-exists'
import chalk from 'chalk'
import os from 'node:os'
import dns from 'node:dns'
import type { DataLoaderData } from '../../types/dataLoader'
import type { DataProcessorData } from '../../types/dataProcessor'
const cpus = os.cpus()
@ -54,22 +56,18 @@ async function main() {
return
}
logger.info('loading channels from api...')
logger.info('loading data from api...')
const processor = new DataProcessor()
const dataStorage = new Storage(DATA_DIR)
const channelsData = await dataStorage.json('channels.json')
const channels = new Collection(channelsData).map(data => new Channel(data))
const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id)
const feedsData = await dataStorage.json('feeds.json')
const feeds = new Collection(feedsData).map(data =>
new Feed(data).withChannel(channelsGroupedById)
)
const feedsGroupedByChannelId = feeds.groupBy(feed => feed.channel)
const loader = new DataLoader({ storage: dataStorage })
const data: DataLoaderData = await loader.load()
const { channelsKeyById, feedsGroupedByChannelId }: DataProcessorData = processor.process(data)
logger.info('loading streams...')
const rootStorage = new Storage(ROOT_DIR)
const parser = new PlaylistParser({
storage: rootStorage,
channelsGroupedById,
channelsKeyById,
feedsGroupedByChannelId
})
const files = program.args.length ? program.args : await rootStorage.list(`${STREAMS_DIR}/*.m3u`)
@ -156,15 +154,24 @@ function drawTable() {
}
}
function onFinish() {
function onFinish(error) {
clearInterval(interval)
if (error) {
console.error(error)
process.exit(1)
}
drawTable()
logger.error(`\n${errors + warnings} problems (${errors} errors, ${warnings} warnings)`)
if (errors > 0 || warnings > 0) {
console.log(
chalk.red(`\n${errors + warnings} problems (${errors} errors, ${warnings} warnings)`)
)
if (errors > 0) {
process.exit(1)
if (errors > 0) {
process.exit(1)
}
}
process.exit(0)

View file

@ -1,50 +1,45 @@
import { DataLoader, DataProcessor, IssueLoader, PlaylistParser } from '../../core'
import { Logger, Storage, Collection, Dictionary } from '@freearhey/core'
import type { DataProcessorData } from '../../types/dataProcessor'
import { Stream, Playlist, Channel, Issue } from '../../models'
import type { DataLoaderData } from '../../types/dataLoader'
import { DATA_DIR, STREAMS_DIR } from '../../constants'
import { IssueLoader, PlaylistParser } from '../../core'
import { Stream, Playlist, Channel, Feed, Issue } from '../../models'
import validUrl from 'valid-url'
import { uniqueId } from 'lodash'
let processedIssues = new Collection()
async function main() {
const logger = new Logger({ disabled: true })
const loader = new IssueLoader()
const logger = new Logger({ level: -999 })
const issueLoader = new IssueLoader()
logger.info('loading issues...')
const issues = await loader.load()
const issues = await issueLoader.load()
logger.info('loading channels from api...')
logger.info('loading data from api...')
const processor = new DataProcessor()
const dataStorage = new Storage(DATA_DIR)
const channelsData = await dataStorage.json('channels.json')
const channels = new Collection(channelsData).map(data => new Channel(data))
const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id)
const feedsData = await dataStorage.json('feeds.json')
const feeds = new Collection(feedsData).map(data =>
new Feed(data).withChannel(channelsGroupedById)
)
const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) =>
feed.channel ? feed.channel.id : uniqueId()
)
const dataLoader = new DataLoader({ storage: dataStorage })
const data: DataLoaderData = await dataLoader.load()
const { channelsKeyById, feedsGroupedByChannelId }: DataProcessorData = processor.process(data)
logger.info('loading streams...')
const streamsStorage = new Storage(STREAMS_DIR)
const parser = new PlaylistParser({
storage: streamsStorage,
feedsGroupedByChannelId,
channelsGroupedById
channelsKeyById
})
const files = await streamsStorage.list('**/*.m3u')
const streams = await parser.parse(files)
logger.info('removing broken streams...')
logger.info('removing streams...')
await removeStreams({ streams, issues })
logger.info('edit stream description...')
await editStreams({
streams,
issues,
channelsGroupedById,
channelsKeyById,
feedsGroupedByChannelId
})
@ -52,7 +47,7 @@ async function main() {
await addStreams({
streams,
issues,
channelsGroupedById,
channelsKeyById,
feedsGroupedByChannelId
})
@ -78,12 +73,12 @@ async function removeStreams({ streams, issues }: { streams: Collection; issues:
)
requests.forEach((issue: Issue) => {
const data = issue.data
if (data.missing('brokenLinks')) return
if (data.missing('streamUrl')) return
const brokenLinks = data.getString('brokenLinks') || ''
const streamUrls = data.getString('streamUrl') || ''
let changed = false
brokenLinks
streamUrls
.split(/\r?\n/)
.filter(Boolean)
.forEach(link => {
@ -101,12 +96,12 @@ async function removeStreams({ streams, issues }: { streams: Collection; issues:
async function editStreams({
streams,
issues,
channelsGroupedById,
channelsKeyById,
feedsGroupedByChannelId
}: {
streams: Collection
issues: Collection
channelsGroupedById: Dictionary
channelsKeyById: Dictionary
feedsGroupedByChannelId: Dictionary
}) {
const requests = issues.filter(
@ -129,22 +124,14 @@ async function editStreams({
stream
.setChannelId(channelId)
.setFeedId(feedId)
.withChannel(channelsGroupedById)
.withChannel(channelsKeyById)
.withFeed(feedsGroupedByChannelId)
.updateId()
.updateName()
.updateFilepath()
}
const label = data.getString('label') || ''
const quality = data.getString('quality') || ''
const httpUserAgent = data.getString('httpUserAgent') || ''
const httpReferrer = data.getString('httpReferrer') || ''
if (data.has('label')) stream.setLabel(label)
if (data.has('quality')) stream.setQuality(quality)
if (data.has('httpUserAgent')) stream.setHttpUserAgent(httpUserAgent)
if (data.has('httpReferrer')) stream.setHttpReferrer(httpReferrer)
stream.update(data)
processedIssues.add(issue.number)
})
@ -153,12 +140,12 @@ async function editStreams({
async function addStreams({
streams,
issues,
channelsGroupedById,
channelsKeyById,
feedsGroupedByChannelId
}: {
streams: Collection
issues: Collection
channelsGroupedById: Dictionary
channelsKeyById: Dictionary
feedsGroupedByChannelId: Dictionary
}) {
const requests = issues.filter(
@ -168,51 +155,32 @@ async function addStreams({
const data = issue.data
if (data.missing('streamId') || data.missing('streamUrl')) return
if (streams.includes((_stream: Stream) => _stream.url === data.getString('streamUrl'))) return
const stringUrl = data.getString('streamUrl') || ''
if (!isUri(stringUrl)) return
const streamUrl = data.getString('streamUrl') || ''
if (!isUri(streamUrl)) return
const streamId = data.getString('streamId') || ''
const [channelId] = streamId.split('@')
const [channelId, feedId] = streamId.split('@')
const channel: Channel = channelsGroupedById.get(channelId)
const channel: Channel = channelsKeyById.get(channelId)
if (!channel) return
const label = data.getString('label') || ''
const quality = data.getString('quality') || ''
const httpUserAgent = data.getString('httpUserAgent') || ''
const httpReferrer = data.getString('httpReferrer') || ''
const label = data.getString('label') || null
const quality = data.getString('quality') || null
const httpUserAgent = data.getString('httpUserAgent') || null
const httpReferrer = data.getString('httpReferrer') || null
const stream = new Stream({
tvg: {
id: streamId,
name: '',
url: '',
logo: '',
rec: '',
shift: ''
},
channel: channelId,
feed: feedId,
name: data.getString('channelName') || channel.name,
url: stringUrl,
group: {
title: ''
},
http: {
'user-agent': httpUserAgent,
referrer: httpReferrer
},
line: -1,
raw: '',
timeshift: '',
catchup: {
type: '',
source: '',
days: ''
}
url: streamUrl,
user_agent: httpUserAgent,
referrer: httpReferrer,
quality,
label
})
.withChannel(channelsGroupedById)
.withChannel(channelsKeyById)
.withFeed(feedsGroupedByChannelId)
.setLabel(label)
.setQuality(quality)
.updateName()
.updateFilepath()

View file

@ -1,10 +1,11 @@
import { Logger, Storage, Collection, Dictionary } from '@freearhey/core'
import { PlaylistParser } from '../../core'
import { Channel, Stream, Blocked, Feed } from '../../models'
import { DataLoader, DataProcessor, PlaylistParser } from '../../core'
import { DataProcessorData } from '../../types/dataProcessor'
import { DATA_DIR, STREAMS_DIR } from '../../constants'
import { DataLoaderData } from '../../types/dataLoader'
import { BlocklistRecord, Stream } from '../../models'
import { program } from 'commander'
import chalk from 'chalk'
import { uniqueId } from 'lodash'
import { DATA_DIR, STREAMS_DIR } from '../../constants'
program.argument('[filepath]', 'Path to file to validate').parse(process.argv)
@ -18,26 +19,21 @@ async function main() {
const logger = new Logger()
logger.info('loading data from api...')
const processor = new DataProcessor()
const dataStorage = new Storage(DATA_DIR)
const channelsData = await dataStorage.json('channels.json')
const channels = new Collection(channelsData).map(data => new Channel(data))
const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id)
const feedsData = await dataStorage.json('feeds.json')
const feeds = new Collection(feedsData).map(data =>
new Feed(data).withChannel(channelsGroupedById)
)
const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) =>
feed.channel ? feed.channel.id : uniqueId()
)
const blocklistContent = await dataStorage.json('blocklist.json')
const blocklist = new Collection(blocklistContent).map(data => new Blocked(data))
const blocklistGroupedByChannelId = blocklist.keyBy((blocked: Blocked) => blocked.channelId)
const loader = new DataLoader({ storage: dataStorage })
const data: DataLoaderData = await loader.load()
const {
channelsKeyById,
feedsGroupedByChannelId,
blocklistRecordsGroupedByChannelId
}: DataProcessorData = processor.process(data)
logger.info('loading streams...')
const streamsStorage = new Storage(STREAMS_DIR)
const parser = new PlaylistParser({
storage: streamsStorage,
channelsGroupedById,
channelsKeyById,
feedsGroupedByChannelId
})
const files = program.args.length ? program.args : await streamsStorage.list('**/*.m3u')
@ -55,11 +51,11 @@ async function main() {
const buffer = new Dictionary()
streams.forEach((stream: Stream) => {
if (stream.channelId) {
const channel = channelsGroupedById.get(stream.channelId)
const channel = channelsKeyById.get(stream.channelId)
if (!channel) {
log.add({
type: 'warning',
line: stream.line,
line: stream.getLine(),
message: `"${stream.id}" is not in the database`
})
}
@ -69,40 +65,43 @@ async function main() {
if (duplicate) {
log.add({
type: 'warning',
line: stream.line,
line: stream.getLine(),
message: `"${stream.url}" is already on the playlist`
})
} else {
buffer.set(stream.url, true)
}
const blocked = stream.channel ? blocklistGroupedByChannelId.get(stream.channel.id) : false
if (blocked) {
if (blocked.reason === 'dmca') {
const blocklistRecords = stream.channel
? new Collection(blocklistRecordsGroupedByChannelId.get(stream.channel.id))
: new Collection()
blocklistRecords.forEach((blocklistRecord: BlocklistRecord) => {
if (blocklistRecord.reason === 'dmca') {
log.add({
type: 'error',
line: stream.line,
message: `"${blocked.channelId}" is on the blocklist due to claims of copyright holders (${blocked.ref})`
line: stream.getLine(),
message: `"${blocklistRecord.channelId}" is on the blocklist due to claims of copyright holders (${blocklistRecord.ref})`
})
} else if (blocked.reason === 'nsfw') {
} else if (blocklistRecord.reason === 'nsfw') {
log.add({
type: 'error',
line: stream.line,
message: `"${blocked.channelId}" is on the blocklist due to NSFW content (${blocked.ref})`
line: stream.getLine(),
message: `"${blocklistRecord.channelId}" is on the blocklist due to NSFW content (${blocklistRecord.ref})`
})
}
}
})
})
if (log.notEmpty()) {
logger.info(`\n${chalk.underline(filepath)}`)
console.log(`\n${chalk.underline(filepath)}`)
log.forEach((logItem: LogItem) => {
const position = logItem.line.toString().padEnd(6, ' ')
const type = logItem.type.padEnd(9, ' ')
const status = logItem.type === 'error' ? chalk.red(type) : chalk.yellow(type)
logger.info(` ${chalk.gray(position)}${status}${logItem.message}`)
console.log(` ${chalk.gray(position)}${status}${logItem.message}`)
})
errors = errors.concat(log.filter((logItem: LogItem) => logItem.type === 'error'))
@ -110,16 +109,18 @@ async function main() {
}
}
logger.error(
chalk.red(
`\n${
errors.count() + warnings.count()
} problems (${errors.count()} errors, ${warnings.count()} warnings)`
if (errors.count() || warnings.count()) {
console.log(
chalk.red(
`\n${
errors.count() + warnings.count()
} problems (${errors.count()} errors, ${warnings.count()} warnings)`
)
)
)
if (errors.count()) {
process.exit(1)
if (errors.count()) {
process.exit(1)
}
}
}

View file

@ -1,56 +1,53 @@
import { DataLoader, DataProcessor, IssueLoader, PlaylistParser } from '../../core'
import { Logger, Storage, Collection, Dictionary } from '@freearhey/core'
import { DataProcessorData } from '../../types/dataProcessor'
import { DATA_DIR, STREAMS_DIR } from '../../constants'
import { IssueLoader, PlaylistParser } from '../../core'
import { Blocked, Channel, Issue, Stream, Feed } from '../../models'
import { uniqueId } from 'lodash'
import { DataLoaderData } from '../../types/dataLoader'
import { Issue, Stream } from '../../models'
async function main() {
const logger = new Logger()
const loader = new IssueLoader()
const issueLoader = new IssueLoader()
let report = new Collection()
logger.info('loading issues...')
const issues = await loader.load()
const issues = await issueLoader.load()
logger.info('loading data from api...')
const processor = new DataProcessor()
const dataStorage = new Storage(DATA_DIR)
const channelsData = await dataStorage.json('channels.json')
const channels = new Collection(channelsData).map(data => new Channel(data))
const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id)
const feedsData = await dataStorage.json('feeds.json')
const feeds = new Collection(feedsData).map(data =>
new Feed(data).withChannel(channelsGroupedById)
)
const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) =>
feed.channel ? feed.channel.id : uniqueId()
)
const blocklistContent = await dataStorage.json('blocklist.json')
const blocklist = new Collection(blocklistContent).map(data => new Blocked(data))
const blocklistGroupedByChannelId = blocklist.keyBy((blocked: Blocked) => blocked.channelId)
const dataLoader = new DataLoader({ storage: dataStorage })
const data: DataLoaderData = await dataLoader.load()
const {
channelsKeyById,
feedsGroupedByChannelId,
blocklistRecordsGroupedByChannelId
}: DataProcessorData = processor.process(data)
logger.info('loading streams...')
const streamsStorage = new Storage(STREAMS_DIR)
const parser = new PlaylistParser({
storage: streamsStorage,
channelsGroupedById,
channelsKeyById,
feedsGroupedByChannelId
})
const files = await streamsStorage.list('**/*.m3u')
const streams = await parser.parse(files)
const streamsGroupedByUrl = streams.groupBy((stream: Stream) => stream.url)
const streamsGroupedByChannelId = streams.groupBy((stream: Stream) => stream.channelId)
const streamsGroupedById = streams.groupBy((stream: Stream) => stream.getId())
logger.info('checking broken streams reports...')
const brokenStreamReports = issues.filter(issue =>
issue.labels.find((label: string) => label === 'broken stream')
logger.info('checking streams:remove requests...')
const removeRequests = issues.filter(issue =>
issue.labels.find((label: string) => label === 'streams:remove')
)
brokenStreamReports.forEach((issue: Issue) => {
const brokenLinks = issue.data.getArray('brokenLinks') || []
removeRequests.forEach((issue: Issue) => {
const streamUrls = issue.data.getArray('streamUrl') || []
if (!brokenLinks.length) {
if (!streamUrls.length) {
const result = {
issueNumber: issue.number,
type: 'broken stream',
type: 'streams:remove',
streamId: undefined,
streamUrl: undefined,
status: 'missing_link'
@ -58,10 +55,10 @@ async function main() {
report.add(result)
} else {
for (const streamUrl of brokenLinks) {
for (const streamUrl of streamUrls) {
const result = {
issueNumber: issue.number,
type: 'broken stream',
type: 'streams:remove',
streamId: undefined,
streamUrl: truncate(streamUrl),
status: 'pending'
@ -94,8 +91,8 @@ async function main() {
if (!channelId) result.status = 'missing_id'
else if (!streamUrl) result.status = 'missing_link'
else if (blocklistGroupedByChannelId.has(channelId)) result.status = 'blocked'
else if (channelsGroupedById.missing(channelId)) result.status = 'wrong_id'
else if (blocklistRecordsGroupedByChannelId.has(channelId)) result.status = 'blocked'
else if (channelsKeyById.missing(channelId)) result.status = 'wrong_id'
else if (streamsGroupedByUrl.has(streamUrl)) result.status = 'on_playlist'
else if (addRequestsBuffer.has(streamUrl)) result.status = 'duplicate'
else result.status = 'pending'
@ -124,7 +121,7 @@ async function main() {
if (!streamUrl) result.status = 'missing_link'
else if (streamsGroupedByUrl.missing(streamUrl)) result.status = 'invalid_link'
else if (channelId && channelsGroupedById.missing(channelId)) result.status = 'invalid_id'
else if (channelId && channelsKeyById.missing(channelId)) result.status = 'invalid_id'
report.add(result)
})
@ -147,16 +144,16 @@ async function main() {
}
if (!channelId) result.status = 'missing_id'
else if (channelsGroupedById.missing(channelId)) result.status = 'invalid_id'
else if (channelSearchRequestsBuffer.has(channelId)) result.status = 'duplicate'
else if (blocklistGroupedByChannelId.has(channelId)) result.status = 'blocked'
else if (streamsGroupedByChannelId.has(channelId)) result.status = 'fulfilled'
else if (channelsKeyById.missing(channelId)) result.status = 'invalid_id'
else if (channelSearchRequestsBuffer.has(streamId)) result.status = 'duplicate'
else if (blocklistRecordsGroupedByChannelId.has(channelId)) result.status = 'blocked'
else if (streamsGroupedById.has(streamId)) result.status = 'fulfilled'
else {
const channelData = channelsGroupedById.get(channelId)
const channelData = channelsKeyById.get(channelId)
if (channelData.length && channelData[0].closed) result.status = 'closed'
}
channelSearchRequestsBuffer.set(channelId, true)
channelSearchRequestsBuffer.set(streamId, true)
report.add(result)
})

View file

@ -1,59 +1,16 @@
import { Logger, Storage } from '@freearhey/core'
import axios, { AxiosInstance, AxiosResponse, AxiosProgressEvent } from 'axios'
import cliProgress, { MultiBar } from 'cli-progress'
import numeral from 'numeral'
import axios, { AxiosInstance, AxiosResponse, AxiosRequestConfig } from 'axios'
export class ApiClient {
progressBar: MultiBar
client: AxiosInstance
storage: Storage
logger: Logger
instance: AxiosInstance
constructor({ logger }: { logger: Logger }) {
this.logger = logger
this.client = axios.create({
constructor() {
this.instance = axios.create({
baseURL: 'https://iptv-org.github.io/api',
responseType: 'stream'
})
this.storage = new Storage()
this.progressBar = new cliProgress.MultiBar({
stopOnComplete: true,
hideCursor: true,
forceRedraw: true,
barsize: 36,
format(options, params, payload) {
const filename = payload.filename.padEnd(18, ' ')
const barsize = options.barsize || 40
const percent = (params.progress * 100).toFixed(2)
const speed = payload.speed ? numeral(payload.speed).format('0.0 b') + '/s' : 'N/A'
const total = numeral(params.total).format('0.0 b')
const completeSize = Math.round(params.progress * barsize)
const incompleteSize = barsize - completeSize
const bar =
options.barCompleteString && options.barIncompleteString
? options.barCompleteString.substr(0, completeSize) +
options.barGlue +
options.barIncompleteString.substr(0, incompleteSize)
: '-'.repeat(barsize)
return `${filename} [${bar}] ${percent}% | ETA: ${params.eta}s | ${total} | ${speed}`
}
})
}
async download(filename: string) {
const stream = await this.storage.createStream(`temp/data/${filename}`)
const bar = this.progressBar.create(0, 0, { filename })
this.client
.get(`https://iptv-org.github.io/api/${filename}`, {
onDownloadProgress({ total, loaded, rate }: AxiosProgressEvent) {
if (total) bar.setTotal(total)
bar.update(loaded, { speed: rate })
}
})
.then((response: AxiosResponse) => {
response.data.pipe(stream)
})
get(url: string, options: AxiosRequestConfig): Promise<AxiosResponse> {
return this.instance.get(url, options)
}
}

100
scripts/core/dataLoader.ts Normal file
View file

@ -0,0 +1,100 @@
import { ApiClient } from './apiClient'
import { Storage } from '@freearhey/core'
import cliProgress, { MultiBar } from 'cli-progress'
import numeral from 'numeral'
import type { DataLoaderProps, DataLoaderData } from '../types/dataLoader'
export class DataLoader {
client: ApiClient
storage: Storage
progressBar: MultiBar
constructor(props: DataLoaderProps) {
this.client = new ApiClient()
this.storage = props.storage
this.progressBar = new cliProgress.MultiBar({
stopOnComplete: true,
hideCursor: true,
forceRedraw: true,
barsize: 36,
format(options, params, payload) {
const filename = payload.filename.padEnd(18, ' ')
const barsize = options.barsize || 40
const percent = (params.progress * 100).toFixed(2)
const speed = payload.speed ? numeral(payload.speed).format('0.0 b') + '/s' : 'N/A'
const total = numeral(params.total).format('0.0 b')
const completeSize = Math.round(params.progress * barsize)
const incompleteSize = barsize - completeSize
const bar =
options.barCompleteString && options.barIncompleteString
? options.barCompleteString.substr(0, completeSize) +
options.barGlue +
options.barIncompleteString.substr(0, incompleteSize)
: '-'.repeat(barsize)
return `${filename} [${bar}] ${percent}% | ETA: ${params.eta}s | ${total} | ${speed}`
}
})
}
async load(): Promise<DataLoaderData> {
const [
countries,
regions,
subdivisions,
languages,
categories,
blocklist,
channels,
feeds,
timezones,
guides,
streams
] = await Promise.all([
this.storage.json('countries.json'),
this.storage.json('regions.json'),
this.storage.json('subdivisions.json'),
this.storage.json('languages.json'),
this.storage.json('categories.json'),
this.storage.json('blocklist.json'),
this.storage.json('channels.json'),
this.storage.json('feeds.json'),
this.storage.json('timezones.json'),
this.storage.json('guides.json'),
this.storage.json('streams.json')
])
return {
countries,
regions,
subdivisions,
languages,
categories,
blocklist,
channels,
feeds,
timezones,
guides,
streams
}
}
async download(filename: string) {
if (!this.storage || !this.progressBar) return
const stream = await this.storage.createStream(filename)
const progressBar = this.progressBar.create(0, 0, { filename })
this.client
.get(filename, {
responseType: 'stream',
onDownloadProgress({ total, loaded, rate }) {
if (total) progressBar.setTotal(total)
progressBar.update(loaded, { speed: rate })
}
})
.then(response => {
response.data.pipe(stream)
})
}
}

View file

@ -0,0 +1,110 @@
import { DataLoaderData } from '../types/dataLoader'
import { Collection } from '@freearhey/core'
import {
BlocklistRecord,
Subdivision,
Category,
Language,
Timezone,
Channel,
Country,
Region,
Stream,
Guide,
Feed
} from '../models'
export class DataProcessor {
constructor() {}
process(data: DataLoaderData) {
const categories = new Collection(data.categories).map(data => new Category(data))
const categoriesKeyById = categories.keyBy((category: Category) => category.id)
const subdivisions = new Collection(data.subdivisions).map(data => new Subdivision(data))
const subdivisionsKeyByCode = subdivisions.keyBy((subdivision: Subdivision) => subdivision.code)
const subdivisionsGroupedByCountryCode = subdivisions.groupBy(
(subdivision: Subdivision) => subdivision.countryCode
)
let regions = new Collection(data.regions).map(data => new Region(data))
const regionsKeyByCode = regions.keyBy((region: Region) => region.code)
const blocklistRecords = new Collection(data.blocklist).map(data => new BlocklistRecord(data))
const blocklistRecordsGroupedByChannelId = blocklistRecords.groupBy(
(blocklistRecord: BlocklistRecord) => blocklistRecord.channelId
)
const streams = new Collection(data.streams).map(data => new Stream(data))
const streamsGroupedById = streams.groupBy((stream: Stream) => stream.getId())
const guides = new Collection(data.guides).map(data => new Guide(data))
const guidesGroupedByStreamId = guides.groupBy((guide: Guide) => guide.getStreamId())
const languages = new Collection(data.languages).map(data => new Language(data))
const languagesKeyByCode = languages.keyBy((language: Language) => language.code)
const countries = new Collection(data.countries).map(data =>
new Country(data)
.withRegions(regions)
.withLanguage(languagesKeyByCode)
.withSubdivisions(subdivisionsGroupedByCountryCode)
)
const countriesKeyByCode = countries.keyBy((country: Country) => country.code)
regions = regions.map((region: Region) => region.withCountries(countriesKeyByCode))
const timezones = new Collection(data.timezones).map(data =>
new Timezone(data).withCountries(countriesKeyByCode)
)
const timezonesKeyById = timezones.keyBy((timezone: Timezone) => timezone.id)
let channels = new Collection(data.channels).map(data =>
new Channel(data)
.withCategories(categoriesKeyById)
.withCountry(countriesKeyByCode)
.withSubdivision(subdivisionsKeyByCode)
.withCategories(categoriesKeyById)
)
const channelsKeyById = channels.keyBy((channel: Channel) => channel.id)
const feeds = new Collection(data.feeds).map(data =>
new Feed(data)
.withChannel(channelsKeyById)
.withLanguages(languagesKeyByCode)
.withTimezones(timezonesKeyById)
.withBroadcastCountries(countriesKeyByCode, regionsKeyByCode, subdivisionsKeyByCode)
.withBroadcastRegions(regions)
.withBroadcastSubdivisions(subdivisionsKeyByCode)
)
const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) => feed.channelId)
channels = channels.map((channel: Channel) => channel.withFeeds(feedsGroupedByChannelId))
return {
blocklistRecordsGroupedByChannelId,
subdivisionsGroupedByCountryCode,
feedsGroupedByChannelId,
guidesGroupedByStreamId,
subdivisionsKeyByCode,
countriesKeyByCode,
languagesKeyByCode,
streamsGroupedById,
categoriesKeyById,
timezonesKeyById,
regionsKeyByCode,
blocklistRecords,
channelsKeyById,
subdivisions,
categories,
countries,
languages,
timezones,
channels,
regions,
streams,
guides,
feeds
}
}
}

View file

@ -16,15 +16,15 @@ export class HTMLTable {
}
toString() {
let output = '<table>\n'
let output = '<table>\r\n'
output += ' <thead>\n <tr>'
output += ' <thead>\r\n <tr>'
for (const column of this.columns) {
output += `<th align="left">${column.name}</th>`
}
output += '</tr>\n </thead>\n'
output += '</tr>\r\n </thead>\r\n'
output += ' <tbody>\n'
output += ' <tbody>\r\n'
for (const item of this.data) {
output += ' <tr>'
let i = 0
@ -35,9 +35,9 @@ export class HTMLTable {
output += `<td${align}${nowrap}>${item[prop]}</td>`
i++
}
output += '</tr>\n'
output += '</tr>\r\n'
}
output += ' </tbody>\n'
output += ' </tbody>\r\n'
output += '</table>'

View file

@ -1,11 +1,13 @@
export * from './playlistParser'
export * from './numberParser'
export * from './logParser'
export * from './markdown'
export * from './apiClient'
export * from './cliTable'
export * from './dataProcessor'
export * from './dataLoader'
export * from './htmlTable'
export * from './issueData'
export * from './issueLoader'
export * from './issueParser'
export * from './htmlTable'
export * from './apiClient'
export * from './issueData'
export * from './logParser'
export * from './markdown'
export * from './numberParser'
export * from './playlistParser'
export * from './streamTester'
export * from './cliTable'

View file

@ -7,8 +7,7 @@ const FIELDS = new Dictionary({
'Channel ID': 'channelId',
'Feed ID': 'feedId',
'Stream URL': 'streamUrl',
'Broken Link': 'brokenLinks',
'Broken Links': 'brokenLinks',
'New Stream URL': 'newStreamUrl',
Label: 'label',
Quality: 'quality',
'Channel Name': 'channelName',

View file

@ -5,18 +5,18 @@ import { Stream } from '../models'
type PlaylistPareserProps = {
storage: Storage
feedsGroupedByChannelId: Dictionary
channelsGroupedById: Dictionary
channelsKeyById: Dictionary
}
export class PlaylistParser {
storage: Storage
feedsGroupedByChannelId: Dictionary
channelsGroupedById: Dictionary
channelsKeyById: Dictionary
constructor({ storage, feedsGroupedByChannelId, channelsGroupedById }: PlaylistPareserProps) {
constructor({ storage, feedsGroupedByChannelId, channelsKeyById }: PlaylistPareserProps) {
this.storage = storage
this.feedsGroupedByChannelId = feedsGroupedByChannelId
this.channelsGroupedById = channelsGroupedById
this.channelsKeyById = channelsKeyById
}
async parse(files: string[]): Promise<Collection> {
@ -35,9 +35,10 @@ export class PlaylistParser {
const parsed: parser.Playlist = parser.parse(content)
const streams = new Collection(parsed.items).map((data: parser.PlaylistItem) => {
const stream = new Stream(data)
const stream = new Stream()
.fromPlaylistItem(data)
.withFeed(this.feedsGroupedByChannelId)
.withChannel(this.channelsGroupedById)
.withChannel(this.channelsKeyById)
.setFilepath(filepath)
return stream

View file

@ -18,8 +18,8 @@ export class StreamTester {
return this.checker.checkStream({
url: stream.url,
http: {
referrer: stream.getHttpReferrer(),
'user-agent': stream.getHttpUserAgent()
referrer: stream.getReferrer(),
'user-agent': stream.getUserAgent()
}
})
}

View file

@ -1,25 +1,26 @@
import { Generator } from './generator'
import { Collection, Storage, Logger } from '@freearhey/core'
import { Collection, Storage, File } from '@freearhey/core'
import { Stream, Category, Playlist } from '../models'
import { PUBLIC_DIR } from '../constants'
import { Generator } from './generator'
import { EOL } from 'node:os'
type CategoriesGeneratorProps = {
streams: Collection
categories: Collection
logger: Logger
logFile: File
}
export class CategoriesGenerator implements Generator {
streams: Collection
categories: Collection
storage: Storage
logger: Logger
logFile: File
constructor({ streams, categories, logger }: CategoriesGeneratorProps) {
constructor({ streams, categories, logFile }: CategoriesGeneratorProps) {
this.streams = streams
this.categories = categories
this.storage = new Storage(PUBLIC_DIR)
this.logger = logger
this.logFile = logFile
}
async generate() {
@ -37,8 +38,8 @@ export class CategoriesGenerator implements Generator {
const playlist = new Playlist(categoryStreams, { public: true })
const filepath = `categories/${category.id}.m3u`
await this.storage.save(filepath, playlist.toString())
this.logger.info(
JSON.stringify({ type: 'category', filepath, count: playlist.streams.count() })
this.logFile.append(
JSON.stringify({ type: 'category', filepath, count: playlist.streams.count() }) + EOL
)
})
@ -46,8 +47,8 @@ export class CategoriesGenerator implements Generator {
const playlist = new Playlist(undefinedStreams, { public: true })
const filepath = 'categories/undefined.m3u'
await this.storage.save(filepath, playlist.toString())
this.logger.info(
JSON.stringify({ type: 'category', filepath, count: playlist.streams.count() })
this.logFile.append(
JSON.stringify({ type: 'category', filepath, count: playlist.streams.count() }) + EOL
)
}
}

View file

@ -1,25 +1,26 @@
import { Generator } from './generator'
import { Collection, Storage, Logger } from '@freearhey/core'
import { Country, Subdivision, Stream, Playlist } from '../models'
import { Collection, Storage, File } from '@freearhey/core'
import { PUBLIC_DIR } from '../constants'
import { Generator } from './generator'
import { EOL } from 'node:os'
type CountriesGeneratorProps = {
streams: Collection
countries: Collection
logger: Logger
logFile: File
}
export class CountriesGenerator implements Generator {
streams: Collection
countries: Collection
storage: Storage
logger: Logger
logFile: File
constructor({ streams, countries, logger }: CountriesGeneratorProps) {
constructor({ streams, countries, logFile }: CountriesGeneratorProps) {
this.streams = streams
this.countries = countries
this.storage = new Storage(PUBLIC_DIR)
this.logger = logger
this.logFile = logFile
}
async generate(): Promise<void> {
@ -36,8 +37,8 @@ export class CountriesGenerator implements Generator {
const playlist = new Playlist(countryStreams, { public: true })
const filepath = `countries/${country.code.toLowerCase()}.m3u`
await this.storage.save(filepath, playlist.toString())
this.logger.info(
JSON.stringify({ type: 'country', filepath, count: playlist.streams.count() })
this.logFile.append(
JSON.stringify({ type: 'country', filepath, count: playlist.streams.count() }) + EOL
)
country.getSubdivisions().forEach(async (subdivision: Subdivision) => {
@ -50,8 +51,8 @@ export class CountriesGenerator implements Generator {
const playlist = new Playlist(subdivisionStreams, { public: true })
const filepath = `subdivisions/${subdivision.code.toLowerCase()}.m3u`
await this.storage.save(filepath, playlist.toString())
this.logger.info(
JSON.stringify({ type: 'subdivision', filepath, count: playlist.streams.count() })
this.logFile.append(
JSON.stringify({ type: 'subdivision', filepath, count: playlist.streams.count() }) + EOL
)
})
})
@ -60,12 +61,12 @@ export class CountriesGenerator implements Generator {
const undefinedPlaylist = new Playlist(undefinedStreams, { public: true })
const undefinedFilepath = 'countries/undefined.m3u'
await this.storage.save(undefinedFilepath, undefinedPlaylist.toString())
this.logger.info(
this.logFile.append(
JSON.stringify({
type: 'country',
filepath: undefinedFilepath,
count: undefinedPlaylist.streams.count()
})
}) + EOL
)
}
}

View file

@ -1,22 +1,23 @@
import { Generator } from './generator'
import { Collection, Storage, Logger } from '@freearhey/core'
import { Collection, Storage, File } from '@freearhey/core'
import { Stream, Playlist, Category } from '../models'
import { PUBLIC_DIR } from '../constants'
import { Generator } from './generator'
import { EOL } from 'node:os'
type IndexCategoryGeneratorProps = {
streams: Collection
logger: Logger
logFile: File
}
export class IndexCategoryGenerator implements Generator {
streams: Collection
storage: Storage
logger: Logger
logFile: File
constructor({ streams, logger }: IndexCategoryGeneratorProps) {
constructor({ streams, logFile }: IndexCategoryGeneratorProps) {
this.streams = streams
this.storage = new Storage(PUBLIC_DIR)
this.logger = logger
this.logFile = logFile
}
async generate(): Promise<void> {
@ -48,6 +49,8 @@ export class IndexCategoryGenerator implements Generator {
const playlist = new Playlist(groupedStreams, { public: true })
const filepath = 'index.category.m3u'
await this.storage.save(filepath, playlist.toString())
this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() }))
this.logFile.append(
JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() }) + EOL
)
}
}

View file

@ -1,22 +1,23 @@
import { Generator } from './generator'
import { Collection, Storage, Logger } from '@freearhey/core'
import { Collection, Storage, File } from '@freearhey/core'
import { Stream, Playlist, Country } from '../models'
import { PUBLIC_DIR } from '../constants'
import { Generator } from './generator'
import { EOL } from 'node:os'
type IndexCountryGeneratorProps = {
streams: Collection
logger: Logger
logFile: File
}
export class IndexCountryGenerator implements Generator {
streams: Collection
storage: Storage
logger: Logger
logFile: File
constructor({ streams, logger }: IndexCountryGeneratorProps) {
constructor({ streams, logFile }: IndexCountryGeneratorProps) {
this.streams = streams
this.storage = new Storage(PUBLIC_DIR)
this.logger = logger
this.logFile = logFile
}
async generate(): Promise<void> {
@ -56,6 +57,8 @@ export class IndexCountryGenerator implements Generator {
const playlist = new Playlist(groupedStreams, { public: true })
const filepath = 'index.country.m3u'
await this.storage.save(filepath, playlist.toString())
this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() }))
this.logFile.append(
JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() }) + EOL
)
}
}

View file

@ -1,22 +1,23 @@
import { Collection, Logger, Storage } from '@freearhey/core'
import { Collection, File, Storage } from '@freearhey/core'
import { Stream, Playlist } from '../models'
import { Generator } from './generator'
import { PUBLIC_DIR } from '../constants'
import { Generator } from './generator'
import { EOL } from 'node:os'
type IndexGeneratorProps = {
streams: Collection
logger: Logger
logFile: File
}
export class IndexGenerator implements Generator {
streams: Collection
storage: Storage
logger: Logger
logFile: File
constructor({ streams, logger }: IndexGeneratorProps) {
constructor({ streams, logFile }: IndexGeneratorProps) {
this.streams = streams
this.storage = new Storage(PUBLIC_DIR)
this.logger = logger
this.logFile = logFile
}
async generate(): Promise<void> {
@ -27,6 +28,8 @@ export class IndexGenerator implements Generator {
const playlist = new Playlist(sfwStreams, { public: true })
const filepath = 'index.m3u'
await this.storage.save(filepath, playlist.toString())
this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() }))
this.logFile.append(
JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() }) + EOL
)
}
}

View file

@ -1,22 +1,23 @@
import { Generator } from './generator'
import { Collection, Storage, Logger } from '@freearhey/core'
import { Collection, Storage, File } from '@freearhey/core'
import { Stream, Playlist, Language } from '../models'
import { PUBLIC_DIR } from '../constants'
import { Generator } from './generator'
import { EOL } from 'node:os'
type IndexLanguageGeneratorProps = {
streams: Collection
logger: Logger
logFile: File
}
export class IndexLanguageGenerator implements Generator {
streams: Collection
storage: Storage
logger: Logger
logFile: File
constructor({ streams, logger }: IndexLanguageGeneratorProps) {
constructor({ streams, logFile }: IndexLanguageGeneratorProps) {
this.streams = streams
this.storage = new Storage(PUBLIC_DIR)
this.logger = logger
this.logFile = logFile
}
async generate(): Promise<void> {
@ -47,6 +48,8 @@ export class IndexLanguageGenerator implements Generator {
const playlist = new Playlist(groupedStreams, { public: true })
const filepath = 'index.language.m3u'
await this.storage.save(filepath, playlist.toString())
this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() }))
this.logFile.append(
JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() }) + EOL
)
}
}

View file

@ -1,22 +1,23 @@
import { Collection, Logger, Storage } from '@freearhey/core'
import { Collection, File, Storage } from '@freearhey/core'
import { Stream, Playlist } from '../models'
import { Generator } from './generator'
import { PUBLIC_DIR } from '../constants'
import { Generator } from './generator'
import { EOL } from 'node:os'
type IndexNsfwGeneratorProps = {
streams: Collection
logger: Logger
logFile: File
}
export class IndexNsfwGenerator implements Generator {
streams: Collection
storage: Storage
logger: Logger
logFile: File
constructor({ streams, logger }: IndexNsfwGeneratorProps) {
constructor({ streams, logFile }: IndexNsfwGeneratorProps) {
this.streams = streams
this.storage = new Storage(PUBLIC_DIR)
this.logger = logger
this.logFile = logFile
}
async generate(): Promise<void> {
@ -25,6 +26,8 @@ export class IndexNsfwGenerator implements Generator {
const playlist = new Playlist(allStreams, { public: true })
const filepath = 'index.nsfw.m3u'
await this.storage.save(filepath, playlist.toString())
this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() }))
this.logFile.append(
JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() }) + EOL
)
}
}

View file

@ -1,25 +1,26 @@
import { Generator } from './generator'
import { Collection, Storage, Logger } from '@freearhey/core'
import { Collection, Storage, File } from '@freearhey/core'
import { Stream, Playlist, Region } from '../models'
import { PUBLIC_DIR } from '../constants'
import { Generator } from './generator'
import { EOL } from 'node:os'
type IndexRegionGeneratorProps = {
streams: Collection
regions: Collection
logger: Logger
logFile: File
}
export class IndexRegionGenerator implements Generator {
streams: Collection
regions: Collection
storage: Storage
logger: Logger
logFile: File
constructor({ streams, regions, logger }: IndexRegionGeneratorProps) {
constructor({ streams, regions, logFile }: IndexRegionGeneratorProps) {
this.streams = streams
this.regions = regions
this.storage = new Storage(PUBLIC_DIR)
this.logger = logger
this.logFile = logFile
}
async generate(): Promise<void> {
@ -58,6 +59,8 @@ export class IndexRegionGenerator implements Generator {
const playlist = new Playlist(groupedStreams, { public: true })
const filepath = 'index.region.m3u'
await this.storage.save(filepath, playlist.toString())
this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() }))
this.logFile.append(
JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() }) + EOL
)
}
}

View file

@ -1,19 +1,20 @@
import { Generator } from './generator'
import { Collection, Storage, Logger } from '@freearhey/core'
import { Collection, Storage, File } from '@freearhey/core'
import { Playlist, Language, Stream } from '../models'
import { PUBLIC_DIR } from '../constants'
import { Generator } from './generator'
import { EOL } from 'node:os'
type LanguagesGeneratorProps = { streams: Collection; logger: Logger }
type LanguagesGeneratorProps = { streams: Collection; logFile: File }
export class LanguagesGenerator implements Generator {
streams: Collection
storage: Storage
logger: Logger
logFile: File
constructor({ streams, logger }: LanguagesGeneratorProps) {
constructor({ streams, logFile }: LanguagesGeneratorProps) {
this.streams = streams
this.storage = new Storage(PUBLIC_DIR)
this.logger = logger
this.logFile = logFile
}
async generate(): Promise<void> {
@ -38,8 +39,8 @@ export class LanguagesGenerator implements Generator {
const playlist = new Playlist(languageStreams, { public: true })
const filepath = `languages/${language.code}.m3u`
await this.storage.save(filepath, playlist.toString())
this.logger.info(
JSON.stringify({ type: 'language', filepath, count: playlist.streams.count() })
this.logFile.append(
JSON.stringify({ type: 'language', filepath, count: playlist.streams.count() }) + EOL
)
})
@ -50,8 +51,8 @@ export class LanguagesGenerator implements Generator {
const playlist = new Playlist(undefinedStreams, { public: true })
const filepath = 'languages/undefined.m3u'
await this.storage.save(filepath, playlist.toString())
this.logger.info(
JSON.stringify({ type: 'language', filepath, count: playlist.streams.count() })
this.logFile.append(
JSON.stringify({ type: 'language', filepath, count: playlist.streams.count() }) + EOL
)
}
}

View file

@ -1,25 +1,26 @@
import { Generator } from './generator'
import { Collection, Storage, Logger } from '@freearhey/core'
import { Collection, Storage, File } from '@freearhey/core'
import { Playlist, Region, Stream } from '../models'
import { PUBLIC_DIR } from '../constants'
import { Generator } from './generator'
import { EOL } from 'node:os'
type RegionsGeneratorProps = {
streams: Collection
regions: Collection
logger: Logger
logFile: File
}
export class RegionsGenerator implements Generator {
streams: Collection
regions: Collection
storage: Storage
logger: Logger
logFile: File
constructor({ streams, regions, logger }: RegionsGeneratorProps) {
constructor({ streams, regions, logFile }: RegionsGeneratorProps) {
this.streams = streams
this.regions = regions
this.storage = new Storage(PUBLIC_DIR)
this.logger = logger
this.logFile = logFile
}
async generate(): Promise<void> {
@ -35,8 +36,8 @@ export class RegionsGenerator implements Generator {
const playlist = new Playlist(regionStreams, { public: true })
const filepath = `regions/${region.code.toLowerCase()}.m3u`
await this.storage.save(filepath, playlist.toString())
this.logger.info(
JSON.stringify({ type: 'region', filepath, count: playlist.streams.count() })
this.logFile.append(
JSON.stringify({ type: 'region', filepath, count: playlist.streams.count() }) + EOL
)
})
@ -44,18 +45,20 @@ export class RegionsGenerator implements Generator {
const internationalPlaylist = new Playlist(internationalStreams, { public: true })
const internationalFilepath = 'regions/int.m3u'
await this.storage.save(internationalFilepath, internationalPlaylist.toString())
this.logger.info(
this.logFile.append(
JSON.stringify({
type: 'region',
filepath: internationalFilepath,
count: internationalPlaylist.streams.count()
})
}) + EOL
)
const undefinedStreams = streams.filter((stream: Stream) => !stream.hasBroadcastArea())
const playlist = new Playlist(undefinedStreams, { public: true })
const filepath = 'regions/undefined.m3u'
await this.storage.save(filepath, playlist.toString())
this.logger.info(JSON.stringify({ type: 'region', filepath, count: playlist.streams.count() }))
this.logFile.append(
JSON.stringify({ type: 'region', filepath, count: playlist.streams.count() }) + EOL
)
}
}

View file

@ -1,17 +0,0 @@
type BlockedProps = {
channel: string
reason: string
ref: string
}
export class Blocked {
channelId: string
reason: string
ref: string
constructor(data: BlockedProps) {
this.channelId = data.channel
this.reason = data.reason
this.ref = data.ref
}
}

View file

@ -0,0 +1,15 @@
import type { BlocklistRecordData } from '../types/blocklistRecord'
export class BlocklistRecord {
channelId: string
reason: string
ref: string
constructor(data?: BlocklistRecordData) {
if (!data) return
this.channelId = data.channel
this.reason = data.reason
this.ref = data.ref
}
}

View file

@ -1,7 +1,4 @@
type CategoryData = {
id: string
name: string
}
import type { CategoryData, CategorySerializedData } from '../types/category'
export class Category {
id: string
@ -11,4 +8,11 @@ export class Category {
this.id = data.id
this.name = data.name
}
serialize(): CategorySerializedData {
return {
id: this.id,
name: this.name
}
}
}

View file

@ -1,23 +1,6 @@
import { Collection, Dictionary } from '@freearhey/core'
import { Category, Country, Subdivision } from './index'
type ChannelData = {
id: string
name: string
alt_names: string[]
network: string
owners: Collection
country: string
subdivision: string
city: string
categories: Collection
is_nsfw: boolean
launched: string
closed: string
replaced_by: string
website: string
logo: string
}
import { Category, Country, Feed, Guide, Stream, Subdivision } from './index'
import type { ChannelData, ChannelSearchableData, ChannelSerializedData } from '../types/channel'
export class Channel {
id: string
@ -31,15 +14,18 @@ export class Channel {
subdivision?: Subdivision
cityName?: string
categoryIds: Collection
categories?: Collection
categories: Collection = new Collection()
isNSFW: boolean
launched?: string
closed?: string
replacedBy?: string
website?: string
logo: string
feeds?: Collection
constructor(data?: ChannelData) {
if (!data) return
constructor(data: ChannelData) {
this.id = data.id
this.name = data.name
this.altNames = new Collection(data.alt_names)
@ -57,28 +43,34 @@ export class Channel {
this.logo = data.logo
}
withSubdivision(subdivisionsGroupedByCode: Dictionary): this {
withSubdivision(subdivisionsKeyByCode: Dictionary): this {
if (!this.subdivisionCode) return this
this.subdivision = subdivisionsGroupedByCode.get(this.subdivisionCode)
this.subdivision = subdivisionsKeyByCode.get(this.subdivisionCode)
return this
}
withCountry(countriesGroupedByCode: Dictionary): this {
this.country = countriesGroupedByCode.get(this.countryCode)
withCountry(countriesKeyByCode: Dictionary): this {
this.country = countriesKeyByCode.get(this.countryCode)
return this
}
withCategories(groupedCategories: Dictionary): this {
withCategories(categoriesKeyById: Dictionary): this {
this.categories = this.categoryIds
.map((id: string) => groupedCategories.get(id))
.map((id: string) => categoriesKeyById.get(id))
.filter(Boolean)
return this
}
withFeeds(feedsGroupedByChannelId: Dictionary): this {
this.feeds = new Collection(feedsGroupedByChannelId.get(this.id))
return this
}
getCountry(): Country | undefined {
return this.country
}
@ -102,7 +94,106 @@ export class Channel {
)
}
getFeeds(): Collection {
if (!this.feeds) return new Collection()
return this.feeds
}
getGuides(): Collection {
let guides = new Collection()
this.getFeeds().forEach((feed: Feed) => {
guides = guides.concat(feed.getGuides())
})
return guides
}
getGuideNames(): Collection {
return this.getGuides()
.map((guide: Guide) => guide.siteName)
.uniq()
}
getStreams(): Collection {
let streams = new Collection()
this.getFeeds().forEach((feed: Feed) => {
streams = streams.concat(feed.getStreams())
})
return streams
}
getStreamNames(): Collection {
return this.getStreams()
.map((stream: Stream) => stream.getName())
.uniq()
}
getFeedFullNames(): Collection {
return this.getFeeds()
.map((feed: Feed) => feed.getFullName())
.uniq()
}
isSFW(): boolean {
return this.isNSFW === false
}
getSearchable(): ChannelSearchableData {
return {
id: this.id,
name: this.name,
altNames: this.altNames.all(),
guideNames: this.getGuideNames().all(),
streamNames: this.getStreamNames().all(),
feedFullNames: this.getFeedFullNames().all()
}
}
serialize(): ChannelSerializedData {
return {
id: this.id,
name: this.name,
altNames: this.altNames.all(),
network: this.network,
owners: this.owners.all(),
countryCode: this.countryCode,
country: this.country ? this.country.serialize() : undefined,
subdivisionCode: this.subdivisionCode,
subdivision: this.subdivision ? this.subdivision.serialize() : undefined,
cityName: this.cityName,
categoryIds: this.categoryIds.all(),
categories: this.categories.map((category: Category) => category.serialize()).all(),
isNSFW: this.isNSFW,
launched: this.launched,
closed: this.closed,
replacedBy: this.replacedBy,
website: this.website,
logo: this.logo
}
}
deserialize(data: ChannelSerializedData): this {
this.id = data.id
this.name = data.name
this.altNames = new Collection(data.altNames)
this.network = data.network
this.owners = new Collection(data.owners)
this.countryCode = data.countryCode
this.country = data.country ? new Country().deserialize(data.country) : undefined
this.subdivisionCode = data.subdivisionCode
this.cityName = data.cityName
this.categoryIds = new Collection(data.categoryIds)
this.isNSFW = data.isNSFW
this.launched = data.launched
this.closed = data.closed
this.replacedBy = data.replacedBy
this.website = data.website
this.logo = data.logo
return this
}
}

View file

@ -1,12 +1,8 @@
import { Collection, Dictionary } from '@freearhey/core'
import { Region, Language } from '.'
type CountryData = {
code: string
name: string
lang: string
flag: string
}
import { Region, Language, Subdivision } from '.'
import type { CountryData, CountrySerializedData } from '../types/country'
import { SubdivisionSerializedData } from '../types/subdivision'
import { RegionSerializedData } from '../types/region'
export class Country {
code: string
@ -17,7 +13,9 @@ export class Country {
subdivisions?: Collection
regions?: Collection
constructor(data: CountryData) {
constructor(data?: CountryData) {
if (!data) return
this.code = data.code
this.name = data.name
this.flag = data.flag
@ -38,8 +36,8 @@ export class Country {
return this
}
withLanguage(languagesGroupedByCode: Dictionary): this {
this.language = languagesGroupedByCode.get(this.languageCode)
withLanguage(languagesKeyByCode: Dictionary): this {
this.language = languagesKeyByCode.get(this.languageCode)
return this
}
@ -55,4 +53,34 @@ export class Country {
getSubdivisions(): Collection {
return this.subdivisions || new Collection()
}
serialize(): CountrySerializedData {
return {
code: this.code,
name: this.name,
flag: this.flag,
languageCode: this.languageCode,
language: this.language ? this.language.serialize() : null,
subdivisions: this.subdivisions
? this.subdivisions.map((subdivision: Subdivision) => subdivision.serialize()).all()
: [],
regions: this.regions ? this.regions.map((region: Region) => region.serialize()).all() : []
}
}
deserialize(data: CountrySerializedData): this {
this.code = data.code
this.name = data.name
this.flag = data.flag
this.languageCode = data.languageCode
this.language = data.language ? new Language().deserialize(data.language) : undefined
this.subdivisions = new Collection(data.subdivisions).map((data: SubdivisionSerializedData) =>
new Subdivision().deserialize(data)
)
this.regions = new Collection(data.regions).map((data: RegionSerializedData) =>
new Region().deserialize(data)
)
return this
}
}

View file

@ -1,16 +1,6 @@
import { Collection, Dictionary } from '@freearhey/core'
import { Country, Language, Region, Channel, Subdivision } from './index'
type FeedData = {
channel: string
id: string
name: string
is_main: boolean
broadcast_area: Collection
languages: Collection
timezones: Collection
video_format: string
}
import { Collection, Dictionary } from '@freearhey/core'
import type { FeedData } from '../types/feed'
export class Feed {
channelId: string
@ -30,6 +20,8 @@ export class Feed {
timezoneIds: Collection
timezones?: Collection
videoFormat: string
guides?: Collection
streams?: Collection
constructor(data: FeedData) {
this.channelId = data.channel
@ -61,42 +53,60 @@ export class Feed {
})
}
withChannel(channelsGroupedById: Dictionary): this {
this.channel = channelsGroupedById.get(this.channelId)
withChannel(channelsKeyById: Dictionary): this {
this.channel = channelsKeyById.get(this.channelId)
return this
}
withLanguages(languagesGroupedByCode: Dictionary): this {
withStreams(streamsGroupedById: Dictionary): this {
this.streams = new Collection(streamsGroupedById.get(`${this.channelId}@${this.id}`))
if (this.isMain) {
this.streams = this.streams.concat(new Collection(streamsGroupedById.get(this.channelId)))
}
return this
}
withGuides(guidesGroupedByStreamId: Dictionary): this {
this.guides = new Collection(guidesGroupedByStreamId.get(`${this.channelId}@${this.id}`))
if (this.isMain) {
this.guides = this.guides.concat(new Collection(guidesGroupedByStreamId.get(this.channelId)))
}
return this
}
withLanguages(languagesKeyByCode: Dictionary): this {
this.languages = this.languageCodes
.map((code: string) => languagesGroupedByCode.get(code))
.map((code: string) => languagesKeyByCode.get(code))
.filter(Boolean)
return this
}
withTimezones(timezonesGroupedById: Dictionary): this {
this.timezones = this.timezoneIds
.map((id: string) => timezonesGroupedById.get(id))
.filter(Boolean)
withTimezones(timezonesKeyById: Dictionary): this {
this.timezones = this.timezoneIds.map((id: string) => timezonesKeyById.get(id)).filter(Boolean)
return this
}
withBroadcastSubdivisions(subdivisionsGroupedByCode: Dictionary): this {
withBroadcastSubdivisions(subdivisionsKeyByCode: Dictionary): this {
this.broadcastSubdivisions = this.broadcastSubdivisionCodes.map((code: string) =>
subdivisionsGroupedByCode.get(code)
subdivisionsKeyByCode.get(code)
)
return this
}
withBroadcastCountries(
countriesGroupedByCode: Dictionary,
regionsGroupedByCode: Dictionary,
subdivisionsGroupedByCode: Dictionary
countriesKeyByCode: Dictionary,
regionsKeyByCode: Dictionary,
subdivisionsKeyByCode: Dictionary
): this {
let broadcastCountries = new Collection()
const broadcastCountries = new Collection()
if (this.isInternational()) {
this.broadcastCountries = broadcastCountries
@ -104,22 +114,22 @@ export class Feed {
}
this.broadcastCountryCodes.forEach((code: string) => {
broadcastCountries.add(countriesGroupedByCode.get(code))
broadcastCountries.add(countriesKeyByCode.get(code))
})
this.broadcastRegionCodes.forEach((code: string) => {
const region: Region = regionsGroupedByCode.get(code)
const region: Region = regionsKeyByCode.get(code)
if (region) {
region.countryCodes.forEach((countryCode: string) => {
broadcastCountries.add(countriesGroupedByCode.get(countryCode))
broadcastCountries.add(countriesKeyByCode.get(countryCode))
})
}
})
this.broadcastSubdivisionCodes.forEach((code: string) => {
const subdivision: Subdivision = subdivisionsGroupedByCode.get(code)
const subdivision: Subdivision = subdivisionsKeyByCode.get(code)
if (subdivision) {
broadcastCountries.add(countriesGroupedByCode.get(subdivision.countryCode))
broadcastCountries.add(countriesKeyByCode.get(subdivision.countryCode))
}
})
@ -134,8 +144,8 @@ export class Feed {
this.broadcastRegions = regions.filter((region: Region) => {
if (region.code === 'INT') return false
return region.countryCodes.intersects(countriesCodes)
const intersected = region.countryCodes.intersects(countriesCodes)
return intersected.notEmpty()
})
return this
@ -197,4 +207,22 @@ export class Feed {
return this.getBroadcastRegions().includes((_region: Region) => _region.code === region.code)
}
getGuides(): Collection {
if (!this.guides) return new Collection()
return this.guides
}
getStreams(): Collection {
if (!this.streams) return new Collection()
return this.streams
}
getFullName(): string {
if (!this.channel) return ''
return `${this.channel.name} ${this.name}`
}
}

54
scripts/models/guide.ts Normal file
View file

@ -0,0 +1,54 @@
import type { GuideData, GuideSerializedData } from '../types/guide'
export class Guide {
channelId?: string
feedId?: string
siteDomain: string
siteId: string
siteName: string
languageCode: string
constructor(data?: GuideData) {
if (!data) return
this.channelId = data.channel
this.feedId = data.feed
this.siteDomain = data.site
this.siteId = data.site_id
this.siteName = data.site_name
this.languageCode = data.lang
}
getUUID(): string {
return this.getStreamId() + this.siteId
}
getStreamId(): string | undefined {
if (!this.channelId) return undefined
if (!this.feedId) return this.channelId
return `${this.channelId}@${this.feedId}`
}
serialize(): GuideSerializedData {
return {
channelId: this.channelId,
feedId: this.feedId,
siteDomain: this.siteDomain,
siteId: this.siteId,
siteName: this.siteName,
languageCode: this.languageCode
}
}
deserialize(data: GuideSerializedData): this {
this.channelId = data.channelId
this.feedId = data.feedId
this.siteDomain = data.siteDomain
this.siteId = data.siteId
this.siteName = data.siteName
this.languageCode = data.languageCode
return this
}
}

View file

@ -1,13 +1,14 @@
export * from './issue'
export * from './playlist'
export * from './blocked'
export * from './stream'
export * from './blocklistRecord'
export * from './broadcastArea'
export * from './category'
export * from './channel'
export * from './language'
export * from './country'
export * from './region'
export * from './subdivision'
export * from './feed'
export * from './broadcastArea'
export * from './guide'
export * from './issue'
export * from './language'
export * from './playlist'
export * from './region'
export * from './stream'
export * from './subdivision'
export * from './timezone'

View file

@ -1,14 +1,27 @@
type LanguageData = {
code: string
name: string
}
import type { LanguageData, LanguageSerializedData } from '../types/language'
export class Language {
code: string
name: string
constructor(data: LanguageData) {
constructor(data?: LanguageData) {
if (!data) return
this.code = data.code
this.name = data.name
}
serialize(): LanguageSerializedData {
return {
code: this.code,
name: this.name
}
}
deserialize(data: LanguageSerializedData): this {
this.code = data.code
this.name = data.name
return this
}
}

View file

@ -17,10 +17,10 @@ export class Playlist {
}
toString() {
let output = '#EXTM3U\n'
let output = '#EXTM3U\r\n'
this.streams.forEach((stream: Stream) => {
output += stream.toString(this.options) + '\n'
output += stream.toString(this.options) + '\r\n'
})
return output

View file

@ -1,27 +1,26 @@
import { Collection, Dictionary } from '@freearhey/core'
import { Subdivision } from '.'
type RegionData = {
code: string
name: string
countries: string[]
}
import { Country, Subdivision } from '.'
import type { RegionData, RegionSerializedData } from '../types/region'
import { CountrySerializedData } from '../types/country'
import { SubdivisionSerializedData } from '../types/subdivision'
export class Region {
code: string
name: string
countryCodes: Collection
countries?: Collection
subdivisions?: Collection
countries: Collection = new Collection()
subdivisions: Collection = new Collection()
constructor(data?: RegionData) {
if (!data) return
constructor(data: RegionData) {
this.code = data.code
this.name = data.name
this.countryCodes = new Collection(data.countries)
}
withCountries(countriesGroupedByCode: Dictionary): this {
this.countries = this.countryCodes.map((code: string) => countriesGroupedByCode.get(code))
withCountries(countriesKeyByCode: Dictionary): this {
this.countries = this.countryCodes.map((code: string) => countriesKeyByCode.get(code))
return this
}
@ -35,11 +34,11 @@ export class Region {
}
getSubdivisions(): Collection {
return this.subdivisions || new Collection()
return this.subdivisions
}
getCountries(): Collection {
return this.countries || new Collection()
return this.countries
}
includesCountryCode(code: string): boolean {
@ -49,4 +48,30 @@ export class Region {
isWorldwide(): boolean {
return this.code === 'INT'
}
serialize(): RegionSerializedData {
return {
code: this.code,
name: this.name,
countryCodes: this.countryCodes.all(),
countries: this.countries.map((country: Country) => country.serialize()).all(),
subdivisions: this.subdivisions
.map((subdivision: Subdivision) => subdivision.serialize())
.all()
}
}
deserialize(data: RegionSerializedData): this {
this.code = data.code
this.name = data.name
this.countryCodes = new Collection(data.countryCodes)
this.countries = new Collection(data.countries).map((data: CountrySerializedData) =>
new Country().deserialize(data)
)
this.subdivisions = new Collection(data.subdivisions).map((data: SubdivisionSerializedData) =>
new Subdivision().deserialize(data)
)
return this
}
}

View file

@ -1,26 +1,64 @@
import { URL, Collection, Dictionary } from '@freearhey/core'
import { Feed, Channel, Category, Region, Subdivision, Country, Language } from './index'
import { URL, Collection, Dictionary } from '@freearhey/core'
import type { StreamData } from '../types/stream'
import parser from 'iptv-playlist-parser'
import { IssueData } from '../core'
export class Stream {
name: string
name?: string
url: string
id?: string
groupTitle: string
channelId?: string
channel?: Channel
feedId?: string
feed?: Feed
filepath?: string
line: number
line?: number
label?: string
verticalResolution?: number
isInterlaced?: boolean
httpReferrer?: string
httpUserAgent?: string
referrer?: string
userAgent?: string
groupTitle: string = 'Undefined'
removed: boolean = false
constructor(data: parser.PlaylistItem) {
constructor(data?: StreamData) {
if (!data) return
const id = data.channel && data.feed ? [data.channel, data.feed].join('@') : data.channel
const { verticalResolution, isInterlaced } = parseQuality(data.quality)
this.id = id || undefined
this.channelId = data.channel || undefined
this.feedId = data.feed || undefined
this.name = data.name || undefined
this.url = data.url
this.referrer = data.referrer || undefined
this.userAgent = data.user_agent || undefined
this.verticalResolution = verticalResolution || undefined
this.isInterlaced = isInterlaced || undefined
this.label = data.label || undefined
}
update(issueData: IssueData): this {
const data = {
label: issueData.getString('label'),
quality: issueData.getString('quality'),
httpUserAgent: issueData.getString('httpUserAgent'),
httpReferrer: issueData.getString('httpReferrer'),
newStreamUrl: issueData.getString('newStreamUrl')
}
if (data.label !== undefined) this.label = data.label
if (data.quality !== undefined) this.setQuality(data.quality)
if (data.httpUserAgent !== undefined) this.userAgent = data.httpUserAgent
if (data.httpReferrer !== undefined) this.referrer = data.httpReferrer
if (data.newStreamUrl !== undefined) this.url = data.newStreamUrl
return this
}
fromPlaylistItem(data: parser.PlaylistItem): this {
if (!data.name) throw new Error('"name" property is required')
if (!data.url) throw new Error('"url" property is required')
@ -37,15 +75,16 @@ export class Stream {
this.verticalResolution = verticalResolution || undefined
this.isInterlaced = isInterlaced || undefined
this.url = data.url
this.httpReferrer = data.http.referrer || undefined
this.httpUserAgent = data.http['user-agent'] || undefined
this.groupTitle = 'Undefined'
this.referrer = data.http.referrer || undefined
this.userAgent = data.http['user-agent'] || undefined
return this
}
withChannel(channelsGroupedById: Dictionary): this {
withChannel(channelsKeyById: Dictionary): this {
if (!this.channelId) return this
this.channel = channelsGroupedById.get(this.channelId)
this.channel = channelsKeyById.get(this.channelId)
return this
}
@ -78,12 +117,6 @@ export class Stream {
return this
}
setLabel(label: string): this {
this.label = label
return this
}
setQuality(quality: string): this {
const { verticalResolution, isInterlaced } = parseQuality(quality)
@ -93,16 +126,8 @@ export class Stream {
return this
}
setHttpUserAgent(httpUserAgent: string): this {
this.httpUserAgent = httpUserAgent
return this
}
setHttpReferrer(httpReferrer: string): this {
this.httpReferrer = httpReferrer
return this
getLine(): number {
return this.line || -1
}
setFilepath(filepath: string): this {
@ -133,12 +158,12 @@ export class Stream {
return this.filepath || ''
}
getHttpReferrer(): string {
return this.httpReferrer || ''
getReferrer(): string {
return this.referrer || ''
}
getHttpUserAgent(): string {
return this.httpUserAgent || ''
getUserAgent(): string {
return this.userAgent || ''
}
getQuality(): string {
@ -198,14 +223,6 @@ export class Stream {
return Object.assign(Object.create(Object.getPrototypeOf(this)), this)
}
hasName(): boolean {
return !!this.name
}
noName(): boolean {
return !this.name
}
hasChannel() {
return !!this.channel
}
@ -281,8 +298,12 @@ export class Stream {
return this?.channel?.logo || ''
}
getName(): string {
return this.name || ''
}
getTitle(): string {
let title = `${this.name}`
let title = `${this.getName()}`
if (this.getQuality()) {
title += ` (${this.getQuality()})`
@ -303,30 +324,13 @@ export class Stream {
return this.id || ''
}
data() {
return {
id: this.id,
channel: this.channel,
feed: this.feed,
filepath: this.filepath,
label: this.label,
name: this.name,
verticalResolution: this.verticalResolution,
isInterlaced: this.isInterlaced,
url: this.url,
httpReferrer: this.httpReferrer,
httpUserAgent: this.httpUserAgent,
line: this.line
}
}
toJSON() {
return {
channel: this.channelId || null,
feed: this.feedId || null,
url: this.url,
referrer: this.httpReferrer || null,
user_agent: this.httpUserAgent || null,
referrer: this.referrer || null,
user_agent: this.userAgent || null,
quality: this.getQuality() || null
}
}
@ -338,25 +342,25 @@ export class Stream {
output += ` tvg-logo="${this.getLogo()}" group-title="${this.groupTitle}"`
}
if (this.httpReferrer) {
output += ` http-referrer="${this.httpReferrer}"`
if (this.referrer) {
output += ` http-referrer="${this.referrer}"`
}
if (this.httpUserAgent) {
output += ` http-user-agent="${this.httpUserAgent}"`
if (this.userAgent) {
output += ` http-user-agent="${this.userAgent}"`
}
output += `,${this.getTitle()}`
if (this.httpReferrer) {
output += `\n#EXTVLCOPT:http-referrer=${this.httpReferrer}`
if (this.referrer) {
output += `\r\n#EXTVLCOPT:http-referrer=${this.referrer}`
}
if (this.httpUserAgent) {
output += `\n#EXTVLCOPT:http-user-agent=${this.httpUserAgent}`
if (this.userAgent) {
output += `\r\n#EXTVLCOPT:http-user-agent=${this.userAgent}`
}
output += `\n${this.url}`
output += `\r\n${this.url}`
return output
}
@ -379,8 +383,12 @@ function escapeRegExp(text) {
return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
}
function parseQuality(quality: string): { verticalResolution: number; isInterlaced: boolean } {
let [, verticalResolutionString] = quality.match(/^(\d+)/) || [null, undefined]
function parseQuality(quality: string | null): {
verticalResolution: number | null
isInterlaced: boolean | null
} {
if (!quality) return { verticalResolution: null, isInterlaced: null }
const [, verticalResolutionString] = quality.match(/^(\d+)/) || [null, undefined]
const isInterlaced = /i$/i.test(quality)
let verticalResolution = 0
if (verticalResolutionString) verticalResolution = parseInt(verticalResolutionString)

View file

@ -1,26 +1,41 @@
import { SubdivisionData, SubdivisionSerializedData } from '../types/subdivision'
import { Dictionary } from '@freearhey/core'
import { Country } from '.'
type SubdivisionData = {
code: string
name: string
country: string
}
export class Subdivision {
code: string
name: string
countryCode: string
country?: Country
constructor(data: SubdivisionData) {
constructor(data?: SubdivisionData) {
if (!data) return
this.code = data.code
this.name = data.name
this.countryCode = data.country
}
withCountry(countriesGroupedByCode: Dictionary): this {
this.country = countriesGroupedByCode.get(this.countryCode)
withCountry(countriesKeyByCode: Dictionary): this {
this.country = countriesKeyByCode.get(this.countryCode)
return this
}
serialize(): SubdivisionSerializedData {
return {
code: this.code,
name: this.name,
countryCode: this.code,
country: this.country ? this.country.serialize() : undefined
}
}
deserialize(data: SubdivisionSerializedData): this {
this.code = data.code
this.name = data.name
this.countryCode = data.countryCode
this.country = data.country ? new Country().deserialize(data.country) : undefined
return this
}

View file

@ -18,8 +18,8 @@ export class Timezone {
this.countryCodes = new Collection(data.countries)
}
withCountries(countriesGroupedByCode: Dictionary): this {
this.countries = this.countryCodes.map((code: string) => countriesGroupedByCode.get(code))
withCountries(countriesKeyByCode: Dictionary): this {
this.countries = this.countryCodes.map((code: string) => countriesKeyByCode.get(code))
return this
}

5
scripts/types/blocklistRecord.d.ts vendored Normal file
View file

@ -0,0 +1,5 @@
export type BlocklistRecordData = {
channel: string
reason: string
ref: string
}

9
scripts/types/category.d.ts vendored Normal file
View file

@ -0,0 +1,9 @@
export type CategorySerializedData = {
id: string
name: string
}
export type CategoryData = {
id: string
name: string
}

52
scripts/types/channel.d.ts vendored Normal file
View file

@ -0,0 +1,52 @@
import { Collection } from '@freearhey/core'
import type { CountrySerializedData } from './country'
import type { SubdivisionSerializedData } from './subdivision'
import type { CategorySerializedData } from './category'
export type ChannelSerializedData = {
id: string
name: string
altNames: string[]
network?: string
owners: string[]
countryCode: string
country?: CountrySerializedData
subdivisionCode?: string
subdivision?: SubdivisionSerializedData
cityName?: string
categoryIds: string[]
categories?: CategorySerializedData[]
isNSFW: boolean
launched?: string
closed?: string
replacedBy?: string
website?: string
logo: string
}
export type ChannelData = {
id: string
name: string
alt_names: string[]
network: string
owners: Collection
country: string
subdivision: string
city: string
categories: Collection
is_nsfw: boolean
launched: string
closed: string
replaced_by: string
website: string
logo: string
}
export type ChannelSearchableData = {
id: string
name: string
altNames: string[]
guideNames: string[]
streamNames: string[]
feedFullNames: string[]
}

20
scripts/types/country.d.ts vendored Normal file
View file

@ -0,0 +1,20 @@
import type { LanguageSerializedData } from './language'
import type { SubdivisionSerializedData } from './subdivision'
import type { RegionSerializedData } from './region'
export type CountrySerializedData = {
code: string
name: string
flag: string
languageCode: string
language: LanguageSerializedData | null
subdivisions: SubdivisionSerializedData[]
regions: RegionSerializedData[]
}
export type CountryData = {
code: string
name: string
lang: string
flag: string
}

19
scripts/types/dataLoader.d.ts vendored Normal file
View file

@ -0,0 +1,19 @@
import { Storage } from '@freearhey/core'
export type DataLoaderProps = {
storage: Storage
}
export type DataLoaderData = {
countries: object | object[]
regions: object | object[]
subdivisions: object | object[]
languages: object | object[]
categories: object | object[]
blocklist: object | object[]
channels: object | object[]
feeds: object | object[]
timezones: object | object[]
guides: object | object[]
streams: object | object[]
}

27
scripts/types/dataProcessor.d.ts vendored Normal file
View file

@ -0,0 +1,27 @@
import { Collection, Dictionary } from '@freearhey/core'
export type DataProcessorData = {
blocklistRecordsGroupedByChannelId: Dictionary
subdivisionsGroupedByCountryCode: Dictionary
feedsGroupedByChannelId: Dictionary
guidesGroupedByStreamId: Dictionary
subdivisionsKeyByCode: Dictionary
countriesKeyByCode: Dictionary
languagesKeyByCode: Dictionary
streamsGroupedById: Dictionary
categoriesKeyById: Dictionary
timezonesKeyById: Dictionary
regionsKeyByCode: Dictionary
blocklistRecords: Collection
channelsKeyById: Dictionary
subdivisions: Collection
categories: Collection
countries: Collection
languages: Collection
timezones: Collection
channels: Collection
regions: Collection
streams: Collection
guides: Collection
feeds: Collection
}

12
scripts/types/feed.d.ts vendored Normal file
View file

@ -0,0 +1,12 @@
import { Collection } from '@freearhey/core'
export type FeedData = {
channel: string
id: string
name: string
is_main: boolean
broadcast_area: Collection
languages: Collection
timezones: Collection
video_format: string
}

17
scripts/types/guide.d.ts vendored Normal file
View file

@ -0,0 +1,17 @@
export type GuideSerializedData = {
channelId?: string
feedId?: string
siteDomain: string
siteId: string
siteName: string
languageCode: string
}
export type GuideData = {
channel: string
feed: string
site: string
site_id: string
site_name: string
lang: string
}

9
scripts/types/language.d.ts vendored Normal file
View file

@ -0,0 +1,9 @@
export type LanguageSerializedData = {
code: string
name: string
}
export type LanguageData = {
code: string
name: string
}

13
scripts/types/region.d.ts vendored Normal file
View file

@ -0,0 +1,13 @@
export type RegionSerializedData = {
code: string
name: string
countryCodes: string[]
countries?: CountrySerializedData[]
subdivisions?: SubdivisionSerializedData[]
}
export type RegionData = {
code: string
name: string
countries: string[]
}

10
scripts/types/stream.d.ts vendored Normal file
View file

@ -0,0 +1,10 @@
export type StreamData = {
channel: string | null
feed: string | null
name: string | null
url: string
referrer: string | null
user_agent: string | null
quality: string | null
label: string | null
}

12
scripts/types/subdivision.d.ts vendored Normal file
View file

@ -0,0 +1,12 @@
export type SubdivisionSerializedData = {
code: string
name: string
countryCode: string
country?: CountrySerializedData
}
export type SubdivisionData = {
code: string
name: string
country: string
}

View file

@ -1,5 +1,5 @@
#EXTM3U
#EXTINF:-1 tvg-id="AndorraTV.ad",ATV (720p)
https://videos.rtva.ad/live/rtva/playlist.m3u8
#EXTINF:-1 tvg-id="AndorraTV.ad@Web",Andorra TV (1080p)
https://live-edge-eu-1.cdn.enetres.net/56495F77FD124FECA75590A906965F2C022/live-3000/index.m3u8
#EXTINF:-1 tvg-id="AndorraTV.ad",ATV (720p)
https://videos.rtva.ad/live/rtva/playlist.m3u8

View file

@ -2,7 +2,7 @@
#EXTINF:-1 tvg-id="5TV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",5 ԹԻՎԻ (480p) [Not 24/7]
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s6/index.m3u8
#EXTINF:-1 tvg-id="" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",5 ԹԻՎԻ ՊԼՅՈՒՍ (480p) [Not 24/7]
#EXTINF:-1 tvg-id="5TV.am@SD" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",5 ԹԻՎԻ ՊԼՅՈՒՍ (480p) [Not 24/7]
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s9/index.m3u8
#EXTINF:-1 tvg-id="AlJazeera.qa" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Al Jazeera (480p) [Not 24/7]
@ -14,13 +14,13 @@ http://ott-cdn.ucom.am/s69/index.m3u8
#EXTINF:-1 tvg-id="AmediaPremium.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Amedia Premium (480p) [Not 24/7]
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s64/index.m3u8
#EXTINF:-1 tvg-id="BBCNewsEurope.uk" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",BBC World News (480p) [Not 24/7]
#EXTINF:-1 tvg-id="BBCNews.uk@Europe" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",BBC World News (480p) [Not 24/7]
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s24/index.m3u8
#EXTINF:-1 tvg-id="BRIDGE.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",BRIDGE (480p) [Not 24/7]
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s34/index.m3u8
#EXTINF:-1 tvg-id="DWDeutsch.de" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Deutsche Welle (480p) [Not 24/7]
#EXTINF:-1 tvg-id="DW.de@Russian" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Deutsche Welle (480p) [Not 24/7]
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s26/index.m3u8
#EXTINF:-1 tvg-id="FastFunBox.nl" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Fast&Fun Box (480p) [Not 24/7]
@ -35,7 +35,7 @@ http://ott-cdn.ucom.am/s29/index.m3u8
#EXTINF:-1 tvg-id="TiJi.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Tiji (480p) [Not 24/7]
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s59/index.m3u8
#EXTINF:-1 tvg-id="" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Viju Sport (480p) [Not 24/7]
#EXTINF:-1 tvg-id="vijuPlusSport.ru@SD" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Viju Sport (480p) [Not 24/7]
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s38/index.m3u8
#EXTINF:-1 tvg-id="ATV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",АTV ԱԹԻՎԻ (480p) [Not 24/7]
@ -119,7 +119,7 @@ http://ott-cdn.ucom.am/s20/index.m3u8
#EXTINF:-1 tvg-id="ShansonTV.ru" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",Шансон ТВ (480p) [Not 24/7]
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s43/index.m3u8
#EXTINF:-1 tvg-id="" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԱԶԱՏՈՒԹՅՈՒՆ ԹԻՎԻ (480p) [Not 24/7]
#EXTINF:-1 tvg-id="AzatutyunTV.am@SD" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԱԶԱՏՈՒԹՅՈՒՆ ԹԻՎԻ (480p) [Not 24/7]
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s3/index.m3u8
#EXTINF:-1 tvg-id="Armenia1.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԱՐՄԵՆԻԱ (480p) [Not 24/7]
@ -140,7 +140,7 @@ http://ott-cdn.ucom.am/s7/index.m3u8
#EXTINF:-1 tvg-id="ATVTavaTV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԹԱՎԱ ԹԻՎԻ (480p) [Not 24/7]
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s53/index.m3u8
#EXTINF:-1 tvg-id="" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԼԱՎՖՀԱՔ (480p) [Not 24/7]
#EXTINF:-1 tvg-id="FactorTV.am@SD" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԼԱՎՖՀԱՔ (480p) [Not 24/7]
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s48/index.m3u8
#EXTINF:-1 tvg-id="ATVKhaghaliqTV.am" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML,like Gecko) Mobile/15E148",ԽԱՂԱԼԻՔ (480p) [Not 24/7]

View file

@ -5,13 +5,13 @@ http://www.coninfo.net:1935/tvcinco/live1/playlist.m3u8
http://coninfo.net:1935/13maxhd/live13maxtvnuevo/playlist.m3u8
#EXTINF:-1 tvg-id="13MaxTelevision.ar",13Max Televisión (720p)
http://coninfo.net:1935/13maxhd/live13maxtvnuevo_720p/playlist.m3u8
#EXTINF:-1 tvg-id="247CanaldeNoticias.ar" http-referrer="https://cn247.tv/",24/7 Canal de Noticias
#EXTVLCOPT:http-referrer=https://cn247.tv/
https://panel.host-live.com:19360/cn247tv/passthru.m3u8
#EXTINF:-1 tvg-id="247CanaldeNoticias.ar",24/7 Canal de Noticias (720p)
https://panel.dattalive.com/6605140/6605140/playlist.m3u8
#EXTINF:-1 tvg-id="247CanaldeNoticias.ar",24/7 Canal de Noticias (720p)
https://panel.dattalive.com/6605140/smil:6605140.smil/playlist.m3u8
#EXTINF:-1 tvg-id="247CanaldeNoticias.ar" http-referrer="https://cn247.tv/",24/7 Canal de Noticias
#EXTVLCOPT:http-referrer=https://cn247.tv/
https://panel.host-live.com:19360/cn247tv/passthru.m3u8
#EXTINF:-1 tvg-id="A24.ar" http-user-agent="iPhone",A24 (720p)
#EXTVLCOPT:http-user-agent=iPhone
https://g1.vxral-hor.transport.edge-access.net/a15/ngrp:a24-100056_all/a24-100056.m3u8
@ -181,7 +181,7 @@ https://stmv1.cnarlatam.com/cnardeportes2/cnardeportes2/playlist.m3u8
https://stmv1.cnarlatam.com/cnarnoticias/cnarnoticias/playlist.m3u8
#EXTINF:-1 tvg-id="CorrientesTV.ar",Corrientes TV (CTV) (720p)
https://mediacp.hostradios.com.ar:19360/canal7/canal7.m3u8
#EXTINF:-1 tvg-id="",Cosmos TV (720p)
#EXTINF:-1 tvg-id="CosmosTv.ar@SD",Cosmos TV (720p)
https://tv.mediacp.eu:19360/cosmos/cosmos.m3u8
#EXTINF:-1 tvg-id="CPEtv.ar",CPEtv (720p)
https://stream.arcast.live/cpe/ngrp:cpe_all/playlist.m3u8
@ -189,9 +189,9 @@ https://stream.arcast.live/cpe/ngrp:cpe_all/playlist.m3u8
https://stmv1.cnarlatam.com/danncetv/danncetv/playlist.m3u8
#EXTINF:-1 tvg-id="DemosRadioVisual.ar",Demos Radio Visual (720p)
https://panel.dattalive.com/8066/8066/playlist.m3u8
#EXTINF:-1 tvg-id="DirecTVSports.ar",DirecTV Sports (480p) [Geo-blocked]
#EXTINF:-1 tvg-id="DirecTVSports.us@Panregional",DirecTV Sports (480p) [Geo-blocked]
http://190.210.221.119/Processor3_9_chunklist_b1300000.m3u8
#EXTINF:-1 tvg-id="DisneyJuniorLatinAmerica.ar",Disney Junior Latin America (480p)
#EXTINF:-1 tvg-id="DisneyJrLatinAmerica.ar@South",Disney Junior Latin America (480p)
http://168.181.122.234:8000/play/a037/index.m3u8
#EXTINF:-1 tvg-id="ElHistonautaTV.ar",El Histonauta TV (360p)
https://stmv1.cnarlatam.com/elhistonauta/elhistonauta/playlist.m3u8
@ -333,11 +333,11 @@ https://stmv6.voxtvhd.com.br/cineaccion/cineaccion/playlist.m3u8
https://stmv6.voxtvhd.com.br/xtremaanimal/xtremaanimal/playlist.m3u8
#EXTINF:-1 tvg-id="XtremaAnime.ar",Xtrema Anime (360p)
https://stmv1.cnarlatam.com/xtremaanime/xtremaanime/playlist.m3u8
#EXTINF:-1 tvg-id="XtremaCartoons.ar",Xtrema Cartoons (360p)
https://stmv1.cnarlatam.com/cineinfantil/cineinfantil/playlist.m3u8
#EXTINF:-1 tvg-id="XtremaCartoons.ar" http-referrer="https://xtrematv.com/?p=1390",Xtrema Cartoons
#EXTVLCOPT:http-referrer=https://xtrematv.com/?p=1390
https://stmv6.voxtvhd.com.br/xtremacartoons/xtremacartoons/playlist.m3u8
#EXTINF:-1 tvg-id="XtremaCartoons.ar",Xtrema Cartoons (360p)
https://stmv1.cnarlatam.com/cineinfantil/cineinfantil/playlist.m3u8
#EXTINF:-1 tvg-id="XtremaAccion.ar",Xtrema Cine Acción (268p)
https://stmv1.cnarlatam.com/cineaccion/cineaccion/playlist.m3u8
#EXTINF:-1 tvg-id="XtremaAsia.ar",Xtrema Cine Asia (268p)
@ -368,3 +368,9 @@ https://stmv1.cnarlatam.com/xtremaseries/xtremaseries/playlist.m3u8
#EXTINF:-1 tvg-id="XtremaTerror.ar" http-referrer="https://xtrematv.com/?p=1456",Xtrema Terror
#EXTVLCOPT:http-referrer=https://xtrematv.com/?p=1456
https://stmv6.voxtvhd.com.br/cineterror/cineterror/playlist.m3u8
#EXTINF:-1 tvg-id="RetroMagico.ar",Retro Magico (720p)
https://stream.gia.tv/giatv/giatv-retromagico/retromagico/playlist.m3u8
#EXTINF:-1 tvg-id="XLevelMedia.ar",X Level Media (1080p)
https://tuvideoonline.com.ar:3332/live/xlevelmedialive.m3u8
#EXTINF:-1 tvg-id="RadioConexionWebTV.ar",Radio Conexion Web TV (720p)
https://tuvideoonline.com.ar:3391/live/radioconexionlive.m3u8

View file

@ -27,9 +27,9 @@ https://bitcdn-kronehit.bitmovin.com/v2/hls/playlist.m3u8
https://streaming13.huberwebmedia.at/LiveApp/streams/985585225397790082777809.m3u8
#EXTINF:-1 tvg-id="Okto.at",Okto TV (1080p)
https://cdn3.wowza.com/1/MHFtazJReW5rOFhP/N2NWNDZ2/hls/live/playlist.m3u8
#EXTINF:-1 tvg-id="ORF1HD.at",ORF 1 HD
#EXTINF:-1 tvg-id="ORF1.at@HD",ORF 1 HD
https://s6.hopslan.com/orfx11/index.m3u8
#EXTINF:-1 tvg-id="ORF1HD.at" http-referrer="https://livestreamde.com/",ORF 1 HD
#EXTINF:-1 tvg-id="ORF1.at@HD" http-referrer="https://livestreamde.com/",ORF 1 HD
#EXTVLCOPT:http-referrer=https://livestreamde.com/
https://strm.hdtvizlecanli.com/live/orf1.m3u8
#EXTINF:-1 tvg-id="ORF2.at",ORF 2 (720p)

View file

@ -1,83 +1,83 @@
#EXTM3U
#EXTINF:-1 tvg-id="",48 Hours
#EXTINF:-1 tvg-id="48Hours.us@SD",48 Hours
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/651432fa98020f000878b407/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1c2b30-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2882b967-2b16-4fb7-ad00-ca48535d1336
#EXTINF:-1 tvg-id="",90210
#EXTINF:-1 tvg-id="90210.us@SD",90210
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a67dd13af63d0008257f17/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1c5240-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6e62cae5-9404-4e52-8b20-c5fc2b453e9d
#EXTINF:-1 tvg-id="",Action Sports
#EXTINF:-1 tvg-id="ActionSports.us@Austria",Action Sports
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5be1be871843b56328bc3ef1/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1c5241-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5f4b1024-61ca-4918-b727-2ee2d9fe6398
#EXTINF:-1 tvg-id="",AKIBA PASS TV Anime: Sport
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/659e598ab9adc4000843c574/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1c5242-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=77cfb04f-c3c0-44b8-b6e2-07ddce76c467
#EXTINF:-1 tvg-id="",Alle hassen Chris
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/622f6e1e2792150007e0b2ff/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1c5243-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c4da2851-e246-4700-96b3-3b691764616a
#EXTINF:-1 tvg-id="",Anger Management
#EXTINF:-1 tvg-id="AngerManagementChannel.us@SD",Anger Management
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655ca57e4261ca00080b3a04/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1c7950-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3058913d-2c94-48ef-9802-0dd55d2f6591
#EXTINF:-1 tvg-id="",Assassination Classroom
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a7d99f4a10d800086083a9/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1c7951-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=21a7b417-879a-4f02-8497-8a823880cbe4
#EXTINF:-1 tvg-id="",Auction Hunters
#EXTINF:-1 tvg-id="PlutoTVAuctionHunters.us@SD",Auction Hunters
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ede45d077746000072be0fe/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1c7952-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=419716ea-defd-40f9-9cfe-81ca78138875
#EXTINF:-1 tvg-id="",Auf Achse
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/61fbf91afb1b10000880dd08/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1c7953-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=579b45d5-6dd7-46c5-bf99-ff4de12ce423
#EXTINF:-1 tvg-id="",Auto Motor Sport
#EXTINF:-1 tvg-id="AutoMotorogSportTV.no@SD",Auto Motor Sport
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f760c3d41aa2d0007bfde19/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1c7954-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=419fb478-b5bb-4f2f-b6f0-d53563fbc250
#EXTINF:-1 tvg-id="",Avatar
#EXTINF:-1 tvg-id="PlutoTVAvatar.us@SD",Avatar
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/600adbdf8c554e00072125c9/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ca060-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c480aed6-08b6-4f7d-9964-40220005ecb8
#EXTINF:-1 tvg-id="",Avatar OV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65819d3514fbe4000880ef26/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ca061-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ea746a7f-2da6-4da9-a6b9-0e2e862c7e09
#EXTINF:-1 tvg-id="",Awkward
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bc1784120ba80007935aaa/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ca062-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=50a5387f-9836-4d86-abe5-44dbc233ba2e
#EXTINF:-1 tvg-id="",Baywatch
#EXTINF:-1 tvg-id="Baywatch.us@Austria",Baywatch
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65819e62b228b70008570e9f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ca063-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f0769dd4-6475-4c1e-9a06-d8d9ec69d7b7
#EXTINF:-1 tvg-id="",BBC Travel
#EXTINF:-1 tvg-id="BBCTravel.us@Austria",BBC Travel
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/60e4519e6873180007d3cddb/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ca064-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=12cb58bd-609a-4a2f-9905-c2bb4ea0def1
#EXTINF:-1 tvg-id="",Becker
#EXTINF:-1 tvg-id="AlanBeckerTV.us@SD",Becker
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/630348a54c48ce00077eb6c7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ca065-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c5b43dd2-234d-4338-9a94-c40967ccbed6
#EXTINF:-1 tvg-id="",Bellator MMA
#EXTINF:-1 tvg-id="BellatorMMA.us@SD",Bellator MMA
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63ecbedda9957100089ca486/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cc770-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6ec515b7-6205-4240-a742-81047fffc0a2
#EXTINF:-1 tvg-id="",Beverly Hills 90210
#EXTINF:-1 tvg-id="BeverlyHills90210.us@Austria",Beverly Hills 90210
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/60afb576053df900076fa2f0/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cc771-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7827fcde-c024-4bff-bf8d-b4c1683dc7e1
#EXTINF:-1 tvg-id="",Bewegte Männer
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64105834925bd50008f5cde5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cc772-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=568665d5-d73f-4d43-9de6-aa3b46e8ea1e
#EXTINF:-1 tvg-id="",Beyblade Burst
#EXTINF:-1 tvg-id="BeybladeBurst.us@Austria",Beyblade Burst
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b551ddcd25500072c4dad/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cc773-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=05241908-fcb3-42fc-9830-f854ff77aaee
#EXTINF:-1 tvg-id="",Big Time Rush
#EXTINF:-1 tvg-id="BigTimeRush.us@Austria",Big Time Rush
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/663385cd06839f0008e00e93/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cc774-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6d0aa27c-1d61-4798-84aa-6423e65a4423
#EXTINF:-1 tvg-id="",Billiard TV
#EXTINF:-1 tvg-id="BilliardTV.us@SD",Billiard TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65df0cff66eec8000897b3a4/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cc775-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=36e4c683-680e-486f-91f0-ce1f0f88c4b6
#EXTINF:-1 tvg-id="",Blaze und die Monstermaschinen
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b60419becf60008c841fd/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cc776-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6481e761-19c2-4479-848a-03b08cd2ee8e
#EXTINF:-1 tvg-id="",Bloch Erklärt
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/654a2c1ff9cc82000867dada/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cc777-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=40dc222a-086b-4d8c-8483-24bd5b977178
#EXTINF:-1 tvg-id="",Blue's Clues
#EXTINF:-1 tvg-id="BluesClues.us@Austria",Blue's Clues
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b564ff59d130007363823/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cee80-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d0bfaa97-78e4-4f29-a3cc-b77be2e970b1
#EXTINF:-1 tvg-id="",Bubble Guppies
#EXTINF:-1 tvg-id="BubbleGuppies.us@Austria",Bubble Guppies
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b5a4bb7da5c0007e5c9e9/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cee81-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=463074db-dca9-4056-97f7-eda9fddb9e5f
#EXTINF:-1 tvg-id="",Car Chase
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a93a9d3af63d00082c4850/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cee82-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=851800ef-7ea9-4860-b74b-c1fdff346372
#EXTINF:-1 tvg-id="CBSNews247.us",CBS News 24/7
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62441d6ded1827000763dcda/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cee83-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4bddfb08-ac57-4769-a092-8bfc7ce71e23
#EXTINF:-1 tvg-id="",CC Made in Germany
#EXTINF:-1 tvg-id="CCMadeinGermany.us@Austria",CC Made in Germany
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d4948418101147596fd6c5a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cee84-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b7523d3b-53d5-4c5c-a4fe-a4665e244aaa
#EXTINF:-1 tvg-id="",CC Pluto TV
#EXTINF:-1 tvg-id="CCPlutoTV.us@Austria",CC Pluto TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d4947590ba40f75dc29c26b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cee85-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d4f2b464-b492-46cb-a04f-1d92f4f0632a
#EXTINF:-1 tvg-id="",Chaos City
#EXTINF:-1 tvg-id="ChaosCity.us@Austria",Chaos City
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/60afbad343e3840007164348/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cee86-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ca3136b0-37bd-40d7-b812-6644e5be773f
#EXTINF:-1 tvg-id="",Cheers
#EXTINF:-1 tvg-id="Cheers.us@Austria",Cheers
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/611e7f224676bf00076a4d8d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cee87-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=24ad2bd4-299f-4716-aef9-02a85807bad5
#EXTINF:-1 tvg-id="",Çilek Kokusu Strawberry Smell
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/66338e3e23e24f000847f4ae/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1cee88-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=318d5058-0a29-4217-9da2-b641ed31ba84
#EXTINF:-1 tvg-id="",Clarissa
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bc1957e4da730007195dc3/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d1590-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=67b4ae5a-ee93-4db5-8ab7-942fde0da3c5
#EXTINF:-1 tvg-id="",Clubbing TV
#EXTINF:-1 tvg-id="ClubbingTV.us@Austria",Clubbing TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f984784ccb4de0007dfad74/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d1591-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f172947b-b59e-48be-9382-85fe6446e954
#EXTINF:-1 tvg-id="",Coast Guard
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64eddd96abcba80008d03b74/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d1592-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3be8d0f6-8bc2-4821-8e4e-430339ab67d7
#EXTINF:-1 tvg-id="",Cold Blood
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/656064752c46f300087e9c99/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d1593-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4e98d1a8-bfb1-4e2c-a957-60357c97ba15
#EXTINF:-1 tvg-id="",Comedy Central South Park
#EXTINF:-1 tvg-id="ComedyCentralSouthPark.us@Austria",Comedy Central South Park
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/60c716084d842c00085f6e64/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d1594-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=fbd5d12a-3038-48f9-8f7c-5231014bff13
#EXTINF:-1 tvg-id="",Community
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6523ca21a70bf000081fe675/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d1595-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=488f5c6e-5fba-4e0d-8b3b-85a58132944e
#EXTINF:-1 tvg-id="",Dark Matter
#EXTINF:-1 tvg-id="DarkMatterTV.us@SD",Dark Matter
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e843d849109b700075d5ada/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d3ca0-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6893d11a-d794-409e-a9f2-0afb2b6100aa
#EXTINF:-1 tvg-id="",Das Geheimnis der Hunters
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63d9107e60bc8f0008a1d9ed/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d3ca1-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0e0f67f8-eeeb-4333-8628-2a462b668bd3
@ -105,19 +105,19 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6447df8cd3fdde0008f1f627/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d63b6-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=61fd0bc7-a796-4f7e-b012-6bced3a297ed
#EXTINF:-1 tvg-id="",Dittsche
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/61fbfa1a9e38ec0007a395b7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d8ac0-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=50fd83c9-2e3e-48ce-b2b1-1d1e71349c96
#EXTINF:-1 tvg-id="",Dora TV
#EXTINF:-1 tvg-id="DoraTV.us@Austria",Dora TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e43c344b54fe800093552f4/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d8ac1-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e1016659-7172-477d-af6b-c71407ba2a5a
#EXTINF:-1 tvg-id="",Drake & Josh
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a67c494a10d800085cab06/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d8ac2-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=21f677bd-eae9-4c92-b0c5-ad664796ccf0
#EXTINF:-1 tvg-id="",Ein Engel auf Erden
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/622f487722d9d400075f74dd/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d8ac3-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=afbd6aab-03f2-4c6e-8850-7a0f7f4a3a60
#EXTINF:-1 tvg-id="",Emma einfach magisch!
#EXTINF:-1 tvg-id="EmmaeinfachmagischNick.us@Austria",Emma einfach magisch!
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f4796368174910007756454/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d8ac4-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a05d126a-1903-4adf-85c8-55259cc392f6
#EXTINF:-1 tvg-id="",Euronews
#EXTINF:-1 tvg-id="EuronewsGerman.fr@SD",Euronews
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6639d7d4b18d700008da5316/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1d8ac5-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c0d21e0b-3cc9-4c67-81b6-e33e50a7d888
#EXTINF:-1 tvg-id="",F.B.I. Files
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64eddce19001910008df22b8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1db1d0-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c68735b3-0d52-4773-a642-eee6dbdabda0
#EXTINF:-1 tvg-id="",FailArmy
#EXTINF:-1 tvg-id="FailArmy.us@Austria",FailArmy
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ad9b7ffe738977e2c312133/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1db1d1-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=bc69234c-f1b7-4cf1-9e56-55b23f754867
#EXTINF:-1 tvg-id="",Familie Dr. Kleist
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65819f14b9adc4000813ee39/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1db1d2-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=10416fc7-977b-4991-89e7-52d2e7695c82
@ -127,7 +127,7 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6305ca798bd95300072d2f93/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1db1d4-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4a90c28a-e616-4ce8-bd9d-18ee8820eede
#EXTINF:-1 tvg-id="",Fluss-Monster
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62a0b2aff4cf470007e47e29/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1dd8e0-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b3b152b8-edcd-4f53-9fdd-0fec17368488
#EXTINF:-1 tvg-id="",Frasier
#EXTINF:-1 tvg-id="Frasier.us@Austria",Frasier
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62cebf042ffc6d0007c4e59a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1dd8e1-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=93a1fd73-2968-4d81-b6fb-bcaca3db87db
#EXTINF:-1 tvg-id="",Freitag Nacht News
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64be64070e086a0009d7b028/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1dd8e2-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=bed1f18d-fc72-4448-ac3d-a21b6f9f8603
@ -139,23 +139,23 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/654a2bfeab05240008a12881/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1dd8e5-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5428c2f0-95ae-4119-99a3-e0051405de6c
#EXTINF:-1 tvg-id="",Germany Shore
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6447dea7e94c380008dba94c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1dd8e6-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5f9f4951-a4da-4d64-b310-30e3d35efdca
#EXTINF:-1 tvg-id="",Goldstar TV
#EXTINF:-1 tvg-id="GoldstarTVGermany.us@Austria",Goldstar TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6192396135f3910007fc5fc7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1dfff0-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=95d4ef6d-a51e-4ee2-b6d2-bff9e219717f
#EXTINF:-1 tvg-id="",Hausmeister Krause
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/622f6faf65be650007f57aab/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1dfff1-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b60059bd-5a20-4ba8-a7e8-cc258991073c
#EXTINF:-1 tvg-id="",Hawaii Fünf-Null
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6349259d1d90320007fcb1d9/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1dfff2-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=24e33583-0ad8-4b52-8d6c-5ebb6db17710
#EXTINF:-1 tvg-id="",Hell's Kitchen
#EXTINF:-1 tvg-id="HellsKitchen.us@Austria",Hell's Kitchen
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/644257fe7cb4b100081ed874/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1dfff3-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7b7e432f-2d49-4cd8-8764-94e38b421dbb
#EXTINF:-1 tvg-id="",Hot Ones
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655ca3839d5ac400080d14ec/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1dfff4-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f4026554-ef22-4c86-818d-18371f9458ea
#EXTINF:-1 tvg-id="",Hours to Kill Zeitachse des Todes
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/656064e74261ca00081812a9/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1dfff5-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a3ceee80-9777-46f1-8004-ade52d4f7837
#EXTINF:-1 tvg-id="",iCarly
#EXTINF:-1 tvg-id="iCarly.us@Austria",iCarly
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b580a233dc90007f0cb9d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e2700-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=75f70a10-5059-4484-8b19-d938b9bca695
#EXTINF:-1 tvg-id="",Ice Pilots
#EXTINF:-1 tvg-id="IcePilots.us@Austria",Ice Pilots
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ce40f42ba7f7f5ea9518fe1/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e2701-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=222c4206-ad06-4ed1-92c8-8b5ca13adcdb
#EXTINF:-1 tvg-id="",Inspector Gadget
#EXTINF:-1 tvg-id="InspectorGadget.us@Austria",Inspector Gadget
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5dbc2d1ce10f0b0009e6cf9e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e2702-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=59ae8de3-09bd-422d-9912-76f3fb1aa47e
#EXTINF:-1 tvg-id="",Instant Mom
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63905b9e799ff100077037a8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e2703-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6ec0fb93-30d5-400c-a147-18cbcd18cc80
@ -169,77 +169,77 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65dde626ec9fda0008b3dc89/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e4e11-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=727569e6-65e5-4a22-95f4-4a49ad873452
#EXTINF:-1 tvg-id="",Kultkrimi: Derrick
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65dde5848145cb00083277f6/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e4e12-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=861dbd89-f556-4111-ac1b-8aacc40bf6fb
#EXTINF:-1 tvg-id="",Love Boat
#EXTINF:-1 tvg-id="TheLoveBoat.us@SD",Love Boat
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655ca3d1fbc15b00081f1186/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e4e13-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=157cb33e-83b4-4ce8-ab8f-4d9585e6e0dd
#EXTINF:-1 tvg-id="",Marco Polo TV
#EXTINF:-1 tvg-id="MarcoPoloTV.de@SD",Marco Polo TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65004cf398020f00084ca8bc/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e4e14-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=86370235-72a6-4e96-963e-db24b49333fb
#EXTINF:-1 tvg-id="",Melrose Place
#EXTINF:-1 tvg-id="PlutoTVMelrosePlace.us@Austria",Melrose Place
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64be745340962900080b55e7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e4e15-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c700e9f8-bef8-4b22-a754-0920b9ce8f86
#EXTINF:-1 tvg-id="",Mission Impossible
#EXTINF:-1 tvg-id="MissionImpossible.us@SD",Mission Impossible
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/634fe5afece2e60007c9d8b8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e7520-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=14cc27cc-2010-480a-b8ad-36e2575adbf7
#EXTINF:-1 tvg-id="",Monster Jam
#EXTINF:-1 tvg-id="MonsterJam.pl@SD",Monster Jam
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65c33f833ef47d00084f47ad/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e7521-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8a8e6e9e-1da8-4436-9538-aa678b671447
#EXTINF:-1 tvg-id="",Mork vom Ork
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642ad2127ef83900085f8910/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e7522-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c358ee19-09a9-48f7-87b3-c1f1cab9bcc0
#EXTINF:-1 tvg-id="",Motorvision
#EXTINF:-1 tvg-id="Motorvision.de@SD",Motorvision
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6093f2ae4dd5ab0007d1ff9d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e7523-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3105f589-5bf9-41ef-8229-51bdf3abb1d2
#EXTINF:-1 tvg-id="",MOVIEDOME
#EXTINF:-1 tvg-id="Moviedome.us@Austria",MOVIEDOME
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/615c1e5ce3039400070a0547/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e7524-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=9855fa27-eb7c-4e5a-852e-4c439515c25d
#EXTINF:-1 tvg-id="",Moviepilot TV mit Pluto TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a67d572fac9c000835eb3a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e9c30-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=78e36af2-8f00-409e-9fb6-605436ac888c
#EXTINF:-1 tvg-id="",MTV Catfish TV Show
#EXTINF:-1 tvg-id="MTVCatfishTVShow.us@Austria",MTV Catfish TV Show
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5db6a697d5f34a000934cd13/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1e9c32-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0e455fb2-5933-41b1-9dd6-9e67c05a465a
#EXTINF:-1 tvg-id="",MTV Music
#EXTINF:-1 tvg-id="MTVMusic.uk",MTV Music
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6245d15062cd1f00070a2338/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ec342-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a56dace8-66e4-4b9a-a55f-d5348160dae2
#EXTINF:-1 tvg-id="",MTV Pluto TV
#EXTINF:-1 tvg-id="MTVPlutoTV.us@Austria",MTV Pluto TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5caf325764025859afdd6c4d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1eea50-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d91aa96f-4975-4e0e-ae56-4a7f2e2383b7
#EXTINF:-1 tvg-id="",MTV Ridiculousness
#EXTINF:-1 tvg-id="MTVRidiculousness.us@Austria",MTV Ridiculousness
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f9847fd513250000728a9a5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1eea52-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f7637460-bb95-4ce8-9c82-0af6b2f51601
#EXTINF:-1 tvg-id="",MTV Serie
#EXTINF:-1 tvg-id="MTVSerie.us@Austria",MTV Serie
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/609536871db47700075a04bf/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1eea54-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8664f23e-3827-4ec7-8de0-6cd69b03e9a7
#EXTINF:-1 tvg-id="",MTV Teen Mom
#EXTINF:-1 tvg-id="MTVTeenMom.us@Austria",MTV Teen Mom
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5cffcf5686dfe15595fb3f56/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1eea55-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7d2ddc91-5fb2-44c2-aeed-f44a38cfe217
#EXTINF:-1 tvg-id="",MTV The Hills
#EXTINF:-1 tvg-id="MTVTheHills.us@Austria",MTV The Hills
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d00e86bf0bac55fe7f75736/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1eea56-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=09cf5ffd-9ee2-4173-a0c0-7fcbc8a58514
#EXTINF:-1 tvg-id="",MTV The Shores
#EXTINF:-1 tvg-id="MTVTheShores.us@Austria",MTV The Shores
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5caf32c2a5068259a32320fc/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f1160-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=fedd9a53-46f2-4eed-8ea9-ef20093e1a28
#EXTINF:-1 tvg-id="",MTV Unplugged
#EXTINF:-1 tvg-id="MTVUnplugged.us@Austria",MTV Unplugged
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f98471110cca20007d39f76/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f1161-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4fc5aaef-19de-4b24-baea-08b5218c6735
#EXTINF:-1 tvg-id="",Myth Hunters
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63d90f828795f300086745b2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f1162-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1404d1db-ddc8-439e-bf14-97073a46e5b0
#EXTINF:-1 tvg-id="",N24 Doku
#EXTINF:-1 tvg-id="N24DokuAustria.at@SD",N24 Doku
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/60080e8a4bf36000076a81b1/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f1163-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3c70bac9-b6d8-44d7-bde9-a992a6bfd7ab
#EXTINF:-1 tvg-id="",Naruto
#EXTINF:-1 tvg-id="Naruto.us@Austria",Naruto
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65d5fc39a25d5e00082895c4/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f1164-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=91b30c33-90e6-47e3-95e6-a297bd00e5df
#EXTINF:-1 tvg-id="",Nick Danger
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62f51e6c34d6f40007f992a6/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f1165-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7bb1fc8f-79c8-4723-a254-ea8861a1e55c
#EXTINF:-1 tvg-id="",Nick Pluto TV
#EXTINF:-1 tvg-id="NickPlutoTV.us@Austria",Nick Pluto TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ede448d3d50590007a4419e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f1166-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=13c43849-7db8-4ef1-bfef-74e513441e1a
#EXTINF:-1 tvg-id="",Nick Space
#EXTINF:-1 tvg-id="NickSpace.us@Austria",Nick Space
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/619b82cc70a9ba00074429e2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f3870-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=049a72e8-4188-4f01-bc67-f697b36df6c5
#EXTINF:-1 tvg-id="",Nick Ukraine
#EXTINF:-1 tvg-id="NickelodeonUkrainePlutoTV.ua@SD",Nick Ukraine
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/622882350f6aad0008c76e77/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f3871-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=27a14e4a-a17d-41ca-bcdb-02eba6ccff9a
#EXTINF:-1 tvg-id="",Nurse Jackie
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a67c7a07e03a00088de834/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f3872-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c6b94fdc-baed-40a3-bf48-79f151084f30
#EXTINF:-1 tvg-id="",Pacific Blue
#EXTINF:-1 tvg-id="PacificBlue.us@Austria",Pacific Blue
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642ad5bd283aa40008064568/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f3873-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=76852c45-b60e-4391-be78-4ff8ba5ee0ba
#EXTINF:-1 tvg-id="",Parker Lewis Der Coole von der Schule
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/650adbe0473a54000846ca0c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f3874-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=00d3c8c3-69fd-4245-a925-f82b3b8c0e03
#EXTINF:-1 tvg-id="",Pensacola Flügel aus Stahl
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655ca4b94261ca00080b38d2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f3875-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7ff305c6-7021-481f-90e3-c8c05fde5a04
#EXTINF:-1 tvg-id="",Perry Mason
#EXTINF:-1 tvg-id="PerryMason.us@SD",Perry Mason
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64eddc3485efec00085b0369/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f3876-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=09f836b5-3c59-462d-95a2-726c229b62d4
#EXTINF:-1 tvg-id="",Pluto TV #1
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/640f4f4083f589000828a544/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f5f80-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=209bc9a8-6a89-4df5-8505-6fdda8f8ab81
#EXTINF:-1 tvg-id="",Pluto TV Animals
#EXTINF:-1 tvg-id="PlutoTVAnimals.us@Austria",Pluto TV Animals
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d767ae7b456c8cf265ce922/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f5f81-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3c749ba3-753d-4787-aa99-051f1037b6b3
#EXTINF:-1 tvg-id="",Pluto TV Anime
#EXTINF:-1 tvg-id="PlutoTVAnime.us@Austria",Pluto TV Anime
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/608181d420fc8500075f612a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f5f82-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=95e1f29c-bf6d-41bb-9fce-486049aaae5d
#EXTINF:-1 tvg-id="",Pluto TV Biografie
#EXTINF:-1 tvg-id="PlutoTVBiografie.us@Austria",Pluto TV Biografie
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/61409b5108ae6e0007f9b189/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f5f83-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f7ab62ef-4c23-4d96-b377-28d2ed0a7fc6
#EXTINF:-1 tvg-id="",Pluto TV Camp
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/661801e871e8c30008a73f7b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f5f84-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d25e56fe-f75b-4794-9fb0-aaa77b92c3b1
#EXTINF:-1 tvg-id="",Pluto TV Crime
#EXTINF:-1 tvg-id="PlutoTVCrime.us@Austria",Pluto TV Crime
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e7b6c60fd20c50007910bf5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f5f85-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=60109df1-c88c-4c39-8421-b4c57f3078c4
#EXTINF:-1 tvg-id="",Pluto TV Crime on the beach
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/666c2b8761a39900088f0c89/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f5f86-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8089d8b1-cb6b-487e-a704-743aeedab3bb
@ -247,71 +247,71 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/66
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/630e00c065cfc10007c6e06b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f8690-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f5cb1d4b-78b7-49ae-9323-87ef9ddac228
#EXTINF:-1 tvg-id="",Pluto TV Dizikolik
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/650b064ad1f20c000856a5a4/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f8691-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=077bb2b8-6d10-47d4-8daa-28e77c432aad
#EXTINF:-1 tvg-id="",Pluto TV Documentaries
#EXTINF:-1 tvg-id="PlutoTVDocumentaries.us@Austria",Pluto TV Documentaries
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5db048f9447d6c0009b8f29d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f8692-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f06a3246-35e9-4b16-85ba-af89649179db
#EXTINF:-1 tvg-id="",Pluto TV Explore
#EXTINF:-1 tvg-id="PlutoTVExplore.us@Austria",Pluto TV Explore
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ad9b8551b95267e225e59c1/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f8693-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=bf2169a4-2ef0-4804-81ed-f3c18de5f07c
#EXTINF:-1 tvg-id="",Pluto TV Food
#EXTINF:-1 tvg-id="PlutoTVFood.us@Austria",Pluto TV Food
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5dc280c9aa218c0009724b4b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f8694-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=84eca92a-b9f7-4788-9295-f3ac89ca3948
#EXTINF:-1 tvg-id="",Pluto TV heiße Nächte
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64526a145a0cd50008632bfa/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f8695-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2a24ebf3-f97e-463b-8588-59963d9183fe
#EXTINF:-1 tvg-id="",Pluto TV History
#EXTINF:-1 tvg-id="PlutoTVHistory.us@Austria",Pluto TV History
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d767b1c126c65d0a307355f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1f8696-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=48a854a2-55e8-45ea-9da1-dc34e62691ed
#EXTINF:-1 tvg-id="",Pluto TV Home
#EXTINF:-1 tvg-id="PlutoTVHome.us@Austria",Pluto TV Home
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5eb96303f5bb020008e7e44f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1fada0-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ede1cd55-a9ba-4c6b-b9b8-13f955d178da
#EXTINF:-1 tvg-id="",Pluto TV Horror
#EXTINF:-1 tvg-id="PlutoTVHorror.us@Austria",Pluto TV Horror
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62f4f4b88157cf00075c22db/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1fada1-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=98b1a14f-8335-48c9-a8f3-2e1926d24a7e
#EXTINF:-1 tvg-id="",Pluto TV Indies
#EXTINF:-1 tvg-id="PlutoTVIndies.us@Austria",Pluto TV Indies
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ce40e59246a395e9758923e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1fada2-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b34deef6-b94f-4078-bba5-a4956162fff7
#EXTINF:-1 tvg-id="",Pluto TV Kids
#EXTINF:-1 tvg-id="PlutoTVKids.us@Austria",Pluto TV Kids
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ad9b648e738977e2c312131/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1fada3-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f7c2181e-b38a-44dc-b46f-bce29df214e8
#EXTINF:-1 tvg-id="",Pluto TV Kino Filme
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63c9430af13a9b000786422a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1fada4-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=df22680c-4463-447d-96d2-2963eae5cc1b
#EXTINF:-1 tvg-id="",Pluto TV Knallhart
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65004605110545000842035d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1fada5-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=cba5d6e1-43a7-4ec8-9d78-67dbcdf7c324
#EXTINF:-1 tvg-id="",Pluto TV Kultfilme
#EXTINF:-1 tvg-id="PlutoTVKultfilme.us@Austria",Pluto TV Kultfilme
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5dde47b63585b500099f74ec/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1fd4b0-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=03130bd3-7919-4831-bc2e-4f5c3b202f88
#EXTINF:-1 tvg-id="",Pluto TV liebt John Wayne
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65ef0f9d2873090008be19df/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1fd4b1-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e8ba2b60-be98-43fa-888b-819568fed937
#EXTINF:-1 tvg-id="",Pluto TV Lives
#EXTINF:-1 tvg-id="PlutoTVLives.us@Austria",Pluto TV Lives
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5db04b360fa2560009deb3de/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1fd4b2-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b593fd23-3248-4f50-a183-67fb2ea074d7
#EXTINF:-1 tvg-id="",Pluto TV Maschinen
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655ca662fbc15b00081f18fc/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1fd4b3-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=be332bdc-17a6-43dd-a2b3-d0b0027370d2
#EXTINF:-1 tvg-id="",Pluto TV Movies
#EXTINF:-1 tvg-id="PlutoTVMovies.us@Austria",Pluto TV Movies
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5c5c3b948002db3c3e0b262e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1fd4b4-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c0b9dcc7-8579-47a9-a718-88e7ec066b8a
#EXTINF:-1 tvg-id="",Pluto TV Mystery
#EXTINF:-1 tvg-id="PlutoTVMystery.us@Austria",Pluto TV Mystery
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/617aad99b68ef100072608cd/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ffbc0-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=19b60fec-0997-451e-bdc1-b8a92cd099cf
#EXTINF:-1 tvg-id="",Pluto TV Nature
#EXTINF:-1 tvg-id="PlutoTVNature.us@Austria",Pluto TV Nature
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5be1c3f9851dd5632e2c91b2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ffbc1-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e79c49d9-6474-4184-9d9d-a3633162a2cc
#EXTINF:-1 tvg-id="",Pluto TV Paranormal
#EXTINF:-1 tvg-id="PlutoTVParanormal.us@Austria",Pluto TV Paranormal
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f98487036af340008da1e37/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ffbc2-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4f60ee0b-b8ee-4fd5-b67b-d928a7e37591
#EXTINF:-1 tvg-id="",Pluto TV Polizeiserien
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64be64445dc166000899ce75/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ffbc3-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=52239dde-3e69-4840-8825-c224d9ed739a
#EXTINF:-1 tvg-id="",Pluto TV Power Frauen
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/625423185e237b0007f6764e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ffbc4-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1492fdd4-7af0-4237-b80b-620bca3a3744
#EXTINF:-1 tvg-id="",Pluto TV Retro Toons
#EXTINF:-1 tvg-id="PlutoTVRetroToons.us@Austria",Pluto TV Retro Toons
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e1c669094e0e80009b22ab8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ffbc5-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8efd4907-a904-41c6-9f0d-2a48b4c8f716
#EXTINF:-1 tvg-id="",Pluto TV Romance
#EXTINF:-1 tvg-id="PlutoTVRomance.us@Austria",Pluto TV Romance
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5dc287ce3086a20009f5024c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b1ffbc6-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=fb4888c5-7223-4af0-9aec-f74be7f97304
#EXTINF:-1 tvg-id="",Pluto TV Sci-Fi
#EXTINF:-1 tvg-id="PlutoTVSciFi.us@Austria",Pluto TV Sci-Fi
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/60ed498c4248a400077c0b9d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b2022d0-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7622190c-0c5d-4225-bfd1-46b7e034e788
#EXTINF:-1 tvg-id="",Pluto TV Science
#EXTINF:-1 tvg-id="PlutoTVScience.us@Austria",Pluto TV Science
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d767b4889bca2ce7b73ef2e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b2022d1-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d9359c6b-8339-43a0-b9ee-5200b879ac5f
#EXTINF:-1 tvg-id="",Pluto TV Serie
#EXTINF:-1 tvg-id="PlutoTVSerie.us@Austria",Pluto TV Serie
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5dc190f7bfed110009d934c3/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b2022d2-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e7d734a7-ff35-48a1-bfca-2a48e9148931
#EXTINF:-1 tvg-id="",Pluto TV Serie+
#EXTINF:-1 tvg-id="PlutoTVSeriePlus.us@Austria",Pluto TV Serie+
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ddbf866b1862a0009a0648e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b2022d3-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3c45133a-b485-4c8a-a556-fac780df716a
#EXTINF:-1 tvg-id="",Pluto TV Sitcoms
#EXTINF:-1 tvg-id="PlutoTVSitcoms.us@Austria",Pluto TV Sitcoms
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d767ab2b456c8cf265ce921/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b2022d4-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f2671c6a-031c-4fa0-bb07-e94c2b5d08db
#EXTINF:-1 tvg-id="",Pluto TV Sitcoms+
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5cd149f021cb6c55e258bbe8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b2022d5-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8eb7e943-84dc-455f-837c-5a289cb58234
#EXTINF:-1 tvg-id="",Pluto TV Space
#EXTINF:-1 tvg-id="PlutoTVSpace.us@Austria",Pluto TV Space
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/61409f8d6feb30000766b675/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b2022d6-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=23eefcec-8774-42a3-8e77-66e6e59575a3
#EXTINF:-1 tvg-id="",Pluto TV Star Trek
#EXTINF:-1 tvg-id="PlutoTVStarTrek.us@Austria",Pluto TV Star Trek
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6152ee71bf99590007893a11/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b2049e0-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a5c84cd3-495f-49d7-8e48-a79af0d219fc
#EXTINF:-1 tvg-id="",Pluto TV True Crime
#EXTINF:-1 tvg-id="PlutoTVTrueCrime.us@Austria",Pluto TV True Crime
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/615333098185f00008715a56/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b2049e1-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=03c264ad-dc34-4e0b-b96f-6cfb4c0f6b37
#EXTINF:-1 tvg-id="",Pluto TV Western
#EXTINF:-1 tvg-id="PlutoTVWesterns.us@Austria",Pluto TV Western
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/630dd3b2605f140007e002f5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b2049e2-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=59d31236-c94c-43d9-a034-2227dea980c8
#EXTINF:-1 tvg-id="",Pluto TV: Mehr Star Trek
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6500464a3a0d700008b3ce19/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b2049e3-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0339ad23-688e-46c8-84bd-aa793675ab2a
@ -337,7 +337,7 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/66
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64be635a40962900080aaca5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b209802-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=dd3f1fc3-4840-421b-aa93-6670bb219b9a
#EXTINF:-1 tvg-id="",Sabrina Total verhext!
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/622f40c901d4b70007ad7609/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b209803-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=65054aae-377a-4ff9-a879-77d94991662b
#EXTINF:-1 tvg-id="",Sam & Cat
#EXTINF:-1 tvg-id="SamCat.us@Austria",Sam & Cat
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b5ba20af628000707cee3/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b209804-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=9b8168f5-39de-4bfb-b7c6-79d7d063f516
#EXTINF:-1 tvg-id="",Schitt's Creek: David & Patrick!
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/665f01b8a3865300086a233c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b209805-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=201f4491-8b23-42b0-b090-7850461f7489
@ -347,7 +347,7 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/660e97bce8fba8000853d43f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b20bf11-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2bea8df6-8889-4d5b-92d5-8efb963516a7
#EXTINF:-1 tvg-id="",See Dad Run
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63905bcb0f41d200073e05ff/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b20bf12-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=27c86e06-12dd-4459-9fb4-45674d793f3b
#EXTINF:-1 tvg-id="",Simsalabim Sabrina
#EXTINF:-1 tvg-id="SimsalabimSabrina.us@Austria",Simsalabim Sabrina
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5dbc327d0451770009ed7577/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b20bf13-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=157adeb4-870e-458e-ad89-97961b17a971
#EXTINF:-1 tvg-id="",South Park: Butters Collection
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/646b14a0e94c3800082a8d3a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b20bf14-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8115cdeb-f9c4-4c3e-905a-9b4869b09b43
@ -371,17 +371,17 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/66794444efa2a10008ca1b16/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b210d31-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d36c9d60-208a-4d82-be2d-12e67e99658d
#EXTINF:-1 tvg-id="",SpongeBob OV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/667944cb63a5f20008df6ad4/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b210d32-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=69c604ea-558a-45f0-9056-c41927d4a24f
#EXTINF:-1 tvg-id="",SpongeBob Schwammkopf
#EXTINF:-1 tvg-id="SpongeBobSchwammkopf.us@Austria",SpongeBob Schwammkopf
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d00e8adaab96b5635b2a005/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b210d33-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d0e90d58-c732-45e6-912f-8699db8e3f73
#EXTINF:-1 tvg-id="",Star Trek: Deep Space Nine
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a67d200c7ff50008cb131a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b210d34-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=35795be0-a9bf-4b10-b542-2134b369c86c
#EXTINF:-1 tvg-id="",Storage Wars: Canada
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ede464e7be0030007c58b73/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b210d35-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=9e6c7cd6-f0e1-4eec-af2e-bc8a057fa543
#EXTINF:-1 tvg-id="",Strongman
#EXTINF:-1 tvg-id="Strongman.us@Austria",Strongman
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e1452156c07b50009d0230e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b210d36-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a45c300a-b53b-4594-bf5f-64b95aceeedf
#EXTINF:-1 tvg-id="",Sünger Bob Kare Pantolon
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/667943a322acab00089fbd58/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b213440-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5fcc16f3-da14-4c8f-b61b-b54d852d1b90
#EXTINF:-1 tvg-id="",Takeshi's Castle
#EXTINF:-1 tvg-id="TakeshisCastle.us@Austria",Takeshi's Castle
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6054a9f4bc8a5f000771504c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b213441-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=621a6d64-aa90-4bb5-9cb4-9d6dd56346f0
#EXTINF:-1 tvg-id="",Täterjagd
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642abea1283aa4000805bb5b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b213442-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1a665728-c91b-4a5c-84e7-f3f2da5c60cc
@ -395,9 +395,9 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/651e94c930876e000840eb50/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b213446-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=39046ae0-026d-4be3-b95c-b618c6adfd56
#EXTINF:-1 tvg-id="",The Twilight Zone
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64c8dd94e4391c0008eb4742/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b215b50-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ce626662-10d9-4ee9-b61c-1b0dc991c421
#EXTINF:-1 tvg-id="",Top Gear
#EXTINF:-1 tvg-id="TopGear.uk@SD",Top Gear
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64c109735dc1660008a4a2dc/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b215b51-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=55fb26fd-5dba-40cd-a0b1-8de7d0f78acb
#EXTINF:-1 tvg-id="",Totally Turtles
#EXTINF:-1 tvg-id="TotallyTurtles.us@Austria",Totally Turtles
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d6792bd6be2998ad0ccce30/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b215b52-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5daca1df-3fee-4d6a-bb51-db90cf28ee93
#EXTINF:-1 tvg-id="",Totally Turtles (OV)
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ea816a44457070007ffabc7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b215b53-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8980aa41-76aa-4ed3-a9a5-b5277d21bd7f
@ -413,7 +413,7 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/650adb92a1217e00091a3eff/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b218260-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=bdb2ca65-615b-4a1e-a8ec-be86523999bd
#EXTINF:-1 tvg-id="",V.I.P. Die Bodyguards
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/650adc0ba1217e00091a3f4e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b218261-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2eda722d-72e0-4a7f-acd2-56c1091039c3
#EXTINF:-1 tvg-id="",Victorious
#EXTINF:-1 tvg-id="Victorious.us@Austria",Victorious
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b5e43f294f8000793c3d7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b218262-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=42b72c59-dd76-43ab-b435-b2cd12dd6ed1
#EXTINF:-1 tvg-id="",Viper
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642ad6a5aa2d690008ea6d96/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b218263-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0162be0e-f4f2-43a7-b854-e6dce2dd1d3d
@ -429,11 +429,11 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65b38e310d9ab400082bdec2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b21a972-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c1cbb732-a288-42c2-880c-f5720ef18b87
#EXTINF:-1 tvg-id="",Wipeout (OV)
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5eb963c98ec06d00077d63cb/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b21a973-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=640d13de-006c-40b6-b432-f8a940e9fe4e
#EXTINF:-1 tvg-id="",World Poker Tour
#EXTINF:-1 tvg-id="WorldPokerTour.us@Austria",World Poker Tour
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ad9b7aae738977e2c312132/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b21a974-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=97bdb4b6-f530-4173-966d-19421ac303a0
#EXTINF:-1 tvg-id="",X-Factor: Das Unfassbare
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642d7e029189ce0008958af5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b21d080-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=41684c81-e96d-4d50-865f-cb932d6c290f
#EXTINF:-1 tvg-id="",Yu-Gi-Oh!
#EXTINF:-1 tvg-id="YuGiOh.us@SD",Yu-Gi-Oh!
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642d4493aa2d690008f0a03f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b21d081-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1ca5a27f-794c-41ee-b51a-6fbe1b093d0b
#EXTINF:-1 tvg-id="",Yüksek Sosyete High Society
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/66338ce79e68c20008b7e00f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=1b21d082-4b81-11ef-a8ac-e146e4e7be02&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1c94eec0-745e-46a0-91dc-c92ebe00cd91

View file

@ -1,9 +1,9 @@
#EXTM3U
#EXTINF:-1 tvg-id="RakutenTVActionMovies.at",Rakuten TV Action Movies Austria (720p)
#EXTINF:-1 tvg-id="RakutenTVActionMovies.es@Austria",Rakuten TV Action Movies Austria (720p)
https://0f846627524f4dd2995e93581379db82.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung-at_RakutenActionMovies-1/playlist.m3u8
#EXTINF:-1 tvg-id="RakutenTVComedyMovies.at",Rakuten TV Comedy Movies Austria (720p)
#EXTINF:-1 tvg-id="RakutenTVComedyMovies.es@Austria",Rakuten TV Comedy Movies Austria (720p)
https://7ed752b220a441b7b22bdf697c6c4df8.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung-at_RakutenComedyMovies-1/playlist.m3u8
#EXTINF:-1 tvg-id="RakutenTVDramaMovies.at",Rakuten TV Drama Movies Austria (720p)
#EXTINF:-1 tvg-id="RakutenTVDramaMovies.es@Austria",Rakuten TV Drama Movies Austria (720p)
https://df1aa472ff5b4780a8d91fe319778b4d.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung-at_RakutenTVShows-1/playlist.m3u8
#EXTINF:-1 tvg-id="RakutenTVFamilyMovies.at",Rakuten TV Family Movies Austria (720p)
#EXTINF:-1 tvg-id="RakutenTVFamilyMovies.es@Austria",Rakuten TV Family Movies Austria (720p)
https://9fa8baba055e4a52b0a8d1ae7d78bed8.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung-at_RakutenFamily-1/playlist.m3u8

View file

@ -5,53 +5,53 @@ https://2gblive.akamaized.net/hls/live/2033805/2GB/index.m3u8
https://3awlive.akamaized.net/hls/live/2032295/3AW/index.m3u8
#EXTINF:-1 tvg-id="6PR.au",6PR Perth (1080p)
https://6prlive.akamaized.net/hls/live/2033806/6PR/index.m3u8
#EXTINF:-1 tvg-id="9GemSydney.au",9Gem (720p) [Geo-blocked]
#EXTINF:-1 tvg-id="9Gem.au@Sydney",9Gem (720p) [Geo-blocked]
https://9now-livestreams.akamaized.net/hls/live/2008311/gem-syd/master.m3u8
#EXTINF:-1 tvg-id="9GoSydney.au",9Go! (720p) [Geo-blocked]
#EXTINF:-1 tvg-id="9Go.au@Sydney",9Go! (720p) [Geo-blocked]
https://9now-livestreams.akamaized.net/hls/live/2008312/go-syd/master.m3u8
#EXTINF:-1 tvg-id="9LifeSydney.au",9Life (720p) [Geo-blocked]
#EXTINF:-1 tvg-id="9Life.au@Sydney",9Life (720p) [Geo-blocked]
https://9now-livestreams.akamaized.net/hls/live/2008313/life-syd/master.m3u8
#EXTINF:-1 tvg-id="10BoldAdelaide.au",10 Bold Adelaide (1080p)
#EXTINF:-1 tvg-id="10Bold.au@Sydney",10 Bold Adelaide (1080p)
https://dce3793146fef017.mediapackage.us-west-2.amazonaws.com/out/v1/55cdf73af7894775ba6de8f57482b66a/CMAF_HLS/index.m3u8
#EXTINF:-1 tvg-id="ABCAustralia.au",ABC Australia
https://abc-news-dmd-streams-1.akamaized.net/out/v1/701126012d044971b3fa89406a440133/index.m3u8
#EXTINF:-1 tvg-id="ABCMESydney.au",ABC Me (720p)
#EXTINF:-1 tvg-id="ABCME.au@Sydney",ABC Me (720p)
https://c.mjh.nz/abc-me.m3u8
#EXTINF:-1 tvg-id="ABCTVSA.au",ABC TV Adelaide (720p)
#EXTINF:-1 tvg-id="ABCTV.au@Adelaide",ABC TV Adelaide (720p)
https://c.mjh.nz/abc-sa.m3u8
#EXTINF:-1 tvg-id="ABCTVQLD.au",ABC TV Brisbane (720p)
#EXTINF:-1 tvg-id="ABCTV.au@Brisbane",ABC TV Brisbane (720p)
https://c.mjh.nz/abc-qld.m3u8
#EXTINF:-1 tvg-id="ABCTVACT.au",ABC TV Canberra (720p)
#EXTINF:-1 tvg-id="ABCTV.au",ABC TV Canberra (720p)
https://c.mjh.nz/abc-act.m3u8
#EXTINF:-1 tvg-id="ABCTVNT.au",ABC TV Darwin (720p)
#EXTINF:-1 tvg-id="ABCTV.au",ABC TV Darwin (720p)
https://c.mjh.nz/abc-nt.m3u8
#EXTINF:-1 tvg-id="ABCTVTAS.au",ABC TV Hobart (720p)
#EXTINF:-1 tvg-id="ABCTV.au@Hobart",ABC TV Hobart (720p)
https://c.mjh.nz/abc-tas.m3u8
#EXTINF:-1 tvg-id="ABCTVVIC.au",ABC TV Melbourne (720p)
#EXTINF:-1 tvg-id="ABCTV.au@Melbourne",ABC TV Melbourne (720p)
https://c.mjh.nz/abc-vic.m3u8
#EXTINF:-1 tvg-id="ABCTVWA.au",ABC TV Perth (720p)
#EXTINF:-1 tvg-id="ABCTV.au@Perth",ABC TV Perth (720p)
https://c.mjh.nz/abc-wa.m3u8
#EXTINF:-1 tvg-id="ABCTVPlusSydney.au",ABC TV Plus (720p)
#EXTINF:-1 tvg-id="ABCTVPlus.au@Sydney",ABC TV Plus (720p)
https://c.mjh.nz/abc-tv-plus.m3u8
#EXTINF:-1 tvg-id="ABCTVNSW.au",ABC TV Sydney (720p)
#EXTINF:-1 tvg-id="ABCTV.au@Sydney",ABC TV Sydney (720p)
https://c.mjh.nz/abc-nsw.m3u8
#EXTINF:-1 tvg-id="AusbizTV.au",ausbiz TV (720p) [Not 24/7]
https://d9quh89lh7dtw.cloudfront.net/public-output/index.m3u8
#EXTINF:-1 tvg-id="BloombergTVAustralia.au",Bloomberg TV Australia (270p)
#EXTINF:-1 tvg-id="BloombergTV.us@Australia",Bloomberg TV Australia (270p)
https://bloomberg.com/media-manifest/streams/aus.m3u8
#EXTINF:-1 tvg-id="C31Melbourne.au",C31 Melbourne (240p)
https://d1k6kax80wecy5.cloudfront.net/RLnAKY/index.m3u8
#EXTINF:-1 tvg-id="Channel7Sydney.au",Channel 7 (720p) [Geo-blocked]
#EXTINF:-1 tvg-id="Channel7.au@Sydney",Channel 7 (720p) [Geo-blocked]
https://npc.cdn.7livecloud.io/hls/live/SYD1/master.m3u8
#EXTINF:-1 tvg-id="Channel9Adelaide.au",Channel 9 Adelaide (720p) [Geo-blocked]
#EXTINF:-1 tvg-id="Channel9.au@Adelaide",Channel 9 Adelaide (720p) [Geo-blocked]
https://9now-livestreams-fhd-t.akamaized.net/u/prod/simulcast/adl/ch9/hls/r1/index.m3u8
#EXTINF:-1 tvg-id="Channel9Brisbane.au",Channel 9 Brisbane (720p) [Geo-blocked]
#EXTINF:-1 tvg-id="Channel9.au@Brisbane",Channel 9 Brisbane (720p) [Geo-blocked]
https://9now-livestreams-fhd-t.akamaized.net/u/prod/simulcast/bne/ch9/hls/r1/index.m3u8
#EXTINF:-1 tvg-id="Channel9Melbourne.au",Channel 9 Melbourne (720p) [Geo-blocked]
#EXTINF:-1 tvg-id="Channel9.au@Melbourne",Channel 9 Melbourne (720p) [Geo-blocked]
https://9now-livestreams-fhd-t.akamaized.net/u/prod/simulcast/mel/ch9/hls/r1/index.m3u8
#EXTINF:-1 tvg-id="Channel9Perth.au",Channel 9 Perth (720p) [Geo-blocked]
#EXTINF:-1 tvg-id="Channel9.au@Perth",Channel 9 Perth (720p) [Geo-blocked]
https://9now-livestreams-fhd-t.akamaized.net/u/prod/simulcast/per/ch9/hls/r1/index.m3u8
#EXTINF:-1 tvg-id="Channel9Sydney.au",Channel 9 Sydney (720p) [Geo-blocked]
#EXTINF:-1 tvg-id="Channel9.au@Sydney",Channel 9 Sydney (720p) [Geo-blocked]
https://9now-livestreams-fhd-t.akamaized.net/u/prod/simulcast/syd/ch9/hls/r1/index.m3u8
#EXTINF:-1 tvg-id="Channel44.au",Channel 44 (480p)
https://d1k6kax80wecy5.cloudfront.net/WFqZJc/index.m3u8

View file

@ -5,7 +5,7 @@ https://hncfree-samsungau.amagi.tv/playlist.m3u8
https://insighttv-samsungau.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="InTrouble.nl",InTrouble (1080p)
https://introuble-samsungau.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="",InWild (720p)
#EXTINF:-1 tvg-id="InWild.it@SD",InWild (720p)
https://inwild-samsungau.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="InWonder.nl",InWonder (720p)
https://inwonder-samsungau.amagi.tv/playlist.m3u8
@ -13,7 +13,7 @@ https://inwonder-samsungau.amagi.tv/playlist.m3u8
https://rialto-rialto-samsungaustralia.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="RyanandFriends.us",Ryan and Friends (1080p)
https://ryanandfriends-samsungau.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="Tastemade.au",Tastemade Australia (1080p)
#EXTINF:-1 tvg-id="Tastemade.us@Australia",Tastemade Australia (1080p)
https://tmint-aus-samsungau.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="TraceSportStars.fr",Trace Sport Stars (Australia) (1080p)
https://lightning-tracesport-samsungau.amagi.tv/playlist.m3u8

View file

@ -13,6 +13,8 @@ https://restreamer1.tnt.ba/hls/kanal6.m3u8
https://webtvstream.bhtelecom.ba/malta.m3u8
#EXTINF:-1 tvg-id="MariaPlusVisionMedjugorje.ba",María+Visión Medjugorje (720p)
https://1601580044.rsc.cdn77.org/live/_jcn_/amlst:Italiasette/playlist.m3u8
#EXTINF:-1 tvg-id="NTVICKakanj.ba",NTV IC Kakanj (720p)
https://lon.rtsp.me/dEqnY-myGj84bKrieCIPfA/1743271667/hls/3dH3YAD6.m3u8
#EXTINF:-1 tvg-id="RTRSplus.ba",RTRS Plus (576p) [Not 24/7]
https://pluslive.rtrs.tv/plus/plus/playlist.m3u8
#EXTINF:-1 tvg-id="RTRSTV.ba",RTRS TV (576p) [Not 24/7]
@ -33,5 +35,3 @@ https://live.tv-m.net/hls/stream.m3u8
https://restreamer1.tnt.ba/hls/tntkids.m3u8
#EXTINF:-1 tvg-id="TVSlonExtra.ba",TV Slon Extra (1080p) [Not 24/7]
http://31.47.0.130:8082
#EXTINF:-1 tvg-id="NTVICKakanj.ba",NTV IC Kakanj (720p)
https://lon.rtsp.me/dEqnY-myGj84bKrieCIPfA/1743271667/hls/3dH3YAD6.m3u8

View file

@ -15,8 +15,6 @@ https://helga.iptv2022.com/sh/NEK4/index.m3u8
https://strhls.streamakaci.tv/ortb/ortb1-multi/playlist.m3u8
#EXTINF:-1 tvg-id="PowerTV.bj",Power TV (720p)
https://stream.it-innov.com/powertv/index.fmp4.m3u8
#EXTINF:-1 tvg-id="SoleilLevantTV.bj",Soleil Levant TV (720p) [Not 24/7]
https://helga.iptv2022.com/sh/SOLEIL_LEVANT_TV/index.m3u8
#EXTINF:-1 tvg-id="TVCBenin.bj",TVC Bénin (720p)
https://helga.iptv2022.com/sh/TVC_BENIN/index.m3u8
#EXTINF:-1 tvg-id="TVCBenin.bj",TVC Bénin (720p)

View file

@ -1,20 +1,10 @@
#EXTM3U
#EXTINF:-1 tvg-id="AbyaYalaTV.bo",Abya Yala TV (720p)
https://master.tucableip.com/abyayalatv/playlist.m3u8
#EXTINF:-1 tvg-id="AgendaMineraTV.bo",Agenda Minera TV (720p)
https://srv.panelcast.net/amitel/amitel/playlist.m3u8
#EXTINF:-1 tvg-id="ANTv.bo",ANTv (720p) [Not 24/7]
http://181.188.144.141/tmp_hls/ant_tv/index.m3u8
#EXTINF:-1 tvg-id="ATBLaPaz.bo",ATB La Paz (614p) [Not 24/7]
http://186.121.206.197/live/daniel/index.m3u8
#EXTINF:-1 tvg-id="ATBSantaCruz.bo",ATB Santa Cruz (720p) [Not 24/7]
https://cdn.digital.com.bo/__cl/cg:sworigin2/__c/ATB/__op/hls-default/__f/index.m3u8
#EXTINF:-1 tvg-id="Atesur.bo",Atesur (1080p) [Not 24/7]
https://video2.getstreamhosting.com:19360/8038/8038.m3u8
#EXTINF:-1 tvg-id="AYNITV.bo",AYNI TV (720p)
https://stmvideo3.livecastv.com/aynitv/aynitv/playlist.m3u8
#EXTINF:-1 tvg-id="BoliviaRadioTV.bo",Bolivia Radio TV (720p) [Not 24/7]
https://glb.bozztv.com/glb/ssh101/boliviaradiotv/playlist.m3u8
#EXTINF:-1 tvg-id="BoliviaTV.bo",Bolivia TV (720p) [Not 24/7]
http://boliviatv1.srfms.com:5735/live/livestream/playlist.m3u8
#EXTINF:-1 tvg-id="BoliviaTV72.bo",Bolivia TV 7.2 (720p)
@ -31,42 +21,22 @@ https://vdo.grupolimalive.com:3967/live/tvelive.m3u8
https://vdo.grupolimalive.com:3241/live/encuentrotvlive.m3u8
#EXTINF:-1 tvg-id="Ceacom.bo",Ceacom [Not 24/7]
https://eu1.servers10.com:8081/ceacom/index.m3u8
#EXTINF:-1 tvg-id="CineramaTelevision.bo",Cinerama TV (480p) [Not 24/7]
https://5d00db0e0fcd5.streamlock.net/7062/7062/playlist.m3u8
#EXTINF:-1 tvg-id="CoralTV.bo",Coral TV (480p)
https://tv.mediacp.eu:8081/coraltv/index.m3u8
#EXTINF:-1 tvg-id="TelevisionCristal.bo",Cristal TV (720p) [Not 24/7]
https://srv5.elittehosting.com:3369/live/cristaltvlive.m3u8
#EXTINF:-1 tvg-id="CVC.bo",CVC (720p) [Not 24/7]
https://5d00db0e0fcd5.streamlock.net/7034/7034/playlist.m3u8
#EXTINF:-1 tvg-id="DeltaTV.bo",Delta TV (480p) [Not 24/7]
https://vsrv1.az-streamingserver.com:3068/live/vdsocmnulive.m3u8
#EXTINF:-1 tvg-id="DTPlay.bo",DT Play (Deporte Total) (720p) [Not 24/7]
https://tv.portalexpress.es:3044/live/dtplaylive.m3u8
#EXTINF:-1 tvg-id="Erbol.bo",Erbol (720p)
https://cloud2.streaminglivehd.com:1936/8182/8182/playlist.m3u8
#EXTINF:-1 tvg-id="F10HD.bo",F10 HD (720p) [Not 24/7]
https://video.live.com.bo:3099/live/f10hdlive.m3u8
#EXTINF:-1 tvg-id="FAPTV.bo",FAP TV (480p)
https://nd106.republicaservers.com/hls/c7284/index.m3u8
#EXTINF:-1 tvg-id="FortalezaTVCueto.bo",Fortaleza TV Cueto (720p)
https://glb.bozztv.com/glb/ssh101/fortalezacueto/index.m3u8
#EXTINF:-1 tvg-id="FTV.bo",FTV (720p)
https://master.tucableip.com/ftv/index.m3u8
#EXTINF:-1 tvg-id="Gigavision.bo",Gigavisión (1080p) [Not 24/7]
https://master.tucableip.com/gigavision/playlist.m3u8
#EXTINF:-1 tvg-id="",Gogo Play TV (720p)
https://glb.bozztv.com/glb/ssh101/gogoplay/index.m3u8
#EXTINF:-1 tvg-id="GTV.bo",Guadalupe TV (720p) [Not 24/7]
https://solo.disfrutaenlared.com:1936/guadalupetv/guadalupetv/playlist.m3u8
#EXTINF:-1 tvg-id="ImperialTV.bo",Imperial TV (720p) [Not 24/7]
https://vdo.grupolimalive.com:3162/live/imperialtvlive.m3u8
#EXTINF:-1 tvg-id="INTV.bo",IN TV (720p)
https://stmvideo3.livecastv.com/intv/intv/playlist.m3u8
#EXTINF:-1 tvg-id="MarvisionTV.bo",Marvisión TV (720p)
https://vdo.grupolimalive.com:3631/live/marvisionlive.m3u8
#EXTINF:-1 tvg-id="MegaTV.bo",MegaTV (480p)
https://solo.disfrutaenlared.com:1936/tvcbba/tvcbba/playlist.m3u8
#EXTINF:-1 tvg-id="Megavision.bo",Megavisión (720p)
https://video.live.com.bo:3699/live/megavisionlive.m3u8
#EXTINF:-1 tvg-id="NeoTV.bo",Neo TV (720p)
@ -75,54 +45,16 @@ https://tv1.mediacp.eu:3661/live/rlbpwxvhlive.m3u8
https://w8.redpat.tv:7777/play/120/index.m3u8
#EXTINF:-1 tvg-id="PATSantaCruz.bo",PAT Santa Cruz (720p) [Not 24/7]
https://w8.redpat.tv:7777/play/110/index.m3u8
#EXTINF:-1 tvg-id="PTV.bo",PTV (720p)
https://glb.bozztv.com/glb/ssh101/centralptv/index.m3u8
#EXTINF:-1 tvg-id="RadioUnoPST.bo",Radio Uno PST (720p)
https://master.tucableip.com/pstbolivia/video.m3u8
#EXTINF:-1 tvg-id="RedADvenirTV.bo",Red ADvenir TV (360p) [Not 24/7]
http://streamer1.streamhost.org:1935/salive/GMIredadvenirm/playlist.m3u8
#EXTINF:-1 tvg-id="RedAmericaTV.bo",Red América TV (720p)
https://videostream.shockmedia.com.ar:19360/redamericatv/redamericatv.m3u8
#EXTINF:-1 tvg-id="RedCCTV.bo",Red CCTV (480p)
https://solo.disfrutaenlared.com:1936/redcctv/redcctv/playlist.m3u8
#EXTINF:-1 tvg-id="RedDTV.bo",Red DTV (1080p)
https://master.tucableip.com/dtvsc/playlist.m3u8
#EXTINF:-1 tvg-id="RedUno.bo",Red Uno (1080p) [Not 24/7]
https://streamer03.digital.com.bo/session/4e839498-b325-47f7-987f-205b4831346f/2ap337/__cl/cg:sworigin2/__c/REDUNO/__op/hls-default/__f/index.m3u8
#EXTINF:-1 tvg-id="RTP.bo",RTP (720p) [Not 24/7]
http://136.243.3.70:1935/RtpBolivia/RtpBolivia/playlist.m3u8
#EXTINF:-1 tvg-id="SEOTV1FHD.bo",SEO TV 1 (1080p)
https://seo.tv.bo/tv/SEOTV_1FHD.m3u8
#EXTINF:-1 tvg-id="SEOTV2Kids.bo",SEO TV 2 Kids (1080p)
https://seo.tv.bo/tv/CTV2.m3u8
#EXTINF:-1 tvg-id="SEOTV3Novelas.bo",SEO TV 3 Novelas (1080p)
https://seo.tv.bo/tv/SEOTV3.m3u8
#EXTINF:-1 tvg-id="SEOTV4Peliculas.bo",SEO TV 4 Películas (1080p)
https://seo.tv.bo/tv/SEOTV4_HD.m3u8
#EXTINF:-1 tvg-id="SEOTV5Deportes.bo",SEO TV 5 Deportes (1080p) [Not 24/7]
https://seo.tv.bo/tv/SEOtv_5sd.m3u8
#EXTINF:-1 tvg-id="",SEO TV 5 Deportes 2 (1080p) [Not 24/7]
https://seo.tv.bo/tv/SEOtv_5B.m3u8
#EXTINF:-1 tvg-id="",SEO TV 6 Novelas 2 (1080p)
https://seo.tv.bo/tv/SEOTV6.m3u8
#EXTINF:-1 tvg-id="SEOTV7.bo",SEO TV 7 (1080p)
https://seo.tv.bo/tv/SEOTV7.m3u8
#EXTINF:-1 tvg-id="SigloXXITV.bo",Siglo XXI TV (720p)
https://stmvideo3.livecastv.com/sigloxxi/sigloxxi/playlist.m3u8
#EXTINF:-1 tvg-id="TDTMultimedia.bo",TDT Multimedia (720p)
https://video01.kshost.com.br:4443/juan6318/juan6318/playlist.m3u8
#EXTINF:-1 tvg-id="TLEstrella.bo",TL Estrella (720p) [Not 24/7]
https://stmvideo3.livecastv.com/teleestrellahd/teleestrellahd/playlist.m3u8
#EXTINF:-1 tvg-id="TuTv.bo",Tu Tv (720p) [Not 24/7]
https://solo.disfrutaenlared.com:1936/tutv/tutv/playlist.m3u8
#EXTINF:-1 tvg-id="TvCarigso.bo",Tv Carigso (720p)
https://paneltv.tecnohost.ec:3646/live/carigsotvlive.m3u8
#EXTINF:-1 tvg-id="TVHDTropical.bo",TV HD Tropical (720p)
https://cloud2.streaminglivehd.com:19360/8060/8060.m3u8
#EXTINF:-1 tvg-id="TVLatina.bo",TV Latina Canal 42 (720p) [Not 24/7]
https://glb.bozztv.com/glb/ssh101/tvlatinared/index.m3u8
#EXTINF:-1 tvg-id="TVShowOruro.bo",TV Show Oruro (480p)
http://tv.istbolivia.com:1935/tvshow/tvshow/playlist.m3u8
#EXTINF:-1 tvg-id="UnitelSantaCruz.bo",Unitel Santa Cruz (1080p) [Not 24/7]
https://cdn.digital.com.bo/__cl/cg:sworigin2/__c/UNITEL/__op/hls-default/__f/index.m3u8
#EXTINF:-1 tvg-id="UnivalleTelevision.bo",Univalle Televisión (1080p)
@ -137,22 +69,6 @@ https://solo.disfrutaenlared.com:1936/vtvcanal/vtvcanal/playlist.m3u8
#EXTINF:-1 tvg-id="XTOTV.bo" http-referrer="https://www.sccbolivia.com/",XTOTV (1280p) [Not 24/7]
#EXTVLCOPT:http-referrer=https://www.sccbolivia.com/
http://190.104.15.135/0.ts
#EXTINF:-1 tvg-id="XTOTV.bo",XTOTV (404p) [Not 24/7]
http://www.channel.tevemi.com:1935/XtoTv/XtoTv/playlist.m3u8
#EXTINF:-1 tvg-id="ZoyTVMusic.bo",Zoy TV Music
https://giatv.bozztv.com/giatvplayout/giatv-208557/index.m3u8
#EXTINF:-1 tvg-id="ZoyTVSports1.bo",Zoy TV Sports 1
https://fl1004.bozztv.com/ssh101/zoytvsports/index.m3u8
#EXTINF:-1 tvg-id="ZoyTVSports2.bo",Zoy TV Sports 2
https://fl1004.bozztv.com/ssh101/zoytvsports2/index.m3u8
#EXTINF:-1 tvg-id="ZoyTVSports3.bo",Zoy TV Sports 3
https://fl1004.bozztv.com/ssh101/zoytvsports3/index.m3u8
#EXTINF:-1 tvg-id="ZoyTVSports4.bo",Zoy TV Sports 4
https://fl1004.bozztv.com/ssh101/zoytvsports4/index.m3u8
#EXTINF:-1 tvg-id="ZoyTVSports5.bo",Zoy TV Sports 5
https://fl1004.bozztv.com/ssh101/zoytvsports5/index.m3u8
#EXTINF:-1 tvg-id="ZoyTVTurcas.bo",Zoy TV Turcas
https://fl1004.bozztv.com/ssh101/zoytvturcas/index.m3u8
#EXTINF:-1 tvg-id="BoliviaTV.bo",Bolivia TV (720p)
https://5fe2654d6127d.streamlock.net:443/boliviatv/videoboliviatv/playlist.m3u8
#EXTINF:-1 tvg-id="ZoyTVSports1.bo",Zoy TV Sports 1 (1080p)

View file

@ -83,7 +83,7 @@ https://5b33b873179a2.streamlock.net:1443/catve2/catve2/playlist.m3u8
https://5b33b873179a2.streamlock.net:1443/radiocamera/livestream/playlist.m3u8
#EXTINF:-1 tvg-id="CatveMasterTV.br",Catve Master TV (720p) [Not 24/7]
https://5b33b873179a2.streamlock.net:1443/mastertv/livestream/playlist.m3u8
#EXTINF:-1 tvg-id="",CBTV Internacional (1080p)
#EXTINF:-1 tvg-id="CBTVInternacional.us@SD",CBTV Internacional (1080p)
https://oj7lng29dg82-hls-live.5centscdn.com/lives/f7b44cfafd5c52223d5498196c8a2e7b.sdp/index.m3u8
#EXTINF:-1 tvg-id="CentralTV.br",Central TV (720p)
https://tv02.zas.media:1936/centraltv/centraltv/playlist.m3u8
@ -185,12 +185,12 @@ https://5cf4a2c2512a2.streamlock.net/rbatv/rbatv/playlist.m3u8
https://5cf4a2c2512a2.streamlock.net/rbtv/rbtv/playlist.m3u8
#EXTINF:-1 tvg-id="RDCTV.br",RDC TV (720p)
https://br5093.streamingdevideo.com.br/datavideo01/datavideo01/playlist.m3u8
#EXTINF:-1 tvg-id="RecordNews.br",Record News
https://stream.ads.ottera.tv/playlist.m3u8?network_id=2116
#EXTINF:-1 tvg-id="RecordNews.br",Record News (720p)
https://rnw-rn.otteravision.com/rnw/rn/rnw_rn.m3u8
#EXTINF:-1 tvg-id="RecordNews.br",Record News (720p) [Geo-blocked]
https://playplusnews-lh.akamaihd.net/i/pp_nws@377849/master.m3u8
#EXTINF:-1 tvg-id="RecordNews.br",Record News
https://stream.ads.ottera.tv/playlist.m3u8?network_id=2116
#EXTINF:-1 tvg-id="RecordTVBelem.br",Record TV Belem (720p) [Geo-blocked]
https://playpluspa-lh.akamaihd.net/i/pp_pa@377468/index_720_av-p.m3u8
#EXTINF:-1 tvg-id="RecordTVBrasilia.br",Record TV Brasilia (720p) [Geo-blocked]
@ -373,7 +373,7 @@ https://serv2.videovox.pw/cnagitos/cnagitos/playlist.m3u8
https://srv1.zcast.com.br/tvcomsantos/tvcomsantos/playlist.m3u8
#EXTINF:-1 tvg-id="TVCordeiro.br",TV Cordeiro (360p)
https://stmv2.voxtvhd.com.br/tvcordeiro/tvcordeiro/playlist.m3u8
#EXTINF:-1 tvg-id="",TV Cultura Nacional
#EXTINF:-1 tvg-id="TVCultura.br@SD",TV Cultura Nacional
https://d28367vmhj4ljz.cloudfront.net/out/v1/f26e176ce67244de862cd9b21d823934/index.m3u8
#EXTINF:-1 tvg-id="TVCuruca.br",TV Curuça (360p)
https://stmv1.srvif.com/tvcurucasp/tvcurucasp/playlist.m3u8

View file

@ -1,27 +1,27 @@
#EXTM3U
#EXTINF:-1 tvg-id="PlutoTVAsPistasdeBlue.us",Pluto TV As Pistas de Blue (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f99aad4e82db50007fac4b2/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVCineDrama.br",Pluto TV Cine Drama (720p)
#EXTINF:-1 tvg-id="PlutoTVCineDrama.us@Brazil",Pluto TV Cine Drama (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1210d14ae1f80007bafb1d/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVCineFamilia.br",Pluto TV Cine Família (720p) [Not 24/7]
#EXTINF:-1 tvg-id="PlutoTVCineFamilia.us@Brazil",Pluto TV Cine Família (720p) [Not 24/7]
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f171f032cd22e0007f17f3d/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="NickClassico.br",Pluto TV Classic Nick (Brazil) (240p)
#EXTINF:-1 tvg-id="",Pluto TV Classic Nick (Brazil) (240p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5f12151794c1800007a8ae63/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5f12151794c1800007a8ae63&deviceLat=-23.5475&deviceLon=-46.6361&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=BR&serverSideAds=false&sid=730&terminate=false&userId=
#EXTINF:-1 tvg-id="FilmesSuspense.br",Pluto TV Filmes Suspense (720p)
#EXTINF:-1 tvg-id="",Pluto TV Filmes Suspense (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f171d3442a0500007362f22/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVInvestigacao.br",Pluto TV Investigação (720p)
#EXTINF:-1 tvg-id="PlutoTVInvestigacao.us@Brazil",Pluto TV Investigação (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f32cf37c9ff2b00082adbc8/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="MTV.br",Pluto TV MTV (Brazil) (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1212fb81e85c00077ae9ef/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVNatureza.br",Pluto TV Natureza (720p)
#EXTINF:-1 tvg-id="PlutoTVNatureza.us@Brazil",Pluto TV Natureza (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1213ba0ecebc00070e170f/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="NickJrClub.br",Pluto TV Nick Jr. Club (720p)
#EXTINF:-1 tvg-id="",Pluto TV Nick Jr. Club (720p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5ddd7cb2cbb9010009b4fe32/master.m3u8?advertisingId=&appName=web&appVersion=5.14.0-0f5ca04c21649b8c8aad4e56266a23b96d73b83a&app_name=web&clientDeviceType=0&clientID=6fbead95-26b1-415d-998f-1bdef62d10be&clientModelNumber=na&deviceDNT=false&deviceId=6fbead95-26b1-415d-998f-1bdef62d10be&deviceLat=19.4358&deviceLon=-99.1441&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=88.0.4324.150&marketingRegion=VE&serverSideAds=false&sessionID=b8e5a857-714a-11eb-b532-0242ac110002&sid=b8e5a857-714a-11eb-b532-0242ac110002&userId=
#EXTINF:-1 tvg-id="NickJrClub.br",Pluto TV Nick Jr. Club (720p)
#EXTINF:-1 tvg-id="",Pluto TV Nick Jr. Club (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f121460b73ac6000719fbaf/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVPortadosFundos.us",Pluto TV Porta dos Fundos (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f36f2346ede750007332d11/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVRetro.br",Pluto TV Retrô (684p)
#EXTINF:-1 tvg-id="PlutoTVRetro.us@Brazil",Pluto TV Retrô (684p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1212ad1728050007a523b8/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVVidaReal.br",Pluto TV Vida Real (720p)
#EXTINF:-1 tvg-id="PlutoTVVidaReal.us@Brazil",Pluto TV Vida Real (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f32d4d9ec194100070c7449/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS

View file

@ -3,5 +3,5 @@
https://bloomberg-bloomberg-3-br.samsung.wurl.tv/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="MyTimeMovieNetwork.br",MyTime Movie Network Brazil (720p)
https://appletree-mytime-samsungbrazil.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="TastemadeBrasil.br",Tastemade Brasil (1080p)
#EXTINF:-1 tvg-id="TastemadeBrasil.us@Brazil",Tastemade Brasil (1080p)
https://tastemade-pt16intl-samsungbrazil.amagi.tv/playlist.m3u8

View file

@ -15,9 +15,9 @@ https://edge60.dc.beltelecom.by/ngtrk/smil:belarus3.smil/playlist.m3u8
https://ngtrk.dc.beltelecom.by/ngtrk/smil:belarus3.smil/playlist.m3u8
#EXTINF:-1 tvg-id="Belarus5.by",Беларусь 5 (1080p) [Not 24/7]
https://ngtrk.dc.beltelecom.by/ngtrk/smil:belarus5.smil/playlist.m3u8
#EXTINF:-1 tvg-id="Belarus5Internet.by",Беларусь 5 Интернет (1080p) [Not 24/7]
#EXTINF:-1 tvg-id="Belarus5.by@Internet",Беларусь 5 Интернет (1080p) [Not 24/7]
https://edge59.dc.beltelecom.by/ngtrk/smil:belarus5int.smil/playlist.m3u8
#EXTINF:-1 tvg-id="Belarus5Internet.by",Беларусь 5 Интернет (1080p) [Not 24/7]
#EXTINF:-1 tvg-id="Belarus5.by@Internet",Беларусь 5 Интернет (1080p) [Not 24/7]
https://ngtrk.dc.beltelecom.by/ngtrk/smil:belarus5int.smil/playlist.m3u8
#EXTINF:-1 tvg-id="Belarus24.by",Беларусь 24 (1080p)
https://ngtrk.dc.beltelecom.by/ngtrk/smil:belarus24.smil/playlist.m3u8

View file

@ -1,19 +1,19 @@
#EXTM3U
#EXTINF:-1 tvg-id="AXNCentralAmerica.us",AXN
#EXTINF:-1 tvg-id="AXNLatinAmerica.us@CentralAmerica",AXN
https://streamer1.nexgen.bz/AXN/index.m3u8
#EXTINF:-1 tvg-id="BETEast.us",BET
#EXTINF:-1 tvg-id="BETLatinAmerica.us@SD",BET
https://streamer1.nexgen.bz/BET/index.m3u8
#EXTINF:-1 tvg-id="BravoEast.us",Bravo
#EXTINF:-1 tvg-id="Bravo.us@East",Bravo
https://streamer1.nexgen.bz/BRAVO/index.m3u8
#EXTINF:-1 tvg-id="",FX
#EXTINF:-1 tvg-id="FXLatinAmerica.us@Panregional",FX
https://streamer1.nexgen.bz/FX/index.m3u8
#EXTINF:-1 tvg-id="",History
#EXTINF:-1 tvg-id="HistoryLatinAmerica.us@Panregional",History
https://streamer1.nexgen.bz/HISTORY/index.m3u8
#EXTINF:-1 tvg-id="",Lifetime
#EXTINF:-1 tvg-id="LifetimeLatinAmerica.us@Panregional",Lifetime
https://streamer1.nexgen.bz/LIFETIME/index.m3u8
#EXTINF:-1 tvg-id="MTVEast.us",MTV
#EXTINF:-1 tvg-id="MTVLatinAmerica.us@Panregional",MTV
https://streamer1.nexgen.bz/MTV/index.m3u8
#EXTINF:-1 tvg-id="StarChannelCentralAmerica.us",Star Channel Central America
#EXTINF:-1 tvg-id="StarChannelLatinAmerica.us@CentralAmerica",Star Channel Central America
https://streamer1.nexgen.bz/STAR/index.m3u8
#EXTINF:-1 tvg-id="VH1East.us",VH1
#EXTINF:-1 tvg-id="VH1LatinAmerica.us@SD",VH1
https://streamer1.nexgen.bz/VH1/index.m3u8

View file

@ -99,7 +99,7 @@ https://streamer12.vdn.dstreamone.net/saazoawaz/saazoawaz/playlist.m3u8
https://eu.streamjo.com/eetlive/eettv.m3u8
#EXTINF:-1 tvg-id="ErfanHalghehTV.ca",Erfan Halgheh TV (720p)
https://hls.erfanhalgheh.live/hls/stream.m3u8
#EXTINF:-1 tvg-id="EWTNCanada.ca",EWTN Canada (720p) [Not 24/7]
#EXTINF:-1 tvg-id="EWTN.us@Canada",EWTN Canada (720p) [Not 24/7]
https://cdn3.wowza.com/1/YW5wSWZiRGd2eFlU/bGV0aVBq/hls/live/playlist.m3u8
#EXTINF:-1 tvg-id="FightNetwork.ca",Fight Network (1080p)
https://d12a2vxqkkh1bo.cloudfront.net/hls/main.m3u8
@ -171,7 +171,7 @@ https://temp3.isilive.ca/live/_definst_/ontla/rm151-en/playlist.m3u8
http://temp2.isilive.ca/live/nunavut/live-eng/index.m3u8
#EXTINF:-1 tvg-id="LivingSpringsTV.ca",Living Springs TV (1080p)
https://hls-cdn.tvstartup17.net/tvstartup17-channel/live/mp4:livingspringstvedge/playlist.m3u8
#EXTINF:-1 tvg-id="LoveNature4K.ca",Love Nature 4K (2160p)
#EXTINF:-1 tvg-id="LoveNature.ca@4K",Love Nature 4K (2160p)
https://d18dyiwu97wm6q.cloudfront.net/playlist.m3u8
#EXTINF:-1 tvg-id="CJILDT.ca" http-referrer="https://www.miraclechannel.ca/",Miracle Channel
#EXTVLCOPT:http-referrer=https://www.miraclechannel.ca/
@ -200,12 +200,12 @@ https://videostream.jpbgdigital.com/NOWTV.m3u8
https://us170.jagobd.com:447/c3VydmVyX8RpbEU9Mi8xNy8yMDE0GIDU6RgzQ6NTAgdEoaeFzbF92YWxIZTO0U0ezN1IzMyfvcGVMZEJCTEFWeVN3PTOmdFsaWRtaW51aiPhnPTI/nrb-eu.stream/playlist.m3u8
#EXTINF:-1 tvg-id="NTVPlus.ca",NTV+
https://2-fss-1.streamhoster.com/pl_122/201748-1431018-1/chunklist.m3u8
#EXTINF:-1 tvg-id="",Olympic Channel [Geo-blocked]
#EXTINF:-1 tvg-id="OlympicChannel.es@SD",Olympic Channel [Geo-blocked]
https://ocshls-2-olympicchannel.akamaized.net/ocshls/OCTV_32.m3u8
#EXTINF:-1 tvg-id="OntarioParliamentaryNetwork.ca",Ontario Parliamentary Network
https://origin-http-delivery.isilive.ca/live/_definst_/ontla/house-fr/playlist.m3u8
#EXTINF:-1 tvg-id="OntarioParliamentaryNetwork.ca",Ontario Parliamentary Network (720p)
https://origin-http-delivery.isilive.ca/live/_definst_/ontla/house-en/playlist.m3u8
#EXTINF:-1 tvg-id="OntarioParliamentaryNetwork.ca",Ontario Parliamentary Network
https://origin-http-delivery.isilive.ca/live/_definst_/ontla/house-fr/playlist.m3u8
#EXTINF:-1 tvg-id="PamirTV.ca",Pamir TV (1080p) [Not 24/7]
http://live.stream.cdn.pamirtv.com/ptv/d0dbe915091d400bd8ee7f27f0791303.sdp/index.m3u8
#EXTINF:-1 tvg-id="PardesiTV.ca",Pardesi TV (720p)
@ -251,7 +251,7 @@ https://raw.githubusercontent.com/azgaresncf/strm2hls/main/streams/tvctklive.m3u
https://tscamd.akamaized.net/hls/live/503340/TSCLive/master.m3u8
#EXTINF:-1 tvg-id="Toronto360TV.ca",Toronto 360 TV (720p) [Not 24/7]
http://cdn3.toronto360.tv:8081/toronto360/hd/playlist.m3u8
#EXTINF:-1 tvg-id="",TSN The Ocho
#EXTINF:-1 tvg-id="TSNTheOcho.ca@SD",TSN The Ocho
https://d3pnbvng3bx2nj.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-rds8g35qfqrnv/TSN_The_Ocho.m3u8
#EXTINF:-1 tvg-id="TV16Toronto.ca",TV 16 Toronto (720p) [Not 24/7]
http://rtmp.smartstream.video:1935/capco/tv29/playlist.m3u8

View file

@ -1,35 +1,35 @@
#EXTM3U
#EXTINF:-1 tvg-id="",48 Hours
#EXTINF:-1 tvg-id="48Hours.us@SD",48 Hours
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e925bc68d18a00077bb990/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c78ce00-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d510e704-124c-497f-89cb-732e27dd295a
#EXTINF:-1 tvg-id="",A Million Little Things
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62ea4a07c07f2a00070e8d9a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c78f510-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=246c806d-de05-41c2-a26a-2a30c78f7bc5
#EXTINF:-1 tvg-id="",Adventure Sports TV
#EXTINF:-1 tvg-id="AdventureSportsTV.us@SD",Adventure Sports TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63c9550df13a9b00078677a7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c78f511-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4bd268c5-ffe8-41b9-87eb-00b21764a8c4
#EXTINF:-1 tvg-id="",Aftershock
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63e36b374e83e70008987c58/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c791c20-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8a330bc3-1def-4752-9f03-564abe79388b
#EXTINF:-1 tvg-id="",Alerte à Malibu
#EXTINF:-1 tvg-id="AlerteaMalibu.us@Canada",Alerte à Malibu
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e90db65e8e770007382a50/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c791c21-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c070d939-44e0-419b-b958-d26935b903d0
#EXTINF:-1 tvg-id="",American Pickers
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6408ae8f9b39550008caf94f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c791c22-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3b9fb3b4-161b-4a0e-a380-58f96557a8b2
#EXTINF:-1 tvg-id="",Anger Management
#EXTINF:-1 tvg-id="AngerManagementChannel.us@SD",Anger Management
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65cf8bdaa25d5e00081e1e5d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c791c23-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ecb53ccf-2d45-4edb-949e-540d922e0d69
#EXTINF:-1 tvg-id="",Antiques Road Show UK
#EXTINF:-1 tvg-id="AntiquesRoadshowUK.us@SD",Antiques Road Show UK
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/638e10de75c3a30007092693/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c791c24-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7a3d3806-9232-4410-9c3f-7b163aeadd84
#EXTINF:-1 tvg-id="",Are We There Yet?
#EXTINF:-1 tvg-id="AreWeThereYet.us@SD",Are We There Yet?
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65cf8b9328730900087c5324/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c791c25-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=fd1975a1-4578-4dba-893b-1a552eb054bc
#EXTINF:-1 tvg-id="",Arthur
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6482f27c17f5e10008c10ff0/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c794330-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=708b1b6d-b68b-435b-a9fc-551cbc3b51ea
#EXTINF:-1 tvg-id="",Ax Men
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6540fe4bbdf3cf0008aa2cdd/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c794331-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=334b8ad2-5361-4ae2-a1fd-41fb46bc4c2d
#EXTINF:-1 tvg-id="",Bar Rescue
#EXTINF:-1 tvg-id="BarRescue.us@SD",Bar Rescue
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655f2ee6c0fc88000877d26c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c794332-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0960644d-9f55-4a3e-8c16-71ab199dc6b4
#EXTINF:-1 tvg-id="",Baywatch
#EXTINF:-1 tvg-id="Baywatch.us@Canada",Baywatch
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdae69a47b6c00076af298/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c794333-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=cf6b9a6c-d0a8-4354-b1e0-ffb5af44b853
#EXTINF:-1 tvg-id="",beIN SPORTS XTRA
#EXTINF:-1 tvg-id="beINSPORTSXTRA.us@SD",beIN SPORTS XTRA
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62b97ef310e33f0007eea65f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c794334-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=01b4faa7-f3ac-4f6d-9967-3f409d4c6863
#EXTINF:-1 tvg-id="",Best of The Drew Barrymore Show
#EXTINF:-1 tvg-id="BestofTheDrewBarrymoreShow.us@SD",Best of The Drew Barrymore Show
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6310cbee5a8ad300070fdb7c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c796a40-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=223866bd-0f1f-4f33-9986-65de6978421c
#EXTINF:-1 tvg-id="",Beverly Hills 90210
#EXTINF:-1 tvg-id="BeverlyHills90210.us@Canada",Beverly Hills 90210
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63565bdbb0d80d00078d3450/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c796a41-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b972b605-b580-49aa-8079-19ae91d34013
#EXTINF:-1 tvg-id="",Beyond History
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb9844db5a4a0007ebc2a3/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c796a42-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d3e7f565-b65d-418f-9f3a-1da5e2c255f3
@ -45,25 +45,25 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6391bdf41d4c24000780b234/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c799150-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=88bef66e-4156-47b4-a0db-16d60ae70741
#EXTINF:-1 tvg-id="",Car Chase
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65b384020cb1a1000880dee9/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c799151-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=51514d9d-db13-4653-aa11-b64c6d4665cc
#EXTINF:-1 tvg-id="",Catfish
#EXTINF:-1 tvg-id="PlutoTVCatfish.us@SD",Catfish
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64f8a2a23a0d700008a6ed7b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c799152-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d33cda72-eef1-4ec7-8127-8301aff1d921
#EXTINF:-1 tvg-id="CBSNews247.us",CBS News 24/7
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6350fdd266e9ea0007bedec5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c799153-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=15376bcb-2b34-4530-a2f7-c528a8eb2aa3
#EXTINF:-1 tvg-id="",Cheaters
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6582f7d612d5ee00089a663d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c799154-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b0c16eba-1daa-4dd1-9854-b271c81bb5e8
#EXTINF:-1 tvg-id="",Cheers
#EXTINF:-1 tvg-id="Cheers.us@Canada",Cheers
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdb7f0db2eb30007376d4d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c799155-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=794ad915-7321-49a1-8f52-1d90f588cfd9
#EXTINF:-1 tvg-id="",Christmas 365
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb6d4308f5ec0007453c09/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c799156-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=94bacb18-2918-4d85-875c-f5554357f3d7
#EXTINF:-1 tvg-id="",Classica
#EXTINF:-1 tvg-id="Classica.us@SD",Classica
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64240c3f9189ce00087dd17e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c799157-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b0939c7d-0d09-49b1-a6ca-f5d30195d075
#EXTINF:-1 tvg-id="",CMusic
#EXTINF:-1 tvg-id="StingrayCMusic.ca@SD",CMusic
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64240d00dbdaaa00085bc5e2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c799158-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=591a5510-6f0c-4769-9f52-fb2ec0e8a3ea
#EXTINF:-1 tvg-id="",Come Dine with Me
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65367e724f123d000877cfe5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c79b860-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d8469ee3-a58f-4fb6-931e-e25e07a067a7
#EXTINF:-1 tvg-id="",Comedy Central
#EXTINF:-1 tvg-id="ComedyCentralPlutoTV.us@Canada",Comedy Central
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64f8a408bd341e000818fcda/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c79b861-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=bc03faa5-401f-4a68-9972-153b1f336cac
#EXTINF:-1 tvg-id="",Comedy Central Animation
#EXTINF:-1 tvg-id="ComedyCentralAnimation.us@SD",Comedy Central Animation
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64f8a949f5b5e4000862467c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c79b862-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=954a470a-ef46-4375-9079-27408bd93898
#EXTINF:-1 tvg-id="",Comedy Central Stand-Up
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64f8a9ccd661bb00081bd93a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c79b863-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7fed5fcc-0dbc-42e9-8b2f-d5eb610c5074
@ -73,7 +73,7 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655f2ce5954b020008c8352d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c79b865-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3595184b-cb04-4d88-b8b6-18f5809ccdac
#EXTINF:-1 tvg-id="",CrimeTime
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e93b8eb8e02600071f8b1d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c79b866-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f6712973-8faa-4699-8910-6209c1b7a19d
#EXTINF:-1 tvg-id="",CSI
#EXTINF:-1 tvg-id="CSI.us@SD",CSI
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e9224f41d5e100076db2b6/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c79df70-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=dec120d8-b140-4915-a068-07986f2860d1
#EXTINF:-1 tvg-id="",CSI: Miami
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63f4e0e63fde020007835cbe/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c79df71-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a93e1bf0-0e0f-4cc0-a79d-1cb026b180ed
@ -83,7 +83,7 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6540fec1770cf1000866b65b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c79df73-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=64043e4b-3a3a-42a9-bce9-67430c31c9f5
#EXTINF:-1 tvg-id="",DAZN TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/647f07e74cfc2c0008a2e557/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c79df74-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c15ea93c-2750-4bfe-89b2-661f859342f1
#EXTINF:-1 tvg-id="",Deal or no Deal
#EXTINF:-1 tvg-id="DealorNoDeal.us@SD",Deal or no Deal
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e92951c2db99000787c00d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c79df75-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=99d1f141-b1af-4c62-9b90-538de8ee3cc4
#EXTINF:-1 tvg-id="",Declassified
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdaf9cf1bdc500073a8bcb/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c79df76-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=77b58119-8b6e-403d-b5dd-1096e48e0c09
@ -91,43 +91,43 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63c7c122808b7400075c070f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a0680-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b39071e5-3029-4bb5-90be-39bd80bbc6a6
#EXTINF:-1 tvg-id="",Diagnosis Murder
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65fd548f29adfd00089c662c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a0681-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=aed07097-3592-47e8-bac5-f9f578b23c54
#EXTINF:-1 tvg-id="",Djazz
#EXTINF:-1 tvg-id="StingrayDJAZZ.ca@SD",Djazz
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64240ccfaa2d690008dc4406/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a0682-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=959d0b22-4af5-4741-8264-1da92550e8c1
#EXTINF:-1 tvg-id="",Doc Martin
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e922f6675f71000736db3b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a0683-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=999d1690-f7fb-40a5-b944-462166e9515a
#EXTINF:-1 tvg-id="",Doctor Who
#EXTINF:-1 tvg-id="DoctorWho.us@Canada",Doctor Who
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e92d2e9bc0ab00072e10a3/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a0684-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=37ea7b78-1453-4bf3-b9ff-3fe34d4fc035
#EXTINF:-1 tvg-id="",Doctor Who Classic
#EXTINF:-1 tvg-id="DoctorWhoClassic.us@Canada",Doctor Who Classic
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdad934d73d50007a82472/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a0685-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=fb357bb3-ec69-4aa3-aa8c-7ad6b7bb3424
#EXTINF:-1 tvg-id="",Dog The Bounty Hunter
#EXTINF:-1 tvg-id="DogtheBountyHunter.us@Canada",Dog The Bounty Hunter
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6540fee72cf13100085d5a18/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a0686-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a785777c-53e9-4fa5-bf8d-22125f05159a
#EXTINF:-1 tvg-id="",Dora TV
#EXTINF:-1 tvg-id="DoraTV.us@Canada",Dora TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e951258a26d40007b3034c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a0687-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=697806d6-afc8-4125-a899-6ef54b8526fc
#EXTINF:-1 tvg-id="",Dora TV en Français
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdb9baa9dddb0007f39e41/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a0688-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d825e077-4dd8-47f8-bea3-c535753493bf
#EXTINF:-1 tvg-id="",Duck Dynasty
#EXTINF:-1 tvg-id="DuckDynasty.us@UK",Duck Dynasty
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6540fe6fbfbaec0008a583ae/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a2d90-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b2414064-7363-4d88-b917-86f379a71ce9
#EXTINF:-1 tvg-id="",Dynasty
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e919ca865c590007ecd0bd/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a2d91-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a106f440-441b-42eb-86b4-d732ef6f814e
#EXTINF:-1 tvg-id="",FailArmy
#EXTINF:-1 tvg-id="FailArmy.us@Canada",FailArmy
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdb5500c21270007218ce1/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a2d92-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ecaff509-d568-42e3-8ce7-0595119efeac
#EXTINF:-1 tvg-id="",Family Feud Classic
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64c2222fb0cf5c0008288c4f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a2d93-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5513d020-7e3c-4428-8383-36d51d71d616
#EXTINF:-1 tvg-id="",Family Ties
#EXTINF:-1 tvg-id="FamilyTies.us@SD",Family Ties
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e920403bd6940007fb68b8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a2d94-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d53010fa-6841-4947-a218-d0d4d4f52c95
#EXTINF:-1 tvg-id="",FBI Files
#EXTINF:-1 tvg-id="FBIFiles.us@UK",FBI Files
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdaa32a1b2fd00076693e8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a2d95-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=53708f79-4a2b-4285-8fa6-e950fc36fb48
#EXTINF:-1 tvg-id="",Fear Factor
#EXTINF:-1 tvg-id="FearFactor.us@Canada",Fear Factor
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63482674df87730007656044/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a2d96-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4f3a5677-9ed1-44d1-9702-c2039e7bf0d1
#EXTINF:-1 tvg-id="",Fixers and Flippers
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb62081afad500077e915e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a2d97-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8ea54251-dad6-45d5-9afb-2162c78ab93d
#EXTINF:-1 tvg-id="",Forensic Files
#EXTINF:-1 tvg-id="ForensicFiles.us@SD",Forensic Files
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e92392a3e6270007f562e8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a54a0-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=053b9371-9f0f-4936-9aa9-ae27ee69ae5f
#EXTINF:-1 tvg-id="Frasier.ca",Frasier
#EXTINF:-1 tvg-id="Frasier.us@Canada",Frasier
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62f4f90e39183b000769f12b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a54a1-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=385f93fc-8e79-4ac3-9478-5758ce4a3181
#EXTINF:-1 tvg-id="",Game Show Central
#EXTINF:-1 tvg-id="GameShowCentral.us@SD",Game Show Central
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e90e8cb05d2b0007f10a61/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a54a2-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=06d7c73f-91e9-44c5-868e-5336253a1d67
#EXTINF:-1 tvg-id="",Ghost Hunters
#EXTINF:-1 tvg-id="GhostHunters.us@UK",Ghost Hunters
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65cf8ace332fec00081e7ea2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a54a3-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=733471ce-0ac1-447e-9326-012361ee2487
#EXTINF:-1 tvg-id="",Global News BC
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62cbf063257170000724590c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a54a4-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=dbc1416e-8c70-4097-a89c-835beacc1b11
@ -157,11 +157,11 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62cc00b3b821cf00070f82c3/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7a7bb7-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c77ab85b-1b15-4a76-bcb6-d0e12396d41a
#EXTINF:-1 tvg-id="",Global News Winnipeg
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62cc0120880c890007191016/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7aa2c0-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=9bcdaa8b-3df2-47ca-abf7-ba093e2e6ca0
#EXTINF:-1 tvg-id="",Gordon Ramsay's Hell's Kitchen
#EXTINF:-1 tvg-id="GordonRamsaysHellsKitchen.us@SD",Gordon Ramsay's Hell's Kitchen
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62ea45010d0611000839868c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7aa2c1-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e3a17d6f-f38c-4a08-9e69-00d8a53906ec
#EXTINF:-1 tvg-id="",Gunsmoke
#EXTINF:-1 tvg-id="Gunsmoke.us@SD",Gunsmoke
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e916affb29c60007211c8a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7aa2c2-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1595266f-ecb0-4af0-bab6-40b7d0586999
#EXTINF:-1 tvg-id="",Happy Days
#EXTINF:-1 tvg-id="HappyDays.us@SD",Happy Days
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e917b5e354cf0007b97a67/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7aa2c3-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b9cae61e-6671-48b9-8e36-973e2921034d
#EXTINF:-1 tvg-id="",HauntTV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63934c218ef524000757b122/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7aa2c4-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=25722e97-3227-46ed-84fd-718e848f28de
@ -179,11 +179,11 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb60d2d835e10007e44a26/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7ac9d0-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=54b056b4-154e-4113-8ba7-8ed2587af6ce
#EXTINF:-1 tvg-id="",Income Property
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e926429cb58900088f951f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7ac9d1-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=9a63c15a-155d-463a-93ab-a89574f82e5c
#EXTINF:-1 tvg-id="",Ink Master
#EXTINF:-1 tvg-id="InkMaster.us@SD",Ink Master
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655f2d713944b60008bc7e90/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7ac9d2-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e7b1d981-a145-4f0e-b936-2e3b59397aee
#EXTINF:-1 tvg-id="",Iron Chef
#EXTINF:-1 tvg-id="IronChef.us@Canada",Iron Chef
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6582f8dadfed030008e5a93d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7ac9d3-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=06f4488f-c700-49ec-8b6e-d27460d8c3ed
#EXTINF:-1 tvg-id="",Johnny Carson TV
#EXTINF:-1 tvg-id="JohnnyCarsonTV.us@SD",Johnny Carson TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64ddcf8e9c1e390008349fc8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7ac9d4-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ff0b5333-a2df-4153-b8dd-a021884c8085
#EXTINF:-1 tvg-id="",Kid Quest
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb6aede6ff56000707085b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7ac9d5-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=03b2428e-2903-46ce-9192-ce454749a025
@ -205,65 +205,65 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655230a4f8259d000800579e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7af0e4-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=625d2258-9add-4573-9cac-75472f1e1140
#EXTINF:-1 tvg-id="",Love Pets
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65265dada6c3830008942a0a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7af0e5-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8de1032a-71e8-4216-8110-72f35187d9fa
#EXTINF:-1 tvg-id="",Lupin the 3rd
#EXTINF:-1 tvg-id="Lupinthe3rd.us@SD",Lupin the 3rd
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63b5964d1bdba1000712521f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7af0e6-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ceff1aa0-cebb-4159-99d2-7b38b17807a8
#EXTINF:-1 tvg-id="",Mad About You
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64b52e907d9341000802f886/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7af0e7-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=91689c00-42f5-4fdc-9694-8952120c6319
#EXTINF:-1 tvg-id="",Matlock
#EXTINF:-1 tvg-id="Matlock.us@SD",Matlock
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63da365f60bc8f0008a50f44/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7af0e8-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4f26df9e-4f5e-4183-a843-1996b0eaf551
#EXTINF:-1 tvg-id="",Max & Ruby
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb6a4feb32e8000708f4d0/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b17f0-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ef7abed0-920d-4c83-92ed-2a600f6fc6d8
#EXTINF:-1 tvg-id="",Midsomer Murders
#EXTINF:-1 tvg-id="MidsomerMurders.us@SD",Midsomer Murders
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e92447ea1e2a000735ed33/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b17f1-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8d95013f-2fa7-4fc2-a78f-993e5252da47
#EXTINF:-1 tvg-id="",Mission Impossible
#EXTINF:-1 tvg-id="MissionImpossible.us@SD",Mission Impossible
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62ea43aa0c43540007f2db96/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b17f2-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0878db09-3913-46f0-b42a-c9951a6f9f69
#EXTINF:-1 tvg-id="",Modern Marvels
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6540ff2d770cf1000866b90a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b17f3-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1b3230b6-e0bb-4431-bee9-87f6c6f5b2d2
#EXTINF:-1 tvg-id="",Monster Jam
#EXTINF:-1 tvg-id="MonsterJam.pl@SD",Monster Jam
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65bcc9c8d77d450008b34c6b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b17f4-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4ef65ab7-424b-4423-93e5-e94da98d875f
#EXTINF:-1 tvg-id="",More NCIS
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e949f0cec1e60007f03314/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b17f5-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f1b5eec9-2caa-42db-be84-da456a1d44db
#EXTINF:-1 tvg-id="",MovieSphere by Lionsgate
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64a3d96f060e830008af6745/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b17f6-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=41f0c8e5-55e6-4740-a854-15ac608b8c65
#EXTINF:-1 tvg-id="",MTV Biggest Pop
#EXTINF:-1 tvg-id="MTVBiggestPop.us@Canada",MTV Biggest Pop
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65410176770cf1000866bf31/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b17f7-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=bcf56774-6379-4d92-a0d3-c5c517f6e994
#EXTINF:-1 tvg-id="",MTV Classic
#EXTINF:-1 tvg-id="MTVClassic.us@Canada",MTV Classic
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/654100b4bdf3cf0008aa49c7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b17f8-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0f6e1478-21f2-4086-89a2-f5bf724e1c45
#EXTINF:-1 tvg-id="",MTV Dating
#EXTINF:-1 tvg-id="MTVDating.us@Canada",MTV Dating
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64f8a0c230ab3300084369b8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b17f9-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=70f03476-c602-474c-9bec-e1c4bbf13a02
#EXTINF:-1 tvg-id="",MTV Reality
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64f89fcfd661bb00081ba45c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b3f00-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=be8b1337-550f-4b0e-bf9b-d3dec2e64384
#EXTINF:-1 tvg-id="",MTV Ridiculousness
#EXTINF:-1 tvg-id="MTVRidiculousness.us@Canada",MTV Ridiculousness
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64f9cccf110545000837912e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b3f01-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b283a70f-16b8-4034-abe0-9c8171462c83
#EXTINF:-1 tvg-id="",MTV Spankin New
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6541010f770cf1000866be98/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b3f02-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7c3402af-f54f-4488-b74f-62b1998013e4
#EXTINF:-1 tvg-id="",Naruto
#EXTINF:-1 tvg-id="Naruto.us@Canada",Naruto
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642be2939189ce0008916c21/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b3f03-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0f83fe69-e624-47e7-9e5e-670cb73840f2
#EXTINF:-1 tvg-id="",Nashville
#EXTINF:-1 tvg-id="PlutoTVNashville.us@SD",Nashville
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65cf8d7428730900087c5907/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b3f04-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=755f7df4-39e5-40b0-b9c3-628ab31d2612
#EXTINF:-1 tvg-id="",Naturescape
#EXTINF:-1 tvg-id="StingrayNaturescape.ca@SD",Naturescape
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64240b7e283aa40008f79f84/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b3f05-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a5760903-3730-493d-a240-f38538ed67ca
#EXTINF:-1 tvg-id="",NCIS
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62f4f5de1c100100075665ef/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b3f06-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=cf46f3b0-cd26-4b98-92b0-312be52250e0
#EXTINF:-1 tvg-id="",Nick Jr. Pluto TV
#EXTINF:-1 tvg-id="NickJrPlutoTV.us@Canada",Nick Jr. Pluto TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdb75c3afd1200079146a6/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b3f07-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=08e1ba5b-febb-444b-927d-f017f608e57e
#EXTINF:-1 tvg-id="",Nick Pluto TV
#EXTINF:-1 tvg-id="NickPlutoTV.us@Canada",Nick Pluto TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdb6a83c6e37000726823b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b3f08-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c15d1002-05a1-4c9d-82b6-2c554bbbf97f
#EXTINF:-1 tvg-id="",NickToons
#EXTINF:-1 tvg-id="Nicktoons.us",NickToons
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/654ca7f92c1d3300086b608c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b6610-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=359ee837-a829-4fe0-9d99-8dc36018ced2
#EXTINF:-1 tvg-id="",Nonstop Chop
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb675fc9f6da0007b36888/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b6611-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3ad76d8d-fab5-4b2c-9047-f70c1212f7c1
#EXTINF:-1 tvg-id="",Nonstop Drama
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb9ade112ca70007d8441d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b6612-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f86ca519-ca18-4239-ab5b-089b2094739d
#EXTINF:-1 tvg-id="",Nosey
#EXTINF:-1 tvg-id="Nosey.us@Canada",Nosey
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e93d0a80d8d10008a0181e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b6613-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1fbd0fc2-487d-4b2e-8f46-ca423dcfe679
#EXTINF:-1 tvg-id="",Out TV Proud
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6368e15a51e9560007c592ed/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b6614-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=48221a4e-19a7-43c2-952b-2a59f488a79d
#EXTINF:-1 tvg-id="",Paw Patrol
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62ea3ec626dc1900078e9f26/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b6615-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=036f3618-f9a5-4a4b-ba27-2cb712a7f255
#EXTINF:-1 tvg-id="",Perry Mason
#EXTINF:-1 tvg-id="PerryMason.us@SD",Perry Mason
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63e20bd160bc8f0008b4c949/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b6616-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f4c893d1-40a3-46c4-813b-fefaf471db3f
#EXTINF:-1 tvg-id="",Pet Collective
#EXTINF:-1 tvg-id="ThePetCollective.us@Canada",Pet Collective
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e92b5fca869f00078f0162/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b6617-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4b4fceb2-10ba-4e0e-b055-2002afd89dc2
#EXTINF:-1 tvg-id="",Pluto TV Action Movies
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62ea3c2e4823db00072788ed/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b8d20-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c110a2fa-daa4-4051-944a-5705842fcc96
@ -271,39 +271,39 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/653bdb0fbdf3cf00089cc395/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b8d21-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=272950eb-6667-4241-84ba-48c0968ea09d
#EXTINF:-1 tvg-id="",Pluto TV Classic TV Families
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e91af00c43540007f2bb43/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b8d22-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=bf7dadef-9dd1-485f-8155-fd19e0afaf5c
#EXTINF:-1 tvg-id="",Pluto TV Comedy
#EXTINF:-1 tvg-id="PlutoTVComedy.us@Canada",Pluto TV Comedy
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e92178946c8000079a3160/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b8d23-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7bb58dcf-41b0-4375-8a36-1b947b81616b
#EXTINF:-1 tvg-id="",Pluto TV Comedy Movies
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62ea3d24b8e02600071fa296/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b8d24-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=eac25957-ab7a-4358-b0cd-9e596b2f1a6f
#EXTINF:-1 tvg-id="",Pluto TV Courtroom
#EXTINF:-1 tvg-id="PlutoTVCourtroom.us@SD",Pluto TV Courtroom
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e927ebc2db99000787c00a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b8d25-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3681bac2-c906-4f96-a6ce-650e92a5ab2d
#EXTINF:-1 tvg-id="",Pluto TV Crime Drama
#EXTINF:-1 tvg-id="PlutoTVCrimeDrama.us@SD",Pluto TV Crime Drama
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e92708a7ce600007b2676a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b8d26-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=59a15527-cb90-4bf4-90ab-ec456c5d2df2
#EXTINF:-1 tvg-id="",Pluto TV Documentaries
#EXTINF:-1 tvg-id="PlutoTVDocumentaries.us@Canada",Pluto TV Documentaries
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63f87df87533d80008ab9b4c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b8d27-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ff7033e4-b330-4a43-8d11-664c727998ff
#EXTINF:-1 tvg-id="",Pluto TV Drama Movies
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdb0bcd707b9000739d2e5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b8d28-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ac9b4aeb-508c-4396-8b31-dc70fc73c3ce
#EXTINF:-1 tvg-id="",Pluto TV Horror
#EXTINF:-1 tvg-id="PlutoTVHorror.us@Canada",Pluto TV Horror
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62ea3f8a38acc80007072d26/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7b8d29-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=198d34d5-3dfc-40a4-8f5e-7aecb91ced74
#EXTINF:-1 tvg-id="",Pluto TV Paranormal
#EXTINF:-1 tvg-id="PlutoTVParanormal.us@Canada",Pluto TV Paranormal
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e92a58f3e4290007290c96/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bb430-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=cce671df-9b66-46f4-ab1a-3c0b1cb8a74d
#EXTINF:-1 tvg-id="",Pluto TV Retro Crime Drama
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/630f1e6073bd1800082107f0/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bb431-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8e4df61b-f0fe-477e-8bdf-c892174573c4
#EXTINF:-1 tvg-id="",Pluto TV Retro Kid
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6408b41b83f58900081d91ad/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bb432-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e8b87cf6-60af-4f60-8a75-456452a82753
#EXTINF:-1 tvg-id="",Pluto TV True Crime
#EXTINF:-1 tvg-id="PlutoTVTrueCrime.us@Canada",Pluto TV True Crime
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e9289f8d467f0007fbc701/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bb433-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4f060b33-63f0-4db8-92fd-ac93ae48bcb1
#EXTINF:-1 tvg-id="",Pluto TV Truly Canadian
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6479c171536e0c0008942590/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bb434-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5ad8a7d6-7a26-4a76-9aa3-84f10fac264d
#EXTINF:-1 tvg-id="",Pluto TV Westerns
#EXTINF:-1 tvg-id="PlutoTVWesterns.us@Canada",Pluto TV Westerns
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdacc96a3751000811842d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bb435-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8d87a47e-6b0e-40e2-88e1-8631bfba1316
#EXTINF:-1 tvg-id="",Pocket.watch
#EXTINF:-1 tvg-id="pocketwatch.us@SD",Pocket.watch
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/635656ed26e11400077add0f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bb436-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4bbef974-a7b4-4128-b8bb-80945ad9a81c
#EXTINF:-1 tvg-id="",Preschool Pals
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb67cbb3af68000702db15/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bb437-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=fff0d013-4b9f-4262-bd8b-8f09a990dd45
#EXTINF:-1 tvg-id="",Preschool Play
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb68a5a6a2670007b7c5b8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bb438-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=bf06571a-1d0c-43e6-909a-8e1745098004
#EXTINF:-1 tvg-id="",Qello Concerts
#EXTINF:-1 tvg-id="QelloConcertsbyStingray.ca@SD",Qello Concerts
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64240d3d466225000827412b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bb439-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6ba3de05-22ef-4ab2-8d11-c4a6c21d39ba
#EXTINF:-1 tvg-id="",Rawhide
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65660223635c3c00086c2578/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bdb40-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=85823e0a-69bc-4cfd-9626-cb87aab91a02
@ -323,15 +323,15 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65367e914f123d000877d021/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bdb47-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e137c165-f05c-4ec7-8b23-8d14d8c59871
#EXTINF:-1 tvg-id="",Romance 365
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb6cd97b90e60007bc318a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bdb48-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=dc1c4c08-8f65-4478-b529-e20763cbfc28
#EXTINF:-1 tvg-id="",Ryan and Friends
#EXTINF:-1 tvg-id="RyanandFriends.us@SD",Ryan and Friends
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6356584de76adf0007dcec3c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7bdb49-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e644ef3c-52cb-4f38-8424-d7a60f849f9c
#EXTINF:-1 tvg-id="",Sailor Moon
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642be30baa2d690008ed2935/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c0250-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=90602a89-140d-4b4a-b8d0-c360c511b227
#EXTINF:-1 tvg-id="",Shades of Black
#EXTINF:-1 tvg-id="ShadesofBlack.pl@SD",Shades of Black
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63920159db0dea0007dd9932/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c0251-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=93b44734-079b-4fec-a58c-6406103089cd
#EXTINF:-1 tvg-id="",Snackable Adventures
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb65373297460007ec5aa7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c0252-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0fc5a1ae-359c-4d5f-94c7-764e2885f877
#EXTINF:-1 tvg-id="",South Park
#EXTINF:-1 tvg-id="SouthPark.us@Canada",South Park
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdb1c5e25122000798ac79/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c0253-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=67f014c4-f66e-4860-a7d5-9e9de1cab501
#EXTINF:-1 tvg-id="",South Park En Français
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdb919d36cbd0007e6ab8a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c0254-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3779233e-781d-466c-a70d-0dbdb22e3f67
@ -347,7 +347,7 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/66447eebcb3ea10008022ea4/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c2960-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=93d129c0-c017-402f-adf1-4435ff396a73
#EXTINF:-1 tvg-id="",South Park: Welcome to Canada!
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/663115d923e24f000843b49c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c2961-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3ab119fa-05a9-4969-b1d0-3284a871f460
#EXTINF:-1 tvg-id="",Star Trek
#EXTINF:-1 tvg-id="StarTrek.us@SD",Star Trek
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/643ea768e0789d0008548886/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c2962-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d491b1b5-034d-44e2-b45a-989c3dcd68d8
#EXTINF:-1 tvg-id="",Summer of Movies
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6654adb1f99922000854388c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c2963-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=60bd3196-5e87-4845-bb5b-baeade7af6c1
@ -357,17 +357,17 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e9186f8b685d000773cf58/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c2965-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7ddc6540-3409-4ff3-9e7e-06eb3030f1ea
#EXTINF:-1 tvg-id="",Teenage Mutant Ninja Turtles
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a669ab2fac9c000835c443/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c2966-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=279ce019-bd92-4f14-b227-6869b4b8a835
#EXTINF:-1 tvg-id="",The Andy Griffith Show
#EXTINF:-1 tvg-id="TheAndyGriffithShow.us@SD",The Andy Griffith Show
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e9145ec07f2a00070e68dc/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c2967-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=fbed224a-3b63-4abd-b7a5-8676931b8711
#EXTINF:-1 tvg-id="",The Asylum
#EXTINF:-1 tvg-id="TheAsylum.us@Canada",The Asylum
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdb1c958cb95000782088c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c2968-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0c1ba6db-5a9c-4043-b539-12d9380dc54b
#EXTINF:-1 tvg-id="",The Beverly Hillbillies
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6565fefdc917a50008485cc6/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c5070-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2dd9b7af-9b24-486e-8bae-af60ffceb2a1
#EXTINF:-1 tvg-id="",The Bob Ross Channel
#EXTINF:-1 tvg-id="TheBobRossChannel.us@SD",The Bob Ross Channel
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64b82075e4391c0008c3c1fe/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c5071-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7b163328-7998-4aee-803b-e7321d13cbf9
#EXTINF:-1 tvg-id="",The Carol Burnett Show
#EXTINF:-1 tvg-id="TheCarolBurnettShow.us@SD",The Carol Burnett Show
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e91c8933682c000754fc45/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c5072-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7d85b7eb-3d33-422e-9445-9473e1d0d141
#EXTINF:-1 tvg-id="",The Challenge
#EXTINF:-1 tvg-id="TheChallenge.us@SD",The Challenge
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64f8a22a3efb510008245df0/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c5073-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=63985417-98be-4524-83cc-9a7c05387193
#EXTINF:-1 tvg-id="",The Dick Van Dyke Show
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e91384210bec0007ba714c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c5074-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5dad2390-9fed-4365-9781-2efdca8de405
@ -375,15 +375,15 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e91da1f07afa0007ffccfc/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c5075-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1b64e7f1-151a-45ae-b9ec-c80bbbacf798
#EXTINF:-1 tvg-id="",The Facts of Life
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64b52df0bc3ab40008488f5c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c5076-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=07b54a32-d5da-4df1-9bbb-283909a8c139
#EXTINF:-1 tvg-id="",The Judge Judy Channel
#EXTINF:-1 tvg-id="TheJudgeJudyChannel.us@SD",The Judge Judy Channel
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e92e536f28870007fa9b3a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c5077-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d7542660-a0a4-415c-a70a-fae3199e0e29
#EXTINF:-1 tvg-id="",The Love Boat
#EXTINF:-1 tvg-id="TheLoveBoat.us@SD",The Love Boat
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e91563ce7ce300076f917e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c5078-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2db14410-4921-497d-a226-bc4d2e0c53bc
#EXTINF:-1 tvg-id="",The New Detectives
#EXTINF:-1 tvg-id="TheNewDetectives.us@Canada",The New Detectives
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bdabbc5611f2000761ca30/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c5079-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=003b518d-cd6c-4b4b-80ab-ec5ad32c1a1c
#EXTINF:-1 tvg-id="",The Price is Right
#EXTINF:-1 tvg-id="PlutoTVThePriceisRight.us@SD",The Price is Right
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64c2214c2a7f2200089a0c4b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c507a-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c93e6330-dc43-4864-ad74-9144287f8bbd
#EXTINF:-1 tvg-id="",The Price is Right: The Barker Era
#EXTINF:-1 tvg-id="ThePriceIsRightTheBarkerEra.us@SD",The Price is Right: The Barker Era
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64c220e15dc1660008a79c96/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c7780-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c8557389-071b-4c1a-ad15-977e50610abe
#EXTINF:-1 tvg-id="",The Red Green Channel
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63565a6de3d057000783bb1c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c7781-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=92089ca4-c375-4a2a-a1ff-148a1935ce73
@ -391,35 +391,35 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63da370e2e477400081cf8b6/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c7782-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6b5c5f52-01b7-44d8-a06c-1f05f3169a75
#EXTINF:-1 tvg-id="",The Wiggles Classic
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/66422cf294d5580008c41bf5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c7783-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=edce0849-5729-49a3-a50b-87cb0ae3f908
#EXTINF:-1 tvg-id="",This Old House
#EXTINF:-1 tvg-id="ThisOldHouse.us@SD",This Old House
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a8054907e03a0008926323/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c7784-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b009a45e-cfd3-41fc-ba90-2b4d44bcb950
#EXTINF:-1 tvg-id="",Three's Company
#EXTINF:-1 tvg-id="ThreesCompany.us@SD",Three's Company
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64ca723a2bc49300081a8966/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c7785-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3b997b20-1713-4925-97ac-2a8fe6c85814
#EXTINF:-1 tvg-id="",Thrillers 365
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62fb6da41afad500077e9178/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c7786-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=26fc9e3f-7675-48b8-bf64-46d20af3ec80
#EXTINF:-1 tvg-id="",Tiny House Nation
#EXTINF:-1 tvg-id="TinyHouseNation.us@SD",Tiny House Nation
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6540ff4f7312a40008297b59/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c7787-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b64828a6-e38b-42b5-a91a-566c504d921c
#EXTINF:-1 tvg-id="",TNA Wrestling
#EXTINF:-1 tvg-id="TNAWrestlingChannel.pl@SD",TNA Wrestling
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62ea4dadce395f0007086df2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c7788-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=649aa9eb-97bb-42d6-85e0-d0595821c87a
#EXTINF:-1 tvg-id="",Top Gear
#EXTINF:-1 tvg-id="TopGear.uk@SD",Top Gear
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/638e10220aa6a6000726979f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c7789-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=62911cb3-82ce-40f0-807f-7cc1bb78bd05
#EXTINF:-1 tvg-id="",Tortues Ninja TV
#EXTINF:-1 tvg-id="TortuesNinjaTV.us@Canada",Tortues Ninja TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e9566e27ce19000732ec85/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c9e90-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3c72045b-f8eb-40e8-a6f7-4ee617849626
#EXTINF:-1 tvg-id="",Totally Turtles
#EXTINF:-1 tvg-id="TotallyTurtles.us@Canada",Totally Turtles
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e95265c9fd030007268fb9/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c9e91-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=46f7cece-d4f5-4869-a9e4-bba83d8e7e96
#EXTINF:-1 tvg-id="",Transformers
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63da36dea995710008727d4d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c9e92-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=49f70fab-e28d-40ce-be99-2d619c18477b
#EXTINF:-1 tvg-id="",Unsolved Mysteries
#EXTINF:-1 tvg-id="UnsolvedMysteries.us@Canada",Unsolved Mysteries
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e924f2be69bc0007b7d53d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c9e93-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6362993f-fcc4-4e58-9056-bca26f635dcb
#EXTINF:-1 tvg-id="",Walker Texas Ranger
#EXTINF:-1 tvg-id="WalkerTexasRanger.us@Canada",Walker Texas Ranger
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/635659445b4c4700076d2ad1/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c9e94-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=36e2f6bf-cd8e-44d2-ad1e-a5747a670d91
#EXTINF:-1 tvg-id="",Who's the Boss
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64b52ec24ea4800008370651/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c9e95-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a1316847-5815-401d-b687-cbaa9c6ff900
#EXTINF:-1 tvg-id="",Wipeout
#EXTINF:-1 tvg-id="Wipeout.us@Canada",Wipeout
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62e92a6f087606000767eae2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c9e96-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b45ce7a5-d6f7-4e7a-b14e-762d2646c053
#EXTINF:-1 tvg-id="",World Poker Tour
#EXTINF:-1 tvg-id="WorldPokerTour.us@Canada",World Poker Tour
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62ea4b755e8e770007387b79/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c9e97-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=14cdb377-9292-4d37-85af-4d89aff56e90
#EXTINF:-1 tvg-id="",Yo! MTV
#EXTINF:-1 tvg-id="YoMTV.us@SD",Yo! MTV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/654102ed770cf1000866c307/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7c9e98-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4c7b00a0-d803-41b5-95bb-c20d39e69ce2
#EXTINF:-1 tvg-id="",Yu-Gi-Oh!
#EXTINF:-1 tvg-id="YuGiOh.us@SD",Yu-Gi-Oh!
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63f87c73085b8c0008fc8e95/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=2c7cc5a0-35fc-11ef-a031-2b5d494037a2&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5865c45c-42a3-4279-b47e-87d38f6e0cb4

View file

@ -1,7 +1,7 @@
#EXTM3U
#EXTINF:-1 tvg-id="Baywatch.us",Baywatch
https://d22ljxpuae2sin.cloudfront.net/playlist.m3u8
#EXTINF:-1 tvg-id="DegrassiTheNextGeneration.ca",Degrassi The Next Generation (Canada) (720p)
#EXTINF:-1 tvg-id="",Degrassi The Next Generation (Canada) (720p)
https://dhx-degrassi-2-ca.samsung.wurl.tv/playlist.m3u8
#EXTINF:-1 tvg-id="",DryBar Comedy
https://drybar-drybarcomedy-1-ca.samsung.wurl.tv/playlist.m3u8
@ -9,7 +9,7 @@ https://drybar-drybarcomedy-1-ca.samsung.wurl.tv/playlist.m3u8
https://failarmy-international-ca.samsung.wurl.tv/playlist.m3u8
#EXTINF:-1 tvg-id="HauntTV.us",Haunt TV
https://blueantmediacanada-haunttv-samsungca.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="HeartlandWebFeed.us",Heartland
#EXTINF:-1 tvg-id="Heartland.us@Web",Heartland
https://d76toswjmqqzm.cloudfront.net/playlist.m3u8
#EXTINF:-1 tvg-id="InsightTV.nl",Insight TV (720p)
https://insighttv-samsung-canada.amagi.tv/playlist.m3u8

View file

@ -79,3 +79,5 @@ https://livevideo.infomaniak.com/streaming/livecast/tvm3/playlist.m3u8
https://cdnapisec.kaltura.com/p/1719221/sp/171922100/playManifest/entryId/1_t5h46v64/format/applehttp/protocol/https/a.m3u8
#EXTINF:-1 tvg-id="WedoBigStories.ch",Wedo Big Stories (1080p)
https://weyyak-live.akamaized.net/wedo_big_stories/index.m3u8
#EXTINF:-1 tvg-id="RADIODISCOuntTV.ch",RADIO DISCOunt TV (1080p)
https://585b674743bbb.streamlock.net/9030/9030/playlist.m3u8

View file

@ -1,3 +1,3 @@
#EXTM3U
#EXTINF:-1 tvg-id="RakutenTVFamilyMovies.ch",Rakuten TV Family Switzerland (720p)
#EXTINF:-1 tvg-id="RakutenTVFamilyMovies.es@Switzerland",Rakuten TV Family Switzerland (720p)
https://a24daf1125344b9cab66eed2fcff8821.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung-ch_RakutenFamily-1/playlist.m3u8

View file

@ -35,8 +35,6 @@ https://video1.getstreamhosting.com:1936/8282/8282/playlist.m3u8
https://strhlslb01.streamakaci.tv/str_mtv_mtv/str_mtv_multi/playlist.m3u8
#EXTINF:-1 tvg-id="NCI.ci",NCI (1080p)
https://cdnapisec.kaltura.com/p/5571652/sp/5571652/playManifest/entryId/1_no7nfr0h/deliveryProfileId/672/protocol/https/format/applehttp/a.m3u8
#EXTINF:-1 tvg-id="NCI.ci",NCI (1080p)
https://pixa.cdn.easybroadcast.fr/nci/nci.isml/nci-audio_fre=128000-video=2500000.m3u8
#EXTINF:-1 tvg-id="NovelaChannel.ci",Novela Channel (720p) [Not 24/7]
https://video1.getstreamhosting.com:1936/8284/8284/playlist.m3u8
#EXTINF:-1 tvg-id="NTV.ci",NTV Afrique (1080p) [Not 24/7]

View file

@ -37,7 +37,7 @@ https://v2.tustreaming.cl/atacamatv/index.m3u8
https://6362ca6f1fc28.streamlock.net/8028/8028/playlist.m3u8
#EXTINF:-1 tvg-id="AutonomaTV.cl",Autónoma TV (480p)
https://stream.wifispeed.cl:3033/hybrid/play.m3u8
#EXTINF:-1 tvg-id="AXN.cl",AXN (1080p)
#EXTINF:-1 tvg-id="AXNLatinAmerica.us@Chile",AXN (1080p)
https://cvi.cdn.rcs.net.ar/mnp/axn_hls/playlist.m3u8
#EXTINF:-1 tvg-id="AysenTV.cl",Aysen TV (720p)
https://v1.tustreaming.cl/aysentv/index.m3u8
@ -317,6 +317,9 @@ https://panel.miplay.cl:8082/spectrumchannel/index.m3u8
https://stv.janus.cl/playlist/stream.m3u8
#EXTINF:-1 tvg-id="Subela.cl",Súbela (720p)
https://mdstrm.com/live-stream-playlist/5fad9b1d978fe1080e3ac4a8.m3u8
#EXTINF:-1 tvg-id="SuyaiTV.cl" http-referrer="https://suyaitv.cl",Suyai TV (1080p)
#EXTVLCOPT:http-referrer=https://suyaitv.cl
https://signal.suyaitv.cl/live/35/playlist.m3u8?username=ZZDemoIPTVGH&password=9PcdCnFxUe
#EXTINF:-1 tvg-id="T13.cl",T13 (720p)
https://jireh-2-hls-video-us-isp.dps.live/hls-video/10b92cafdf3646cbc1e727f3dc76863621a327fd/t13/t13.smil/playlist.m3u8
#EXTINF:-1 tvg-id="TVinet.cl",T-Vinet (480p)
@ -445,11 +448,24 @@ https://zmlive.zappingtv.com/zm-free/zm.smil/playlist.m3u8
http://190.2.212.209:8050/play/a0oj
#EXTINF:-1 tvg-id="ZonaPlayTV.cl",Zona Play TV (720p)
https://paneltv.online:1936/8100/8100/playlist.m3u8
#EXTINF:-1 tvg-id="EnerGeekRadio.cl",EnerGeek Radio
https://xui-backend.energeek.cl/live/11/playlist.m3u8?username=dEmoweBeneRGEek2025&password=FK8tJm5kBxetEDAXSLDF
#EXTINF:-1 tvg-id="EnerGeekFAN.cl@SD",EnerGeek FAN (1080p)
https://xui-backend.energeek.cl/live/10/playlist.m3u8?username=dEmoweBeneRGEek2025&password=FK8tJm5kBxetEDAXSLDF
#EXTINF:-1 tvg-id="EnerGeek.cl",EnerGeek (1080p)
https://xui-backend.energeek.cl/live/9/playlist.m3u8?username=dEmoweBeneRGEek2025&password=FK8tJm5kBxetEDAXSLDF
#EXTINF:-1 tvg-id="VisionPlusTV.cl" http-referrer="https://visionplustv.cl/",Vision Plus TV (1080i)
#EXTVLCOPT:http-referrer=https://visionplustv.cl/
https://5ff3d9babae13.streamlock.net/jwagpqxehu/jwagpqxehu/playlist.m3u8
#EXTINF:-1 tvg-id="Nublevision.cl",Nublevision (720p)
https://tv.arkeo.cl:1936/nublevision/nublevision/playlist.m3u8
#EXTINF:-1 tvg-id="TVOSanVicente.cl" http-referrer="http://www.tvosanvicente.cl/",TVO San Vicente (720p)
#EXTVLCOPT:http-referrer=http://www.tvosanvicente.cl/
https://5ff3d9babae13.streamlock.net:443/8014/8014/playlist.m3u8
#EXTINF:-1 tvg-id="RadioSuyaiTV.cl" http-referrer="https://radio.suyaitv.cl",Radio Suyai TV (1080p)
#EXTVLCOPT:http-referrer=https://radio.suyaitv.cl
https://signal.suyaitv.cl/live/26/playlist.m3u8?username=ZZDemoIPTVGH&password=9PcdCnFxUe
#EXTINF:-1 tvg-id="SURTV.cl",SUR TV
https://redirector.rudo.video/hls-video/ey6283je82983je9823je8jowowiekldk9838274/surtv/surtv.smil/playlist.m3u8
#EXTINF:-1 tvg-id="Kanade.cl",Kanade (1080p)
https://xui-backend.energeek.cl/live/deM0kanADeweB/Cerq7EpWHiWDuHTJ8ikz/13.m3u8
https://xui-backend.energeek.cl/live/13/playlist.m3u8?username=ZZDemoIPTVGH&password=mdo96EuqMkTR
#EXTINF:-1 tvg-id="EnerGeekRadio.cl",EnerGeek Radio (1080p)
https://xui-backend.energeek.cl/live/11/playlist.m3u8?username=ZZDemoIPTVGH&password=mdo96EuqMkTR
#EXTINF:-1 tvg-id="EnerGeekFAN.cl",EnerGeek FAN (1080p)
https://xui-backend.energeek.cl/live/10/playlist.m3u8?username=ZZDemoIPTVGH&password=mdo96EuqMkTR
#EXTINF:-1 tvg-id="EnerGeek.cl",EnerGeek (1080p)
https://xui-backend.energeek.cl/live/9/playlist.m3u8?username=ZZDemoIPTVGH&password=mdo96EuqMkTR

View file

@ -1,8 +1,8 @@
#EXTM3U
#EXTINF:-1 tvg-id="AndoTV.cn",Ando TV
http://stream.qhbtv.com/adws/sd/live.m3u8
#EXTINF:-1 tvg-id="AndoTV.cn",Ando TV (576p)
http://119.1.122.186:4022/rtp/238.255.2.189:5999
#EXTINF:-1 tvg-id="AndoTV.cn",Ando TV
http://stream.qhbtv.com/adws/sd/live.m3u8
#EXTINF:-1 tvg-id="AnimationShowChannel.cn",Animation Show Channel
http://180.213.174.225:9901/tsfile/live/1034_1.m3u8?authid=0&key=txiptv&playlive=1
#EXTINF:-1 tvg-id="",Beijing Traffic Radio TV [Geo-blocked]
@ -29,7 +29,7 @@ http://117.161.133.51:81/gitv_live/G_CCTV-1/G_CCTV-1.m3u8
http://117.161.133.51:81/gitv_live/G_CCTV-2/G_CCTV-2.m3u8
#EXTINF:-1 tvg-id="CCTV15.cn",CCTV15音乐
http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225641/index.m3u8
#EXTINF:-1 tvg-id="",CCTV TV Guide (576p)
#EXTINF:-1 tvg-id="CCTVTVGuide.cn@SD",CCTV TV Guide (576p)
http://117.161.133.51:81/gitv_live/G_DIANSHIZN-CQ/G_DIANSHIZN-CQ.m3u8?p=GITV
#EXTINF:-1 tvg-id="CCTVWorldGeography.cn",CCTV 世界地理
http://117.161.133.51:81/gitv_live/G_SHIJIEDL-CQ/G_SHIJIEDL-CQ.m3u8?p=GITV
@ -41,7 +41,7 @@ http://117.161.133.51:81/gitv_live/G_TAIQIU-CQ/G_TAIQIU-CQ.m3u8?p=GITV
http://117.161.133.51:81/gitv_live/G_CCTV-WENHUA-CQ/G_CCTV-WENHUA-CQ.m3u8?p=GITV
#EXTINF:-1 tvg-id="CCTVWomensFashion.cn",CCTV 女性时尚
http://117.161.133.51:81/gitv_live/G_NVXINGSS-CQ/G_NVXINGSS-CQ.m3u8?p=GITV
#EXTINF:-1 tvg-id="",CCTV 第一剧场
#EXTINF:-1 tvg-id="CCTVTheFirstTheater.cn@SD",CCTV 第一剧场
http://117.161.133.51:81/gitv_live/G_DIYIJC-CQ/G_DIYIJC-CQ.m3u8?p=GITV
#EXTINF:-1 tvg-id="CCTVStormTheater.cn",CCTV 风云剧场
http://117.161.133.51:81/gitv_live/G_FENGYUNJC-CQ/G_FENGYUNJC-CQ.m3u8?p=GITV
@ -55,7 +55,7 @@ http://117.161.133.51:81/gitv_live/G_CCTV-GOLF-CQ/G_CCTV-GOLF-CQ.m3u8?p=GITV
http://117.161.133.51:81/gitv_live/G_CETV-1/G_CETV-1.m3u8?p=GITV
#EXTINF:-1 tvg-id="CETV2.cn",CETV2 (576p)
http://117.161.133.51:81/gitv_live/G_CETV-2/G_CETV-2.m3u8?p=GITV
#EXTINF:-1 tvg-id="",CETV-1
#EXTINF:-1 tvg-id="CETV1.cn@SD",CETV-1
http://121.19.134.246:808/hls/62/index.m3u8
#EXTINF:-1 tvg-id="CETV4.cn",CETV-4
http://49.113.179.174:4022/udp/238.125.3.92:5140
@ -229,11 +229,11 @@ https://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8
https://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8
#EXTINF:-1 tvg-id="",上虞經濟文化 (720p) [Not 24/7]
https://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8
#EXTINF:-1 tvg-id="",中国气象 (576p) [Not 24/7]
#EXTINF:-1 tvg-id="ChinaWeatherChannel.cn@SD",中国气象 (576p) [Not 24/7]
http://hls.weathertv.cn/tslslive/qCFIfHB/hls/live_sd.m3u8
#EXTINF:-1 tvg-id="",中天新聞 (1080p) [Not 24/7]
#EXTINF:-1 tvg-id="CTiNews.tw@SD",中天新聞 (1080p) [Not 24/7]
http://seb.sason.top/sc/ztxw_fhd.m3u8
#EXTINF:-1 tvg-id="",中視新聞 (1080p) [Geo-blocked]
#EXTINF:-1 tvg-id="CTVNewsChannel.tw@SD",中視新聞 (1080p) [Geo-blocked]
http://seb.sason.top/sc/zsxw_fhd.m3u8
#EXTINF:-1 tvg-id="",丰宁综合
https://jwliveqxzb.hebyun.com.cn/fengningzonghe/fengningzonghe.m3u8
@ -249,21 +249,21 @@ http://tvdrs.wsrtv.com.cn:8100/channellive/ch2.flv
http://tvdrs.wsrtv.com.cn:8100/channellive/ch1.flv
#EXTINF:-1 tvg-id="",云南 红河综合台 (1080p)
https://file.hhtv.cc/cms/videos/nmip-media/channellive/channel1/playlist.m3u8
#EXTINF:-1 tvg-id="",云南卫视 (1080p)
#EXTINF:-1 tvg-id="YunnanSatelliteTV.cn@SD",云南卫视 (1080p)
https://hwapi.yunshicloud.com/8xughf/e0bx15.m3u8
#EXTINF:-1 tvg-id="",云南卫视 (576p)
#EXTINF:-1 tvg-id="YunnanSatelliteTV.cn@SD",云南卫视 (576p)
http://39.134.115.163:8080/PLTV/88888910/224/3221225664/index.m3u8
#EXTINF:-1 tvg-id="",云南卫视 (576p)
#EXTINF:-1 tvg-id="YunnanSatelliteTV.cn@SD",云南卫视 (576p)
http://183.207.248.71/gitv/live1/G_YUNNAN/G_YUNNAN
#EXTINF:-1 tvg-id="",云南卫视 (576p)
#EXTINF:-1 tvg-id="YunnanSatelliteTV.cn@SD",云南卫视 (576p)
http://223.110.245.157/ott.js.chinamobile.com/PLTV/3/224/3221225591/index.m3u8
#EXTINF:-1 tvg-id="",云南卫视 (576p)
#EXTINF:-1 tvg-id="YunnanSatelliteTV.cn@SD",云南卫视 (576p)
http://223.110.245.159/ott.js.chinamobile.com/PLTV/3/224/3221225838/index.m3u8
#EXTINF:-1 tvg-id="",云南卫视 (576p)
#EXTINF:-1 tvg-id="YunnanSatelliteTV.cn@SD",云南卫视 (576p)
http://223.110.245.173/PLTV/4/224/3221225838/index.m3u8
#EXTINF:-1 tvg-id="",云南卫视 (576p) [Not 24/7]
#EXTINF:-1 tvg-id="YunnanSatelliteTV.cn@SD",云南卫视 (576p) [Not 24/7]
http://183.207.248.71/cntv/live1/yunnanstv/yunnanstv
#EXTINF:-1 tvg-id="",云南卫视 (540p)
#EXTINF:-1 tvg-id="YunnanSatelliteTV.cn@SD",云南卫视 (540p)
http://112.25.48.68/live/program/live/ynws/1300000/mnf.m3u8
#EXTINF:-1 tvg-id="",云南都市 (1080p)
http://39.130.202.81:6610/gitv_live/G_YNTV-2-HD/G_YNTV-2-HD.m3u8
@ -301,7 +301,7 @@ https://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8
http://stream.jinjiang.tv/1/sd/live.m3u8
#EXTINF:-1 tvg-id="",兴隆综合
https://jwcdnqx.hebyun.com.cn/live/xlzh/1500k/tzwj_video.m3u8
#EXTINF:-1 tvg-id="",兵团卫视 (540p) [Not 24/7]
#EXTINF:-1 tvg-id="BingtuanSatelliteTV.cn@SD",兵团卫视 (540p) [Not 24/7]
http://112.25.48.68/live/program/live/btws/1300000/mnf.m3u8
#EXTINF:-1 tvg-id="",内江公共 (720p)
http://njzb.scnj.tv:90/live/gggy_gggy800.m3u8
@ -309,7 +309,7 @@ http://njzb.scnj.tv:90/live/gggy_gggy800.m3u8
http://njzb.scnj.tv:90/live/kjpd_kjpd800.m3u8
#EXTINF:-1 tvg-id="",内江综合 (720p)
http://njzb.scnj.tv:90/live/xwzh_xwzh800.m3u8
#EXTINF:-1 tvg-id="",内蒙古 (576p)
#EXTINF:-1 tvg-id="NeiMonggolTV.cn@SD",内蒙古 (576p)
http://223.110.245.161/ott.js.chinamobile.com/PLTV/3/224/3221225836/index.m3u8
#EXTINF:-1 tvg-id="",内蒙古卫视 (576p)
http://39.134.115.163:8080/PLTV/88888910/224/3221225667/index.m3u8
@ -321,17 +321,17 @@ http://183.207.248.71/gitv/live1/G_NEIMENGGU/G_NEIMENGGU
http://223.110.245.173/PLTV/4/224/3221225836/index.m3u8
#EXTINF:-1 tvg-id="",农安新闻综合 [Geo-blocked]
https://stream2.jlntv.cn/naxw/sd/live.m3u8
#EXTINF:-1 tvg-id="",凤凰中文 (720p)
#EXTINF:-1 tvg-id="PhoenixChineseChannel.hk@SD",凤凰中文 (720p)
http://223.110.245.139/ott.js.chinamobile.com/PLTV/3/224/3221226922/index.m3u8
#EXTINF:-1 tvg-id="",凤凰中文 (720p)
#EXTINF:-1 tvg-id="PhoenixChineseChannel.hk@SD",凤凰中文 (720p)
http://223.110.245.139/PLTV/3/224/3221226922/index.m3u8
#EXTINF:-1 tvg-id="",凤凰中文 (720p)
#EXTINF:-1 tvg-id="PhoenixChineseChannel.hk@SD",凤凰中文 (720p)
http://223.110.245.167/ott.js.chinamobile.com/PLTV/3/224/3221226922/index.m3u8
#EXTINF:-1 tvg-id="",凤凰中文 (576p)
#EXTINF:-1 tvg-id="PhoenixChineseChannel.hk@SD",凤凰中文 (576p)
http://125.210.152.18:9090/live/FHZW_1200.m3u8
#EXTINF:-1 tvg-id="",凤凰资讯 (720p)
#EXTINF:-1 tvg-id="PhoenixInfoNewsChannel.hk@SD",凤凰资讯 (720p)
http://223.110.245.167/ott.js.chinamobile.com/PLTV/3/224/3221226923/index.m3u8
#EXTINF:-1 tvg-id="",凤凰资讯 (576p)
#EXTINF:-1 tvg-id="PhoenixInfoNewsChannel.hk@SD",凤凰资讯 (576p)
http://125.210.152.18:9090/live/FHZX_1200.m3u8
#EXTINF:-1 tvg-id="",凤凰香港 (720p)
http://223.110.245.136/PLTV/3/224/3221226975/index.m3u8
@ -343,12 +343,10 @@ http://uni6rtmp.tulix.tv:1935/vbstv/vbsabr.smil/chunklist_w1847269952_b204800.m3
http://uni6rtmp.tulix.tv:1935/vbstv/vbsabr.smil/chunklist_w439903609_b1228800.m3u8
#EXTINF:-1 tvg-id="",前郭综合 [Geo-blocked]
https://stream2.jlntv.cn/qg/sd/live.m3u8
#EXTINF:-1 tvg-id="",动作电影 (1080p)
#EXTINF:-1 tvg-id="CHCAction.cn@SD",动作电影 (1080p)
http://39.134.19.68/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226465/index.m3u8
#EXTINF:-1 tvg-id="",动画王国 (1080p)
http://183.207.248.71/cntv/live1/donghuawg/donghuawg
#EXTINF:-1 tvg-id="BeijingSatelliteTV.cn",北京卫视 [Not 24/7]
http://ivi.bupt.edu.cn/hls/btv1.m3u8
#EXTINF:-1 tvg-id="BeijingSatelliteTV.cn",北京卫视 (1080p)
http://39.134.115.163:8080/PLTV/88888910/224/3221225673/index.m3u8
#EXTINF:-1 tvg-id="BeijingSatelliteTV.cn",北京卫视 (1080p)
@ -371,12 +369,14 @@ http://223.110.245.163/ott.js.chinamobile.com/PLTV/3/224/3221227436/index.m3u8
http://223.110.245.173/PLTV/4/224/3221227390/index.m3u8
#EXTINF:-1 tvg-id="BeijingSatelliteTV.cn",北京卫视 (1080p)
http://ott.js.chinamobile.com/PLTV/3/224/3221225574/index.m3u8
#EXTINF:-1 tvg-id="",北京卫视 (1080p) [Not 24/7]
#EXTINF:-1 tvg-id="BeijingSatelliteTV.cn@SD",北京卫视 (1080p) [Not 24/7]
http://112.25.48.68/live/program/live/bjwshd/4000000/mnf.m3u8
#EXTINF:-1 tvg-id="BeijingSatelliteTV.cn",北京卫视 (1080p) [Not 24/7]
http://183.207.248.71/cntv/live1/beijingstv/beijingstv
#EXTINF:-1 tvg-id="BeijingSatelliteTV.cn",北京卫视 (576p)
http://183.207.248.71/gitv/live1/G_BEIJING/G_BEIJING
#EXTINF:-1 tvg-id="BeijingSatelliteTV.cn",北京卫视 [Not 24/7]
http://ivi.bupt.edu.cn/hls/btv1.m3u8
#EXTINF:-1 tvg-id="",北京紀實 (1080p)
http://39.134.115.163:8080/PLTV/88888910/224/3221225675/index.m3u8
#EXTINF:-1 tvg-id="",北京紀實 (1080p)
@ -439,7 +439,7 @@ http://223.110.245.159/ott.js.chinamobile.com/PLTV/3/224/3221226996/index.m3u8
http://112.25.48.68/live/program/live/xmws/1300000/mnf.m3u8
#EXTINF:-1 tvg-id="",双峰电视一套 (360p)
http://hnsf.chinashadt.com:2036/zhuanma/tv1.stream_360p/playlist.m3u8
#EXTINF:-1 tvg-id="",发现之旅 (576p)
#EXTINF:-1 tvg-id="CNDFilmDiscoveryChannel.cn@SD",发现之旅 (576p)
http://125.210.152.18:9090/live/FXZL_750.m3u8
#EXTINF:-1 tvg-id="",台視新聞 (1080p) [Not 24/7]
http://seb.sason.top/sc/tsxw_fhd.m3u8
@ -447,19 +447,19 @@ http://seb.sason.top/sc/tsxw_fhd.m3u8
http://218.204.153.158/10.m3u8
#EXTINF:-1 tvg-id="",吉林7 (900p) [Not 24/7]
https://stream1.jlntv.cn/fzpd/sd/live.m3u8
#EXTINF:-1 tvg-id="",吉林卫视 (576p)
#EXTINF:-1 tvg-id="JilinSatelliteTV.cn@SD",吉林卫视 (576p)
http://39.134.115.163:8080/PLTV/88888910/224/3221225680/index.m3u8
#EXTINF:-1 tvg-id="",吉林卫视 (576p)
#EXTINF:-1 tvg-id="JilinSatelliteTV.cn@SD",吉林卫视 (576p)
http://117.169.120.140:8080/live/jilinstv/.m3u8
#EXTINF:-1 tvg-id="",吉林卫视 (576p)
#EXTINF:-1 tvg-id="JilinSatelliteTV.cn@SD",吉林卫视 (576p)
http://183.207.249.7/PLTV/4/224/3221225883/index.m3u8
#EXTINF:-1 tvg-id="",吉林卫视 (576p)
#EXTINF:-1 tvg-id="JilinSatelliteTV.cn@SD",吉林卫视 (576p)
http://223.110.245.153/ott.js.chinamobile.com/PLTV/3/224/3221225883/index.m3u8
#EXTINF:-1 tvg-id="",吉林卫视 (540p)
#EXTINF:-1 tvg-id="JilinSatelliteTV.cn@SD",吉林卫视 (540p)
http://112.25.48.68/live/program/live/jlws/1300000/mnf.m3u8
#EXTINF:-1 tvg-id="",吉林卫视 (360p)
#EXTINF:-1 tvg-id="JilinSatelliteTV.cn@SD",吉林卫视 (360p)
http://125.210.152.18:9090/live/JLWSHD_H265.m3u8
#EXTINF:-1 tvg-id="",吉林卫视 (240p) [Not 24/7]
#EXTINF:-1 tvg-id="JilinSatelliteTV.cn@SD",吉林卫视 (240p) [Not 24/7]
https://stream4.jlntv.cn/test2/sd/live.m3u8
#EXTINF:-1 tvg-id="",吉林市新闻综合 [Geo-blocked]
https://stream2.jlntv.cn/jilin1/sd/live.m3u8
@ -535,7 +535,7 @@ http://183.207.249.12/PLTV/4/224/3221225808/index.m3u8
http://223.110.245.151/ott.js.chinamobile.com/PLTV/3/224/3221225808/index.m3u8
#EXTINF:-1 tvg-id="",奇妙電視 (720p)
http://media.fantv.hk/m3u8/archive/channel2_stream1.m3u8
#EXTINF:-1 tvg-id="",女性时尚 (576p)
#EXTINF:-1 tvg-id="CCTVWomensFashion.cn@SD",女性时尚 (576p)
http://223.110.245.169/PLTV/4/224/3221227026/index.m3u8
#EXTINF:-1 tvg-id="",如东新闻综合 (480p) [Not 24/7]
http://live.rdxmt.com/channels/rudong/news/flv:sd/live
@ -543,17 +543,17 @@ http://live.rdxmt.com/channels/rudong/news/flv:sd/live
http://live.dxhmt.cn:9081/tv/10883-1.m3u8
#EXTINF:-1 tvg-id="",孤注一掷清晰版
https://hd.ijycnd.com/play/zbqmMMkb/index.m3u8
#EXTINF:-1 tvg-id="",宁夏卫视 (576p)
#EXTINF:-1 tvg-id="NingxiaSatelliteChannel.cn@SD",宁夏卫视 (576p)
http://39.134.115.163:8080/PLTV/88888910/224/3221225726/index.m3u8
#EXTINF:-1 tvg-id="",宁夏卫视 (576p)
#EXTINF:-1 tvg-id="NingxiaSatelliteChannel.cn@SD",宁夏卫视 (576p)
http://117.169.120.140:8080/live/ningxiastv/.m3u8
#EXTINF:-1 tvg-id="",宁夏卫视 (576p)
#EXTINF:-1 tvg-id="NingxiaSatelliteChannel.cn@SD",宁夏卫视 (576p)
http://183.207.248.11/PLTV/4/224/3221225842/index.m3u8
#EXTINF:-1 tvg-id="",宁夏卫视 (576p)
#EXTINF:-1 tvg-id="NingxiaSatelliteChannel.cn@SD",宁夏卫视 (576p)
http://223.110.245.151/ott.js.chinamobile.com/PLTV/3/224/3221225842/index.m3u8
#EXTINF:-1 tvg-id="",宁夏卫视 (576p) [Not 24/7]
#EXTINF:-1 tvg-id="NingxiaSatelliteChannel.cn@SD",宁夏卫视 (576p) [Not 24/7]
http://183.207.248.71/gitv/live1/G_NINGXIA/G_NINGXIA
#EXTINF:-1 tvg-id="",宁夏卫视 (540p)
#EXTINF:-1 tvg-id="NingxiaSatelliteChannel.cn@SD",宁夏卫视 (540p)
http://112.25.48.68/live/program/live/nxws/1300000/mnf.m3u8
#EXTINF:-1 tvg-id="",安徽 淮北公共 (720p)
http://live.0561rtv.cn/ggpd/hd/live.m3u8
@ -599,7 +599,7 @@ http://stream2.ahrtv.cn/lygb/sd/live.m3u8
http://183.207.248.71/cntv/live1/wmyx/wmyx
#EXTINF:-1 tvg-id="",宜章新闻综合 (576p)
http://hnyz.chinashadt.com:2036/live/stream:tv1.stream/playlist.m3u8
#EXTINF:-1 tvg-id="",家庭影院 (1080p)
#EXTINF:-1 tvg-id="CHCHomeTheater.cn@SD",家庭影院 (1080p)
http://39.134.19.153/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226462/index.m3u8
#EXTINF:-1 tvg-id="",家庭理财 (576p)
http://223.110.245.139/PLTV/4/224/3221227011/index.m3u8
@ -635,7 +635,7 @@ http://223.110.245.139/PLTV/4/224/3221227448/index.m3u8
http://223.110.254.207:6610/cntv/live1/HD-2500k-1080P-shandongstv/HD-2500k-1080P-shandongstv/1.m3u8
#EXTINF:-1 tvg-id="ShandongTV.cn",山东卫视 (1080p)
http://ott.js.chinamobile.com/PLTV/3/224/3221227258/index.m3u8
#EXTINF:-1 tvg-id="",山东卫视 (720p)
#EXTINF:-1 tvg-id="ShandongSatelliteTV.cn@SD",山东卫视 (720p)
http://125.210.152.18:9090/live/SDWSHD_H265.m3u8
#EXTINF:-1 tvg-id="ShandongTV.cn",山东卫视 (576p)
http://183.207.248.71/gitv/live1/SDWS/SDWS
@ -843,13 +843,13 @@ http://222.179.155.21:1935/ch0.m3u8
https://live.lyg1.com/ggpd/sd/live.m3u8
#EXTINF:-1 tvg-id="",江苏 连云港综合 (480p) [Not 24/7]
https://live.lyg1.com/zhpd/sd/live.m3u8
#EXTINF:-1 tvg-id="",江苏体育 (576p)
#EXTINF:-1 tvg-id="JiangsuSportsLeisureChannel.cn@SD",江苏体育 (576p)
http://183.207.248.71/gitv/live1/G_JSTY/G_JSTY
#EXTINF:-1 tvg-id="",江苏体育 (576p)
#EXTINF:-1 tvg-id="JiangsuSportsLeisureChannel.cn@SD",江苏体育 (576p)
http://183.207.249.12/PLTV/4/224/3221225935/index.m3u8
#EXTINF:-1 tvg-id="",江苏体育 (576p)
#EXTINF:-1 tvg-id="JiangsuSportsLeisureChannel.cn@SD",江苏体育 (576p)
http://223.110.245.157/ott.js.chinamobile.com/PLTV/3/224/3221225935/index.m3u8
#EXTINF:-1 tvg-id="",江苏公共 (576p)
#EXTINF:-1 tvg-id="JiangsuPublicNewsChannel.cn@SD",江苏公共 (576p)
http://183.207.248.71/gitv/live1/G_JSGG/G_JSGG
#EXTINF:-1 tvg-id="JiangsuSatelliteTV.cn",江苏卫视 (1080p)
http://39.134.24.166/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226200/index.m3u8
@ -873,19 +873,19 @@ http://223.110.245.170/PLTV/3/224/3221227255/index.m3u8
http://183.207.248.71/cntv/live1/HD-2500k-1080P-jiangsustv/HD-2500k-1080P-jiangsustv
#EXTINF:-1 tvg-id="JiangsuSatelliteTV.cn",江苏卫视 (576p)
http://183.207.248.71/gitv/live1/JSWS-HD/JSWS-HD
#EXTINF:-1 tvg-id="",江苏城市 (576p)
#EXTINF:-1 tvg-id="JiangsuCityChannel.cn@SD",江苏城市 (576p)
http://183.207.248.71/gitv/live1/G_JSCS/G_JSCS
#EXTINF:-1 tvg-id="",江苏城市 (576p)
#EXTINF:-1 tvg-id="JiangsuCityChannel.cn@SD",江苏城市 (576p)
http://223.110.245.143/ott.js.chinamobile.com/PLTV/3/224/3221225929/index.m3u8
#EXTINF:-1 tvg-id="",江苏影视 (576p)
#EXTINF:-1 tvg-id="JiangsuMovieChannel.cn@SD",江苏影视 (576p)
http://223.110.243.134/PLTV/4/224/3221225937/index.m3u8
#EXTINF:-1 tvg-id="",江苏影视 (576p) [Not 24/7]
#EXTINF:-1 tvg-id="JiangsuMovieChannel.cn@SD",江苏影视 (576p) [Not 24/7]
http://183.207.248.71/gitv/live1/G_JSYS/G_JSYS
#EXTINF:-1 tvg-id="",江苏教育 (576p)
#EXTINF:-1 tvg-id="JiangsuEducationalChannel.cn@SD",江苏教育 (576p)
http://223.110.245.151/ott.js.chinamobile.com/PLTV/3/224/3221225923/index.m3u8
#EXTINF:-1 tvg-id="",江苏教育 (576p) [Not 24/7]
#EXTINF:-1 tvg-id="JiangsuEducationalChannel.cn@SD",江苏教育 (576p) [Not 24/7]
http://183.207.248.71/gitv/live1/G_JSJY/G_JSJY
#EXTINF:-1 tvg-id="",江苏综艺 (576p) [Not 24/7]
#EXTINF:-1 tvg-id="JiangsuVarietyChannel.cn@SD",江苏综艺 (576p) [Not 24/7]
http://183.207.248.71/gitv/live1/G_JSZY/G_JSZY
#EXTINF:-1 tvg-id="JiangxiTV.cn",江西卫视 (1080p)
http://39.134.115.163:8080/PLTV/88888910/224/3221225705/index.m3u8
@ -915,12 +915,12 @@ http://hebcx.chinashadt.com:2036/live/10002.stream/playlist.m3u8
http://hebcx.chinashadt.com:2036/live/10001.stream/playlist.m3u8
#EXTINF:-1 tvg-id="",河北公共
http://121.19.134.246:808/hls/24/index.m3u8
#EXTINF:-1 tvg-id="",河北农民
http://121.19.134.246:808/hls/25/index.m3u8
#EXTINF:-1 tvg-id="",河北农民 (576p)
http://hbzx.chinashadt.com:2036/zhibo/stream:hbnm.stream/playlist.m3u8
#EXTINF:-1 tvg-id="",河北农民 (360p)
http://hbzx.chinashadt.com:2036/zhibo/stream:hbnm.stream_360p/playlist.m3u8
#EXTINF:-1 tvg-id="",河北农民
http://121.19.134.246:808/hls/25/index.m3u8
#EXTINF:-1 tvg-id="HebeiTV.cn",河北卫视 (576p)
http://39.134.115.163:8080/PLTV/88888910/224/3221225732/index.m3u8
#EXTINF:-1 tvg-id="HebeiTV.cn",河北卫视 (576p)
@ -945,7 +945,7 @@ http://183.207.248.71/cntv/live1/henanstv/henanstv
http://ott.js.chinamobile.com/PLTV/3/224/3221225815/index.m3u8
#EXTINF:-1 tvg-id="HenanTVSatellite.cn",河南卫视 (540p)
http://112.25.48.68/live/program/live/hnws/1300000/mnf.m3u8
#EXTINF:-1 tvg-id="",河源公共 (540p)
#EXTINF:-1 tvg-id="HeyuanPublicTV.cn@SD",河源公共 (540p)
https://tmpstream.hyrtv.cn/hygg/sd/live.m3u8
#EXTINF:-1 tvg-id="",河源综合 (540p)
https://tmpstream.hyrtv.cn/xwzh/sd/live.m3u8
@ -1003,18 +1003,18 @@ http://ott.js.chinamobile.com/PLTV/3/224/3221227393/index.m3u8
https://hw-m-l.cztv.com/channels/lantian/channel01/1080p.m3u8
#EXTINF:-1 tvg-id="ZhejiangSatelliteTV.cn",浙江卫视 (576p)
http://183.207.248.71/gitv/live1/G_ZHEJIANG/G_ZHEJIANG
#EXTINF:-1 tvg-id="",浙江国际
https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
#EXTINF:-1 tvg-id="",浙江国际 (1080p)
https://ct-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
#EXTINF:-1 tvg-id="",浙江国际 (1080p)
https://qiniup-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
#EXTINF:-1 tvg-id="",浙江少儿
https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
#EXTINF:-1 tvg-id="",浙江国际
https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8
#EXTINF:-1 tvg-id="ZhejiangChildrensChannel.cn",浙江少儿 (1080p)
https://qiniup-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
#EXTINF:-1 tvg-id="ZhejiangChildrensChannel.cn",浙江少儿 (1080p) [Not 24/7]
https://hw-m-l.cztv.com/channels/lantian/channel08/1080p.m3u8
#EXTINF:-1 tvg-id="",浙江少儿
https://ct-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8
#EXTINF:-1 tvg-id="",浙江影视 (720p)
https://qiniup-m-l.cztv.com/channels/lantian/channel005/1080p.m3u8
#EXTINF:-1 tvg-id="",浙江教科
@ -1035,12 +1035,12 @@ https://hw-m-l.cztv.com/channels/lantian/channel09/1080p.m3u8
https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
#EXTINF:-1 tvg-id="ZhejiangEconomicChannel.cn",浙江经济生活 (1080p) [Not 24/7]
https://hw-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8
#EXTINF:-1 tvg-id="",浙江钱江
https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8
#EXTINF:-1 tvg-id="",浙江钱江 (1080p)
https://hw-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8
#EXTINF:-1 tvg-id="",浙江钱江 (1080p) [Not 24/7]
https://hw-m-l.cztv.com/channels/lantian/channel02/1080p.m3u8
#EXTINF:-1 tvg-id="",浙江钱江
https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8
#EXTINF:-1 tvg-id="HainanSatelliteTV.cn",海南卫视 (720p) [Not 24/7]
http://livelyws.chinamcache.com/lyws/zb01.m3u8?auth_key=1593241343-0-0-90b80e74457c94b2015f9428a1cb9b0e
#EXTINF:-1 tvg-id="HainanSatelliteTV.cn",海南卫视 (576p)
@ -1131,7 +1131,7 @@ http://223.110.245.165/ott.js.chinamobile.com/PLTV/3/224/3221225854/index.m3u8
http://hbpx.chinashadt.com:2036/live/px5.stream/playlist.m3u8
#EXTINF:-1 tvg-id="HunanTV.cn",湖南卫视 (360p)
http://125.210.152.18:9090/live/HNWSHD_H265.m3u8
#EXTINF:-1 tvg-id="",湖南都市 (576p)
#EXTINF:-1 tvg-id="HunanCityChannel.cn@SD",湖南都市 (576p)
http://hnsd.chinashadt.com:2036/live/stream:hunandushi.stream/playlist.m3u8
#EXTINF:-1 tvg-id="",湘潭公共 (576p)
http://live.hnxttv.com:9601/live/dspd/800K/tzwj_video.m3u8
@ -1197,7 +1197,7 @@ http://gddb.chinashadt.com:1935/live/video2.stream_360p/playlist.m3u8
http://gddb.chinashadt.com:1935/live/video1.stream/playlist.m3u8
#EXTINF:-1 tvg-id="",电白综合 (360p) [Not 24/7]
http://gddb.chinashadt.com:1935/live/video1.stream_360p/playlist.m3u8
#EXTINF:-1 tvg-id="",白城新闻综合 [Geo-blocked]
#EXTINF:-1 tvg-id="BaichengTV.cn@SD",白城新闻综合 [Geo-blocked]
https://stream2.jlntv.cn/baicheng1/sd/live.m3u8
#EXTINF:-1 tvg-id="",白山新闻综合 [Geo-blocked]
https://stream2.jlntv.cn/baishan1/sd/live.m3u8
@ -1253,7 +1253,7 @@ http://119.39.242.52:1935/live/zonghe/playlist.m3u8
http://183.207.248.71/cntv/live1/jdianying/jdianying
#EXTINF:-1 tvg-id="",红牛REDBULL TV (720p)
https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_3360.m3u8
#EXTINF:-1 tvg-id="",纪实人文 (1080p)
#EXTINF:-1 tvg-id="DocumentaryHumanitiesChannel.cn@SD",纪实人文 (1080p)
http://39.135.138.59:18890/PLTV/88888910/224/3221225655/index.m3u8
#EXTINF:-1 tvg-id="",纯享4K (2160p)
http://39.134.115.163:8080/PLTV/88888910/224/3221225786/index.m3u8
@ -1267,10 +1267,10 @@ http://223.110.245.161/ott.js.chinamobile.com/PLTV/3/224/3221227037/index.m3u8
https://jpts.sinovision.net/livestream.m3u8
#EXTINF:-1 tvg-id="",美国狗狗宠物 (1080p)
https://video.blivenyc.com/broadcast/prod/2061/22/desktop-playlist.m3u8
#EXTINF:-1 tvg-id="",耀才财经
http://202.69.67.66/webcast/bshdlive-pc/playlist.m3u8
#EXTINF:-1 tvg-id="",耀才财经 (288p)
http://202.69.67.66:443/webcast/bshdlive-mobile/playlist.m3u8
#EXTINF:-1 tvg-id="",耀才财经
http://202.69.67.66/webcast/bshdlive-pc/playlist.m3u8
#EXTINF:-1 tvg-id="",肃州电视台 (1080p)
http://117.156.28.119/270000001111/1110000123/index.m3u8
#EXTINF:-1 tvg-id="",舟山公共生活 (720p)
@ -1425,11 +1425,11 @@ http://35908.hlsplay.aodianyun.com/guangdianyun_35908/tv_channel_327.m3u8
https://stream2.jlntv.cn/jlcc/sd/live.m3u8
#EXTINF:-1 tvg-id="",长沙地铁移动 [Geo-blocked]
http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_356.m3u8
#EXTINF:-1 tvg-id="",长沙女性 [Geo-blocked]
#EXTINF:-1 tvg-id="HunanWomensChannel.cn@SD",长沙女性 [Geo-blocked]
http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_349.m3u8
#EXTINF:-1 tvg-id="",长沙政法 [Geo-blocked]
#EXTINF:-1 tvg-id="HunanPoliticsLawChannel.cn@SD",长沙政法 [Geo-blocked]
http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_348.m3u8
#EXTINF:-1 tvg-id="",长沙新闻 [Geo-blocked]
#EXTINF:-1 tvg-id="HunanNewsChannel.cn@SD",长沙新闻 [Geo-blocked]
http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_346.m3u8
#EXTINF:-1 tvg-id="",长沙经贸 [Geo-blocked]
http://35848.hlsplay.aodianyun.com/guangdianyun_35848/tv_channel_350.m3u8
@ -1481,13 +1481,13 @@ http://visit.jjbctv.com:1935/live/xwzhpc/playlist.m3u8
http://visit.jjbctv.com:1935/live/xwzhmb/playlist.m3u8
#EXTINF:-1 tvg-id="",静宁综合 (1080p)
http://117.156.28.119/270000001111/1110000147/index.m3u8
#EXTINF:-1 tvg-id="",风尚购物 (1080p)
#EXTINF:-1 tvg-id="FengshangShoppingChannel.cn@SD",风尚购物 (1080p)
http://183.207.248.71/cntv/live1/fengshanggw/fengshanggw
#EXTINF:-1 tvg-id="",餘姚姚江文化 (576p) [Not 24/7]
https://l.cztvcloud.com/channels/lantian/SXyuyao2/720p.m3u8
#EXTINF:-1 tvg-id="HighChannelTV.cn",高台电视台 (1080p)
http://117.156.28.119/270000001111/1110000146/index.m3u8
#EXTINF:-1 tvg-id="",高清电影 (1080p)
#EXTINF:-1 tvg-id="CHCHD.cn@SD",高清电影 (1080p)
http://39.134.19.76/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226463/index.m3u8
#EXTINF:-1 tvg-id="HebiNewsChannel.cn",鹤壁新闻综合 (480p) [Not 24/7]
http://pili-live-hls.hebitv.com/hebi/hebi.m3u8
@ -1535,3 +1535,9 @@ http://yslk.chinashadt.com:1635/live/stream:di1.stream/playlist.m3u8
http://yslk.chinashadt.com:1635/live/stream:di2.stream/playlist.m3u8
#EXTINF:-1 tvg-id="",龙岩综合 (540p)
http://stream.lytv.net.cn/2/sd/live.m3u8
#EXTINF:-1 tvg-id="GoldenEagleCartoon.cn",Golden Eagle Cartoon
http://1.24.190.98:10080/hls/51/index.m3u8
#EXTINF:-1 tvg-id="NeiMonggolTV2MongolianCultureChannel.cn",Nei Monggol TV 2 Mongolian Culture Channel
http://1.24.190.98:10080/hls/40/index.m3u8
#EXTINF:-1 tvg-id="NeiMonggolTV.cn",Nei Monggol TV
http://1.24.190.98:10080/hls/39/index.m3u8

View file

@ -330,3 +330,5 @@ https://ssh101stream.ssh101.com/akamaissh101/ssh101/multicanal/playlist.m3u8
https://play.cdn.enetres.net/6E5C615AA5FF4123ACAF0DAB57B7B8DC021/022/playlist.m3u8
#EXTINF:-1 tvg-id="NSTV.co",NSTV (720p)
https://cp.panelchs.com:1936/8038/8038/playlist.m3u8
#EXTINF:-1 tvg-id="NSTV.co",NSTV (720p)
http://138.186.23.7:22281/nstv/nstv/playlist.m3u8

View file

@ -160,3 +160,5 @@ https://stmv.streamingvip.click/xpressojovenradiotv/xpressojovenradiotv/playlist
https://acceso.radiosportstv.online:3022/stream/play.m3u8
#EXTINF:-1 tvg-id="ZurquiTV.cr",Zurquí TV (720p)
https://videoserver.tmcreativos.com:19360/gesfnvpamn/gesfnvpamn.m3u8
#EXTINF:-1 tvg-id="RetroxTV.cr",Retrox TV (720p)
https://ssh101stream.ssh101.com/akamaissh101/ssh101/tvtvtv/playlist.m3u8

View file

@ -10,16 +10,16 @@ https://dev.aftermind.xyz/hls/unitrust/alfasports/index.m3u8?token=8TXWzhY3h6jrz
http://l4.cloudskep.com/alphatmp/acy/playlist.m3u8
#EXTINF:-1 tvg-id="ANT1Cyprus.cy",ANT1 Cyprus (1080p)
http://l2.cloudskep.com/ant1cm2/abr/playlist.m3u8
#EXTINF:-1 tvg-id="BRT1.cy",BRT 1
https://canlitvulusal.xyz/live/brt1/index.m3u8
#EXTINF:-1 tvg-id="BRT1.cy",BRT 1 (720p) [Not 24/7]
https://sc-kuzeykibrissmarttv.ercdn.net/brt1hd/bant1/playlist.m3u8
#EXTINF:-1 tvg-id="BRT2.cy",BRT 2
https://canlitvulusal.xyz/live/brt2/index.m3u8
#EXTINF:-1 tvg-id="BRT1.cy",BRT 1
https://canlitvulusal.xyz/live/brt1/index.m3u8
#EXTINF:-1 tvg-id="BRT2.cy",BRT 2 (720p)
http://bozztv.com/gin-36bay3/gt-kibrisbrt3/index.m3u8
#EXTINF:-1 tvg-id="BRT2.cy",BRT 2 (720p) [Not 24/7]
https://sc-kuzeykibrissmarttv.ercdn.net/brt2hd/bant1/playlist.m3u8
#EXTINF:-1 tvg-id="BRT2.cy",BRT 2
https://canlitvulusal.xyz/live/brt2/index.m3u8
#EXTINF:-1 tvg-id="BRT3.cy",BRT 3
http://185.234.111.229:8000/play/a07e
#EXTINF:-1 tvg-id="CityChannel.cy",City Channel (720p) [Not 24/7]

View file

@ -3,6 +3,8 @@
https://123tv-mx1.flex-cdn.net/index.m3u8
#EXTINF:-1 tvg-id="3sat.de",3sat (720p) [Geo-blocked]
https://zdf-hls-18.akamaized.net/hls/live/2016501/dach/high/master.m3u8
#EXTINF:-1 tvg-id="AlexBerlin.de",Alex Berlin (1080p)
https://alex-stream.rosebud-media.de/bounce/alexlivetv50.smil/index.m3u8
#EXTINF:-1 tvg-id="AllgauTV.de",Allgäu TV (1080p)
https://stream01.welocal.stream/stream/fhd-allgaeutv_25679/ngrp:stream_all/playlist.m3u8
#EXTINF:-1 tvg-id="AltenburgTV.de",Altenburg TV (1080p)
@ -79,13 +81,13 @@ https://dbjwcot8t7nyd.cloudfront.net/out/v1/9d068a9428444b458324ad77b5a0a4b8/ind
https://muc3.iptv-playoutcenter.de/dokusat/dokusat1/playlist.m3u8
#EXTINF:-1 tvg-id="SachsenFernsehenDresden.de",Dresden Fernsehen (1080p) [Not 24/7]
https://dresden.iptv-playoutcenter.de/dresden/dresdenfernsehen.stream_1/playlist.m3u8
#EXTINF:-1 tvg-id="DWArabic.de",DW Arabic (1080p)
#EXTINF:-1 tvg-id="DW.de@Arabic",DW Arabic (1080p)
https://dwamdstream103.akamaized.net/hls/live/2015526/dwstream103/index.m3u8
#EXTINF:-1 tvg-id="DWEnglish.de",DW English (1080p)
#EXTINF:-1 tvg-id="DW.de@English",DW English (1080p)
https://dwamdstream102.akamaized.net/hls/live/2015525/dwstream102/index.m3u8
#EXTINF:-1 tvg-id="DWEspanol.de",DW Español (1080p)
#EXTINF:-1 tvg-id="DW.de@Espanol",DW Español (1080p)
https://dwamdstream104.akamaized.net/hls/live/2015530/dwstream104/index.m3u8
#EXTINF:-1 tvg-id="DWRussian.de",DW Russian (1080p)
#EXTINF:-1 tvg-id="DW.de@Russian",DW Russian (1080p)
https://dwamdstream110.akamaized.net/hls/live/2017971/dwstream110/index.m3u8
#EXTINF:-1 tvg-id="EchtJetztTV.de",EchtJetzt TV (720p)
https://bibeltv03.iptv-playoutcenter.de/bibeltv03/bibeltv03.stream_all/playlist.m3u8
@ -161,6 +163,8 @@ https://leipzig.iptv-playoutcenter.de/leipzig/leipzigfernsehen.stream_1/playlist
http://streamer1.streamhost.org:1935/salive/lctvde/playlist.m3u8
#EXTINF:-1 tvg-id="MagentaMusik360.de",Magenta Musik 360 (1080p)
https://streaming.magentamusik.de/csm/573870/magentamusik1/index.m3u8
#EXTINF:-1 tvg-id="MCTV.de",MC TV (720p)
https://rrr.sz.xlcdn.com/?account=mceutv&file=mc2&output=playlist.m3u8&protocol=https&service=wowza&type=live
#EXTINF:-1 tvg-id="MDF1.de",MDF.1 (1080p)
http://58bd5b7a98e04.streamlock.net/medienasa-live/mdf1_high/playlist.m3u8
#EXTINF:-1 tvg-id="MDRFernsehenSachsen.de",MDR Fernsehen Sachsen (1080p) [Geo-blocked]
@ -307,7 +311,7 @@ http://85.187.13.40:18000/ProSieben
https://s6.hopslan.com/pro7x1/index.m3u8
#EXTINF:-1 tvg-id="PUNKTumFernsehen.de",PUNKTum Fernsehen (1080p) [Not 24/7]
http://58bd5b7a98e04.streamlock.net/medienasa-live/punktum_high/playlist.m3u8
#EXTINF:-1 tvg-id="",QVC 2 Germany (540p)
#EXTINF:-1 tvg-id="QVCZwei.de@SD",QVC 2 Germany (540p)
https://qvcde-live.akamaized.net/hls/live/2097104/qps/master.m3u8
#EXTINF:-1 tvg-id="QVC.de",QVC Germany (720p)
https://qvcde-live.akamaized.net/hls/live/2097104/qvc/master.m3u8
@ -345,6 +349,8 @@ https://regiotv-s.iptv-playoutcenter.de/regiotv-s/regiotv-s.stream_1/playlist.m3
http://wowza.telvi.de/rennsteigtv/stream_720p/playlist.m3u8
#EXTINF:-1 tvg-id="RFH.de",RFH (1080p)
http://58bd5b7a98e04.streamlock.net/medienasa-live/RFH_high/playlist.m3u8
#EXTINF:-1 tvg-id="RFH.de",RFH (1080p)
https://h056.video-stream-hosting.de/medienasa-live/_definst_/mp4:RFH_high/index.m3u8
#EXTINF:-1 tvg-id="RFO.de",RFO (1080p)
https://stream01.stream.welocal.world/stream/fhd-rfo_66876/ngrp:stream_all/playlist.m3u8
#EXTINF:-1 tvg-id="RheinMainTV.de",RheinMain TV (720p) [Not 24/7]
@ -501,9 +507,3 @@ https://zdf-hls-16.akamaized.net/hls/live/2016499/de/high/master.m3u8
https://ef56ef401101403a8b06f1dec29ef1eb.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung-de_ZeeOne/playlist.m3u8
#EXTINF:-1 tvg-id="ZweiMusicTelevision.de",ZWEI2 Music (1080p)
https://cdne.folxplay.tv/folx-trz/streams/ch-2/master.m3u8
#EXTINF:-1 tvg-id="MCTV.de",MC TV (720p)
https://rrr.sz.xlcdn.com/?account=mceutv&file=mc2&type=live&service=wowza&protocol=https&output=playlist.m3u8
#EXTINF:-1 tvg-id="RFH.de",RFH (1080p)
https://h056.video-stream-hosting.de/medienasa-live/_definst_/mp4:RFH_high/index.m3u8
#EXTINF:-1 tvg-id="AlexBerlin.de",Alex Berlin (1080p)
https://alex-stream.rosebud-media.de/bounce/alexlivetv50.smil/index.m3u8

View file

@ -1,25 +0,0 @@
#EXTM3U
#EXTINF:-1 tvg-id="",Adult Swim Daily Animated (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/daily_animated_1/stream_de.m3u8
#EXTINF:-1 tvg-id="",Adult Swim Daily Live Action (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/daily_liveaction_1/stream_de.m3u8
#EXTINF:-1 tvg-id="",Adult Swim Home Movies (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/test-2/stream_de.m3u8
#EXTINF:-1 tvg-id="",Adult Swim Mr. Pickles (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/mr-pickles/stream_de.m3u8
#EXTINF:-1 tvg-id="",Adult Swim Squidbillies (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/squidbillies/stream_de.m3u8
#EXTINF:-1 tvg-id="",Adult Swim Superjail! (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/superjail/stream_de.m3u8
#EXTINF:-1 tvg-id="",Adult Swim Tim and Eric (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/tim-and-eric/stream_de.m3u8
#EXTINF:-1 tvg-id="",test Channel 1 (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/test-1/stream_de.m3u8
#EXTINF:-1 tvg-id="",test Channel 3 (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/test-3/stream_de.m3u8
#EXTINF:-1 tvg-id="",test Channel 4 (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/test-4/stream_de.m3u8
#EXTINF:-1 tvg-id="",test Channel 5 (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/test-5/stream_de.m3u8
#EXTINF:-1 tvg-id="Toonami.fr",Toonami (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/toonami/stream_de.m3u8

View file

@ -1,83 +1,83 @@
#EXTM3U
#EXTINF:-1 tvg-id="",48 Hours
#EXTINF:-1 tvg-id="48Hours.us@SD",48 Hours
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/651432fa98020f000878b407/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84abba50-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6ae76c45-60ac-4cc1-baf6-65893cf0446b
#EXTINF:-1 tvg-id="",90210
#EXTINF:-1 tvg-id="90210.us@SD",90210
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a67dd13af63d0008257f17/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84abe160-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=33a2585b-a5ca-4d3b-a8ca-bea4dff25f97
#EXTINF:-1 tvg-id="ActionSports.de",Action Sports
#EXTINF:-1 tvg-id="ActionSports.us@Germany",Action Sports
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5be1be871843b56328bc3ef1/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac0870-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a89100a8-8115-4b28-9869-072164526f31
#EXTINF:-1 tvg-id="",AKIBA PASS TV Anime: Sport
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/659e598ab9adc4000843c574/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac0871-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1aca10c2-09e3-4dba-9e0e-6d174d5eb77f
#EXTINF:-1 tvg-id="",Alle hassen Chris
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/622f6e1e2792150007e0b2ff/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac0872-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7ea668b9-4d7e-42c7-b818-8ea4b444d1c9
#EXTINF:-1 tvg-id="",Anger Management
#EXTINF:-1 tvg-id="AngerManagementChannel.us@SD",Anger Management
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655ca57e4261ca00080b3a04/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac0873-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ba8090e5-75c3-49e1-b27f-57399848d7ed
#EXTINF:-1 tvg-id="",Assassination Classroom
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a7d99f4a10d800086083a9/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac0874-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8cf3451c-2f6e-495e-93bc-62d48d70c6bc
#EXTINF:-1 tvg-id="",Auction Hunters
#EXTINF:-1 tvg-id="PlutoTVAuctionHunters.us@SD",Auction Hunters
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ede45d077746000072be0fe/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac2f80-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b4e4d851-50d8-4e9c-9824-31d78816509e
#EXTINF:-1 tvg-id="",Auf Achse
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/61fbf91afb1b10000880dd08/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac2f81-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=601f4d3b-4861-4283-9b4f-d09024aaa219
#EXTINF:-1 tvg-id="",Auto Motor Sport
#EXTINF:-1 tvg-id="AutoMotorogSportTV.no@SD",Auto Motor Sport
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f760c3d41aa2d0007bfde19/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac2f82-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=bd6f9149-f825-44a8-988e-28acbcdc798e
#EXTINF:-1 tvg-id="Avatar.de",Avatar
#EXTINF:-1 tvg-id="Avatar.us@Germany",Avatar
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/600adbdf8c554e00072125c9/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac5690-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f0f2f9f0-a766-421f-b28e-f13232bf4b9f
#EXTINF:-1 tvg-id="",Avatar OV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65819d3514fbe4000880ef26/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac5691-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ed191cf4-f681-46bb-b852-7fdac772591f
#EXTINF:-1 tvg-id="",Awkward
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bc1784120ba80007935aaa/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac5692-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c2c2d7cc-7d4d-4255-a842-24443e529840
#EXTINF:-1 tvg-id="",Baywatch
#EXTINF:-1 tvg-id="Baywatch.us@Germany",Baywatch
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65819e62b228b70008570e9f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac5693-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d16fb6c5-9a46-423c-ad6d-ed7c38457c0d
#EXTINF:-1 tvg-id="BBCTravel.de",BBC Travel
#EXTINF:-1 tvg-id="BBCTravel.us@Germany",BBC Travel
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/60e4519e6873180007d3cddb/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac5694-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6c128a45-6314-4183-a002-254731ea91a6
#EXTINF:-1 tvg-id="",Becker
#EXTINF:-1 tvg-id="AlanBeckerTV.us@SD",Becker
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/630348a54c48ce00077eb6c7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac5695-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b1b31f04-864d-413e-8fc3-19d800ee7569
#EXTINF:-1 tvg-id="",Bellator MMA
#EXTINF:-1 tvg-id="BellatorMMA.us@SD",Bellator MMA
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63ecbedda9957100089ca486/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac5696-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=efdc0c45-3350-44ad-87e8-545561770707
#EXTINF:-1 tvg-id="BeverlyHills90210.de",Beverly Hills 90210
#EXTINF:-1 tvg-id="BeverlyHills90210.us@Germany",Beverly Hills 90210
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/60afb576053df900076fa2f0/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac7da0-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c388ec54-e705-453e-8f4f-45a71cebb28d
#EXTINF:-1 tvg-id="",Bewegte Männer
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64105834925bd50008f5cde5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac7da1-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=cf79d4d8-a759-4662-8f38-518c050b275c
#EXTINF:-1 tvg-id="BeybladeBurst.de",Beyblade Burst
#EXTINF:-1 tvg-id="BeybladeBurst.us@Germany",Beyblade Burst
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b551ddcd25500072c4dad/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac7da2-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=03306a54-f5db-48a2-aa47-0d5671d10e01
#EXTINF:-1 tvg-id="",Big Time Rush
#EXTINF:-1 tvg-id="BigTimeRush.us@Germany",Big Time Rush
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/663385cd06839f0008e00e93/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac7da3-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4b885ec0-86a3-4a1e-b3cb-90a1f041ddf9
#EXTINF:-1 tvg-id="",Billiard TV
#EXTINF:-1 tvg-id="BilliardTV.us@SD",Billiard TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65df0cff66eec8000897b3a4/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac7da4-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a6a5c7ba-51fa-40bf-ba59-05a9daef6fd5
#EXTINF:-1 tvg-id="",Blaze und die Monstermaschinen
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b60419becf60008c841fd/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac7da5-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f4041af9-036d-4b63-bc69-460e45fdcf98
#EXTINF:-1 tvg-id="",Bloch Erklärt
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/654a2c1ff9cc82000867dada/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac7da6-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=bf2007bc-2b1a-4227-ad70-315b7a122d66
#EXTINF:-1 tvg-id="BluesClues.de",Blue's Clues
#EXTINF:-1 tvg-id="BluesClues.us@Germany",Blue's Clues
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b564ff59d130007363823/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ac7da7-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3c6a32f6-bdd9-4cb2-8697-def40b294b7e
#EXTINF:-1 tvg-id="BubbleGuppies.de",Bubble Guppies
#EXTINF:-1 tvg-id="BubbleGuppies.us@Germany",Bubble Guppies
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b5a4bb7da5c0007e5c9e9/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aca4b0-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d9f332f4-cf88-4dfa-b110-d5810536c437
#EXTINF:-1 tvg-id="",Car Chase
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a93a9d3af63d00082c4850/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aca4b1-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2f1f40e7-a4ba-4408-8be1-f84ee6cf373e
#EXTINF:-1 tvg-id="CBSNews247.us",CBS News 24/7
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62441d6ded1827000763dcda/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aca4b2-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=dccc0e7c-5b78-4526-90f9-401f7ca29bc9
#EXTINF:-1 tvg-id="CCMadeinGermany.de",CC Made in Germany
#EXTINF:-1 tvg-id="CCMadeinGermany.us@Germany",CC Made in Germany
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d4948418101147596fd6c5a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aca4b3-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=cebc08f6-619a-468b-ba8e-e6971225e6c6
#EXTINF:-1 tvg-id="CCPlutoTV.de",CC Pluto TV
#EXTINF:-1 tvg-id="CCPlutoTV.us@Germany",CC Pluto TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d4947590ba40f75dc29c26b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aca4b4-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c4adaaf6-09fa-43e6-a254-c92d6891db35
#EXTINF:-1 tvg-id="ChaosCity.de",Chaos City
#EXTINF:-1 tvg-id="ChaosCity.us@Germany",Chaos City
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/60afbad343e3840007164348/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aca4b5-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ac925887-52f7-4055-a15c-ef63b5a406a8
#EXTINF:-1 tvg-id="Cheers.de",Cheers
#EXTINF:-1 tvg-id="Cheers.us@Germany",Cheers
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/611e7f224676bf00076a4d8d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aca4b6-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0d96d22d-3148-4e7e-b0e9-67b35648c724
#EXTINF:-1 tvg-id="",Çilek Kokusu Strawberry Smell
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/66338e3e23e24f000847f4ae/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84accbc0-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=9c892480-c8af-4006-98c1-0f6a7640063d
#EXTINF:-1 tvg-id="",Clarissa
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62bc1957e4da730007195dc3/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84accbc1-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1e3c23ed-3d87-4733-9ff1-947db55c9d2d
#EXTINF:-1 tvg-id="ClubbingTV.de",Clubbing TV
#EXTINF:-1 tvg-id="ClubbingTV.us@Germany",Clubbing TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f984784ccb4de0007dfad74/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84accbc2-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=642657d8-c59c-47a9-9046-f8d333c10389
#EXTINF:-1 tvg-id="",Coast Guard
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64eddd96abcba80008d03b74/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84accbc3-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0b5b2224-98cb-4873-9044-ed2cbab31407
#EXTINF:-1 tvg-id="",Cold Blood
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/656064752c46f300087e9c99/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84accbc4-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=eb1d5e92-3e5b-4deb-a7d6-abe3a85bc6fb
#EXTINF:-1 tvg-id="ComedyCentralSouthPark.de",Comedy Central South Park
#EXTINF:-1 tvg-id="ComedyCentralSouthPark.us@Germany",Comedy Central South Park
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/60c716084d842c00085f6e64/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84acf2d0-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=97acadcb-fbad-44de-8539-290d36c83227
#EXTINF:-1 tvg-id="",Community
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6523ca21a70bf000081fe675/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84acf2d1-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=87befeb0-9e12-4472-bed0-a9cc35f2b230
#EXTINF:-1 tvg-id="",Dark Matter
#EXTINF:-1 tvg-id="DarkMatterTV.us@SD",Dark Matter
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e843d849109b700075d5ada/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84acf2d2-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2e3ab5c8-117b-416c-9ac1-fbde8843a568
#EXTINF:-1 tvg-id="",Das Geheimnis der Hunters
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63d9107e60bc8f0008a1d9ed/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84acf2d3-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=070c6bbd-35e0-486f-b1f7-2a1d07821ba3
@ -105,19 +105,19 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6447df8cd3fdde0008f1f627/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad19e6-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=072707cc-c1e4-4fea-8582-e3b6779c864c
#EXTINF:-1 tvg-id="",Dittsche
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/61fbfa1a9e38ec0007a395b7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad19e7-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=41a61ea0-a15c-4696-a42f-21d3370d4067
#EXTINF:-1 tvg-id="DoraTV.de",Dora TV
#EXTINF:-1 tvg-id="DoraTV.us@Germany",Dora TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e43c344b54fe800093552f4/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad19e8-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6f38d5cb-dcfd-4261-b299-2bb3409c224c
#EXTINF:-1 tvg-id="",Drake & Josh
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a67c494a10d800085cab06/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad40f0-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8d07619e-6f1c-4551-b814-afb62e97b485
#EXTINF:-1 tvg-id="",Ein Engel auf Erden
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/622f487722d9d400075f74dd/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad40f1-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=dc257dd1-b888-4d09-bd2d-9a97fb61b7ed
#EXTINF:-1 tvg-id="",Emma einfach magisch!
#EXTINF:-1 tvg-id="EmmaeinfachmagischNick.us@Germany",Emma einfach magisch!
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f4796368174910007756454/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad40f2-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1fa557b2-70f2-45b4-b049-46bca25dd335
#EXTINF:-1 tvg-id="",Euronews
#EXTINF:-1 tvg-id="EuronewsGerman.fr@SD",Euronews
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6639d7d4b18d700008da5316/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad40f3-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3e4b88ec-5984-4688-a30a-030ab8602e7c
#EXTINF:-1 tvg-id="",F.B.I. Files
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64eddce19001910008df22b8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad40f4-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=4f14a19a-0066-4a45-be41-279347754e05
#EXTINF:-1 tvg-id="FailArmy.de",FailArmy
#EXTINF:-1 tvg-id="FailArmy.us@Germany",FailArmy
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ad9b7ffe738977e2c312133/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad40f5-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c2b899ff-8adb-43d9-a336-9962f9aeca84
#EXTINF:-1 tvg-id="",Familie Dr. Kleist
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65819f14b9adc4000813ee39/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad40f6-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=40b7900e-6657-42b2-afd3-3bf51708cfce
@ -127,7 +127,7 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6305ca798bd95300072d2f93/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad40f8-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=266c2f61-4ff7-423e-9af5-2d4f8e57bd34
#EXTINF:-1 tvg-id="",Fluss-Monster
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62a0b2aff4cf470007e47e29/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad40f9-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1bf2399a-9762-4f2b-8e0b-daf1db4fac6e
#EXTINF:-1 tvg-id="",Frasier
#EXTINF:-1 tvg-id="Frasier.us@Germany",Frasier
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62cebf042ffc6d0007c4e59a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad6800-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f552b359-8c8e-4816-8106-6f91f060d965
#EXTINF:-1 tvg-id="",Freitag Nacht News
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64be64070e086a0009d7b028/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad6801-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=cbade38c-4557-4dbe-9035-8337a9b39fac
@ -139,23 +139,23 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/654a2bfeab05240008a12881/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad6804-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=08e0fbef-c298-4024-b6f0-c9a111ea0795
#EXTINF:-1 tvg-id="",Germany Shore
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6447dea7e94c380008dba94c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad6805-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5c4dcd23-a017-4d7e-a0f1-ce0220928f16
#EXTINF:-1 tvg-id="",Goldstar TV
#EXTINF:-1 tvg-id="GoldstarTVGermany.us@Germany",Goldstar TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6192396135f3910007fc5fc7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad6806-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=9ec1275e-0641-49e2-81e6-6d37a37b7bd3
#EXTINF:-1 tvg-id="",Hausmeister Krause
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/622f6faf65be650007f57aab/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad6807-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e7001824-448d-4432-b0f6-f73039f34e53
#EXTINF:-1 tvg-id="",Hawaii Fünf-Null
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6349259d1d90320007fcb1d9/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad6808-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a4c2099d-f6da-47f0-b3a9-7626a374cbb0
#EXTINF:-1 tvg-id="",Hell's Kitchen
#EXTINF:-1 tvg-id="HellsKitchen.us@Germany",Hell's Kitchen
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/644257fe7cb4b100081ed874/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad8f10-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=02a68eb1-ac6e-4f61-b4fb-4c740e614b6b
#EXTINF:-1 tvg-id="",Hot Ones
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655ca3839d5ac400080d14ec/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad8f11-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=66cda8eb-183c-40ce-a92d-ae42b4ae5ea2
#EXTINF:-1 tvg-id="",Hours to Kill Zeitachse des Todes
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/656064e74261ca00081812a9/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad8f12-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=57f69955-40a5-48e8-9937-db609244fdd4
#EXTINF:-1 tvg-id="iCarly.de",iCarly
#EXTINF:-1 tvg-id="iCarly.us@Germany",iCarly
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b580a233dc90007f0cb9d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad8f13-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=016798d3-d8a9-4683-81ba-9d514289474b
#EXTINF:-1 tvg-id="IcePilots.de",Ice Pilots
#EXTINF:-1 tvg-id="IcePilots.us@Germany",Ice Pilots
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ce40f42ba7f7f5ea9518fe1/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad8f14-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=9e3f7479-1434-4263-91dc-309a9e66bfbe
#EXTINF:-1 tvg-id="InspectorGadget.de",Inspector Gadget
#EXTINF:-1 tvg-id="InspectorGadget.us@Germany",Inspector Gadget
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5dbc2d1ce10f0b0009e6cf9e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad8f15-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=63479ffd-d7d9-473f-9f9f-753a49f5d5d1
#EXTINF:-1 tvg-id="",Instant Mom
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63905b9e799ff100077037a8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ad8f16-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c4e94689-8301-43fb-8643-bf0308937690
@ -169,79 +169,79 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65dde626ec9fda0008b3dc89/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84adb621-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=9c78ff4e-ffa9-4d79-8dde-f3834e4924b9
#EXTINF:-1 tvg-id="",Kultkrimi: Derrick
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65dde5848145cb00083277f6/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84adb622-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=06a44c4a-5d6f-4b01-a53c-91e48d9ed4f6
#EXTINF:-1 tvg-id="",Love Boat
#EXTINF:-1 tvg-id="TheLoveBoat.us@SD",Love Boat
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655ca3d1fbc15b00081f1186/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84adb623-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1e0f04ba-5d44-4497-a76d-5e853cd252c7
#EXTINF:-1 tvg-id="MarcoPoloTV.de",Marco Polo TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65004cf398020f00084ca8bc/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84adb624-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c670d03b-8683-44b1-822a-72919a68ae4d
#EXTINF:-1 tvg-id="",Melrose Place
#EXTINF:-1 tvg-id="PlutoTVMelrosePlace.us@Germany",Melrose Place
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64be745340962900080b55e7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84adb625-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=9c899887-c596-406b-8385-e0b91067adf2
#EXTINF:-1 tvg-id="",Mission Impossible
#EXTINF:-1 tvg-id="MissionImpossible.us@SD",Mission Impossible
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/634fe5afece2e60007c9d8b8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84adb626-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0105bf0a-9d01-41f4-88ef-c646d21554f0
#EXTINF:-1 tvg-id="",Monster Jam
#EXTINF:-1 tvg-id="MonsterJam.pl@SD",Monster Jam
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65c33f833ef47d00084f47ad/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84adb627-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8d68c96c-30ce-4578-80fe-f99cfe60ceee
#EXTINF:-1 tvg-id="",Mork vom Ork
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642ad2127ef83900085f8910/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84adb628-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e56c1fd6-210e-4009-bdfa-feed08d1e2f1
#EXTINF:-1 tvg-id="Motorvision.de",Motorvision
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6093f2ae4dd5ab0007d1ff9d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84addd30-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=456ff785-b712-4c67-a20f-5327add4053e
#EXTINF:-1 tvg-id="",MOVIEDOME
#EXTINF:-1 tvg-id="Moviedome.us@Germany",MOVIEDOME
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/615c1e5ce3039400070a0547/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84addd31-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5bdf8fde-2533-4c16-b518-58e9777e93ca
#EXTINF:-1 tvg-id="",Moviepilot TV mit Pluto TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a67d572fac9c000835eb3a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84addd32-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=fcc33217-17d7-4dc5-9361-70dd91fef90e
#EXTINF:-1 tvg-id="MTVCatfishTVShow.de",MTV Catfish TV Show
#EXTINF:-1 tvg-id="MTVCatfishTVShow.us@Germany",MTV Catfish TV Show
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5db6a697d5f34a000934cd13/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84addd34-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d88db7fd-9049-4209-8a4a-b6fb695742ed
#EXTINF:-1 tvg-id="",MTV Music
#EXTINF:-1 tvg-id="MTVMusic.uk",MTV Music
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6245d15062cd1f00070a2338/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae0440-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=64060fde-9aa0-457f-ba59-1d8c28109d33
#EXTINF:-1 tvg-id="MTVPlutoTV.de",MTV Pluto TV
#EXTINF:-1 tvg-id="MTVPlutoTV.us@Germany",MTV Pluto TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5caf325764025859afdd6c4d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae0445-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=46816ea6-8434-4e99-9589-496d1e6cd098
#EXTINF:-1 tvg-id="MTVRidiculousness.de",MTV Ridiculousness
#EXTINF:-1 tvg-id="MTVRidiculousness.us@Germany",MTV Ridiculousness
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f9847fd513250000728a9a5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae0447-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=12cb5d0b-2c4f-4b1b-8610-d3689603c938
#EXTINF:-1 tvg-id="MTVSerie.de",MTV Serie
#EXTINF:-1 tvg-id="MTVSerie.us@Germany",MTV Serie
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/609536871db47700075a04bf/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae0449-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3ead3cd0-99a8-4b3b-83e4-6c4be0dae5da
#EXTINF:-1 tvg-id="MTVTeenMom.de",MTV Teen Mom
#EXTINF:-1 tvg-id="MTVTeenMom.us@Germany",MTV Teen Mom
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5cffcf5686dfe15595fb3f56/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae044a-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1702995c-e680-43a7-aab2-8ad161900add
#EXTINF:-1 tvg-id="MTVTheHills.de",MTV The Hills
#EXTINF:-1 tvg-id="MTVTheHills.us@Germany",MTV The Hills
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d00e86bf0bac55fe7f75736/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae2b50-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2601e066-e9a4-4c67-8fe1-ea001c98c301
#EXTINF:-1 tvg-id="MTVTheHillsOV.de",MTV The Hills (OV)
#EXTINF:-1 tvg-id="",MTV The Hills (OV)
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ea8147c6e3dd70007deab3d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae2b51-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5d1b5292-0254-4ec4-8717-17ce2cb193d1
#EXTINF:-1 tvg-id="MTVTheShores.de",MTV The Shores
#EXTINF:-1 tvg-id="MTVTheShores.us@Germany",MTV The Shores
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5caf32c2a5068259a32320fc/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae2b52-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ea57af13-cdf9-4796-a6ce-aa2f1ce34fcf
#EXTINF:-1 tvg-id="MTVUnplugged.de",MTV Unplugged
#EXTINF:-1 tvg-id="MTVUnplugged.us@Germany",MTV Unplugged
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f98471110cca20007d39f76/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae2b53-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=81574af2-8af4-46c8-8d63-00cbea99cbf5
#EXTINF:-1 tvg-id="",Myth Hunters
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63d90f828795f300086745b2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae2b54-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7118ec33-1864-4f3c-9921-f05b649723ac
#EXTINF:-1 tvg-id="N24Doku.de",N24 Doku
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/60080e8a4bf36000076a81b1/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae2b55-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=39199e43-689e-4f83-9f74-b89605373bf0
#EXTINF:-1 tvg-id="",Naruto
#EXTINF:-1 tvg-id="Naruto.us@Germany",Naruto
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65d5fc39a25d5e00082895c4/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae2b56-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=624d6e59-b964-41c4-8e12-4ec9c07d66e8
#EXTINF:-1 tvg-id="",Nick Danger
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62f51e6c34d6f40007f992a6/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae2b57-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=9256bc3b-cf58-46ba-9fba-de7b7838056b
#EXTINF:-1 tvg-id="NickPlutoTV.de",Nick Pluto TV
#EXTINF:-1 tvg-id="NickPlutoTV.us@Germany",Nick Pluto TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ede448d3d50590007a4419e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae2b58-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d3f62f1d-7d8d-4d3f-a141-db9f502deb6b
#EXTINF:-1 tvg-id="NickSpace.de",Nick Space
#EXTINF:-1 tvg-id="NickSpace.us@Germany",Nick Space
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/619b82cc70a9ba00074429e2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae5260-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c6835637-a922-4815-9f33-c332f95fd25c
#EXTINF:-1 tvg-id="",Nick Ukraine
#EXTINF:-1 tvg-id="NickelodeonUkrainePlutoTV.ua@SD",Nick Ukraine
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/622882350f6aad0008c76e77/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae5261-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b3b9970c-0d30-47d7-83dd-c40190676ffa
#EXTINF:-1 tvg-id="",Nurse Jackie
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a67c7a07e03a00088de834/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae5262-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ec5a40a8-d64f-4615-99e0-e3e39645f7e3
#EXTINF:-1 tvg-id="",Pacific Blue
#EXTINF:-1 tvg-id="PacificBlue.us@Germany",Pacific Blue
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642ad5bd283aa40008064568/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae5263-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5e14b69c-ec83-4ccb-9507-4698f4ad04ec
#EXTINF:-1 tvg-id="",Parker Lewis Der Coole von der Schule
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/650adbe0473a54000846ca0c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae5264-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d5f79daf-bcaa-4fbc-9a9a-88dad1866dad
#EXTINF:-1 tvg-id="",Pensacola Flügel aus Stahl
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655ca4b94261ca00080b38d2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae5265-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=304ed6dd-b782-4fee-9de3-30ab786437a1
#EXTINF:-1 tvg-id="",Perry Mason
#EXTINF:-1 tvg-id="PerryMason.us@SD",Perry Mason
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64eddc3485efec00085b0369/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae5266-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7ab3292e-7fc5-4103-8872-a104548d3ffe
#EXTINF:-1 tvg-id="",Pluto TV #1
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/640f4f4083f589000828a544/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae5267-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=eac0ade3-c141-4cf3-a9bd-99313a9f43d3
#EXTINF:-1 tvg-id="PlutoTVAnimals.de",Pluto TV Animals
#EXTINF:-1 tvg-id="PlutoTVAnimals.us@Germany",Pluto TV Animals
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d767ae7b456c8cf265ce922/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae5268-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f4297955-3ff8-4299-b8e4-ca974cec3c7a
#EXTINF:-1 tvg-id="PlutoTVAnime.de",Pluto TV Anime
#EXTINF:-1 tvg-id="PlutoTVAnime.us@Germany",Pluto TV Anime
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/608181d420fc8500075f612a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae7970-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=042724a5-f12e-43ab-9538-dac62e47d082
#EXTINF:-1 tvg-id="PlutoTVBiografie.de",Pluto TV Biografie
#EXTINF:-1 tvg-id="PlutoTVBiografie.us@Germany",Pluto TV Biografie
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/61409b5108ae6e0007f9b189/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae7971-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=79697498-7b3e-450e-8f45-6aa30b5a969d
#EXTINF:-1 tvg-id="",Pluto TV Camp
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/661801e871e8c30008a73f7b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae7972-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ad3c3224-e568-4336-97ed-de70a70dc695
#EXTINF:-1 tvg-id="PlutoTVCrime.de",Pluto TV Crime
#EXTINF:-1 tvg-id="PlutoTVCrime.us@Germany",Pluto TV Crime
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e7b6c60fd20c50007910bf5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae7973-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=69be320f-69fa-4e89-9e79-4dce587a0151
#EXTINF:-1 tvg-id="",Pluto TV Crime on the beach
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/666c2b8761a39900088f0c89/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae7974-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e9e22404-2549-4f12-933c-e2baca785777
@ -249,43 +249,43 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/66
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/630e00c065cfc10007c6e06b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae7975-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=fc241168-281d-4fac-b62d-4585cc441c02
#EXTINF:-1 tvg-id="",Pluto TV Dizikolik
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/650b064ad1f20c000856a5a4/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae7976-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b5b1e17f-bd21-46f1-aaf4-6142c68b65ad
#EXTINF:-1 tvg-id="PlutoTVDocumentaries.de",Pluto TV Documentaries
#EXTINF:-1 tvg-id="PlutoTVDocumentaries.us@Germany",Pluto TV Documentaries
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5db048f9447d6c0009b8f29d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae7977-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=afad5263-75e1-48ce-9de2-e9a428ebcb39
#EXTINF:-1 tvg-id="PlutoTVExplore.de",Pluto TV Explore
#EXTINF:-1 tvg-id="PlutoTVExplore.us@Germany",Pluto TV Explore
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ad9b8551b95267e225e59c1/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae7978-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=48b4a91c-514f-44ce-b5b2-0f355a642d0e
#EXTINF:-1 tvg-id="PlutoTVFood.de",Pluto TV Food
#EXTINF:-1 tvg-id="PlutoTVFood.us@Germany",Pluto TV Food
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5dc280c9aa218c0009724b4b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84ae7979-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6afece0b-4e3f-4de4-935d-3288b6200e01
#EXTINF:-1 tvg-id="",Pluto TV heiße Nächte
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64526a145a0cd50008632bfa/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aea080-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8f9d11a2-637a-40fd-aae8-8ad9bf48a0e2
#EXTINF:-1 tvg-id="PlutoTVHistory.de",Pluto TV History
#EXTINF:-1 tvg-id="PlutoTVHistory.us@Germany",Pluto TV History
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d767b1c126c65d0a307355f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aea081-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8d66523d-c59b-4354-aedb-17d13edf0d26
#EXTINF:-1 tvg-id="PlutoTVHome.de",Pluto TV Home
#EXTINF:-1 tvg-id="PlutoTVHome.us@Germany",Pluto TV Home
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5eb96303f5bb020008e7e44f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aea082-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=98a9fe20-9187-429d-b9ac-8042d3142022
#EXTINF:-1 tvg-id="",Pluto TV Horror
#EXTINF:-1 tvg-id="PlutoTVHorror.us@Germany",Pluto TV Horror
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/62f4f4b88157cf00075c22db/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aea083-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=67746cb2-93c1-4a0a-874d-a4043328cb08
#EXTINF:-1 tvg-id="PlutoTVIndies.de",Pluto TV Indies
#EXTINF:-1 tvg-id="PlutoTVIndies.us@Germany",Pluto TV Indies
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ce40e59246a395e9758923e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aea084-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1717ce52-d158-4c4f-870e-5f72d6328d3d
#EXTINF:-1 tvg-id="PlutoTVKids.de",Pluto TV Kids
#EXTINF:-1 tvg-id="PlutoTVKids.us@Germany",Pluto TV Kids
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ad9b648e738977e2c312131/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aea085-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=68ca4400-31c3-45e1-ac30-9bcbc6aaefd8
#EXTINF:-1 tvg-id="",Pluto TV Kino Filme
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63c9430af13a9b000786422a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aea086-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7546b852-e5e0-42d1-9d5a-c9e4615d9110
#EXTINF:-1 tvg-id="",Pluto TV Knallhart
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65004605110545000842035d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aea087-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=afe5c1f5-e3c6-453b-a231-7baa7ac86ba1
#EXTINF:-1 tvg-id="PlutoTVKultfilme.de",Pluto TV Kultfilme
#EXTINF:-1 tvg-id="PlutoTVKultfilme.us@Germany",Pluto TV Kultfilme
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5dde47b63585b500099f74ec/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aea088-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3418c444-a5b9-456d-9d11-e4e9c7b5eec0
#EXTINF:-1 tvg-id="",Pluto TV liebt John Wayne
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65ef0f9d2873090008be19df/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aea089-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=debf8004-1d35-4eb6-830a-47860f09640f
#EXTINF:-1 tvg-id="PlutoTVLives.de",Pluto TV Lives
#EXTINF:-1 tvg-id="PlutoTVLives.us@Germany",Pluto TV Lives
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5db04b360fa2560009deb3de/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aea08a-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=528b6467-6aba-4c44-833a-a64dcdd63b74
#EXTINF:-1 tvg-id="",Pluto TV Maschinen
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/655ca662fbc15b00081f18fc/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aec790-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=aa86195a-d5e8-4d9f-ab44-d745649aebba
#EXTINF:-1 tvg-id="PlutoTVMovies.de",Pluto TV Movies
#EXTINF:-1 tvg-id="PlutoTVMovies.us@Germany",Pluto TV Movies
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5c5c3b948002db3c3e0b262e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aec791-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5500aa67-c527-4db6-868b-d37341c34286
#EXTINF:-1 tvg-id="PlutoTVMystery.de",Pluto TV Mystery
#EXTINF:-1 tvg-id="PlutoTVMystery.us@Germany",Pluto TV Mystery
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/617aad99b68ef100072608cd/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aec792-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2b2bcb00-9a00-402e-b731-873dc95db9fc
#EXTINF:-1 tvg-id="PlutoTVNature.de",Pluto TV Nature
#EXTINF:-1 tvg-id="PlutoTVNature.us@Germany",Pluto TV Nature
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5be1c3f9851dd5632e2c91b2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aec793-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=dd5077d7-0ac1-491c-87dc-536ab13c0313
#EXTINF:-1 tvg-id="PlutoTVParanormal.de",Pluto TV Paranormal
#EXTINF:-1 tvg-id="PlutoTVParanormal.us@Germany",Pluto TV Paranormal
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f98487036af340008da1e37/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aec794-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0d13891a-ff55-4504-afee-87e1e9ecdbd6
#EXTINF:-1 tvg-id="",Pluto TV Polar+
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ffebbeabd18520007b37709/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aec795-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=41cfa3c9-a6dd-4995-91ad-c950b8d1004e
@ -293,29 +293,29 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64be64445dc166000899ce75/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aec796-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=813b79c7-b5ab-4408-ae58-2c80c52c7f3a
#EXTINF:-1 tvg-id="",Pluto TV Power Frauen
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/625423185e237b0007f6764e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aec797-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a1697c3d-51e5-4838-acfd-20d30d7be107
#EXTINF:-1 tvg-id="PlutoTVRetroToons.de",Pluto TV Retro Toons
#EXTINF:-1 tvg-id="PlutoTVRetroToons.us@Germany",Pluto TV Retro Toons
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e1c669094e0e80009b22ab8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aec798-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=ebd144d9-d7a1-43ae-a500-82297b0dbac5
#EXTINF:-1 tvg-id="PlutoTVRomance.de",Pluto TV Romance
#EXTINF:-1 tvg-id="PlutoTVRomance.us@Germany",Pluto TV Romance
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5dc287ce3086a20009f5024c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aec799-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=91cee60e-49f2-4985-953a-f2cde441fe54
#EXTINF:-1 tvg-id="PlutoTVSciFi.de",Pluto TV Sci-Fi
#EXTINF:-1 tvg-id="PlutoTVSciFi.us@Germany",Pluto TV Sci-Fi
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/60ed498c4248a400077c0b9d/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aeeea0-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=91571e99-b22e-454e-9622-6abd1ff79fd1
#EXTINF:-1 tvg-id="",Pluto TV Science
#EXTINF:-1 tvg-id="PlutoTVScience.us@Germany",Pluto TV Science
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d767b4889bca2ce7b73ef2e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aeeea1-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=823a3c37-13b3-4ca9-b978-d98c2630c834
#EXTINF:-1 tvg-id="PlutoTVSerie.de",Pluto TV Serie
#EXTINF:-1 tvg-id="PlutoTVSerie.us@Germany",Pluto TV Serie
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5dc190f7bfed110009d934c3/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aeeea2-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c39f6559-678d-4811-85d3-2aeecd09668a
#EXTINF:-1 tvg-id="PlutoTVSeriePlus.de",Pluto TV Serie+
#EXTINF:-1 tvg-id="PlutoTVSeriePlus.us@Germany",Pluto TV Serie+
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ddbf866b1862a0009a0648e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aeeea3-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2e0c3c1a-9aa2-46b3-994f-ab3a1c929f78
#EXTINF:-1 tvg-id="PlutoTVSitcoms.de",Pluto TV Sitcoms
#EXTINF:-1 tvg-id="PlutoTVSitcoms.us@Germany",Pluto TV Sitcoms
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d767ab2b456c8cf265ce921/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aeeea4-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=280db36d-ffba-4223-8a7d-77e6a96d3758
#EXTINF:-1 tvg-id="",Pluto TV Sitcoms+
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5cd149f021cb6c55e258bbe8/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aeeea5-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=57a04ab4-08c0-4114-8c90-0153ccf85d53
#EXTINF:-1 tvg-id="PlutoTVSpace.de",Pluto TV Space
#EXTINF:-1 tvg-id="PlutoTVSpace.us@Germany",Pluto TV Space
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/61409f8d6feb30000766b675/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aeeea6-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=aee0c343-6689-49c1-9090-319522e3c837
#EXTINF:-1 tvg-id="PlutoTVStarTrek.de",Pluto TV Star Trek
#EXTINF:-1 tvg-id="PlutoTVStarTrek.us@Germany",Pluto TV Star Trek
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6152ee71bf99590007893a11/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aeeea7-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3329cc1b-d91f-4194-b516-92fbd807049b
#EXTINF:-1 tvg-id="PlutoTVTrueCrime.de",Pluto TV True Crime
#EXTINF:-1 tvg-id="PlutoTVTrueCrime.us@Germany",Pluto TV True Crime
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/615333098185f00008715a56/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aeeea8-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=96f45124-9486-4038-a177-6f5206a39041
#EXTINF:-1 tvg-id="",Pluto TV Western
#EXTINF:-1 tvg-id="PlutoTVWesterns.us@Germany",Pluto TV Western
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/630dd3b2605f140007e002f5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84aeeea9-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=0f9be2fb-9bfd-4c1e-8963-ba4370795ff3
#EXTINF:-1 tvg-id="",Pluto TV: Mehr Star Trek
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6500464a3a0d700008b3ce19/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af15b0-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6b1d8f42-c575-4cb5-88e6-bb6e8e5a6c30
@ -341,7 +341,7 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/66
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64be635a40962900080aaca5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af3cc0-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=cdb91578-90c7-424e-baec-62c86af7b3f7
#EXTINF:-1 tvg-id="",Sabrina Total verhext!
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/622f40c901d4b70007ad7609/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af3cc1-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1ddb15fc-284f-40a3-b608-5152c320aa22
#EXTINF:-1 tvg-id="",Sam & Cat
#EXTINF:-1 tvg-id="SamCat.us@Germany",Sam & Cat
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b5ba20af628000707cee3/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af3cc2-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=bfbf1c99-97ab-4e84-9706-f5141d6bfa99
#EXTINF:-1 tvg-id="",Schitt's Creek: David & Patrick!
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/665f01b8a3865300086a233c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af3cc3-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=91cd8bcd-d069-4713-a856-cde8bb4fbcf0
@ -351,7 +351,7 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/660e97bce8fba8000853d43f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af3cc5-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=6874b43e-86f9-4252-b693-af5ccc56dd88
#EXTINF:-1 tvg-id="",See Dad Run
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63905bcb0f41d200073e05ff/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af3cc6-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8b058483-7994-4491-a77a-4761448af037
#EXTINF:-1 tvg-id="SimsalabimSabrina.de",Simsalabim Sabrina
#EXTINF:-1 tvg-id="SimsalabimSabrina.us@Germany",Simsalabim Sabrina
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5dbc327d0451770009ed7577/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af3cc7-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d22fc39b-64c4-41a9-a5a0-18b370793329
#EXTINF:-1 tvg-id="",South Park: Butters Collection
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/646b14a0e94c3800082a8d3a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af3cc8-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c33f5b82-5c79-40fb-b393-4882708946ac
@ -375,21 +375,21 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/66794444efa2a10008ca1b16/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af63d6-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=014d57c7-2724-4893-a460-dea391a4bef9
#EXTINF:-1 tvg-id="",SpongeBob OV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/667944cb63a5f20008df6ad4/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af63d7-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e5b95ef0-20c5-423e-ac08-a8b427d48ba5
#EXTINF:-1 tvg-id="SpongeBobSchwammkopf.de",SpongeBob Schwammkopf
#EXTINF:-1 tvg-id="SpongeBobSchwammkopf.us@Germany",SpongeBob Schwammkopf
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d00e8adaab96b5635b2a005/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af63d8-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3e6bdc7a-78a0-4fdd-8f37-ea9905c5e422
#EXTINF:-1 tvg-id="",Star Trek: Deep Space Nine
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65a67d200c7ff50008cb131a/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af63d9-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2bc71210-8348-497e-9c67-114c5ae83332
#EXTINF:-1 tvg-id="",Storage Wars: Canada
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ede464e7be0030007c58b73/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af63da-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=a367e69b-211e-4ca6-af6b-1dc6fa54bf89
#EXTINF:-1 tvg-id="Strongman.de",Strongman
#EXTINF:-1 tvg-id="Strongman.us@Germany",Strongman
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e1452156c07b50009d0230e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af8ae0-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c0be139f-be68-4d55-940e-e5aae0d99e04
#EXTINF:-1 tvg-id="",Sünger Bob Kare Pantolon
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/667943a322acab00089fbd58/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af8ae1-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=f8dc15cd-5ae5-4f7c-b5a9-8a92be416961
#EXTINF:-1 tvg-id="TakeshisCastle.de",Takeshi's Castle
#EXTINF:-1 tvg-id="TakeshisCastle.us@Germany",Takeshi's Castle
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/6054a9f4bc8a5f000771504c/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af8ae2-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=98bea881-8ec4-4d3c-ad12-0a142e47ffe1
#EXTINF:-1 tvg-id="",Täterjagd
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642abea1283aa4000805bb5b/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af8ae3-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=d360d3bc-0ba5-40c0-9de5-ad6e1b602f0f
#EXTINF:-1 tvg-id="TeenNick.de",Teen Nick
#EXTINF:-1 tvg-id="",Teen Nick
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5f0d668b872e4400073acc68/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af8ae4-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=5a971f40-be5f-4406-a0a6-b014ec38a8ce
#EXTINF:-1 tvg-id="",Telenovela ZDF
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5cb5d043a461406ffe3fb2de/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af8ae5-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=2110f9dc-f7e7-417c-84ec-63f379b710b9
@ -399,11 +399,11 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/651e94c930876e000840eb50/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af8ae7-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b1dd93b6-2083-4144-a0fe-2262d219187a
#EXTINF:-1 tvg-id="",The Twilight Zone
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64c8dd94e4391c0008eb4742/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af8ae8-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=aceb234b-c468-44e9-9d0c-9a032be740c4
#EXTINF:-1 tvg-id="",Top Gear
#EXTINF:-1 tvg-id="TopGear.uk@SD",Top Gear
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64c109735dc1660008a4a2dc/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af8ae9-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=fa4b8f71-6f6a-4851-b8e9-716771846afc
#EXTINF:-1 tvg-id="TotallyTurtles.de",Totally Turtles
#EXTINF:-1 tvg-id="TotallyTurtles.us@Germany",Totally Turtles
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5d6792bd6be2998ad0ccce30/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84af8aea-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=1d3e241b-d6cf-44c2-bfcd-45ca4d693881
#EXTINF:-1 tvg-id="TotallyTurtlesOV.de",Totally Turtles (OV)
#EXTINF:-1 tvg-id="",Totally Turtles (OV)
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ea816a44457070007ffabc7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84afb1f0-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=275d9070-7e10-4407-a2c8-d35b6ac97886
#EXTINF:-1 tvg-id="",Transformers TV
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/643683519b32b400094e0a40/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84afb1f1-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=aeb85f53-a136-4d6f-8952-43fda8f5ce47
@ -417,7 +417,7 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/63
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/650adb92a1217e00091a3eff/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84afb1f5-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=38e01fae-e485-4ddb-93c0-891443b0d887
#EXTINF:-1 tvg-id="",V.I.P. Die Bodyguards
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/650adc0ba1217e00091a3f4e/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84afb1f6-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=c9a9f8b4-c92b-43f1-9731-033cc5efe425
#EXTINF:-1 tvg-id="Victorious.de",Victorious
#EXTINF:-1 tvg-id="Victorious.us@Germany",Victorious
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5e8b5e43f294f8000793c3d7/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84afb1f7-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b8f594b9-41be-4385-aa1a-9f9f0de6f06b
#EXTINF:-1 tvg-id="",Viper
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642ad6a5aa2d690008ea6d96/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84afd900-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=8c651043-654e-44a1-b9c1-e1a3e1bea2c8
@ -431,13 +431,13 @@ http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/64
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/627d2d1d05e09f00073ccdff/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84afd904-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e0111a68-96dd-4929-aea5-e18528a1add5
#EXTINF:-1 tvg-id="",Wings Die Überflieger
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/65b38e310d9ab400082bdec2/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84afd905-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7925cf55-0cda-4685-beb7-5d7be25d1556
#EXTINF:-1 tvg-id="WipeoutOV.de",Wipeout (OV)
#EXTINF:-1 tvg-id="",Wipeout (OV)
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5eb963c98ec06d00077d63cb/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84afd906-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=e875d4e6-825a-422e-ac7b-e30edcb5ef40
#EXTINF:-1 tvg-id="WorldPokerTour.de",World Poker Tour
#EXTINF:-1 tvg-id="WorldPokerTour.us@Germany",World Poker Tour
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/5ad9b7aae738977e2c312132/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84b00010-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=74cccc9f-4a89-4a77-9d46-ad68b9e23890
#EXTINF:-1 tvg-id="",X-Factor: Das Unfassbare
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642d7e029189ce0008958af5/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84b00011-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=b0a16fea-9491-49e8-8a50-ca6716fb7976
#EXTINF:-1 tvg-id="",Yu-Gi-Oh!
#EXTINF:-1 tvg-id="YuGiOh.us@SD",Yu-Gi-Oh!
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/642d4493aa2d690008f0a03f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84b00012-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=7978130e-8cf9-40ac-8973-675ca743190d
#EXTINF:-1 tvg-id="",Yüksek Sosyete High Society
http://cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv/stitch/hls/channel/66338ce79e68c20008b7e00f/master.m3u8?appName=web&appVersion=unknown&clientTime=0&deviceDNT=0&deviceId=84b00013-4b92-11ef-aece-533610f1ea34&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=unknown&includeExtendedEvents=false&serverSideAds=false&sid=3e6320f7-73cf-47b1-b9cb-26e2bd11dde9

View file

@ -5,7 +5,7 @@ https://insighttv-samsung-de.amagi.tv/playlist.m3u8
https://inwonder-samsung-de.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="SofyTV.ch",Sofy TV (720p)
https://sofy-ger-samsung.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="Tastemade.de",Tastemade Deutschland (720p)
#EXTINF:-1 tvg-id="",Tastemade Deutschland (720p)
https://tastemade-de-samsung.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="XITE.nl",Xite (720p)
https://xite-samsung-de.amagi.tv/playlist.m3u8

View file

@ -3,17 +3,17 @@
https://rakuten-africanews-1-dk.samsung.wurl.tv/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="BloombergTV.us",Bloomberg TV US (1080p)
https://bloomberg-bloomberg-1-dk.samsung.wurl.tv/playlist.m3u8
#EXTINF:-1 tvg-id="EuronewsEnglish.fr",Euronews English
https://rakuten-euronews-1-dk.samsung.wurl.tv/playlist.m3u8
#EXTINF:-1 tvg-id="EuronewsEnglish.fr",Euronews English (720p)
https://rakuten-euronews-1-dk.samsung.wurl.tv/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="",Rakuten Action (720p)
#EXTINF:-1 tvg-id="EuronewsEnglish.fr",Euronews English
https://rakuten-euronews-1-dk.samsung.wurl.tv/playlist.m3u8
#EXTINF:-1 tvg-id="RakutenTVActionMovies.es@Denmark",Rakuten Action (720p)
https://rakuten-action-10-dk.samsung.wurl.tv/playlist.m3u8
#EXTINF:-1 tvg-id="",Rakuten Comedy (720p)
#EXTINF:-1 tvg-id="RakutenTVComedyMovies.es@Denmark",Rakuten Comedy (720p)
https://rakuten-comedy-10-dk.samsung.wurl.tv/playlist.m3u8
#EXTINF:-1 tvg-id="",Rakuten Drama (720p)
#EXTINF:-1 tvg-id="RakutenTVDramaMovies.es@Denmark",Rakuten Drama (720p)
https://rakuten-drama-10-dk.samsung.wurl.tv/playlist.m3u8
#EXTINF:-1 tvg-id="",Rakuten Family (720p)
#EXTINF:-1 tvg-id="RakutenTVFamilyMovies.es@Denmark",Rakuten Family (720p)
https://rakuten-family-10-dk.samsung.wurl.tv/playlist.m3u8
#EXTINF:-1 tvg-id="",Rakuten Spotlight (720p)
#EXTINF:-1 tvg-id="RakutenTVSpotlight.es@Denmark",Rakuten Spotlight (720p)
https://rakuten-spotlight-10-dk.samsung.wurl.tv/playlist.m3u8

View file

@ -26,10 +26,10 @@ https://ss9.domint.net:3040/ame_str/amecanal47/playlist.m3u8
http://animezonetv.net/hls/stream.m3u8
#EXTINF:-1 tvg-id="Antena7.do",Antena 7 (480p) [Not 24/7] [Geo-blocked]
https://alba-do-antena7-antena7.stream.mediatiquestream.com/index.m3u8
#EXTINF:-1 tvg-id="Antena21.do",Antena 21
https://d1p8txxph783az.cloudfront.net/index.m3u8
#EXTINF:-1 tvg-id="Antena21.do",Antena 21 (480p) [Not 24/7] [Geo-blocked]
https://alba-do-antena7-c21.stream.mediatiquestream.com/index.m3u8
#EXTINF:-1 tvg-id="Antena21.do",Antena 21
https://d1p8txxph783az.cloudfront.net/index.m3u8
#EXTINF:-1 tvg-id="Area809ElOriginal.do",Area 809 El Original (1080p)
https://vdo.voxhdnet.com:3159/stream/play.m3u8
#EXTINF:-1 tvg-id="ARROZTV.do",ARROZ TV
@ -120,7 +120,7 @@ https://ssh101-fl.bozztv.com/ssh101/ctv8hd/index.m3u8
https://ssh101.bozztv.com/ssh101/rctvhd21/playlist.m3u8
#EXTINF:-1 tvg-id="CotubanamaTV.do",Cotubanama TV (1080p)
https://host.streamingnation.live/p/3588/hybrid/play.m3u8
#EXTINF:-1 tvg-id="",Cotui TV (720p)
#EXTINF:-1 tvg-id="TVCotuiCanal31.do@SD",Cotui TV (720p)
https://cloudflare.streamgato.us:3490/live/cotuitvlive.m3u8
#EXTINF:-1 tvg-id="CromTV.do",CromTV (480p)
https://cnn.essastream.com:3333/live/cromtvlive.m3u8
@ -183,7 +183,7 @@ https://ss9.domint.net:3042/gstv_str/globalsocialtv/playlist.m3u8
https://ss3.domint.net:3136/gtv_str/globalhd/playlist.m3u8
#EXTINF:-1 tvg-id="GuacaraTV.do",Guacara TV (720p)
https://imagenuniversaltv.net:3820/live/guacaratvlive.m3u8
#EXTINF:-1 tvg-id="",Guaymate [Not 24/7]
#EXTINF:-1 tvg-id="GuaymateTV.do@SD",Guaymate [Not 24/7]
https://5790d294af2dc.streamlock.net/8100/8100/playlist.m3u8
#EXTINF:-1 tvg-id="GuaymateTV.do",Guaymate TV (720p)
https://ssh101stream.ssh101.com/akamaissh101/ssh101/guaymatetv/playlist.m3u8
@ -280,7 +280,7 @@ https://ed18ov.live.opencaster.com/bznudxxdtppv/index.m3u8
https://cdn.essastream.com:3457/live/noticiasn16live.m3u8
#EXTINF:-1 tvg-id="",Notisur TV
https://ss9.domint.net:3006/nsb_str/notisur/playlist.m3u8
#EXTINF:-1 tvg-id="",Oepm TV (720p)
#EXTINF:-1 tvg-id="OEPMTV.do@SD",Oepm TV (720p)
https://cnn.essastream.com:3318/live/oepmtelevisionlive.m3u8
#EXTINF:-1 tvg-id="OndaTV.do",Onda TV (720p)
https://ss5.domint.net:3176/otv_str/ondatv/playlist.m3u8
@ -342,7 +342,7 @@ https://rdn.essastream.com:3160/live/sanisidrotvlive.m3u8
https://vdo1.streamgato.us:3677/live/telemileniolive.m3u8
#EXTINF:-1 tvg-id="SensacionTV.do",Sensación TV (360p)
https://ss5.domint.net:3002/stv_str/sensaciontv/playlist.m3u8
#EXTINF:-1 tvg-id="",Siembra TV (720p)
#EXTINF:-1 tvg-id="SiembraTV.ve@SD",Siembra TV (720p)
https://streamunoapp.com:3809/live/siembratvlive.m3u8
#EXTINF:-1 tvg-id="SimavisionCanal18.do",Sima Vision TV (720p)
https://soportedvb.click:3668/live/simavisiontvlive.m3u8
@ -422,7 +422,7 @@ http://server3.prostudionetwork.com:1945/teleunion/TU/playlist.m3u8
https://teleuniversotv.streamgato.us:3110/live/teleuniversotvlive.m3u8
#EXTINF:-1 tvg-id="Telever.do",Telever (1080p) [Not 24/7]
https://vdo1.streamgato.us:3342/live/televercanal12live.m3u8
#EXTINF:-1 tvg-id="" http-referrer="https://player.castr.com/live_76112a202cd411ef87bac55efba9cb2e",Televiaducto 3 (720p) [Not 24/7]
#EXTINF:-1 tvg-id="TeleviaductoCanal3.do@SD" http-referrer="https://player.castr.com/live_76112a202cd411ef87bac55efba9cb2e",Televiaducto 3 (720p) [Not 24/7]
#EXTVLCOPT:http-referrer=https://player.castr.com/live_76112a202cd411ef87bac55efba9cb2e
https://stream.castr.com/5da89a909db964293ad13301/live_76112a202cd411ef87bac55efba9cb2e/index.fmp4.m3u8
#EXTINF:-1 tvg-id="" http-referrer="https://player.castr.com/live_569ad240b0b911efa498833d767149d5",Televiaducto 14 (720p) [Not 24/7]
@ -475,7 +475,7 @@ https://ss5.domint.net:3064/tvm_str/montanatv/playlist.m3u8
https://ss5.domint.net:3032/vozz_str/vozzmedia/playlist.m3u8
#EXTINF:-1 tvg-id="TVPlata.do",TV Plata (720p)
https://ss9.domint.net:3032/tvp_str/tvp2111/playlist.m3u8
#EXTINF:-1 tvg-id="",TV QUISQUEYA (720p)
#EXTINF:-1 tvg-id="TVQuisqueya.us@SD",TV QUISQUEYA (720p)
https://cloud5.livescast.com:19360/canaltvquisqueya/canaltvquisqueya.m3u8
#EXTINF:-1 tvg-id="TVVision.do",TV Visión (720p) [Not 24/7]
https://cloudflare.streamgato.us:3691/live/tvvisionlive.m3u8
@ -499,7 +499,7 @@ https://rdn.essastream.com:3400/live/canal18hdlive.m3u8
https://inliveserver.com:1936/10016/10016/playlist.m3u8
#EXTINF:-1 tvg-id="Vision3000.do",Vision 3000 TV
https://ss3.domint.net:3102/v3_str/v3000/playlist.m3u8
#EXTINF:-1 tvg-id="",Vision Global TV (720p)
#EXTINF:-1 tvg-id="VisionGlobalTV.us@SD",Vision Global TV (720p)
https://ss5.domint.net:3012/vgtv_str/visionglobaltv/playlist.m3u8
#EXTINF:-1 tvg-id="VisionNDV.do",VisionNDV TV
https://cloudflare.streamgato.us:3820/live/visionndvlive.m3u8

View file

@ -130,6 +130,8 @@ https://ssh101-fl.bozztv.com/ssh101/scandalotv/index.m3u8
https://eu1.servers10.com:8081/8108/index.m3u8
#EXTINF:-1 tvg-id="SonoOndaTV.ec",Sono Onda TV (720p)
https://live.obslivestream.com/sonoondatv/index.m3u8
#EXTINF:-1 tvg-id="Teleamazonas.ec",Teleamazonas (1080p)
https://teleamazonas-live.cdn.vustreams.com/live/fd4ab346-b4e3-4628-abf0-b5a1bc192428/live.isml/playlist.m3u8
#EXTINF:-1 tvg-id="Teledigital.ec",Teledigital (240p) [Not 24/7]
https://tv.portalexpress.es:3182/hybrid/play.m3u8
#EXTINF:-1 tvg-id="Telerama.ec",Telerama (240p) [Not 24/7]
@ -152,5 +154,3 @@ https://cloud37.ecuatel.com/vostv/live/manifest.m3u8
https://video2.makrodigital.com/wuanplus/wuanplus/playlist.m3u8
#EXTINF:-1 tvg-id="ZaracayTV.ec",Zaracay TV (1080p) [Not 24/7]
https://video2.makrodigital.com/zaracay/zaracay/playlist.m3u8
#EXTINF:-1 tvg-id="Teleamazonas.ec",Teleamazonas (1080p)
https://teleamazonas-live.cdn.vustreams.com/live/fd4ab346-b4e3-4628-abf0-b5a1bc192428/live.isml/playlist.m3u8

View file

@ -43,15 +43,15 @@ https://mbc1-enc.edgenextcdn.net/out/v1/d5036cabf11e45bf9d0db410ca135c18/index.m
https://shls-masr2-ak.akamaized.net/out/v1/f683685242b549f48ea8a5171e3e993a/index.m3u8
#EXTINF:-1 tvg-id="NogoumFMTV.eg",NogoumFMTV (672p) [Not 24/7]
https://nogoumtv.nrpstream.com/hls/stream.m3u8
#EXTINF:-1 tvg-id="OnE.eg",On E (1080p)
https://bcovlive-a.akamaihd.net/3dc60bab470f4c9fbf00408ecb7c3d7a/eu-west-1/6057955906001/playlist_dvr.m3u8
#EXTINF:-1 tvg-id="PNCDrama.eg",PNC Drama (1080p)
https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/pnc-drama/playlist.m3u8
#EXTINF:-1 tvg-id="RotanaCinemaEgypt.eg",Rotana Cinema Egypt (1080p)
https://rotana.hibridcdn.net/rotana/cinemamasr_net-7Y83PP5adWixDF93/playlist.m3u8
#EXTINF:-1 tvg-id="TeN.eg",TeN (720p) [Geo-blocked]
https://weyyak-live.akamaized.net/weyyak_ten_tv/index.m3u8
#EXTINF:-1 tvg-id="TheKingdomSat.eg",The Kingdom Sat (720p)
https://bcovlive-a.akamaihd.net/0e524e1838ed411dad0a674d18e07914/eu-central-1/6415808954001/playlist_dvr.m3u8
#EXTINF:-1 tvg-id="WatanTV.eg",Watan TV (1080p)
https://rp.tactivemedia.com/watantv_source/live/playlist.m3u8
#EXTINF:-1 tvg-id="RotanaCinemaEgypt.eg",Rotana Cinema Egypt (1080p)
https://rotana.hibridcdn.net/rotana/cinemamasr_net-7Y83PP5adWixDF93/playlist.m3u8
#EXTINF:-1 tvg-id="OnE.eg",On E (1080p)
https://bcovlive-a.akamaihd.net/3dc60bab470f4c9fbf00408ecb7c3d7a/eu-west-1/6057955906001/playlist_dvr.m3u8

View file

@ -48,16 +48,20 @@ https://streaming01.gestec-video.com/hls/artequatreAlacanti.m3u8
http://217.182.77.27/live/alcarriatv-livestream.m3u8
#EXTINF:-1 tvg-id="AlcarriaTV.es",Alcarria TV (576p) [Not 24/7]
https://cls.alcarria.tv/alcarriatv/livestream/playlist.m3u8
#EXTINF:-1 tvg-id="AMC.es",AMC (Spain) (720p)
#EXTINF:-1 tvg-id="AMC.us@Spain",AMC (Spain) (720p)
http://vegafibratv.com:8085/AMC/index.m3u8
#EXTINF:-1 tvg-id="Antena3.es",Antena 3 (720p)
http://185.189.225.150:85/Antena3HD/index.m3u8
#EXTINF:-1 tvg-id="Antena3.es",Antena 3 (480p)
http://181.78.109.48:8000/play/a00f/index.m3u8
#EXTINF:-1 tvg-id="AquiNoHayQuienViva.es",Aqui No Hay Quien Viva (720p)
https://fast-channels.atresmedia.com/648ef3951756b0e425af83cc/648ef3951756b0e425af83cc.m3u8
#EXTINF:-1 tvg-id="ArabiTV.es",Arabí TV (1080p)
https://streamtv2.elitecomunicacion.cloud:3956/live/arabitvlive.m3u8
#EXTINF:-1 tvg-id="AragonTV.es",Aragón TV (720p) [Not 24/7]
https://cartv.streaming.aranova.es/hls/live/aragontv_canal1.m3u8
#EXTINF:-1 tvg-id="Atreseries.es",Atreseries (480p)
http://181.78.109.48:8000/play/a00l/index.m3u8
#EXTINF:-1 tvg-id="AtresplayerClasicos.es",Atresplayer Clasicos (1080p)
https://fast-channels.atresmedia.com/648ef12c2bfab0e4507e0d61/648ef12c2bfab0e4507e0d61.m3u8
#EXTINF:-1 tvg-id="AtresplayerComedia.es",Atresplayer Comedia (1080p)
@ -66,7 +70,11 @@ https://fast-channels.atresmedia.com/648ef23d2bfab0e4557e0d61/648ef23d2bfab0e455
https://fast-channels.atresmedia.com/648ef3162bfab0e4587e0d61/648ef3162bfab0e4587e0d61.m3u8
#EXTINF:-1 tvg-id="AtresplayerMulticine.es",Atresplayer Multicine (1080p)
https://fast-channels.atresmedia.com/648ef18c1756b0e41daf83cc/648ef18c1756b0e41daf83cc.m3u8
#EXTINF:-1 tvg-id="BabyTV.es",BabyTV (Spain) (1080p)
#EXTINF:-1 tvg-id="AXN.es",AXN (1080p)
http://181.78.109.48:8000/play/a05u/index.m3u8
#EXTINF:-1 tvg-id="AXN.es",AXN (480p)
http://181.78.109.48:8000/play/a023/index.m3u8
#EXTINF:-1 tvg-id="BabyTV.uk@Spain",BabyTV (Spain) (1080p)
http://185.189.225.150:85/BabyTV/index.m3u8
#EXTINF:-1 tvg-id="BailenTV.es",Bailén TV (720p) [Not 24/7]
http://cpd.bailen.tv:8080/Playlist_CANAL_24H/playlist.m3u8
@ -391,6 +399,8 @@ https://shls-live-ak.akamaized.net/out/v1/b06a89a463764d3688cda337d40dc5bf/index
https://streaming013.gestec-video.com/hls/negociostv.m3u8
#EXTINF:-1 tvg-id="Neox.es",Neox (576p)
http://185.189.225.150:85/neox/index.m3u8
#EXTINF:-1 tvg-id="Nickelodeon.es",Nickelodeon (480p)
http://181.78.109.48:8000/play/a05a/index.m3u8
#EXTINF:-1 tvg-id="Nickelodeon.es",Nickelodeon (Spain) (576p)
http://185.189.225.150:85/nickelodeon/index.m3u8
#EXTINF:-1 tvg-id="NoroesteTV.es",Noroeste TV (1080p) [Not 24/7]
@ -581,7 +591,7 @@ https://liveingesta318.cdnmedia.tv/berguedatvlive/smil:migracion.smil/playlist.m
#EXTINF:-1 tvg-id="TVCostaBrava.es" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",TV Costa Brava (1080p)
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160
https://liveingesta318.cdnmedia.tv/costabravatvlive/smil:live.smil/playlist.m3u8
#EXTINF:-1 tvg-id="",Tv Famypanc HD (1080p)
#EXTINF:-1 tvg-id="FamypancTV.es@HD",Tv Famypanc HD (1080p)
https://panel.host-live.com:19360/8042/8042.m3u8
#EXTINF:-1 tvg-id="TVFerrol.es",TV Ferrol (576p)
https://directo.tvferrol.es/tv.m3u8
@ -679,13 +689,7 @@ https://janus.xpbroadcasting.com:8443/hls/xptvUS.m3u8
#EXTINF:-1 tvg-id="ZafraTV.es" http-referrer="https://player.streamingconnect.com/",Zafra TV (1080p)
#EXTVLCOPT:http-referrer=https://player.streamingconnect.com/
https://cloud.fastchannel.es/mic/manifiest/hls/radiotvzafra/radiotvzafra.m3u8
#EXTINF:-1 tvg-id="Atreseries.es",Atreseries (480p)
http://181.78.109.48:8000/play/a00l/index.m3u8
#EXTINF:-1 tvg-id="Antena3.es",Antena 3 (480p)
http://181.78.109.48:8000/play/a00f/index.m3u8
#EXTINF:-1 tvg-id="AXN.es",AXN (1080p)
http://181.78.109.48:8000/play/a05u/index.m3u8
#EXTINF:-1 tvg-id="AXN.es",AXN (480p)
http://181.78.109.48:8000/play/a023/index.m3u8
#EXTINF:-1 tvg-id="Nickelodeon.es",Nickelodeon (480p)
http://181.78.109.48:8000/play/a05a/index.m3u8
#EXTINF:-1 tvg-id="BomCine.es",Bom Cine (720p)
https://tsw.streamingwebtv24.it:1936/inteccdn3/inteccdn3/playlist.m3u8
#EXTINF:-1 tvg-id="Squirrel.es",Squirrel (1080p)
https://tsw.streamingwebtv24.it:1936/inteccdn1/inteccdn1/playlist.m3u8

View file

@ -1,43 +1,43 @@
#EXTM3U
#EXTINF:-1 tvg-id="BBCDrama.es",BBC Drama (720p)
#EXTINF:-1 tvg-id="BBCDrama.uk@Spain",BBC Drama (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/60dafb9a0df1ba000758d37b/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&serverSideAds=false&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="ComediaMadeinSpain.us",Comedia Made in Spain (720p) [Not 24/7]
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5f1abce155a03d0007718834/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5f1abce155a03d0007718834&deviceLat=41.1167&deviceLon=1.2500&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=ES&serverSideAds=false&sid=505&terminate=false&userId=
#EXTINF:-1 tvg-id="Anaylos7.es",Pluto TV Ana y los 7 (720p)
#EXTINF:-1 tvg-id="",Pluto TV Ana y los 7 (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1acce7f17797000718f9be/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&is_lat=1&platform=web&rdid=channel&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVAnimakids.es",Pluto TV Animakids (720p)
#EXTINF:-1 tvg-id="PlutoTVAnimakids.us@Spain",Pluto TV Animakids (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1aabee6f4a2c00076a322c/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&is_lat=1&platform=web&rdid=channel&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVAnimakids.es",Pluto TV Animakids (Spain) (720p)
#EXTINF:-1 tvg-id="",Pluto TV Animakids (Spain) (720p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5f1aabee6f4a2c00076a322c/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5f1aabee6f4a2c00076a322c&deviceLat=41.1167&deviceLon=1.2500&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=ES&serverSideAds=false&sid=905&terminate=false&userId=
#EXTINF:-1 tvg-id="PlutoTVAnimales.es",Pluto TV Animales (288p)
#EXTINF:-1 tvg-id="PlutoTVAnimales.us@Spain",Pluto TV Animales (288p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5dd834c66fe2ca0009303b8d/master.m3u8?advertisingId=&appName=web&appVersion=5.14.0-0f5ca04c21649b8c8aad4e56266a23b96d73b83a&app_name=web&clientDeviceType=0&clientID=6fbead95-26b1-415d-998f-1bdef62d10be&clientModelNumber=na&deviceDNT=false&deviceId=6fbead95-26b1-415d-998f-1bdef62d10be&deviceLat=19.4358&deviceLon=-99.1441&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=88.0.4324.150&marketingRegion=VE&serverSideAds=false&sessionID=b8e5a857-714a-11eb-b532-0242ac110002&sid=b8e5a857-714a-11eb-b532-0242ac110002&userId=
#EXTINF:-1 tvg-id="PlutoTVCineAccion.es",Pluto TV Cine Acción (720p)
#EXTINF:-1 tvg-id="PlutoTVCineAccion.us@Spain",Pluto TV Cine Acción (720p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5d8d164d92e97a5e107638d2/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5d8d164d92e97a5e107638d2&deviceLat=&deviceLon=&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=US&serverSideAds=false&sid=904&terminate=false&userId=
#EXTINF:-1 tvg-id="PlutoTVCineAccion.es",Pluto TV Cine Acción (720p)
#EXTINF:-1 tvg-id="PlutoTVCineAccion.us@Spain",Pluto TV Cine Acción (720p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5dcb62e63d4d8f0009f36881/master.m3u8?advertisingId=&appName=web&appVersion=5.14.0-0f5ca04c21649b8c8aad4e56266a23b96d73b83a&app_name=web&clientDeviceType=0&clientID=6fbead95-26b1-415d-998f-1bdef62d10be&clientModelNumber=na&deviceDNT=false&deviceId=6fbead95-26b1-415d-998f-1bdef62d10be&deviceLat=19.4358&deviceLon=-99.1441&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=88.0.4324.150&marketingRegion=VE&serverSideAds=false&sessionID=b8e5a857-714a-11eb-b532-0242ac110002&sid=b8e5a857-714a-11eb-b532-0242ac110002&userId=
#EXTINF:-1 tvg-id="PlutoTVCineAccion.es",Pluto TV Cine Acción (720p)
#EXTINF:-1 tvg-id="PlutoTVCineAccion.us@Spain",Pluto TV Cine Acción (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1ac2591dd8880007bb7d6d/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&is_lat=1&platform=web&rdid=channel&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVCineAccion.es",Pluto TV Cine Acción (240p)
#EXTINF:-1 tvg-id="PlutoTVCineAccion.us@Spain",Pluto TV Cine Acción (240p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5d8d164d92e97a5e107638d2/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVCineClasico.es",Pluto TV Cine Clásico (720p)
#EXTINF:-1 tvg-id="PlutoTVCineClasico.us@Spain",Pluto TV Cine Clásico (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/61373bb45168fe000773eecd/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&is_lat=1&platform=web&rdid=channel&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVCineEstelar.es",Pluto TV Cine Estelar (720p)
#EXTINF:-1 tvg-id="PlutoTVCineEstelar.us@Spain",Pluto TV Cine Estelar (720p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5dcde437229eff00091b6c30/master.m3u8?advertisingId=&appName=web&appVersion=5.14.0-0f5ca04c21649b8c8aad4e56266a23b96d73b83a&app_name=web&clientDeviceType=0&clientID=6fbead95-26b1-415d-998f-1bdef62d10be&clientModelNumber=na&deviceDNT=false&deviceId=6fbead95-26b1-415d-998f-1bdef62d10be&deviceLat=19.4358&deviceLon=-99.1441&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=88.0.4324.150&marketingRegion=VE&serverSideAds=false&sessionID=b8e5a857-714a-11eb-b532-0242ac110002&sid=b8e5a857-714a-11eb-b532-0242ac110002&userId=
#EXTINF:-1 tvg-id="PlutoTVCineEstelar.es",Pluto TV Cine Estelar (720p)
#EXTINF:-1 tvg-id="PlutoTVCineEstelar.us@Spain",Pluto TV Cine Estelar (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5cf968040ab7d8f181e6a68b/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVCineEstelar.es",Pluto TV Cine Estelar (720p)
#EXTINF:-1 tvg-id="PlutoTVCineEstelar.us@Spain",Pluto TV Cine Estelar (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1ac1f1b66c76000790ef27/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&is_lat=1&platform=web&rdid=channel&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVCineEstelar.es",Pluto TV Cine Estelar (684p)
#EXTINF:-1 tvg-id="PlutoTVCineEstelar.us@Spain",Pluto TV Cine Estelar (684p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5cf968040ab7d8f181e6a68b/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5cf968040ab7d8f181e6a68b&deviceLat=&deviceLon=&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=US&serverSideAds=false&sid=901&terminate=false&userId=
#EXTINF:-1 tvg-id="PlutoTVCocina.es",Pluto TV Cocina (720p)
#EXTINF:-1 tvg-id="PlutoTVCocina.us@Spain",Pluto TV Cocina (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5d8d0fbaa8742fa3093899da/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVCocina.es",Pluto TV Cocina (720p)
#EXTINF:-1 tvg-id="PlutoTVCocina.us@Spain",Pluto TV Cocina (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1acdaa8ba90f0007d5e760/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&is_lat=1&platform=web&rdid=channel&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVCocina.es",Pluto TV Cocina (720p) [Not 24/7]
#EXTINF:-1 tvg-id="PlutoTVCocina.us@Spain",Pluto TV Cocina (720p) [Not 24/7]
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5dcde0657444a40009cd2422/master.m3u8?advertisingId=&appName=web&appVersion=5.14.0-0f5ca04c21649b8c8aad4e56266a23b96d73b83a&app_name=web&clientDeviceType=0&clientID=6fbead95-26b1-415d-998f-1bdef62d10be&clientModelNumber=na&deviceDNT=false&deviceId=6fbead95-26b1-415d-998f-1bdef62d10be&deviceLat=19.4358&deviceLon=-99.1441&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=88.0.4324.150&marketingRegion=VE&serverSideAds=false&sessionID=b8e5a857-714a-11eb-b532-0242ac110002&sid=b8e5a857-714a-11eb-b532-0242ac110002&userId=
#EXTINF:-1 tvg-id="PlutoTVCocina.es",Pluto TV Cocina (240p)
#EXTINF:-1 tvg-id="PlutoTVCocina.us@Spain",Pluto TV Cocina (240p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5d8d0fbaa8742fa3093899da/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5d8d0fbaa8742fa3093899da&deviceLat=&deviceLon=&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=US&serverSideAds=false&sid=956&terminate=false&userId=
#EXTINF:-1 tvg-id="PlutoTVCocina.es",Pluto TV Cocina (Spain) (720p)
#EXTINF:-1 tvg-id="PlutoTVCocina.us@Spain",Pluto TV Cocina (Spain) (720p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5f1acdaa8ba90f0007d5e760/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5f1acdaa8ba90f0007d5e760&deviceLat=41.1167&deviceLon=1.2500&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=ES&serverSideAds=false&sid=700&terminate=false&userId=
#EXTINF:-1 tvg-id="",Pluto TV Comedia (Made in Spain) (720p) [Not 24/7]
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1abce155a03d0007718834/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&is_lat=1&platform=web&rdid=channel&tags=ROKU_CONTENT_TAGS
@ -45,43 +45,43 @@ https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1abce15
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5e94cd036cc69d0007e8a1ba/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5e94cd036cc69d0007e8a1ba&deviceLat=&deviceLon=&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=US&serverSideAds=false&sid=933&terminate=false&userId=
#EXTINF:-1 tvg-id="ForensicFiles.us",Pluto TV Forensic Files en ESP (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5e94cd036cc69d0007e8a1ba/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVKids.es",Pluto TV Kids (720p)
#EXTINF:-1 tvg-id="PlutoTVKids.us@Spain",Pluto TV Kids (720p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5ad9b648e738977e2c312131/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=1&deviceId=5ad9b648e738977e2c312131&deviceLat=&deviceLon=&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=DE&serverSideAds=false&sid=30292edb-0714-11eb-97af-0242ac110002&terminate=false&userId=
#EXTINF:-1 tvg-id="PlutoTVKids.es",Pluto TV Kids (720p)
#EXTINF:-1 tvg-id="PlutoTVKids.us@Spain",Pluto TV Kids (720p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/51c75f7bb6f26ba1cd00002f/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=51c75f7bb6f26ba1cd00002f&deviceLat=&deviceLon=&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=US&serverSideAds=false&sid=989&terminate=false&userId=
#EXTINF:-1 tvg-id="PlutoTVKids.es",Pluto TV Kids (720p)
#EXTINF:-1 tvg-id="PlutoTVKids.us@Spain",Pluto TV Kids (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5ad8d54be738977e2c310940/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVKids.es",Pluto TV Kids (720p)
#EXTINF:-1 tvg-id="PlutoTVKids.us@Spain",Pluto TV Kids (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5ad9b648e738977e2c312131/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVKids.es",Pluto TV Kids (720p)
#EXTINF:-1 tvg-id="PlutoTVKids.us@Spain",Pluto TV Kids (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1aab1d29b39600073e243f/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&is_lat=1&platform=web&rdid=channel&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVKids.es",Pluto TV Kids (720p)
#EXTINF:-1 tvg-id="PlutoTVKids.us@Spain",Pluto TV Kids (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/51c75f7bb6f26ba1cd00002f/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVKids.es",Pluto TV Kids (720p) [Not 24/7]
#EXTINF:-1 tvg-id="PlutoTVKids.us@Spain",Pluto TV Kids (720p) [Not 24/7]
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5dd6dae8ce788b0009eaf77b/master.m3u8?advertisingId=&appName=web&appVersion=5.14.0-0f5ca04c21649b8c8aad4e56266a23b96d73b83a&app_name=web&clientDeviceType=0&clientID=6fbead95-26b1-415d-998f-1bdef62d10be&clientModelNumber=na&deviceDNT=false&deviceId=6fbead95-26b1-415d-998f-1bdef62d10be&deviceLat=19.4358&deviceLon=-99.1441&deviceMake=Chrome&deviceModel=web&deviceType=web&deviceVersion=88.0.4324.150&marketingRegion=VE&serverSideAds=false&sessionID=b8e5a857-714a-11eb-b532-0242ac110002&sid=b8e5a857-714a-11eb-b532-0242ac110002&userId=
#EXTINF:-1 tvg-id="PlutoTVKids.es",Pluto TV Kids (720p) [Not 24/7]
#EXTINF:-1 tvg-id="PlutoTVKids.us@Spain",Pluto TV Kids (720p) [Not 24/7]
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1214a637c6fd00079c652f/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVKids.es",Pluto TV Kids (Spain) (720p)
#EXTINF:-1 tvg-id="PlutoTVKids.us@Spain",Pluto TV Kids (Spain) (720p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5f1aab1d29b39600073e243f/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5f1aab1d29b39600073e243f&deviceLat=41.1167&deviceLon=1.2500&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=ES&serverSideAds=false&sid=910&terminate=false&userId=
#EXTINF:-1 tvg-id="MTVCatfishTVShow.es",Pluto TV MTV Catfish (Spain) (720p) [Not 24/7]
#EXTINF:-1 tvg-id="",Pluto TV MTV Catfish (Spain) (720p) [Not 24/7]
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5f1ab3c7778230000735cf41/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5f1ab3c7778230000735cf41&deviceLat=41.1167&deviceLon=1.2500&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=ES&serverSideAds=false&sid=305&terminate=false&userId=
#EXTINF:-1 tvg-id="PlutoTVMTVMusicMadeinSpain.us",Pluto TV MTV Music Made in Spain (720p) [Not 24/7]
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/60a26a056d55b30007918d5a/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&is_lat=1&platform=web&rdid=channel&serverSideAds=false&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="MTVOriginals.es",Pluto TV MTV Originals (Spain) (480p)
#EXTINF:-1 tvg-id="",Pluto TV MTV Originals (Spain) (480p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5f1aadf373bed3000794d1d7/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5f1aadf373bed3000794d1d7&deviceLat=41.1167&deviceLon=1.2500&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=ES&serverSideAds=false&sid=300&terminate=false&userId=
#EXTINF:-1 tvg-id="PlutoTVRealitiesESP.us",Pluto TV Realities ESP (720p) [Not 24/7]
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5d93b4d71754e6a4298d086e/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5d93b4d71754e6a4298d086e&deviceLat=&deviceLon=&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=US&serverSideAds=false&sid=953&terminate=false&userId=
#EXTINF:-1 tvg-id="PlutoTVRealitiesESP.us",Pluto TV Realities ESP (720p) [Not 24/7]
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5d93b4d71754e6a4298d086e/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVTeenStars.es",Pluto TV Teen Stars (720p)
#EXTINF:-1 tvg-id="PlutoTVTeenStars.us@Spain",Pluto TV Teen Stars (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/60016a60a8e3520008e0d331/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&is_lat=1&platform=web&rdid=channel&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVTelenovelas.es",Pluto TV Telenovelas (720p)
#EXTINF:-1 tvg-id="PlutoTVTelenovelas.us@Spain",Pluto TV Telenovelas (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/60b4c06717da110007ee1af6/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&serverSideAds=false&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVTheWalkingDeadESP.us",Pluto TV The Walking Dead ESP (720p)
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5e82bb378601b80007b4bd78/master.m3u8?advertisingId=&appName=web&appStoreUrl=&appVersion=DNT&app_name=&architecture=&buildVersion=&deviceDNT=0&deviceId=5e82bb378601b80007b4bd78&deviceLat=&deviceLon=&deviceMake=web&deviceModel=web&deviceType=web&deviceVersion=DNT&includeExtendedEvents=false&marketingRegion=US&serverSideAds=false&sid=925&terminate=false&userId=
#EXTINF:-1 tvg-id="PlutoTVTheWalkingDeadESP.us",Pluto TV The Walking Dead ESP (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5e82bb378601b80007b4bd78/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="PlutoTVToonsClasico.es",Pluto TV Toons Clásico (720p)
#EXTINF:-1 tvg-id="PlutoTVToonsClasico.us@Spain",Pluto TV Toons Clásico (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/609e7e423e9173000706a681/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&studio_id=viacom&tags=ROKU_CONTENT_TAGS
#EXTINF:-1 tvg-id="TopGear.uk",Top Gear (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/60d356a534f63f000850cdd7/master.m3u8?advertisingId=channel&appName=rokuchannel&appVersion=1.0&bmodel=bm1&channel_id=channel&content=channel&content_rating=ROKU_ADS_CONTENT_RATING&content_type=livefeed&coppa=false&deviceDNT=1&deviceId=channel&deviceMake=rokuChannel&deviceModel=web&deviceType=rokuChannel&deviceVersion=1.0&embedPartner=rokuChannel&genre=ROKU_ADS_CONTENT_GENRE&is_lat=1&platform=web&rdid=channel&serverSideAds=false&studio_id=viacom&tags=ROKU_CONTENT_TAGS

View file

@ -1,7 +1,7 @@
#EXTM3U
#EXTINF:-1 tvg-id="BloombergQuicktake.us",Bloomberg Quicktake (1080p)
https://bloomberg-quicktake-2-eu.rakuten.wurl.tv/playlist.m3u8
#EXTINF:-1 tvg-id="ClubbingTV.fr",Clubbing TV (720p)
#EXTINF:-1 tvg-id="ClubbingTV.us@Spain",Clubbing TV (720p)
https://clubbingtv-rakuten.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="LoneStar.us",Lone Star (1080p)
https://lonestar-rakuten.amagi.tv/playlist.m3u8

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