<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<items>





<item>
<title>*** Ενημερώθηκε στις   $doregex[info] *** </title>
<link>$doregex[refresh]</link>
<regex>
<name>refresh</name>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m):
 import xbmc 
 import xbmcgui 
 from datetime import datetime, timezone, timedelta
 xbmc.executebuiltin('Container.Refresh')
]]></expres>
<page></page>
</regex>
<regex>
<name>info</name>
<expres>$pyFunction: time.strftime('%d/%m/%Y')</expres>
<page></page>
<NOTPlayable>True</NOTPlayable>
</regex>
</item>


<item>
<title>[COLOR deepskyblue][B]Ανοίξτε εδώ για πληροφορίες   [/B]  [/COLOR] </title>
<thumbnail></thumbnail>
<link>$doregex[openDialog]</link>
<regex>
<name>openDialog</name>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m):
    import xbmcaddon
    import xbmcgui
    title = "Διαβάστε εδώ"  
    line1 = "Τα περισσότερα κανάλια δικτύου λειτουργούν με εναλλακτικές ροές."
    line2 = "Το Youtube λειτουργεί."
    line3 = "Όλα τα άλλα απαιτούν VPN."
    xbmcgui.Dialog().ok(title, line1, line2, line3)
    return "<NOTPlayable>True</NOTPlayable>"
]]></expres>
<page></page>
<NOTPlayable>True</NOTPlayable>
</regex>


<regex>
<name>refresh</name>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m):
 import xbmc 
 import xbmcgui 
 from datetime import datetime, timezone, timedelta
 xbmc.executebuiltin('Container.Refresh')
]]></expres>
<page></page>
</regex>
<regex>
<name>info</name>
<expres>$pyFunction: time.strftime('%d/%m/%Y')</expres>
<page></page>
<NOTPlayable>True</NOTPlayable>
</regex>


</item>



<item>
<title> </title>
<link> </link>
</item>





<item>
<title>ΕΛΛΗΝΙΚΕΣ  ΣΕΙΡΕΣ  ( όλες οι σειρές ) </title>
<link>$doregex[makelist0]</link>
<thumbnail>https://greek-movies.com/icon/logo.jpg</thumbnail>

<regex>
<name>makelist0</name>
<listrepeat><![CDATA[
<title>[makelist0.param1]  </title>
<link>$doregex[makelist]</link>
<thumbnail>https://greek-movies.com/icon/logo.jpg</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m,url = ''):
    r = [('ΑΡΧΙΚΑ','y=&c=&g=')]
    r += [('ΕΤΟΣ','l=&c=&g=')]
    r += [('ΚΑΝΑΛΙ','l=&y=&g=')]
    r += [('ΕΙΔΟΣ','l=&y=&c=')]
    return r
]]></expres>
<page></page>
</regex>

<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param2] </title>
<link>$doregex[makelist2]</link>
<thumbnail>https://greek-movies.com/icon/logo.jpg</thumbnail>
]]></listrepeat>
<expres><![CDATA[<option  value="(.*?)[makelist0.param2]">(.*?)<]]></expres>
<page>https://greek-movies.com/series.php</page>
</regex>

<regex>
<name>makelist2</name>
<listrepeat><![CDATA[
<title>[makelist2.param3]   </title>
<link>$doregex[makelist3]</link>
<thumbnail>$pyFunction: urllib.quote_plus('https://greek-movies.com/[makelist2.param2]').replace('%3A',':').replace('%2F','/')</thumbnail>
]]></listrepeat>
<expres><![CDATA[href='(.*?)'>.*?<img src='(.*?)'>.*?text-center'>(.*?)<]]></expres>
<page>https://greek-movies.com/[makelist.param1][makelist0.param2]</page>
<referer>https://greek-movies.com/series.php</referer>
</regex>

<regex>
<name>makelist3</name>
<listrepeat><![CDATA[
<title>$doregex[format_title]</title>
<link>$doregex[get_decoded]</link>
<thumbnail>$pyFunction: urllib.quote_plus('https://greek-movies.com/[makelist2.param2]').replace('%3A',':').replace('%2F','/')</thumbnail>
<meta>video</meta>
]]></listrepeat>
<expres><![CDATA[loadEpisode\('([^']*)', 'n'.+?>(.*?)<]]></expres>
<page>https://greek-movies.com/[makelist2.param1]</page>
</regex>

<regex>
<name>format_title</name>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data, Cookie_Jar, m):
    import re
    val = '[makelist3.param2]'
    
    match_se = re.match(r'^(\d+)\.(\d+)$', val.strip())
    if match_se:
        return 'Σεζόν ' + match_se.group(1) + ' - Επεισόδιο ' + match_se.group(2)
        
    match_ep = re.match(r'^(\d+)$', val.strip())
    if match_ep:
        return 'Επεισόδιο ' + match_ep.group(1)
        
    return val
]]></expres>
<page></page>
</regex>

<regex>
<name>makelist4</name>
<expres><![CDATA[href="(.*?)".+?>]]></expres>
<page>https://greek-movies.com/ajax.php?</page>
<agent>Mozilla/5.0</agent>
<rawpost>type=episode&amp;epid=[makelist3.param1]&amp;view=n</rawpost>
</regex>

<regex>
<name>get_Page</name>
<expres>button' href='(.*?)'</expres>
<page>https://greek-movies.com/$doregex[makelist4]</page>
</regex>

<regex>
<name>get_decoded</name>
<expres>$pyFunction:urllib.unquote('$doregex[select_Url]')</expres>
<page></page>
</regex>

<regex>
<name>select_Url</name>
<expres><![CDATA[#$pyFunction
import xbmcgui, time
def GetLSProData(page_data, Cookie_Jar, m):
    pDialog = xbmcgui.DialogProgress()
    pDialog.create('Greek Movies', 'Αναζήτηση διαθέσιμων πηγών βίντεο...')
    
    resolvers = [
        ('TVOpen', '$doregex[get_tvopen]'),
        ('Alpha', '$doregex[get_alpha]'),
        ('Sigma', '$doregex[sigma]'),
        ('Skai', '$doregex[get_skai]'),
        ('Mega', '$doregex[get_mega]'),
        ('Star', '$doregex[get_star]'),
        ('Ant1', '$doregex[get_ant]'),
        ('BitChute', '$doregex[get_bitc]'),
        ('YouTube', '$doregex[youtube]')
    ]
    
    total = len(resolvers)
    for index, (name, stream_url) in enumerate(resolvers):
        percent = int((index / float(total)) * 100)
        pDialog.update(percent, 'Έλεγχος πηγής: %s' % name)
        
        if stream_url and not stream_url.startswith('$doregex') and stream_url.strip() != "":
            pDialog.update(100, 'Βρέθηκε ενεργή πηγή! Εκκίνηση...')
            time.sleep(0.5)
            pDialog.close()
            return stream_url
            
    pDialog.close()
    xbmcgui.Dialog().notification('Αποτυχία', 'Δεν βρέθηκε κανένας ενεργός σύνδεσμος.', xbmcgui.NOTIFICATION_INFO, 4000)
    return ""
]]></expres>
<page></page>
</regex>

<regex>
<name>youtube</name>
<expres><![CDATA[#$pyFunction
import resolveurl
def GetLSProData(page_data, Cookie_Jar, m):
    url='$doregex[get_Page]' 
    return resolveurl.resolve(url)
]]></expres>
<page></page>
</regex>

<regex>
<name>get_alpha</name>
<expres><![CDATA[#$pyFunction
import re, urllib
origin = 'https://www.alphatv.gr'
referer = 'https://www.alphatv.gr/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36'
def GetLSProData(page_data, Cookie_Jar, m):
    match = re.search(r'data-video-url="(https?://.*?\.mp4)"', page_data)
    if match:
        return match.group(1) + '|User-Agent=' + urllib.quote_plus(useragent) + '&Origin=' + urllib.quote_plus(origin) + '&Referer=' + urllib.quote_plus(referer)
    return ""
]]></expres>
<page>$doregex[get_Page]</page>
</regex>

<regex>
<name>get_skai</name>
<expres><![CDATA[#$pyFunction
import re, urllib
origin = 'https://www.skai.gr'
referer = 'https://www.skai.gr/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36'
start = 'https://videostream.skai.gr/skaivod/_definst_/mp4:skai/'
end = '/chunklist.m3u8'
def GetLSProData(page_data, Cookie_Jar, m):
    match = re.search(r'media_item_file":"(.*?)"', page_data)
    if match:
        return start + match.group(1).replace('\\', '') + end + '|User-Agent=' + urllib.quote_plus(useragent) + '&Origin=' + urllib.quote_plus(origin) + '&Referer=' + urllib.quote_plus(referer)
    return ""
]]></expres>
<page>$doregex[get_Page]</page>
</regex>

<regex>
<name>get_mega</name>
<expres><![CDATA[#$pyFunction
import re, urllib
origin = 'https://www.megatv.com'
referer = 'https://www.megatv.com/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36'
def GetLSProData(page_data, Cookie_Jar, m):
    match = re.search(r'data-kwik_source="(.*?)"', page_data)
    if match:
        return match.group(1).replace('playlist', 'chunklist-f1-v1-a1') + '|User-Agent=' + urllib.quote_plus(useragent) + '&Referer=' + urllib.quote_plus(referer) + '&Origin=' + urllib.quote_plus(origin)
    return ""
]]></expres>
<page>$doregex[get_Page]</page>
</regex>

<regex>
<name>get_star</name>
<expres><![CDATA[#$pyFunction
import re, urllib
origin = 'https://www.star.gr'
referer = 'https://www.star.gr/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36'
def GetLSProData(page_data, Cookie_Jar, m):
    match = re.search(r'contentUrl": "(.*?)"', page_data)
    if match:
        return match.group(1) + '|User-Agent=' + urllib.quote_plus(useragent) + '&Origin=' + urllib.quote_plus(origin) + '&Referer=' + urllib.quote_plus(referer)
    return ""
]]></expres>
<page>$doregex[get_Page]</page>
</regex>

<regex>
<name>sigma</name>
<expres><![CDATA[#$pyFunction
import re, urllib
origin = 'https://www.sigmatv.com'
referer = 'https://www.sigmatv.com/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36'
def GetLSProData(page_data, Cookie_Jar, m):
    match = re.search(r'video/mp4" src="(.*?)"', page_data)
    if match:
        return 'https:' + match.group(1) + '|User-Agent=' + urllib.quote_plus(useragent) + '&Origin=' + urllib.quote_plus(origin) + '&Referer=' + urllib.quote_plus(referer)
    return ""
]]></expres>
<page>$doregex[get_Page]</page>
</regex>

<regex>
<name>ant1</name>
<expres>cid: '(.*?)'</expres>
<page>$doregex[get_Page]</page>
</regex>

<regex>
<name>get_ant</name>
<expres>url":"(.*?)"</expres>
<page>https://antenna.gr/templates/data/PlayerDataGraphQL_v2?cid=$doregex[ant1]</page>
</regex>

<regex>
<name>tvopen</name>
<expres>cid: '(.*?)'</expres>
<page>$doregex[get_Page]</page>
</regex>

<regex>
<name>get_tvopen</name>
<expres>#KODIPROP:inputstream=inputstream.adaptive|#KODIPROP:mimetype=application/x-mpegURL|(http.*?.m3u8)</expres>
<page>https://www.tvopen.gr/templates/data/player?cid=$doregex[tvopen]</page>
</regex>

<regex>
<name>bitchute</name>
<expres>content="https://www.bitchute.com/embed/(.*?)"</expres>
<page>$doregex[get_Page]</page>
</regex>

<regex>
<name>get_bitc</name>
<expres>var media_url = '(.*?)'</expres>
<page>https://www.bitchute.com/api/beta9/embed/$doregex[bitchute]?videoID=$doregex[bitchute]</page>
</regex>
</item>



<item>
<title>GREEKFUN ΣΕΙΡΕΣ</title>
<link>$doregex[makelist0]</link>
<thumbnail></thumbnail>

<!-- 0. LOCAL PYTHON YEAR GENERATOR (ZERO NETWORK REQUESTS) -->
<regex>
<name>makelist0</name>
<listrepeat><![CDATA[
<title>'Έτος σειράς  [makelist0.param1]</title>
<link>$doregex[makelist]</link>
<thumbnail></thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import datetime

def GetLSProData(page_data, Cookie_Jar, m):
    try:
        current_year = datetime.datetime.now().year
        years = [str(y) for y in range(current_year, 1999, -1)]
        return [(y,) for y in years]
    except Exception:
        return []
]]></expres>
<page></page>
</regex>

<!-- 1. SERIES LIST (DYNAMIC PAGINATION PARSER) -->
<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param3]  </title>
<link>$doregex[makelist2]</link>
<thumbnail>[makelist.param2]</thumbnail>
<meta>video</meta>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import urllib2, re

def GetLSProData(page_data, Cookie_Jar, m):
  return re.findall('<a class="card" href="([^"]+)">\s*<img src="([^"]+)"[^>]*>\s*<div class="card-meta">\s*<div class="card-title">([^<]+)<',page_data)
]]></expres>
<page>https://greeksubsmovies.me/ellinikes-seires?filter=greek_series&amp;sort=recent&amp;f_genre=&amp;f_year=[makelist0.param1]</page>
<cookieJar></cookieJar>
</regex>


<!-- 2. EPISODES LIST is OK -->

<regex>
<name>makelist2</name>
<listrepeat><![CDATA[
<title>[makelist2.param2]  </title>
<link>$doregex[convert-url]</link>
<thumbnail>[makelist.param2]</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import re

# Pre-compile the regex pattern for faster matching
episode_regex = re.compile(r'[sS](\d+)[eE](\d+)')

def GetLSProData(page_data, Cookie_Jar, m):
    # Extract the original groups: href, ep-code, and the episode title/span
    raw_results = re.findall(r'<div class="ep-row">\s*?<a href="(.*?)"[\s\S]*?ep-code">(.*?)<[\s\S]*?ep-name">(.*?)<', page_data)
    
    formatted_results = []
    for href, ep_code, span_text in raw_results:
        # Search using the pre-compiled pattern
        match = episode_regex.search(ep_code)
        if match:
            season, episode = match.groups()
            # Format as Κύκλος 1 Επεισόδιο 001
            ep_code = u"Κύκλος {} : Επεισόδιο {}".format(int(season), episode.zfill(3))
            
        formatted_results.append((href, ep_code, span_text))
        
    return formatted_results

]]></expres>
<page>https://greeksubsmovies.me[makelist.param1]</page>
<cookieJar></cookieJar>
</regex>


<!-- 3. DIALOG SOURCE SELECTION & PLAYBACK -->
<regex>
<name>convert-url</name>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data, Cookie_Jar, m):
    import urllib2, re, xbmcgui
    
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/143.0.0.0 Safari/537.36'}
    base = "https://greeksubsmovies.me"
    
    try:
        # 3. Fetch player page and extract tokens
        player_url = base + '[makelist2.param1]'
        req_player = urllib2.Request(player_url, headers=headers)
        p_html = urllib2.urlopen(req_player, timeout=10).read()
        
        tok = re.search(r'const _tok = "(.*?)"', p_html)
        vid = re.search(r'const _vid = (.*?);', p_html)
        if not tok or not vid:
            return ""
            
        # 4. Request stream from API
        api_url = "%s/api/video-src.php?t=%s&v=%s" % (base, tok.group(1), vid.group(1))
        api_headers = dict(headers)
        api_headers['Referer'] = player_url
        
        req_api = urllib2.Request(api_url, headers=api_headers)
        res = urllib2.urlopen(req_api, timeout=10).read()
        
        stream = re.search(r'"(http.*?)"', res)
        if stream:
            return stream.group(1).replace('\\/', '/') + '|User-Agent=' + headers['User-Agent']
            
    except Exception as e:
        xbmcgui.Dialog().notification('Error', str(e), xbmcgui.NOTIFICATION_INFO, 3000)
        
    return ""
]]></expres>
<page>https://greeksubsmovies.me[makelist2.param1]</page>
<agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/143.0.0.0 Safari/537.36</agent>
<cookieJar></cookieJar>
</regex>


</item>




<item>
<title>ALPHA ΣΕΙΡΕΣ</title>
<link>$doregex[makelist]</link>
<thumbnail>https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Alpha_TV_logo.svg/1280px-Alpha_TV_logo.svg.png</thumbnail>

<!-- 1. SERIES LIST -->
<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param2]  </title>
<link>$doregex[makelist2]</link>
<thumbnail>[makelist.param3]</thumbnail>
]]></listrepeat>
<expres><![CDATA[<figure class="card__image">\n.+?<a href="(.*?)".+?title="(.*?)">.+?\n.+?(?:src|data-src)="(.*?)"]]></expres>
<page>https://www.alphatv.gr/series/</page>
</regex>

<!-- 2. SEASON LIST -->
<regex>
<name>makelist2</name>
<listrepeat><![CDATA[
<title>[makelist2.param1]   </title>
<link>$doregex[makelist3]</link>
<thumbnail>[makelist.param3]</thumbnail>
]]></listrepeat>
<expres><![CDATA[<li class="select_orderby__option ">\s*<a title="(.*?)"\s*href="([^"]+)"]]></expres>
<page>[makelist.param1]episodes/</page>
</regex>

<!-- 3. EPISODE LIST (ALPHA TV DYNAMIC PAGINATION PARSER) -->
<regex>
<name>makelist3</name>
<listrepeat><![CDATA[
<title>[makelist3.param2]  </title>
<link>$doregex[get-url]</link>
<thumbnail>[makelist3.param3]</thumbnail>
<meta>video</meta>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import urllib2, re

def GetLSProData(page_data, Cookie_Jar, m):
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/143.0.0.0 Safari/537.36'}
    first_url = "[makelist2.param2]"
    
# Pattern to extract Episode Link (param1), Title (param2), and Thumbnail/Image (param3)
    pattern = r'<div class="card has_fav is_video mob_img__landscape-3x2 tab_img__landscape-16x9 card__series_episode">[\s\S]*?<figure class="card__image">\n.+?href="([^"]+)".*?title="(.*?ΕΠΕΙΣΟΔΙΟ.*?)".*?\n.+?srcset="([^"]+)"'
    
    all_episodes = []
    max_pages = 1
    
    try:
        # 1. Fetch Page 1
        req = urllib2.Request(first_url, headers=headers)
        html = urllib2.urlopen(req, timeout=8).read()
        
        # Extract episodes from page 1 and clean up HTML entities in titles
        raw_matches = re.findall(pattern, html, re.DOTALL)
        for link, title, thumb in raw_matches:
            cleaned_title = title.replace('&#8211;', '-')
            all_episodes.append((link, cleaned_title, thumb))
            
        # 2. Parse pagination block to find the highest total page count dynamically
        pager_match = re.search(r'<nav class="navigation pagination"[^>]*>(.*?)</nav>', html, re.DOTALL)
        if pager_match:
            pager_html = pager_match.group(1)
            page_numbers = re.findall(r'>(\d+)<', pager_html)
            if page_numbers:
                max_pages = int(page_numbers[-1])
                
        # 3. Handle base URL and query parameters for multi-page loops
        if '?' in first_url:
            base_url, query_part = first_url.split('?', 1)
            query_part = '?' + query_part
        else:
            base_url = first_url
            query_part = ''
            
        if not base_url.endswith('/'):
            base_url += '/'
            
        # 4. Loop through remaining pages (from page 2 up to max_pages)
        for page_num in range(2, max_pages + 1):
            url = "%spaged/%s/%s" % (base_url, page_num, query_part)
            try:
                req = urllib2.Request(url, headers=headers)
                html = urllib2.urlopen(req, timeout=8).read()
                raw_matches = re.findall(pattern, html, re.DOTALL)
                for link, title, thumb in raw_matches:
                    cleaned_title = title.replace('&#8211;', '-')
                    all_episodes.append((link, cleaned_title, thumb))
            except:
                pass
                
    except:
        pass
        
    return all_episodes
]]></expres>
<page></page>
<agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/143.0.0.0 Safari/537.36</agent>
<cookieJar></cookieJar>
</regex>


<regex>
<name>get-url</name>
<expres><![CDATA[#$pyFunction
import re
import requests
import urllib
origin = 'https://www.alphatv.gr'
referer = 'https://www.alphatv.gr/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36'

def GetLSProData(page_data, Cookie_Jar, m):
    # SAFETY BLOCK: Stops the recursive crash if makelist2 fails on an empty page
    if not page_data or "regexfailed" in page_data or len(page_data) < 50:
        return ""

    match = re.search(r'data-video-url="(https?://.*?\.mp4)"', page_data)
    
    if match:
        url = match.group(1)
        final_url = url + '|User-Agent=' + urllib.quote_plus(useragent) + \
                    '&Origin=' + urllib.quote_plus(origin) + \
                    '&Referer=' + urllib.quote_plus(referer)
        return final_url
    return ""

]]></expres>
<page>[makelist3.param1]</page>
<cookieJar></cookieJar>
</regex>

</item>


<item>
<title>MEGA ΣΕΙΡΕΣ</title>
<link>$doregex[makelist]</link>
<thumbnail>https://yt3.googleusercontent.com/ImgMucYmvu_c2303CNBBmCqG7zloNomMNLUUhVz4UE-oLi06QVeV7awbuyYSDYWtWr2ph781=s900-c-k-c0x00ffffff-no-rj</thumbnail>

<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param1]   </title>
<link>$doregex[makelist3]</link>
<thumbnail>[makelist.param2]</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m,url = ''):
    r = [('***** ΣΕΙΡΕΣ *****',' ')]
    r += [('Κάμπινγκ','https://www.megatv.com/ekpompes/464758/i-gi-tis-elias/','https://www.megatv.com/wp-content/uploads/2026/07/Image_Camping_960X600-c.jpg','?id=s258&type=tvshows','2')]
    r += [('Δυο Μαύρα Πουκάμισα','https://www.megatv.com/ekpompes/464758/i-gi-tis-elias/','https://www.megatv.com/wp-content/uploads/2026/07/Image_DuoMauraPoukamisa_960X600.jpg','?id=s259&type=tvshows','2')]
    r += [('Η Γη της Ελιάς','https://www.megatv.com/ekpompes/464758/i-gi-tis-elias/','https://www.megatv.com/wp-content/uploads/2025/03/Poster_ghthselias_850X1090_c-1.jpg','?id=s242&type=tvshows','41')]
    r += [('Eχω Παιδιά','https://www.megatv.com/ekpompes/1619195/exo-paidia/','https://www.megatv.com/wp-content/uploads/2024/08/850X1090_EXOPAIDIA.jpg','?id=s254&type=tvshows','4')]
    r += [('Famagusta','https://www.megatv.com/ekpompes/1135061/famagusta/','https://www.megatv.com/wp-content/uploads/2023/07/Poster_famagusta_850X1090.jpg','?id=s251&type=tvshows','1')]
    r += [('Μαύρο Ρόδο','https://www.megatv.com/ekpompes/725648/mayro-rodo/','https://www.megatv.com/wp-content/uploads/2022/08/ΜΑΥΡΟ-ΡΟΔΟ.jpg','?id=s249&type=tvshows','6')]
    r += [('Ταμπού','https://www.megatv.com/ekpompes/1618499/tampou/','https://www.megatv.com/wp-content/uploads/2024/07/850X1090_TAMPOU.jpg','?id=s253&type=tvshows','2')]
    r += [('Το Ναυάγιο','https://www.megatv.com/ekpompes/1110551/to-nayagio/','https://www.megatv.com/wp-content/uploads/2023/08/ΤΟ_ΝΑΥΑΓΙΟ.jpg','?id=s250&type=tvshows','5')]
    return r
]]></expres>
<page></page>
</regex>

<regex>
<name>replace</name>
<expres>$pyFunction:'[makelist3.param3]'.replace('&amp;#8211;','')</expres>
<page></page>
</regex>

<regex>
<name>makelist3</name>
<listrepeat><![CDATA[
<title>$doregex[replace] </title>
<link>$doregex[list]|User-Agent=Mozilla/5.0+%28Linux%3B+Android+10%3B+K%29+AppleWebKit/537.36+%28KHTML%2C+like+Gecko%29+Chrome/147.0.7727.138+Mobile+Safari/537.36</link>
<thumbnail>[makelist3.param2]</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import requests, re , urllib, urllib2, json, cookielib, base64
from BeautifulSoup import BeautifulStoneSoup, BeautifulSoup, BeautifulSOAP
def GetLSProData(page_data,Cookie_Jar,m):
 starturl = 'https://www.megatv.com/episodes/'
 centerurl = 'page/'
 firstpage = 1 
 endurl = '/[makelist.param4]'

 dataregex = '<a href="(.*?)".+?\n.+?\n.+?<img class="lazyload".+?data-src="(.*?)".+?alt="(.*?)"'
 headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36', 'Referer': 'https://www.megatv.com/'}
 fullurl = starturl + centerurl + str(firstpage) + endurl
 source = requests.get(fullurl, headers= headers).text
 data = []
 last = [makelist.param5]
 while firstpage <= last:
    try:
        fullurl = starturl + centerurl + str(firstpage) + endurl
        source = requests.get(fullurl, headers=headers).text
        data += re.findall(dataregex, source)
        firstpage += 1
    except:
        pass
 return data
]]></expres>
<cookieJar></cookieJar>
<page></page>
</regex>

<regex>
<name>makelist4</name>
<expres>data-kwik_source="(.*?)"</expres>
<cookieJar></cookieJar>
<page>[makelist3.param1]</page>
</regex>

<regex>
<name>list</name>
<expres><![CDATA[$pyFunction:'$doregex[makelist4]'.replace('playlist.m3u8','chunklist-f1-v1-a1.m3u8')]]></expres>
<page></page>
</regex>


</item>



<item>
<title>ΣΚΑΙ ΣΕΙΡΕΣ </title>	
<link>$doregex[makelist]</link>
<thumbnail>http://dikomas2.dyndns.org:8080/Greek/logos/SKAI.png</thumbnail>

<!-- 1. List Series -->
<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param3]  </title>
<link>$doregex[makelist2]</link>
<thumbnail>[makelist.param2]</thumbnail>
]]></listrepeat>
<expres><![CDATA[<a href="(.*?)" class="resio">\s.+?<img src="(.*?)" alt="(.*?)">]]></expres>
<page>https://www.skai.gr/tv/shows/seires</page>
</regex>

<!-- 2. List current 12 episodes -->
<regex>
<name>makelist2</name>
<listrepeat><![CDATA[
<title>[makelist2.param1]  </title>
<link>https://videostream.skai.gr/skaivod/_definst_/mp4:skai/$doregex[get-page]/chunklist.m3u8</link>
<referer>https://www.skaitv.gr/</referer>
<thumbnail>$doregex[img]</thumbnail>
]]></listrepeat>
<expres><![CDATA["caption".+?"start":"(\d{4}-\d{2}-\d{2}).+?link":"(.*?)","img":"(.*?)"]]></expres>
<page>https://www.skai.gr[makelist.param1]</page>
</regex>

<regex>
<name>iframe</name>
<expres>media_item_file":"(.*?)"</expres>
<page>https://www.skaitv.gr$doregex[page]</page>
<referer>https://www.skaitv.gr/</referer>
</regex>

<regex>
<name>get-page</name>
<expres>$pyFunction:'$doregex[iframe]'.replace('\/','/')</expres>
<page></page>
</regex>

<regex>
<name>fix1</name>
<expres>$pyFunction:'[makelist2.param3]'.replace('          ','')</expres>
<page></page>
</regex>

<regex>
<name>page</name>
<expres>$pyFunction:'[makelist2.param2] '.replace('\/','/')</expres>
<page></page>
</regex>

<regex>
<name>img</name>
<expres>$pyFunction:'[makelist2.param3] '.replace('\/','/')</expres>
<page></page>
</regex>

</item>



<item>
<title>ANT1 – ΝΤΕΡΤΙ </title>
<link>$doregex[makelist]</link>
<thumbnail>https://www.antenna.gr/imgHandler/380/New_Programmes_Antenna_gr_Nterti_960x1440_V2_37b783d45e.jpg</thumbnail>

<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param1]  </title>
<link>https://antennavodgcp.antenna.gr/prod-multimedia/videos/[makelist.param2]</link>
<thumbnail>https://www.antenna.gr/imgHandler/380/New_Programmes_Antenna_gr_Nterti_960x1440_V2_37b783d45e.jpg</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m,url = ''):
    r = [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 01','NTERTI_S01_E001_mxf_12_b6e80a86d4.mp4')]
    r += [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 02','NTERTI_S01_E002_6c980e7002.mp4')]
    r += [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 03','NTERTI_S01_E003_antik_mxf_12_2ffc28fdbb.mp4')]
    r += [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 04','NTERTI_S01_E004_mxf_12_c953f43d1c.mp4')]
    r += [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 05','NTERTI_S01_E005_mxf_12_cfbbbcbb2a.mp4')]
    r += [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 06','NTERTI_S01_E006_mxf_12_ffaf5651ed.mp4')]
    r += [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 07','NTERTI_S01_E007_mxf_12_210e7fc227.mp4')]
    return r
]]></expres>
<page></page>
</regex>

</item>


<item>
<title>ANT1 – ΚΡΙΝΟ ΚΑΙ ΑΓΚΑΘΙ </title>
<link>$doregex[makelist]</link>
<thumbnail>https://www.antenna.gr/imgHandler/380/New_Programmes_Antenna_gr_Krino_and_Agathi_960x1440_f87aa031b2.jpg</thumbnail>

<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param1]  </title>
<link>https://antennavodgcp.antenna.gr/prod-multimedia/videos/[makelist.param2]</link>
<thumbnail>https://www.antenna.gr/imgHandler/380/New_Programmes_Antenna_gr_Krino_and_Agathi_960x1440_f87aa031b2.jpg</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m,url = ''):
    r = [('ΚΡΙΝΟ ΚΑΙ ΑΓΚΑΘΙ – ΕΠΕΙΣΟΔΙΟ 01','KRINO_KAI_AGKATHI_S01_E001_mxf_12_a11ff4c644.mp4')]
    r += [('ΚΡΙΝΟ ΚΑΙ ΑΓΚΑΘΙ – ΕΠΕΙΣΟΔΙΟ 02','KRINO_KAI_AGKATHI_S01_E002_mxf_12_2b42deb65d.mp4')]
    r += [('ΚΡΙΝΟ ΚΑΙ ΑΓΚΑΘΙ – ΕΠΕΙΣΟΔΙΟ 03','KRINO_KAI_AGKATHI_S01_E003_mxf_12_c0265926ad.mp4')]
    r += [('ΚΡΙΝΟ ΚΑΙ ΑΓΚΑΘΙ – ΕΠΕΙΣΟΔΙΟ 04','KRINO_KAI_AGKATHI_S01_E004_mxf_12_45adc6fff1.mp4')]
    r += [('ΚΡΙΝΟ ΚΑΙ ΑΓΚΑΘΙ – ΕΠΕΙΣΟΔΙΟ 05','KRINO_KAI_AGKATHI_S01_E005_mxf_12_4b25761a2a.mp4')]
    return r
]]></expres>
<page></page>
</regex>

</item>













</items>


 <!--



<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param1]  </title>
<link>https://antennavodgcp.antenna.gr/prod-multimedia/videos/[makelist.param2]</link>
<thumbnail></thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m,url = ''):
    r = [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 01','NTERTI_S01_E001_mxf_12_b6e80a86d4.mp4')]
    r += [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 02','NTERTI_S01_E002_6c980e7002.mp4')]
    r += [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 03','NTERTI_S01_E003_antik_mxf_12_2ffc28fdbb.mp4')]
    r += [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 04','NTERTI_S01_E004_mxf_12_c953f43d1c.mp4')]
    r += [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 05','NTERTI_S01_E005_mxf_12_cfbbbcbb2a.mp4')]
    r += [('ΝΤΕΡΤΙ – ΕΠΕΙΣΟΔΙΟ 06','NTERTI_S01_E006_mxf_12_ffaf5651ed.mp4')]
    return r
]]></expres>
<page></page>
</regex>


<regex>
<name>makelist2</name>
<listrepeat><![CDATA[
<title>[makelist2.param1]  </title>
<link>https://antennavodgcp.antenna.gr/prod-multimedia/videos/[makelist2.param2]</link>
<thumbnail></thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m,url = ''):
    r = [('ΚΡΙΝΟ ΚΑΙ ΑΓΚΑΘΙ – ΕΠΕΙΣΟΔΙΟ 01','KRINO_KAI_AGKATHI_S01_E001_mxf_12_a11ff4c644.mp4')]
    r += [('ΚΡΙΝΟ ΚΑΙ ΑΓΚΑΘΙ – ΕΠΕΙΣΟΔΙΟ 02','KRINO_KAI_AGKATHI_S01_E002_mxf_12_2b42deb65d.mp4')]
    r += [('ΚΡΙΝΟ ΚΑΙ ΑΓΚΑΘΙ – ΕΠΕΙΣΟΔΙΟ 03','KRINO_KAI_AGKATHI_S01_E003_mxf_12_c0265926ad.mp4')]
    r += [('ΚΡΙΝΟ ΚΑΙ ΑΓΚΑΘΙ – ΕΠΕΙΣΟΔΙΟ 04','KRINO_KAI_AGKATHI_S01_E004_mxf_12_45adc6fff1.mp4')]
    return r
]]></expres>
<page></page>
</regex>











<item>
<title>GREEKFUN ΣΕΙΡΕΣ</title>
<link>$doregex[makelist0]</link>
<thumbnail></thumbnail>

<regex>
<name>makelist0</name>
<listrepeat><![CDATA[
<title>[makelist0.param1]  </title>
<link>$doregex[makelist]</link>
<thumbnail></thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import xbmc
def GetLSProData(page_data,Cookie_Jar,m,url = ''):
    r = [('Έτος σειράς  2028','2028','2')]
    r += [('Έτος σειράς  2027','2027','2')]
    r += [('Έτος σειράς  2026','2026','2')]
    r += [('Έτος σειράς  2025','2025','2')]
    r += [('Έτος σειράς  2024','2024','2')]
    r += [('Έτος σειράς  2023','2023','2')]
    r += [('Έτος σειράς  2022','2022','2')]
    r += [('Έτος σειράς  2021','2021','2')]
    r += [('Έτος σειράς  2020','2020','2')]
    r += [('Έτος σειράς  2019','2019','2')]
    r += [('Έτος σειράς  2018','2018','2')]
    r += [('Έτος σειράς  2017','2017','2')]
    return r
]]></expres>
<page></page>
</regex>

<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param3] </title>
<link>$doregex[makelist2]</link>
<thumbnail>[makelist.param2]</thumbnail>
]]></listrepeat>
<expres><![CDATA[<a class="card" href="([^"]+)">\s*<img src="([^"]+)"[^>]*>\s*<div class="card-meta">\s*<div class="card-title">([^<]+)<]]></expres>
<page>https://greeksubsmovies.me/?filter=greek_series&amp;sort=recent&amp;f_year=[makelist0.param2]&amp;f_language=el&amp;page=1</page>
<agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36</agent>
<cookieJar></cookieJar>
</regex>

<regex>
<name>makelist2</name>
<listrepeat><![CDATA[
<title>[makelist2.param2]  </title>
<link>$doregex[convert-url]$doregex[get-initsesion]|Cookie=$get_cookies$&amp;User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36&amp;X-Playback-Session-Id=$GUID$</link>
<thumbnail>[makelist.param2]</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import re

# Pre-compile the regex pattern for faster matching
episode_regex = re.compile(r'[sS](\d+)[eE](\d+)')

def GetLSProData(page_data, Cookie_Jar, m):
    # Extract the original groups: href, ep-code, and the episode title/span
    raw_results = re.findall(r'<div class="ep-row">[\s\S]*?<a href="(.*?)"[\s\S]*?ep-code">(.*?)<[\s\S]*?ep-name">(.*?)<[\s\S]*?onclick', page_data)
    
    formatted_results = []
    for href, ep_code, span_text in raw_results:
        # Search using the pre-compiled pattern
        match = episode_regex.search(ep_code)
        if match:
            season, episode = match.groups()
            # Format as Κύκλος 1 Επεισόδιο 001
            ep_code = u"Κύκλος {} : Επεισόδιο {}".format(int(season), episode.zfill(3))
            
        formatted_results.append((href, ep_code, span_text))
        
    return formatted_results

]]></expres>
<page>https://greeksubsmovies.me[makelist.param1]</page>
<agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36</agent>
<cookieJar></cookieJar>
</regex>

<regex>
<name>makelist3</name>
<expres>const _tok = "(.*?)"</expres>
<page>https://greeksubsmovies.me[makelist2.param1]</page>
<agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36</agent>
<cookieJar></cookieJar>
</regex>

<regex>
<name>makelist4</name>
<expres>const _vid = (.*?);</expres>
<page>https://greeksubsmovies.me[makelist2.param1]</page>
<agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36</agent>
<cookieJar></cookieJar>
</regex>

<regex>
<name>makelist5</name>
<expres>"(http.*?)"</expres>
<page>https://greeksubsmovies.me/api/video-src.php?t=$doregex[makelist3]&amp;v=$doregex[makelist4]</page>
<agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36</agent>
<referer>https://greeksubsmovies.me[makelist2.param1]</referer>
<cookieJar></cookieJar>
</regex>

<regex>
<name>convert-url</name>
<expres>$pyFunction:'$doregex[makelist5]'.replace('\\/','/').replace('&', '&amp;')</expres>
<page></page>
<cookieJar></cookieJar>
</regex>

<regex>
<name>get-initsesion</name>
<expres></expres>
<page>$doregex[convert-url]</page>
<agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36</agent>
<cookieJar></cookieJar>
</regex>


</item>



<item>
<title>ΕΛΛΗΝΙΚΕΣ  ΣΕΙΡΕΣ  ( όλες οι σειρές )   </title>
<link>$doregex[makelist0]</link>
<thumbnail>https://greek-movies.com/icon/logo.jpg</thumbnail>

<regex>
<name>makelist0</name>
<listrepeat><![CDATA[
<title>[makelist0.param1]  </title>
<link>$doregex[makelist]</link>
<thumbnail>https://greek-movies.com/icon/logo.jpg</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m,url = ''):
    r = [('ΑΡΧΙΚΑ','y=&c=&g=')]
    r += [('ΕΤΟΣ','l=&c=&g=')]
    r += [('ΚΑΝΑΛΙ','l=&y=&g=')]
    r += [('ΕΙΔΟΣ','l=&y=&c=')]
    return r
]]></expres>
<page></page>
</regex>


<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param2] </title>
<link>$doregex[makelist2]</link>
<thumbnail>https://greek-movies.com/icon/logo.jpg</thumbnail>
]]></listrepeat>
<expres><![CDATA[<option  value="(.*?)[makelist0.param2]">(.*?)<]]></expres>
<page>https://greek-movies.com/series.php</page>
</regex>


<regex>
<name>makelist2</name>
<listrepeat><![CDATA[
<title>[makelist2.param3]   </title>
<link>$doregex[makelist3]</link>
<thumbnail>$pyFunction: urllib.quote_plus('https://greek-movies.com/[makelist2.param2]').replace('%3A',':').replace('%2F','/')</thumbnail>
]]></listrepeat>
<expres><![CDATA[href='(.*?)'>.*?<img src='(.*?)'>.*?text-center'>(.*?)<]]></expres>
<page>https://greek-movies.com/[makelist.param1][makelist0.param2]</page>
<referer>https://greek-movies.com/series.php</referer>
</regex>


<regex>
<name>makelist3</name>
<listrepeat><![CDATA[
<title>Ταξινόμηση με αριθμό επεισοδίου: [COLOR coral]  [makelist3.param2] [/COLOR]</title>
<link>$doregex[makelist4]</link>
<thumbnail>$pyFunction: urllib.quote_plus('https://greek-movies.com/[makelist2.param2]').replace('%3A',':').replace('%2F','/')</thumbnail>
]]></listrepeat>
<expres><![CDATA[loadEpisode\('([^']*)', 'n'.+?>(.*?)<]]></expres>
<page>https://greek-movies.com/[makelist2.param1]</page>
</regex>


<regex>
<name>makelist4</name>
<listrepeat><![CDATA[
<title>[makelist4.param2]   </title>
<link>$doregex[get_decoded]</link>
<thumbnail>$pyFunction: urllib.quote_plus('https://greek-movies.com/[makelist2.param2]').replace('%3A',':').replace('%2F','/')</thumbnail>
]]></listrepeat>
<expres><![CDATA[href="(.*?)".+?>(.*?)<]]></expres>
<page>https://greek-movies.com/ajax.php?</page>
<agent>Mozilla/5.0</agent>
<rawpost>type=episode&amp;epid=[makelist3.param1]&amp;view=n</rawpost>
</regex>


<regex>
<name>get_Page</name>
<expres>button' href='(.*?)'</expres>
<page>https://greek-movies.com/[makelist4.param1]</page>
<referer></referer>
<cookieJar></cookieJar>
<includeheaders></includeheaders>
</regex>

<regex>
<name>get_decoded</name>
<expres>$pyFunction:urllib.unquote('$doregex[select_Url]')</expres>
<page></page>
</regex>
<regex>
<name>select_Url</name>
<expres>$pyFunction: '$doregex[get_tvopen]' if not '$doregex[get_tvopen]'=='' else '$doregex[get_alpha]' if not '$doregex[get_alpha]'=='' else '$doregex[sigma]' if not '$doregex[sigma]'=='' else '$doregex[get_skai]' if not '$doregex[get_skai]'=='' else '$doregex[get_mega]' if not '$doregex[get_mega]'=='' else '$doregex[get_star]' if not '$doregex[get_star]'=='' else '$doregex[get_ant]' if not '$doregex[get_ant]'=='' else '$doregex[get_bitc]' if not '$doregex[get_bitc]'=='' else '$doregex[youtube]' </expres>
<page></page>
</regex>


<regex>
<name>youtube</name>
<expres><![CDATA[#$pyFunction
import resolveurl
# Example context for your function structure
def GetLSProData(page_data, Cookie_Jar, m):
    url='$doregex[get_Page]' 

    stream_url = resolveurl.resolve(url)
    
    return stream_url
]]></expres>
<page></page>
</regex>


<regex>
<name>get_alpha</name>
<expres><![CDATA[#$pyFunction
import re
import requests
import urllib
origin = 'https://www.alphatv.gr'
referer = 'https://www.alphatv.gr/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36'

def GetLSProData(page_data, Cookie_Jar, m):
    match = re.search(r'data-video-url="(https?://.*?\.mp4)"', page_data)
    
    if match:
        url = match.group(1)
        final_url = url + '|User-Agent=' + urllib.quote_plus(useragent) + \
                    '&Origin=' + urllib.quote_plus(origin) + \
                    '&Referer=' + urllib.quote_plus(referer)
        return final_url
    return ""

]]></expres>
<page>$doregex[get_Page]</page>
<cookieJar></cookieJar>
</regex>


<regex>
<name>get_skai</name>
<expres><![CDATA[#$pyFunction
import re
import requests
import urllib
origin = 'https://www.skai.gr'
referer = 'https://www.skai.gr/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36'
start = 'https://videostream.skai.gr/skaivod/_definst_/mp4:skai/'
end = '/chunklist.m3u8'

def GetLSProData(page_data, Cookie_Jar, m):
    match = re.search(r'media_item_file":"(.*?)"', page_data)
    
    if match:
        url = match.group(1).replace('\\', '')
        final_url = start + url + end + '|User-Agent=' + urllib.quote_plus(useragent) + \
                    '&Origin=' + urllib.quote_plus(origin) + \
                    '&Referer=' + urllib.quote_plus(referer)
        return final_url
    return ""

]]></expres>
<page>$doregex[get_Page]</page>
<cookieJar></cookieJar>
</regex>


<regex>
<name>get_mega</name>
<expres><![CDATA[#$pyFunction
import re
import requests
import urllib
origin = 'https://www.megatv.com'
referer = 'https://www.megatv.com/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.114 Mobile Safari/537.36'

def GetLSProData(page_data, Cookie_Jar, m):
    match = re.search(r'data-kwik_source="(.*?)"', page_data)
    
    if match:
        url = match.group(1).replace('playlist', 'chunklist-f1-v1-a1')

        final_url = url + '|User-Agent=' + urllib.quote_plus(useragent) + \
                    '&Referer=' + urllib.quote_plus(referer) + \
                    '&Origin=' + urllib.quote_plus(origin)
        return final_url
    return ""

]]></expres>
<page>$doregex[get_Page]</page>
<cookieJar></cookieJar>
</regex>


<regex>
<name>get_star</name>
<expres><![CDATA[#$pyFunction
import re
import requests
import urllib
origin = 'https://www.star.gr'
referer = 'https://www.star.gr/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36'
start = ' '
end = ' '

def GetLSProData(page_data, Cookie_Jar, m):
    match = re.search(r'contentUrl": "(.*?)"', page_data)
    
    if match:
        url = match.group(1)
        final_url = url + '|User-Agent=' + urllib.quote_plus(useragent) + \
                    '&Origin=' + urllib.quote_plus(origin) + \
                    '&Referer=' + urllib.quote_plus(referer)
        return final_url
    return ""

]]></expres>
<page>$doregex[get_Page]</page>
<cookieJar></cookieJar>
</regex>

<regex>
<name>sigma</name>
<expres><![CDATA[#$pyFunction
import re
import requests
import urllib
origin = 'https://www.sigmatv.com'
referer = 'https://www.sigmatv.com/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36'
start = 'https:'
end = ' '

def GetLSProData(page_data, Cookie_Jar, m):
    match = re.search(r'video/mp4" src="(.*?)"', page_data)
    
    if match:
        url = match.group(1)
        final_url = start + url + '|User-Agent=' + urllib.quote_plus(useragent) + \
                    '&Origin=' + urllib.quote_plus(origin) + \
                    '&Referer=' + urllib.quote_plus(referer)
        return final_url
    return ""

]]></expres>
<page>$doregex[get_Page]</page>
<cookieJar></cookieJar>
</regex>


<regex>
<name>ant1</name>
<expres>cid: '(.*?)'</expres>
<page>$doregex[get_Page]</page>
</regex>
<regex>
<name>get_ant</name>
<expres>url":"(.*?)"</expres>
<page>https://antenna.gr/templates/data/PlayerDataGraphQL_v2?cid=$doregex[ant1]</page>
</regex>


<regex>
<name>tvopen</name>
<expres>cid: '(.*?)'</expres>
<page>$doregex[get_Page]</page>
</regex>
<regex>
<name>get_tvopen</name>
<expres>#KODIPROP:inputstream=inputstream.adaptive|#KODIPROP:mimetype=application/x-mpegURL|(http.*?.m3u8)</expres>
<page>https://www.tvopen.gr/templates/data/player?cid=$doregex[tvopen]</page>
</regex>



<regex>
<name>bitchute</name>
<expres>content="https://www.bitchute.com/embed/(.*?)"</expres>
<page>$doregex[get_Page]</page>
</regex>
<regex>
<name>get_bitc</name>
<expres>var media_url = '(.*?)'</expres>
<page>https://www.bitchute.com/api/beta9/embed/$doregex[bitchute]?videoID=$doregex[bitchute]</page>
</regex>

</item>










<item>
<title>Alpha Series [COLOR lightslategray][I]( all episodes ) [/I][/COLOR]  </title>
<link>$doregex[makelist]</link>
<thumbnail>https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Alpha_TV_logo.svg/1280px-Alpha_TV_logo.svg.png</thumbnail>

<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param2]    </title>
<link>$doregex[makelist2]</link>
<thumbnail>[makelist.param3]</thumbnail>
]]></listrepeat>
<expres><![CDATA[<figure class="card__image">\n.+?<a href="(.*?)".+?title="(.*?)">.+?\n.+?src="(.*?)"]]></expres>
<cookieJar></cookieJar>
<page>https://www.alphatv.gr/series/</page>
</regex>

<regex>
<name>replace</name>
<expres>$pyFunction:'[makelist2.param2]'.replace('&amp;#8211;',' - ')</expres>
<page></page>
</regex>

<regex>
<name>makelist2</name>
<listrepeat><![CDATA[
<title>$doregex[replace]</title>
<link>$doregex[get-url]</link>
<thumbnail>[makelist2.param3]</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import requests, re , urllib, urllib2, json, cookielib, base64
from BeautifulSoup import BeautifulStoneSoup, BeautifulSoup, BeautifulSOAP
def GetLSProData(page_data,Cookie_Jar,m):
 starturl = '[makelist.param1]episodes/'
 centerurl = 'paged/'
 firstpage = 0 
 endurl = '/'

 dataregex = '<figure class="card__image">\n.+?<a href="(.*?)".+?title="(.*?)">.+?\n.+?srcset="(.*?)"'
 headers = {'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36', 'Referer': 'https://www.alphatv.gr/'}
 fullurl = starturl + centerurl + str(firstpage) + endurl
 source = requests.get(fullurl, headers= headers).text
 data = []
 last = $doregex[pagination] + 1
 while firstpage <= last:
    try:
        fullurl = starturl + centerurl + str(firstpage) + endurl
        source = requests.get(fullurl, headers=headers).text
        data += re.findall(dataregex, source)
        firstpage += 1
    except:
        pass
 return data

]]></expres>
<cookieJar></cookieJar>
<page></page>
</regex>

<regex>
<name>pagination</name>
<expres><![CDATA[#$pyFunction

import re

def GetLSProData(page_data, Cookie_Jar, m):
    if not page_data:
        return 0
    try:
        match1 = re.search(r'<span class="page-numbers dots">.+?\n.*?<a class="page-numbers".+?>(.*?)<', page_data)
        if match1:
            return match1.group(1)
    except Exception:
        pass

    try:
        match2 = re.search(r'<a class="page-numbers".+?\n.*?<a class="page-numbers".+?paged/(.*?)/">', page_data)
        if match2:
            return match2.group(1)
    except Exception:
        pass

    return 0

]]></expres>
<page>[makelist.param1]episodes/</page>
<cookieJar></cookieJar>
</regex>

<regex>
<name>get-url</name>
<expres><![CDATA[#$pyFunction
import re
import requests
import urllib
origin = 'https://www.alphatv.gr'
referer = 'https://www.alphatv.gr/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36'

def GetLSProData(page_data, Cookie_Jar, m):
    match = re.search(r'data-video-url="(https?://.*?\.mp4)"', page_data)
    
    if match:
        url = match.group(1)
        final_url = url + '|User-Agent=' + urllib.quote_plus(useragent) + \
                    '&Origin=' + urllib.quote_plus(origin) + \
                    '&Referer=' + urllib.quote_plus(referer)
        return final_url
    return ""

]]></expres>
<page>[makelist2.param1]</page>
<cookieJar></cookieJar>
</regex>

</item>


<item>
<title>Alpha Series [COLOR lightslategray][I]( current episodes ) [/I][/COLOR]  </title>
<link>$doregex[makelist]</link>
<thumbnail>https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Alpha_TV_logo.svg/1280px-Alpha_TV_logo.svg.png</thumbnail>

<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param2]    </title>
<link>$doregex[makelist2]</link>
<thumbnail>[makelist.param3]</thumbnail>
]]></listrepeat>
<expres><![CDATA[<figure class="card__image">\n.+?<a href="(.*?)".+?title="(.*?)">.+?\n.+?src="(.*?)"]]></expres>
<cookieJar></cookieJar>
<page>https://www.alphatv.gr/series/</page>
</regex>

<regex>
<name>makelist2</name>
<listrepeat><![CDATA[
<title>$doregex[replace]</title>
<link>$doregex[get-url]</link>
<thumbnail>[makelist.param3]</thumbnail>
]]></listrepeat>
<expres><![CDATA[<figure class="card__image">\n.+?<a href="(.*?)".+?title="(.*?)">.+?\n.+?srcset="(.*?)"]]></expres>
<cookieJar></cookieJar>
<page>[makelist.param1]episodes/</page>
</regex>

<regex>
<name>replace</name>
<expres>$pyFunction:'[makelist2.param2]'.replace('&amp;#8211;',' - ')</expres>
<page></page>
</regex>

<regex>
<name>get-url</name>
<expres><![CDATA[#$pyFunction
import re
import requests
import urllib
origin = 'https://www.alphatv.gr'
referer = 'https://www.alphatv.gr/'
useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36'

def GetLSProData(page_data, Cookie_Jar, m):
    match = re.search(r'data-video-url="(https?://.*?\.mp4)"', page_data)
    
    if match:
        url = match.group(1)
        final_url = url + '|User-Agent=' + urllib.quote_plus(useragent) + \
                    '&Origin=' + urllib.quote_plus(origin) + \
                    '&Referer=' + urllib.quote_plus(referer)
        return final_url
    return ""

]]></expres>
<page>[makelist2.param1]</page>
<cookieJar></cookieJar>
</regex>

</item>


<item>
<title>Η Γη της Ελιάς  </title>
<link>$doregex[makelist0]</link>

<regex>
<name>makelist0</name>
<listrepeat><![CDATA[
<title>[makelist0.param1] [makelist0.param2]  </title>
<link>$doregex[makelist]</link>
<thumbnail>https://www.megatv.com/wp-content/uploads/2021/08/%CE%97-%CE%93%CE%97-%CE%A4%CE%97%CE%A3-%CE%95%CE%9B%CE%99%CE%91%CE%A3-1.jpg</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m,url = ''):
    r = [('Season','1')]
    r += [('Season','2')]
    r += [('Season','3')]
    r += [('Season','4')]
    r += [('Season','5')]
    return r
]]></expres>
<page></page>
</regex>

<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param3]   </title>
<link>$doregex[makelist2]|Referer=https://www.megatv.com/%26User-Agent=Mozilla/5.0+%28Linux%3B+Android+10%3B+K%29+AppleWebKit/537.36+%28KHTML%2C+like+Gecko%29+Chrome/147.0.7727.138+Mobile+Safari/537.36</link>
<thumbnail>[makelist.param2]</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import requests, re , urllib, urllib2, json, cookielib, base64
from BeautifulSoup import BeautifulStoneSoup, BeautifulSoup, BeautifulSOAP
def GetLSProData(page_data,Cookie_Jar,m):
 starturl = 'https://www.megatv.com'
 categorylink = '/episodes/'
 centerurl = 'page/'
 firstpage = 1 
 endurl = '/?id=s242&type=tvshows&season=season[makelist0.param2]'

 dataregex = '<a href="(.*?)".+?\n.+?\n.+?data-src="(.*?)" alt="(.*?)">'
 headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36', 'Referer': 'https://www.megatv.com/'}
 fullurl = starturl + categorylink + centerurl + str(firstpage) + endurl
 source = requests.get(fullurl, headers= headers).text
 data = []
 last = 20
 while firstpage <= last:
    try:
        fullurl = starturl + categorylink + centerurl + str(firstpage) + endurl
        source = requests.get(fullurl, headers=headers).text
        data += re.findall(dataregex, source)
        firstpage += 1
    except:
        pass
 return data
]]></expres>
<cookieJar></cookieJar>
<page></page>
</regex>

<regex>
<name>makelist2</name>
<expres>data-kwik_source="(.*?)"</expres>
<cookieJar></cookieJar>
<page>[makelist.param1]</page>
</regex>

<thumbnail>https://www.megatv.com/wp-content/uploads/2021/08/%CE%97-%CE%93%CE%97-%CE%A4%CE%97%CE%A3-%CE%95%CE%9B%CE%99%CE%91%CE%A3-1.jpg</thumbnail>

</item>




<item>
<title>Μαύρο Ρόδο  </title>
<link>$doregex[makelist]</link>

<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param3] </title>
<link>$doregex[makelist2]</link>
<thumbnail>[makelist.param2]</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import requests, re , urllib, urllib2, json, cookielib, base64
from BeautifulSoup import BeautifulStoneSoup, BeautifulSoup, BeautifulSOAP
def GetLSProData(page_data,Cookie_Jar,m):
 starturl = 'https://www.megatv.com'
 categorylink = '/episodes/'
 centerurl = 'page/'
 firstpage = 1 
 endurl = '/?id=s249&type=tvshows'

 dataregex = '<a href="(.*?)" target="" class="card__img card__img--gradient">\n.+?\n.+?<img class="lazyload" src="" data-src="(.*?)" alt="(.*?)">'
 headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36', 'Referer': 'https://www.megatv.com/'}
 fullurl = starturl + categorylink + centerurl + str(firstpage) + endurl
 source = requests.get(fullurl, headers= headers).text
 data = []
 last = 8
 while firstpage <= last:
    try:
        fullurl = starturl + categorylink + centerurl + str(firstpage) + endurl
        source = requests.get(fullurl, headers=headers).text
        data += re.findall(dataregex, source)
        firstpage += 1
    except:
        pass
 return data
]]></expres>
<cookieJar></cookieJar>
<page></page>
</regex>

<regex>
<name>makelist2</name>
<expres>data-kwik_source="(.*?)"</expres>
<cookieJar></cookieJar>
<page>[makelist.param1]</page>
</regex>


<thumbnail>https://www.megatv.com/wp-content/uploads/2022/08/%CE%9C%CE%91%CE%A5%CE%A1%CE%9F-%CE%A1%CE%9F%CE%94%CE%9F_2-1.jpg</thumbnail>

</item>



<item>
<title>Mega TV Series+Shows (free to watch) </title>
<link>$doregex[makelist]</link>
<thumbnail> </thumbnail>

<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param1]   </title>
<link>$doregex[makelist3]</link>
<thumbnail>[makelist.param3]</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m,url = ''):
    r = [('***** SERIES *****',' ')]
    r += [('Η Γη της Ελιάς','https://www.megatv.com/ekpompes/464758/i-gi-tis-elias/','https://www.megatv.com/wp-content/uploads/2025/03/Poster_ghthselias_850X1090_c-1.jpg','?id=s242&type=tvshows','40')]
    r += [('Eχω Παιδιά','https://www.megatv.com/ekpompes/1619195/exo-paidia/','https://www.megatv.com/wp-content/uploads/2024/08/850X1090_EXOPAIDIA.jpg','?id=s254&type=tvshows','4')]
    r += [('Famagusta','https://www.megatv.com/ekpompes/1135061/famagusta/','https://www.megatv.com/wp-content/uploads/2023/07/Poster_famagusta_850X1090.jpg','?id=s251&type=tvshows','1')]
    r += [('Μαύρο Ρόδο','https://www.megatv.com/ekpompes/725648/mayro-rodo/','https://www.megatv.com/wp-content/uploads/2022/08/ΜΑΥΡΟ-ΡΟΔΟ.jpg','?id=s249&type=tvshows','6')]
    r += [('Ταμπού','https://www.megatv.com/ekpompes/1618499/tampou/','https://www.megatv.com/wp-content/uploads/2024/07/850X1090_TAMPOU.jpg','?id=s253&type=tvshows','2')]
    r += [('Το Ναυάγιο','https://www.megatv.com/ekpompes/1110551/to-nayagio/','https://www.megatv.com/wp-content/uploads/2023/08/ΤΟ_ΝΑΥΑΓΙΟ.jpg','?id=s250&type=tvshows','5')]
    r += [('***** SHOWS *****','','','','')]
    r += [('Φως Στο Τούνελ','https://www.megatv.com/gtvshows/2318389/27-03-2026/','https://www.megatv.com/wp-content/uploads/2026/03/niko.jpg','?id=g174&type=gtvshows&season','2')]
    r += [('Buongiorno','https://www.megatv.com/gtvshows/2317252/27-03-26/','https://www.megatv.com/wp-content/uploads/2026/03/1-17.jpg','?id=g184&type=gtvshows&season','2')]
    r += [('Μεγάλη Εικόνα','https://www.megatv.com/etvshows/2317444/26-03-2026-8/','https://www.megatv.com/wp-content/uploads/2026/03/88-1024x580.jpg','?id=b125&type=etvshows&season','2')]
    r += [('Κοινωνία Ώρα Mega','https://www.megatv.com/etvshows/2317255/27-03-26/','https://www.megatv.com/wp-content/uploads/2026/03/Capture-240.jpg','?id=b125&type=etvshows&season','2')]
    r += [('Εξελίξεις Τώρα','https://www.megatv.com/etvshows/2312233/22-03-2026/','https://www.megatv.com/wp-content/uploads/2026/03/exelixeis-1.png','?id=b128&type=etvshows&season','2')]
    r += [('Χαμογέλα και Πάλι','https://www.megatv.com/gtvshows/2311990/22-03-2026/','https://www.megatv.com/wp-content/uploads/2026/03/Capture-194.jpg','?id=g170&type=gtvshows&season','2')]
    r += [('Mega Σαββατοκύριακο','https://www.megatv.com/etvshows/2311984/22-03-26/','https://www.megatv.com/wp-content/uploads/2026/03/7-13.jpg','?id=B099&type=etvshows&season','2')]
    r += [('Αλ Τσαντίρι Νιουζ','https://www.megatv.com/gtvshows/2293171/4-3-26/','https://www.megatv.com/wp-content/uploads/2026/03/16-1024x576.jpg','?id=g185&type=gtvshows&season','2')]
    r += [('Mega Stories','https://www.megatv.com/etvshows/2282203/i-psyxiki-ygeia-ton-efivon-oi-atheates-agonies-mias-genias/','https://www.megatv.com/wp-content/uploads/2026/02/Dora-Anagnostopoulou-Mitera-paidiou-1200x675-1-1024x576.jpg','?id=b110&type=etvshows&season','2')]
    r += [('ΣΤΟ ΠΑΡΑ ΠΕΝΤΕ - 20 ΧΡΟΝΙΑ ΜΕΤΑ','https://www.megatv.com/gtvshows/2203492/sto-para-pente-20-xronia-meta/','https://www.megatv.com/wp-content/uploads/2025/12/14-60-1024x576.jpg','?id=g9999&type=gtvshows&season','1')]
    return r
]]></expres>
<page></page>
</regex>

<regex>
<name>replace</name>
<expres>$pyFunction:'[makelist3.param3]'.replace('&amp;#8211;','')</expres>
<page></page>
</regex>

<regex>
<name>makelist3</name>
<listrepeat><![CDATA[
<title>$doregex[replace] </title>
<link>$doregex[list]|User-Agent=Mozilla/5.0+%28Linux%3B+Android+10%3B+K%29+AppleWebKit/537.36+%28KHTML%2C+like+Gecko%29+Chrome/147.0.7727.138+Mobile+Safari/537.36</link>
<thumbnail>[makelist3.param2]</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import requests, re , urllib, urllib2, json, cookielib, base64
from BeautifulSoup import BeautifulStoneSoup, BeautifulSoup, BeautifulSOAP
def GetLSProData(page_data,Cookie_Jar,m):
 starturl = 'https://www.megatv.com/episodes/'
 centerurl = 'page/'
 firstpage = 1 
 endurl = '/[makelist.param4]'

 dataregex = '<a href="(.*?)".+?\n.+?\n.+?<img class="lazyload".+?data-src="(.*?)".+?alt="(.*?)"'
 headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36', 'Referer': 'https://www.megatv.com/'}
 fullurl = starturl + centerurl + str(firstpage) + endurl
 source = requests.get(fullurl, headers= headers).text
 data = []
 last = [makelist.param5]
 while firstpage <= last:
    try:
        fullurl = starturl + centerurl + str(firstpage) + endurl
        source = requests.get(fullurl, headers=headers).text
        data += re.findall(dataregex, source)
        firstpage += 1
    except:
        pass
 return data
]]></expres>
<cookieJar></cookieJar>
<page></page>
</regex>

<regex>
<name>makelist4</name>
<expres>data-kwik_source="(.*?)"</expres>
<cookieJar></cookieJar>
<page>[makelist3.param1]</page>
</regex>

<regex>
<name>list</name>
<expres><![CDATA[$pyFunction:'$doregex[makelist4]'.replace('playlist.m3u8','chunklist-f1-v1-a1.m3u8')]]></expres>
<page></page>
</regex>


</item>


<item>
<title>Έρωτας με Διαφορά    </title>
<link>$doregex[makelist]</link>
<thumbnail>https://greek-movies.com/icon/series/%CE%88%CF%81%CF%89%CF%84%CE%B1%CF%82%CE%BC%CE%B5%CE%B4%CE%B9%CE%B1%CF%86%CE%BF%CF%81%CE%AC2021.jpg</thumbnail>
<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param2]  </title>
<link>$doregex[makelist2]</link>
<thumbnail>https://greek-movies.com/icon/series/%CE%88%CF%81%CF%89%CF%84%CE%B1%CF%82%CE%BC%CE%B5%CE%B4%CE%B9%CE%B1%CF%86%CE%BF%CF%81%CE%AC2021.jpg</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m,url = ''):
    r = [('Έρωτας με Διαφορά','2ος Κύκλος','/tv/seires/erotas-me-diafora/tag_1224','/tv/seires/erotas-me-diafora/tag_1109')]
    r += [('Έρωτας με Διαφορά','1ος Κύκλος','/tv/seires/erotas-me-diafora/tag_1109','modal loginModal')]
    return r
]]></expres>
<page></page>
</regex>
<regex>
<name>makelist2</name>
<listrepeat><![CDATA[
<title>$doregex[url2]   </title>
<link>$doregex[url]</link>
<thumbnail>https://www.star.gr$doregex[url3]</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import re
def GetLSProData(page_data,Cookie_Jar,m):
  return re.findall('(?s)<div class="hoveredSliderInfo">\s.*?href="(.*?)"',re.findall('[makelist.param3](?s)(.*?)[makelist.param4]',page_data)[0])
]]></expres>
<page>https://www.star.gr/tv/seires/erotas-me-diafora/</page>
</regex>
<regex>
<name>url</name>
<expres>"(http.*?.m3u8.*?)"</expres>
<page>https://www.star.gr[makelist2.param2]</page>
</regex>
<regex>
<name>url2</name>
<expres>name": "(.*?)"</expres>
<page>https://www.star.gr[makelist2.param2]</page>
</regex>
<regex>
<name>url3</name>
<expres>thumbnailUrl": "(.*?)"</expres>
<page>https://www.star.gr[makelist2.param2]</page>
</regex>

</item>



<item>
<title>Δίκτυο Σκάι  ( Όλες οι πρόσφατες εκπομπές τους ) </title>	
<link>$doregex[makelistA]</link>
<thumbnail>http://dikomas2.dyndns.org:8080/Greek/logos/SKAI.png</thumbnail>

<regex>
<name>makelistA</name>
<listrepeat><![CDATA[
<title>[makelistA.param3]  </title>
<link>$doregex[makelist]</link>
<thumbnail>[makelistA.param2]</thumbnail>
]]></listrepeat>
<expres><![CDATA[<li class="nav-item">\n.+?<a href="(.*?)".+?\n.+?\n.+?src="(.*?)".+?\n.+?<span class="nav-label">(.*?)</span>]]></expres>
<page>https://www.skai.gr/tv/</page>
</regex>

<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param3]  </title>
<link>$doregex[makelist2]</link>
<thumbnail>[makelist.param2]</thumbnail>
]]></listrepeat>
<expres><![CDATA[<a href="(.*?)" class="resio">\n.+?<img src="(.*?)" alt="(.*?)">]]></expres>
<page>[makelistA.param1]</page>
</regex>

<regex>
<name>makelist2</name>
<listrepeat><![CDATA[
<title>[makelist.param3]     [makelist2.param1] </title>
<link>https://videostream.skai.gr/skaivod/_definst_/mp4:skai/$doregex[get-page]/chunklist.m3u8</link>
<referer>https://www.skaitv.gr/</referer>
<thumbnail>$doregex[img]</thumbnail>
]]></listrepeat>
<expres><![CDATA["caption":.+?start.+?(\d{4}-\d{2}-\d{2}).+?link":"(.*?)","img":"(.*?)"]]></expres>
<page>https://www.skai.gr[makelist.param1]</page>
</regex>

<regex>
<name>get-page</name>
<expres>$pyFunction:'$doregex[iframe]'.replace('\/','/')</expres>
<page></page>
</regex>

<regex>
<name>iframe</name>
<expres>media_item_file":"(.*?)"</expres>
<page>https://www.skaitv.gr$doregex[page]</page>
<referer>https://www.skaitv.gr/</referer>
</regex>

<regex>
<name>page</name>
<expres>$pyFunction:'[makelist2.param2]'.replace('\/','/')</expres>
<page></page>
</regex>

<regex>
<name>img</name>
<expres>$pyFunction:'[makelist2.param3]'.replace('\\','')</expres>
<page></page>
</regex>

</item>


<item>
<title>GRAND HOTEL </title>
<link>$doregex[makelist0]</link>
<thumbnail>https://greek-movies.com/icon/series/Grandhotel2024.jpg</thumbnail>
<regex>
<name>makelist0</name>
<listrepeat><![CDATA[
<title>[makelist0.param1]  </title>
<link>https://antennavodgcp.antenna.gr/prod-multimedia/videos/[makelist0.param2]</link>
<thumbnail>https://greek-movies.com/icon/series/Grandhotel2024.jpg</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m,url = ''):
    r = [('','')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 118','GRAND_HOTEL_S02_E118_mxf_12_53b84889a6.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 117','GRAND_HOTEL_S02_E117_mxf_12_405b25c8e8.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 116','GRAND_HOTEL_S02_E116_e521ca9f5f.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 115','GRAND_HOTEL_S02_E115_mxf_12_f76a328383.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 114','GRAND_HOTEL_S02_E114_mxf_12_5f42611b80.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 113','GRAND_HOTEL_S02_E113_mxf_12_3450138c18.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 112','GRAND_HOTEL_S02_E112_antik_mxf_12_6455a84e78.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 111','GRAND_HOTEL_S02_E111_mxf_12_79f1db9a88.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 110','GRAND_HOTEL_S02_E110_mxf_12_504952c468.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 109','GRAND_HOTEL_S02_E109_mxf_12_f5351e9556.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 108','GRAND_HOTEL_S02_E108_mxf_12_5096aac75f.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 107','GRAND_HOTEL_S02_E107_mxf_12_214495a999.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 106','GRAND_HOTEL_S02_E106_mxf_12_da5d617b1b.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 105','GRAND_HOTEL_S02_E105_mxf_12_219e54ff07.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 104','GRAND_HOTEL_S02_E104_mxf_12_e83943a427.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 103','GRAND_HOTEL_S02_E103_mxf_12_4c350b5560.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 102','GRAND_HOTEL_S02_E102_mxf_12_ee1488bae4.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 101','GRAND_HOTEL_S02_E101_mxf_12_9af111b457.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 100','GRAND_HOTEL_S02_E100_mxf_12_3788811a59.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 99','GRAND_HOTEL_S02_E099_mxf_12_11ebbf0b54.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 98','GRAND_HOTEL_S02_E098_mxf_12_3dc2191230.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 97','GRAND_HOTEL_S02_E097_Antik_mxf_12_f679d2f8e5.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 96','GRAND_HOTEL_S02_E096_mxf_12_136edd3bbd.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 95','GRAND_HOTEL_S02_E095_mxf_12_b32abc55b7.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 94','GRAND_HOTEL_S02_E094_antik_mxf_12_47ac63e3b4.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 93','GRAND_HOTEL_S02_E093_mxf_12_ab4ae7ebe9.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 92','GRAND_HOTEL_S02_E092_mxf_12_ba1b4db96a.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 91','GRAND_HOTEL_S02_E091_mxf_12_7b98d3722d.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 90','GRAND_HOTEL_S02_E090_mxf_12_38f4df5758.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 89','GRAND_HOTEL_S02_E089_mxf_12_acf412bfff.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 88','GRAND_HOTEL_S02_E088_mxf_12_23d04e6dfe.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 87','GRAND_HOTEL_S02_E087_mxf_12_e58de3d00f.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 86','GRAND_HOTEL_S02_E086_mxf_12_c44ed5f013.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 85','GRAND_HOTEL_S02_E085_mxf_12_214a6274a6.mp4')]
    r += [('2ος ΚΥΚΛΟΣ – ΕΠΕΙΣΟΔΙΟ 84','GRAND_HOTEL_S02_E084_antik_mxf_12_699a2c31d0.mp4')]
    return r
]]></expres>
<page></page>
</regex>
</item>



<item>
<title>ERTFLIX </title>
<link>http://Ignoreme</link>
<externallink>http://dikomas2.dyndns.org:8080/livestreamspro/greek/sires/ertflix.xml</externallink>
<thumbnail>https://play-lh.googleusercontent.com/3QZSRjbNuMf0CPRbmMugn07ugJn63-kf0XOON3BfGcYGmAr-dTqMSI1HY3ZpPGL7u6M</thumbnail>
</item>











<item>
<title>Alpha Series test 01  </title>
<link>$doregex[makelist]</link>
<thumbnail>https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Alpha_TV_logo.svg/1280px-Alpha_TV_logo.svg.png</thumbnail>

<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[makelist.param2]</title>
<link>$doregex[makelist2]</link>
<thumbnail>[makelist.param3]</thumbnail>
]]></listrepeat>
<expres><![CDATA[<figure class="card__image">\s*<a href="([^"]+)".*?title="([^"]+)"[^>]*>\s*<img.*?src="([^"]+)"]]></expres>
<page>https://www.alphatv.gr/series/</page>
<cookieJar></cookieJar>
</regex>

<regex>
<name>makelist2</name>
<listrepeat><![CDATA[
<title>[makelist2.param2]</title>
<link>$doregex[get-url]</link>
<thumbnail>[makelist2.param3]</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
import requests, re, html

def GetLSProData(page_data, Cookie_Jar, m):
    starturl = '[makelist.param1]episodes/'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36',
        'Referer': 'https://www.alphatv.gr/'
    }
    
    # 1. Dynamically find the pagination limit first
    last_page = 1
    try:
        init_source = requests.get(starturl, headers=headers, timeout=10).text
        # Regex to find highest page number
        pages = re.findall(r'paged/(\d+)/', init_source)
        if pages:
            last_page = max(map(int, pages))
    except:
        pass

    # 2. Iterate through all found pages
    dataregex = r'<figure class="card__image">\s*<a href="([^"]+)".*?title="([^"]+)"[^>]*>.*?src="([^"]+)"'
    data = []
    
    for firstpage in range(0, last_page + 1):
        try:
            fullurl = f"{starturl}paged/{firstpage}/"
            source = requests.get(fullurl, headers=headers, timeout=10).text
            matches = re.findall(dataregex, source, re.DOTALL)
            for item in matches:
                # Unescape HTML entities like &#8211; directly in python
                clean_title = html.unescape(item[1]).replace('–', ' - ')
                data.append((item[0], clean_title, item[2]))
        except:
            continue
            
    return data
]]></expres>
<page></page>
<cookieJar></cookieJar>
</regex>

<regex>
<name>get-url</name>
<expres><![CDATA[#$pyFunction
import re, urllib.parse

def GetLSProData(page_data, Cookie_Jar, m):
    # Regex designed to catch both direct mp4 attributes or modern setup strings
    match = re.search(r'data-video-url="([^"]+\.mp4[^"]*)"', page_data)
    if not match:
        match = re.search(r'data-video-url="([^"]+)"', page_data)
        
    if match:
        url = match.group(1)
        useragent = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.138 Mobile Safari/537.36'
        
        # Proper Python 3 headers appended string format for Kodi core player
        final_url = f"{url}|User-Agent={urllib.parse.quote_plus(useragent)}&Origin=https%3A%2F%2Fwww.alphatv.gr&Referer=https%3A%2F%2Fwww.alphatv.gr%2F"
        return final_url
    return ""
]]></expres>
<page>[makelist2.param1]</page>
<cookieJar></cookieJar>
</regex>
</item>


<item>
<title>Μια νύχτα μόνο</title>
<link>$doregex[makelist0]</link>
<thumbnail>https://greek-movies.com/icon/series/%CE%9C%CE%B9%CE%B1%CE%BD%CF%8D%CF%87%CF%84%CE%B1%CE%BC%CF%8C%CE%BD%CE%BF2025.jpg</thumbnail>
<regex>
<name>makelist0</name>
<listrepeat><![CDATA[
<title>[makelist0.param1]  </title>
<inputstream>[makelist0.param2]</inputstream>
<thumbnail>https://greek-movies.com/icon/series/%CE%9C%CE%B9%CE%B1%CE%BD%CF%8D%CF%87%CF%84%CE%B1%CE%BC%CF%8C%CE%BD%CE%BF2025.jpg</thumbnail>
]]></listrepeat>
<expres><![CDATA[#$pyFunction
def GetLSProData(page_data,Cookie_Jar,m):
    r = [(' ','')]
    r += [('Eπεισόδιο 33','https://ert-vod4-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS060097-apo_hlio-se-hlio-s01-ep33-n/PS060097-apo_hlio-se-hlio-s01-ep33-n/index.mpd')]
    r += [('Eπεισόδιο 32','https://ert-vod1-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS060096-apo_hlio-se-hlio-s01-ep32-n/PS060096-apo_hlio-se-hlio-s01-ep32-n/index.mpd')]
    r += [('Eπεισόδιο 31','https://ert-vod4-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS060095-apo_hlio-se-hlio-s01-ep31-n/PS060095-apo_hlio-se-hlio-s01-ep31-n/index.mpd')]
    r += [('Eπεισόδιο 30','https://ert-vod4-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048538-apo_hlio-se-hlio-s01-ep30/PS048538-apo_hlio-se-hlio-s01-ep30/index.mpd')]
    r += [('Eπεισόδιο 29','https://ert-vod2-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048537-apo_hlio-se-hlio-s01-ep29/PS048537-apo_hlio-se-hlio-s01-ep29/index.mpd')]
    r += [('Eπεισόδιο 28','https://ert-vod4-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048536-apo_hlio-se-hlio-s01-ep28/PS048536-apo_hlio-se-hlio-s01-ep28/index.mpd')]
    r += [('Eπεισόδιο 27','https://ert-vod1-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048535-apo_hlio-se-hlio-s01-ep27/PS048535-apo_hlio-se-hlio-s01-ep27/index.mpd')]
    r += [('Eπεισόδιο 26','https://ert-vod4-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048534-apo_hlio-se-hlio-s01-ep26/PS048534-apo_hlio-se-hlio-s01-ep26/index.mpd')]
    r += [('Eπεισόδιο 25','https://ert-vod2-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048533-apo_hlio-se-hlio-s01-ep25-n/PS048533-apo_hlio-se-hlio-s01-ep25-n/index.mpd')]
    r += [('Eπεισόδιο 24','https://ert-vod1-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048532-apo_hlio-se-hlio-s01-ep24/PS048532-apo_hlio-se-hlio-s01-ep24/index.mpd')]
    r += [('Eπεισόδιο 23','https://ert-vod3-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048531-apo_hlio-se-hlio-s01-ep23/PS048531-apo_hlio-se-hlio-s01-ep23/index.mpd')]
    r += [('Eπεισόδιο 22','https://ert-vod2-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048530-apo_hlio-se-hlio-s01-ep22/PS048530-apo_hlio-se-hlio-s01-ep22/index.mpd')]
    r += [('Eπεισόδιο 21','https://ert-vod1-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048529-apo_hlio-se-hlio-s01-ep21/PS048529-apo_hlio-se-hlio-s01-ep21/index.mpd')]
    r += [('Eπεισόδιο 20','https://ert-vod2-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048528_apo_hlio-se-hlio-s01-ep20/PS048528_apo_hlio-se-hlio-s01-ep20/index.mpd')]
    r += [('Eπεισόδιο 19','https://ert-vod4-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048527_apo_hlio-se-hlio-s01-ep19-new/PS048527_apo_hlio-se-hlio-s01-ep19-new/index.mpd')]
    r += [('Eπεισόδιο 18','https://ert-vod3-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048526-apo-hlio-se-hlio-s01-ep18/PS048526-apo-hlio-se-hlio-s01-ep18/index.mpd')]
    r += [('Eπεισόδιο 17','https://ert-vod4-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048525-apo-hlio-se-hlio-s01-ep17/PS048525-apo-hlio-se-hlio-s01-ep17/index.mpd')]
    r += [('Eπεισόδιο 16','https://ert-vod3-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048524-apo-hlio-se-hlio-s01-ep16/PS048524-apo-hlio-se-hlio-s01-ep16/index.mpd')]
    r += [('Eπεισόδιο 15','https://ert-vod1-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048523-apo-hlio-se-hlio-s01-ep15/PS048523-apo-hlio-se-hlio-s01-ep15/index.mpd')]
    r += [('Eπεισόδιο 14','https://ert-vod2-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048522-apo-hlio-se-hlio-s01-ep14/PS048522-apo-hlio-se-hlio-s01-ep14/index.mpd')]
    r += [('Eπεισόδιο 13','https://ert-vod2-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048521-apo-hlio-se-hlio-s01-ep13/PS048521-apo-hlio-se-hlio-s01-ep13/index.mpd')]
    r += [('Eπεισόδιο 12','https://ert-vod2-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048520-apo-hlio-se-hlio-s01-ep12-n/PS048520-apo-hlio-se-hlio-s01-ep12-n/index.mpd')]
    r += [('Eπεισόδιο 11','https://ert-vod4-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048519-apo-hlio-se-hlio-s01-ep11/PS048519-apo-hlio-se-hlio-s01-ep11/index.mpd')]
    r += [('Eπεισόδιο 10','https://ert-vod2-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048518_apo-hlio-se-hlio-s01-ep10/PS048518_apo-hlio-se-hlio-s01-ep10/index.mpd')]
    r += [('Eπεισόδιο 09','https://ert-vod1-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048517_apo-hlio-se-hlio-s01-ep09/PS048517_apo-hlio-se-hlio-s01-ep09/index.mpd')]
    r += [('Eπεισόδιο 08','https://ert-vod3-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048516_apo-hlio-se-hlio-s01-ep08/PS048516_apo-hlio-se-hlio-s01-ep08/index.mpd')]
    r += [('Eπεισόδιο 07','https://ert-vod3-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048515_apo-hlio-se-hlio-s01-ep07/PS048515_apo-hlio-se-hlio-s01-ep07/index.mpd')]
    r += [('Eπεισόδιο 06','https://ert-vod2-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048514_apo-hlio-se-hlio-s01-ep06/PS048514_apo-hlio-se-hlio-s01-ep06/index.mpd')]
    r += [('Eπεισόδιο 05','https://ert-vod4-new.siliconweb.com/bpk-vod/vod-nodrm/default/PS048513_apo-hlio-se-hlio-s01-ep05/PS048513_apo-hlio-se-hlio-s01-ep05/index.mpd')]
    r += [('Eπεισόδιο 04','https://vod3.cf.dmcdn.net/sec2(i17ldXQS3CCmmbDWbKQYXtmsXIEYyAXMcupiy4LPYx8PLzI0VfZ4LxDaenx6bAkKZ94qd502Dl5z8oNvoTI0TbB3PH1_D-R73PLmQd_fZ9g64OH8x2F-kaqtMlXtTybYHEcP2wFaeZ1trcDnQRdTAOC0G2Qc9_bdO1_gcfAdkhH_e1sNm4QCTNUU3HjwyHntw0ieXR1fRXyRGnI7qMpbog)/video/fmp4/593160894/h264_aac/3/manifest.m3u8')]
    r += [('Eπεισόδιο 03','https://vod3.cf.dmcdn.net/sec2(GVUiBNRT_BYfr-EiWCIsecWFVkNhe1IlGXEThpXv2euzgW1XISKzedHv4-vQnNOPWsieY3lITLAzZ4Th2JFydwb1HeVgz4UP11WpyhdKP5uevwFrIR-GTvnzZh86Yqh7T56VvEsE1CMQ55uTId0G3K1sDVE440ldFxCsLTzADL0U4P8ojyIUmGyay3OY3Ho9d4Lwtqns0YeFqSvHlUfDdA)/video/fmp4/593064320/h264_aac/3/manifest.m3u8')]
    r += [('Eπεισόδιο 02','https://vod3.cf.dmcdn.net/sec2(Q6YK6cpGtEGrgTh7pMa6kKUqxJOMWK1SWC7YrO4Har2jk3u3wGRgMy4YTJ_3XW8xGVFn9Jly8uBSForVFJF9J9Du_T_bjCXL0w187biX8rC0FQ50-bJ17qPHrDv9MG2IOJNKAq_JshtGgH5PGM6lKqEq1ftCnURYBW9JEaEgIl4HzvSuTXOFd4DwfPZXkAaaxs3lnrHZHDoQcw3qmh8zfQ)/video/fmp4/593031788/h264_aac/3/manifest.m3u8')]
    r += [('Eπεισόδιο 01','https://vod3.cf.dmcdn.net/sec2(zT-DkxpyNCiAeEFh_paCxNSMZGjmIGdNx4Ko9jDr2pgBrpxTtbXjMklSONY479Ky4yrzUh44EGeHzJst2J-FB9LGJfpYZFG1aLgUArxw4InXGitopmn8OX-YMNt82i5tpsjpPcytCn8GRSFf6xEDPclEbM9pI6Wx-84ShBSd8WLhrZu5Vk0G7-piI3fDJNJzoehI5Mdym4ARiZyJ6G8VPQ)/video/fmp4/593031992/h264_aac/3/manifest.m3u8')]
    return r
]]></expres>
<page></page>
</regex>
</item>



















<item1>
<title>Greek-Movies Series (Dynamic)</title>
<link>$doregex[GetSeriesList]</link>
<regex>
<name>GetSeriesList</name>
<listrepeat><![CDATA[
<title>[GetSeriesList.param2]  </title>
<link>$doregex[GetSeriesList2]</link>
<thumbnail>https://greek-movies.com/icon/logo.jpg</thumbnail>
]]></listrepeat>
<expres><![CDATA[<option\s+value="([^"]*)">([^<]*)<\/option>]]></expres>
<page>https://greek-movies.com/series.php</page>
</regex>

<regex>
<name>GetSeriesList2</name>
<listrepeat><![CDATA[
<title>[GetSeriesList2.param3]  </title>
<link>$doregex[GetSeriesList3]</link>
<thumbnail>$pyFunction: urllib.quote_plus('https://greek-movies.com/[GetSeriesList2.param2]').replace('%3A',':').replace('%2F','/')</thumbnail>
]]></listrepeat>
<expres><![CDATA[href=['"](.*?)['"].*?src=['"](.*?)['"].*?text-center['"]>(.*?)<]]></expres>
<page>https://greek-movies.com/[GetSeriesList.param1]</page>
</regex>


<regex>
<name>GetSeriesList3</name>
<listrepeat><![CDATA[
<title>Ταξινόμηση με αριθμό επεισοδίου: [COLOR coral]  [GetSeriesList3.param2] [/COLOR]</title>
<link>$doregex[GetSeriesList4]</link>
<thumbnail>$pyFunction: urllib.quote_plus('https://greek-movies.com/[GetSeriesList2.param2]').replace('%3A',':').replace('%2F','/')</thumbnail>
]]></listrepeat>
<expres><![CDATA[<button[^>]+?loadEpisode\('(.*?)', 'n'\)">(.*?)<\/button>]]></expres>
<page>https://greek-movies.com/[GetSeriesList2.param1]</page>
</regex>


<regex>
<name>GetSeriesList4</name>
<listrepeat><![CDATA[
<title>[makelist4.param2]   </title>
<link>$doregex[get_decoded]</link>
<thumbnail>$pyFunction: urllib.quote_plus('https://greek-movies.com/[GetSeriesList2.param2]').replace('%3A',':').replace('%2F','/')</thumbnail>
]]></listrepeat>
<expres><![CDATA[href="(.*?)".+?>(.*?)<]]></expres>
<page>https://greek-movies.com/ajax.php?</page>
<agent>Mozilla/5.0</agent>
<rawpost>type=episode&amp;epid=[GetSeriesList3.param1]&amp;view=n</rawpost>
</regex>


<regex>
<name>get_Page</name>
<expres>button' href='(.*?)'</expres>
<expres><![CDATA[button' href='(.*?)']]></expres>
<page>https://greek-movies.com/[GetSeriesList4.param1]</page>
</regex>





</item1>















 -->