Skip to content
/ epg Public template
forked from iptv-org/epg

Utilities for downloading the EPG (Electronic Program Guide) for thousands of TV channels from hundreds of sources.

License

Notifications You must be signed in to change notification settings

mesuturuk7/epg

 
 

Repository files navigation

EPG

Utilities for downloading the EPG (Electronic Program Guide) for thousands of TV channels from hundreds of sources.

IMPORTANT: We are no longer able to provide pre-made guides due to the disabling of GitHub Actions (Read more: https://github.com/orgs/iptv-org/discussions/12#discussioncomment-5219050). This repository now contains only utilities and configurations for downloading guides yourself.

Table of contents

How to use?

To download the guide from one of the supported sites you must have Node.js installed on your computer first.

You will also need to install Git to follow these instructions.

After installing them, you need to open the Console (or Terminal if you have macOS) and type the following command:

git clone --depth 1 -b master https://github.com/iptv-org/epg.git

Then also through the Console navigate to the just downloaded epg folder:

cd epg

And install all the necessary dependencies:

npm install

Now choose one of the sources (their complete list can be found in the /sites folder) and start downloading the guide using the command:

npm run grab -- --site=example.com

To download a guide in a specific language pass its ISO 639-1 code to the --lang argument:

npm run grab -- --site=example.com --lang=fr

To override the number of days for which the program will be loaded use the --days argument (the default is the value specified in the site config):

npm run grab -- --site=example.com --days=3

To also create a compressed version of the guide, add the --gzip flag:

npm run grab -- --site=example.com --gzip

After the download is completed in the current directory will appear a new folder guides, which will store all XML files:

guides
└── fr
    └── example.com.xml
    └── example.com.xml.gz

If you want to download the guide automatically on a schedule, you need to pass a valid cron expression to the script using the --cron attribute:

npm run grab -- --site=example.com --cron="0 0 * * *"

Also you can make these guides available via URL by running your own server:

npm run serve

After that all the downloaded guides will be available at a link like this:

http://localhost:3000/guides/fr/example.com.xml

In addition, they will be available on your local network at:

http://<your_local_ip_address>:3000/guides/fr/example.com.xml

Playlists

Playlists with already linked guides can be found in the iptv-org/iptv repository.

Database

All channel data is taken from the iptv-org/database repository. If you find any errors please open a new issue there.

API

The API documentation can be found in the iptv-org/api repository.

Resources

Links to other useful IPTV-related resources can be found in the iptv-org/awesome-iptv repository.

Discussions

If you have a question or an idea, you can post it in the Discussions tab.

Contribution

Please make sure to read the Contributing Guide before sending issue or a pull request.

And thank you to everyone who has already contributed!

Backers

Contributors

License

CC0

About

Utilities for downloading the EPG (Electronic Program Guide) for thousands of TV channels from hundreds of sources.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages

  • HTML 95.5%
  • JavaScript 4.5%