100% Free Self-Hosted IPTV Management

by spencerthayer

UPDATE: I didn't anticipate certain use cases. Some users are having problems installing ezIPTV into subdirectories. I tried to fix this for v0.3 but as of right now it's not fixed. The reason is that the router used for the application doesn't work well for this use case. What I need to do is figure out how to get this to work with the path.

Some options are autodetecting the URL and writing it to the settings.json. Others are to automatically determine the URL and put it in dynamically. Either way, it's a pain and I didn't get it done. I'm still working on it but could use the help from any contributors who want to get this working on subdirectories.

I posted a few weeks ago about an RSS to M3U VOD script I wrote and I mentioned it would later be included as a part of a free self-hosted IPTV M3U manager I was working on… Well, here it is, finally, I give you ezIPTV .

This is version 0.3. So consider this an alpha but with that said it is fully functional and in theory would never need an update. However, I am sure users will find bugs and I intend to add other features and improve the user experience.

Why did I do it? Cause I freakin' hated using Xtream Editor and IPTV EPG . They’re terrible services, cost way more then they are worth, and editing is a nightmare.

Editing a huge M3U list shouldn’t be done the way they are doing it. The average user doesn’t want to edit each channel like an individual entry. By converting the M3U into a spreadsheet it makes managing channels so much easier than the mess they are offering. With ezIPTV, we can use the power of any spreadsheet software we like such as Google Sheets, Microsoft Excel, Libre Office Calc, and Apache Calc. Do complex extended find and replace, sorting, column changes, and a whole lot of other things in seconds rather than hours!

Not to mention if you use Google Sheets or the online Excel you can edit your M3U CSV on your phone in real time. If a channel stops working just turn it off from your phone!

So that’s what I built for myself about two years ago. And I have worked out the bugs for that so I think most of you will really like this.

It’s simple to use. Convert some M3U files to a CSV file with ezIPTV, put that CSV into Google Sheets, edit it, put the published URL into ezIPTV, and boom you have customized your M3U! And since hosting this is free on Heroku no one has to pay a cent to anyone!

Anyway, give me feedback. In this post is fine but if you're actually using this and come across problems I would prefer any errors be reported within GitHub so I can manage things easier.

ezIPTV v0.3

ezIPTV is a simple and free personal IPTV manager.

Services like Xtream Editor and IPTV EPG are clunky, expensive, and for the most part, suck. Editing large IPTV lists on these services is so annoying and slow making that it makes the fact that it costs money feel like a rip-off. While these services do offer a convenient and reliable solution for EPG a smart IPTV user should be able to find EPG data for free.

ezIPTV was created to be a DIY solution for IPTV enthusiasts. Instead of managing your M3U on a clunky website's database ezIPTV converts M3U files into CSV so that they can be manipulated easily with any spreadsheet software such as Google Sheets , Microsoft Excel , Libre Office Calc , and Apache Calc .

Oh, also it's all free. ezIPTV was created with the intention of using the free Heroku self-hosted services. And if you came here from Reddit thanks!

How to install on Heroku

Deploy

With Heroku, anyone can build their own ezIPTV for free in just a few minutes!

THAT'S IT!

How to install on a server

Note: ezIPTV cannot be run within a domain subdirectory as of right now!

Even on hosted servers ezIPTV installation is extremely easy.

  • Either clone the repository git clone https://github.com/spencerthayer/ezIPTV ezIPTV or download the zip .
  • Clone or extract ezIPTV into the root directory of your site.
  • Ensure ezIPTV has read/write permissions for all directories.
  • Open your new app and follow the instructions.
  • Ensure that the setup correctly created the .htaccess mod rewrite capabilities.

THAT'S IT!

How to use

Using ezIPTV isn't actually super easy, but it's not hard once you figure it out.

Format your M3U

  • Create a new link and copy and paste the links to the IPTV services into the field for the M3U links to be converted into a CSV file. You combine multiple M3Us.
  • Save your new link.
  • Click the CSV button to download the CSV file.
  • Now import that CSV file into your favorite Spreadsheet software.

To see an example CSV file download this sample .

Format your CSV file

ezIPTV converts the M3U scheme into the following table column names: ACTIVE , ERROR , REGION , CODE , CATEGORY , GROUP , TAG , ID , NAME , EPGID , LOGOURL , URL , EPGURL , PROVIDER , NOTES

  • ACTIVE : If the field is YES the channel will show in the M3U. Anything other than YES will not be published.
  • ERROR : If a channel has an error put the error code for the channel in this field. (This doesn't do anything at the moment but will in a later version.)
  • REGION : This is the region for the channel, typically it looks like USA or CANADA .
  • CODE : This is the country code for the channel, typically it looks like US or CA .
  • CATEGORY : This is the category for the channel, this is something like LOCAL or KIDS .
  • GROUP : This is used to supersede REGION and CATEGORY to group channels together, this can be something like NEWS.
  • TAG : This is a special note used to organize channels in regions, categories, and groups. This can most likely be used to make favorites with a special character like .
  • ID : This is the original ID of the channel from the M3U file unaltered. This should be left alone.
  • NAME : This can be used to change the names of channels.
  • EPGID : This is the EPG or TVG code ID for the channel. Use this to make sure you're getting accurate EPG data from your EPG XML.
  • LOGOURL : This is the URL to the channel logo.
  • URL : This is the streaming URL for the channel. This should be left alone.
  • PROVIDER : This an extra field to help organize the provider of the channel. (This doesn't do anything at the moment but will in a later version.)
  • NOTES : This is an extra field used for notes. It's good to keep notes and stay organized.

Publish your CSV file

As of this version, ezIPTV does not allow you to upload a CSV file. Until this changes, it is recommended publishing the CSV file to the web using Google Sheets to CSV .

Getting your new M3U file

  • Publish the Google Sheets CSV URL into the field for a link to the CSV used to generate the M3U.
  • Save your link.
  • Click the M3U button to get a link to your new M3U file.
  • Now import that CSV file into your favorite Spreadsheet software.

ToDo

If you can help me work out these issues or donate to support my development I would appreciate it.

  • [ ] Allow the application to run within a domain subdirectory.
  • [ ] CSV and M3U file management (Upload / Delete).
  • [ ] Backup site data (Import / Export).
  • [ ] One click code upgrades.
  • [ ] M3U list filtering.
  • [ ] EPG XML combination and compression.
  • [ ] YouTube URL to RSS conversion.
  • [ ] User management?

Dependencies

In a later version, this list of dependencies will automagically download to remain up to date. Right now, don't worry about it. It works.

brandeded

Awesome! Thank you! Any chance you can put together a doc on how to employ on heroku?

spencerthayer

NOTE SOME OF YOU MIGHT HAVE THE SAME PROBLEM I HAVE CONVERTING M3U's TO CSV!

You might have an IPTV provider as I do. Some IPTV providers will not allow my application to grab their M3U file. My host is U-Host and they refused to help me out. So what I have to do is upload my M3U file to a separate service, like a private PasteBin. I am going to include an option to upload files in the next update. Cause yah, this is annoying.

SirCEWaffles

This is so awesome. Thanks. Pretty much just ruined my sunday. ;-)

normy62

My dumb newbie question. How can I use this on a normal Windows 10 laptop Thanks

stokedcrf

You're a beast! Why didn't I think of this earlier!

Thank you for sharing!

troyortroy

Love it my man. Thanks a bunch

henbone11

This looks good, but I do have a question. Does the EPG XMLTV go in the RSS section to create the CSV?

Also, when editing the CSV, is there an easy way to enter "YES" in the ACTIVE column for the whole sheet? I was able to easily remove the unwanted rows, but now i'm faced with several thousand wanted rows (lots of 24/7 channels). Manually putting the word YES next to each line is going to suuuuck. lol

Lastly, the finished M3U product, is there a way to get the url to that or is downloading it the only way to get it? If there is no way to get the url, maybe a choice when clicking the M3U button for the url or download would be nice to have. Or am I misunderstanding Heroku? Maybe it doesn't host the actual file for url retrieval. I suppose I could upload it to Google Drive and host it that way? I'll have to play around with it.

ritchghr9

It might be a stupid question, but when I installed on my server (cloning your git, then sudo chmod -R a+rwx /var/www/html/ezIPTV)... I go to the site and all I get is a 404, with the URL as domain/set up

What I'm doing wrong?

Thanks

narasus

First - Thanks for making it Open Source !

Fairly a noob in this. I am getting an error while Deploying in Heroku.

No app.json located in the repo URL provided.
Make sure that an app.json file exists in the project root directory.
silvamari101

After I deployed to heroku and upload my file edit it and then put to google sheets and put the sharing url in, when I clicked on m3u I didn’t get anything usable.

silvamari101

Another thing, what happens when the provider update their playlist?

SirCEWaffles

OK, I am lost at the moment. I figured out the part for publishing the document in google sheets, but I am not seeing any type of m3u button when creating a new URL through ( herokuapp.com ). Am I missing a step?

I am using Chrome browser.