Compare commits

...

4 Commits

Author SHA1 Message Date
Natalia Arroyave 67cfd58617
Merge cbe79bfd87 into a1dafe025a 2026-08-15 08:42:47 +02:00
KAMI a1dafe025a
Add Aguacate TV and AS3 Sport TV to Venezuela list (#1125)
Latina TV is already listed; inter TV was already added previously.
Assigned chno 12/13 to avoid colliding with the existing chno=1
(Venevisión), and normalized the AS3 Sport TV EPG id to drop the
embedded space for consistency with other entries.

Co-authored-by: KAMI <miholmikor@gmail.com>
2026-08-14 12:26:04 +02:00
KAMI 5176eb2db8
Security: sanitize channel attributes to prevent M3U8 attribute injection (#1124)
group, name, logo and epg values are embedded unescaped into quoted
#EXTINF attributes (tvg-name, tvg-logo, tvg-id, group-title). A value
containing a double quote can break out of its attribute and inject
arbitrary extra attributes/content into the generated playlist.

Strip embedded double quotes from these fields at parse time.

Co-authored-by: KAMI <miholmikor@gmail.com>
2026-08-14 12:13:49 +02:00
Natalia Arroyave cbe79bfd87 Updated README file for clarity. 2024-09-25 14:27:42 -04:00
5 changed files with 75 additions and 16 deletions

View File

@ -1,7 +1,19 @@
Free TV
=======
IPTV Playlist Project
======
This is an M3U playlist for free TV channels around the World.
Welcome to the IPTV project! This repository offers a curated collection of free TV playlists for IPTV players, providing access to various channels from around the world.
Table of Contents
======
1. Introduction
2. Philosophy
3. Installation & Usage
4. Feed Sources
5. Format
7. Contributing
8. Pull Requests
9. License
Either free locally (over the air):
@ -97,6 +109,10 @@ Or free on the Internet:
To use it point your IPTV player to https://raw.githubusercontent.com/Free-TV/IPTV/master/playlist.m3u8.
Introduction
======
This project provides a collection of free IPTV playlists, allowing users to stream live TV channels thorugh compatible IPTV players. The playlists are community-driven, regularly updated, and intended for users looking for a wide range of channels.Channels are free-to-air or sourced from free online platforms, ensuring that users only access legal content.
Philosophy
==========
@ -126,19 +142,38 @@ This is a playlist for everybody.
- No channels dedicated to any particular political party
- No channels made for a country and funded by a different country
Installation and Usage
======
**To use playlists**
1. Download or clone this repository
2. Use any IPTV player (e.g. VLC, Kodi, IPTV Smarters) to load the '.m3u' file or copy the URL into your player.
**Reccomended Players:**
- VLC Media Player
- Kodi
- IPTV Smarters
**How to Use:**
1. Open your IPTV player.
Import the playlist file or URL.
Start streaming live TV channels!
Feed sources
============
It can be quite hard to find up to date URLs, here's a list of sources:
Finding up-to-date URLs can be difficult. Here are some useful sources:
- https://github.com/iptv-org/iptv/tree/master/streams
- Youtube: As long as the channel is live and its URL doesn't change (check the age of the stream, the number of viewers..)
- Dailymotion: Same criteria as for youtube
- Live streams from platforms like YouTube and Dailymotion, ensuring the stream is active and stable.
Format
======
The m3u8 playlist is generated by `make_playlist.py`, using the `.md` files located in `lists`.
The m3u8 playlist is generated by `make_playlist.py`, using the `.md` files in the `lists` directory.
Each .md file represesnts a group. The `<h1>` line is used as the group title.
@ -155,7 +190,16 @@ Issues
Only create issues for bugs and feature requests.
Do not create issues to add/edit or to remove channels. If you want to add/edit/remove channels, create a pull request directly.
Do not create issues for adding, editing, or removing channels. For these, please submit a pull request.
Contributing
======
**Contributions are welcome! To contribute:**
1. Fork the repository.
2. Create a new branch for your changes.
3. Submit a pull request with your updates.
Pull Requests
=============
@ -177,10 +221,15 @@ To add a new channel, make a Pull Request.
**Removing a Channel**
To remove a channel, make a Pull Request.
- To remove a channel, make a Pull Request.
In your Pull Request you need to provide information to show that the channel is only available via a private paid subscription.
- In your Pull Request you need to provide information to show that the channel is only available via a private paid subscription.
Note: Public taxes (whether national or regional, whether called TV License or not) do not constitute a private paid subscription.
- Note: Public taxes (whether national or regional, whether called TV License or not) do not constitute a private paid subscription.
If a stream is broken, simply move the channel to the invalid category and replace `[>]` with `[x]` in the url column.
- If a stream is broken, simply move the channel to the invalid category and replace `[>]` with `[x]` in the url column.
License
======
This project currently does not have a license. Please clarify the licensing terms before using or contributing.

View File

@ -14,3 +14,5 @@ https://en.wikipedia.org/wiki/List_of_television_networks_in_Venezuela
| 9 | Chivacoatv Internacional | [x](https://glb.bozztv.com/glb/ssh101/1234chivacoa/index.m3u8) | <img height="20" src="https://i.imgur.com/9rbwZFY.png"/> | Chivacoatv.ve |
| 10 | Latina TV | [>](https://streamtv.latinamedios.com:3413/live/latinatvlive.m3u8) | <img height="20" src="https://intervenhosting.net/imagenes/latinatv.jpg"> | LatinaTV.ve |
| 11 | inter TV | [>](https://streamtv.intervenhosting.net:3439/hybrid/play.m3u8) | <img height="20" src="https://intervenhosting.net/imagenes/itv.jpg"> | interTV.ve |
| 12 | Aguacate TV | [>](https://streamtv.intervenhosting.net:3040/hybrid/play.m3u8) | <img height="20" src="https://intervenhosting.net/imagenes/aguacatetv.jpg"> | AguacateTV.ve |
| 13 | AS3 Sport TV | [>](https://streamtv.as3sport.online:3394/hybrid/play.m3u8) | <img height="20" src="https://intervenhosting.net/imagenes/as3sporttv.jpg"> | AS3SportTV.ve |

View File

@ -96,21 +96,21 @@ class Channel: # pylint: disable=too-few-public-methods,too-many-instance-attri
"""A single channel entry parsed from a markdown list line."""
def __init__(self, group, md_line, country_code=""):
self.group = group
self.group = group.replace('"', '')
self.country_code = country_code
md_line = md_line.strip()
parts = md_line.split("|")
self.number = parts[1].strip()
self.name = parts[2].strip()
self.name = parts[2].strip().replace('"', '')
self.url = parts[3].strip()
self.url = self.url[self.url.find("(")+1:self.url.rfind(")")]
self.logo = parts[4].strip()
self.logo = self.logo[self.logo.find('src="')+5:self.logo.rfind('"')]
self.logo = self.logo[self.logo.find('src="')+5:self.logo.rfind('"')].replace('"', '')
self.chno = self.number if self.number and self.number != "0" else None
if len(parts) > 6:
self.epg = parts[5].strip()
self.epg = parts[5].strip().replace('"', '')
else:
self.epg = None

View File

@ -3387,6 +3387,10 @@ https://raw.githubusercontent.com/BellezaEmporium/IPTV_Exception/master/channels
https://streamtv.latinamedios.com:3413/live/latinatvlive.m3u8
#EXTINF:-1 tvg-name="inter TV" tvg-logo="https://intervenhosting.net/imagenes/itv.jpg" tvg-id="interTV.ve" tvg-chno="11" tvg-country="VE" group-title="Venezuela",inter TV
https://streamtv.intervenhosting.net:3439/hybrid/play.m3u8
#EXTINF:-1 tvg-name="Aguacate TV" tvg-logo="https://intervenhosting.net/imagenes/aguacatetv.jpg" tvg-id="AguacateTV.ve" tvg-chno="12" tvg-country="VE" group-title="Venezuela",Aguacate TV
https://streamtv.intervenhosting.net:3040/hybrid/play.m3u8
#EXTINF:-1 tvg-name="AS3 Sport TV" tvg-logo="https://intervenhosting.net/imagenes/as3sporttv.jpg" tvg-id="AS3SportTV.ve" tvg-chno="13" tvg-country="VE" group-title="Venezuela",AS3 Sport TV
https://streamtv.as3sport.online:3394/hybrid/play.m3u8
#EXTINF:-1 tvg-name="Al Jazeera Documentary Ⓖ" tvg-logo="https://upload.wikimedia.org/wikipedia/en/e/e6/Al_Jazeera_Doc.png" tvg-id="AlJazeeraDocumentary.qa" group-title="Documentaries (AR)",Al Jazeera Documentary Ⓖ
https://live-hls-web-ajd.getaj.net/AJD/index.m3u8
#EXTINF:-1 tvg-name="CGTN Documentary English Ⓢ" tvg-logo="https://i.imgur.com/JHv0WxM.png" tvg-id="CGTNDocumentary.cn" group-title="Documentaries (EN)",CGTN Documentary English Ⓢ

View File

@ -15,3 +15,7 @@ https://raw.githubusercontent.com/BellezaEmporium/IPTV_Exception/master/channels
https://streamtv.latinamedios.com:3413/live/latinatvlive.m3u8
#EXTINF:-1 tvg-name="inter TV" tvg-logo="https://intervenhosting.net/imagenes/itv.jpg" tvg-id="interTV.ve" tvg-chno="11" tvg-country="VE" group-title="Venezuela",inter TV
https://streamtv.intervenhosting.net:3439/hybrid/play.m3u8
#EXTINF:-1 tvg-name="Aguacate TV" tvg-logo="https://intervenhosting.net/imagenes/aguacatetv.jpg" tvg-id="AguacateTV.ve" tvg-chno="12" tvg-country="VE" group-title="Venezuela",Aguacate TV
https://streamtv.intervenhosting.net:3040/hybrid/play.m3u8
#EXTINF:-1 tvg-name="AS3 Sport TV" tvg-logo="https://intervenhosting.net/imagenes/as3sporttv.jpg" tvg-id="AS3SportTV.ve" tvg-chno="13" tvg-country="VE" group-title="Venezuela",AS3 Sport TV
https://streamtv.as3sport.online:3394/hybrid/play.m3u8