Welcome to World of IPTV

Join us now to get access to all our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, and so, so much more. It's also quick and totally free, so what are you waiting for?

Forum Rules

Our Rules: Read to avoid getting banned!

Advertising

Introduce Yourself to the World with Us!

Resource Database

Find the newest resources around IPTV!

Account upgrade

Upgrade your account to unlock more benefits!
Resource icon

Tutorial Create Your Own Custom Kodi IPTV Plugin v1

Register & Get access to index

PureMedia

Extended Member
Ext. Member
Joined
Jan 26, 2020
Messages
77
Reaction score
1,317
Points
94
Location
Online
Hi Guys,

Just thought, I would create a quick 'How To' guide on creating your own Kodi IPTV plugin. An alternative to SimpleIPTV Client.

This is ultimately what you will end up with.
FinalResultLiveTV.png


FinalResultMovies.png


I am going to assume you know how or already have enabled 'Allow Apps From Unknown Sources' enabled on Kodi

Download the plugin provided.
Modify the addon.xml file with the details you wish, ie the name description etc. Currently it is set to the below

Code:
<?xml version="1.1" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.worldofiptv"
       name="Worldofiptv"
       version="1.1"
       provider-name="PureMedia">
  <requires>
    <import addon="xbmc.python" version="2.1.0"/>
    <import addon="script.module.requests" />
  </requires>
  <extension point="xbmc.python.pluginsource"
            library="default.py">
        <provides>video</provides>
  </extension>
  <extension point="xbmc.addon.metadata">
    <summary lang="en">[COLOR dodgerblue][B]World Of IPTV Plugin Guide[/COLOR]</summary>
    <language>en</language>
    <description lang="en">Your AppName Official Addon - Enter a desscription about your service, such as this is a tutorial on how to create a Kodi IPTV plugin.</description>
     <platform>all</platform>
  </extension>
</addon>

Next modify the user.py file located under /modules/resources. This is base64 encoded. Therefore use this site to allow you to encode / decode Base64
I have added a little description next to each line item. In the example below change the values between ' ' aHR0.....29t to your dns

Code:
#Change the base64 string currently - http://YOURDNS.com
host = b.b64decode('aHR0cDovL1lPVVJETlMuY29t')

Finally replace the icon and fanart images to your own, rename the folder to your own brand ie plugin.video.epicguide and then zip the folder plugin.video.epicguide.

Then install the addon via Kodi's install from zip option and you will have something like the below

PluginLaunch.png

Plugininfo.png

Menu.png


When you launch the addon, you will be prompted for your login information and then to select a device which best matches what device you are using. This is to set the advanced settings cache.

The addon and files required => Go to the download zone
 
Last edited by a moderator:
Channels MatchTime Unblock CDN Offshore Server Contact
100 cnx / 90€ 5Gbps / 180€ 48CPU-256GRAM 10Gbps 569€ Skype live:giefsl
500 cnx / 350€ 10Gbps / 350€ 48CPU-128GRAM 5Gbps / 349€ TG @changcdn
1000 cnx / 500€ 20Gbps / 700€ 40CPU-128GRAM 20Gbps / €980 http://coronaserver.com
Channels MatchTime Unblock CDN Offshore Server Contact
100 cnx / 90€ 5Gbps / 180€ 48CPU-256GRAM 10Gbps 569€ Skype live:giefsl
500 cnx / 350€ 10Gbps / 350€ 48CPU-128GRAM 5Gbps / 349€ TG @changcdn
1000 cnx / 500€ 20Gbps / 700€ 40CPU-128GRAM 20Gbps / €980 http://coronaserver.com
Channels MatchTime Unblock CDN Offshore Server Contact
100 cnx / 90€ 5Gbps / 180€ 48CPU-256GRAM 10Gbps 569€ Skype live:giefsl
500 cnx / 350€ 10Gbps / 350€ 48CPU-128GRAM 5Gbps / 349€ TG @changcdn
1000 cnx / 500€ 20Gbps / 700€ 40CPU-128GRAM 20Gbps / €980 http://coronaserver.com
Nice work bud, however there doesnt seem to be a tv series catergory anywhere? Is that something that could be added or shown to us on how to add?
 
Channels MatchTime Unblock CDN Offshore Server Contact
100 cnx / 90€ 5Gbps / 180€ 48CPU-256GRAM 10Gbps 569€ Skype live:giefsl
500 cnx / 350€ 10Gbps / 350€ 48CPU-128GRAM 5Gbps / 349€ TG @changcdn
1000 cnx / 500€ 20Gbps / 700€ 40CPU-128GRAM 20Gbps / €980 http://coronaserver.com
Channels MatchTime Unblock CDN Offshore Server Contact
100 cnx / 90€ 5Gbps / 180€ 48CPU-256GRAM 10Gbps 569€ Skype live:giefsl
500 cnx / 350€ 10Gbps / 350€ 48CPU-128GRAM 5Gbps / 349€ TG @changcdn
1000 cnx / 500€ 20Gbps / 700€ 40CPU-128GRAM 20Gbps / €980 http://coronaserver.com
Cheers mate, worked spot on. No epg though. I saw another on here that has ivue integration which I havnt tested yet.
Is there anyway we could make this multi, like url1 and url 2? Much appreciated mate thank you
 
series was missing. Can get it by adding this to the default.py:

Code:
series_url     = '%s:%s/enigma2.php?username=%s&password=%s&type=get_series_categories'%(user.host,user.port,username,password)

Code:
tools.addDir('Series','series',3,icon,fanart,'')

Code:
def vod(url):
    if url =="vod":
        open = tools.OPEN_URL(vod_url)
    elif url =="series":
        open = tools.OPEN_URL(series_url)
 
I have lice tv kodi addon what you edit your dns and then you install it then you can add user and pass then you sub is active on the kodi addon

Where is this add-on?
 
Channels MatchTime Unblock CDN Offshore Server Contact
100 cnx / 90€ 5Gbps / 180€ 48CPU-256GRAM 10Gbps 569€ Skype live:giefsl
500 cnx / 350€ 10Gbps / 350€ 48CPU-128GRAM 5Gbps / 349€ TG @changcdn
1000 cnx / 500€ 20Gbps / 700€ 40CPU-128GRAM 20Gbps / €980 http://coronaserver.com
series was missing. Can get it by adding this to the default.py:

Code:
series_url     = '%s:%s/enigma2.php?username=%s&password=%s&type=get_series_categories'%(user.host,user.port,username,password)

Code:
tools.addDir('Series','series',3,icon,fanart,'')

Code:
def vod(url):
    if url =="vod":
        open = tools.OPEN_URL(vod_url)
    elif url =="series":
        open = tools.OPEN_URL(series_url)

Nice work bud however for the def function how would this be overwritten as im getting errors:
Code:
def vod(url):
    if url =="vod":
        open = tools.OPEN_URL(vod_url)
    else:
        url  = buildcleanurl(url)
        open = tools.OPEN_URL(url)
    all_cats = tools.regex_get_all(open,'<channel>','</channel>')
    for a in all_cats:
        if '<playlist_url>' in open:
            name = tools.regex_from_to(a,'<title>','</title>')
            url1  = tools.regex_from_to(a,'<playlist_url>','</playlist_url>').replace('<![CDATA[','').replace(']]>','')
            tools.addDir(str(base64.b64decode(name)).replace('?',''),url1,3,icon,fanart,'')
        else:
            if xbmcaddon.Addon().getSetting('meta') == 'true':
                try:
                    name = tools.regex_from_to(a,'<title>','</title>')
                    name = base64.b64decode(name)
                    thumb= tools.regex_from_to(a,'<desc_image>','</desc_image>').replace('<![CDATA[','').replace(']]>','')
                    url  = tools.regex_from_to(a,'<stream_url>','</stream_url>').replace('<![CDATA[','').replace(']]>','')
                    desc = tools.regex_from_to(a,'<description>','</description>')
                    desc = base64.b64decode(desc)
                    plot = tools.regex_from_to(desc,'PLOT:','\n')
                    cast = tools.regex_from_to(desc,'CAST:','\n')
                    ratin= tools.regex_from_to(desc,'RATING:','\n')
                    year = tools.regex_from_to(desc,'RELEASEDATE:','\n').replace(' ','-')
                    year = re.compile('-.*?-.*?-(.*?)-',re.DOTALL).findall(year)
                    runt = tools.regex_from_to(desc,'DURATION_SECS:','\n')
                    genre= tools.regex_from_to(desc,'GENRE:','\n')
                    tools.addDirMeta(str(name).replace('[/COLOR].','.[/COLOR]'),url,4,thumb,fanart,plot,str(year).replace("['","").replace("']",""),str(cast).split(),ratin,runt,genre)
                except:pass
                xbmcplugin.setContent(int(sys.argv[1]), 'movies')
            else:
                name = tools.regex_from_to(a,'<title>','</title>')
                name = base64.b64decode(name)
                thumb= tools.regex_from_to(a,'<desc_image>','</desc_image>').replace('<![CDATA[','').replace(']]>','')
                url  = tools.regex_from_to(a,'<stream_url>','</stream_url>').replace('<![CDATA[','').replace(']]>','')
                desc = tools.regex_from_to(a,'<description>','</description>')
                tools.addDir(name,url,4,thumb,fanart,base64.b64decode(desc))
 
What error are you getting?

Only need to add the linees I wrote to the beginning of the Def vod
 
shape1
shape2
shape3
shape4
shape5
shape6
Back
Top