e2m3u2bouquet 0.7.1


Script changes

  • Make sure comments are xml safe
  • Extract username and password from m3u url if they are not passed in
  • Set services to stream type ‘1’ in epg config so that the epg can be imported if
    serviceapp is overriding stream type ‘4097’ to exteplayer3
  • Minor fixes & tidy
  • Option for custom stream type for TV and VOD
  • Allow https & rtmp services
  • Unicode fixes
  • Url encoding fixes

Plugin changes

  • Multi custom provider support
  • File based setup (values can be edited in an xml file instead
    of entered using the remote)
  • Provider managed update system
  • Fixed time schedule type
  • Option for custom stream type for TV and VOD

Full details on the plugin page

Latest releases here

Community guides here

e2m3u2bouquet 0.7


Updated release today of the script only. This update adds the following functionality to the script

  • Config file based settings
  • Support for multiple providers

If you are a plugin user on 0.6.3 with a single IPTV provider there is no need to upgrade to script version 0.7 (Plugin v0.7 is in the pipe line).

However as probably the largest out standing feature on our list I thought it worth releasing the script alone for those that don’t mind the commandline.

So script release is available here;


Install Guide

Download and extract the e2m3u2bouquet.py file.

FTP it to /etc/enigma2/e2m3u2bouquet on your enigma2 box.

SSH into your enigma box, then;

cd /etc/enigma2/e2m3u2bouquet
chmod 755 e2m3u2bouquet.py

The script on first run will create a config.xml in /etc/enigma2/e2m3u2bouquet and tell you to fill it in.

Edit the config.xml and populate provider details and settings for as many providers as your require, the XML is commented so should be pretty straight forward.

NB: You need to change the supplier name field for the script to know you have updated the file.

nano config.xml
vi config.xml

Or use FTP to transfer the file for editing and replace it.

Then run the script again.


This will create bouquets for all the providers specificed and enabled in the config file.


To automate this use cron.

crontab -e


0 5 * * * /etc/enigma2/e2m3u2bouquet/e2m3u2bouquet.py >> /tmp/e2.log

and press ESC follwed by :wq to exit the cron editor and save the entry. This will update your bouquets at 5am daily.


Any issues / bugs or problems leave a coment.

e2m3u2bouquet 0.6.3


Quick update to cover the changes made in v0.6.2 & v0.6.3

v0.6.2 Changes

  • New versions of epg-importer use categories for sources. The IPTV provider source will now be listed under the ‘IPTV Bouquet Maker – E2m3u2bouquet’

v0.6.3 Changes

  • Some providers are now using Cloudflare (or equivalent service) to restrict access to their service. In some case this resulted in the script/plugin being unable to download the providers playlist. v0.6.3 has a workaround for the issue

Latest releases here

Community guides here

e2m3u2bouquet 0.6.1


Script changes

  • Dedicated config directory ‘/etc/enigma2/e2m3u2bouquet’
  • Pre Python 2.7.9 SSL context workaround
  • Remove delimiter options (command arguments -d1, -d2, -d3, -d4)
  • Option to place IPTV bouquets at top or bottom ‘-bt’
  • Consistent channel numbering (best results when IPTV bouquets are set to top). Each new IPTV category will start numbering +100 from start of last category

Plugin changes

  • Add /picon option for download path
  • Show last playlist update
  • Add override service refs option
  • Add IPTV bouquet position option
  • Add option download providers bouquet (for custom service refs)


The delimiter command arguments have been removed (-d1, -d2, -d3, -d4). Due to improvement in the m3u parsing these are no longer needed

The script and plugin will now save e2m3u2bouquet-sort-current.xml and look for e2m3u2bouquet-sort-override.xml in the new config directory ‘/etc/enigma2/e2m3u2bouquet’. If the override file can’t be found in the config folder it will also check in the current working directory ‘/hoem/root’ in most cases.

Plugin Potential Issues

Custom sorting – If you have an override.xml file then when the bouquet update is happening you may see the spinner graphic and the box ui may be unresponsive for around a minute

Downloading Picons (especially on first run) takes a long time. Your box will show the spinner graphic and the ui will be unresponsive  while this happening.


Latest releases here

Community guides here

FAB URL Changes

Fab Urls

Changes to the new Fab new urls were made by Doug last night (12/08/2017)

However due to changes in the way we handle providers in later versions of the script you need to be on version >= 0.6 of the script or plugin to receive these changes.

See here or here to download the latest version.

Also please note FAB continue to be blocked by the current court directives despite the change in URLs so do not expect service during EPL matches

If you’re looking to setup a VPN on your enigma2 box there’s a guide available on the PIA website here

Community Guides – E2m3u2bouquet

Community Guides

Our old friend Tommy has an excellent guide to using the plugin version 7 upwards on his blog, see the below link for further information


Older Guides for earlier versions that may still contain useful information below:

Head Melted has done a nice video install guide on YouTube

Enigma2 IPTV Bouquets with EPG ipk install , Suls Script removal & ipk install. quick guide.

Dsayers Guide to installing and configuring the plugin over on Techkings

Suls e2m3u2bouquet 0.6 IPTV Bouquet MakerMaker plugin


e2m3u2bouquet 0.6


  • Better m3u parsing
  • Plugin

Plugin (beta)

We’ve now released a plugin for the script. As it’s still in beta please only use if you are comfortable knowing it’s only had limited testing and know how to re-flash your box if you encounter any issues.
Update: Not had any negative reports so should be safe to use

Plugin features:-

  • Named provider support
  • Ability to set commonly used options
  • Ability to set an update schedule

Plugin install

  • Download the ipk and ftp it to the /tmp folder on the box.
  • Either install it from the box GUI (in OpenVix this will be ‘Menu -> Setup -> ViX -> Install local extension
    or SSH/Telnet to to the box and run ‘opkg install /tmp/enigma2 [TAB – to autocomplete path]
  • Reboot box
  • Open your plugins menu, there should now be a plugin named ‘IPTV Bouquet Maker (IPTV for Enigma2 – E2m3u2bouquet plugin)’

Latest release here

Tommy has also kindy made a lengthy install guide here

Potential Issues

Custom sorting – If you have an override.xml file then when the bouquet update is happening you may see the spinner graphic and the box ui may be unresponsive for around a minute

Downloading Picons (especially on first run) takes a long time. Your box will show the spinner graphic and the ui will be unresponsive  while this happening.

Thanks to ..

You’ll notice that the plugin looks a lot like Epg-Importer. Epg-Importer was used as the starting point of the plugin so all credit to the Epg-Importer team for developing their great plugin.

e2m3u2bouquet 0.5.4


  • Add nameOverride attribute to xml files to allow service or bouquet names to be changed
  • Add option to use service references from providers bouquet file. -b command argument,see below
  • Add SSL fix for some boxes. Unconfirmed if working (if this now allows you to use the provider based setup please let us know in the comments below)
  • Improved service ref id generation logic to reduce (hopefully eliminate) id conflicts especially if override file is used
  • Add option -xs to stop service refs from override.xml file being used

Custom service references from providers bouquet file

Some providers already map their service references to existing DVB services. This means that if you have CrossEPG set-up you can automatically get a full 7 day epg for channels that you are able to receive the DVB epg from.

For this feature add the -b command argument (url to providers bouquet file)  e.g. ‘-b http://PROVIDERSURL/get.php?username=YOURUSERNAME&password=YOURPASSWORD&type=dreambox&output=ts’

N.B. If you using this feature with an override.xml file the service refs in the xml file will apply. Use the command argument -xs to ignore the service refs in the override.xml file

Override Service & Bouquet Names

You can now override the service and bouquet names by setting the ‘nameOverride’ attribute in the override.xml file

Missing EPG info

If after upgrading to this you are missing the EPG then please do a manual import in EPG-Importer


Full details of v0.5 release here

Download latest release here

E2m3u2bouquet Help Thread

Help Thread

Common problems and resolutions for E2m3u2bouquet.

“Permission denied” attempting to run the script

Ensure the script is executable, eg run (in the folder the script is in)

chmod 777 e2m3u2bouquet.py

then run the script as per instructions

or run the script via python

python e2m3u2bouquet.py -n PROVIDER -u USERNAME -p PASSWORD

EPG is not working

Ensure you have enabled the source in epg-importer and run a manual import.

If this still doesn’t work paste your epg url into firefox, this should return a bunch of XML data to the browser (nb: doesn’t work in chrome), if you don’t receive XML data back in the browser your epg url is wrong. Contact your provider to resolve this.

If you are using the serviceapp plugin to change the playback engine this is also know to stop the epg from working.

ImportError: No module named argparse

You need to install argparse on your box. Telnet/ssh to your box and run

opkg install python-argparse

No Module named imghdr

You need to install python-image (and likely python-imaging). Telnet/ssh to your box and run

opkg install python-image python-imaging

Bouquets disappear after box is rebooted

If you’ve already installed the providers iptv.sh script the changes it makes will need to be reverted otherwise the new bouquets will be deleted on restart

  • SSH to the box and remove /usr/bin/enigma2_pre_start.sh – this sets iptv.sh to run on restart which causes all bouquets to be deleted
    N.B. Your box may use enigma2_pre_start.sh for other services. Check that it only contains iptv.sh before removing
rm /usr/bin/enigma2_pre_start.sh
  • Use the box GUI to delete the bouquet that iptv.sh creates Open the bouquet list. With the ‘Example’ bouquet selected, press the menu button there should be an option to remove the entry
  • Remove iptv.sh
rm /etc/enigma2/iptv.sh

Some channels stutter or don’t play correctly

This is likely due to having the ‘All IPTV type’ option enabled. Disable this option and re-run. If you’re using an override.xml file then you’ll also need to make sure the -xs option (script) or ‘Override service refs’: disabled (plugin) is set for this change to take effect.

e2m3u2bouquet 0.5.1

V 0.5.1

Minor update.

The generated xml no longer has the streamUrl attribute. This means that your username & password is not in the xml file so custom mapping files can now easily be shared

If you wish to map a DVB service to an IPTV bouquet (by using the DVB service reference with no stream url) then this can be done by setting the new clearStreamUrl attribute to true

Full details of v0.5 release here

Download latest release here